|
Contents |
7 |
|
|
Preface |
13 |
|
|
1 Introduction to the Unified Modeling Language (UML) |
22 |
|
|
1.1. What is the Unified Modeling Language (UML)? |
22 |
|
|
1.2. The Unified Modeling Language (UML) and Process or Methodology |
24 |
|
|
1.3. History of the Unified Modeling Language (UML) |
26 |
|
|
1.4. Effectively and Successfully Applying the Unified Modeling Language (UML) |
30 |
|
|
2 Modeling |
33 |
|
|
2.1. Languages |
33 |
|
|
2.1.1. ALPHABETS |
34 |
|
|
2.1.2. WORDS |
34 |
|
|
2.1.3. SENTENCES |
35 |
|
|
2.1.4. PARAGRAPHS |
35 |
|
|
2.1.5. SECTIONS |
38 |
|
|
2.1.6. DOCUMENTS |
39 |
|
|
2.1.7. OTHER ELEMENTS |
39 |
|
|
2.2. Systems and Contexts |
44 |
|
|
2.2.1. DOMAINS OR SPACES |
44 |
|
|
2.2.2. SYSTEMS |
44 |
|
|
2.2.3. ARCHITECTURES |
45 |
|
|
2.2.4. MODELS |
47 |
|
|
2.2.5. ARCHITECTURAL VIEWS |
51 |
|
|
2.2.6. DIAGRAMS |
52 |
|
|
2.3. Modeling Mechanisms |
54 |
|
|
2.3.1. PERSPECTIVES |
55 |
|
|
2.3.2. LEVELS OF ABSTRACTION |
57 |
|
|
2.3.3. DICHOTOMIES |
58 |
|
|
2.3.4. EXTENSION MECHANISMS |
59 |
|
|
2.4. Processes and Methodologies |
60 |
|
|
2.4.1. DEVELOPMENT CYCLES AND PHASES |
61 |
|
|
2.4.2. ITERATION CYCLES AND PHASES |
63 |
|
|
2.4.3. ITERATION PHASE DETAILS |
65 |
|
|
2.4.4. HEURISTICS |
67 |
|
|
2.5. The Value of Processes and Methodologies |
73 |
|
|
2.5.1. THE QUESTION |
73 |
|
|
2.5.2. FINE CUISINE AND SYSTEMS DEVELOPMENT |
74 |
|
|
2.5.3. THE ROADMAP |
77 |
|
|
2.5.4. THE ANSWER |
80 |
|
|
3 Object Orientation |
82 |
|
|
3.1. Principles of Object Orientation |
82 |
|
|
3.1.1. ABSTRACTION |
82 |
|
|
3.1.2. ENCAPSULATION |
84 |
|
|
3.1.3. GENERALIZATION |
86 |
|
|
3.1.4. POLYMORPHISM |
87 |
|
|
3.2. Structural (Static) Concepts |
87 |
|
|
3.2.1. CLASS AND OBJECT DIAGRAMS |
87 |
|
|
3.2.2. USE-CASE DIAGRAMS |
108 |
|
|
3.2.3. COMPONENT DIAGRAMS |
111 |
|
|
3.2.4. DEPLOYMENT DIAGRAMS |
112 |
|
|
3.3. Behavioral (Dynamic) Concepts |
114 |
|
|
3.3.1. SEQUENCE AND COLLABORATION DIAGRAMS |
116 |
|
|
3.3.2. STATE DIAGRAMS |
125 |
|
|
3.3.3. ACTIVITY DIAGRAMS |
129 |
|
|
3.4. Object-Oriented Systems |
132 |
|
|
3.4.1. PACKAGES |
133 |
|
|
3.4.2. TEMPLATES |
135 |
|
|
3.4.3. PATTERNS AND FRAMEWORKS |
136 |
|
|
3.4.4. SYSTEMS |
138 |
|
|
4 The Roadmap |
144 |
|
|
4.1. The Unified Modeling Language (UML) Sentence |
145 |
|
|
4.1.1. COLLABORATING AND INTERACTING SYSTEMS |
145 |
|
|
4.1.2. SERVICES |
145 |
|
|
4.1.3. SERVICE REALIZATIONS |
147 |
|
|
4.1.4. THE UNIFIED MODELING LANGUAGE (UML) SENTENCE |
149 |
|
|
4.2. The Roadmap Space |
151 |
|
|
4.2.1. PERSPECTIVES AND LEVELS OF ABSTRACTION |
151 |
|
|
4.2.2. CARTESIAN PRODUCT |
151 |
|
|
4.2.3. THE ROADMAP SPACE |
153 |
|
|
4.3. The General Roadmap |
156 |
|
|
4.3.1. PERSPECTIVES AND LEVELS OF ABSTRACTION |
156 |
|
|
4.3.2. PROCESS DISCIPLINES |
158 |
|
|
4.3.3. THE GENERAL ROADMAP |
159 |
|
|
4.4. Detailed and Notational Roadmap |
161 |
|
|
4.4.1. CONCEPTUAL ELEMENTS |
161 |
|
|
4.4.2. MECHANISMS |
165 |
|
|
4.4.3. THE ROADMAP |
167 |
|
|
4.4.4. A ROADMAP EXAMPLE |
175 |
|
|
4.5. Applying the Roadmap |
203 |
|
|
4.5.1. HEAVYWEIGHT AND LIGHTWEIGHT APPROACHES |
204 |
|
|
4.5.2. HEURISTICS |
205 |
|
|
5 Use-Case (User) Modeling |
207 |
|
|
5.1. Use-Case Diagrams |
207 |
|
|
5.1.1. ACTORS |
207 |
|
|
5.1.2. USE CASES |
209 |
|
|
5.1.3. ACTOR RELATIONSHIPS |
215 |
|
|
5.1.4. USE-CASE RELATIONSHIPS |
217 |
|
|
5.2. Applying Use-Case Diagrams |
226 |
|
|
5.2.1. THE CONSTRUCT |
227 |
|
|
5.2.2. REQUIREMENTS |
229 |
|
|
5.2.3. UNIFICATION |
232 |
|
|
6 Structural (Static) Modeling |
233 |
|
|
6.1. Class Diagrams |
233 |
|
|
6.1.1. CLASSIFIERS |
233 |
|
|
6.1.2. RELATIONSHIPS |
252 |
|
|
6.2. Object Diagrams |
268 |
|
|
6.2.1. CLASSIFIER INSTANCES |
268 |
|
|
6.2.2. RELATIONSHIP INSTANCES |
272 |
|
|
6.3. Applying Class and Object Diagrams |
273 |
|
|
6.3.1. CONCEPTUAL ELEMENTS |
274 |
|
|
6.3.2. MECHANISMS |
275 |
|
|
6.3.3. THE CONSTRUCT |
275 |
|
|
6.3.4. ANALYSIS |
278 |
|
|
6.3.5. DESIGN |
283 |
|
|
6.3.6. VALIDATION |
291 |
|
|
6.3.7. UNIFICATION |
297 |
|
|
7 Behavioral (Dynamic) Modeling |
298 |
|
|
7.1. Sequence Diagrams |
298 |
|
|
7.1.1. CLASSIFIER ROLES |
300 |
|
|
7.1.2. INTERACTIONS |
301 |
|
|
7.1.3. LIFELINES |
304 |
|
|
7.1.4. ACTIVATIONS |
307 |
|
|
7.1.5. MESSAGES AND STIMULI |
307 |
|
|
7.2. Collaboration Diagrams |
310 |
|
|
7.2.1. ASSOCIATION ROLES |
311 |
|
|
7.2.2. COLLABORATIONS |
313 |
|
|
7.2.3. MESSAGES AND STIMULI |
315 |
|
|
7.2.4. BEHAVIORAL ORGANIZATION |
321 |
|
|
7.3. Statechart Diagrams |
328 |
|
|
7.3.1. STATES |
328 |
|
|
7.3.2. TRANSITIONS |
331 |
|
|
7.3.3. SUBMACHINES |
336 |
|
|
7.4. Activity Diagrams |
337 |
|
|
7.4.1. ACTION STATES |
337 |
|
|
7.4.2. SWIMLANES |
339 |
|
|
7.4.3. FLOWS |
339 |
|
|
7.5. Applying Sequence, Collaboration, Statechart, and Activity Diagrams |
341 |
|
|
7.5.1. SEQUENCE DIAGRAMS |
342 |
|
|
7.5.2. COLLABORATION DIAGRAMS |
342 |
|
|
7.5.3. STATE DIAGRAMS |
343 |
|
|
7.5.4. ACTIVITY DIAGRAMS |
346 |
|
|
8 Component (Implementation) Modeling |
347 |
|
|
8.1 Component Diagrams |
347 |
|
|
8.1.1. ARTIFACTS |
348 |
|
|
8.1.2. COMPONENTS |
349 |
|
|
8.1.3. COMPONENT RELATIONSHIPS |
352 |
|
|
8.2. Applying Component Diagrams |
353 |
|
|
8.2.1. THE CONSTRUCT |
353 |
|
|
8.2.2. IMPLEMENTATION |
354 |
|
|
8.2.3. UNIFICATION |
355 |
|
|
9 Deployment (Environment) Modeling |
356 |
|
|
9.1. Deployment Diagrams |
356 |
|
|
9.1.1. NODES |
357 |
|
|
9.1.2. NODE RELATIONSHIPS |
357 |
|
|
9.2. Applying Deployment Diagrams |
360 |
|
|
9.2.1. THE CONSTRUCT |
361 |
|
|
9.2.2. DEPLOYMENT |
361 |
|
|
9.2.3. UNIFICATION |
362 |
|
|
10 Extension Mechanisms |
364 |
|
|
10.1. Architecture of the Unified Modeling Language (UML) |
364 |
|
|
10.1.1. THE FOUR-LAYER METAMODELING ARCHITECTURE |
365 |
|
|
10.1.2. THE UNIFIED MODELING LANGUAGE (UML) METAMODEL |
369 |
|
|
10.2. Stereotypes |
371 |
|
|
10.2.1. DECLARATION |
371 |
|
|
10.2.2. APPLICATION |
375 |
|
|
10.3. Properties |
379 |
|
|
10.3.1. CONSTRAINTS |
379 |
|
|
10.3.2. TAG DEFINITIONS AND TAGGED VALUES |
380 |
|
|
10.4. Profiles |
382 |
|
|
11 The Object Constraint Language (OCL) |
385 |
|
|
11.1. What is the Object Constraint Language (OCL)? |
385 |
|
|
11.2. Expressions |
386 |
|
|
11.2.1. INVARIANTS |
387 |
|
|
11.2.2. PRECONDITIONS AND POSTCONDITIONS |
388 |
|
|
11.2.3. PACKAGE STATEMENTS |
390 |
|
|
11.2.4. LET EXPRESSIONS AND DEFINITION CONSTRAINTS |
391 |
|
|
11.3. Properties |
391 |
|
|
11.3.1. CLASSIFIERS AND INSTANCES |
394 |
|
|
11.3.2. ASSOCIATIONS AND LINKS |
395 |
|
|
11.3.3. CLASSIFIER- AND INSTANCE-SCOPED PROPERTIES |
396 |
|
|
11.4 The Standard Object Constraint Language (OCL) Types |
397 |
|
|
11.4.1. BASIC TYPES |
398 |
|
|
11.4.2. COLLECTION TYPES |
402 |
|
|
11.5. The Standard Object Constraint Language (OCL) Package |
410 |
|
|
References |
412 |
|
|
Index |
416 |
|
|
More eBooks at www.ciando.com |
0 |
|