SlideShare uma empresa Scribd logo
1 de 50
1
UML - Module Objectives
‱ At the end of this module, participants will be
able to:
– Explain the background behind UML and its use
in software design and development
– Describe when and how to apply the following
diagrams:
‱ Use Case Diagrams
‱ Class Diagrams
‱ Sequence Diagrams
‱ State Diagrams
2
UML
‱ UML stands for Unified Modeling Language
‱ It is a standard language for specifying, visualizing, constructing,
and documenting the components of systems
‱ UML is independent of particular programming languages and
development processes
3
Introduction to Case Study Activity
‱ Introduction to Client: Extreme Exploration
– Medium-sized retailer of outdoor apparel, accessories, and camping
gear.
– Existing website created by a graphic design firm and currently
provides information, such as store locations and phone numbers.
‱ Problem Domain
– Competitors have advantage online.
– First attempt at creating ecommerce presence failed due to lack of
expertise and methodology-driven approach.
4
Introduction to Case Study Activity
‱ Business Goals
– Create online shopping catalog
– Expand product offerings by leveraging products of business partner
“Adventure-1”
– Allow for an enhanced purchasing experience
‱ Identified functional areas
– Catalog browsing
– Shopping cart
– User account
– Checkout
5
Use Case Diagrams
‱ Useful in determining initial system requirements and
functionalities
‱ Displays relationships and interactions between actors and the
systems they act upon
‱ Identifies the ‘actors’ in a system and the various cases that the
actors might interact with the system
6
Use Case Diagrams (cont.)
‱ Actors represent an entity that initiates the interaction with the
system
‱ An actor can represent a user, organization, or another external
system
Student Batch System
Faculty
7
Use Case Diagrams (cont.)
‱ A ‘use case’ represents a possible interaction between the actor
and the system
‱ Each use case is a high level description of a functionality that
must be supported by the system
Enroll Subject
Get Subject
Prerequisites
Check Current
Schedule
8
Use Case Diagrams (cont.)
‱ An interaction between an actor and a system is denoted by a line marked by a
<<uses>> tag
‱ This can be interpreted as “The (actor) can use the system to <<use case>>”
‱ Rectangle box called as system boundary box can be drawn to represent
scope of the use case
Student
Enroll Subject
Get Subject
Prerequisites
Check Current
Schedule
«uses»
«uses»
«uses»
Faculty
Get Enrolled
Students by Subject «uses»
«uses»
9
Use Case Diagrams
‱ It is also possible to establish a relationship as a dependency
between two use cases using the <<extends>> line
‱ An <<extends>> line indicates that the use case is dependent
on another use case in order to perform the functionality
Extension
use case
Base use
case
Perform Security Check Student Enrolment
<<extends>>
10
Use Case Diagrams
‱ Use Cases describe a sequence of actions the application
performs for an actor.
‱ Use Cases are identified as a team exercise.
– Identify actors and Use Cases
– Define interactions between actors and Use Cases
– Describe Use Case steps and combine similar Use Cases
11
Activity – Use Case Diagram
Status of the Extreme Exploration project:
‱ The Plan phase is complete and the Business Analyst group is
Analyzing the Business Process.
Task to be performed in the Analysis phase:
– The use case diagram to be created
12
Library Mgmt. System
13
Library Mgmt. System Example 2
14
15
16
17
Class Diagrams
‱ Class diagrams are used to describe classes of objects in terms
of their names, attributes, and operations
‱ Class diagrams are used to describe the relationship between
the objects in a system
18
Class Diagrams (cont.)
‱ A Class diagram is composed of a
class icon that defines the class itself
‱ The class icon describes the name of
the class, the attributes of a class, and
the behaviors/operations of a class
+enrollSubject()
+dropSubject()
+getCurrentSchedule()
-Name : String
-BirthDate : Date
-Grade : Integer
-Subjects[] : Subject
Student
19
Class Diagrams (cont.)
‱ Associations are the representation of relationships between
classes that communicate with one another.
‱ There are several types of associations to consider:
– Multiplicity
– Generalization (Inheritance )
– Aggregation and Composition
20
Class Diagrams (cont.)
‱ Multiplicity : An association relationship where (at least) one of
the two related classes references the other.
21
Class Diagrams (cont.)
‱ Class diagrams can denote inheritance
relationships between two classes
‱ The direction of the arrow points to the
base or the parent class
+enrollSubject()
+dropSubject()
+getCurrentSchedule()
-Name : String
-BirthDate : Date
-Grade : Integer
-Subjects[] : Subject
Student
+getRequiredSubjects()
-Minimum GPA : Double
-Required Subjects[] : Subject
Honor Student
22
Class Diagrams (cont.)
‱ Class diagrams can denote
implementation relationships
between a class and an interface
‱ The direction of the arrow points
to the interface being
implemented by the class
+teach()
+computeGrade()
+checkTestPaper()
+createTestPaper()
«interface»Faculty
+checkStudentSourceFile()
+readComputerManual()
-ComputerScienceFacultyID : int
ComputerScienceFaculty
23
Class Diagrams (cont.)
‱ Aggregation and Composition :
– Aggregation is an “is-part-of-a” association
that specifies a “whole-part” relationship
between two classes.
– Composition is a stronger form of
aggregation that is a “has-a” relationship.
Composition
Aggregation
24
Class Diagrams (cont.)
‱ Class diagrams can be used to show a ‘strong’ aggregation
between two objects
‱ It is denoted as a ‘has-a’ relationship between the two objects
‱ The lifetime of the object that is contained is dependent on the
lifetime of the container object
+enrollSubject()
+dropSubject()
+getCurrentSchedule()
-Name : String
-BirthDate : Date
-Grade : Integer
-Subjects[] : Subject
-StudentHistory[] : Student History
Student
+retrieveNotes()
+retrievePreviousGPA()
+retrieveCompletedSubjects()
-Subject
-Grade
-School
-Note
-Year
Student History
1 0..*
25
Class Diagrams (cont.)
‱ An ‘association’ relationship can be formed denoting a ‘weak’
aggregation between two objects
‱ In an association relationship, the objects can exist
independently of each other
+enrollSubject()
+dropSubject()
+getCurrentSchedule()
-Name : String
-BirthDate : Date
-Grade : Integer
-Subjects[] : Subject
-StudentHistory[] : Student History
Student
-Name : String
-Description : String
-Prequisites[] : Subject
Subject
1 0..*
26
27
28
Sequence Diagrams
‱ Sequence diagrams show a group of objects interacting within a
system to perform a specific functionality
‱ Sequence diagrams show the ‘messages’ that are passed
between one object to another, and the order (or sequence) that
these messages are sent
29
Sequence Diagrams (cont.)
‱ Messages are indicated as solid horizontal arrows attached to
the timeline of the source object to the target object
‱ Dashed horizontal arrows indicate the response of the message
receiver
Student Scheduler UI Scheduler DB
retrieve available subjects
retrieveSubjectList()
return Subject[]
display Subjects[]
30
31
State Diagrams
‱ State diagrams are used to model the changes in the state of an
object as events occur.
‱ The diagram represents what possible states an object can
change into depending on its current state, and what events
occur
‱ Each diagram represents an object of a single class
32
State Diagrams (cont.)
‱ State diagrams begin with an initial state:
‱ Events or messages that cause the state to change is marked
by an arrow pointing to an icon representing the resulting state
Enrolled
/ Student Enrolls
33
State Diagrams (cont.)
‱ The state can branch off to other states or itself depending on
the messages or events it can receive.
Enrolled
/ Student Enrolls
Graduates
/ Student Graduates
Suspended
/ Student Suspended
/ Student Removed
Discharged
/ Student Removed
Graduated
34
35
Activity
Diagram
36
Component diagram
Deployment diagram
38
Questions and Comments
‱ What questions or comments
do you have?
39
1) What type of UML diagram is shown below?
2) Identify ‘actor’ and ‘system’ in the following diagram.
3) What is <<uses>> tag used for?
4) What is <<extends>> tag used for?
Checkpoint Question
40
1) What type of UML diagram is shown below?
a) Use Case Diagram
2) Identify ‘actor’ and ‘system’ in the following diagram.
a) Customer is the actor. Login and Registration are the systems.
3) What is <<uses>> tag used for?
a) An interaction between an actor and a system is denoted by a line marked by a
<<uses>> tag
4) What is <<extends>> tag used for?
a) An <<extends>> line indicates that the use case is dependent on another use case
in order to perform the functionality. In the example on the slide, Login is dependent
on Registration. If customer is not registered, he/she cannot login to the system.
Checkpoint Answer
41
1) Identify what each of the following represents (Interface, Aggregation,
Dependency, Composition, Generalization, Association)
Checkpoint Question
42
1) Identify what each of the following represents (Interface, Aggregation,
Dependency, Composition, Generalization, Association)
Checkpoint Answer
Composition
Generalization
Dependency
Interface
Association
Aggregation
43
1) Draw a class diagram for the following:
1. Abstract class Mammal consisting of:
‱ Private variable numOfLegs of type integer
‱ Getter and setter for numOfLegs
‱ public void eat() method
2. Interface Moveable
‱ Consists of void move() method
3. Class Lion subclass of class Mammal
‱ Consists of roar() method that returns String
Checkpoint Question
44
1) Draw a class diagram for the following (Cont
)
4. Class Dog subclass of class Mammal
‱ Private variable age of type integer
‱ Getter and Setter for variable age;
‱ Consists of woof() method that returns String
5. Class Jungle
‱ Consists of public double area() method
‱ Associate it with class Lion()
‱ Establish multiplicity between Jungle() and Lion()
Checkpoint Question
45
45
Checkpoint Answer
46
Look at the UML diagram on the next slide and
A. Identify type of UML diagram shown
B. Add following messages/return message calls in the correct order:
1. ValidateWithDB(id, pwd)
2. Show Response to the User
3. DB Returns true or false
4. ExecuteLoginRequest(id, pwd)
5. User Enters Id and Password to Login
6. Return true or false
Checkpoint Question
47
Checkpoint Question
48
1) Solution
Checkpoint Answer
49
True or False?
1. State diagrams are type of UML diagrams.
2. State diagrams begin with an intermediate state
3. Events or messages that cause the state to change is marked by
an arrow pointing to an icon representing the resulting state
4. The state can never branch off to other states
Checkpoint Question
50
50
True or False?
1. State diagrams are type of UML diagrams. True
2. State diagrams begin with an intermediate state. False
3. Events or messages that cause the state to change is marked by
an arrow pointing to an icon representing the resulting state. True
4. The state can never branch off to other states. False
Checkpoint Answer

