SlideShare ist ein Scribd-Unternehmen logo
1 von 52
Downloaden Sie, um offline zu lesen
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

Weitere ähnliche Inhalte

Was ist angesagt?

Technical communication
Technical communicationTechnical communication
Technical communicationKamal Subedi
 
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 ModelAmr E. Mohamed
 
UML: Diagrama de caso de uso
UML: Diagrama de caso de usoUML: Diagrama de caso de uso
UML: Diagrama de caso de usoElvin Hernandez
 
Architecture design in software engineering
Architecture design in software engineeringArchitecture design in software engineering
Architecture design in software engineeringPreeti Mishra
 
Database Project Airport management System
Database Project Airport management SystemDatabase Project Airport management System
Database Project Airport management SystemFahad Chishti
 
Class Diagram for Online Examination system
Class Diagram for Online Examination systemClass Diagram for Online Examination system
Class Diagram for Online Examination systemHASIM ALI
 
Waterfall Model (Software Engineering)
Waterfall Model (Software Engineering)  Waterfall Model (Software Engineering)
Waterfall Model (Software Engineering) MuhammadTalha436
 
Uml in software engineering
Uml in software engineeringUml in software engineering
Uml in software engineeringMubashir Jutt
 
Arquitectura sw varios niveles.pdf
Arquitectura sw varios niveles.pdfArquitectura sw varios niveles.pdf
Arquitectura sw varios niveles.pdfRene Guaman-Quinche
 
2.software requirement specification
2.software requirement specification2.software requirement specification
2.software requirement specificationDeepak Sharma
 
Fundamental software engineering activities
Fundamental software engineering activitiesFundamental software engineering activities
Fundamental software engineering activitiessommerville-videos
 

Was ist angesagt? (20)

Uml
UmlUml
Uml
 
Case tools
Case toolsCase tools
Case tools
 
Technical communication
Technical communicationTechnical communication
Technical communication
 
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
 
UML: Diagrama de caso de uso
UML: Diagrama de caso de usoUML: Diagrama de caso de uso
UML: Diagrama de caso de uso
 
Architecture design in software engineering
Architecture design in software engineeringArchitecture design in software engineering
Architecture design in software engineering
 
Component Diagram
Component DiagramComponent Diagram
Component Diagram
 
Uml
UmlUml
Uml
 
Database Project Airport management System
Database Project Airport management SystemDatabase Project Airport management System
Database Project Airport management System
 
Casos de Uso en UML
Casos de Uso en UMLCasos de Uso en UML
Casos de Uso en UML
 
Class Diagram for Online Examination system
Class Diagram for Online Examination systemClass Diagram for Online Examination system
Class Diagram for Online Examination system
 
Live chat srs
Live chat srsLive chat srs
Live chat srs
 
Waterfall Model (Software Engineering)
Waterfall Model (Software Engineering)  Waterfall Model (Software Engineering)
Waterfall Model (Software Engineering)
 
Uml in software engineering
Uml in software engineeringUml in software engineering
Uml in software engineering
 
Domain Modeling
Domain ModelingDomain Modeling
Domain Modeling
 
Arquitectura sw varios niveles.pdf
Arquitectura sw varios niveles.pdfArquitectura sw varios niveles.pdf
Arquitectura sw varios niveles.pdf
 
2.software requirement specification
2.software requirement specification2.software requirement specification
2.software requirement specification
 
Case Study Uml
Case Study UmlCase Study Uml
Case Study Uml
 
2. Cascada De Fase Solapada
2. Cascada De Fase Solapada2. Cascada De Fase Solapada
2. Cascada De Fase Solapada
 
Fundamental software engineering activities
Fundamental software engineering activitiesFundamental software engineering activities
Fundamental software engineering activities
 

Andere mochten auch

SE_Lec 00_ Software Engineering 1
SE_Lec 00_ Software Engineering 1SE_Lec 00_ Software Engineering 1
SE_Lec 00_ Software Engineering 1Amr E. Mohamed
 
SE_Lec 04_Agile Software Development
SE_Lec 04_Agile Software DevelopmentSE_Lec 04_Agile Software Development
SE_Lec 04_Agile Software DevelopmentAmr E. Mohamed
 
Se2 lec 13 uml state machines
Se2 lec 13  uml state machinesSe2 lec 13  uml state machines
Se2 lec 13 uml state machinesAmr E. Mohamed
 
SE2018_Lec 16_ Architectural Design
SE2018_Lec 16_ Architectural DesignSE2018_Lec 16_ Architectural Design
SE2018_Lec 16_ Architectural DesignAmr 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 EthicsAmr E. Mohamed
 
SE_Lec 12_ Project Planning
SE_Lec 12_ Project PlanningSE_Lec 12_ Project Planning
SE_Lec 12_ Project PlanningAmr E. Mohamed
 
SE_Lec 09_ UML Behaviour Diagrams
SE_Lec 09_ UML Behaviour DiagramsSE_Lec 09_ UML Behaviour Diagrams
SE_Lec 09_ UML Behaviour DiagramsAmr 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 ModelsAmr 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 EnginerringAmr 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 SignalsAmr 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 SpecificationAmr 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 DesignAmr E. Mohamed
 
