SlideShare a Scribd company logo
1 of 33
Unified Modeling Language
(UML)
CSCI 6050 Software Engineering
January 19, 2005
Trentin Bishop
Micah Lewis
Amit Mathew
Rufin Tshinanga
Stephen Upchurch
Why do we need models?
To create a simplified representation
of a real software system
What is UML?
A popular, standardized modeling
language for object-oriented software
The Object Management Group (OMG) is
the group that dictates the UML standard
Created by Grady Booch, James
Rumbaugh, and Ivar Jacobson
UML Models
Functional Models
Use case diagrams
Structural Models
Class diagrams
Dynamic/Behavioral Models
Statechart diagrams
Sequence diagrams
Activity diagrams
UML Conventions
Rectangles are classes or instances
Ovals are functions or use cases
Instances are underlined
Types are not underlined
Use case diagrams
Use case diagrams
Describes the functional behavior of the system
from the user’s point of view
Used during the requirements elicitation stage to
represent external behavior
Actor: User, external system, or a physical
environment
Use case: a class of functionality provided by
the system as an event flow
Has entry and exit conditions, flow of events, and
participating actors
Use case diagram symbols
Actor
Relationships
Use case
System
Use case example
Find arrival times
Report location
Report error
GPS System
Passenger
Use case example explanation
Actors don’t have to be people
Shows how actors interact with the
system
Three use cases
Class diagrams
UML Class Diagram
Depict the classes within the model
Illustrates the class attributes (member
variables), operations (member functions),
and relationships with other classes
UML Class Diagram Symbols
CLASS Class Name
Composition relationship
Class 1 is composed of a Class 2
Class 1 Class 2
Inheritance relationship
Class 2 and Class 3 derive from Class 1
#
Number of links each class object
may contain
Class 1
Class 2 Class 3
Class 1 Class 2 Aggregation
A collection of other classes
UML Class Diagram Example
SimpleWatch
PushButton Display Battery Time
1
1111
1 22
SimpleWatch class contains
2 PushButtons
1 Display
2 Batteries
1 Time
UML Class Diagram Example
http://pigseye.kennesaw.edu/~dbraun/csis4650/A&D/UML_tutorial/class.htm
UML Class Diagram Example
The class Order is associated with the class Customer
The multiplicity denotes the number of objects
For example, Order object can be associated only one customer
but a customer can be associated to many orders
Statechart diagrams
UML Statechart Diagram
A statechart diagram shows the behavior
of classes in response to external stimuli
This diagram models the dynamic flow of
control from state to state within a system.
Basic Statechart Diagram Symbols and
Notations
 States represent situations
during the life of an object
 A solid arrow represents the
path between different
states of an object
 A filled circle followed by an
arrow represents the
object's initial state.
 An arrow pointing to a filled
circle nested inside another
circle represents the object's
final state.
Description of state chart diagram
 State:
 Display alarm time
 Display clock time
 No sound
 Sound on
 Buzzing
 Playing radio
 Transition:
 On
 Off
 Hold alarm
 Alarm switch off
 Change Hrs/Min
 Radio
 Activity:
 Do/wait for clock time to alarm time
Sequence diagrams
Sequence Diagrams
Describe the dynamic behavior between
actors and the system and between
objects of the system
Used during requirements analysis
To refine use case descriptions
To find additional objects
Used during system design
To refine subsystem interfaces
Sequence diagram notation
Classes are represented by columns
Messages are represented by arrows
Activations represented by narrow
rectangles
Lifelines are represented by dashed lines
Example:- sequence diagram for SimpleWatch
O
- | - :SimpleWatch :Display :Time
/  | | |
:WatchUser | | |
pressButton1() blinkHours() |
――――――― ―――――――――――― |
pressButton1() | blinkMinutes() | |
――――――― ―――――――――――― |
|
pressButton2() | | |
――――――― | incrementMinutes() |
――――――――――――――――――――――――――――――
| | refresh()
pressButton1And2() | ―――――――――――――
――――――― |
| commitNewTime() |
―――――――――――――――――――――――――――――――
|
stopBlinking()
―――――――――――――
Example cont.
-The left-most column represents the timeline of the WatchUser who initiates the use
case.
-The other columns represent the timeline of the objects that participate in this use case.
References: Page 33 Object-Oriented Software Engineering Bernd Bruegge, Allen H. Dutoit
Activity diagrams
Activity Diagrams
Used to represent the behavior of a system in terms of
activities and their precedence constraints
Compared to flowchart diagrams because …
 They can be used to represent control flow (order in which
operations occur)
 They can be used to represent data flow (objects exchanged
among operations)
The completion of an activity triggers an outgoing transition
which may initiate another activity
Symbols
- Synchronization of the control flow
- Activities in the system
- Transitions between activities
Activity Diagram Example
Open
Incident
Document
Incident
Allocate
Resources
Coordinate
Resources
Archive
Incident
Example Explained
The 1st
activity initiated is Open Activity. After all the
operations in this activity have been executed, the
activities Allocate Resources, Coordinate Resources &
Document Incident are initiated. (Note: There is a
complex transition between Open Activity and the next
three activities).
These three activities may occur in sequence or
concurrently.
Even if the three activities don’t occur concurrently,
Archive Incident is not initiated until all three have been
completed.
References
B. Bruegge, A. Dutoit. Object-Oriented
Software Engineering: Using UML,
Patterns and Java, Second Edition. 2003.
Questions?

