SlideShare a Scribd company logo
1
2
 A use case consists of a series of actions that a user
must initiate with the system to carry out some useful
work and to achieve his/her goal.
 A use case is a sequence of transactions performed by a
system that produces a measurable result for a
particular actor.
 Use cases specify the expected behavior [what], and
not the exact method of making it happen [how]
 A good use case must represent the point of view of the
people who will use or interact with the system.
 A complete set of use cases = system requirements.
3
 A use case diagram enables the system designer to
discover the requirements of the target system from the
user's perspective.
 If the designer uses use case diagrams in the early stage
of system development, the target system is more likely
to meet the needs of the user.
 From both the designer and user’s perspectives, the
system will also be easier to understand.
 Use cases are created based on identified functional
requirements but are not mapped one-to-one to
requirements.
4
 A use case diagram consists of three main components:
 Actors,
 Use Cases, and their communications, and
 some additional documentation such as use case
descriptions for elaborating use cases and problem
statements that are initially used for identifying use
cases.
 In addition, a use case diagram may consist of a system
boundary.
5
6
 Actors
 Actors are the external entities that interact with the
system.
 Represent roles that humans, hardware devices, or
external systems play while interacting with a given
system
 They are not part of the system and are situated outside
of the system boundary
 Actors may be both at input and output ends of a use case
 An actor represents a role that a user can play, but not a
specific user.
7
 Primary actors:
 Primary actors use the system to achieve an observable user
goal.
 Primary actors are completely outside the system and drive
the system requirements.
 Secondary actors:
 play a supporting role to facilitate the primary actors to
achieve their goals.
 Secondary actors often appear to be more inside the system
than outside.
8
 Define system boundary to identify actors correctly
 Identify users and systems that depend on the system’s
primary and secondary functionalities
 Identify hardware and software platforms with which
the system interacts
 Select entities that play distinctly different roles in the
system
 Identify as actors external entities with common goals
and direct interaction with the system
 Denote actors as nouns
9
 Use Case
 A use case describes a sequence of actions a system
performs to yield an observable result or value to a
particular actor.
 Naming convention = verb + noun or verb + noun phrase,
e.g. withdraw cash.
10
 Lines between Actor and Use Case summarize
interactions graphically
 Actors and use cases exchange information to achieve the
goal but the details of interaction are not shown
11
 Describe a sequence of transactions performed by a
system that produces a measurable result (goal) for a
particular actor;
 Describe the behavior expected of a system from a
user's perspective;
 Enable the system analyst to understand and model a
system from a high-level business viewpoint; and
 Represent the interfaces that a system makes visible to
the external entities and the interrelationships between
the actors and the system.
12
 An automatic teller machine (ATM) system is typically
used by different types of users (actors).
 You are given a task to develop software for such an
ATM system.
 The manager of the bank explains the first requirements
of the system: The user can open and close accounts. He
or she withdraws and deposits cash. The user can view
his / her accounts, and can make cash transfer between
his / her accounts.
13
actor
communication
system boundary
use case
system name
14
 We will consider a simple hotel information system for
two types of customers:
 Tour Group customers and Individual customers.
 Tour Group customers are those who have made
reservations through a tour operator in advance
while Individual customers make their reservations
directly with the hotel.
 Both types of customers can book, cancel, check-in
and check-out of a room by phone or via the
Internet.
15
16
 In the process of developing a use case model, we may
discover that some use cases share common behaviors.
 There are also situations where some use cases are very
similar but they have some additional behaviors.
17
Use Case: Withdraw Money
Flow of Events:
1. The user inserts an ATM card. The
system prompts the user to enter a
password.
2. The user enters the password. The
system validates the user password.
....
….
….
Use Case: Deposit Money
Flow of Events:
1. The user inserts an ATM card. The
system prompts the user to enter a
password.
2. The user enters the password. The
system validates the user password.
....
….
….
Common
Behavior
18
Use Case: Withdraw Money
Flow of Events:
1. include (login)
....
….
….
Use Case: Deposit Money
Flow of Events:
1. include (login)
….
….
…..
Use Case: Login Account
Flow of Events:
1. The user inserts an ATM card. The system prompts
the user to enter a password.
2. The user enters the password. The system validates
the user password.
19
20
 Include relationships are used when two or more use
cases share some common portion in a flow of events.
 This common portion is then grouped and extracted to
form an inclusion use case for sharing among two or
more use cases.
 Most use cases in the ATM system example, such as
Withdraw Money, Deposit Money or Check Balance,
share the inclusion use case Login Account.
 Include relationship: Allows reuse of functionality by
multiple use cases
21
Login Account
(Included use case)
Withdraw Money
(Base use case)
22
 Extend relationships are used when two use cases are
similar, but one does a bit more than the other.
 For example, you may have a use case that captures the
typical case (the base use case) and use extensions to
describe variations.
 A base use case may therefore conditionally invoke an
alternative use case.
23
24
Process Excess Amount
(Extending use case)
Withdraw Money (Base use case)
If conditional guard is true, extending flow is executed.
25
Alternative flow of events
Base use case flow of events
Alternative flow does not return to the point at which it is
inserted. <<extend>> relationship is for modeling
alternative flow!
26
Exception flow of events
Base use case flow of events
Exception flow may or may not return to a base use
case flow. <<extend>> relationship is not for
modeling exceptions.
27
 Shows inheritance and specialization
 One use case is simply a special kind of another
28
29
 Base use case – invoked directly by actor to achieve an
observable goal.
 Abstract use case – invoked by other use cases and is not
a complete goal from user’s perspective.
 e.g. withdraw cash (concrete use case) vs login (abstract
use case)
30
 Organize use cases by grouping them in packages as in
the organization of classes
 Generalization
• One use case is a special case of another
 Includes
• Included use case embodies common behavior
 Extends
• Extending use case adds behavior
31
 A use case is a description of what a system is used for,
and who uses it, without providing details of how it
performs its functions.
 A use case description serves as an agreed description
between the user and the system designer on the flow of
events that would happen when a use case is invoked.
 A use case description is explained and elaborated
through scenarios (a set of sequences of actions).
 Each of these scenarios is simply an instance of the use
case.
32
33
 A brief user story explaining who is using the system and
what they are trying to accomplish.
 Specify behavior of use case by description, not modeling
 Examples include informal structured text, formal structured
text with conditions, and pseudocode
 Typically specifies:
 How and when the use case starts and ends
 Interaction with the actors and the exchange of objects
 Flow of events:
• main / typical (success),
• alternative(success), and
• exceptional (failure) flows
34
 In a human resources system, for the “Hire Employee”
use case, the following scenarios may apply:
 Typical success scenario: Hire a person from outside
of the company, for example, from another company
 Alternative success scenario: Hire a person from
within the same company, for instance, from another
division
 Exceptional failure scenario: No qualified person
could be hired
35
 Entry and Exit Conditions
 Entry conditions describe the environment under
which the use case is invoked
 Exit conditions reflect the impact of the use case on
the environment through its execution
 Quality Requirements
 Describe quality attributes in terms of a specific
functionality
 For example, requires system response in < 30
seconds
36
 Extract the functionality that is available to each actor
 Establish specific instances and not general descriptions
 Denote situations in the current and future systems
 Identify:
 Tasks to be performed by the user and the system
 Flow of information to the user and to the system
 Events that are conveyed to the user and to the system
 For the events flow, name steps in active voice
37
 Informal Description:
For this case study, the task is of constructing the
design elements for a system that can be used to
manage courses and classes for an organization that
specializes in providing training. The name of the
system is Courseware System. The organization offers
courses in a variety of areas such as learning
management techniques and understanding different
software languages and technologies. Each course is
made up of a set of topics.
38
 Informal Description(Cont.):
