Business Analyst Training

Requirements elicitation, writing, analysis, and modeling by IIBA Endorsed Education Provider.

www.requirementssolutions.com

Business System Analysis Bookstore
In Association with Amazon.com
Help PicoSearch
Free Business Analyst Skills Test for CBAP 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 Elicit (Gather), Write, and Analyze Business Requirements
How to Initiate Requirements Gathering with User Stories
How to Model, Analyze, and Improve Business Processes
How to Model, Analyze, and Improve Business Data
How to Define and Document Use Cases
How to Elicit Business System Requirements
How to Write Effective Business Requirements
How to Analyze and Improve Business Processes
How to Define and Document Use Cases
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
 
Requirements
  Business Rules
Prototyping
Requirements Analysis
Requirements Definition
Requirements Documentation
Requirements Engineering
Requirements Management
Requirements Traceability
User Interfaces
Miscellaneous
Requirements Validation
  Acceptance Testing
Test Cases
Test Data Engineering
Test Planning
Testing Tools
Business Process Modeling (BPM)
  Data Flow Diagrams
Decision Tables
Process Analysis
Process Improvement (BPI)
Process Models
Facilitation
  Conducting Meetings
JAD
Miscellaneous
Data Analysis
  Data Models
Miscellaneous
NEW RELEASES
Business Systems Analysis
Best Practices
Interviewing Techniques
Methodologies
Problem Analysis
Request for Proposal (RFP)
Requirements Elicitation
Task Analysis
Unified Modeling Language (UML)
Use Cases
Workflow Analysis
Home Links CBAP Business Analyst Skills Test Business Anlayst Training Inquiry