UML(Unified Modeling Language) - Object-oriented design
process
It's the most widly used graphical representation scheme for modeling Object Oriented Systems.One
of the most attraction is its flexibility.
UML modelers are free to develop systems using various process, but all developers can
now express those systems with one standard set of notation.
The UML provides the use case diagram to facilitate the process of requirements gathering.
The use case diagram is represented as a rectangle and in it are considered all the use cases for the system.
For example an automatic teller machine has different USES CASE:
"Deposit", "WithDraw", and "Transfer Funds".
Graphically: Inside this Rectangle (which is the "Use Case") as Oval is represented each use case.
Why this is important?
In larger systems, use case diagrams are indispensable tools that help systems designers remain focused on satisfying the user'
needs. The goal of the use case diagram is to show the kinds of interaction users have with the system
without providing the details of those interactions.
Another important step in our design is to consider the ENTITIES which are involved in our system and that will be
filtered to determine the CLASSES. The UML at this point is handy again because enables us to model the classes
and their relationships via the class diagram.
In a class DIAGRAM, each class is modeled as a RECTANGLE. This rectangle can be divided into three parts:
The TOP part contains the classes NAME. The MIDDLE part contains the class's ATTRIBUTES.
The BOTTOM contains the class's OPERATIONS.
In this class diagram, a SOLID LINE that connect classes represent an ASSOCIATION.
An associtaion is a relationship between classes. The numbers near the lines express multiplicity values. Multipilicity values
indicate how many objects of a class partecipate in the association (ex one-to-one, one-to-many, etc.).
The UML also define OBJECT DIAGRAMS(are similar to class DIAGRAMS) except that they model objects and links
(where links are relationship between objects), with this model the structure od the system give information
about whihc objects are partecipating in the system at the specific point of time.
I would like to point out that also at this point the UML is standardize because:
Object Names are written in the form ObjectName:ClassName (note the first word in the Object name is not capitalized).
All Object names are underlined.
To describe the condition of an object at a given time UML uses STATE CHART DIAGRAMS.
State chart diagrams give us a way to express how, and under what conditions, the object in a system change state.
Each state is represented as a ROUNDED RECTANGLE with the name of the state place inside.
A SOLID CIRCLE with an attached arrowhead points to the initial state. The SOLID LINES with arrowheads indicate
transitions between states. An object can transit from one state to another in repobse to an event.
A variation of the previous diagram is the ACTIVITY DIAGRAM. It focues on the activity that an object performs, so
this diagram models what an object does during its lifetime. As matter the representation: the ACTIVITIES are represented as OVAL,
and the name of the activity is placed inside the oval.
Now let's see the phases of the Analysis in the UML:
1. In the analysis phase, meet
with the clients (the people who want you to build their system) and gather as
much information as possible about the system. With this information, create
the use cases that describe the ways in which users interact with the system. We note again that real-world systems often
have many use cases.
2. Begin locating the classes in
the system by listing the nouns in the problem statement. Filter the list by
eliminating nouns that clearly represent attributes of classes and other nouns
that are clearly not part of the software system being modeled. Create a class
diagram that models the classes in the system and their relationships
(associations).
3. Extract the attributes of each
class from the problem statement by listing words and phrases that describe
each class in the system.
4. Learn more about the dynamic
nature of the system. Create statechart diagrams to
learn how the classes in the system change over time.
5. Examine verbs and verb phrases
associated with each class. Use these phrases to extract the operations of the
classes in our system. Activity diagrams can help model the details of these
operations.
6. Examine the collaborations
between various objects. Use sequence and collaboration diagrams to model these
interactions. Add attributes and operations to the classes as the design
process reveals the need for them.
UML
Resources on the Internet and World Wide Web
The following is a collection of
Internet and World Wide Web resources for the UML. These resources include the
UML 1.3 specifications and other reference materials, general resources,
tutorials, FAQs, articles, whitepapers and software.
References
Omg.org is the homesite
for the Object Management Group (OMG). The OMG is the group responsible for
overseeing maintenance and future revisions of the UML. Their Web site contains
information about the UML and other object-oriented technologies.
Rational Software Corporation initially
developed the UML. Their Web site contains information about the UML and the
creators of the UML--Grady Booch, James Rumbaugh and Ivar Jacobson.
www.omg.org/cgi-bin/doc?ad/99-06-09
This location contains PDF and ZIP versions of
the official UML 1.3 specifications.
www.omg.org/techprocess/meetings/schedule/UML_1.4_RTF.html
The OMG maintains at this site information
concerning the UML 1.4 specifications, expected to be available beginning in
August 2000.
www.rational.com/uml/resources/quick/index.jtmpl
Rational Software
Corporation’s UML quick-reference guide.
www.holub.com/class/oo_design/uml.html
This site provides a detailed UML quick-reference
card with additional commentary.
Resources
The OMG UML resource page.
www.rational.com/uml/index.jtmpl
Rational Software Corporation’s UML resource
page
www.platinum.com/corp/uml/uml.htm
UML Partners member Platinum Technology
maintains a UML resource page at this location.
www.cetus-links.org/oo_uml.html
This site contains hundreds of links to UML
sites, including information, tutorials and software.
This site contains a wealth of UML
information, including articles and links to news groups and to other sites.
www.methods-tools.com/cgi-bin/DiscussionUML.cgi
This site contains the front page to a UML
discussion group.
www.pols.co.uk/usecasezone/index.htm
This site provides resources and articles
about applying use cases.
www.ics.uci.edu/pub/arch/uml/uml_books_and_tools.html
This site contains links to information about
other books on the UML, as well as a list of tools that support UML notation.
Software
www.rational.com/products/rose/index.jtmpl
This site is the home page for Rational
Software Corporation’s UML visual modeling tool Rational Rose.™
You can download a trial version from this location and use it free of charge
for a limited time period.
Rosearchitect.com is an online magazine,
published by Rational Software Corporation, that
covers UML modeling using Rational Rose.
Advanced Software Technologies is the author
of GDPro, a UML visual modeling tool. You can
download a trial version from their Web site and use it free for a limited time
period.
Visual Object Modelers
has created a visual UML modeling tool. You can download a limited
demonstration version from their Web site and use it free for a limited time
period.
www.microgold.com/version2/stage/product.html
Microgold Software,
Inc. has created WithClass, a software design
application that supports the UML notation.
www.lysator.liu.se/~alla/dia/dia.html
Dia is a gtk+ diagramming tool that can draw UML class diagrams. Dia runs under UNIX, but the Web site also includes a link
to a Windows version.
www.methods-tools.com/tools/modeling.html
This site contains a listing of many object
modeling tools, including those that support the UML.
Articles and Whitepapers
www.omg.org/news/pr99/UML_2001_CACM_Oct99_p29-Kobryn.pdf
This article, written by Cris
Kobryn, explores the past, present and future of the
UML.
www.sdmagazine.com/uml/focus.rosenberg.htm
Here you will find an article with tips on how
to incorporate the UML into your projects.
www.db.informatik.uni-bremen.de/umlbib/
The UML Bibliography provides names and
authors of many UML-related articles.You can search
articles by author or title.
www.ratio.co.uk/white.html
You can read a whitepaper that outlines a
process for OOAD using the UML at this site. The paper also includes some
implementation in C++.
www.tucs.fi/publications/techreports/TR234.pdf
This file contains an OOAD case study of a
digital sound recorder using the UML.
www.conallen.com/whitepapers/webapps/ModelingWebApplications.htm
This site contains a case study that models
web applications using the UML.
The Software Development Magazine Online site
has a repository of many articles on the UML. You can search by subject or
browse article titles.
Tutorials
This site contains a bank of tutorials created
by UML author Kendall Scott and maintained by Qoses.
www.qoses.com/education/tests/test02.html
You can take an on-line UML quiz at this
location. The results are e-mailed to you.
www.rational.com/products/rose/tryit/tutorial/index.jtmpl
Rational Software Corporation provides a
tutorial file for Rational Rose at this site.
FAQs
www.rational.com/uml/gstart/faq.jtmpl
This is the location of Rational Software
Corporation’s UML FAQ.
Enter UML in the search box to access a this site’s UML FAQ.
This site contains a small UML FAQ maintained
by uml-zone.com.
Bibliography
(Al98) Alhir, S. UML
in a Nutshell.
(Bo99) Booch, G, Rumbaugh, J. and Jacobson, I.
The Unified Modeling Language User Guide.
(Fi98) Firesmith, D.G. and B. Henderson-Sellers. “Clarifying Specialized
Forms of Association in UML and OML.” Journal of Object-oriented Programming May
1998: 47-50.
(Fo97) Fowler M. and Scott, K. UML Distilled:
Applying the Standard Object Modeling Language.
(Jo00) Johnson, L.J. “Model Behavior.”
(Mc98) McLaughlin, M. and A.
Moore. “Real-Time Extensions to the UML.” Dr.
Dobb’s Journal December 1998: 82-93.
(Me98) Melewski, D. “UML Gains Ground.” Application Development Trends
October 1998: 34-44.
(Me97) Melewski, D.
“UML: Ready for Prime Time?” Application Development Trends November 1997:
30-44.
(Me99) Melewski, D. “Wherefore and what now, UML?” Application Development
Trends December 1999: 61-68.
(Mu97) Muller, P. Instant UML.
(Pe99) Perry, P. “UML Steps to the Plate.”
Application Development Trends May 1999: 33-36.
(Ru99) Rumbaugh, J,
Jacobson,
(Sc99) Schmuller, J. Sam’s Teach Yourself UML in 24 Hours.
(UML99) The Unified Modeling Language
Specification: Version 1.3.