The Unified Modeling Language
The Unified Modeling Language
The Unified Modeling Language (UML) is a consolidation of the practices that have been
established over the years in the use of modeling languages. UML enables us to present the
widely varying aspects of a software system (e.g., requirements, data structures, data flows, and
information flows) within a single framework using object-oriented concepts. Before we venture
too deeply into UML, however, we will first explain why modeling is an indispensable part of
software development.
UML can be used consistently across the entire software development process. At all stages of
development, the same language concepts can be used in the same notation. Thus, a model can
be refined in stages. There is no need for a model to be translated into another modeling
language. This enables an iterative and incremental software development process. UML is well-
suited for various application areas with different requirements regarding complexity, data
volume, real time, etc.
Imagine that you want to develop a software system that a customer has ordered from you. One
of the first challenges you are confronted with is clarifying what the customer actually wants and
whether you have understood the customer’s exact requirements for the prospective system. This
first step is already critical for the success or failure of your project. The question is, how do you
communicate with your customer? Natural language is not necessarily a good choice as it is
imprecise and ambiguous. Misunderstandings can easily arise and there is a very great risk that
people with different backgrounds (e.g., a computer scientist and a business manager) will talk at
cross-purposes, which can have serious consequences. What you need is to be able to create a
model for your software. This model highlights the important aspects of the software in a clear
form
CLASS: In many object-oriented approaches, it is possible to define classes that describe the
attributes and the behavior of a set of objects (the instances of a class) abstractly and thus group
common features of objects. For example, people have a name, an address, and a social security
number. In a nutshell, a class it is a template for creating objects as well as representing objects
initial state ( attributes), behaviors (or methods).
Courses have a unique identifier, a title, and a description. Lecture halls have a name as well as a
location, etc. A class also defines a set of permitted operations that can be applied to the
instances of the class. For example, you can reserve a lecture hall for a certain date, a student
can register for an exam, etc. In this way, classes describe the behavior of objects.
OBJECT: The instances of a class are referred to as its objects. For example, lh1, the Lecture
Hall 1 of the Department of Computer Science, FCAH&PT, is a concrete instance of the class
LectureHall. In particular, an object is distinguished by the fact that it has its own identity, that
is, different instances of a class can be uniquely identified.
DIAGRAMS
2|Page
A model is represented graphically in the form of diagrams. A Diagram diagram provides a view
of that part of reality described by the model. There are diagrams that express which users use
which functionality and diagrams that show the structure of the system but without specifying
a concrete implementation. However, UML offers 14 diagrams that describe either the structure
or the behavior of a system.
STRUCTURE DIAGRAMS
UML offers seven types of diagrams for modeling the structure of a system from different
perspectives.
CLASS DIAGRAM: Central modeling technique use all object- oriented methods to represent
objects. describe the different types of objects in a system and the different kinds of static
relationships among them. It illustrates the structure of the system by describing classes,
attributes, methods and relationships between them.
OBJECT DIAGRAM: Based on the definitions of the related class diagram, an object shows a
concrete snapshot of the system state at a specific execution time. For example, an object
diagram could show that a professor Henry Foster (henryFoster) teaches the courses Object-
Oriented Modeling (oom) and Object-Oriented Programming (oop).
DEPLOYMENT DIAGRAM.: The hardware topology used and the runtime system assigned
can be represented by the deployment diagram. The hardware encompasses processing units in
the form of nodes as well as communication relationships between the nodes. A runtime system
contains artifacts that are deployed to the nodes.
THE PROFILE DIAGRAM: Using profiles, you can extend UML to introduce domain-
specific concepts. The actual core of the language definition of UML, the metamodel, remains
unchanged. You can thus reuse modeling tools without having to make adjustments. For
example, you can use profiles to introduce the concept of Java Enterprise Beans.
BEHAVIOR DIAGRAMS
With the behavior diagrams, UML offers the infrastructure that enables you to define behavior
in detail. Behavior refers to the direct consequences of an action of at least one object. It affects
how the states of objects change over time. Behavior can either be specified through the actions
of a single object or result from interactions between multiple objects.
behavior of an object in the form of possible states and state transitions triggered by various
events.
Sequence diagram The sequence diagram describes the interactions between objects to fulfill a
specific task, for example, registration for an exam in a university administration system. The
focus is on the chronological order of the messages exchanged between the interaction partners.
Various constructs for controlling the chronological order of the messages as well as concepts for
modularization allow you to model complex interactions.