| |
| |
| |
The Information Management Dilemma | |
| |
| |
The Problem | |
| |
| |
Modern Corporations Are Headed Toward Disaster | |
| |
| |
What Does the Customer Want? Why Object-Oriented Is Important to Developers | |
| |
| |
Summary | |
| |
| |
| |
Managing Complexity: Analysis and Design | |
| |
| |
Abstraction Mechanism | |
| |
| |
Function | |
| |
| |
Modules | |
| |
| |
Abstract Data Types | |
| |
| |
Classes/Objects | |
| |
| |
Message Passing | |
| |
| |
Generalization/Specialization and Polymorphism | |
| |
| |
Additional Relationship | |
| |
| |
Associations | |
| |
| |
Aggregation | |
| |
| |
Behavior | |
| |
| |
Static Behavior | |
| |
| |
Dynamic Behavior | |
| |
| |
Rules | |
| |
| |
Complex Systems | |
| |
| |
Summary | |
| |
| |
| |
Object-Oriented Programming | |
| |
| |
What Is Object-Oriented Programming? | |
| |
| |
Not a Silver Bullet | |
| |
| |
An Advanced Paradigm | |
| |
| |
Basic Object-Oriented Programming Concepts | |
| |
| |
Object-Oriented Programming Languages | |
| |
| |
Object-Based Programming | |
| |
| |
Class-Based Programming | |
| |
| |
Object-Oriented Programming | |
| |
| |
Advanced OO Programming | |
| |
| |
Leading-Edge Object-Oriented Programming | |
| |
| |
Why C++. Ways of Organizing Reality | |
| |
| |
Simulation Model of Computation | |
| |
| |
Object-Oriented Way of Organizing Reality | |
| |
| |
Summary | |
| |
| |
| |
Bounding the Domain | |
| |
| |
Introduction to Use Cases | |
| |
| |
System | |
| |
| |
Actors | |
| |
| |
Use Cases | |
| |
| |
Use Case Bundles | |
| |
| |
Documenting Use Cases | |
| |
| |
Use Case Diagram | |
| |
| |
Sequence Diagram: Documenting the Details | |
| |
| |
Textual Description | |
| |
| |
Guidelines for Developing Use Cases | |
| |
| |
Avoiding Analysis Paralysis | |
| |
| |
Identifying Actors | |
| |
| |
Identifying High-Level and Essential Use Cases | |
| |
| |
Establishing Use Case Bundles | |
| |
| |
Developing Use Case Details | |
| |
| |
Identifying Supporting Use Cases | |
| |
| |
Developing Boundary Use Cases | |
| |
| |
Contracts | |
| |
| |
Recommended Approach | |
| |
| |
Example | |
| |
| |
Summary | |
| |
| |
| |
Finding the Objects | |
| |
| |
Object-Oriented Analysis: Model of an Application Domain | |
| |
| |
Building the OO Model | |
| |
| |
Identification of Objects | |
| |
| |
Current Techniques | |
| |
| |
Using the Things to Be Modeled | |
| |
| |
Using the Definitions of Objects and Classes | |
| |
| |
Using Object Decomposition | |
| |
| |
Using Generalization | |
| |
| |
Using Subclasses | |
| |
| |
Using Object-Oriented Domain Analysis | |
| |
| |
Reusing an Application Framework | |
| |
| |
Reusing Class Hierarchies | |
| |
| |
Reusing Individual Objects and Classes | |
| |
| |
Using Subassemblies | |
| |
| |
Using Personal Experience | |
| |
| |
Traditional Techniques | |
| |
| |
Using Nouns | |
| |
| |
Using Traditional Data Flow Diagrams | |
| |
| |
Using Class-Responsibility-Collaboration (CRC) Cards | |
| |
| |
Recommended Approaches | |
| |
| |
Example | |
| |
| |
Summary | |
| |
| |
| |
Identifying Responsibilities | |
| |
| |
What Is an Object? What Is an Attribute? | |
| |
| |
Descriptive Attributes | |
| |
| |
Naming Attributes | |
| |
| |
What Is a Service? What Is a Method? Identifying Attributes | |
| |
| |
Specifying Attributes | |
| |
| |
Identifying Services | |
| |
| |
Specifying Services | |
| |
| |
Recommended Approach | |
| |
| |
Example | |
| |
| |
Summary | |
| |
| |
| |
Specifying Static Behavior | |
| |
| |
What Is Behavior? Techniques for Specifying Static Behavior | |
| |
| |
Techniques for Specifying Control | |
| |
| |
Techniques for Documenting Control | |
| |
| |
Activity Diagrams | |
| |
| |
Collaboration Diagram | |
| |
| |
Sequence Diagram | |
| |
| |
Techniques for Documenting Static Behavior | |
| |
| |
Preconditions and Postconditions | |
| |
| |
Flowcharting | |
| |
| |
Data Flow Diagrams | |
| |
| |
Structured English | |
| |
| |
Recommended Approach | |
| |
| |
Example | |
| |
| |
Summary | |
| |
| |
| |
Dynamic Behavior | |
| |
| |
Introduction | |
| |
| |
Techniques for Identifying Dynamic Behavior | |
| |
| |
Common Lifecycle Forms | |
| |
| |
Models for Capturing Lifecycle | |
| |
| |
Identifying and Specifying Events | |
| |
| |
Use Case and Scenario | |
| |
| |
Sequence Diagram | |
| |
| |
Example | |
| |
| |
Specifying Dynamic Behavior | |
| |
| |
Event List | |
| |
| |
State Transition Table | |
| |
| |
Documenting Dynamic Behavior | |
| |
| |
State Diagrams | |
| |
| |
Rec | |