Object-oriented system development

1. Overview. Scope. Objects. Development Paradigms. Development Phases. Summary. Further Reading. Exercises. I. ANALYSIS. 2. Introduction to Analysis. Purpose. Models. Process. Summary. Further Reading. Exercises. 3. Object Statics. Instances. Classes. Attributes. Attribute Features. Constraints. Identifying Objects and Classes. Summary. Further Reading. Exercises. 4. Object Relationships. Relationships. Collections. Identifying Relationships Summary. Further Reading. Exercises. 5. Object Dynamics Describing Behavior. Transition Networks. Examples. Reducing Complexity. Summary. Further Reading. Exercises. 6. Object Interaction Transitions. Sending and Receiving Events. Interaction Notations. Examples. Summary. Further Reading. Exercises. 7. Class Relationships Property Inheritance. Subclasses. Multiple Inheritance. Sibling Relationships. Set Operations. Inheritance of Relations. Summary. Further Reading. Exercises. 8. Instances Subclasses and Instances. Metaclasses. Parametric Instances. Summary. Further Reading. Exercises. 9. Ensembles. Ensembles. Exposing Constituents. Other Decomposition Constructs. Ensembles as Systems. Summary. Further Reading. Exercises. 10. Constructing a System Model. Requirements Fragment. Use Cases. Subsystems. Vocabulary. Classes. Ensembles. Model. Summary. Exercises. 11. Other Requirements. Resources. Timing. Other Constraints. Summary. Further Reading. Exercises. 12. The Analysis Process. Software Development Process. Default Sequence of Steps. OO Analysis of the OO Analysis Process. Alternative Processes. Tools. Summary. Exercises. 13. Domain Analysis. Models. Reuse. Summary. Further Reading. Exercises. 14. The Grady Experience. II. DESIGN. 15. From Analysis to Design. Continuity. Transformation. Design Phases. Design Criteria. Managing Design. Summary. Further Reading. Exercises. 16. Description and Computation. Translating Analysis Models. From Abstract to Concrete Concrete. Composing Classes. Controlling Transitions. Generic Classes. Generating Instances. Design for Testability. Transformation and Composition. Summary. Further Reading. Exercises. 17. Attributes in Design. Defining Attributes. Concrete Attributes. Views. Exports. Composition and Inheritance. Summary. Further Reading. Exercises. 18. Relationships in Design. Relationships. Collections. Coordinators. Relations versus Composites. Summary. Further Reading. Exercises. 19. Designing Transitions. States and Guards. Atomicity. Timing Constraints. Concrete Transitions. Summary. Further Reading. Exercises. 20. Interaction Designs. Callbacks. Replies. Invocations. Control Flow. Summary. Further Reading. Exercises. 21. Dispatching. Selection. Resolution. Routing. Summary. Further Reading. Exercises. 22. Coordination. Joint Actions. Controlling Groups. Open Systems. Summary. Further Reading. Exercises. 23. Clustering Objects. Clustering. Cluster Objects. System Tools and Services. Persistence. Summary. Further Reading. Exercises. 24. Designing Passive Objects. Transformations. Storage Management. Passive Objects in C++. Summary. Further Reading. Exercises. 25. Performance Optimization. Optimization and Evolution. Algorithmic Optimization. Performance Transformations. Optimization in C++. Summary. Further Reading. Exercises. 26. From Design to Implementation. Testing. Performance Assessment. Summary. Further Reading. Exercises. Appendix. Notation. OAN. ODL. Bibliography. Index. 020156355XT04062001