More Related Content

Similar to Uml

A novel methodology for test scenario generation based on control flow analys...
A novel methodology for test scenario generation based on control flow analys...A novel methodology for test scenario generation based on control flow analys...
A novel methodology for test scenario generation based on control flow analys...
eSAT Publishing House
 

Similar to Uml (20)

Uml 9
Uml 9Uml 9
Uml 9
 
SE18_Lec 10_ UML Behaviour and Interaction Diagrams
SE18_Lec 10_ UML Behaviour and Interaction DiagramsSE18_Lec 10_ UML Behaviour and Interaction Diagrams
SE18_Lec 10_ UML Behaviour and Interaction Diagrams
 
UML.pptx
UML.pptxUML.pptx
UML.pptx
 
SE_Lec 09_ UML Behaviour Diagrams
SE_Lec 09_ UML Behaviour DiagramsSE_Lec 09_ UML Behaviour Diagrams
SE_Lec 09_ UML Behaviour Diagrams
 
0136061257
01360612570136061257
0136061257
 
ch2lect.ppt
ch2lect.pptch2lect.ppt
ch2lect.ppt
 
Ch 2.1
Ch 2.1Ch 2.1
Ch 2.1
 
State-Machine-Diagram.pptx
State-Machine-Diagram.pptxState-Machine-Diagram.pptx
State-Machine-Diagram.pptx
 
Lecture 13 requirements modeling - flow & behavior (2)
Lecture 13   requirements modeling - flow &  behavior (2)Lecture 13   requirements modeling - flow &  behavior (2)
Lecture 13 requirements modeling - flow & behavior (2)
 
Lecture 4.pdf
Lecture 4.pdfLecture 4.pdf
Lecture 4.pdf
 
18540PhDreport.pdf
18540PhDreport.pdf18540PhDreport.pdf
18540PhDreport.pdf
 
Unit 3 system models
Unit 3 system modelsUnit 3 system models
Unit 3 system models
 
Unit 3(advanced state modeling & interaction meodelling)
Unit  3(advanced state modeling & interaction meodelling)Unit  3(advanced state modeling & interaction meodelling)
Unit 3(advanced state modeling & interaction meodelling)
 
Jar chapter 4, part 1
Jar chapter 4, part 1Jar chapter 4, part 1
Jar chapter 4, part 1
 
UML
UMLUML
UML
 
02_IT4557.pptx
02_IT4557.pptx02_IT4557.pptx
02_IT4557.pptx
 
uml.ppt
uml.pptuml.ppt
uml.ppt
 
CS8592-OOAD Lecture Notes Unit-3
CS8592-OOAD Lecture Notes Unit-3CS8592-OOAD Lecture Notes Unit-3
CS8592-OOAD Lecture Notes Unit-3
 
A novel methodology for test scenario generation based on control flow analys...
A novel methodology for test scenario generation based on control flow analys...A novel methodology for test scenario generation based on control flow analys...
A novel methodology for test scenario generation based on control flow analys...
 
4. UML
4. UML4. UML
4. UML
 

More from cherrybear2014

More from cherrybear2014 (12)

Excel.t01
Excel.t01Excel.t01
Excel.t01
 
Excel functions
Excel functionsExcel functions
Excel functions
 
Basics excel 20102
Basics excel 20102Basics excel 20102
Basics excel 20102
 
Session2
Session2Session2
Session2
 
11 scripting languages
11 scripting languages11 scripting languages
11 scripting languages
 
5 software design
5 software design5 software design
5 software design
 
Table tags 2
Table tags 2Table tags 2
Table tags 2
 
Intro to html
Intro to htmlIntro to html
Intro to html
 
Designing the product page
Designing the product pageDesigning the product page
Designing the product page
 
Conditional statements
Conditional statementsConditional statements
Conditional statements
 
Check,combo,list,picture box
Check,combo,list,picture boxCheck,combo,list,picture box
Check,combo,list,picture box
 
Forms and buttons
Forms and buttonsForms and buttons
Forms and buttons
 

Recently uploaded

Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 

Recently uploaded (20)

ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdf
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
A Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source MilvusA Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source Milvus
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 

