UML (Unified Modeling Language). See also tools for UML modeling; UML 2, new features in
automating development with, 16, 378
definition of, 1, 9–10
history of, 18
level of detail to describe with, 23, 364–365
methodologies for, 18, 29, 34–36
misconceptions about, 17–18
object-oriented principles used in, 20–28, 39–41
people using, 17
Principle of Least Surprise for, 28
training for, 375
uses of, 9–11
Web sites about, 372–373, 375
UML Dictionary Web site, 375
UML Forum Web site, 372–373
UML Revision Task Force (RTF) of OMG, 18
UML 2, new features in. See also UML
Action Semantics, 188
activity diagrams, 216
artifacts, 336
association end name, replacing role, 71
behavioral state diagram, 308
communication diagrams, 227, 228
component diagram, revisions to, 327
composite structure diagram, 90, 121
composite structure diagram with collaboration, 251
interaction frame and heading, 191
interaction occurrences, 203
interaction-overview diagram, 220
MDA and, 16
operators in interaction diagrams, 206
package diagram, 126
transition notation, 277, 290–292
UML 2, proposals for, 373
UML 2.0 Partners Web site, 373
UML-Forum Web site, 375
underlining
for button names in messages, 198
for link name, 62
for object name, 53–54
for static attribute or operation, 58–59
“Underlining the Nouns” technique, 40–41
Unified Modeling Language. See UML
«usb» stereotype, 334
use cases. See also domain classes; functional modeling
abstract, 167
activity diagrams for, 216
alternate paths for, 171–172
analysis packages based on, 342
application classes for, 122–125
central class for, 229–230
changing capability of, 169–171
class diagram for, 228–232
concrete, 167
concurrency of, 140–141
context diagrams for, 145
controller class for, 230–231
CRUD test for, 367
customers of, 132–133
defining, 139, 141–143
definition of, 131
diagramming, 139–141, 167–168
domain classes for, 121–122
extending, 169–174
generalizing, 166–169
including other use cases in, 161–165, 174
interaction-overview diagram for, 220–223
levels of, 143–145
naming, 142, 143
optional goals for, 173
output class for, 231–232
packaging, 146
priorities of, in system design, 316–317
subsystems for, 322, 343–344
too many of, 367
too many paths in, 367
when to use, 16
«use-case controller» stereotype, 230
use-case diagram. See also context diagram
application class diagram for, 123–124
constructing, 139–141, 143–144, 385
converting to operations in class diagrams, 181–182
definition of, 11, 139
for frameworks, 257
for functional modeling, 180–181
uses of, 14, 15, 179, 385–386
use-case modeling. See use cases; use-case diagram; use-case specification
«use-case package» stereotype, 146
use-case specification
alternate courses for, 155–160
definition of, 147–149
description for, 150
design details omitted from, 151–153
flow of events for, 153–154, 156–159
for functional modeling, 183–184
for included use cases, 163–164
main course for, 154
multiple scenarios for, 155–160
narration (story) for, 149–153
preconditions and postconditions for, 154
user-defined types, 46
users
definition of, 133
designing system for, 370
interaction with application, showing, 122–125
verification of domain classes by, 121–122
uses dependency, 329
»uses» stereotype, 330