In software design, an understanding of business goals is critical

advertisement
Introduction to The Unified Modeling Language (UML)
The Unified Modeling Language (UML) is the standard visual modeling language used
for modeling businesses, software applications, and system architectures. It is officially
defined at the Object Management Group (OMG—http://www.omg.org/). It is a graphical
language that was designed to be very flexible and customizable. It allows software
developers to concentrate more on design and architecture. However, The UML can be
translated into a coding language, so can a coding language be translated into UML. This
process is known as “reverse engineering.
There are different people developed many object-oriented modeling techniques that were
being developed to model software approaches using different visual modeling techniques
and notations, the application modeling was becoming divided and different. However,
there was the wisdom and intuition of a few people in understanding that a standard and
organized way for people to communicate when designing systems can only be
beneficial.
In the 1980’s and early 90’s there were many of design methodologies. Three of these
methodologies began to lead models for software engineering. All were quite good in certain
areas, but seem to not cover the whole design process, and each had somewhat different
methodology. In other words each methodology had its own type of notation which is
hard for someone knowledgeable to understand another designer’s work and the
associated notation. At this time, developers adapted their own method and other design
methodology. Finally, around 1995 three design developers, Jim Rumbaugh, Grady
Booch and Ivar Jacobson worked and joined a company specializing in design tools
called Rational (IBM). However, there was disagreement between them but this was
overcome when the Object Management Group (OMG), decided to adapt UML as a
standard design modeling language. As a result, the UML is an open modeling standard
designed and supported by software companies.
The UML is designed to work with the object-oriented software development methods.
It was originally built to satisfy model object-oriented systems and to enable ComponentBased Development (CBD). In an OO system, generally several components are related
together using what are called "interfaces." To understand how those different
components interact, it is quite useful to build a model.
In addition, developers can model anything that they want in the UML by using its
customization capabilities. The UML used for modeling businesses, data, ,hardware, nonobject-oriented application modeling, and many other modeling tasks.
UML Modeling:
A model is using specific graphical representations to describe the software. It helps
developers to ensure that the designs close to reality before the implementation. This can
save developers and their organization a lot of time and money, In addition, it enables
member teams to work together effectively and ensure that they are working toward the
same common goals. Moreover, modeling is useful to understand what modifies will
change the design. When designers add a component to a system, they need to make sure
the system won't come crashing down as a result. However, model is a way to understand
business and its processes. Developers model their business processes not only to
understand how their business works and how it functions but also that developers can
identify how changes will affect the business. Modeling the software helps developers to
identify strengths and weaknesses, identify areas that need to be changed or optimized.
The Building Blocks of UML Modeling:
The three major building blocks of UML are:
1.
The Elements of the model
2.
The Associations between the elements of the model
3.
The UML Diagrams
The basic elements of an UML model are the classes, the interfaces and the components.
A class may be defined as a self contained unit that encapsulates a collection of data and
methods that operate on the data resulting on an isolation of the contents of this
encapsulated from any external interface. An interface is a contract which can be used to
define a protocol of behavior. It can be implemented by any class anywhere in the class
hierarchy.
UML Modeling Tools:

Rational Rose: supports UML 1.x

JUDE: JUDE is a unique UML modeling tool which supports object-oriented
software design in Java combined with Mind Map.

GDpro 5.0
UML Diagrams:
A diagram shows the static structure of the system of different modeling focusing on the
elements of a system as described within the UML. Each UML visualizes a certain aspect
of the system. Each diagram uses specific UML symbols to achieve its purpose. The
UML contains three various basic diagram types: structure diagrams, behavior diagrams
and Interaction diagrams.
Structure diagrams describe the static structure of the software's elements. These
diagrams are fundamental to the UML modeling of a system and portray the static
structure of the system as a whole. The structure diagrams contain Class diagrams
Component diagrams ,Object diagrams,... etc.
Behavior diagrams describe the dynamic behavior of the elements in the system and how
the system functions. The various behavior diagrams are Activity diagrams, Collaboration
diagrams, Use case diagram, and ..etc.
Interaction diagrams represent how flow of data and control takes place in the system
that is being modeled. They are a subset of the Behavioral Diagrams. These include:
Sequence diagrams, UML Timing Diagram, Interaction Overview Diagram,.. and etc.
Conclusion:
The Unified Modeling Language is an internationally accepted standard that is used for Object
Oriented Modeling and can be used to represent a model that adopts the best software
engineering practices.
Bibliography
UML Tutorial, from sparx systems's company, 2 pages.
http://www.sparxsystems.com.au/UML_Tutorial.htm
Unified Modeling Language (UML) Tutorial, Braun, D, et al, 2001
"Object Oriented Analysis and Design Team", Kennesaw State University, 5 pages
estimated.
http://atlas.kennesaw.edu/~dbraun/csis4650/A&D/UML_tutorial/index.htm
Why Model With UML? Kris Richards & Cindy Castillo.(2007): NetBeans. 1 page.
http://www.netbeans.org/kb/55/uml-why-model.html
An introduction to structure diagrams in UML 2, Donald Bell(2004), IT Specialist, IBM ,
1 page
/http://www.ibm.com/developerworks/rational/library/content/RationalEdge/sep04/bell
Download