| |
| |
Introduction | |
| |
| |
| |
Getting Started | |
| |
| |
| |
Introducing the UML | |
| |
| |
Adding a Method to the Madness | |
| |
| |
How the UML Came to Be | |
| |
| |
The Components of the UML | |
| |
| |
Some Other Features | |
| |
| |
Why So Many Diagrams? | |
| |
| |
Summary | |
| |
| |
QandA | |
| |
| |
Workshop | |
| |
| |
| |
Understanding Object-Orientation | |
| |
| |
Objects, Objects Everywhere | |
| |
| |
Some Concepts | |
| |
| |
The Payoff | |
| |
| |
Summary | |
| |
| |
QandA | |
| |
| |
Workshop | |
| |
| |
| |
Working with Object-Orientation | |
| |
| |
Visualizing a Class | |
| |
| |
Attributes | |
| |
| |
Operations | |
| |
| |
Attributes, Operations, and Visualization | |
| |
| |
Responsibilities and Constraints | |
| |
| |
Attached Notes | |
| |
| |
Classes--What They Do and How to Find Them | |
| |
| |
Summary | |
| |
| |
QandA | |
| |
| |
Workshop | |
| |
| |
| |
Working with Relationships | |
| |
| |
Associations | |
| |
| |
Multiplicity | |
| |
| |
Qualified Associations | |
| |
| |
Reflexive Associations | |
| |
| |
Inheritance and Generalization | |
| |
| |
Dependencies | |
| |
| |
Summary | |
| |
| |
QandA | |
| |
| |
Workshop | |
| |
| |
| |
Understanding Aggregations, Composites, Interfaces, and Realizations | |
| |
| |
Aggregations | |
| |
| |
Composites | |
| |
| |
Contexts | |
| |
| |
Interfaces and Realizations | |
| |
| |
Summary | |
| |
| |
QandA | |
| |
| |
Workshop | |
| |
| |
| |
Introducing Use Cases | |
| |
| |
Use Cases: What They Are | |
| |
| |
Use Cases: Why They're Important | |
| |
| |
An Example: The Soda Machine | |
| |
| |
Including a Use Case | |
| |
| |
Extending a Use Case | |
| |
| |
Starting a Use Case Analysis | |
| |
| |
Summary | |
| |
| |
QandA | |
| |
| |
Workshop | |
| |
| |
| |
Working with Use Case Diagrams | |
| |
| |
Representing a Use Case Model | |
| |
| |
Visualizing Relationships Among Use Cases | |
| |
| |
Use Case Diagrams in the Analysis Process | |
| |
| |
Applying Use Case Models: An Example | |
| |
| |
Taking Stock of Where We Are | |
| |
| |
The Big Picture | |
| |
| |
Summary | |
| |
| |
QandA | |
| |
| |
Workshop | |
| |
| |
| |
Working with State Diagrams | |
| |
| |
What Is a State Diagram? | |
| |
| |
Substates | |
| |
| |
History States | |
| |
| |
Messages and Signals | |
| |
| |
Why Are State Diagrams Important? | |
| |
| |
Building the Big Picture | |
| |
| |
Summary | |
| |
| |
QandA | |
| |
| |
Workshop | |
| |
| |
| |
Working with Sequence Diagrams | |
| |
| |
What Is a Sequence Diagram? | |
| |
| |
The GUI | |
| |
| |
The Soda Machine: Instance and Generic | |
| |
| |
Creating an Object in the Sequence | |
| |
| |
Representing Recursion | |
| |
| |
Building the Big Picture | |
| |
| |
Summary | |
| |
| |
QandA | |
| |
| |
Workshop | |
| |
| |
| |
Working with Collaboration Diagrams | |
| |
| |
What Is a Collaboration Diagram? | |
| |
| |
The GUI | |
| |
| |
The Soda Machine | |
| |
| |
Creating an Object | |
| |
| |
A Few More Concepts | |
| |
| |
Building the Big Picture | |
| |
| |
Summary | |
| |
| |
QandA | |
| |
| |
Workshop | |
| |
| |
| |
Working with Activity Diagrams | |
| |
| |
Objectives | |
| |
| |
What Is an Activity Diagram? | |
| |
| |
Applying Activity Diagrams | |
| |
| |
Swimlanes | |
| |
| |
Hybrid Diagrams | |
| |
| |
Building the Big Picture | |
| |
| |
Summary | |
| |
| |
QandA | |
| |
| |
Workshop | |
| |
| |
| |
Working with Component Diagrams | |
| |
| |
What Is a Component? | |
| |
| |
Components and Interfaces | |
| |
| |
Types of Components | |
| |
| |
What Is a Component Diagram? | |
| |
| |
Applying Component Diagrams | |
| |
| |
Component Diagrams in the Big Picture | |
| |
| |
Summary | |
| |
| |
QandA | |
| |
| |
Workshop | |
| |
| |
| |
Working with Deployment Diagrams | |
| |
| |
What Is a Deployment Diagram? | |
| |
| |
Applying Deployment Diagrams | |
| |
| |
Deployment Diagrams in the Big Picture | |
| |
| |
Summary | |
| |
| |
QandA | |
| |
| |
Workshop | |
| |
| |
| |
Extending Understanding the Foundations of the UML | |
| |
| |
The Structure of the UML | |
| |
| |
The Metamodel Layer: Up Close and Personal | |
| |
| |
Extending the UML | |
| |
| |
Stereotypes | |
| |
| |
Constraints | |
| |
| |
Tagged Values | |
| |
| |
Summary | |
| |
| |
QandA | |
| |
| |
Workshop | |
| |
| |
| |
Fitting the UML into a Development Process | |
| |
| |
Methodologies: Old and New | |
| |
| |
What a Development Process Must Do | |
| |
| |
GRAPPLE | |
| |
| |
The GRAPPLE Wrap Up | |
| |
| |
Summary | |
| |
| |
QandA | |
| |
| |
Workshop | |
| |
| |
| |
A Case Study | |
| |
| |
| |
Introducing the Case Study | |
| |
| |
GRAPPLEing with the Problem | |
| |
| |
Discovering Business Processes | |
| |
| |
Lessons Learned | |
| |
| |
Summary | |
| |
| |
QandA | |
| |
| |
Workshop | |
| |
| |
| |
Performing a Domain Analysis | |
| |
| |
Analyzing the Business Process Interview | |
| |
| |
Developing the Initial Class Diagram | |
| |
| |
Grouping the Classes | |
| |
| |
Forming Associations | |
| |
| |
Forming Aggregates and Composites | |
| |
| |
Filling Out the Classes | |
| |
| |
General Issues About Models | |
| |
| |
Lessons Learned | |
| |
| |
Summary | |
| |
| |
QandA | |
| |
| |
Workshop | |
| |
| |
| |
Gathering System Requirements | |
| |
| |
Developing the Vision | |
| |
| |
Setting Up for Requirements Gathering | |
| |
| |
The Requirements JAD Session | |
| |
| |
The Outcome | |
| |
| |
Now What? | |
| |
| |
Summary | |
| |
| |
QandA | |
| |
| |
Workshop | |
| |
| |
| |
Developing the Use Cases | |
| |
| |
The Care and Feeding of Use Cases | |
| |
| |
The Use Case Analysis | |
| |
| |
The Server Package | |
| |
| |
Components of the System | |
| |
| |
Summary | |
| |
| |
QandA | |
| |
| |
Workshop | |
| |
| |
| |
Getting into Interactions and State Changes | |
| |
| |
The Working Parts of the System | |
| |
| |
Interactions in the System | |
| |
| |
Implications | |
| |
| |
Summary | |
| |
| |
QandA | |
| |
| |
Workshop | |
| |
| |
| |
Designing Look, Feel, and Deployment | |
| |
| |
Some General Principles of GUI Design | |
| |
| |
The GUI JAD Session | |
| |
| |
From Use Cases to User Interfaces | |
| |
| |
UML Diagrams for GUI Design | |
| |
| |
Mapping Out System Deployment | |
| |
| |
Next Steps | |
| |
| |
Summary | |
| |
| |
QandA | |
| |
| |
Workshop | |
| |
| |
| |
Understanding Design Patterns | |
| |
| |
Parameterization | |
| |
| |
Design Patterns | |
| |
| |
Chain of Responsibility | |
| |
| |
Our Own Design Patterns | |
| |
| |
The Advantages of Design Patterns | |
| |
| |
Summary | |
| |
| |
QandA | |
| |
| |
Workshop | |
| |
| |
| |
Looking Ahead | |
| |
| |
| |
Modeling Embedded Systems | |
| |
| |
The Mother of Invention | |
| |
| |
Fleshing Out the GetAGrip | |
| |
| |
What Is an Embedded System? | |
| |
| |
Embedded Systems Concepts | |
| |
| |
Modeling the GetAGrip | |
| |
| |
Flexing Their Muscles | |
| |
| |
Summary | |
| |
| |
QandA | |
| |
| |
Workshop | |
| |
| |
| |
Shaping the Future of the UML | |
| |
| |
Extensions for Business | |
| |
| |
Lessons from the Business Extensions | |
| |
| |
Graphic User Interfaces | |
| |
| |
Expert Systems | |
| |
| |
That's All, Folks | |
| |
| |
Summary | |
| |
| |
QandA | |
| |
| |
Workshop | |
| |
| |
| |
Appendixes | |
| |
| |
| |
Quiz Answers | |
| |
| |
| |
Modeling Tools for the UML | |
| |
| |
Common Features | |
| |
| |
Rational Rose | |
| |
| |
SELECT Enterprise | |
| |
| |
Visual UML | |
| |
| |
The Ideal Modeling Tool | |
| |
| |
| |
A Summary in Pictures | |
| |
| |
Activity Diagram | |
| |
| |
Class Diagram | |
| |
| |
Collaboration Diagram | |
| |
| |
Component Diagram | |
| |
| |
Deployment Diagram | |
| |
| |
Sequence Diagram | |
| |
| |
State Diagram | |
| |
| |
Use Case Diagram | |
| |
| |
Index | |