Our Blog Excerpts Savings Contact

logo

Dorset House Publishing
High-Quality Books on Software Engineering and Management.  Since 1984.
dorsethouse.com > titles

 

iDH Sign-Up


Get Our e-News
Delivered by FeedBurner

Contents of

Process for System Architecture and Requirements Engineering

by Derek Hatley, Peter Hruschka, and Imtiaz Pirbhai

ISBN: 978-0-932633-41-5  
©2000  456 pages   softcover  
$59.95 (plus shipping)

Subject(s): Requirements Engineering, Systems Architecture, Systems Design

Paypal
*For UPS Ground within U.S. only.
For more info., or for Int.'l or rush orders, click here.

Rate this
Book.

Figures xv

Part I Concepts 1

Chapter 1 Introduction 3

1.1 Purpose and Scope 3

1.2 The System Development Process 4

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 8

Chapter 2 What Is a System? 9

2.1 System Characteristics 9

2.1.1 Introduction to Systems 9

2.1.2 System Hierarchies 11

2.1.3 Multiple Hierarchies 14

2.1.4 System Networks 14

2.1.5 System Life Cycle and Errors 15

2.1.6 Order and Chaos 16

2.1.7 System Predictability 17

2.1.8 Dealing with Complexity 17

2.2 Views of a System 18

2.2.1 The Processing View 19

2.2.2 The Processor View 20

2.2.3 The What/How View 21

2.2.4 The Level of Intelligence View 22

2.2.5 The Static/Dynamic View 23

2.3 System Requirements 24

2.3.1 The Sources of Requirements 24

2.3.1.1 Customers 24

2.3.1.2 Users 25

2.3.1.3 Managers 25

2.3.1.4 Industry Standards 25

2.3.1.5 The Development Process 26

2.3.1.6 Others 26

2.3.2 What Exactly Are Requirements, Anyway? 26

2.3.3 A Model of Requirements 28

2.3.4 Quality 36

2.3.5 Requirement Management and Analysis 37

2.3.5.1 Requirement Gathering 37

2.3.5.2 Requirement Integrity Analysis 38

2.3.5.3 Requirement Feasibility Analysis 38

2.3.5.4 Requirement Detailing 38

2.3.5.5 Requirement Deriving 39

2.3.5.6 Requirement Categorizing 39

2.4 System Summary 40

Chapter 3 A Framework for Modeling Systems 41

3.1 A Model Framework 41

3.2 Models in General 41

3.2.1 Models Are Useful Abstractions 42

3.2.2 Model Representations and Reuse 43

3.3 Exploiting System Hierarchies 45

3.3.1 Why Exploit Hierarchies? 46

3.3.2 What Are the Benefits and Pitfalls of Layered Systems? 46

3.3.3 How Many Models? 47

3.3.4 Where Do We Stop? 48

3.4 Exploiting the What/How Classification 49

3.4.1 Separation of What and How 50

3.4.2 The Architecture Template 51

3.4.3 Using the Architecture Template 53

3.5 Exploiting the Information/Material/Energy Classification 55

3.5.1 A Generic Subsystem Structure 55

3.5.2 Categories of a Deliverable System 57

3.5.3 Categories of a People System 60

3.6 Layered Models: The Truth at Last! 60

3.6.1 Aggregation/Decomposition Relationship in Models 64

3.6.2 Abstraction/Detailing Relationship in Models 65

3.6.3 Supertype/Subtype Relationship in Models 66

3.6.4 Controlling/Controlled Relationship in Models 67

3.6.5 Layered Models Summary 68

3.7 Model Framework Summary 70

Chapter 4 System Development Models 72

4.1 Overview 72

4.2 Architecture Model 74

4.2.1 Introduction 74

4.2.2 Basic Modeling Elements 76

4.2.2.1 Architecture Module 77

4.2.2.2 Terminator 78

4.2.2.3 Architecture Flow 79

4.2.2.4 Message 81

4.2.2.5 Flows and Messages 83

4.2.2.6 Inheritance Relationship 85

4.2.2.7 Architecture Interconnect 86

4.2.3 Context Diagram 87

