3.5 Step 5 Adding attributes, constraints and qualifiers 89
3.6 Step 6 Using analysis patterns 94
3.7 Step 7 Structuring into packages 98
3.8 Step 8 Generalisation and re–use 105
4 Complementary exercises 113
Appendix B: Glossary & tips 149
Step 1 Modelling sentences 1 and 2
PART 3 DYNAMIC VIEW 157
5 Case study: coin–operated pay phone 159
5.1 Step 1 Identifying the actors and use cases 161
5.2 Step 2 Realising the system sequence diagram 164
5.3 Step 3 Representing the dynamic context 166
5.4 Step 4 In–depth description using a state diagram 168
6 Complementary exercises 185
Apendix C: Glossary & tips 207
PART 4 DESIGN 213
7 Case study: training request 215
7.1 Step 1 Defining iterations 217
7.2 Step 2 Defining the system architecture 219
7.3 Step 3 Defining system operations (iteration 1) 224
7.4 Step 4 Operation contracts (iteration 1) 225
7.5 Step 5 Interaction diagrams (iteration 1) 228
7.6 Step 6 Design class diagrams (iteration 1) 237
7.7 Step 7 Defining the system operations (iteration 2) 245
7.8 Step 8 Operation contracts (iteration 2) 247
7.9 Step 9 Interaction diagrams (iteration 2) 250
7.10 Step 10 Design class diagrams (iteration 2) 252
7.11 Step 11 Back to architecture 253
7.12 Step 12 Transition to Java code 254
7.13 Step 13 Putting the application into action 262
8 Complementary exercises 267
Appendix D: Glossary & tips 283
Index 293
Pascal Roques is a senior trainer and consultant running courses on UML. He has led training in modeling techniques and tools at Verilog (now Telelogic) and since 1995 at Valtech.
UML is the de facto industry standard modeling language for specifying, visualising, constructing and documenting aspects of the design of software systems. To use UML effectively is to move beyond the theoretical presentation of language notation and to understand
how to use it to communicate both the modeling problems and their solutions.
This book is a practical discussion of a wide range of UML based techniques, introduced within the context of real–life examples and solutions. Pascal Roques is involved in day–to–day software development, and the emphasis he places on real–life projects is unique in demonstrating how a modeling expert thinks and assesses possible solutions.
UML in Practice provides comprehensive coverage of the three main modelling viewpoints at the analysis level functional, static and dynamic through examples and exercises. A final section provides the detail of collaboration and class diagrams to fill in the design level models. This book is fully compliant with UML 2.0 and is a refreshing and accessible guide to the art of modeling software systems with UML.