Mais conteĂșdo relacionado

Semelhante a UML Design Document Training Learn UML .pptx

CS8592-OOAD-UNIT II-STATIC UML DIAGRAMS PPT
CS8592-OOAD-UNIT II-STATIC UML DIAGRAMS PPTCS8592-OOAD-UNIT II-STATIC UML DIAGRAMS PPT
CS8592-OOAD-UNIT II-STATIC UML DIAGRAMS PPTleela rani
 
Basic Behavioral Modeling
Basic Behavioral ModelingBasic Behavioral Modeling
Basic Behavioral ModelingAMITJain879
 
Uml tool tutorial
Uml tool tutorialUml tool tutorial
Uml tool tutorialittkrish
 
M02 Uml Overview
M02 Uml OverviewM02 Uml Overview
M02 Uml OverviewDang Tuan
 
analysis and design with uml
analysis and design with umlanalysis and design with uml
analysis and design with umlsabin kafle
 
Analysis and design of entreprise with uml
Analysis and design of entreprise with umlAnalysis and design of entreprise with uml
Analysis and design of entreprise with umlzineb encgk
 
Intoduction to uml
Intoduction to umlIntoduction to uml
Intoduction to umlMahesh Bhalerao
 
Chap5 oodm-uml-part1
Chap5 oodm-uml-part1Chap5 oodm-uml-part1
Chap5 oodm-uml-part1SJC
 
