Business System Analysis Bookstore
In Association with Amazon.com
Help PicoSearch
Looking for Business Analysis Training

Practical Software Requirements: A Manual of Content and Style

Buy the Book
Summary TOC Back Cover Author Look Inside Comments Reviews
Benjamin L. Kovitz
October 1998, Manning Publications Company, Paperback, 444 pages, ISBN 1884777597

Instructor-led, virtual, and self-paced training for Business Analysts What Do Business Analysts Do?
How to Gather, Analyze, and Define Business System Requirements
Introduction to Business System Requirements
How to Get Business Requirements with Business Events and Problem Analysis
How to Write Effective, Understandable Business Requirement Statements
How to Capture and Tame Business Requirements
How to Write Effective Business Requirements for IT Projects
How to Model, Analyze, and Improve Business Processes
How to Analyze Business Processes using Models
How to Manage Changing Business Requirements
How to Become Agile in Business Analysis
How to Model and Analyze Business System Data
How to Model Business Data from the Business Perspective
How to Jump-Start Requirements Gathering with User Stories
How to Discover and Develop Use Cases
Introduction to Business Use Case Documentation and Modeling
How to Capture Functional Requirements with Use Cases and Diagrams
How to Clarify and Confirm Business Requirements with Use Cases
How to Develop and Use UML Models for Business Analysis
How to Capture and Clarify Requirements with State Diagrams
How to Support and Document a Successful JAR/JAD Session
How to Plan, Prepare, and Execute User Acceptance Testing
Business Analysis and Requirements Gathering Blitz
e-Learning, virtual workshops and webinars Try our new Virtual Workshops and e-Coaching
for today's Business System Analysts (BA's) and Subject Matter Experts (SME's)

Summary
Buy the book

Practical Software Requirements reveals how to write the documentation needed at the very beginning of the software development process: documentation of the customer's problem, and specification of the software so that it can be programmed and tested, and so that the final user documentation can be written.

Whereas most books on requirements provide a recommended table of contents, a single one-size-fits-all approach to specification methods, and writing advice not going much beyond "Every page shall be numbered," Practical Software Requirements concentrates heavily on making the document comprehensible and useful to its readers. But describing requirements is difficult and tricky in most real-world projects; it's really a job of technical writing. As a result, many requirements documents go forever unread, even by the customers who sign off on them, because they're too difficult to understand.

Practical Software Requirements treats requirements and specifications as a form of technical writing. Description techniques are presented for a wide variety of different types of customer problems and software. Instead of a one-size-fits-all technique such as "data flows and functions for everything," numerous techniques are presented, suitable to different types of problems and software. Instead of putting software into a few broad categories, the techniques apply to small "problem types" that are useful for breaking down a wide variety of larger problems. Techniques are supplied even for the smallest details of the document:

  • how to word individual requirement statements,
  • how to write use cases, common types of ambiguity and
  • how to correct them,
  • how to write a useful definition, and more.

The basics of requirements are also covered, enabling programmers or managers or others who have stepped into a requirements-gathering role for the first time to avoid common mistakes.

Practical Software Requirements also includes two full-sized example documents from real projects, suitable for use as a starting point in writing new requirements. They're relatively small projects, but not toy projects. They're real, complete with the unexpected complexity of the real world.

Whether you're a programmer or project manager writing requirements for the first time-- or an experienced system analyst-- this book will help you do it skillfully and effectively.

What's inside:

  • Elements of a software problem
  • User (and other) interface design documentation
  • How useful requirements derive from known programming techniques
  • Describing the problem domain
  • Non-hierarchical methods for breaking down problems
  • Applying Michael Jackson's "problem frames"
  • Common mistakes and how to fix them
  • Example documents from real projects
 
analysis bookstore top
BA books: Table of Contents
Buy the book

PART I GROUNDWORK


Chapter 1 Problem solving

1.1 The myth of functional decomposition
1.2 Problem solving and design patterns
1.3 Why software is hard
1.4 Pattern composition and decomposition

Chapter 2 Problem defining
2.1 Requirements and design patterns
2.2 Software problems
2.3 Requirements engineering
2.4 Lessons learned

Chapter 3 Two worlds and three designs
3.1 The problem domain
3.2 Requirements
3.3 Interface design
3.4 Validation of interfaces and programs
3.5 Description
3.6 Invention vs. validation
3.7 What software requirements are not
3.8 Summary

Chapter 4 Problem framing
4.1 The knight's tour
4.2 Domains
4.3 Shared phenomena
4.4 Connection domains
4.5 Realized domains
4.6 Frame diagrams
4.7 From diagram to documentation
4.8 Notation summary

Chapter 5 Five problem frames
5.1 Overview
5.2 Information problems
5.3 Control problems
5.4 Transformation problems
5.5 Workpiece problems
5.6 Connection problems

Chapter 6 Multi-frame problems
6.1 Combining problem frames
6.2 Inventory control system
6.3 Statistics package
6.4 Digital answering machine
6.5 Compiler
6.6 Electronic mail
6.7 Satellite reconnaissance

PART II CONTENT


Chapter 7 Software development

7.1 A division of cognitive labor
7.2 Analysis
7.3 User-interface design
7.4 Programming
7.5 Testing
7.6 User documentation

Chapter 8 Two documents
8.1 Contents of a requirements document
8.2 Contents of a specification

Chapter 9 Classes and relations
9.1 Two kinds of sets
9.2 Classes
9.3 All possible values
9.4 Impossible values
9.5 Relations
9.6 Cardinality
9.7 Relations as attributes
9.8 Uniqueness and functional dependence
9.9 Queries
9.10 Naming classes, attributes, and relations

Chapter 10 Sequences and events
10.1 Structure
10.2 Events
10.3 Event responses
10.4 More sequence notations

Chapter 11 Causation and control
11.1 State transitions
11.2 Actions
11.3 Dependency
11.4 Flow
11.5 Rules

Chapter 12 Special topics
12.1 Elicitation
12.2 Object-orientation
12.3 Use cases and feature interaction
12.4 Reviews
12.5 Requirements jargon
12.6 Cutting corners
12.7 A few good books


PART III STYLE


Chapter 13 Documentation

13.1 Why document?
13.2 Broad principles
13.3 Decoy text
13.4 More common mistakes
13.5 Poor uses of documentation

Chapter 14 Organization
14.1 Content first
14.2 Grouping
14.3 Sequence
14.4 Emphasis

Chapter 15 Small Details
acronyms "affect/effect" "always" assumptions
"click on" "compose/comprise" conventions "correct"
cross-references "data" definitions dependencies
document titles "entry" fancy cover first sentence
glossary "i.e./e.g." "invalid" metatext
"model" page layout "paradigm" "represents"
requirement statements tables title page "type"
underlining "use" "valid" voice

PART IV EXAMPLES


Chapter 16 Bug Log requirements

Chapter 17 Bug Log user-interface design

Glossary

Bibliography

 
analysis bookstore top
Back Cover
Buy the book

Why don't people read requirements documents? That's the problem solved by this book by focusing on what belongs in the document and how to write it so people can read, understand and use it. With Practical Software Requirements, you will give programmers, testors, user-interface designers and tech writers all the information they need to do their jobs.

This fresh view of requirements injects new sparkle and usefulness into what is often perceived as a dull but necessary task. The book offers practical advice like how to word a definition, how to name states and events and even how to avoid boring the reader. It brims with a wide selection of examples - from embedded applications that control machinery to large business applications that direct human organizations.

Whether you're a programmer or project manager writing requirements for the first time - or an experienced system analyst - this book will help you do it skillfully and effectively.

 
analysis bookstore top
Author info
Buy the book
Ben Kovitz, a freelance consultant, has 15 years of experience in software engineering, both reading and writing requirements. He has worked as programmer, tester, system analyst, user-interface designer, and technical writer.
 
analysis bookstore top
Business System Analysis Books: Reviews
Buy the book
Booknews, Inc.
A guide to writing the types of documents needed by programmers in the early stages of a software development project: a requirements document (what the program will do) and a program specification or interface design (how it will act). The author presents information on underlying principles of program design; specific types of content to include in documents; and stylistic elements, including good technical writing.

Synopsis
By following the techniques in this book, it is possible to write requirements and specifications that customers, testers, programmers and technical writers will actually read, understand and use. These pages provide precise, practical instructions on how to distinguish requirements from design to produce clear solutions.

 From Requirenautics Quarterly, August 1999, by Bashar Nuseibeh:
I found Kovitz's book a pleasure to read. I believe that it is a "must buy" for all software development practitioners with a serious intent on applying both novel and established techniques for requirements writing. It does not try to cover many worthy requirements engineering topics and practices, but instead focuses on presenting a pragmatic approach to solving the very real problem of expressing software requirements. In doing so, it provides a valuable service to the community and is an excellent addition to the requirements engineering literature.

 
analysis bookstore top
 
NEW RELEASES
Agile
Benchmarking
Best Practices
Business Systems Analysis
CASE
Data Analysis
  Data Models
Data Normalization
Data Repository
Entity Relationship Diagrams
Miscellaneous
Data Warehouse
Enterprise Architecture
Enterprise Resource Planning (ERP)
  Peoplesoft
SAP
Miscellaneous
Humor
Internet
  E-Commerce
Miscellaneous
Interviewing Techniques
Methodologies
  Information Engineering
Structured System Development
System Development Life Cycle (SDLC)
Miscellaneous
Object Oriented
  Business Objects
Object Oriented Analysis
Object Oriented Design
Object Oriented Modeling
Object Oriented Testing
State Transition Diagrams
Problem Analysis
Process Analysis
  Data Flow Diagrams
Decision Tables
Event Response Diagrams
Flowcharts
Process Models
Miscellaneous
Process Improvement (BPI)
Related Topics
  Knowledge Management
Philosophies
Request for Proposal (RFP)
Risk Management
Six Sigma
Software Reuse
Strategic Planning
Requirements
  Business Rules
Prototyping
Requirements Analysis
Requirements Definition
Requirements Documentation
Requirements Engineering
Requirements Gathering
Requirements Management
Requirements Traceability
System Specifications
User Interfaces
Miscellaneous
Test Management
  Defect Tracking
Test Planning
Testing Methodologies
Testing Tools
Validation & Verification
Miscellaneous
Testing Phases
  Acceptance Testing
Configuration Testing
Integration Testing
Performance Testing
System Testing
Unit Testing
Usability Testing
Testing Techniques
  Black Box Testing
Object Oriented Testing
Regression Testing
Test Cases
Test Data Engineering
Walkthroughs
White Box Testing
Miscellaneous
Unified Modeling Language (UML)
Usability Engineering
  Prototyping
Task Analysis
Usability Testing
User Interfaces
Miscellaneous
Use Cases
Workflow Analysis
Working in Teams
  Conducting Meetings
Facilitation
JAD
Rapid Application Development (RAD)
Miscellaneous
Search:
Keywords:
Home Links Add a book Request Link Exchange BA Skills Test Training Needs Assessment