Contacts: Ian Graham or Alan Wills +44-161-225 3240; clive@trireme.com
Copyright © MMI – Trireme International Ltd. All rights reserved
UML – a tutorial
UML – a tutorial.....................................................................................................1
1 The history of object-oriented analysis and design methods.............................2
2 Software engineering ......................................................................................7
2.1 Responsibility-driven versus data-driven approaches ..............................12
2.2 Translational versus elaborational approaches........................................13
3 Object-oriented analysis and design using UML............................................13
3.1 Types and classes ....................................................................................13
3.1 Object structures.....................................................................................18
3.2 Using use cases to discover types............................................................28
3.3 Invariants and rulesets............................................................................35
3.4 Invariants and encapsulation ..................................................................43
3.5 State models...........................................................................................45
3.6 Moving to component design..................................................................48
3.8 The design process .................................................................................55
3.9 Documenting models..............................................................................57
3.10 Real-time extensions.............................................................................58
4 Identifying objects.........................................................................................60
4.2 Task analysis...........................................................................................65
4.3 Kelly grids...............................................................................................68
5 CASE tools...................................................................................................71
6 Patterns, architecture and decoupled design ..................................................73
6.1 Design patterns for decoupling ................................................................87
7 Designing components..................................................................................97
7.1 Components for flexibility....................................................................100
7.2 Large-scale connectors .........................................................................101
7.3 Mapping the business model to the implementation..............................103
8 Notation summary.......................................................................................105
8.1 Object modelling symbols.....................................................................105
8.2 Action (use case) modelling symbols........................................................110
8.3 Sequence and collaboration diagram symbols..........................................110
8.4 State modelling symbols...........................................................................112
8.5 Action or activity diagram symbols ..........................................................114
8.6 Implementation and component modelling symbols .................................115
8.7 Collaborations and patterns......................................................................116
8.8 Real-time notation: ports and connectors..................................................116
9 Further reading...........................................................................................117
10 Exercises...................................................................................................118
UML is the international standard notation for object-oriented analysis and design.
It is defined by the Object Management Group (www.omg.org
) and is currently at