Professional Documents
Culture Documents
AND UML
CSC 417
By
Dr. Salamudeen Alhassan
ByDr. Salamudeen Alhassan ADVANCED PROGRAMMING WITH JAVA AND UML March 22, 2022 2 / 24
Overview of UML
ByDr. Salamudeen Alhassan ADVANCED PROGRAMMING WITH JAVA AND UML March 22, 2022 3 / 24
Overview of UML
Goals of UML
To define some general purpose modeling language which is
simple to understand and use by all modelers.
A conceptual model is the first step before drawing a UML
diagram.
It helps to understand the entities in the real world and how they
interact with each other.
Three major elements
UML building blocks
Rules to connect the building blocks
Common mechanisms of UML
ByDr. Salamudeen Alhassan ADVANCED PROGRAMMING WITH JAVA AND UML March 22, 2022 4 / 24
Building Blocks of UML
Things
Relationships
Diagrams
ByDr. Salamudeen Alhassan ADVANCED PROGRAMMING WITH JAVA AND UML March 22, 2022 5 / 24
Building Blocks of UML - Things
They are the most important building blocks of UML. They can be
Structural
Behavioral
Grouping
Annotational
ByDr. Salamudeen Alhassan ADVANCED PROGRAMMING WITH JAVA AND UML March 22, 2022 6 / 24
Building Blocks of UML - Things
Use case It represents a set of actions performed by a system for a specific goal.
ByDr. Salamudeen Alhassan ADVANCED PROGRAMMING WITH JAVA AND UML March 22, 2022 7 / 24
Building Blocks of UML - Things
State machine It defines the sequence of states an object goes through in response to
events.
ByDr. Salamudeen Alhassan ADVANCED PROGRAMMING WITH JAVA AND UML March 22, 2022 8 / 24
Building Blocks of UML - Things
ByDr. Salamudeen Alhassan ADVANCED PROGRAMMING WITH JAVA AND UML March 22, 2022 9 / 24
Building Blocks of UML - Things
ByDr. Salamudeen Alhassan ADVANCED PROGRAMMING WITH JAVA AND UML March 22, 2022 10 / 24
Building Blocks of UML - Relationships
They show how the elements are associated with each other and this
association describes the functionality of an application.
The four kinds of Relationships
Name Description Symbol
Association It is a set of links that connects the elements of a UML model. It also
describes how many objects are taking part in that relationship.
ByDr. Salamudeen Alhassan ADVANCED PROGRAMMING WITH JAVA AND UML March 22, 2022 11 / 24
Architecture
ByDr. Salamudeen Alhassan ADVANCED PROGRAMMING WITH JAVA AND UML March 22, 2022 12 / 24
Modeling Types - Structural Modeling
ByDr. Salamudeen Alhassan ADVANCED PROGRAMMING WITH JAVA AND UML March 22, 2022 13 / 24
Modeling Types - Behavioral Modeling
ByDr. Salamudeen Alhassan ADVANCED PROGRAMMING WITH JAVA AND UML March 22, 2022 14 / 24
Modeling Types - Architectural Modeling
ByDr. Salamudeen Alhassan ADVANCED PROGRAMMING WITH JAVA AND UML March 22, 2022 15 / 24
UML - Notations
Structural Things
Notation Symbol
Class
Object
ByDr. Salamudeen Alhassan ADVANCED PROGRAMMING WITH JAVA AND UML March 22, 2022 16 / 24
UML - Notations
Structural Things
Notation Symbol
Interface
Collaboration
Use Case
ByDr. Salamudeen Alhassan ADVANCED PROGRAMMING WITH JAVA AND UML March 22, 2022 17 / 24
UML - Notations
Structural Things
Notation Symbol
Actor
Initial State
Final State
ByDr. Salamudeen Alhassan ADVANCED PROGRAMMING WITH JAVA AND UML March 22, 2022 18 / 24
UML - Notations
Structural Things
Notation Symbol
Active Class
Component
Node
ByDr. Salamudeen Alhassan ADVANCED PROGRAMMING WITH JAVA AND UML March 22, 2022 19 / 24
UML - Notations
Behavioral Things
Notation Symbol
Interaction
ByDr. Salamudeen Alhassan ADVANCED PROGRAMMING WITH JAVA AND UML March 22, 2022 20 / 24
UML - Notations
Behavioral Things
Notation Symbol
State Machine
ByDr. Salamudeen Alhassan ADVANCED PROGRAMMING WITH JAVA AND UML March 22, 2022 21 / 24
UML - Notations
Grouping Things
Notation Symbol
Package
ByDr. Salamudeen Alhassan ADVANCED PROGRAMMING WITH JAVA AND UML March 22, 2022 22 / 24
UML - Notations
Annotational Things
Notation Symbol
Note
ByDr. Salamudeen Alhassan ADVANCED PROGRAMMING WITH JAVA AND UML March 22, 2022 23 / 24
UML - Notations
Relationships Things
Notation Symbol
Dependency
Association
Generalization
Extensibility
ByDr. Salamudeen Alhassan ADVANCED PROGRAMMING WITH JAVA AND UML March 22, 2022 24 / 24