Software Requirement Patterns (Best Practices) and over one million other books are available for Amazon Kindle. Learn more

Kindle Edition
 
   
Sell Back Your Copy
For a $12.75 Gift Card
Trade in
Have one to sell? Sell yours here
Software Requirement Patterns (Best Practices)
 
 
Start reading Software Requirement Patterns (Best Practices) on your Kindle in under a minute.

Don't have a Kindle? Get your Kindle here, or download a FREE Kindle Reading App.

Software Requirement Patterns (Best Practices) [Paperback]

Stephen Withall (Author)
4.3 out of 5 stars  See all reviews (7 customer reviews)


Available from these sellers.


Textbook Student FREE Two-Day Shipping for students on millions of items. Learn more

Formats

Amazon Price New from Used from
Kindle Edition $17.59  
Paperback --  
Sell Back Your Copy for $12.75
Whether you buy it used on Amazon for $35.92 or somewhere else, you can sell it back through our Book Trade-In Program at the current price of $12.75.
Used Price$35.92
Trade-in Price$12.75
Price after
Trade-in
$23.17

Book Description

June 13, 2007 0735623988 978-0735623989 1

Learn proven, real-world techniques for specifying software requirements with this practical reference. It details 30 requirement “patterns” offering realistic examples for situation-specific guidance for building effective software requirements. Each pattern explains what a requirement needs to convey, offers potential questions to ask, points out potential pitfalls, suggests extra requirements, and other advice. This book also provides guidance on how to write other kinds of information that belong in a requirements specification, such as assumptions, a glossary, and document history and references, and how to structure a requirements specification.

A disturbing proportion of computer systems are judged to be inadequate; many are not even delivered; more are late or over budget. Studies consistently show one of the single biggest causes is poorly defined requirements: not properly defining what a system is for and what it’s supposed to do. Even a modest contribution to improving requirements offers the prospect of saving businesses part of a large sum of wasted investment. This guide emphasizes this important requirement need—determining what a software system needs to do before spending time on development. Expertly written, this book details solutions that have worked in the past, with guidance for modifying patterns to fit individual needs—giving developers the valuable advice they need for building effective software requirements



Editorial Reviews

From the Publisher

Key Book Benefits:

-Provides a reference to solutions that have worked in the past, with guidance about how to modify patterns to fit individual needs

-Features an emphasis on determining what a software system needs to do--the necessary precursor to development

About the Author

Stephen J. Withall has been developing and specifying software systems for more than 26 years in a variety of roles: programmer, analyst/programmer, team leader, systems analyst, business analyst, project manager, systems architect, and chief technical officer. He has worked in diverse environments in companies big and small, in 17 countries across four continents. He has used object-oriented design approaches and technology for more than 16 years, and actively maintains his hands-on software development skills.

Product Details

  • Paperback: 384 pages
  • Publisher: Microsoft Press; 1 edition (June 13, 2007)
  • Language: English
  • ISBN-10: 0735623988
  • ISBN-13: 978-0735623989
  • Product Dimensions: 8.9 x 7.4 x 1.1 inches
  • Shipping Weight: 1.7 pounds
  • Average Customer Review: 4.3 out of 5 stars  See all reviews (7 customer reviews)
  • Amazon Best Sellers Rank: #933,908 in Books (See Top 100 in Books)

More About the Author

Discover books, learn about writers, read author blogs, and more.

 

Customer Reviews

7 Reviews
5 star:
 (5)
4 star:    (0)
3 star:
 (1)
2 star:
 (1)
1 star:    (0)
 
 
 
 
 
Average Customer Review
4.3 out of 5 stars (7 customer reviews)
 
 
 
 
Share your thoughts with other customers:
Most Helpful Customer Reviews

10 of 11 people found the following review helpful:
5.0 out of 5 stars An important but often dull subject made accessible and interesting, October 8, 2007
This review is from: Software Requirement Patterns (Best Practices) (Paperback)
The purpose of this book is to help you decide and define what a new software system needs to do and to suggest what extra features to add to make it a very good system. It saves you effort and enables you to be more precise, by providing detailed guidance on how to specify individual requirements.

Requirement patterns are encapsulated expertise, conveniently prepackaged for reuse. The book contains 37 requirement patterns, each of which describes an approach to tackling a particular type of situation that comes up repeatedly in all kinds of systems, but focusing on commercial business software. Only a fraction of any system is specific to its business area; the bulk occurs over and over again no matter what your system is for. These patterns cover more than half of all requirements in some systems, and even more if you add the extra requirements the patterns suggest. Each pattern conveys not only the basic information that a requirement needs to convey, it also offers guidance on supplemental information that you need in your requirements in order to make them complete, comprehensible, and properly cross-referenced. This book contains over 400 example requirements, many of which are suitable for applying unchanged to any system and others that are a useful starting point for a requirement to suit the reader's needs. These examples are the heart of the book. Currently, the product description does not show the table of contents, so I do that next:

