0% found this document useful (0 votes)
193 views2 pages

Practical UML - A Hands-On Introduction For Developers

Practical UML__ a Hands-On Introduction for Developers
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
193 views2 pages

Practical UML - A Hands-On Introduction For Developers

Practical UML__ a Hands-On Introduction for Developers
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 2

Page 1 Practical UML: A Hands-On Introduction for Developers

04.05.2014 17:49:20 http://edn.embarcadero.com/article/31863


EDN Delphi
Practical UML: A Hands-On Introduction for Developers
By: Randy Miller
Abstract: This tutorial provides a quick introduction to the Unified Modeling Language
The heart of object-oriented problem solving is the construction of a model. The model abstracts the essential
details of the underlying problem from its usually complicated real world. Several modeling tools are wrapped
under the heading of the UML, which stands for Unified Modeling Language. The purpose of this course is to
present important highlights of the UML.
At the center of the UML are its nine kinds of modeling diagrams, which we describe here.
Use case diagrams
Class diagrams
Object diagrams
Sequence diagrams
Collaboration diagrams
Statechart diagrams
Activity diagrams
Component diagrams
Deployment diagrams
Some of the sections of this course contain links to pages with more detailed information. And every section has
short questions. Use them to test your understanding of the section topic.
Why is UML important?
Let's look at this question from the point of view of the construction trade. Architects design buildings. Builders use
the designs to create buildings. The more complicated the building, the more critical the communication between
architect and builder. Blueprints are the standard graphical language that both architects and builders must learn
as part of their trade.
Writing software is not unlike constructing a building. The more complicated the underlying system, the more
critical the communication among everyone involved in creating and deploying the software. In the past decade,
the UML has emerged as the software blueprint language for analysts, designers, and programmers alike. It is now
part of the software trade. The UML gives everyone from business analyst to designer to programmer a common
vocabulary to talk about software design.
The UML is applicable to object-oriented problem solving. Anyone interested in learning UML must be familiar with
the underlying tenet of object-oriented problem solving -- it all begins with the construction of a model. A model is
an abstraction of the underlying problem. The domain is the actual world from which the problem comes.
Models consist of objects that interact by sending each other messages. Think of an object as "alive." Objects
have things they know (attributes) and things they can do (behaviors or operations). The values of an object's
attributes determine its state.
Classes are the "blueprints" for objects. A class wraps attributes (data) and behaviors (methods or functions) into
a single distinct entity. Objects are instances of classes.
Use case diagrams
Use case diagrams describe what a system does from the standpoint of an external observer. The emphasis is on
what a system does rather than how.
Use case diagrams are closely connected to scenarios. A scenario is an example of what happens when someone
interacts with the system. Here is a scenario for a medical clinic.
"A patient calls the clinic to make an appointment for a yearly checkup. The receptionist finds the nearest
empty time slot in the appointment book and schedules the appointment for that time slot. "
A use case is a summary of scenarios for a single task or goal. An actor is who or what initiates the events
involved in that task. Actors are simply roles that people or objects play. The picture below is a Make
Appointment use case for the medical clinic. The actor is a Patient. The connection between actor and use case is
a communication association (or communication for short).
Hide image
RATING
Download
Delphi XE6 now!
Get Free Trial
Download
Trial
Buy Now
COMMUNITIES ARTICLES BLOGS RESOURCES DOWNLOADS HELP
LOG ON | | EMBARCADERO HOME

ENGLISH LOCATION
Share This
Watch, Follow, &
Connect with Us

Page 2 Practical UML: A Hands-On Introduction for Developers
04.05.2014 17:49:20 http://edn.embarcadero.com/article/31863
as part of a diagram with four actors and four use cases. Notice that a single use case can have multiple actors.
Hide image
Use case diagrams are helpful in three areas.
determining features (requirements). New use cases often generate new requirements as the system is
analyzed and the design takes shape.
communicating with clients. Their notational simplicity makes use case diagrams a good way for
developers to communicate with clients.
generating test cases. The collection of scenarios for a use case may suggest a suite of test cases for
those scenarios.
Class diagrams
A Class diagram gives an overview of a system by showing its classes and the relationships among them. Class
diagrams are static -- they display what interacts but not what happens when they do interact.
The class diagram below models a customer order from a retail catalog. The central class is the Order. Associated
with it are the Customer making the purchase and the Payment. A Payment is one of three kinds: Cash, Check,
or Credit. The order contains OrderDetails (line items), each with its associated Item.
Hide image
UML class notation is a rectangle divided into three parts: class name, attributes, and operations. Names of
abstract classes, such as Payment, are in italics. Relationships between classes are the connecting links.
Our class diagram has three kinds of relationships.
association -- a relationship between instances of the two classes. There is an association between two
classes if an instance of one class must know about the other in order to perform its work. In a diagram, an
association is a link connecting two classes.
aggregation -- an association in which one class belongs to a collection. An aggregation has a diamond end
pointing to the part containing the whole. In our diagram, Order has a collection of OrderDetails.
generalization -- an inheritance link indicating one class is a superclass of the other. A generalization has a
triangle pointing to the superclass. Payment is a superclass of Cash, Check, and Credit.
An association has two ends. An end may have a role name to clarify the nature of the association. For example,
an OrderDetail is a line item of each Order.
A navigability arrow on an association shows which direction the association can be traversed or queried. An
OrderDetail can be queried about its Item, but not the other way around. The arrow also lets you know who
Webinars on
demand!
Delphi
15,184 people like Delphi.
Facebook social plugin
Like Like
More social media
choices:
Delphi on Google+
@RADTools on Twitter
ARTICLE TAGS
Practical UML
Randy Miller UML

You might also like