Business Analyst Training

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

www.requirementssolutions.com

Business Analysis Bookstore
In Association with Amazon.com
Help PicoSearch
Free Business Analyst Skills Test for CBAP Looking for Business Analysis Training

Software Requirements Engineering

Buy the Book
Summary TOC Preface Author Look Inside Comments Reviews
Richard H. Thayer (Editor), M. Dorfman (Editor), Sidney C. Bailin (Editor)
April 1997, IEEE Computer Society, Paperback, 500 pages, ISBN 0818677384

Instructor-led, virtual, and self-paced training for Business Analysts What Do Business Analysts Do?
How to Plan and Monitor Business Analysis Activities
How to Estimate Early in a Project
How to Elicit (Gather), Write, and Analyze Business Requirements
How to Prepare and Facilitate Requirements Workshops
How to Initiate Requirements Gathering with User Stories
How to Prepare and Facilitate Productive JRP/JAD Sessions
How to Model, Analyze, and Improve Business Processes
How to Model, Analyze, and Improve Business Data
All About Use Cases
How to Test an Application using Business Requirements
How to Elicit Business System Requirements
How to Analyze Sets of Business Requirements
How to Manage Changing Requirements
How to Build Business Data Models
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 Analysts (BA's) and Subject Matter Experts (SME's)

Summary
Buy the book

This new edition describes current best practices in requirements engineering with a focus primarily on software systems but also on systems that may contain other elements such as hardware or people. The text consists of original papers, written by experts in the field, plus revisions of papers from the first edition. The book begins with an introduction to current issues and the basic terminology of the software requirements engineering process. The text covers the five phases of software requirements engineering that need to be performed to reduce the chance of software failure: elicitation, analysis, specification, verification, and management.

Software Requirements Engineering, Second Edition:

  • Looks at the science and discipline that concern establishing documenting software requirements
  • Describes the process through which developers' and users' discover, review, articulate, and understand the users' needs and the constraints on software and development activity
  • Shows how to analyze the users' needs to arrive at a definition of their software requirements
  • Examines software requirements and the need to clearly document and precisely record each requirement
  • Looks at verification to ensure that the software requirements specifications are in compliance with the system requirements and conforms to document standards
  • Details software requirements management including planning and controlling of all these activities
 
analysis bookstore top
BA books: Table of Contents
Buy the book

Introduction to Tutorial:   Software Requirements Engineering

 

Chapter 1.   Introductions, Issues, and Terminology

Requirements Engineering
Merlin Dorfman
What is a Requirement?
Richard Harwell, Erik Aslaksen, Ivy Hooks, Roy Mengot, and Ken Ptack
Proceedings of the Third Annual International Symposium,
National Council on Systems Engineering, 1993
Pinpointing Requirements
Laura Scharer
Datamation, April 1981
Requirements Engineering: The Emerging Wisdom
Jawed Siddiqi and M. Chandra Shekaran
IEEE Software, March 1996

Chapter 2.   System and Software System Engineering

System Engineering Overview
Kevin Forsberg and Harold Mooz
The Concept of Operations: The Bridge from Operational Requirements to Technical Specifications
Richard E. Fairley and Richard H. Thayer
Software System Engineering: An Engineering Process
Richard H. Thayer
IEEE Guide for Information Technology — Systems Definition — Concept of Operations (ConOps) Document
IEEE Std 1362, 1998 IEEE, New York, 1998

Chapter 3.   Software Requirements Analysis and Specifications