Tutors in the organization are assigned courses to teach
according to the area that they specialize in and their
availability. The organization publishes and maintains a
calendar of the different courses and the assigns tutors every
year. There is a group of course administrators in the
organization who manage the courses including course
content, assigning courses to tutors, and defining the course
schedule. The training organization aims to use the
Courseware System to get a better control and visibility to
the course management and to also streamline the process of
generating and managing schedules for different courses.
39
 The following terms and entities are specific to the
system:
 Courses and Topics that make up courses
 Tutors that teach courses
 Course Administrators who manage the assignment of
courses to tutors
 Calendars and Course Schedules that are generated as a
result of the work performed by the course administrators
 Students who refer to Calendars and Course Schedules
todecide which courses they wish to take up for study
40
 Actors: Tutor, Student, Course Administrator (main
actor)
 Use Cases (primary business: secondary user)
 Manage courses: View courses, Manage topics for a
course, and Manage course information
 Manage tutors: View course calendar, View tutors,
Manage tutor information, and Assign courses to
tutors
41
42
43
 Use Case: Manage Course Information (UC_ID1)
 Participating Actors: Course Administrator
 Entry Conditions: Course Administrator is logged into
Courseware
 Exit Conditions: Course Administrator has received an
acknowledgement from the system that the selected
transaction is complete, or if not complete, a message
explaining the failure
 Quality Requirements: (Performance) Course
Administrator receives a response from the system in less
than 3 seconds
 Related Requirements: Create, Modify, and Delete Course
 …
44
 Use Case: Manage Course Information (UC_ID1)
 Typical flow of events:
1. Course Administrator selects Create New Course
– System invokes Create New Course use case
2. Course Administrator selects Modify Existing Course
– System invokes Modify Existing Course use case
45
 Use Case: Create New Course (UC_ID2)
 Participating Actors: Course Administrator
 Extends: Manage Course Information (UC_ID1)
 Entry Conditions: Course Administrator has selected
Create New Course option
 Exit Conditions: Course Administrator has received an
acknowledgement from the system that a course has been
created, or if not, a message explaining the failure
 Quality Requirements: (Performance) Course
Administrator receives a response from the system in less
than 3 seconds
 Related Requirements: Create Course
 …
46
 Use Case: Manage Course Information (UC_ID2)
 Typical flow of events:
1. Course Administrator enters New Course Information
a) System invokes Validate Course Information use case
b) For a valid response, system creates a new course entry and
sends an acknowledgment back to the actor
 Exceptions:
2. Course Administrator enters New Course Information
b) Invalid response received, so system reports failure with a
message indicating invalid course information
47
 Use Case: Modify Existing Course (UC_ID3)
 Participating Actors: Course Administrator
 Extends: Manage Course Information (UC_ID1)
 Entry Conditions: Course Administrator has selected
Modify Existing Course option
 Exit Conditions: Course Administrator has received an
acknowledgement from the system that a course has been
modified, or if not, a message explaining the failure
 Quality Requirements: (Performance) Course
Administrator receives a response from the system in less
than 3 seconds
 Related Requirements: Modify and Delete Course
 …
48
 Use Case: Modify Existing Course (UC_ID3)
 Typical flow of events:
1. Course Administrator selects Find Existing Course option
a) System searches for a selected course and returns existing
course information
2. Course Administrator enters new course information
a) System invokes Validate Course Information use case
b) For a valid response, system updates the existing course
entry and sends an acknowledgment back to the actor
49
 Use Case: Modify Existing Course (UC_ID3)
 Alternatives:
1. Course Administrator selects Delete Existing Course option
a) System invokes Delete Existing Course use case
 Exceptions:
1. Course Administrator selects Find Existing Course option
a) System searches for a selected course and returns failure
stating that the course could not be found
2. Course Administrator enters New Course Information
b) Invalid response received, so system reports failure with a
message indicating invalid course information
50
 Use Case: Delete Existing Course (UC_ID4)
 Participating Actors: Course Administrator
 Extends: Modify Existing Course (UC_ID3)
 Entry Conditions: Course Administrator has selected
Delete Existing Course option
 Exit Conditions: Course Administrator has received an
acknowledgement from the system that a course has been
deleted, or if not, a message explaining the failure
 Quality Requirements: (Performance) Course
Administrator receives a response from the system in less
than 3 seconds
 Related Requirements: Delete Course
 …
51
 Use Case: Delete Existing Course (UC_ID4)
 Typical flow of events:
a) System deletes a selected course and sends an
acknowledgment back to the user
 Exceptions:
a) System cannot delete a selected course so it returns
failure stating that the course could not be deleted
52

More Related Content

What's hot

