OMG Press Books in Print |
About the OMG |
2003 OMG Press Advisory Board |
Preface for the Second Edition |
About the Authors |
Acknowledgments |
What Is UML? / Chapter 1: |
The Purpose of Modeling |
Software Development, Methods, and Models |
The Method Wars |
Acceptance of UML |
The Object Management Group |
Unified Modeling Language Elements |
Methods and Modeling Languages |
Object-Oriented Software Development |
Concepts of Object Orientation |
Business Engineering |
Disciplines of System Development |
Requirements |
Analysis |
Design |
Implementation |
Test |
Relevant Changes in UML 2 |
Summary |
An Overview of UML / Chapter 2: |
Views |
Use-Case View |
Logical View |
Implementation View |
Process View |
Deployment View |
Diagrams |
Use-Case Diagram |
Class Diagram |
Object Diagram |
State Machines |
Activity Diagram |
Interaction Diagrams |
Sequence Diagram |
Communication Diagram |
Interaction Overview Diagram |
Component Diagram |
Deployment Diagram |
Composite Structure Diagram |
Model Elements |
General Mechanisms |
Adornments |
Comments |
Specifications |
Extending UML |
Stereotypes |
Tagged Values |
Constraints |
Model Driven Architecture with UML |
Software Development Process and UML |
Tools |
Drawing Support |
Model Repository |
Navigation |
Multiuser Support |
Code Generation |
Reverse Engineering |
Integration |
Interchange of Models |
Tool Options |
Use-Case Modeling / Chapter 3: |
Basics of Use Cases |
System |
Actors |
Finding Actors |
Actors in UML |
Relationships between Actors |
Use Cases |
Finding Use Cases |
Use Cases in UML |
Relationships between Use Cases |
Generalization Relationship |
Extend Relationship |
Include Relationship |
Organizing Use Cases |
Describing Use Cases |
Assessing Use Cases |
Testing Use Cases |
Use Cases and Requirements Management |
Realizing Use Cases |
Classes, Objects, and Their Relationships / Chapter 4: |
Classes and Objects |
Finding Classes |
Name Compartment |
Attributes Compartment |
Java Implementation |
Operations Compartment |
Using Primitive Types |
Relationships |
Associations |
Normal Association |
Recursive Association |
Roles in an Association |
Qualified Association |
Xor Constraint |
Ordered Association |
Association Class |
Ternary Association |
Aggregation |
Aggregate |
Shared Aggregation |
Composition Aggregation |
Generalization |
Basic Generalization |
Advanced Generalization |
Generalization Set |
Powertype |
Dependencies and Abstractions |
Constraints, Expressions, and Derivations |
Interfaces and Ports |
Ports |
Packages |
Templates |
Dynamic Modeling / Chapter 5: |
States and Transitions |
Event-Signature |
Guard-Condition |
Action-Expression |
Send-Clause |
Events |
Sending Messages Between State Machines |
Substates |
Entry, Exit, and Terminate Indicators |
History Indicator |
Activity Diagrams |
Actions and Edges |
Activity Partitions |
Objects |
Signals |
Pins |
Business Modeling with Activity Diagrams |
Sequence Diagrams |
Generic and Instance Form |
Concurrent Objects |
Combined Fragments |
Interaction Occurrences |
Creating and Destroying Objects |
Recursion |
Interaction Overviews |
Communication Diagrams |
Message Labels |
Using Communication Diagrams |
Advanced Dynamic Modeling Illustrated by Real-Time Systems / Chapter 6: |
What Is a Real-Time System? |
Attributes of a Real-Time System |
Types of Real-Time Systems |
Concepts in UML for Real-Time Systems |
Active Classes and Active Objects |
Active Class Implementation |
Active Object Interactions |
Communication |
Events and Triggers |
Messages |
Synchronization and Concurrency |
Synchronization Issues |
Synchronization Mechanisms |
Fault Tolerance |
Implementation in Java |
UML Time Elements |
Real-Time Modeling in UML Diagrams |
The Token Flow Model in Activity Diagrams |
Chocolate Factory: Streaming Input and Output Example |
Processing Applications: Expansion Regions and Structured Activities |
Investment Simulation: Interruptible Regions and Storage |
House Alarm: Static Structure for Dynamic Messages |
Static Diagrams |
Detailed Activity Diagram Showing Message Handling |
Basic Sequence Diagram |
Advanced Sequence Diagrams with Combined Fragments |
Timing Diagrams |
Behavioral State Machines |
Handling Active Classes and Objects |
State Machine Regions and Concurrency |
Handling Triggers on Events in Composite States |
Transitions and Synchronization |
Complex State Machines and Run-to-Completion Semantics |
State Machine Redefinition and Reuse |
Protocol State Machines |
Advanced Modeling, Design, and Optimization |
Design Overview |
Modeling Processes and Threads with Objects |
Designing Active Classes |
Design and the Implementation Environment |
Approaches to Showing Behavioral Diagrams |
Performance Optimization |
Design Optimization |
Optimization and the Operating System |
Representing Architecture / Chapter 7: |
Logical Architecture |
Logical Architecture Structure |
Components |
Collaborations |
Composite Structure Diagrams |
Patterns in Architecture |
The Proxy Pattern |
Modeling Patterns in UML |
Showing Patterns in Diagrams |
Patterns and Use Cases |
Physical Architecture |
Hardware |
Software |
Nodes |
Communication Paths |
Deployed Artifacts |
Allocating Artifacts to Nodes |
Standard Extensions Overview / Chapter 8: |
Tagged Values and Properties |
Standard Tag Value Examples |
Tag Value from a Profile |
Defining Your Own Tagged Values |
Creating a Stereotype |
Examples of UML Stereotypes |
Metainformation |
Dependency Stereotypes |
Customization with Components |
Stereotypes Applied to Deployment Artifacts |
Utility |
Use Case Stereotypes |
Signal |
Control, Boundary, and Entity |
Stereotypes for Creation and Destruction |
Retired Standard Stereotypes |
Defining Your Own Stereotypes |
Examples of UML Constraints |
Constraints for Associations |
Constraints for Association Roles and Properties |
Defining Your Own Constraints |
A Language for Expressing Constraints |
OCL Metamodel |
Basic Structure of OCL Expressions |
Invariants, Preconditions, and Postconditions |
Language Architecture and Kernel Overview |
High-Level Language Constructs |
Reviewing the UML Kernel |
The Profile Package |
Architecture Overview Summary and Observations |
Model Driven Architecture / Chapter 9: |
MDA Evolution and Goals |
Background and General Goals |
Model Levels |
Model Compilers |
Mapping the Many Elements of MDA |
From the Business Model to PIM and PSM |
The High-Level Review |
Defining Functionality with No Platform |
Platform-Specific Models |
Information Management Solution |
Tips for Modeling in the MDA World |
Modeling for Business and Functional Analysis |
Modeling for the Software Architect |
Modeling for the Developer |
High-Level Assessment of MDA Opportunities |
Opportunities |
A Necessary Evolutionary Step for Increased Coordination |
Cost-Aware MDA |
Warnings |
Too Much Modeling Overhead and Complexity |
Lack of Universality in Tool Implementation |
Untested Behavioral Modeling |
Misuse of MDA |
A Process for Using UML / Chapter 10: |
Defining and Understanding Software-Engineering Processes |
Process Context |
Process User |
Process Steps |
Problem Formulation |
Solution Design |
Implementation Design |
Process Evaluation |
The Basis for a UML Process |
Use-Case-Driven Systems |
Architecture-Centric Approach |
Iterative Approach |
Incremental Approach |
A Traditional Object-Oriented Method |
The Unified Process |
The Life Cycle |
Inception |
Elaboration |
Construction |
Transition |
Comparing the Unified Process to a Traditional Process |
Process Tools |
Model Quality |
What Is a Good Model? |
Can You Communicate the Model? |
Does the Model Fit Its Purpose? |
Does the Model Capture the Essentials? |
Naming Conventions |
Model Coordination |
Model Complexity |
Case Study / Chapter 11: |
Developing a Vision |
Modeling Use Cases |
Establishing the Domain Model |
Performing Use-Case Analysis |
Not UML? How Can That Be? |
Designing the Architecture |
System Structure |
Architectural Mechanisms |
Design Patterns |
Design Policies |
Performing Detailed Design |
Business Package |
Presentation Package |
Use-Case Design |
Designing the User Interface |
Test and Deployment |
Exercises |
Requirements and Analysis Exercises |
Design and Construction Exercises |
Visual Glossary / Appendix A: |
Glossary / Appendix B: |
References / Appendix C: |
What's on the CD-ROM? / Appendix D: |
Index |
End-User License Agreement |
GNU General Public License |
OMG Press Books in Print |
About the OMG |
2003 OMG Press Advisory Board |
Preface for the Second Edition |
About the Authors |
Acknowledgments |