Techniques for Requirements Elicitation
.Joseph A. Goguen and Charlotte Linde
Proceedings of the International Symposium on Requirements Engineering, 1993
Getting Started: Using Use Cases to Capture Requirements
James Rumbaugh
Journal of Object Oriented Programming, September 1994
Software Requirements: A Tutorial
Stuart R. Faulk
Requirements Engineering with Viewpoints
Gerald Kotonya and Ian Sommerville
Software Engineering Journal, January 1996
Identifying and Measuring Quality in a Software Requirements Specification
Alan Davis, Scott Overmyer, Kathleen Jordan, Joseph Caruso, Fatma Dandashi, Anhtuan Dinh,
Gary Kincaid, Glen Ledeboer, Patricia Reynolds, Pradip Srimani, Anh Ta, and Mary Theofanos
First International Software Metrics Symposium, 1993
IEEE Recommended Practice for Software Requirements Specifications
IEEE Std 830-1998, IEEE, New York, 1998
IEEE Guide for Developing System Requirements Specifications
IEEE Std 1233, 1998 IEEE, New York, 1998

Chapter 4.   Software Requirements Methodologies and Tools

A Comparison of Techniques for the Specification of External System Behavior
Alan M. Davis
Communications of the ACM, September 1988
Structured Analysis
Cyril P. Svoboda
System and Software Requirements Engineering, R.H. Thayer and M. Dorfman, eds., 1990
Entity-Relationship Approach to Data Modeling
John P. Reilly
Object-Oriented Requirements Analysis
Sidney C. Bailin
A Comparison of Object-Oriented and Structured Development Methods
Patrick H. Loy
Proceedings of the Pacific Northwest Software Quality Conference, 1989
A Review of Formal Methods
Robert Vienneau
extracted from "A Review of Formal Methods," Kaman Sciences Corporation, May 26, 1993
Formal Methods in Information Systems Engineering
Hossein Saiedian
A Classification of CASE Technology
Alfonso Fuggetta
Computer, December 1993
Traceability
James D. Palmer

Chapter 5.   Requirements and Quality Management

Software Requirements—A Management Perspective
Raymond T. Yeh and Peter A. Ng
System and Software Requirements Engineering, R.H. Thayer and M. Dorfman, eds., 1990
Verifying and Validating Software Requirements Specifications
Dolores R. Wallace and Laura M. Ippolito
derived from D.R. Wallace, L.M. Ippolito, and B.B. Cuthill,
Reference Information for the Software Verification and Validation Process,
NIST Special Publication 500-234,
National Institute of Standards and Technology, April 1996

Chapter 6.   Software System Engineering Process Models

A Strategy for Comparing Alternative Software Development Life Cycle Models
Alan M. Davis, Edward H. Bersoff, and Edward R. Comer
IEEE Transactions on Software Engineering, October 1988
A Spiral Model of Software Development and Enhancement
Barry W. Boehm
Tutorial: Software Engineering Project Management, R.H. Thayer, ed., 1988
The Impact of Prototyping on Software System Engineering
Hassan Gomaa
System and Software Requirements Engineering, R.H. Thayer and M. Dorfman, eds., 1990

Appendix

Software Requirements Engineering Glossary
Richard H. Thayer and Mildred C. Thayer

Authors' Biographies

 
analysis bookstore top
Preface
Buy the book
Much has changed in the field of requirements engineering since the first edition of this tutorial was published 6 years ago. Some of the more important changes since 1990 are as follows:
  • The increased recognition of the importance of requirements engineering and the risks of doing it incorrectly or insufficiently (the inability to produce complete, correct, and unambiguous software requirements) is still considered the major cause of software failure today
  • An increase in the number of conferences and workshops devoted exclusively to requirements engineering, for example, the International Symposium on Requirements Engineering, held in odd-numbered years, and the International Conference on Requirements Engineering, held in even-numbered years
  • An increased number of books and journals devoted to requirements engineering, for example, Requirements Engineering Journal (Springer-Verlag London, Ltd.), Davis, A.M., Software Requirements: Analysis and Specification (Prentice-Hall International, Englewood Cliffs, N.J.)
  • The inclusion, in the Capability Maturity Model for Software (published in 1993 by the Software Engineering Institute), of requirements engineering as a "Key Process Area" in defining a mature software development process
  • The increased development of commercially available tools that support requirements engineering functions
  • The emergence of subspecialties of requirements engineering, for example, requirements elicitation, requirements verification, and requirements traceability
  • More extensive use of the concept of operations (ConOps) document, which was first invented and described in the literature more than 15 years ago
  • More extensive practice of the validation and verification of requirements. As with the ConOps document, this is not a new idea, but is now much more accepted

