Requirements Writing for System Engineering
- 7h 54m
- George Koelsch
- Apress
- 2016
Learn how to create good requirements when designing hardware and software systems. While this book emphasizes writing traditional “shall” statements, it also provides guidance on use case design and creating user stories in support of agile methodologies. The book surveys modeling techniques and various tools that support requirements collection and analysis. You’ll learn to manage requirements, including discussions of document types and digital approaches using spreadsheets, generic databases, and dedicated requirements tools. Good, clear examples are presented, many related to real-world work the author has done during his career.
Requirements Writing for System Engineering covers techniques for defining user needs so you can determine which combination of approaches to use for your projects. You’ll also learn how to analyze different development methodologies so that you can determine the advantages and disadvantages of different requirements approaches and implement them correctly as your needs evolve. Unlike most requirements books, Requirements Writing for System Engineering teaches writing both hardware and software requirements because many projects include both areas. To exemplify this approach, two example projects are developed throughout the book, one focusing on hardware and the other on software.
This book
- Presents many techniques for capturing requirements.
- Demonstrates gap analysis to find missing requirements.
- Shows how to address both software and hardware, as most projects involve both.
- Provides extensive examples of “shall” statements, user stories, and use cases.
- Explains how to supplement or replace traditional requirement statements with user stories and use cases that work well in agile development environments
What You Will Learn
- Understand the 14 techniques for capturing all requirements.
- Address software and hardware needs; because most projects involve both.
- Ensure all statements meet the 16 attributes of a good requirement.
- Differentiate the 19 different functional types of requirement, and the 31 non-functional types.
- Write requirements properly based on extensive examples of good ‘shall’ statements, user stories, and use cases.
- Employ modeling techniques to mitigate the imprecision of words.
Audience
Writing Requirements teaches you to write requirements the correct way. It is targeted at the requirements engineer who wants to improve and master his craft. This is also an excellent book from which to teach requirements engineering at the university level. Government organizations at all levels, from Federal to local levels, can use this book to ensure they begin all development projects correctly. As well, contractor companies supporting government development are also excellent audiences for this book.
About the Author
George Koelsch is a system engineer who resides in Northern Virginia within the DC metro area. He started writing requirements 40 years ago while in the US Army, and has continued that work for the last 30 years as a contractor for the Federal Government. He became an efficiency expert during a five year stint as an Industrial Engineer at Michelin Tire Corporation, and he then applied that new skill to system engineering to tailor the lifecycle development process. He was among the first requirement engineers in the DC area to employ such a technique. Koelsch has authored ten non-fiction articles on computers, coin collecting, stamp collecting, and high-energy physics. He recently decided to combine his two passions, system engineering and writing.
In this Book
-
The Importance of Requirements
-
What Makes a Good Requirement?
-
Specialized Language
-
Functional Requirements
-
Nonfunctional Requirements
-
Lists of Items and the Order of Steps and Data Elements
-
Data Interfaces and Documents
-
Physical Requirements
-
How to Collect Requirements
-
User Interface Requirements
-
Managing Requirements
-
Supplementing or Replacing Standard Requirements
-
User Stories
-
Use Cases
-
Revisiting Requirement Problems and Their Solutions