You are previewing Process for System Architecture and Requirements Engineering.
O'Reilly logo
Process for System Architecture and Requirements Engineering

Book Description

 This is the digital version of the printed book (Copyright © 2000).

Derek Hatley and Imtiaz Pirbhai—authors of Strategies for Real-Time System Specification—join with influential consultant Peter Hruschka to present a much anticipated update to their widely implemented Hatley/Pirbhai methods.

Process for System Architecture and Requirements Engineering introduces a new approach that is particularly useful for multidisciplinary system development: It applies equally well to all technologies and thereby provides a common language for developers in widely differing disciplines.

The Hatley-Pirbhai-Hruschka approach (H/H/P) has another important feature: the coexistence of the requirements and architecture methods and of the corresponding models they produce. These two models are kept separate, but the approach fully records their ongoing and changing interrelationships. This feature is missing from virtually all other system and software development methods and from CASE tools that only automate the requirements model.

System managers, system architects, system engineers, and managers and engineers in all of the diverse engineering technologies will benefit from this comprehensive, pragmatic text. In addition to its models of requirements and architecture and of the development process itself, the book uses in-depth case studies of a hospital monitoring system and of a multidisciplinary groundwater analysis system to illustrate the principles.

Compatibility Between the H/H/P Methods and the UML:

The Hatley/Pirbhai architecture and requirements methods—described in Strategies for Real-Time System Specification—have been widely used for almost two decades in system and software development. Now known as the Hatley/Hruschka/Pirbhai (H/H/P) methods, they have always been compatible with object-oriented software techniques, such as the UML, by defining architectural elements as classes, objects, messages, inheritance relationships, and so on. In Process for System Architecture and Requirements Engineering, that compatibility is made more specific through the addition of message diagrams, inheritance diagrams, and new notations that go with them. In addition, state charts, while never excluded, are now specifically included as a representation of sequential machines.

These additions make definition of the system/software boundary even more straightforward, while retaining the clear separation of requirements and design at the system levels that is a hallmark of the H/H/P methods—not shared by most OO techniques. Once the transition to software is made, the developer is free to continue using the H/H/P methods, or to use the UML or any other software-specific technique.

Table of Contents

  1. About This eBook
  2. Title Page
  3. Copyright Page
  4. Also Available from Dorset House Publishing Co.
  5. Dedication
  6. Acknowledgments
  7. Contents
  8. Figures
  9. Part I: Concepts
    1. Chapter 1. Introduction
      1. 1.1. Purpose and Scope
      2. 1.2. The System Development Process
      3. 1.3. Underlying Principles
      4. 1.4. What’s in a Name?
      5. 1.5. Audience for and Structure of the Book
      6. 1.6. A Participative Case Study on the Web
      7. 1.7. A Caveat
    2. Chapter 2. What Is a System?
      1. 2.1. System Characteristics
      2. 2.2. Views of a System
      3. 2.3. System Requirements
      4. 2.4. System Summary
    3. Chapter 3. A Framework for Modeling Systems
      1. 3.1. A Model Framework
      2. 3.2. Models in General
      3. 3.3. Exploiting System Hierarchies
      4. 3.4. Exploiting The What/How Classification
      5. 3.5. Exploiting the Information/Material/Energy Classification
      6. 3.6. Layered Models: The Truth at Last!
      7. 3.7. Model Framework Summary
    4. Chapter 4. System Development Models
      1. 4.1. Overview
      2. 4.2. Architecture Model
      3. 4.3. Requirements Model
      4. 4.4. Requirements Dictionary
      5. 4.5. Requirements/Architecture Relationships
      6. 4.6. A Note On Object Orientation
      7. 4.7. System Models Summary and Further Reading
    5. Chapter 5. The System Development Process
      1. 5.1. Process, Methods, and Tools
      2. 5.2. The Nature of the Development Process
      3. 5.3. The Process and the Methods
      4. 5.4. Roles of the System Architect and System Engineer
      5. 5.5. System Development Process Summary
    6. Chapter 6. Applying the Models to Development
      1. 6.1. Overview
      2. 6.2. Understanding the Generic Development Structure
      3. 6.3. Example: A Patient-Monitoring System
      4. 6.4. Configuring Software and Computer Hardware
      5. 6.5. Modeling the Numerous Hardware Technologies
      6. 6.6. Computer Hardware Layers
      7. 6.7. Software Layers
      8. 6.8. Summaries
    7. Chapter 7. System Development Overview Using a Meta-Model
      1. 7.1. Introduction
      2. 7.2. A Meta-Model for Development Projects
      3. 7.3. An Essential Model of the Development Process
      4. 7.4. The Enhanced Development Model
      5. 7.5. The Development Architecture Context
      6. 7.6. Development Process Architecture
      7. 7.7. Development Process Task Allocation
      8. 7.8. Variations On The Architecture Template
  10. Part II: Case Study: Groundwater Analysis System
    1. Chapter 8. Initial Problem Statement
      1. 8.1. Overview
      2. 8.2. Required Capabilities
      3. 8.3. Required Performance
      4. 8.4. Required Constraints
    2. Chapter 9. Modeling the Known Pieces
      1. 9.1. Overview
      2. 9.2. The Requirements Context
      3. 9.3. The System Timing Specification
      4. 9.4. The Entity Model
      5. 9.5. The Existing Sampling Module
    3. Chapter 10. Building Upon the Known Pieces
      1. 10.1. Top-Level Essential Model
      2. 10.2. Enhancing the Essential Model
      3. 10.3. Architecture Context
      4. 10.4. Building Up From the Existing Sampling Module
      5. 10.5. What do we Have, and What is Missing?
    4. Chapter 11. Filling In the Blanks
      1. 11.1. Introduction
      2. 11.2. Architecture Modules
      3. 11.3. Allocating the Enhanced Requirements Model
      4. 11.4. Enhancing the Allocated Models
      5. 11.5. Adding the Architecture Flows and Interconnects
      6. 11.6. Flow-To-Interconnect Allocations
      7. 11.7. Merging the Top-Down and Bottom-Up Pieces
    5. Chapter 12. Completing the Models
      1. 12.1. Introduction
      2. 12.2. Accuracy Allocation
      3. 12.3. Timing Allocation—Concurrent Architecture Modules
      4. 12.4. Architecture Module Specifications
      5. 12.5. Architecture Interconnect Specifications
      6. 12.6. Requirements and Architecture Dictionaries
    6. Chapter 13. Groundwater Analysis System Summary
      1. 13.1. Overview
  11. Appendix: Changes, Improvements, and Misconceptions Since the Methods’ Introduction
    1. A.1. A Learning Experience
    2. A.2. Changes and Improvements
    3. A.3. Misconceptions About the Methods
  12. Glossary
    1. Introduction
    2. Glossary
  13. Bibliography
    1. Training And Tools
  14. Index