This tutorial describes the current state of the practice of requirements engineering, primarily for software systems but also for systems that may contain other elements such as hardware and people. Every attempt has been made to select good, current tutorial papers for this tutorial. A paper published in the 1980s or even the 1970s is not by definition "old" or out of date. Some very fine papers, published 1~15 years ago, are still current and are the best available description of the subject under consideration. Papers selected for inclusion in this tutorial were carefully checked against the following criteria, to determine if they:

  • Accurately described the state of the practice for the given topic; if a small portion of a paper was perhaps outdated, this was explained in the chapter introduction
  • Covered the state of the practice for the given topic thoroughly and evenly
  • Defined the basic terms
  • Avoided presenting new, unproved concepts, with no reasonable prediction as to their future
  • Did not try to sell one tool or concept over all others
  • Are easy to read, for example, contained no gratuitous (unnecessary) mathematics
  • Are organized in a hierarchical manner (top-level concepts discussed first, second-level concepts discussed next, and so forth)
  • Provided a list of additional references
  • Were written by an expert in the area (to assure all of the above)

Our criteria are, of course, idealized. Even these "rules" were violated if there was a good reason. On the basis of these criteria, we have selected papers in the following six chapters:

Chapter 1:   Introductions, Issues, and Terminology

Chapter 2:   System and Software System Engineering

Chapter 3:   Software Requirements Analysis and Specifications

Chapter 4:   Software Requirements Methodologies and Tools

Chapter 5:   Requirements and Quality Management

Chapter 6:   Software System Engineering Process Models

Where there were good existing papers, either from the first edition of this tutorial or elsewhere, we have used them. A large number of the papers from the first edition are still current and topical. We have also sought out new papers and revisions of papers from the first edition from noted authors in the field.

This tutorial is one of a set of tutorials on "software system engineering" published or to be published by the IEEE Computer Society Press:

  • R.H. Thayer (ed.), Software Engineering Project Management,
    IEEE Computer Society Press, Los Alamitos, CA, 1997
  • M. Dorfman and R.H. Thayer (eds.), Software Engineering,
    IEEE Computer Society Press, Los Alamitos, CA, 1997
  • R.H. Thayer and A.D. McGettrick (eds.), Software Engineering—A European Perspective,
    IEEE Computer Society Press, Los Alamitos, CA, 1993

Duplication of papers across tutorials has been kept to a minimum. In a few cases, particularly important papers are duplicated in order that each tutorial can stand alone.

We would like to acknowledge the support provided by the following people.

  • Dr. William (Bill) Sanders, Managing Editor,
    Computer Society Press
  • Ms. Cheryl Smith, Acquisitions Assistant,
    Computer Society Press
  • Ms. Lisa O'Conner, Tutorial Production Editor,
    Computer Society Press

Merlin Dorfman, PhD
Lockheed Martin Missiles and Space Company
Sunnyvale, California, USA

Richard H. Thayer, PhD
California State University, Sacramento
Sacramento, California, USA

 
analysis bookstore top
Author info
Buy the book
Richard H. Thayer, PhD, is a Professor of Computer Science at California State University, Sacramento, California, United States of America. He travels widely where he consults and lectures on software requirements analysis, software engineering, project management, software engineering standards, and software quality assurance. He is a Visiting Researcher at the University of Strathclyde, Glasgow, Scotland. As an expert in software project management and requirements engineering, he is a consultant to many companies and government agencies.

