Module 41
Module 41
Module 41
• Discuss the overview of Unified Modeling Language (UML)
Objectives &
Outline
Overview of
UML
Why UML?
What is the UML?
What is the UML
not?
History of UML
UML
Diagrams
Diagram
Classification
Features of
Behavioral Diagrams
Features of
Structural Diagrams
SDLC Phases
Phase-wise
Diagrams
Requirements
Specification Phase
Analysis Phase
Design Phase CS20202: Software Engineering 2
Module Outline
Module 41
• Overview of UML
◦ Why UML?
Objectives &
Outline ◦ What is the UML?
Overview of
UML
◦ What is UML is not?
Why UML? ◦ History of UML
What is the UML?
What is the UML
not?
• UML Diagrams
History of UML
◦ Diagram Classification
UML
Diagrams ◦ Features of Structural Diagrams
Diagram
Classification ◦ Features of Behavioral Diagrams
Features of
Behavioral Diagrams
Features of
Structural Diagrams
SDLC Phases
Phase-wise
Diagrams
Requirements
Specification Phase
Analysis Phase
Design Phase CS20202: Software Engineering 3
Why UML?
Module 41
A notation for system analysis and design
• Is a standard
Objectives &
Outline
• Helps a designer or developer to capture artifacts of software
Overview of
UML
design
Why UML?
What is the UML? • Eliminates the issues of consistencies and accuracy in software
What is the UML
not?
design and analysis
History of UML
UML
• Minimizes vagueness and imprecision in expression
Diagrams
Diagram • Facilitates robust communication within the teams and with client
Classification
Features of
Behavioral Diagrams
Features of
Structural Diagrams
SDLC Phases
Phase-wise
Diagrams
Requirements
Specification Phase
Analysis Phase
Design Phase CS20202: Software Engineering 4
What is the UML?
Module 41
UML
• Provides users with an expressive modeling language
Objectives & ◦ for the specification, construction, visualization, and documentation of
Outline the artifacts of a software system
Overview of ◦ for the construction of different kinds of models
UML ◦ for the exchange of models
Why UML?
What is the UML? • Provides users with ready-to-use core concepts
What is the UML
not?
◦ however, extensibility and specialization mechanisms are available
History of UML
• Provides a formal basis for understanding the modeling language
UML
Diagrams
◦ meta-model in terms of a UML class diagram
Diagram
◦ Semantics is part of the official UML documentation
Classification
Features of
• Supports higher-level development concepts
Behavioral Diagrams
Features of
◦ such as collaborations, patterns, and components
Structural Diagrams
SDLC Phases
• Integrates Best Practices
Phase-wise
Diagrams
Requirements
Specification Phase
Analysis Phase
Design Phase CS20202: Software Engineering 5
What is the UML not?
Module 41
UML does not prescribe
• a certain process
Objectives &
Outline
• a certain modeling tool
Overview of
UML • any modeling guidelines
Why UML?
What is the UML?
What is the UML
• a certain programming language
not?
History of UML
Dedicated goal of UML is: OPENNESS
UML
Diagrams
Diagram
Classification
Features of
Behavioral Diagrams
Features of
Structural Diagrams
SDLC Phases
Phase-wise
Diagrams
Requirements
Specification Phase
Analysis Phase
Design Phase CS20202: Software Engineering 6
How UML was formed?
Module 41
Phase-wise
Diagrams
Requirements
Specification Phase
Analysis Phase
Design Phase CS20202: Software Engineering 7
Diagram Classification: UML 2.5
Module 41
Objectives &
Outline
Overview of
UML
Why UML?
What is the UML?
What is the UML
not?
History of UML
UML
Diagrams
Diagram
Classification
Features of
Behavioral Diagrams
Features of
Structural Diagrams
SDLC Phases
Phase-wise
Diagrams
Requirements
Specification Phase
Analysis Phase
Design Phase CS20202: Software Engineering 8
Diagram Classification: UML 2.5
Module 41
• Structural Diagrams show the static structure of the
system and its parts on different abstraction and
Objectives &
Outline implementation levels and how they are related to each
Overview of other
UML
Why UML? ◦ The elements in a structure diagram represent the
What is the UML?
What is the UML meaningful concepts of a system, and may include
not?
History of UML abstract, real world and implementation concepts
UML
Diagrams • Behavioral Diagrams show the dynamic behavior of the
Diagram
Classification objects in a system, which can be described as a series of
Features of
Behavioral Diagrams changes to the system over time
Features of
Structural Diagrams
Source: UML 2.5 Diagrams Overview: http://www.uml-diagrams.org/uml-25-diagrams.html (10-Aug-16)
SDLC Phases
Phase-wise
Diagrams
Requirements
Specification Phase
Analysis Phase
Design Phase CS20202: Software Engineering 9
Behavioral Diagrams
Module 41
SDLC Phases
Phase-wise
Diagrams
Requirements
Specification Phase
Analysis Phase
Design Phase CS20202: Software Engineering 10
Behavioral Diagrams: Interaction Diagrams
Module 41
Module 41
• Class diagrams models the analysis and design of the static view
of an application. It captures the key abstractions of the system
Objectives &
Outline at the first level, and is later refined with details of every
Overview of
abstraction for reference
UML
Why UML? • Object diagrams represents an instance of a class diagram. It is
What is the UML?
What is the UML
used to capture the static view of a system at a particular moment
not?
History of UML
• Package diagrams encapsulates the major components of a
UML
Diagrams
system and highlights the dependencies. It is used to capture the
Diagram dependencies between the major components of a system
Classification
Features of
Behavioral Diagrams
Features of
Structural Diagrams
SDLC Phases
Phase-wise
Diagrams
Requirements
Specification Phase
Analysis Phase
Design Phase CS20202: Software Engineering 12
Structural Diagrams
Module 41
Module 41
Objectives &
Outline
Overview of
UML
Why UML?
What is the UML?
What is the UML
not?
History of UML
UML
Diagrams
Diagram
Classification
Features of
Behavioral Diagrams
Features of
Structural Diagrams
SDLC Phases
Phase-wise
Diagrams
Requirements
Specification Phase
Analysis Phase
Design Phase CS20202: Software Engineering 14
Models of the Requirements Specification Phase
Module 41
Objectives &
Outline
Overview of
UML
Why UML?
What is the UML?
What is the UML
not?
History of UML
UML
Diagrams
Diagram
Classification
Features of
Behavioral Diagrams
Features of
Structural Diagrams
SDLC Phases
Phase-wise
Diagrams
Requirements
Specification Phase
Analysis Phase
Design Phase CS20202: Software Engineering 15
Output of the Requirements Specification Phase
Module 41
Objectives &
Outline
Overview of
UML
Why UML?
What is the UML?
What is the UML
not?
History of UML
UML
Diagrams
Diagram
Classification
Features of
Behavioral Diagrams
Features of
Structural Diagrams
SDLC Phases
Phase-wise
Diagrams
Requirements
Specification Phase
Analysis Phase
Design Phase CS20202: Software Engineering 16
Models of the Analysis Phase
Module 41
Objectives &
Outline
Overview of
UML
Why UML?
What is the UML?
What is the UML
not?
History of UML
UML
Diagrams
Diagram
Classification
Features of
Behavioral Diagrams
Features of
Structural Diagrams
SDLC Phases
Phase-wise
Diagrams
Requirements
Specification Phase
Analysis Phase
Design Phase CS20202: Software Engineering 17
Output of the Analysis Phase
Module 41
Objectives &
Outline
Overview of
UML
Why UML?
What is the UML?
What is the UML
not?
History of UML
UML
Diagrams
Diagram
Classification
Features of
Behavioral Diagrams
Features of
Structural Diagrams
SDLC Phases
Phase-wise
Diagrams
Requirements
Specification Phase
Analysis Phase
Design Phase CS20202: Software Engineering 18
Models of the Design Phase
Module 41
Objectives &
Outline
Overview of
UML
Why UML?
What is the UML?
What is the UML
not?
History of UML
UML
Diagrams
Diagram
Classification
Features of
Behavioral Diagrams
Features of
Structural Diagrams
SDLC Phases
Phase-wise
Diagrams
Requirements
Specification Phase
Analysis Phase
Design Phase CS20202: Software Engineering 19
Output of the Design Phase
Module 41
Objectives &
Outline
Overview of
UML
Why UML?
What is the UML?
What is the UML
not?
History of UML
UML
Diagrams
Diagram
Classification
Features of
Behavioral Diagrams
Features of
Structural Diagrams
SDLC Phases
Phase-wise
Diagrams
Requirements
Specification Phase
Analysis Phase
Design Phase CS20202: Software Engineering 20
Phases for System Implementation
Module 41
• The other phases of SDLC
◦ Implementation
Objectives &
Outline ◦ Test
Overview of
UML
◦ Deployment
Why UML? ◦ Maintenance
What is the UML?
What is the UML
not?
implement the models defined in earlier phases
History of UML
• The Diagrams are used to implement the respective
UML
Diagrams components in the implementation
Diagram
Classification
Features of
• These are implemented using various OOP languages, and
Behavioral Diagrams
Features of
some models continue to be used
Structural Diagrams
SDLC Phases
Phase-wise
Diagrams
Requirements
Specification Phase
Analysis Phase
Design Phase CS20202: Software Engineering 21