4.2.4 Networks and Hierarchies 90

4.2.5 Architecture Communication Model 92

4.2.5.1 Architecture Flow Diagram 94

4.2.5.2 Architecture Message Diagram-Network Style 97

4.2.5.3 Architecture Message Diagram-Hierarchy Style 99

4.2.5.4 Architecture Module Specification 101

4.2.5.5 Message Specification 102

4.2.6 Architecture Interconnect Model 103

4.2.6.1 Architecture Interconnect Diagram 104

4.2.6.2 Architecture Interconnect Specification 106

4.2.7 Architecture Inheritance Model 106

4.2.7.1 Module Inheritance Diagram 107

4.2.8 Architecture Dictionary 108

4.2.9 Architecture Model Balancing 110

4.2.9.1 Architecture Message Diagram Balancing 111

4.3 Requirements Model 112

4.3.1 Introduction 112

4.3.2 Entity Model 115

4.3.2.1 Basic Modeling Elements 116

4.3.2.2 Attribute 116

4.3.2.3 Entity Class 116

4.3.2.4 Relationship 118

4.3.2.5 Special Relationships 121

4.3.2.6 Class Diagram 125

4.3.2.7 Entity Class Specification 126

4.3.2.8 Relationship Specification 127

4.3.2.9 Attribute Specification 129

4.3.3 Process Model 130

4.3.3.1 Basic Modeling Elements 131

4.3.3.2 Data Flow 131

4.3.3.3 Process 133

4.3.3.4 Store 134

4.3.3.5 Terminator 135

4.3.3.6 Data Context Diagram 135

4.3.3.7 Data Flow Diagram 137

4.3.3.8 Detailing Diagrams 139

4.3.3.9 Process Specification 141

4.3.4 Control Model 143

4.3.4.1 Control Flow 144

4.3.4.2 Control Specification 146

4.3.4.3 Sequential Machines-State Transition Diagrams and

State Charts 147

4.3.4.4 Other Representations of Sequential Machines 151

4.3.4.5 Combinational Machines-Decision Tables and

Process Activation Tables 153

4.3.5 The Control Flow Model: Basic Elements 155

4.3.5.1 Control Flow 155

4.3.5.2 cspec Bar 156

4.3.6 Control Context Diagram 156

4.3.7 Control Flow Diagram 157

4.3.7.1 Rules and Guidelines for cfds and cspecs 159

4.3.8 Separation of Data and Control 160

4.4 Requirements Dictionary 162

4.4.1 Timing Requirements 164

4.4.2 Requirements Model Balancing 166

4.4.3 Architecture Template and Enhanced Requirements Model 166

4.4.4 Requirements Model Summary 169

4.5 Requirements/Architecture Relationships 170

4.5.1 Scope Differences 171

4.5.2 Superbubbles 172

4.5.3 Traceability 176

4.5.4 Architecture Model/Requirements Model Balancing 177

4.6 A Note on Object Orientation 178

4.7 System Models Summary and Further Reading 180

Chapter 5 The System Development Process 181

5.1 Process, Methods, and Tools 181

5.2 The Nature of the Development Process 183

5.2.1 The Evolution of the Development Process 183

5.2.2 The Concurrent Development Process 184

5.2.3 The Meaning of Concurrent Development 187

5.3 The Process and the Methods 190

5.3.1 System Specification Models 191

5.3.2 Requirement Enhancement and Allocation 194

5.3.3 Requirement Deriving and Detailing 194

5.3.4 Traceability 197

5.4 Roles of the System Architect and System Engineer 200

5.4.1 Requirement Management 202

5.4.2 Feasibility Analyses, Trade-Off Studies, and Prototypes 202

5.4.3 Project Coordination 203

5.4.4 Manual Procedures and Other Operator Functions 203

5.4.5 Companion ir&d Projects 204

5.5 System Development Process Summary 204

Chapter 6 Applying the Models to Development 205

6.1 Overview 205

6.2 Understanding the Generic Development Structure 206

6.3 Example: A Patient-Monitoring System 209

6.3.1 Problem Statement: Nurses' Tasks 210

6.3.2 Modeling the Environment 210