SE_Lec 11_ Project Management
SE_Lec 11_ Project ManagementSE_Lec 11_ Project Management
SE_Lec 11_ Project ManagementAmr 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 systemsAmr 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 PatternsAmr 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 SystemsAmr E. Mohamed
 
Unit 1- OOAD ppt
Unit 1- OOAD  pptUnit 1- OOAD  ppt
Unit 1- OOAD pptPRIANKA R
 

Andere mochten auch (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 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
 
Unit 1- OOAD ppt
Unit 1- OOAD  pptUnit 1- OOAD  ppt
Unit 1- OOAD ppt
 

Ähnlich wie SE_Lec 08_UML Use Cases

Ähnlich wie 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
Use Case DiagramUse Case Diagram
Use Case Diagram
 

Mehr von 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 processingAmr 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 systemsAmr E. Mohamed
 
Dcs lec02 - z-transform
Dcs   lec02 - z-transformDcs   lec02 - z-transform
Dcs lec02 - z-transformAmr 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 systemsAmr 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 ApplicationsAmr 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 DesignAmr 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 DesignAmr E. Mohamed
 
SE2018_Lec-22_-Continuous-Integration-Tools
SE2018_Lec-22_-Continuous-Integration-ToolsSE2018_Lec-22_-Continuous-Integration-Tools
SE2018_Lec-22_-Continuous-Integration-ToolsAmr 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 PatternsAmr E. Mohamed
 
Selenium - Introduction
Selenium - IntroductionSelenium - Introduction
Selenium - IntroductionAmr 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 TestingAmr 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 TransformAmr 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 FiltersAmr 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-TransformAmr 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 SystemsAmr 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 SignalsAmr E. Mohamed
 
SE2018_Lec 15_ Software Design
SE2018_Lec 15_ Software DesignSE2018_Lec 15_ Software Design
SE2018_Lec 15_ Software DesignAmr E. Mohamed
 

Mehr von 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
 

Kürzlich hochgeladen

Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024StefanoLambiase
 
MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based projectAnoyGreter
 
PREDICTING RIVER WATER QUALITY ppt presentation
PREDICTING  RIVER  WATER QUALITY  ppt presentationPREDICTING  RIVER  WATER QUALITY  ppt presentation
PREDICTING RIVER WATER QUALITY ppt presentationvaddepallysandeep122
 
React Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaReact Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaHanief Utama
 
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...confluent
 
Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)Hr365.us smith
 
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Angel Borroy López
 
Precise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive GoalPrecise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive GoalLionel Briand
 
Introduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdfIntroduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdfFerryKemperman
 
SpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at RuntimeSpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at Runtimeandrehoraa
 
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Andreas Granig
 
Sending Calendar Invites on SES and Calendarsnack.pdf
Sending Calendar Invites on SES and Calendarsnack.pdfSending Calendar Invites on SES and Calendarsnack.pdf
Sending Calendar Invites on SES and Calendarsnack.pdf31events.com
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmSujith Sukumaran
 
What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...Technogeeks
 
Cyber security and its impact on E commerce
Cyber security and its impact on E commerceCyber security and its impact on E commerce
Cyber security and its impact on E commercemanigoyal112
 
Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)Ahmed Mater
 
A healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdfA healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdfMarharyta Nedzelska
 
Unveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesUnveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesŁukasz Chruściel
 
CRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceCRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceBrainSell Technologies
 

Kürzlich hochgeladen (20)

Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
 
MYjobs Presentation Django-based project
MYjobs Presentation Django-based projectMYjobs Presentation Django-based project
MYjobs Presentation Django-based project
 
PREDICTING RIVER WATER QUALITY ppt presentation
PREDICTING  RIVER  WATER QUALITY  ppt presentationPREDICTING  RIVER  WATER QUALITY  ppt presentation
PREDICTING RIVER WATER QUALITY ppt presentation
 
React Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaReact Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief Utama
 
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
Catch the Wave: SAP Event-Driven and Data Streaming for the Intelligence Ente...
 
Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)Recruitment Management Software Benefits (Infographic)
Recruitment Management Software Benefits (Infographic)
 
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
 
Odoo Development Company in India | Devintelle Consulting Service
Odoo Development Company in India | Devintelle Consulting ServiceOdoo Development Company in India | Devintelle Consulting Service
Odoo Development Company in India | Devintelle Consulting Service
 
Precise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive GoalPrecise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive Goal
 
Introduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdfIntroduction Computer Science - Software Design.pdf
Introduction Computer Science - Software Design.pdf
 
SpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at RuntimeSpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at Runtime
 
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024
 
Sending Calendar Invites on SES and Calendarsnack.pdf
Sending Calendar Invites on SES and Calendarsnack.pdfSending Calendar Invites on SES and Calendarsnack.pdf
Sending Calendar Invites on SES and Calendarsnack.pdf
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalm
 
What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...
 
Cyber security and its impact on E commerce
Cyber security and its impact on E commerceCyber security and its impact on E commerce
Cyber security and its impact on E commerce
 
Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)
 
A healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdfA healthy diet for your Java application Devoxx France.pdf
A healthy diet for your Java application Devoxx France.pdf
 
Unveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesUnveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New Features
 
CRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. SalesforceCRM Contender Series: HubSpot vs. Salesforce
CRM Contender Series: HubSpot vs. Salesforce
 

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