Sunteți pe pagina 1din 6

Unified Modeling Language

Overview:

Unified Modeling Language, UML for short, is the international standard notation for
Object-Oriented Analysis and Design (OOAD). It is a standardized specialization
language that can be used for Object Modeling. It has been defined by the Object
Management Group (OMG) and has already become the de-facto standard for designing
Object-Oriented Software Applications. In the field of software engineering, the UML is
a standardized specification language for object modeling. UML is a general-purpose
modeling language that includes a graphical notation used to create an abstract model of a
system, referred to as a UML Model.

Introduction to UML:
According to the OMG specification, "The Unified Modeling Language (UML) is a
graphical language for visualizing, specifying, constructing, and documenting the
artifacts of a software- intensive system. UML offers a standard way to write a system's
blueprints, including conceptual things, such as business processes and system functions
as well as concrete things such as programming language statements, database schemas,
and reusable software components."

The UML is purely process independent, i.e., it is not tied up with a SDLC (Software
development life cycle) process. The basic purpose behind UML modeling is visualizing,
constructing, specifying and documenting a system. It should be noted that UML is a
standard; it is not a methodology, process or a procedure. Rather, we use UML as a
standard that uses some predefined standard notations with a view to modeling and
defining a software system, to document it and define the artifacts involved.

UML is not restricted to modeling software. UML is also used for business process
modeling, systems engineering modeling and representing organizational structures.
UML has been a catalyst for the evolution of model-driven technologies, which include
Model Driven Development (MDD), Model Driven Engineering (MDE), and Model
Driven Architecture (MDA).
Goals of UML:

The UML was invented primarily to address the challenges faced in the design and
architecture of complex systems. The basic objectives or goals behind UML modeling
are:

Define an easy to use and visual modeling language for modeling a system's
structure

Provide extensibility

Be language and platform independent so that it can be used for modeling a


system irrespective of the language and platform in which the system is designed
and implemented

Incorporate the best possible practices at par with the industry standards

Provide support for Object Orientation, design and apply frameworks and patterns

UML Diagrams:

In UML there are various models that define the notation and semantics for a wide
variety of domains. The UML models depict how the classes and objects in a system
interact with one another. UML diagrams are used to provide a graphical representation
of the system being modeled. UML 2.0 defines thirteen diagrams that are broadly
classified into three categories with each category containing one or more diagrams that
fall under that category. These categories are:

1) The Structural Diagrams

The Structural Diagrams relate to the static structure of a system, i.e., they represent
elements that are static in nature. These diagrams are fundamental to the UML modeling
of a system and portray the static structure of the system as a whole. The Structural
Diagrams are comprised of the following:

The Class diagram

The Component diagram


The Composite Structure diagram

The Deployment diagram

The Object diagram

The Package diagram

2) The Behavioral Diagrams

The Behavioral Diagrams model how the system functions. These comprise of:

Use Case Diagram

Activity Diagram

State Machine Diagram

3) The Interaction Diagrams

These 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:

Communication Diagram

Sequence Diagram

UML Timing Diagram

Interaction Overview Diagram

UML Modeling:

The basic purpose behind UML modeling is visualizing, constructing, specifying and
documenting a system. UML is a modeling language and a universally accepted standard
used to provide a structure to the entire system, manage complexities of the system and
cut down on the development costs. However, most of the software projects developed
around the globe do not follow any specific modeling technique to avoid the perceived
risk and complexity in Object Oriented modeling of large systems. The semantics defined
in the language are based on the software systems; they do not have complete support for
systems of other domains. Moreover, the UML is still incomplete in its support for
components. "While modeling software is useful, it will not solve all design issues. Smart
people and a good methodology are a must. But if used correctly, UML and the modeling
process can help improve quality, completeness, and scalability and reduce production
time in many software projects."

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 compo nents.
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

The highlights of UML 2.0 functionality:

1) The new developments in UML 2.0 can be grouped into the following categories:

2) A significantly increased degree of precision in the definition of the language.

3) An improved language organization

4) Significant improvements in the ability to model large-scale software systems


5) Improved support for domain- specific specialization

6) Overall consolidation, rationalization, and clarifications of various modeling concepts

7) Nested Classifiers: In UML, almost every model building block you work with
(classes, objects, components, behaviors such as activities and state machines, and
more) is a classifier. In UML 2.0, you can nest a set of classes inside the component
that manages them, or embed a behavior (such as a state machine) inside the class or
component that implements it. This capability also lets you build up complex
behaviors from simpler ones, the capability that defines the Interaction Overview
Diagram.

8) Improved Behavioral Modeling: In UML 1.X, the different behavioral models were
independent, but in UML 2.0, they all derive from a fundamental definition of a
behavior.

9) Improved relationship between Structural and Behavioral Models: UML 2.0 lets you
designate that a behavior represented by (for example) a State Machine or Sequence
Diagram is the behavior of a class or a component.

That is, the new language goes well beyond the Classes and Objects well- modeled by
UML 1.X to add the capability to represent not only behavioral models, but also
architectural models, business process and rules, and other models used in many different
parts of computing and even non-computing disciplines.

During the upgrade process, several additions to the language were incorporated into it,
including the Object Constraint Language (OCL) and Action Semantics.

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.
References:

Grady Booch, et al: The Unified Modeling Language User Guide, Addison-
Wesley
James Rumbaugh, et al: The Unified Modeling Language Reference Manual,
Addison-Wesley
The UML Center UML Information, UML Events, Articles and Publications,
Industry Links, UML Tools.

S-ar putea să vă placă și