Part I: Setting the Scene
Chapter 1. Synopsis of "Crash Course in Specifying Requirements"
Section 1.1. What Are Requirements?
Section 1.2. Where Do Requirements Fit in the Grand Scheme?
Section 1.3. A Few General Principles
Section 1.4. A Traditional Requirements Process
Section 1.5. Agile Requirements Processes

Chapter 2. Synopsis of "The Contents of a Requirements Specification"
Section 2.1. Introduction Section
Section 2.2. Context Section
Section 2.3. Functional Area Sections
Section 2.4. Major Nonfunctional Capabilities Section

Chapter 3. Requirement Pattern Concepts
Section 3.1. Introduction to Requirement Patterns
Section 3.2. The Anatomy of a Requirement Pattern
Section 3.3. Domains
Section 3.4. Requirement Pattern Groups
Section 3.5. Relationships Between Requirement Patterns

Chapter 4. Using and Producing Requirement Patterns
Section 4.1. When and How to Use Requirement Patterns
Section 4.2. Tailoring Requirement Patterns
Section 4.3. Writing New Requirement Patterns

Part II: Requirement Pattern Catalog
Chapter 5. Fundamental Requirement Patterns
Section 5.1. Inter-System Interface Requirement Pattern
Section 5.2. Inter-System Interaction Requirement Pattern
Section 5.3. Technology Requirement Pattern
Section 5.4. Comply-with-Standard Requirement Pattern
Section 5.5. Refer-to-Requirements Requirement Pattern
Section 5.6. Documentation Requirement Pattern

Chapter 6. Information Requirement Patterns
Section 6.1. Data Type Requirement Pattern
Section 6.2. Data Structure Requirement Pattern
Section 6.3. ID Requirement Pattern
Section 6.4. Calculation Formula Requirement Pattern
Section 6.5. Data Longevity Requirement Pattern
Section 6.6. Data Archiving Requirement Pattern

Chapter 7. Data Entity Requirement Patterns
Section 7.1. Living Entity Requirement Pattern
Section 7.2. Transaction Requirement Pattern
Section 7.3. Configuration Requirement Pattern
Section 7.4. Chronicle Requirement Pattern
Section 7.5. Information Storage Infrastructure

Chapter 8. User Function Requirement Patterns
Section 8.1. Inquiry Requirement Pattern
Section 8.2. Report Requirement Pattern
Section 8.3. Accessibility Requirement Pattern
Section 8.4. User Interface Infrastructure
Section 8.5. Reporting Infrastructure

Chapter 9. Performance Requirement Patterns
Section 9.1. Response Time Requirement Pattern
Section 9.2. Throughput Requirement Pattern
Section 9.3. Dynamic Capacity Requirement Pattern
Section 9.4. Static Capacity Requirement Pattern
Section 9.5. Availability Requirement Pattern

Chapter 10. Flexibility Requirement Patterns
Section 10.1. Scalability Requirement Pattern
Section 10.2. Extendability Requirement Pattern
Section 10.3. Unparochialness Requirement Pattern
Section 10.4. Multiness Requirement Pattern
Section 10.5. Multi-Lingual Requirement Pattern
Section 10.6. Installability Requirement Pattern

Chapter 11. Access Control Requirement Patterns
Section 11.1. User Registration Requirement Pattern
Section 11.2. User Authentication Requirement Pattern
Section 11.3. User Authorization Requirement Patterns
Section 11.4. Specific Authorization Requirement Pattern
Section 11.5. Configurable Authorization Requirement Pattern
Section 11.6. Approval Requirement Pattern

Chapter 12. Commercial Requirement Patterns
Section 12.1. Multi-Organization Unit Requirement Pattern
Section 12.2. Fee/Tax Requirement Pattern

This book is very good at taking a dull subject - software requirements and their specification - and making it interesting and accessible. Highly recommended.
Help other customers find the most helpful reviews 
Was this review helpful to you? Yes No