Chap5 oodm-uml-part11
Chap5 oodm-uml-part11Chap5 oodm-uml-part11
Chap5 oodm-uml-part11SJC
 
FSD MICRO PROJECT UML PPT.pptx
FSD MICRO PROJECT UML PPT.pptxFSD MICRO PROJECT UML PPT.pptx
FSD MICRO PROJECT UML PPT.pptxThorOdinson55
 
lecture 3.ppt
lecture  3.pptlecture  3.ppt
lecture 3.pptTik Tok
 
UML.pptx
UML.pptxUML.pptx
UML.pptxRAJESH S
 
Overview of UML Diagrams
Overview of UML DiagramsOverview of UML Diagrams
Overview of UML DiagramsManish Kumar
 
Lecture#03, uml diagrams
Lecture#03, uml diagramsLecture#03, uml diagrams
Lecture#03, uml diagramsbabak danyal
 
Use case Diagram and Sequence Diagram
Use case Diagram and Sequence DiagramUse case Diagram and Sequence Diagram
Use case Diagram and Sequence DiagramNikhil Pandit
 
UML tutorial
UML tutorialUML tutorial
UML tutorialEliza Wright
 

Semelhante a UML Design Document Training Learn UML .pptx (20)

CS8592-OOAD-UNIT II-STATIC UML DIAGRAMS PPT
CS8592-OOAD-UNIT II-STATIC UML DIAGRAMS PPTCS8592-OOAD-UNIT II-STATIC UML DIAGRAMS PPT
CS8592-OOAD-UNIT II-STATIC UML DIAGRAMS PPT
 
UML Diagrams
UML DiagramsUML Diagrams
UML Diagrams
 
Basic Behavioral Modeling
Basic Behavioral ModelingBasic Behavioral Modeling
Basic Behavioral Modeling
 
Uml tool tutorial
Uml tool tutorialUml tool tutorial
Uml tool tutorial
 
M02 Uml Overview
M02 Uml OverviewM02 Uml Overview
M02 Uml Overview
 
analysis and design with uml
analysis and design with umlanalysis and design with uml
analysis and design with uml
 
Analysis and design of entreprise with uml
Analysis and design of entreprise with umlAnalysis and design of entreprise with uml
Analysis and design of entreprise with uml
 
Intro Uml
Intro UmlIntro Uml
Intro Uml
 
SMD Unit ii
SMD Unit iiSMD Unit ii
SMD Unit ii
 
Intoduction to uml
Intoduction to umlIntoduction to uml
Intoduction to uml
 
Chap5 oodm-uml-part1
Chap5 oodm-uml-part1Chap5 oodm-uml-part1
Chap5 oodm-uml-part1
 
