Morgan Kaufmann - Design Methods for Reactive Systems - Yourdon, Statemate, and the UML
Table of Contents
BackCover
Design Methods for Reactive Systems-Yourdon, Statemate, and the UML
Foreword
Preface
Specification or Design?
Methods and Techniques
Structured and Object-Oriented Methods
The System Engineering Argument
Formality and Precision
Structure of the Book
Audience
How to Read the Book
Acknowledgements
Part I: Reactive System Design
Chapter 1: Reactive Systems
1.2 Reactive versus Transformational Systems
1.3 Four Case Studies and Three Examples
1.4 Summary
1.5 Questions and Exercises
Chapter 2: The Environment
2.2 Domains
2.3 The Subject Domain
2.4 The Functions of Reactive Systems
2.5 The Connection Domain
2.6 Summary
2.7 Questions and Exercises
Chapter 3: Stimulus-Response Behavior
3.2 Events, Conditions, and Actions
3.3 Events and Stimuli
3.4 Responses and Actions
3.5 Summary
3.6 Questions and Exercises
Chapter 4: Software Specifications
4.2 Specifications
4.3 The Role of Assumptions
4.4 Operational Property Specifications
4.5 Summary
4.6 Questions and Exercises
Part II: Function Notations
Chapter 5: Mission Statement
5.2 Relating System Purpose to Environment Purpose
5.3 Guidelines for Finding a Mission Statement
5.4 Summary
5.5 Questions and Exercises
Chapter 6: Function Refinement Tree
6.2 Design Guidelines
6.3 Summary
6.4 Questions and Exercises
Chapter 7: Service Description
7.2 Guidelines
7.3 Summary
7.4 Questions and Exercises
Part III: Entity Notations
Chapter 8: Entity-Relationship Diagrams
8.1 Entities and Attributes
8.2 Relationships
8.3 Generalization
8.4 Summary
8.5 Questions and Exercises
Chapter 9: ERD Modeling Guidelines
9.2 Entities versus Attributes
9.3 Entity versus Relationships
9.4 Taxonomic Structures
9.5 Validation
9.6 Summary
9.7 Questions and Exercises
Chapter 10: The Dictionary
10.2 Syntactic Categories
10.3 Path Expressions
10.4 Extensional and Intensional Definition
10.5 Guidelines
10.6 Summary
10.7 Questions and Exercises
Part IV: Behavior Notations
Chapter 11: State Transition Lists and Tables
11.1 Event Lists
11.2 State Transition Tables
11.3 Decision Tables
11.4 Summary
11.5 Questions and Exercises
Chapter 12: State Transition Diagrams
12.1 Mealy Diagrams
12.2 Variables
12.3 Statecharts
12.4 Summary
12.5 Questions and Exercises
Chapter 13: Behavioral Semantics
13.1 Discretization
13.2 Wait States and Activity States
13.3 Pre- and Postconditions
13.4 Triggering
13.5 Step Semantics versus Single-Transition Semantics
13.6 Multistep Semantics
13.7 Action Semantics
13.8 Time
13.9 Summary
13.10 Questions and Exercises
Chapter 14: Behavior Modeling and Design Guidelines
14.1 Two Examples
14.2 Guidelines
14.3 Summary
14.4 Questions and Exercises
Part V: Communication Notations
Chapter 15: Data Flow Diagrams
15.1 External Entities
15.2 Flows
15.3 Stores
15.4 Processes
15.5 Parameterized DFDs
15.6 Summary
15.7 Questions and Exercises
Chapter 16: Communication Diagrams
16.1 Requirement-Level Components
16.2 Communication Channels
16.3 Decomposition
16.4 Allocation and Flowdown
16.5 Summary
16.6 Questions and Exercises
Chapter 17: Communication Semantics
17.1 Component Behavioral Semantics
17.2 Communication Channels
17.3 The Network
17.4 The Environment
17.5 Summary
17.6 Questions and Exercises
Chapter 18: Context Modeling Guidelines
18.2 Context Diagrams
18.3 The Context Boundary
18.4 Structuring the Context
18.5 Summary
18.6 Questions and Exercises
Chapter 19: Requirements-Level Decomposition Guidelines
19.2 Encapsulation versus Layering
19.3 Architectural Styles
19.4 Requirements-Level Architecture Guidelines
19.5 Evaluation
19.6 Summary
19.7 Questions and Exercises
Part VI: Software Specification Methods
Chapter 20: Postmodern Structured Analysis (PSA)
20.1 Notations
20.2 Coherence Rules
20.3 Choosing Notations
20.4 Summary
20.5 Questions and Exercises
Chapter 21: Statemate
21.1 Notations
21.2 Choosing Notations
21.3 Execution Semantics
21.4 Summary
21.5 Questions and Exercises
Chapter 22: The Unified Modeling Language (UML)
22.2 Activity Diagrams
22.3 Static Structure Diagrams
22.4 Behavior Specification
22.5 Communication and Coherence
22.6 Static Structure Design Guidelines
22.7 Execution Algorithm
22.8 Collaboration and Sequence Diagrams
22.9 Summary
22.10 Questions and Exercises
Chapter 23: Not Yet Another Method (NYAM)
23.2 From Flyweight to Heavyweight Use of Notations
23.3 Design Approach
23.4 Engineering Arguments
23.5 Formality and Precision
23.6 Summary
Appendix A: A Training Information System
A.2 Business Context
A.3 High-Level System Functionality-Mission and Context
A.4 Subject Domain
A.5 System Functions
A.6 Requirements-Level Architecture
Appendix B: An Electronic Ticket System
B.2 Activities to Be Supported
B.3 Desired Functionality
B.4 Subject Domain
B.5 Desired ETS Behavior
B.6 Architectures
Appendix C: A Heating Control System
C.2 Business Context
C.3 Mission and Context
C.4 Desired Functionality
C.5 Subject Domain
C.6 Desired Emergent Behavior of Composite System
C.7 Desired System Behavior
C.8 Alternative Requirements-Level Architectures
Appendix D: An Elevator Control System
D.2 Desired Functionality
D.3 Subject Domain
D.4 Alternative Requirements-Level Architectures
Glossary
B
C
D
E
F
G-H
I-K
L
M
N
O
P
Q
R
S
T
U
V
W
Bibliographic Remarks
Part II: Function Notations
Part III: Entity Notations
Part IV: Behavior Notations
Part V: Communication Notations
Part VI : Software Specification Methods
Bibliography
Index
Index_B
Index_C
Index_D
Index_E
Index_F
Index_G
Index_H
Index_I
Index_J-K
Index_L
Index_M
Index_N
Index_O
Index_P
Index_Q
Index_R
Index_S
Index_T
Index_U
Index_V
Index_W-X
Index_Y
Index_Z
List of Figures