20 of 25 people found the following review helpful:
3.0 out of 5 stars Many examples of better requirements, October 18, 2007
By 
Earl Beede (Maltby, WA USA) - See all my reviews
(REAL NAME)   
This review is from: Software Requirement Patterns (Best Practices) (Paperback)
Stephen Withall should be congratulated for slugging through about 300 pages of examples of requirements. Many of them are quite good. For that alone, I recommend the book for all those who want to know what a fairly well written requirement might look like. If you want to know what a very well written requirement looks like, then you should go attempt to read Tom Gilb's book Competitive Engineering. I say attempt because Gilb is not an easy read.
Withall is honest from the beginning in that this is a book of examples using a pattern language. I don't have much enthusiasm for pattern languages, they seem to confuse me, but that is probably a personal problem. There is little to explain what requirements are or how to get them. This book focus is on writing them down. He does have a really brief (very, very brief) intro to requirements with more promised on the web. I didn't read the web stuff.
What I did learn, and colored my whole perception of the book, is that the working definition of requirement is focused flat on functional requirements. Yes, there is a nod to not functional requirements but they get a short shift throughout the book. Frankly, functional requirements are not that interesting. Yes, they are needed but they are typically really easy to get. It is the not functional requirements that get teams into trouble. It isn't that the software doesn't do what you want, it just does it in a way that you hate.
This is clear in the section on User Function requirements where (even if he told us earlier to specify the problem, not the solution) the examples are full of solution. "The system will refresh itself" and "Whenever a sound is played for the purpose of alerting the user, a visual cue shall also be invoked". Why I ask you? That is solution talk.
Now to be a bit more fair, problem and solution is a relative area so, without a clear description of the context, I can't say what those two examples really are, but my money is on solution. A problem UI requirement for the above is more like, "The user will correctly recognize an alert within X seconds 95% of the time" or something like that.
Bottom line, if you want to have a book of lots of examples, not to bad. In those examples are some good questions. But there is much more to do than to write them down.
Help other customers find the most helpful reviews 
Was this review helpful to you? Yes No


14 of 17 people found the following review helpful:
5.0 out of 5 stars Much Useful Information about Writing Requirements, August 31, 2007
By 
Karl E. Wiegers (Clackamas, OR United States) - See all my reviews
(REAL NAME)   
This review is from: Software Requirement Patterns (Best Practices) (Paperback)
Stephen Withall's "Software Requirement Patterns" can help any analyst write better requirements. The patterns Steve presents can help analysts ask the right questions to properly understand and specify requirements of many types at an appropriate level of detail. This book communicates a wealth of wisdom and insight for writing stellar requirements. The patterns point out the value of using a consistent style when exploring and documenting requirements. Even if you don't apply the patterns rigorously, Steve provides hundreds of practical tips for specifying better requirements.

This book does not address the entire requirements development and management life cycle. You aren't going to sit down and read through the whole book, either. Instead, it's a valuable reference when you have questions about how best to explore and specify certain types of requirements. It will help you discover essential information that you wouldn't otherwise think to ask about. I used the "Report Requirement Pattern" this morning (literally) to get some new ideas about effectively specifying requirements for reports.

This is the most comprehensive resource I've seen on thinking carefully through the information associated with effective functional, data, and quality requirements of many different kinds. I highly recommend it.
Help other customers find the most helpful reviews 
Was this review helpful to you? Yes No

Share your thoughts with other customers: Create your own review
 
 
 
Most Recent Customer Reviews





Only search this product's reviews



Inside This Book (learn more)
Key Phrases - Statistically Improbable Phrases (SIPs): (learn more)
classification name, interaction requirement pattern, data archiving requirement, requirement pattern classifications, motivation for this requirement, information storage infrastructure, configurable authorization, specific authorization requirement, user interface infrastructure, users with specific needs, pervasive requirements, invocation requirements, data type requirement, device rental, availability window, sizing model, segregated data, reporting infrastructure, throughput target, referenced specification, partial availability, extra topics, availability goals, data longevity, own subsection
Key Phrases - Capitalized Phrases (CAPs): (learn more)
Requirement Pattern Catalog, Summary Definition, Flexibility Requirement Patterns, Access Control Requirement Patterns, Data Entity Requirement Patterns, Fundamental Requirement Patterns, Information Requirement Patterns, User Function Requirement Patterns, Setting the Scene, Requirement Pattern Concepts, Commercial Requirement Patterns, None Anticipated, Attack Direction, Crash Course, Steps That Contribute, Rehabilitation Act, Basic Details, User Interface Requirement Patterns, Acme Corporation, Major Nonfunctional Capabilities, Don't Mess, Performance Requirement Patterns, Extra Requirements
Browse Sample Pages:
Front Cover | Table of Contents | First Pages | Index | Surprise Me!
Search Inside This Book:

What Other Items Do Customers Buy After Viewing This Item?


Tags Customers Associate with This Product

 (What's this?)
Click on a tag to find related items, discussions, and people.
 

Your tags: Add your first tag
 

Customer Discussions

This product's forum
Discussion Replies Latest Post
No discussions yet

Ask questions, Share opinions, Gain insight
Start a new discussion
Topic:
First post:
Prompts for sign-in
 


Active discussions in related forums
Search Customer Discussions
Search all Amazon discussions
   
Related forums





Look for Similar Items by Category


Look for Similar Items by Subject