UML - Overview
UML - Overview
UML is a standard language for specifying, visualizing, constructing, and documenting the artifacts
of software systems.
UML was created by the Object Management Group (OMG) and UML 1.0 specification draft was
proposed to the OMG in January 1997.
UML is different from the other common programming languages such as C++, Java, COBOL, etc.
UML is a pictorial language used to make software blueprints.
UML can be described as a general purpose visual modeling language to visualize, specify,
construct, and document software system.
Although UML is generally used to model software systems, it is not limited within this boundary.
It is also used to model non-software systems as well. For example, the process flow in a
manufacturing unit, etc.
UML is not a programming language but tools can be used to generate code in various languages
using UML diagrams. UML has a direct relation with object oriented analysis and design.
Goals of UML
A picture is worth a thousand words, this idiom absolutely fits describing UML. Object-oriented
concepts were introduced much earlier than UML. At that point of time, there were no standard
methodologies to organize and consolidate the object-oriented development. It was then that
UML came into picture.
UML diagrams are not only made for developers but also for business users, common people, and
anybody interested to understand the system. The system can be a software or non-software
system.
Use case diagrams are a set of use cases, actors, and their relationships. They represent the use case
view of a system.
Actors: A role that a user plays with respect to the system, including human users and other
systems. e.g.,inanimate physical objects (e.g. robot); an external system that needs some
information from the current system.
Use case: A set of scenarios that describing an interaction between a user and a system, including
alternatives.
System boundary: rectangle diagram representing the boundary between the actors and the
system.
Association: communication between an actor and a use case; Represented by a solid line.
Generalization: relationship between one general use case and a special use case (used for
defining special alternatives) Represented by a line with a triangular arrow head toward the
parent use case.
Class Diagram
Class diagrams are the most common diagrams used in UML. Class diagram consists of classes,
interfaces, associations, and collaboration. Class diagrams basically represent the object-oriented
view of a system, which is static in nature.
, it is generally used for development purpose. This is the most widely used diagram at the time of
system construction.
Class representation • Each class is represented by a rectangle subdivided into three compartments
– Name – Attributes – Operations
• Modifiers are used to indicate visibility of attributes and operations. – ‘+’ is used to denote Public
visibility (everyone) – ‘#’ is used to denote Protected visibility (friends and derived) – ‘-’ is used
to denote Private visibility (no one)
Association
If two classes in a model need to communicate with each other, there must be link between them.
An association denotes that link.
Sequence Diagram
From the name, it is clear that the diagram deals with some sequences, which are the sequence of
messages flowing from one object to another
Sequence diagram is used to visualize the sequence of calls in a system to perform a specific
functionality.
Collaboration Diagram :