Uml

  • 1. Unified Modeling Language (UML) CSCI 6050 Software Engineering January 19, 2005 Trentin Bishop Micah Lewis Amit Mathew Rufin Tshinanga Stephen Upchurch
  • 2. Why do we need models? To create a simplified representation of a real software system
  • 3. What is UML? A popular, standardized modeling language for object-oriented software The Object Management Group (OMG) is the group that dictates the UML standard Created by Grady Booch, James Rumbaugh, and Ivar Jacobson
  • 4. UML Models Functional Models Use case diagrams Structural Models Class diagrams Dynamic/Behavioral Models Statechart diagrams Sequence diagrams Activity diagrams
  • 5. UML Conventions Rectangles are classes or instances Ovals are functions or use cases Instances are underlined Types are not underlined
  • 7. Use case diagrams Describes the functional behavior of the system from the user’s point of view Used during the requirements elicitation stage to represent external behavior Actor: User, external system, or a physical environment Use case: a class of functionality provided by the system as an event flow Has entry and exit conditions, flow of events, and participating actors
  • 8. Use case diagram symbols Actor Relationships Use case System
  • 9. Use case example Find arrival times Report location Report error GPS System Passenger
  • 10. Use case example explanation Actors don’t have to be people Shows how actors interact with the system Three use cases
  • 12. UML Class Diagram Depict the classes within the model Illustrates the class attributes (member variables), operations (member functions), and relationships with other classes
  • 13. UML Class Diagram Symbols CLASS Class Name Composition relationship Class 1 is composed of a Class 2 Class 1 Class 2 Inheritance relationship Class 2 and Class 3 derive from Class 1 # Number of links each class object may contain Class 1 Class 2 Class 3 Class 1 Class 2 Aggregation A collection of other classes
  • 14. UML Class Diagram Example SimpleWatch PushButton Display Battery Time 1 1111 1 22 SimpleWatch class contains 2 PushButtons 1 Display 2 Batteries 1 Time
  • 15. UML Class Diagram Example http://pigseye.kennesaw.edu/~dbraun/csis4650/A&D/UML_tutorial/class.htm
  • 16. UML Class Diagram Example The class Order is associated with the class Customer The multiplicity denotes the number of objects For example, Order object can be associated only one customer but a customer can be associated to many orders
  • 18. UML Statechart Diagram A statechart diagram shows the behavior of classes in response to external stimuli This diagram models the dynamic flow of control from state to state within a system.
  • 19. Basic Statechart Diagram Symbols and Notations  States represent situations during the life of an object  A solid arrow represents the path between different states of an object  A filled circle followed by an arrow represents the object's initial state.  An arrow pointing to a filled circle nested inside another circle represents the object's final state.
  • 20.
  • 21. Description of state chart diagram  State:  Display alarm time  Display clock time  No sound  Sound on  Buzzing  Playing radio  Transition:  On  Off  Hold alarm  Alarm switch off  Change Hrs/Min  Radio  Activity:  Do/wait for clock time to alarm time
  • 23. Sequence Diagrams Describe the dynamic behavior between actors and the system and between objects of the system Used during requirements analysis To refine use case descriptions To find additional objects Used during system design To refine subsystem interfaces
  • 24. Sequence diagram notation Classes are represented by columns Messages are represented by arrows Activations represented by narrow rectangles Lifelines are represented by dashed lines
  • 25. Example:- sequence diagram for SimpleWatch O - | - :SimpleWatch :Display :Time / | | | :WatchUser | | | pressButton1() blinkHours() | ――――――― ―――――――――――― | pressButton1() | blinkMinutes() | | ――――――― ―――――――――――― | | pressButton2() | | | ――――――― | incrementMinutes() | ―――――――――――――――――――――――――――――― | | refresh() pressButton1And2() | ――――――――――――― ――――――― | | commitNewTime() | ――――――――――――――――――――――――――――――― | stopBlinking() ―――――――――――――
  • 26. Example cont. -The left-most column represents the timeline of the WatchUser who initiates the use case. -The other columns represent the timeline of the objects that participate in this use case. References: Page 33 Object-Oriented Software Engineering Bernd Bruegge, Allen H. Dutoit
  • 28. Activity Diagrams Used to represent the behavior of a system in terms of activities and their precedence constraints Compared to flowchart diagrams because …  They can be used to represent control flow (order in which operations occur)  They can be used to represent data flow (objects exchanged among operations) The completion of an activity triggers an outgoing transition which may initiate another activity
  • 29. Symbols - Synchronization of the control flow - Activities in the system - Transitions between activities
  • 31. Example Explained The 1st activity initiated is Open Activity. After all the operations in this activity have been executed, the activities Allocate Resources, Coordinate Resources & Document Incident are initiated. (Note: There is a complex transition between Open Activity and the next three activities). These three activities may occur in sequence or concurrently. Even if the three activities don’t occur concurrently, Archive Incident is not initiated until all three have been completed.
  • 32. References B. Bruegge, A. Dutoit. Object-Oriented Software Engineering: Using UML, Patterns and Java, Second Edition. 2003.

Editor's Notes

  1. Composition: Class 1 has Class 2 but Class 2 does not have Class 1