Chap5 oodm-uml-part11
Chap5 oodm-uml-part11Chap5 oodm-uml-part11
Chap5 oodm-uml-part11
 
FSD MICRO PROJECT UML PPT.pptx
FSD MICRO PROJECT UML PPT.pptxFSD MICRO PROJECT UML PPT.pptx
FSD MICRO PROJECT UML PPT.pptx
 
lecture 3.ppt
lecture  3.pptlecture  3.ppt
lecture 3.ppt
 
UML.pptx
UML.pptxUML.pptx
UML.pptx
 
Overview of UML Diagrams
Overview of UML DiagramsOverview of UML Diagrams
Overview of UML Diagrams
 
Lecture#03, uml diagrams
Lecture#03, uml diagramsLecture#03, uml diagrams
Lecture#03, uml diagrams
 
Use case Diagram and Sequence Diagram
Use case Diagram and Sequence DiagramUse case Diagram and Sequence Diagram
Use case Diagram and Sequence Diagram
 
Chapter3
Chapter3Chapter3
Chapter3
 
UML tutorial
UML tutorialUML tutorial
UML tutorial
 

Último

AzureNativeQumulo_HPC_Cloud_Native_Benchmarks.pdf
AzureNativeQumulo_HPC_Cloud_Native_Benchmarks.pdfAzureNativeQumulo_HPC_Cloud_Native_Benchmarks.pdf
AzureNativeQumulo_HPC_Cloud_Native_Benchmarks.pdfryanfarris8
 
Modern binary build systems - PyCon 2024
Modern binary build systems - PyCon 2024Modern binary build systems - PyCon 2024
Modern binary build systems - PyCon 2024Henry Schreiner
 
Encryption Recap: A Refresher on Key Concepts
Encryption Recap: A Refresher on Key ConceptsEncryption Recap: A Refresher on Key Concepts
Encryption Recap: A Refresher on Key Conceptsthomashtkim
 
Workshop: Enabling GenAI Breakthroughs with Knowledge Graphs - GraphSummit Milan
Workshop: Enabling GenAI Breakthroughs with Knowledge Graphs - GraphSummit MilanWorkshop: Enabling GenAI Breakthroughs with Knowledge Graphs - GraphSummit Milan
Workshop: Enabling GenAI Breakthroughs with Knowledge Graphs - GraphSummit MilanNeo4j
 
Transformer Neural Network Use Cases with Links
Transformer Neural Network Use Cases with LinksTransformer Neural Network Use Cases with Links
Transformer Neural Network Use Cases with LinksJinanKordab
 
[GeeCON2024] How I learned to stop worrying and love the dark silicon apocalypse
[GeeCON2024] How I learned to stop worrying and love the dark silicon apocalypse[GeeCON2024] How I learned to stop worrying and love the dark silicon apocalypse
[GeeCON2024] How I learned to stop worrying and love the dark silicon apocalypseTomasz Kowalczewski
 
Weeding your micro service landscape.pdf
Weeding your micro service landscape.pdfWeeding your micro service landscape.pdf
Weeding your micro service landscape.pdftimtebeek1
 
CERVED e Neo4j su una nuvola, migrazione ed evoluzione di un grafo mission cr...
CERVED e Neo4j su una nuvola, migrazione ed evoluzione di un grafo mission cr...CERVED e Neo4j su una nuvola, migrazione ed evoluzione di un grafo mission cr...
CERVED e Neo4j su una nuvola, migrazione ed evoluzione di un grafo mission cr...Neo4j
 
GraphSummit Milan - Visione e roadmap del prodotto Neo4j
GraphSummit Milan - Visione e roadmap del prodotto Neo4jGraphSummit Milan - Visione e roadmap del prodotto Neo4j
GraphSummit Milan - Visione e roadmap del prodotto Neo4jNeo4j
 
Lessons Learned from Building a Serverless Notifications System.pdf
Lessons Learned from Building a Serverless Notifications System.pdfLessons Learned from Building a Serverless Notifications System.pdf
Lessons Learned from Building a Serverless Notifications System.pdfSrushith Repakula
 
From Theory to Practice: Utilizing SpiraPlan's REST API
From Theory to Practice: Utilizing SpiraPlan's REST APIFrom Theory to Practice: Utilizing SpiraPlan's REST API
From Theory to Practice: Utilizing SpiraPlan's REST APIInflectra
 
ćŸźäżĄć·èŽ­äč°
ćŸźäżĄć·èŽ­äč°ćŸźäżĄć·èŽ­äč°
ćŸźäżĄć·èŽ­äč°westwaterchamplin107
 
Prompt Engineering - an Art, a Science, or your next Job Title?
Prompt Engineering - an Art, a Science, or your next Job Title?Prompt Engineering - an Art, a Science, or your next Job Title?
Prompt Engineering - an Art, a Science, or your next Job Title?Maxim Salnikov
 