Software Requirements Specification (SRS) for Online Tower Plotting System (O...
Software Requirements Specification (SRS) for Online Tower Plotting System (O...Software Requirements Specification (SRS) for Online Tower Plotting System (O...
Software Requirements Specification (SRS) for Online Tower Plotting System (O...
Dr Sukhpal Singh Gill
 
Uml diagrams
Uml diagramsUml diagrams
Uml diagrams
barney92
 
Library management system
Library management systemLibrary management system
Library management system
Krishna Malhotra
 
Requirements analysis
Requirements analysisRequirements analysis
Requirements analysis
asimnawaz54
 
Software requirement and specification
Software requirement and specificationSoftware requirement and specification
Software requirement and specification
Aman Adhikari
 
Waterfall model ppt final
Waterfall model ppt  finalWaterfall model ppt  final
Waterfall model ppt final
shiva krishna
 
Software Process Models
Software Process ModelsSoftware Process Models
Software Process Models
Ahmed Alageed
 
Library work breakdown structure
Library work breakdown structureLibrary work breakdown structure
Library work breakdown structure
MuhammadUsman1700
 
Chat Application - Requirements Analysis & Design
Chat Application - Requirements Analysis & DesignChat Application - Requirements Analysis & Design
Chat Application - Requirements Analysis & Design
Rajon
 
Use Case Diagram
Use Case DiagramUse Case Diagram
Use Case Diagram
Kumar
 
Hostel management
Hostel managementHostel management
Hostel management
Himanshu Sajwan
 
Sample SRS format
Sample SRS formatSample SRS format
Sample SRS format
Sachin Sharma
 
Online movie ticket booking system
Online movie ticket booking systemOnline movie ticket booking system
Online movie ticket booking system
Sikandar Pandit
 
Use case-diagrams
Use case-diagramsUse case-diagrams
Use case-diagrams
Maoelana Noermoehammad
 
Software requirement specification(SRS)
Software requirement specification(SRS)Software requirement specification(SRS)
Software requirement specification(SRS)
Mohammad Emrul Hassan Emon
 
Online Admission System
Online Admission System  Online Admission System
Online Admission System
Laukesh Jaishwal
 
Software Requirement Specification Of Hotel Management System
Software Requirement Specification Of Hotel Management SystemSoftware Requirement Specification Of Hotel Management System
Software Requirement Specification Of Hotel Management System
Uttam Singh Chaudhary
 
Cost estimation using cocomo model
Cost estimation using cocomo modelCost estimation using cocomo model
Cost estimation using cocomo model
Nitesh Bichwani
 
SRS for Library Management System
SRS for Library Management SystemSRS for Library Management System
SRS for Library Management System
Toseef Hasan
 
Agile Methodology - Software Engineering
Agile Methodology - Software EngineeringAgile Methodology - Software Engineering
Agile Methodology - Software Engineering
Purvik Rana
 

What's hot (20)

Software Requirements Specification (SRS) for Online Tower Plotting System (O...
Software Requirements Specification (SRS) for Online Tower Plotting System (O...Software Requirements Specification (SRS) for Online Tower Plotting System (O...
Software Requirements Specification (SRS) for Online Tower Plotting System (O...
 
Uml diagrams
Uml diagramsUml diagrams
Uml diagrams
 
Library management system
Library management systemLibrary management system
Library management system
 
Requirements analysis
Requirements analysisRequirements analysis
Requirements analysis
 
Software requirement and specification
Software requirement and specificationSoftware requirement and specification
Software requirement and specification
 
Waterfall model ppt final
Waterfall model ppt  finalWaterfall model ppt  final
Waterfall model ppt final
 
Software Process Models
Software Process ModelsSoftware Process Models
Software Process Models
 
Library work breakdown structure
Library work breakdown structureLibrary work breakdown structure
Library work breakdown structure
 
Chat Application - Requirements Analysis & Design
Chat Application - Requirements Analysis & DesignChat Application - Requirements Analysis & Design
Chat Application - Requirements Analysis & Design
 
Use Case Diagram
Use Case DiagramUse Case Diagram
Use Case Diagram
 
Hostel management
Hostel managementHostel management
Hostel management
 
Sample SRS format
Sample SRS formatSample SRS format
Sample SRS format
 
Online movie ticket booking system
Online movie ticket booking systemOnline movie ticket booking system
Online movie ticket booking system
 
Use case-diagrams
Use case-diagramsUse case-diagrams
Use case-diagrams
 
Software requirement specification(SRS)
Software requirement specification(SRS)Software requirement specification(SRS)
Software requirement specification(SRS)
 
Online Admission System
Online Admission System  Online Admission System
Online Admission System
 
Software Requirement Specification Of Hotel Management System
Software Requirement Specification Of Hotel Management SystemSoftware Requirement Specification Of Hotel Management System
Software Requirement Specification Of Hotel Management System
 
Cost estimation using cocomo model
Cost estimation using cocomo modelCost estimation using cocomo model
Cost estimation using cocomo model
 
SRS for Library Management System
SRS for Library Management SystemSRS for Library Management System
SRS for Library Management System
 
Agile Methodology - Software Engineering
Agile Methodology - Software EngineeringAgile Methodology - Software Engineering
Agile Methodology - Software Engineering
 

Viewers also liked

SE_Lec 00_ Software Engineering 1
SE_Lec 00_ Software Engineering 1SE_Lec 00_ Software Engineering 1
SE_Lec 00_ Software Engineering 1
Amr E. Mohamed
 
SE_Lec 04_Agile Software Development
SE_Lec 04_Agile Software DevelopmentSE_Lec 04_Agile Software Development
SE_Lec 04_Agile Software Development
Amr E. Mohamed
 
Se2 lec 13 uml state machines
Se2 lec 13  uml state machinesSe2 lec 13  uml state machines
Se2 lec 13 uml state machines
Amr E. Mohamed
 
SE2018_Lec 16_ Architectural Design
SE2018_Lec 16_ Architectural DesignSE2018_Lec 16_ Architectural Design
SE2018_Lec 16_ Architectural Design
Amr E. Mohamed
 
SE_Lec 05_System Modelling and Context Model
SE_Lec 05_System Modelling and Context ModelSE_Lec 05_System Modelling and Context Model
SE_Lec 05_System Modelling and Context Model
Amr E. Mohamed
 
SE_Lec 10_ Software Code of Ethics
SE_Lec 10_ Software Code of EthicsSE_Lec 10_ Software Code of Ethics
SE_Lec 10_ Software Code of Ethics
Amr E. Mohamed
 
SE_Lec 12_ Project Planning
SE_Lec 12_ Project PlanningSE_Lec 12_ Project Planning
SE_Lec 12_ Project Planning
Amr E. Mohamed
 
SE_Lec 09_ UML Behaviour Diagrams
SE_Lec 09_ UML Behaviour DiagramsSE_Lec 09_ UML Behaviour Diagrams
SE_Lec 09_ UML Behaviour Diagrams
Amr E. Mohamed
 
SE_Lec 02_Software Life Cycle Models
SE_Lec 02_Software Life Cycle ModelsSE_Lec 02_Software Life Cycle Models
SE_Lec 02_Software Life Cycle Models
Amr E. Mohamed
 
SE_Lec 01_ Introduction to Software Enginerring
SE_Lec 01_ Introduction to Software EnginerringSE_Lec 01_ Introduction to Software Enginerring
SE_Lec 01_ Introduction to Software Enginerring
Amr E. Mohamed
 
DSP_FOEHU - Lec 05 - Frequency-Domain Representation of Discrete Time Signals
DSP_FOEHU - Lec 05 - Frequency-Domain Representation of Discrete Time SignalsDSP_FOEHU - Lec 05 - Frequency-Domain Representation of Discrete Time Signals
DSP_FOEHU - Lec 05 - Frequency-Domain Representation of Discrete Time Signals
Amr E. Mohamed
 
SE_Lec 03_Requirements Analysis and Specification
SE_Lec 03_Requirements Analysis and SpecificationSE_Lec 03_Requirements Analysis and Specification
SE_Lec 03_Requirements Analysis and Specification
Amr E. Mohamed
 
SE_Lec 06_Object Oriented Analysis and Design
SE_Lec 06_Object Oriented Analysis and DesignSE_Lec 06_Object Oriented Analysis and Design
SE_Lec 06_Object Oriented Analysis and Design
Amr E. Mohamed
 
SE_Lec 11_ Project Management
SE_Lec 11_ Project ManagementSE_Lec 11_ Project Management
SE_Lec 11_ Project Management
Amr E. Mohamed
 
Dsp foehu lec 01 - signals and systems
Dsp foehu   lec 01 - signals and systemsDsp foehu   lec 01 - signals and systems
Dsp foehu lec 01 - signals and systems
Amr E. Mohamed
 
SE2_Lec 19_Design Principles and Design Patterns
SE2_Lec 19_Design Principles and Design PatternsSE2_Lec 19_Design Principles and Design Patterns
SE2_Lec 19_Design Principles and Design Patterns
Amr E. Mohamed
 
DSP_FOEHU - Lec 02 - Frequency Domain Analysis of Signals and Systems
DSP_FOEHU - Lec 02 - Frequency Domain Analysis of Signals and SystemsDSP_FOEHU - Lec 02 - Frequency Domain Analysis of Signals and Systems
DSP_FOEHU - Lec 02 - Frequency Domain Analysis of Signals and Systems
Amr E. Mohamed
 
SE2_Lec 18_ Coding
SE2_Lec 18_ CodingSE2_Lec 18_ Coding
SE2_Lec 18_ Coding
Amr E. Mohamed
 
Ooadb
OoadbOoadb
UML TUTORIALS
UML TUTORIALSUML TUTORIALS
UML TUTORIALS
Manish Deo
 

Viewers also liked (20)

SE_Lec 00_ Software Engineering 1
SE_Lec 00_ Software Engineering 1SE_Lec 00_ Software Engineering 1
SE_Lec 00_ Software Engineering 1
 
SE_Lec 04_Agile Software Development
SE_Lec 04_Agile Software DevelopmentSE_Lec 04_Agile Software Development
SE_Lec 04_Agile Software Development
 
Se2 lec 13 uml state machines
Se2 lec 13  uml state machinesSe2 lec 13  uml state machines
Se2 lec 13 uml state machines
 
SE2018_Lec 16_ Architectural Design
SE2018_Lec 16_ Architectural DesignSE2018_Lec 16_ Architectural Design
SE2018_Lec 16_ Architectural Design
 
SE_Lec 05_System Modelling and Context Model
SE_Lec 05_System Modelling and Context ModelSE_Lec 05_System Modelling and Context Model
SE_Lec 05_System Modelling and Context Model
 
SE_Lec 10_ Software Code of Ethics
SE_Lec 10_ Software Code of EthicsSE_Lec 10_ Software Code of Ethics
SE_Lec 10_ Software Code of Ethics
 
SE_Lec 12_ Project Planning
SE_Lec 12_ Project PlanningSE_Lec 12_ Project Planning
SE_Lec 12_ Project Planning
 
SE_Lec 09_ UML Behaviour Diagrams
SE_Lec 09_ UML Behaviour DiagramsSE_Lec 09_ UML Behaviour Diagrams
SE_Lec 09_ UML Behaviour Diagrams
 
SE_Lec 02_Software Life Cycle Models
SE_Lec 02_Software Life Cycle ModelsSE_Lec 02_Software Life Cycle Models
SE_Lec 02_Software Life Cycle Models
 
SE_Lec 01_ Introduction to Software Enginerring
SE_Lec 01_ Introduction to Software EnginerringSE_Lec 01_ Introduction to Software Enginerring
SE_Lec 01_ Introduction to Software Enginerring
 
DSP_FOEHU - Lec 05 - Frequency-Domain Representation of Discrete Time Signals
DSP_FOEHU - Lec 05 - Frequency-Domain Representation of Discrete Time SignalsDSP_FOEHU - Lec 05 - Frequency-Domain Representation of Discrete Time Signals
DSP_FOEHU - Lec 05 - Frequency-Domain Representation of Discrete Time Signals
 
SE_Lec 03_Requirements Analysis and Specification
SE_Lec 03_Requirements Analysis and SpecificationSE_Lec 03_Requirements Analysis and Specification
SE_Lec 03_Requirements Analysis and Specification
 
SE_Lec 06_Object Oriented Analysis and Design
SE_Lec 06_Object Oriented Analysis and DesignSE_Lec 06_Object Oriented Analysis and Design
SE_Lec 06_Object Oriented Analysis and Design
 
SE_Lec 11_ Project Management
SE_Lec 11_ Project ManagementSE_Lec 11_ Project Management
SE_Lec 11_ Project Management
 
Dsp foehu lec 01 - signals and systems
Dsp foehu   lec 01 - signals and systemsDsp foehu   lec 01 - signals and systems
Dsp foehu lec 01 - signals and systems
 
SE2_Lec 19_Design Principles and Design Patterns
SE2_Lec 19_Design Principles and Design PatternsSE2_Lec 19_Design Principles and Design Patterns
SE2_Lec 19_Design Principles and Design Patterns
 
DSP_FOEHU - Lec 02 - Frequency Domain Analysis of Signals and Systems
DSP_FOEHU - Lec 02 - Frequency Domain Analysis of Signals and SystemsDSP_FOEHU - Lec 02 - Frequency Domain Analysis of Signals and Systems
DSP_FOEHU - Lec 02 - Frequency Domain Analysis of Signals and Systems
 
SE2_Lec 18_ Coding
SE2_Lec 18_ CodingSE2_Lec 18_ Coding
SE2_Lec 18_ Coding
 
Ooadb
OoadbOoadb
Ooadb
 
UML TUTORIALS
UML TUTORIALSUML TUTORIALS
UML TUTORIALS
 

Similar to SE_Lec 08_UML Use Cases

SE18_Lec 09_UML Use Cases
SE18_Lec 09_UML Use CasesSE18_Lec 09_UML Use Cases
SE18_Lec 09_UML Use Cases
Amr E. Mohamed
 
Use case Modeling
Use case ModelingUse case Modeling
Use case Modeling
Md. Shafiuzzaman Hira
 
Day01 01 software requirement concepts
Day01 01 software requirement conceptsDay01 01 software requirement concepts
Day01 01 software requirement concepts
Namtướcbóngđêm Virut
 
Use case modeling
Use case modelingUse case modeling
Use case modeling
Wajahat Hasnain
 
Lecture7 use case modeling
Lecture7 use case modelingLecture7 use case modeling
Lecture7 use case modeling
Shahid Riaz
 
usecase (1).pptx
usecase (1).pptxusecase (1).pptx
usecase (1).pptx
Nadir438180
 
SE_RE-II-CH5 (3).pdf
SE_RE-II-CH5 (3).pdfSE_RE-II-CH5 (3).pdf
SE_RE-II-CH5 (3).pdf
AZKANAAZ1
 
Use Case Modeling In UML
Use Case Modeling In UMLUse Case Modeling In UML
Use Case Modeling In UML
Syed Hassan Ali
 
Lesson02_Use Case Diagrams
Lesson02_Use Case DiagramsLesson02_Use Case Diagrams
Lesson02_Use Case Diagrams
Marwa Ali Eissa
 
Use case Diagram
Use case DiagramUse case Diagram
Use case Diagram
Preeti Mishra
 
conversion-gate02.pptx
conversion-gate02.pptxconversion-gate02.pptx
conversion-gate02.pptx
NouraBaccar1
 
Refining The System Definition
Refining The System DefinitionRefining The System Definition
Refining The System DefinitionSandeep Ganji
 
Lecture#04, use case diagram
Lecture#04, use case diagramLecture#04, use case diagram
Lecture#04, use case diagrambabak danyal
 
Building an Information System
Building an Information SystemBuilding an Information System
Building an Information System
Jo Balucanag - Bitonio
 
What is a_use_case
What is a_use_caseWhat is a_use_case
What is a_use_casehaifa2 riyad
 
Use Case UML Diagram
Use Case UML DiagramUse Case UML Diagram
Use Case UML Diagram
University of Texas at Dallas
 
SE18_Lec 04_Requirements Analysis and Specification
SE18_Lec 04_Requirements Analysis and SpecificationSE18_Lec 04_Requirements Analysis and Specification
SE18_Lec 04_Requirements Analysis and Specification
Amr E. Mohamed
 
Use-Case-Diagram.ppt
Use-Case-Diagram.pptUse-Case-Diagram.ppt
Use-Case-Diagram.ppt
FarHana74914
 

Similar to SE_Lec 08_UML Use Cases (20)

SE18_Lec 09_UML Use Cases
SE18_Lec 09_UML Use CasesSE18_Lec 09_UML Use Cases
SE18_Lec 09_UML Use Cases
 
Jar chapter 3
Jar chapter 3Jar chapter 3
Jar chapter 3
 
Use case Modeling
Use case ModelingUse case Modeling
Use case Modeling
 
Day01 01 software requirement concepts
Day01 01 software requirement conceptsDay01 01 software requirement concepts
Day01 01 software requirement concepts
 
Use case modeling
Use case modelingUse case modeling
Use case modeling
 
chapter_5_5.ppt
chapter_5_5.pptchapter_5_5.ppt
chapter_5_5.ppt
 
Lecture7 use case modeling
Lecture7 use case modelingLecture7 use case modeling
Lecture7 use case modeling
 
usecase (1).pptx
usecase (1).pptxusecase (1).pptx
usecase (1).pptx
 
SE_RE-II-CH5 (3).pdf
SE_RE-II-CH5 (3).pdfSE_RE-II-CH5 (3).pdf
SE_RE-II-CH5 (3).pdf
 
Use Case Modeling In UML
Use Case Modeling In UMLUse Case Modeling In UML
Use Case Modeling In UML
 
Lesson02_Use Case Diagrams
Lesson02_Use Case DiagramsLesson02_Use Case Diagrams
Lesson02_Use Case Diagrams
 
Use case Diagram
Use case DiagramUse case Diagram
Use case Diagram
 
conversion-gate02.pptx
conversion-gate02.pptxconversion-gate02.pptx
conversion-gate02.pptx
 
Refining The System Definition
Refining The System DefinitionRefining The System Definition
Refining The System Definition
 
Lecture#04, use case diagram
Lecture#04, use case diagramLecture#04, use case diagram
Lecture#04, use case diagram
 
Building an Information System
Building an Information SystemBuilding an Information System
Building an Information System
 
What is a_use_case
What is a_use_caseWhat is a_use_case
What is a_use_case
 
Use Case UML Diagram
Use Case UML DiagramUse Case UML Diagram
Use Case UML Diagram
 
SE18_Lec 04_Requirements Analysis and Specification
SE18_Lec 04_Requirements Analysis and SpecificationSE18_Lec 04_Requirements Analysis and Specification
SE18_Lec 04_Requirements Analysis and Specification
 
Use-Case-Diagram.ppt
Use-Case-Diagram.pptUse-Case-Diagram.ppt
Use-Case-Diagram.ppt
 

More from Amr E. Mohamed

Dsp 2018 foehu - lec 10 - multi-rate digital signal processing
Dsp 2018 foehu - lec 10 - multi-rate digital signal processingDsp 2018 foehu - lec 10 - multi-rate digital signal processing
Dsp 2018 foehu - lec 10 - multi-rate digital signal processing
Amr E. Mohamed
 
Dcs lec03 - z-analysis of discrete time control systems
Dcs   lec03 - z-analysis of discrete time control systemsDcs   lec03 - z-analysis of discrete time control systems
Dcs lec03 - z-analysis of discrete time control systems
Amr E. Mohamed
 
Dcs lec02 - z-transform
Dcs   lec02 - z-transformDcs   lec02 - z-transform
Dcs lec02 - z-transform
Amr E. Mohamed
 
Dcs lec01 - introduction to discrete-time control systems
Dcs   lec01 - introduction to discrete-time control systemsDcs   lec01 - introduction to discrete-time control systems
Dcs lec01 - introduction to discrete-time control systems
Amr E. Mohamed
 
DDSP_2018_FOEHU - Lec 10 - Digital Signal Processing Applications
DDSP_2018_FOEHU - Lec 10 - Digital Signal Processing ApplicationsDDSP_2018_FOEHU - Lec 10 - Digital Signal Processing Applications
DDSP_2018_FOEHU - Lec 10 - Digital Signal Processing Applications
Amr E. Mohamed
 
DSP_2018_FOEHU - Lec 07 - IIR Filter Design
DSP_2018_FOEHU - Lec 07 - IIR Filter DesignDSP_2018_FOEHU - Lec 07 - IIR Filter Design
DSP_2018_FOEHU - Lec 07 - IIR Filter Design
Amr E. Mohamed
 
DSP_2018_FOEHU - Lec 06 - FIR Filter Design
DSP_2018_FOEHU - Lec 06 - FIR Filter DesignDSP_2018_FOEHU - Lec 06 - FIR Filter Design
DSP_2018_FOEHU - Lec 06 - FIR Filter Design
Amr E. Mohamed
 
SE2018_Lec 17_ Coding
SE2018_Lec 17_ CodingSE2018_Lec 17_ Coding
SE2018_Lec 17_ Coding
Amr E. Mohamed
 
SE2018_Lec-22_-Continuous-Integration-Tools
SE2018_Lec-22_-Continuous-Integration-ToolsSE2018_Lec-22_-Continuous-Integration-Tools
SE2018_Lec-22_-Continuous-Integration-Tools
Amr E. Mohamed
 
SE2018_Lec 21_ Software Configuration Management (SCM)
SE2018_Lec 21_ Software Configuration Management (SCM)SE2018_Lec 21_ Software Configuration Management (SCM)
SE2018_Lec 21_ Software Configuration Management (SCM)
Amr E. Mohamed
 
SE2018_Lec 18_ Design Principles and Design Patterns
SE2018_Lec 18_ Design Principles and Design PatternsSE2018_Lec 18_ Design Principles and Design Patterns
SE2018_Lec 18_ Design Principles and Design Patterns
Amr E. Mohamed
 
Selenium - Introduction
Selenium - IntroductionSelenium - Introduction
Selenium - Introduction
Amr E. Mohamed
 
SE2018_Lec 20_ Test-Driven Development (TDD)
SE2018_Lec 20_ Test-Driven Development (TDD)SE2018_Lec 20_ Test-Driven Development (TDD)
SE2018_Lec 20_ Test-Driven Development (TDD)
Amr E. Mohamed
 
SE2018_Lec 19_ Software Testing
SE2018_Lec 19_ Software TestingSE2018_Lec 19_ Software Testing
SE2018_Lec 19_ Software Testing
Amr E. Mohamed
 
DSP_2018_FOEHU - Lec 08 - The Discrete Fourier Transform
DSP_2018_FOEHU - Lec 08 - The Discrete Fourier TransformDSP_2018_FOEHU - Lec 08 - The Discrete Fourier Transform
DSP_2018_FOEHU - Lec 08 - The Discrete Fourier Transform
Amr E. Mohamed
 
DSP_2018_FOEHU - Lec 05 - Digital Filters
DSP_2018_FOEHU - Lec 05 - Digital FiltersDSP_2018_FOEHU - Lec 05 - Digital Filters
DSP_2018_FOEHU - Lec 05 - Digital Filters
Amr E. Mohamed
 
DSP_2018_FOEHU - Lec 04 - The z-Transform
DSP_2018_FOEHU - Lec 04 - The z-TransformDSP_2018_FOEHU - Lec 04 - The z-Transform
DSP_2018_FOEHU - Lec 04 - The z-Transform
Amr E. Mohamed
 
DSP_2018_FOEHU - Lec 03 - Discrete-Time Signals and Systems
DSP_2018_FOEHU - Lec 03 - Discrete-Time Signals and SystemsDSP_2018_FOEHU - Lec 03 - Discrete-Time Signals and Systems
DSP_2018_FOEHU - Lec 03 - Discrete-Time Signals and Systems
Amr E. Mohamed
 
DSP_2018_FOEHU - Lec 02 - Sampling of Continuous Time Signals
DSP_2018_FOEHU - Lec 02 - Sampling of Continuous Time SignalsDSP_2018_FOEHU - Lec 02 - Sampling of Continuous Time Signals
DSP_2018_FOEHU - Lec 02 - Sampling of Continuous Time Signals
Amr E. Mohamed
 
SE2018_Lec 15_ Software Design
SE2018_Lec 15_ Software DesignSE2018_Lec 15_ Software Design
SE2018_Lec 15_ Software Design
Amr E. Mohamed
 

More from Amr E. Mohamed (20)

Dsp 2018 foehu - lec 10 - multi-rate digital signal processing
Dsp 2018 foehu - lec 10 - multi-rate digital signal processingDsp 2018 foehu - lec 10 - multi-rate digital signal processing
Dsp 2018 foehu - lec 10 - multi-rate digital signal processing
 
Dcs lec03 - z-analysis of discrete time control systems
Dcs   lec03 - z-analysis of discrete time control systemsDcs   lec03 - z-analysis of discrete time control systems
Dcs lec03 - z-analysis of discrete time control systems
 
Dcs lec02 - z-transform
Dcs   lec02 - z-transformDcs   lec02 - z-transform
Dcs lec02 - z-transform
 
Dcs lec01 - introduction to discrete-time control systems
Dcs   lec01 - introduction to discrete-time control systemsDcs   lec01 - introduction to discrete-time control systems
Dcs lec01 - introduction to discrete-time control systems
 
DDSP_2018_FOEHU - Lec 10 - Digital Signal Processing Applications
DDSP_2018_FOEHU - Lec 10 - Digital Signal Processing ApplicationsDDSP_2018_FOEHU - Lec 10 - Digital Signal Processing Applications
DDSP_2018_FOEHU - Lec 10 - Digital Signal Processing Applications
 
DSP_2018_FOEHU - Lec 07 - IIR Filter Design
DSP_2018_FOEHU - Lec 07 - IIR Filter DesignDSP_2018_FOEHU - Lec 07 - IIR Filter Design
DSP_2018_FOEHU - Lec 07 - IIR Filter Design
 
DSP_2018_FOEHU - Lec 06 - FIR Filter Design
DSP_2018_FOEHU - Lec 06 - FIR Filter DesignDSP_2018_FOEHU - Lec 06 - FIR Filter Design
DSP_2018_FOEHU - Lec 06 - FIR Filter Design
 
SE2018_Lec 17_ Coding
SE2018_Lec 17_ CodingSE2018_Lec 17_ Coding
SE2018_Lec 17_ Coding
 
SE2018_Lec-22_-Continuous-Integration-Tools
SE2018_Lec-22_-Continuous-Integration-ToolsSE2018_Lec-22_-Continuous-Integration-Tools
SE2018_Lec-22_-Continuous-Integration-Tools
 
SE2018_Lec 21_ Software Configuration Management (SCM)
SE2018_Lec 21_ Software Configuration Management (SCM)SE2018_Lec 21_ Software Configuration Management (SCM)
SE2018_Lec 21_ Software Configuration Management (SCM)
 
SE2018_Lec 18_ Design Principles and Design Patterns
SE2018_Lec 18_ Design Principles and Design PatternsSE2018_Lec 18_ Design Principles and Design Patterns
SE2018_Lec 18_ Design Principles and Design Patterns
 
Selenium - Introduction
Selenium - IntroductionSelenium - Introduction
Selenium - Introduction
 
SE2018_Lec 20_ Test-Driven Development (TDD)
SE2018_Lec 20_ Test-Driven Development (TDD)SE2018_Lec 20_ Test-Driven Development (TDD)
SE2018_Lec 20_ Test-Driven Development (TDD)
 
SE2018_Lec 19_ Software Testing
SE2018_Lec 19_ Software TestingSE2018_Lec 19_ Software Testing
SE2018_Lec 19_ Software Testing
 
DSP_2018_FOEHU - Lec 08 - The Discrete Fourier Transform
DSP_2018_FOEHU - Lec 08 - The Discrete Fourier TransformDSP_2018_FOEHU - Lec 08 - The Discrete Fourier Transform
DSP_2018_FOEHU - Lec 08 - The Discrete Fourier Transform
 
DSP_2018_FOEHU - Lec 05 - Digital Filters
DSP_2018_FOEHU - Lec 05 - Digital FiltersDSP_2018_FOEHU - Lec 05 - Digital Filters
DSP_2018_FOEHU - Lec 05 - Digital Filters
 
DSP_2018_FOEHU - Lec 04 - The z-Transform
DSP_2018_FOEHU - Lec 04 - The z-TransformDSP_2018_FOEHU - Lec 04 - The z-Transform
DSP_2018_FOEHU - Lec 04 - The z-Transform
 
DSP_2018_FOEHU - Lec 03 - Discrete-Time Signals and Systems
DSP_2018_FOEHU - Lec 03 - Discrete-Time Signals and SystemsDSP_2018_FOEHU - Lec 03 - Discrete-Time Signals and Systems
DSP_2018_FOEHU - Lec 03 - Discrete-Time Signals and Systems
 
DSP_2018_FOEHU - Lec 02 - Sampling of Continuous Time Signals
DSP_2018_FOEHU - Lec 02 - Sampling of Continuous Time SignalsDSP_2018_FOEHU - Lec 02 - Sampling of Continuous Time Signals
DSP_2018_FOEHU - Lec 02 - Sampling of Continuous Time Signals
 
SE2018_Lec 15_ Software Design
SE2018_Lec 15_ Software DesignSE2018_Lec 15_ Software Design
SE2018_Lec 15_ Software Design
 

Recently uploaded

APIs for Browser Automation (MoT Meetup 2024)
APIs for Browser Automation (MoT Meetup 2024)APIs for Browser Automation (MoT Meetup 2024)
APIs for Browser Automation (MoT Meetup 2024)
Boni García
 
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptxTop Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
rickgrimesss22
 
OpenMetadata Community Meeting - 5th June 2024
OpenMetadata Community Meeting - 5th June 2024OpenMetadata Community Meeting - 5th June 2024
OpenMetadata Community Meeting - 5th June 2024
OpenMetadata
 
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of CodeA Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
Aftab Hussain
 
Quarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden ExtensionsQuarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden Extensions
Max Andersen
 
May Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdfMay Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdf
Adele Miller
 
Mobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona InfotechMobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona Infotech
Drona Infotech
 
Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024
Paco van Beckhoven
 
openEuler Case Study - The Journey to Supply Chain Security
openEuler Case Study - The Journey to Supply Chain SecurityopenEuler Case Study - The Journey to Supply Chain Security
openEuler Case Study - The Journey to Supply Chain Security
Shane Coughlan
 
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Łukasz Chruściel
 
Artificia Intellicence and XPath Extension Functions
Artificia Intellicence and XPath Extension FunctionsArtificia Intellicence and XPath Extension Functions
Artificia Intellicence and XPath Extension Functions
Octavian Nadolu
 
Launch Your Streaming Platforms in Minutes
Launch Your Streaming Platforms in MinutesLaunch Your Streaming Platforms in Minutes
Launch Your Streaming Platforms in Minutes
Roshan Dwivedi
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
Safe Software
 
Empowering Growth with Best Software Development Company in Noida - Deuglo
Empowering Growth with Best Software  Development Company in Noida - DeugloEmpowering Growth with Best Software  Development Company in Noida - Deuglo
Empowering Growth with Best Software Development Company in Noida - Deuglo
Deuglo Infosystem Pvt Ltd
 
Enterprise Resource Planning System in Telangana
Enterprise Resource Planning System in TelanganaEnterprise Resource Planning System in Telangana
Enterprise Resource Planning System in Telangana
NYGGS Automation Suite
 
GOING AOT WITH GRAALVM FOR SPRING BOOT (SPRING IO)
GOING AOT WITH GRAALVM FOR  SPRING BOOT (SPRING IO)GOING AOT WITH GRAALVM FOR  SPRING BOOT (SPRING IO)
GOING AOT WITH GRAALVM FOR SPRING BOOT (SPRING IO)
Alina Yurenko
 
GraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph TechnologyGraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph Technology
Neo4j
 
AI Genie Review: World’s First Open AI WordPress Website Creator
AI Genie Review: World’s First Open AI WordPress Website CreatorAI Genie Review: World’s First Open AI WordPress Website Creator
AI Genie Review: World’s First Open AI WordPress Website Creator
Google
 
Transform Your Communication with Cloud-Based IVR Solutions
Transform Your Communication with Cloud-Based IVR SolutionsTransform Your Communication with Cloud-Based IVR Solutions
Transform Your Communication with Cloud-Based IVR Solutions
TheSMSPoint
 
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdf
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdfAutomated software refactoring with OpenRewrite and Generative AI.pptx.pdf
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdf
timtebeek1
 

Recently uploaded (20)

APIs for Browser Automation (MoT Meetup 2024)
APIs for Browser Automation (MoT Meetup 2024)APIs for Browser Automation (MoT Meetup 2024)
APIs for Browser Automation (MoT Meetup 2024)
 
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptxTop Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
 
OpenMetadata Community Meeting - 5th June 2024
OpenMetadata Community Meeting - 5th June 2024OpenMetadata Community Meeting - 5th June 2024
OpenMetadata Community Meeting - 5th June 2024
 
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of CodeA Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
 
Quarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden ExtensionsQuarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden Extensions
 
May Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdfMay Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdf
 
Mobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona InfotechMobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona Infotech
 
Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024
 
openEuler Case Study - The Journey to Supply Chain Security
openEuler Case Study - The Journey to Supply Chain SecurityopenEuler Case Study - The Journey to Supply Chain Security
openEuler Case Study - The Journey to Supply Chain Security
 
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
 
Artificia Intellicence and XPath Extension Functions
Artificia Intellicence and XPath Extension FunctionsArtificia Intellicence and XPath Extension Functions
Artificia Intellicence and XPath Extension Functions
 
Launch Your Streaming Platforms in Minutes
Launch Your Streaming Platforms in MinutesLaunch Your Streaming Platforms in Minutes
Launch Your Streaming Platforms in Minutes
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
 
Empowering Growth with Best Software Development Company in Noida - Deuglo
Empowering Growth with Best Software  Development Company in Noida - DeugloEmpowering Growth with Best Software  Development Company in Noida - Deuglo
Empowering Growth with Best Software Development Company in Noida - Deuglo
 
Enterprise Resource Planning System in Telangana
Enterprise Resource Planning System in TelanganaEnterprise Resource Planning System in Telangana
Enterprise Resource Planning System in Telangana
 
GOING AOT WITH GRAALVM FOR SPRING BOOT (SPRING IO)
GOING AOT WITH GRAALVM FOR  SPRING BOOT (SPRING IO)GOING AOT WITH GRAALVM FOR  SPRING BOOT (SPRING IO)
GOING AOT WITH GRAALVM FOR SPRING BOOT (SPRING IO)
 
GraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph TechnologyGraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph Technology
 
AI Genie Review: World’s First Open AI WordPress Website Creator
AI Genie Review: World’s First Open AI WordPress Website CreatorAI Genie Review: World’s First Open AI WordPress Website Creator
AI Genie Review: World’s First Open AI WordPress Website Creator
 
Transform Your Communication with Cloud-Based IVR Solutions
Transform Your Communication with Cloud-Based IVR SolutionsTransform Your Communication with Cloud-Based IVR Solutions
Transform Your Communication with Cloud-Based IVR Solutions
 
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdf
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdfAutomated software refactoring with OpenRewrite and Generative AI.pptx.pdf
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdf
 

SE_Lec 08_UML Use Cases

  • 1. 1
  • 2. 2  A use case consists of a series of actions that a user must initiate with the system to carry out some useful work and to achieve his/her goal.  A use case is a sequence of transactions performed by a system that produces a measurable result for a particular actor.  Use cases specify the expected behavior [what], and not the exact method of making it happen [how]  A good use case must represent the point of view of the people who will use or interact with the system.  A complete set of use cases = system requirements.
  • 3. 3  A use case diagram enables the system designer to discover the requirements of the target system from the user's perspective.  If the designer uses use case diagrams in the early stage of system development, the target system is more likely to meet the needs of the user.  From both the designer and user’s perspectives, the system will also be easier to understand.  Use cases are created based on identified functional requirements but are not mapped one-to-one to requirements.
  • 4. 4  A use case diagram consists of three main components:  Actors,  Use Cases, and their communications, and  some additional documentation such as use case descriptions for elaborating use cases and problem statements that are initially used for identifying use cases.  In addition, a use case diagram may consist of a system boundary.
  • 5. 5
  • 6. 6  Actors  Actors are the external entities that interact with the system.  Represent roles that humans, hardware devices, or external systems play while interacting with a given system  They are not part of the system and are situated outside of the system boundary  Actors may be both at input and output ends of a use case  An actor represents a role that a user can play, but not a specific user.
  • 7. 7  Primary actors:  Primary actors use the system to achieve an observable user goal.  Primary actors are completely outside the system and drive the system requirements.  Secondary actors:  play a supporting role to facilitate the primary actors to achieve their goals.  Secondary actors often appear to be more inside the system than outside.
  • 8. 8  Define system boundary to identify actors correctly  Identify users and systems that depend on the system’s primary and secondary functionalities  Identify hardware and software platforms with which the system interacts  Select entities that play distinctly different roles in the system  Identify as actors external entities with common goals and direct interaction with the system  Denote actors as nouns
  • 9. 9  Use Case  A use case describes a sequence of actions a system performs to yield an observable result or value to a particular actor.  Naming convention = verb + noun or verb + noun phrase, e.g. withdraw cash.
  • 10. 10  Lines between Actor and Use Case summarize interactions graphically  Actors and use cases exchange information to achieve the goal but the details of interaction are not shown
  • 11. 11  Describe a sequence of transactions performed by a system that produces a measurable result (goal) for a particular actor;  Describe the behavior expected of a system from a user's perspective;  Enable the system analyst to understand and model a system from a high-level business viewpoint; and  Represent the interfaces that a system makes visible to the external entities and the interrelationships between the actors and the system.
  • 12. 12  An automatic teller machine (ATM) system is typically used by different types of users (actors).  You are given a task to develop software for such an ATM system.  The manager of the bank explains the first requirements of the system: The user can open and close accounts. He or she withdraws and deposits cash. The user can view his / her accounts, and can make cash transfer between his / her accounts.
  • 14. 14  We will consider a simple hotel information system for two types of customers:  Tour Group customers and Individual customers.  Tour Group customers are those who have made reservations through a tour operator in advance while Individual customers make their reservations directly with the hotel.  Both types of customers can book, cancel, check-in and check-out of a room by phone or via the Internet.
  • 15. 15
  • 16. 16  In the process of developing a use case model, we may discover that some use cases share common behaviors.  There are also situations where some use cases are very similar but they have some additional behaviors.
  • 17. 17 Use Case: Withdraw Money Flow of Events: 1. The user inserts an ATM card. The system prompts the user to enter a password. 2. The user enters the password. The system validates the user password. .... …. …. Use Case: Deposit Money Flow of Events: 1. The user inserts an ATM card. The system prompts the user to enter a password. 2. The user enters the password. The system validates the user password. .... …. …. Common Behavior
  • 18. 18 Use Case: Withdraw Money Flow of Events: 1. include (login) .... …. …. Use Case: Deposit Money Flow of Events: 1. include (login) …. …. ….. Use Case: Login Account Flow of Events: 1. The user inserts an ATM card. The system prompts the user to enter a password. 2. The user enters the password. The system validates the user password.
  • 19. 19
  • 20. 20  Include relationships are used when two or more use cases share some common portion in a flow of events.  This common portion is then grouped and extracted to form an inclusion use case for sharing among two or more use cases.  Most use cases in the ATM system example, such as Withdraw Money, Deposit Money or Check Balance, share the inclusion use case Login Account.  Include relationship: Allows reuse of functionality by multiple use cases
  • 21. 21 Login Account (Included use case) Withdraw Money (Base use case)
  • 22. 22  Extend relationships are used when two use cases are similar, but one does a bit more than the other.  For example, you may have a use case that captures the typical case (the base use case) and use extensions to describe variations.  A base use case may therefore conditionally invoke an alternative use case.
  • 23. 23
  • 24. 24 Process Excess Amount (Extending use case) Withdraw Money (Base use case) If conditional guard is true, extending flow is executed.
  • 25. 25 Alternative flow of events Base use case flow of events Alternative flow does not return to the point at which it is inserted. <<extend>> relationship is for modeling alternative flow!
  • 26. 26 Exception flow of events Base use case flow of events Exception flow may or may not return to a base use case flow. <<extend>> relationship is not for modeling exceptions.
  • 27. 27  Shows inheritance and specialization  One use case is simply a special kind of another
  • 28. 28
  • 29. 29  Base use case – invoked directly by actor to achieve an observable goal.  Abstract use case – invoked by other use cases and is not a complete goal from user’s perspective.  e.g. withdraw cash (concrete use case) vs login (abstract use case)
  • 30. 30  Organize use cases by grouping them in packages as in the organization of classes  Generalization • One use case is a special case of another  Includes • Included use case embodies common behavior  Extends • Extending use case adds behavior
  • 31. 31  A use case is a description of what a system is used for, and who uses it, without providing details of how it performs its functions.  A use case description serves as an agreed description between the user and the system designer on the flow of events that would happen when a use case is invoked.  A use case description is explained and elaborated through scenarios (a set of sequences of actions).  Each of these scenarios is simply an instance of the use case.
  • 32. 32
  • 33. 33  A brief user story explaining who is using the system and what they are trying to accomplish.  Specify behavior of use case by description, not modeling  Examples include informal structured text, formal structured text with conditions, and pseudocode  Typically specifies:  How and when the use case starts and ends  Interaction with the actors and the exchange of objects  Flow of events: • main / typical (success), • alternative(success), and • exceptional (failure) flows
  • 34. 34  In a human resources system, for the “Hire Employee” use case, the following scenarios may apply:  Typical success scenario: Hire a person from outside of the company, for example, from another company  Alternative success scenario: Hire a person from within the same company, for instance, from another division  Exceptional failure scenario: No qualified person could be hired
  • 35. 35  Entry and Exit Conditions  Entry conditions describe the environment under which the use case is invoked  Exit conditions reflect the impact of the use case on the environment through its execution  Quality Requirements  Describe quality attributes in terms of a specific functionality  For example, requires system response in < 30 seconds
  • 36. 36  Extract the functionality that is available to each actor  Establish specific instances and not general descriptions  Denote situations in the current and future systems  Identify:  Tasks to be performed by the user and the system  Flow of information to the user and to the system  Events that are conveyed to the user and to the system  For the events flow, name steps in active voice
  • 37. 37  Informal Description: For this case study, the task is of constructing the design elements for a system that can be used to manage courses and classes for an organization that specializes in providing training. The name of the system is Courseware System. The organization offers courses in a variety of areas such as learning management techniques and understanding different software languages and technologies. Each course is made up of a set of topics.
  • 38. 38  Informal Description(Cont.): Tutors in the organization are assigned courses to teach according to the area that they specialize in and their availability. The organization publishes and maintains a calendar of the different courses and the assigns tutors every year. There is a group of course administrators in the organization who manage the courses including course content, assigning courses to tutors, and defining the course schedule. The training organization aims to use the Courseware System to get a better control and visibility to the course management and to also streamline the process of generating and managing schedules for different courses.
  • 39. 39  The following terms and entities are specific to the system:  Courses and Topics that make up courses  Tutors that teach courses  Course Administrators who manage the assignment of courses to tutors  Calendars and Course Schedules that are generated as a result of the work performed by the course administrators  Students who refer to Calendars and Course Schedules todecide which courses they wish to take up for study
  • 40. 40  Actors: Tutor, Student, Course Administrator (main actor)  Use Cases (primary business: secondary user)  Manage courses: View courses, Manage topics for a course, and Manage course information  Manage tutors: View course calendar, View tutors, Manage tutor information, and Assign courses to tutors
  • 41. 41
  • 42. 42
  • 43. 43  Use Case: Manage Course Information (UC_ID1)  Participating Actors: Course Administrator  Entry Conditions: Course Administrator is logged into Courseware  Exit Conditions: Course Administrator has received an acknowledgement from the system that the selected transaction is complete, or if not complete, a message explaining the failure  Quality Requirements: (Performance) Course Administrator receives a response from the system in less than 3 seconds  Related Requirements: Create, Modify, and Delete Course  …
  • 44. 44  Use Case: Manage Course Information (UC_ID1)  Typical flow of events: 1. Course Administrator selects Create New Course – System invokes Create New Course use case 2. Course Administrator selects Modify Existing Course – System invokes Modify Existing Course use case
  • 45. 45  Use Case: Create New Course (UC_ID2)  Participating Actors: Course Administrator  Extends: Manage Course Information (UC_ID1)  Entry Conditions: Course Administrator has selected Create New Course option  Exit Conditions: Course Administrator has received an acknowledgement from the system that a course has been created, or if not, a message explaining the failure  Quality Requirements: (Performance) Course Administrator receives a response from the system in less than 3 seconds  Related Requirements: Create Course  …
  • 46. 46  Use Case: Manage Course Information (UC_ID2)  Typical flow of events: 1. Course Administrator enters New Course Information a) System invokes Validate Course Information use case b) For a valid response, system creates a new course entry and sends an acknowledgment back to the actor  Exceptions: 2. Course Administrator enters New Course Information b) Invalid response received, so system reports failure with a message indicating invalid course information
  • 47. 47  Use Case: Modify Existing Course (UC_ID3)  Participating Actors: Course Administrator  Extends: Manage Course Information (UC_ID1)  Entry Conditions: Course Administrator has selected Modify Existing Course option  Exit Conditions: Course Administrator has received an acknowledgement from the system that a course has been modified, or if not, a message explaining the failure  Quality Requirements: (Performance) Course Administrator receives a response from the system in less than 3 seconds  Related Requirements: Modify and Delete Course  …
  • 48. 48  Use Case: Modify Existing Course (UC_ID3)  Typical flow of events: 1. Course Administrator selects Find Existing Course option a) System searches for a selected course and returns existing course information 2. Course Administrator enters new course information a) System invokes Validate Course Information use case b) For a valid response, system updates the existing course entry and sends an acknowledgment back to the actor
  • 49. 49  Use Case: Modify Existing Course (UC_ID3)  Alternatives: 1. Course Administrator selects Delete Existing Course option a) System invokes Delete Existing Course use case  Exceptions: 1. Course Administrator selects Find Existing Course option a) System searches for a selected course and returns failure stating that the course could not be found 2. Course Administrator enters New Course Information b) Invalid response received, so system reports failure with a message indicating invalid course information
  • 50. 50  Use Case: Delete Existing Course (UC_ID4)  Participating Actors: Course Administrator  Extends: Modify Existing Course (UC_ID3)  Entry Conditions: Course Administrator has selected Delete Existing Course option  Exit Conditions: Course Administrator has received an acknowledgement from the system that a course has been deleted, or if not, a message explaining the failure  Quality Requirements: (Performance) Course Administrator receives a response from the system in less than 3 seconds  Related Requirements: Delete Course  …
  • 51. 51  Use Case: Delete Existing Course (UC_ID4)  Typical flow of events: a) System deletes a selected course and sends an acknowledgment back to the user  Exceptions: a) System cannot delete a selected course so it returns failure stating that the course could not be deleted
  • 52. 52