6.3.3 Building the Context-Level Model 213

6.3.4 Technology Constraints for the Patient-Monitoring System 219

6.3.5 Creating the Enhanced Requirements Model 220

6.3.6 Building the Architecture Level 1 Model 224

6.3.6.1 Architecture Model Allocation 224

6.3.7 Interconnects and Further Enhancements 228

6.3.8 Completing the Architecture 229

6.3.9 Developing the Lower-Level Models 233

6.4 Configuring Software and Computer Hardware 236

6.4.1 Single-Hardware/Multiple-Software Configuration 239

6.4.2 Multiple-Hardware/Single-Software Configuration 241

6.5 Modeling the Numerous Hardware Technologies 244

6.5.1 Electrical 245

6.5.2 Electronic 247

6.5.3 Electromechanical 247

6.5.4 Mechanical 248

6.5.5 Hydraulic and Pneumatic 248

6.5.6 Optical 249

6.5.7 Chemical 249

6.5.8 Manufacturing 250

6.5.9 Detailed Hardware Design 250

6.5.10 Mixed Technologies 250

6.6 Computer Hardware Layers 251

6.7 Software Layers 253

6.7.1 Structured Design 254

6.7.2 codarts 255

6.7.3 Object Orientation 256

6.7.4 Lessons from the History of Software 258

6.7.5 Software Categories 259

6.7.6 Software Architectures 268

6.8 Summaries 273

6.8.1 System Summary 273

6.8.2 Software Summary 274

Chapter 7 System Development Overview Using a Meta-Model 275

7.1 Introduction 275

7.2 A Meta-Model for Development Projects 276

7.3 An Essential Model of the Development Process 277

7.4 The Enhanced Development Model 281

7.5 The Development Architecture Context 284

7.6 Development Process Architecture 288

7.7 Development Process Task Allocation 291

7.8 Variations on the Architecture Template 291

Part II Case Study: Groundwater Analysis System 297

Chapter 8 Initial Problem Statement 299

8.1 Overview 299

8.2 Required Capabilities 300

8.3 Required Performance 301

8.4 Required Constraints 301

8.4.1 Input/Output Constraints 301

8.4.2 Design Constraints 301

8.4.2.1 Other Design Constraints 303

Chapter 9 Modeling the Known Pieces 304

9.1 Overview 304

9.2 The Requirements Context 304

9.3 The System Timing Specification 305

9.4 The Entity Model 307

9.5 The Existing Sampling Module 311

Chapter 10 Building Upon the Known Pieces 316

10.1 Top-Level Essential Model 316

10.2 Enhancing the Essential Model 331

10.2.1 User-Interface Processing 331

10.2.2 Input and Output Processing 331

10.2.3 Maintenance and Support Functions 334

10.2.4 The Enhanced Requirements Models 334

10.3 Architecture Context 341

10.4 Building Up from the Existing Sampling Module 343

10.4.1 An Intermediate Module 344

10.4.2 Central versus Distributed Processing 344

10.4.3 Sample Analyzer Requirements 345

10.5 What Do We Have, and What Is Missing? 346

Chapter 11 Filling In the Blanks 348

11.1 Introduction 348

11.2 Architecture Modules 348

11.3 Allocating the Enhanced Requirements Model 349

11.4 Enhancing the Allocated Models 357

11.5 Adding the Architecture Flows and Interconnects 362

11.6 Flow-to-Interconnect Allocations 362

11.7 Merging the Top-Down and Bottom-Up Pieces 364

Chapter 12 Completing the Models 375

12.1 Introduction 375

12.2 Accuracy Allocation 375

12.3 Timing Allocation-Concurrent Architecture Modules 376

12.4 Architecture Module Specifications 378

12.4.1 Architecture Module Specification: Groundwater Analysis System 378

12.4.2 Architecture Module Specification: Sample Analyzer 380

12.5 Architecture Interconnect Specifications 382

12.5.1 Architecture Interconnect Specification: Local Bus 382

12.6 Requirements and Architecture Dictionaries 383

Chapter 13 Groundwater Analysis System Summary 387

13.1 Overview 387