Wired_2.0_CREATE YOUR ULTIMATE LEARNING ENVIRONMENT_JCON_16052024
Wired_2.0_CREATE YOUR ULTIMATE LEARNING ENVIRONMENT_JCON_16052024Wired_2.0_CREATE YOUR ULTIMATE LEARNING ENVIRONMENT_JCON_16052024
Wired_2.0_CREATE YOUR ULTIMATE LEARNING ENVIRONMENT_JCON_16052024SimonedeGijt
 
Test Automation Design Patterns_ A Comprehensive Guide.pdf
Test Automation Design Patterns_ A Comprehensive Guide.pdfTest Automation Design Patterns_ A Comprehensive Guide.pdf
Test Automation Design Patterns_ A Comprehensive Guide.pdfkalichargn70th171
 
[GRCPP] Introduction to concepts (C++20)
[GRCPP] Introduction to concepts (C++20)[GRCPP] Introduction to concepts (C++20)
[GRCPP] Introduction to concepts (C++20)Dimitrios Platis
 

Último (20)

AzureNativeQumulo_HPC_Cloud_Native_Benchmarks.pdf
AzureNativeQumulo_HPC_Cloud_Native_Benchmarks.pdfAzureNativeQumulo_HPC_Cloud_Native_Benchmarks.pdf
AzureNativeQumulo_HPC_Cloud_Native_Benchmarks.pdf
 
Abortion Clinic in Midrand [(+27832195400*)]đŸ„Safe Abortion Pills In Midrand |...
Abortion Clinic in Midrand [(+27832195400*)]đŸ„Safe Abortion Pills In Midrand |...Abortion Clinic in Midrand [(+27832195400*)]đŸ„Safe Abortion Pills In Midrand |...
Abortion Clinic in Midrand [(+27832195400*)]đŸ„Safe Abortion Pills In Midrand |...
 
Modern binary build systems - PyCon 2024
Modern binary build systems - PyCon 2024Modern binary build systems - PyCon 2024
Modern binary build systems - PyCon 2024
 
Encryption Recap: A Refresher on Key Concepts
Encryption Recap: A Refresher on Key ConceptsEncryption Recap: A Refresher on Key Concepts
Encryption Recap: A Refresher on Key Concepts
 
Workshop: Enabling GenAI Breakthroughs with Knowledge Graphs - GraphSummit Milan
Workshop: Enabling GenAI Breakthroughs with Knowledge Graphs - GraphSummit MilanWorkshop: Enabling GenAI Breakthroughs with Knowledge Graphs - GraphSummit Milan
Workshop: Enabling GenAI Breakthroughs with Knowledge Graphs - GraphSummit Milan
 
Transformer Neural Network Use Cases with Links
Transformer Neural Network Use Cases with LinksTransformer Neural Network Use Cases with Links
Transformer Neural Network Use Cases with Links
 
[GeeCON2024] How I learned to stop worrying and love the dark silicon apocalypse
[GeeCON2024] How I learned to stop worrying and love the dark silicon apocalypse[GeeCON2024] How I learned to stop worrying and love the dark silicon apocalypse
[GeeCON2024] How I learned to stop worrying and love the dark silicon apocalypse
 
Weeding your micro service landscape.pdf
Weeding your micro service landscape.pdfWeeding your micro service landscape.pdf
Weeding your micro service landscape.pdf
 
CERVED e Neo4j su una nuvola, migrazione ed evoluzione di un grafo mission cr...
CERVED e Neo4j su una nuvola, migrazione ed evoluzione di un grafo mission cr...CERVED e Neo4j su una nuvola, migrazione ed evoluzione di un grafo mission cr...
CERVED e Neo4j su una nuvola, migrazione ed evoluzione di un grafo mission cr...
 