Prior to this, he served over 20 years in the U.S. Air Force as a senior officer in a variety of positions associated with engineering, computer programming, research, teaching, and management in computer science and data processing. His numerous positions include six years as a supervisor and technical leader of scientific programming groups, four years directing the U.S. Air Force R&D program in computer science, and six years of managing large data processing organizations.

Thayer is a Senior Member of the IEEE Computer Society and the IEEE Software Engineering Standards Subcommittee. He is Chairperson for the Working Group for a Standard for a Concept of Operations (ConOps) document and past chairperson for the Working Group for a Standard for a Software Project Management Plans. He is a Distinguished Visitor for the IEEE Computer Society.

He is also an Associate Fellow of the American Institute of Aeronautics and Astronautics (AIAA) where he served on the AIAA Technical Committee on Computer Systems, and he is a member of the Association for Computing Machinery (ACM). He is also a registered professional engineer.

He has a BSEE and an MS degree from the University of Illinois at Urbana (1962) and a PhD from the University of California at Santa Barbara (1979) all in Electrical Engineering.

He has edited and/or co-edited numerous tutorials for the IEEE Computer Society Press: Software Engineering Project Management (1988), System and Software Requirements Engineering (1990), Software Engineering—European Prospective (1992), and Software Engineering (1996). He is the author of over 40 technical papers and reports on software project management, software engineering, and software engineering standards and is an invited speaker at many national and international software engineering conferences and workshops.

Merlin Dorfman, PhD, is a Technical Consultant in the Space Systems Product Center, Lockheed Martin Missiles and Space Company, Sunnyvale, Calif. He specializes in systems engineering for software-intensive systems (requirements analysis, top-level architecture, and performance evaluation), in software process improvement, and in algorithm development for data processing systems. He has performed concept exploration, system implementation, and operations and maintenance of data systems and has worked on proposal teams and company-funded technology projects as well as on development contracts. He was in charge of the development of the Automated Requirements Traceability System (ARTS). He was the first chairman of Space Systems Division's Software Engineering Process Group. He represented the Lockheed Corporation on the Embedded Computer Software Committee of the Aerospace Industries Association, and was Vice-Chairman of the Committee.

Dorfman wrote and taught a four-day course, "Software Requirements and Design Specifications," for Learning Tree International of Los Angeles, Calif. He co-teaches a two-week course in Software Project Management for the Center for Systems Management of Cupertino, Calif. He has been a guest lecturer on software systems engineering at the Defense Systems Management College. He is a Fellow of the American Institute of Aeronautics and Astronautics (AIAA), a member of its System Engineering Technical Committee, past chairman of the Software Systems Technical Committee, and past Chairman of the AIAA San Francisco Section, and is currently Assistant Director of Region 6 (West Coast). He is an affiliate member of the Institute of Electrical and Electronics Engineers (IEEE) Computer Society.

He has a BS and MS from the Massachusetts Institute of Technology and a PhD from Stanford University, all in Aeronautics and Astronautics. He is a registered Professional Engineer in the states of California and Colorado and is a member of the Tau Beta Pi and Sigma Gamma Tau honorary societies.

He is co-editor of three IEEE Tutorial volumes, System and Software Requirements Engineering; Standards, Guidelines, and Examples for System and Software Requirements Engineering; and Software Engineering and co-editor of a volume, Aerospace Software Engineering, in the AIAA "Progress in Aeronautics and Astronautics" Series. Quotes

 
analysis bookstore top
Business Analysis Books: Reviews
Buy the book
Booknews, Inc.
A new edition of the comprehensive collection of original and reprinted articles describing the current best practices in requirement engineering focused primarily on software systems but also including hardware and people systems. The 35 papers introduce current issues and basic terminology, and cover the phases of software requirements engineering including elicitation, analysis, specification, verification, and management. Specific discussions feature descriptions of the process developers and users use to review and articulate needs and constraints on development, examine software requirements and documentation, and supply details on management planning and control. Lacks an index.
 
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