Appendix Changes, Improvements, and Misconceptions Since the Methods' Introduction 389

A.1 A Learning Experience 389

A.2 Changes and Improvements 390

A.2.1 Superbubbles 390

A.2.2 Addition of Object-Oriented Constructs 391

A.2.3 The Total, Multileveled Methods Structure 391

A.2.4 Architecture Interconnect Context Diagram 391

A.2.5 Entity Model 392

A.2.6 Hardware/Software Interface 392

A.2.7 Functions of Time in Data and Control Processes 392

A.2.8 Extended Traceability 393

A.2.9 Derived Requirements 393

A.2.10 Special Cases of Architecture Flows and Interconnects 393

A.2.11 The Architecture Template as a Meta-Model 394

A.2.12 pspec Guidelines 394

A.2.13 Extended Guidelines on Separation of Data and Control 394

A.2.14 Extended Guidelines for Architecture Module and Interconnect Specifications 395

A.2.15 Data Flows from cspecs 395

A.2.16 Use of State Charts in cspecs 396

A.2.17 Elimination of Sequential and One-Shot Decision Tables and Process Activation Tables 396

A.2.18 Manual (Human) Subsystems 396

A.2.19 Primitive Process Notation 396

A.2.20 Stores Shown on Multiple Levels 397

A.2.21 Descriptions of Data Flow Diagrams 397

A.3 Misconceptions About the Methods 397

A.3.1 The Methods Are Mostly for Real-Time and

Embedded Applications 397

A.3.2 The Requirements Method Is More Important

Than the Architecture Method 398

A.3.3 The Most Significant Feature of the Requirements Model Is the Control Model 398

A.3.4 Everything Involving Control Must Use the Control Model 398

A.3.5 Everything Involved in Control Must Involve Control Flows 399

A.3.6 All Discrete-Valued Flows Must Be Control Flows 399

A.3.7 The Methods Employ a Strictly Top-Down Decomposition Approach 399

A.3.8 The Methods Are Little Different from Basic Structured Analysis 399

A.3.9 The Methods Mostly Apply to Software 399

A.3.10 The Methods Are Incompatible with Object-Orientation 400

A.3.11 pspecs Must Contain Sufficient Detail for Detailed Design 400

A.3.12 The Models Should Be Executable 400

Glossary 401

Bibliography 419

Index 425


Return to Book Page


Features
Reviews
Table of Contents

Excerpt: "Purpose and Scope"

Index

Author Interview

Click here to download a 96K PDF file with corrected Figures 3.15 and 3.16, pages 59 and 61.

Downloads
Dorset House Catalog
This Book's Flyer

By this Author
Strategies for Real-Time System Specification

Also Recommended

Exploring Requirements: Quality Before Design, by Donald C. Gause and Gerald M. Weinberg

General Principles of Systems Design, by Gerald M. Weinberg and Daniela Weinberg

How to Plan, Develop & Use Information Systems, by Hein van Steenis

Rethinking Systems Analysis & Design, by Gerald M. Weinberg

Systems Modeling and Requirements Engineering: The ECSAM Method for Computer-Based Systems Analysis and Modeling, by Jonah Z. Lavi and Joseph Kudish

How to Order

To order this book by credit card directly from Dorset House in New York, please call (800) 342-6657 or (212) 620-4053, weekdays, 9am to 6pm. Alternatively, print out our Faxable Order Form and fax to (212) 727-1044.

To order this book from an online bookstore, please see above.

To purchase at a bookstore, contact our Recommended Booksellers to verify availability. Any store can order from Dorset House using the book's title and ISBN number. Also, bookstores can order our books through Baker & Taylor.

We'd like to make it easy for you to order, so please contact us at any time for help!

  DORSET HOUSE PUBLISHING CO., INC.
New: 3143 Broadway, Suite 2B    New York, New York 10027    USA
1-800-DH-BOOKS or 212-620-4053, fax 212-727-1044
Copyright © 1996-2008 by Dorset House Publishing Co., Inc. All rights reserved.
Home | Blog | Savings | Stores | Features | Titles | Authors | Subjects | Orders | About | Contact | Legal