Abortion Pill Prices Polokwane ](+27832195400*)[ đŸ„ Women's Abortion Clinic in...
Abortion Pill Prices Polokwane ](+27832195400*)[ đŸ„ Women's Abortion Clinic in...Abortion Pill Prices Polokwane ](+27832195400*)[ đŸ„ Women's Abortion Clinic in...
Abortion Pill Prices Polokwane ](+27832195400*)[ đŸ„ Women's Abortion Clinic in...
 
GraphSummit Milan - Visione e roadmap del prodotto Neo4j
GraphSummit Milan - Visione e roadmap del prodotto Neo4jGraphSummit Milan - Visione e roadmap del prodotto Neo4j
GraphSummit Milan - Visione e roadmap del prodotto Neo4j
 
Lessons Learned from Building a Serverless Notifications System.pdf
Lessons Learned from Building a Serverless Notifications System.pdfLessons Learned from Building a Serverless Notifications System.pdf
Lessons Learned from Building a Serverless Notifications System.pdf
 
Abortion Clinic in Bloemfontein [(+27832195400*)]đŸ„Safe Abortion Pills In Bloe...
Abortion Clinic in Bloemfontein [(+27832195400*)]đŸ„Safe Abortion Pills In Bloe...Abortion Clinic in Bloemfontein [(+27832195400*)]đŸ„Safe Abortion Pills In Bloe...
Abortion Clinic in Bloemfontein [(+27832195400*)]đŸ„Safe Abortion Pills In Bloe...
 
Abortion Pill Prices Aliwal North ](+27832195400*)[ đŸ„ Women's Abortion Clinic...
Abortion Pill Prices Aliwal North ](+27832195400*)[ đŸ„ Women's Abortion Clinic...Abortion Pill Prices Aliwal North ](+27832195400*)[ đŸ„ Women's Abortion Clinic...
Abortion Pill Prices Aliwal North ](+27832195400*)[ đŸ„ Women's Abortion Clinic...
 
From Theory to Practice: Utilizing SpiraPlan's REST API
From Theory to Practice: Utilizing SpiraPlan's REST APIFrom Theory to Practice: Utilizing SpiraPlan's REST API
From Theory to Practice: Utilizing SpiraPlan's REST API
 
ćŸźäżĄć·èŽ­äč°
ćŸźäżĄć·èŽ­äč°ćŸźäżĄć·èŽ­äč°
ćŸźäżĄć·èŽ­äč°
 
Prompt Engineering - an Art, a Science, or your next Job Title?
Prompt Engineering - an Art, a Science, or your next Job Title?Prompt Engineering - an Art, a Science, or your next Job Title?
Prompt Engineering - an Art, a Science, or your next Job Title?
 
Wired_2.0_CREATE YOUR ULTIMATE LEARNING ENVIRONMENT_JCON_16052024
Wired_2.0_CREATE YOUR ULTIMATE LEARNING ENVIRONMENT_JCON_16052024Wired_2.0_CREATE YOUR ULTIMATE LEARNING ENVIRONMENT_JCON_16052024
Wired_2.0_CREATE YOUR ULTIMATE LEARNING ENVIRONMENT_JCON_16052024
 
Test Automation Design Patterns_ A Comprehensive Guide.pdf
Test Automation Design Patterns_ A Comprehensive Guide.pdfTest Automation Design Patterns_ A Comprehensive Guide.pdf
Test Automation Design Patterns_ A Comprehensive Guide.pdf
 
[GRCPP] Introduction to concepts (C++20)
[GRCPP] Introduction to concepts (C++20)[GRCPP] Introduction to concepts (C++20)
[GRCPP] Introduction to concepts (C++20)
 

UML Design Document Training Learn UML .pptx

  • 1. 1 UML - Module Objectives ‱ At the end of this module, participants will be able to: – Explain the background behind UML and its use in software design and development – Describe when and how to apply the following diagrams: ‱ Use Case Diagrams ‱ Class Diagrams ‱ Sequence Diagrams ‱ State Diagrams
  • 2. 2 UML ‱ UML stands for Unified Modeling Language ‱ It is a standard language for specifying, visualizing, constructing, and documenting the components of systems ‱ UML is independent of particular programming languages and development processes
  • 3. 3 Introduction to Case Study Activity ‱ Introduction to Client: Extreme Exploration – Medium-sized retailer of outdoor apparel, accessories, and camping gear. – Existing website created by a graphic design firm and currently provides information, such as store locations and phone numbers. ‱ Problem Domain – Competitors have advantage online. – First attempt at creating ecommerce presence failed due to lack of expertise and methodology-driven approach.
  • 4. 4 Introduction to Case Study Activity ‱ Business Goals – Create online shopping catalog – Expand product offerings by leveraging products of business partner “Adventure-1” – Allow for an enhanced purchasing experience ‱ Identified functional areas – Catalog browsing – Shopping cart – User account – Checkout
  • 5. 5 Use Case Diagrams ‱ Useful in determining initial system requirements and functionalities ‱ Displays relationships and interactions between actors and the systems they act upon ‱ Identifies the ‘actors’ in a system and the various cases that the actors might interact with the system
  • 6. 6 Use Case Diagrams (cont.) ‱ Actors represent an entity that initiates the interaction with the system ‱ An actor can represent a user, organization, or another external system Student Batch System Faculty
  • 7. 7 Use Case Diagrams (cont.) ‱ A ‘use case’ represents a possible interaction between the actor and the system ‱ Each use case is a high level description of a functionality that must be supported by the system Enroll Subject Get Subject Prerequisites Check Current Schedule
  • 8. 8 Use Case Diagrams (cont.) ‱ An interaction between an actor and a system is denoted by a line marked by a <<uses>> tag ‱ This can be interpreted as “The (actor) can use the system to <<use case>>” ‱ Rectangle box called as system boundary box can be drawn to represent scope of the use case Student Enroll Subject Get Subject Prerequisites Check Current Schedule «uses» «uses» «uses» Faculty Get Enrolled Students by Subject «uses» «uses»
  • 9. 9 Use Case Diagrams ‱ It is also possible to establish a relationship as a dependency between two use cases using the <<extends>> line ‱ An <<extends>> line indicates that the use case is dependent on another use case in order to perform the functionality Extension use case Base use case Perform Security Check Student Enrolment <<extends>>
  • 10. 10 Use Case Diagrams ‱ Use Cases describe a sequence of actions the application performs for an actor. ‱ Use Cases are identified as a team exercise. – Identify actors and Use Cases – Define interactions between actors and Use Cases – Describe Use Case steps and combine similar Use Cases
  • 11. 11 Activity – Use Case Diagram Status of the Extreme Exploration project: ‱ The Plan phase is complete and the Business Analyst group is Analyzing the Business Process. Task to be performed in the Analysis phase: – The use case diagram to be created
  • 14. 14
  • 15. 15
  • 16. 16
  • 17. 17 Class Diagrams ‱ Class diagrams are used to describe classes of objects in terms of their names, attributes, and operations ‱ Class diagrams are used to describe the relationship between the objects in a system
  • 18. 18 Class Diagrams (cont.) ‱ A Class diagram is composed of a class icon that defines the class itself ‱ The class icon describes the name of the class, the attributes of a class, and the behaviors/operations of a class +enrollSubject() +dropSubject() +getCurrentSchedule() -Name : String -BirthDate : Date -Grade : Integer -Subjects[] : Subject Student
  • 19. 19 Class Diagrams (cont.) ‱ Associations are the representation of relationships between classes that communicate with one another. ‱ There are several types of associations to consider: – Multiplicity – Generalization (Inheritance ) – Aggregation and Composition
  • 20. 20 Class Diagrams (cont.) ‱ Multiplicity : An association relationship where (at least) one of the two related classes references the other.
  • 21. 21 Class Diagrams (cont.) ‱ Class diagrams can denote inheritance relationships between two classes ‱ The direction of the arrow points to the base or the parent class +enrollSubject() +dropSubject() +getCurrentSchedule() -Name : String -BirthDate : Date -Grade : Integer -Subjects[] : Subject Student +getRequiredSubjects() -Minimum GPA : Double -Required Subjects[] : Subject Honor Student
  • 22. 22 Class Diagrams (cont.) ‱ Class diagrams can denote implementation relationships between a class and an interface ‱ The direction of the arrow points to the interface being implemented by the class +teach() +computeGrade() +checkTestPaper() +createTestPaper() «interface»Faculty +checkStudentSourceFile() +readComputerManual() -ComputerScienceFacultyID : int ComputerScienceFaculty
  • 23. 23 Class Diagrams (cont.) ‱ Aggregation and Composition : – Aggregation is an “is-part-of-a” association that specifies a “whole-part” relationship between two classes. – Composition is a stronger form of aggregation that is a “has-a” relationship. Composition Aggregation
  • 24. 24 Class Diagrams (cont.) ‱ Class diagrams can be used to show a ‘strong’ aggregation between two objects ‱ It is denoted as a ‘has-a’ relationship between the two objects ‱ The lifetime of the object that is contained is dependent on the lifetime of the container object +enrollSubject() +dropSubject() +getCurrentSchedule() -Name : String -BirthDate : Date -Grade : Integer -Subjects[] : Subject -StudentHistory[] : Student History Student +retrieveNotes() +retrievePreviousGPA() +retrieveCompletedSubjects() -Subject -Grade -School -Note -Year Student History 1 0..*
  • 25. 25 Class Diagrams (cont.) ‱ An ‘association’ relationship can be formed denoting a ‘weak’ aggregation between two objects ‱ In an association relationship, the objects can exist independently of each other +enrollSubject() +dropSubject() +getCurrentSchedule() -Name : String -BirthDate : Date -Grade : Integer -Subjects[] : Subject -StudentHistory[] : Student History Student -Name : String -Description : String -Prequisites[] : Subject Subject 1 0..*
  • 26. 26
  • 27. 27
  • 28. 28 Sequence Diagrams ‱ Sequence diagrams show a group of objects interacting within a system to perform a specific functionality ‱ Sequence diagrams show the ‘messages’ that are passed between one object to another, and the order (or sequence) that these messages are sent
  • 29. 29 Sequence Diagrams (cont.) ‱ Messages are indicated as solid horizontal arrows attached to the timeline of the source object to the target object ‱ Dashed horizontal arrows indicate the response of the message receiver Student Scheduler UI Scheduler DB retrieve available subjects retrieveSubjectList() return Subject[] display Subjects[]
  • 30. 30
  • 31. 31 State Diagrams ‱ State diagrams are used to model the changes in the state of an object as events occur. ‱ The diagram represents what possible states an object can change into depending on its current state, and what events occur ‱ Each diagram represents an object of a single class
  • 32. 32 State Diagrams (cont.) ‱ State diagrams begin with an initial state: ‱ Events or messages that cause the state to change is marked by an arrow pointing to an icon representing the resulting state Enrolled / Student Enrolls
  • 33. 33 State Diagrams (cont.) ‱ The state can branch off to other states or itself depending on the messages or events it can receive. Enrolled / Student Enrolls Graduates / Student Graduates Suspended / Student Suspended / Student Removed Discharged / Student Removed Graduated
  • 34. 34
  • 38. 38 Questions and Comments ‱ What questions or comments do you have?
  • 39. 39 1) What type of UML diagram is shown below? 2) Identify ‘actor’ and ‘system’ in the following diagram. 3) What is <<uses>> tag used for? 4) What is <<extends>> tag used for? Checkpoint Question
  • 40. 40 1) What type of UML diagram is shown below? a) Use Case Diagram 2) Identify ‘actor’ and ‘system’ in the following diagram. a) Customer is the actor. Login and Registration are the systems. 3) What is <<uses>> tag used for? a) An interaction between an actor and a system is denoted by a line marked by a <<uses>> tag 4) What is <<extends>> tag used for? a) An <<extends>> line indicates that the use case is dependent on another use case in order to perform the functionality. In the example on the slide, Login is dependent on Registration. If customer is not registered, he/she cannot login to the system. Checkpoint Answer
  • 41. 41 1) Identify what each of the following represents (Interface, Aggregation, Dependency, Composition, Generalization, Association) Checkpoint Question
  • 42. 42 1) Identify what each of the following represents (Interface, Aggregation, Dependency, Composition, Generalization, Association) Checkpoint Answer Composition Generalization Dependency Interface Association Aggregation
  • 43. 43 1) Draw a class diagram for the following: 1. Abstract class Mammal consisting of: ‱ Private variable numOfLegs of type integer ‱ Getter and setter for numOfLegs ‱ public void eat() method 2. Interface Moveable ‱ Consists of void move() method 3. Class Lion subclass of class Mammal ‱ Consists of roar() method that returns String Checkpoint Question
  • 44. 44 1) Draw a class diagram for the following (Cont
) 4. Class Dog subclass of class Mammal ‱ Private variable age of type integer ‱ Getter and Setter for variable age; ‱ Consists of woof() method that returns String 5. Class Jungle ‱ Consists of public double area() method ‱ Associate it with class Lion() ‱ Establish multiplicity between Jungle() and Lion() Checkpoint Question
  • 46. 46 Look at the UML diagram on the next slide and A. Identify type of UML diagram shown B. Add following messages/return message calls in the correct order: 1. ValidateWithDB(id, pwd) 2. Show Response to the User 3. DB Returns true or false 4. ExecuteLoginRequest(id, pwd) 5. User Enters Id and Password to Login 6. Return true or false Checkpoint Question
  • 49. 49 True or False? 1. State diagrams are type of UML diagrams. 2. State diagrams begin with an intermediate state 3. Events or messages that cause the state to change is marked by an arrow pointing to an icon representing the resulting state 4. The state can never branch off to other states Checkpoint Question
  • 50. 50 50 True or False? 1. State diagrams are type of UML diagrams. True 2. State diagrams begin with an intermediate state. False 3. Events or messages that cause the state to change is marked by an arrow pointing to an icon representing the resulting state. True 4. The state can never branch off to other states. False Checkpoint Answer

