Unified Modeling Language basics / PDF
Unified Modeling Language basics / PDF
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 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.......
Unified Modeling Language basics / PDF
0 commentaires: