Overview / 1: |
Scope |
Objects |
Development Paradigms |
Development Phases |
Summary |
Further Reading |
Exercises |
Analysis / I: |
Introduction to Analysis / 2: |
Purpose |
Models |
Process |
Object Statics / 3: |
Instances |
Classes |
Attributes |
Attribute Features |
Constraints |
Identifying Objects and Classes |
Object Relationships / 4: |
Relationships |
Collections |
Identifying Relationships Summary |
Object Dynamics / 5: |
Describing Behavior |
Transition Networks |
Examples |
Reducing Complexity |
Object Interaction / 6: |
Transitions |
Sending and Receiving Events |
Interaction Notations |
Class Relationships / 7: |
Property Inheritance |
Subclasses |
Multiple Inheritance |
Sibling Relationships |
Set Operations |
Inheritance of Relations |
Subclasses and Instances / 8: |
Metaclasses |
Parametric Instances |
Ensembles / 9: |
Exposing Constituents |
Other Decomposition Constructs |
Ensembles as Systems |
Constructing a System Model / 10: |
Requirements Fragment |
Use Cases |
Subsystems |
Vocabulary |
Model |
Other Requirements / 11: |
Resources |
Timing |
Other Constraints |
The Analysis Process / 12: |
Software Development Process |
Default Sequence of Steps |
OO Analysis of the OO Analysis Process |
Alternative Processes |
Tools |
Domain Analysis / 13: |
Reuse |
The Grady Experience / 14: |
Design / II: |
From Analysis to Design / 15: |
Continuity |
Transformation |
Design Phases |
Design Criteria |
Managing Design |
Description and Computation / 16: |
Translating Analysis Models |
From Abstract to Concrete Concrete |
Composing Classes |
Controlling Transitions |
Generic Classes |
Generating Instances |
Design for Testability |
Transformation and Composition |
Attributes in Design / 17: |
Defining Attributes |
Concrete Attributes |
Views |
Exports |
Composition and Inheritance |
Relationships in Design / 18: |
Coordinators |
Relations versus Composites |
Designing Transitions / 19: |
States and Guards |
Atomicity |
Timing Constraints |
Concrete Transitions |