Notas do Editor

  1. M2 - UML.ppt
  2. M2 - UML.ppt
  3. Additional Information: The contents of this slide has been taken from the Custom Application Design School
  4. Additional Information: The contents of this slide has been taken from the Custom Application Design School Refer to the documents Intro_Hand_Out.doc, EE_High_Level_Requirements.doc and EE_BR01_Customer_Category.doc for details
  5. M2 - UML.ppt
  6. M2 - UML.ppt
  7. M2 - UML.ppt
  8. M2 - UML.ppt
  9. M2 - UML.ppt
  10. Activity Time : 30 min
  11. M2 - UML.ppt
  12. M2 - UML.ppt
  13. Notice that an Estimator can have 0 to many Reservation objects contained within it. These 0 to many Reservation objects are stored in the reservations attribute. Notice that each Reservation may be associated with no more than one Estimator class.
  14. M2 - UML.ppt
  15. M2 - UML.ppt
  16. M2 - UML.ppt
  17. M2 - UML.ppt
  18. M2 - UML.ppt
  19. M2 - UML.ppt
  20. M2 - UML.ppt
  21. M2 - UML.ppt
  22. M2 - UML.ppt
  23. M2 - UML.ppt
  24. M2 - UML.ppt
  25. M2 - UML.ppt
  26. M2 - UML.ppt
  27. M2 - UML.ppt
  28. M2 - UML.ppt
  29. M2 - UML.ppt
  30. Focus: Checkpoint Answer Content: NA Note to Instructor: Refer to the answer on slide. Transition: Let’s solve another checkpoint question.
  31. M2 - UML.ppt
  32. M2 - UML.ppt
  33. M2 - UML.ppt
  34. M2 - UML.ppt
  35. M2 - UML.ppt