Objective:: Introduction To UML UML Diagrams Overview Introduction To UMLET
Objective:: Introduction To UML UML Diagrams Overview Introduction To UMLET
OBJECTIVE:
Introduction to UML
UML diagrams overview
Introduction to UMLET
Introduction to UML
The UML is a visual modeling language that enables system builders to create blueprints that
capture their visions in a standard, easy to understand way, and provides a mechanism to effectively
share and communicate these visions with others.
The UML is very important part of developing object oriented software and the software
development process. The UML uses mostly graphical notations to express the design of software
projects.
Goals of UML
Provide users with a ready-to-use, expressive visual modeling language so they can develop
and exchange meaningful models.
Provide extensibility and specialization mechanisms to extend the core concepts.
Be independent of particular programming languages and development processes.
Provide a formal basis for understanding the modeling language.
Encourage the growth of the OO tools market.
Support higher-level development concepts such as collaborations, frameworks, patterns
and components.
Integrate best practices.
To understand the UML, you need to form a conceptual model of the language, and this requires
learning three major elements. Elements:
1
Software Design and Architecture
Basic Building Blocks of the UML
Things
Relationships
Diagrams
Structural Things
These are the Nouns and Static parts of the model. These are representing conceptual or physical
elements.
1. Class
2. Interface
3. Collaboration
4. Use Case
5. Active Class
6. Component
7. Node
2
Software Design and Architecture
Figure 1: Structural Things
Behavioral Things
Interaction
Is a behavior of a set of objects comprising of a set of messages exchanges within a particular
context to accomplish a specific purpose.
State Machine
It is a behavior that specifies the sequences of states an object or an interaction goes through during
its lifetime in response to events, together with its responses to those events.
3
Software Design and Architecture
Grouping Things
These are the organizational parts of the UML models. There is only one primary kind of group
thing:
Packages
Annotational Things
These are Explanatory parts of UML models. These are the Comments regarding other UML
elements (usually called adornments in UML). There is only one primary kind of annotational
thing:
Note
A note is simply a symbol for rendering constraints and comments attached to an element or
collection of elements. Is a best expressed in informal or formal text.
Relationships
1. Dependency
2. Association
3. Generalization
4. Realization
4
Software Design and Architecture
Dependency
Is a semantic relationship between two things in which a change to one thing (the independent
thing) may affect the semantics of the other thing (the dependent thing).
Association
Is a structural relationship that describes a set of links, a link being a connection among objects.
Aggregation
Generalization
5
Software Design and Architecture
Realization
It is a semantic relationship between two elements, wherein one element guarantees to carry out
what is expected by the other element.
Diagrams overview
• Class Diagram;
• Object Diagram
• Use case Diagram
• Sequence Diagram;
• Collaboration Diagram
• State chart Diagram
• Activity Diagram
• Component Diagram
• Deployment Diagram
6
Software Design and Architecture
LAB TASKS
Draw the following diagrams using any software for practice:
7
Software Design and Architecture
Figure 4: Sequence diagram for soda machine
8
Software Design and Architecture