UML in Practice: The Art of Modeling Software Systems Demonstrated through Worked Examples and SolutionsISBN: 978-0-470-84831-9
Paperback
300 pages
February 2004
This is a Print-on-Demand title. It will be printed specifically to fill your order. Please allow an additional 10-15 days delivery time. The book is not returnable.
|
Foreword ix
Introduction xi
Acknowledgements xv
PART 1 FUNCTIONAL VIEW 1
1 Case study: automatic teller machine 3
1.1 Step 1 – Identifying the actors of the ATM 5
1.2 Step 2 – Identifying use cases 8
1.3 Step 3 – Creating use case diagrams 10
1.4 Step 4 – Textual description of use cases 14
1.5 Step 5 – Graphical description of use cases 20
1.6 Step 6 – Organising the use cases 26
2 Complementary exercises 37
2.1 Step 1 – Business modelling 53
2.2 Step 2 – Defining system requirements 57
Appendix A: Glossary & tips 65
PART 2 STATIC VIEW 71
3 Case study: flight booking system 73
3.1 75
3.2 Step 2 – Modelling sentences 6, 7 and 10 77
3.3 Step 3 – Modelling sentences 8 and 9 82
3.4 Step 4 – Modelling sentences 3, 4 and 5 86
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