Original filename: UML.pdf
Title: UML – Unified Modeling Language
This PDF 1.5 document has been generated by Microsoft® Office PowerPoint® 2007, and has been sent on pdf-archive.com on 26/05/2011 at 04:59, from IP address 124.106.x.x.
The current document download page has been viewed 1428 times.
File size: 2.5 MB (31 pages).
Privacy: public file
Download original PDF file
-Invented out of necessity
-Uses symbols to convey meaning
•Model – collection of pictures & texts that represents
•Models consist diagrams and pictures.
•Model is to Software, Blueprint is to a house
Introduced by Ivar Jacobson, James Rumbaugh, and
Grady Booch ( three amigos )
•They consist of thousand pictures to a large extent.
•Simple pictures can convey more information than
lots of texts.
•It is easier to draw some simple pictures than it is to
write code or even text that describes the same thing.
•It is cheaper, faster, and it is easier to change models
than it is to change code
equivalent of modern cave art. A use case's main
symbols are the actor and the use case oval.
Responsible for documenting the macro
requirements of the system. Think of use case
diagrams as the list of capabilities the system
is the UML version of a flowchart. Activity diagrams
are used to analyze processes and, if necessary,
perform process reengineering.
An activity diagram is an excellent tool for analyzing
problems that the system ultimately will have to solve.
As an analysis tool, we don't want to start solving the
problem at a technical level by assigning classes, but
we can use activity diagrams to understand the
problem and even refine the processes that comprise
used to show the classes in a system and the
relationships between those classes .
A single class can be shown in more than one
it isn't necessary to show all the classes in a single,
monolithic class diagram.
The greatest value is to show classes and their
relationships from various perspectives in a way
that will help convey the most useful
Class diagrams show a static view of the system.
Class diagrams DO NOT describe behaviors or
how instances of the classes interact.
Sequence diagrams show the classes along the top
and messages sent between those classes,
modeling a single flow through the objects in the
A sequence diagram implies a time ordering by
following the sequence of messages from top left
to bottom right.
use the same classes and messages but are
organized in a spatial display.
Because the collaboration diagram does not
indicate a time ordering visually, we number the
messages to indicate the order in which they occur.
shows the changing state of a single object as
that object passes through a system.
shows the components—think subsystems—in the
final product. (Implementation Model)
A component diagram is a bit like a class diagram
with component symbols.
USE CASE DIAGRAM - An excellent type of model
for capturing analysis .
The purpose of a use case is to describe how a system
will be used—to describe its essential purposes.
The purpose of use case diagrams is to capture the
essential purposes visually.
Stick figure - called an actor and represents someone or
something that acts on the system.
In software development, actors are people or other
software that acts on the system.
The lines are dotted or solid lines, with or without various
arrows that indicate the relationship between the actor and
The ovals are the use cases, and in the use case diagram,
these ovals have some text that provides
a basic description.
The STICK figure, referred to as an actor, represents participants in use
Actors can be people or things.
If an actor is a person, then it may never actually be represented by code.
If an actor is another subsystem, then the actor may be realized as a class or
subprogram but still be represented using the actor symbol in use case
Actors are discovered as a result of analysis. As you are identifying the
macro uses of the system, you will identify who the participants for those use
Initially, record each actor as it is discovered by adding an actor symbol to
your model and describing what the actor's role .
The USE CASE symbol is used to represent
The use case is given a name and a text description.
The text should describe how the use case starts and
ends and include a description of the capability
described by the use case name, as well as
supporting scenarios and nonfunctional requirements.
Because use case diagrams can have multiple actors,
and because use cases can be associated with actors
and other use cases, use case connectors are used to
indicate how actors and use cases are associated.
In addition, CONNECTOR styles can change to
convey more information about the relationship
between actors and use cases.
Finally, connectors can have additional adornments
and annotations that provide even more information.
Association - A plain-line connector, used to show
which actors are related to which use cases.
A second connector style is a dashed line with a
This style of connector is referred to as a Dependency.
The arrow points to the use case that is depended on.
A third connector style is a directed line with a hollow triangle. This is called a
The word generalization in the UML means "inheritance." When
we show a generalization relationship between two actors or two use cases, then
we are indicating that the child actor or use case is an instance of the base actor
or use and something more.
In generalization relationships, the arrow points toward the thing on which we
are expanding. There are a number of ways you can describe this relationship
verbally—which you should know about—but unfortunately, all these synonyms
can lead to verbal confusion.
UML diagrams encourage less text because pictures convey a lot of information
through a convenient visual shorthand, but UML diagrams don't eschew text
For example, connectors can include text that indicates endpoint multiplicity
and text that stereotypes the connector.
Connectors in general can have multiplicity notations at either end of the
The multiplicity notations indicate the possible count of each thing. For example,
an asterisk means many. An asterisk next to an actor means that there may be
many instances of that actor. Although the UML permits notating use case
connectors in this way, it isn't that common.
A more common connector notation is the stereotype. Stereotypes add detail to
the relationship between elements in a use case diagram.
A stereotype can be used to expand on the meaning of the dependency
A stereotype is shown as text between the guillemots (« and » characters). For
instance, if we say that "Create a Job Listing" includes "Log-In," then we can
depict an include stereotype by annotating the dependency connector as shown
A dependency labeled with the include stereotype means that the dependent use
case ultimately is intended to reuse the depended-on use case.
The baggage that`goes with the include stereotype is that the dependent use case
will need the services`of and know something about the realization of the
The opposite is not true. The depended-on use case is a whole and distinct entity
that must not depend on the dependent use case. Logging in is a good example.
It is clear that we require an employer to log in to create a job listing, but we could
login for other reasons too.
The UML is a shorthand for a lot of text and code, but if you need to, you can
always add text. Every diagram, including use cases, supports adding textual
annotations. Notes are represented as a dog-eared piece of paper with a line
attaching the textbox to the element being annotated
Use case diagrams are pretty basic with their stick figures but are pretty
important because they record the capabilities your system will have. Good
information to include with your use case diagrams is
• A pithy paragraph describing how the use begins, including any preconditions
• A short paragraph for each of the primary functions
• A short paragraph for each of the secondary functions
• A short paragraph for each of the primary and secondary scenarios, which
helps to place the need for the functions in a context
• A paragraph for nonfunctional requirements
• Insertion points where any other dependent use cases are used
• An ending point with postconditions
Use Case Using an Outline
a. Description: Use the use case name here, making it very easy to match
use case diagrams with their respective documentation.
b. Example: Maintain Job Listing
2. Use case starts
a. Description: Briefly describe the circumstances leading up to the use
case, including preconditions. Leave out implementation details, such as
"User Clicks a Hyperlink" or references to forms, controls, or specific
b. Example: This use case starts when an employer, employer's agent, or
the system wants to create, modify, or remove a job listing.
Use Case Using an Outline
3. Primary functions
a. Description: Use cases are not necessarily singular. For example, "Manage
Job Listing" is a reasonable use case and may include primary functions
such as reading and writing to a repository. The key here is to avoid having
too few or too many primary functions. If you need a good yardstick, it
might be two or three primary functions per use case.
b. Example: "CRUD Job Listing." The primary functions of "Maintain Job
Listing" are to create, read, update, and delete the job listing.
Use Case Using an Outline
4. Secondary functions
a. Description: Secondary functions are like a supporting cast in a play. For
example, given a use case "Manage Job Listing," updating, inserting,
creating, and deleting a job listing—called CRUD, for create, read,
update, and delete—are excellent secondary functions, part of a bigger
use case. If you need a yardstick, then two times as many secondary
functions as primary functions is good.
(1) "Expire Job Listing." Thirty days after the listing is made available
for viewing, the listing is said to expire. An expired listing is not
deleted, but users, with the exception of the listing owner, may no
longer view the listing.
(2) "Renew Job Listing." A listing may be extended for an additional 30 days by
paying an additional listing extension fee.
Use Case Using an Outline