CM402 Lecture Week 1 - Computing at Northumbria

Download Report

Transcript CM402 Lecture Week 1 - Computing at Northumbria

IS0514 Lecture Week 3
Use Case Modelling
IS0514
Slide 1
Today's Lecture
•
•
•
•
IS0514
What is a use case?
How to draw a use case diagram?
Relationships between Actors
Use case stereotypes
Slide 2
UML Framework
Initiation
Requirements
Capture
Feasibilty Study
Scope of Development
UML Framework
- domain description
- boundaries
Use Cases
Use Case Diagram
Requirements
Analysis
System
Design
Domain Model
Design Model
Implementation
Software Architecture
* sub-systems
* layers & partitioning
Domain Model
Use Cases
Use Case Diagram
Class Diagram
Data Dictionary
static
CRCs
Interaction Sequence Diagram
Collaboration Diagram
Operation Specifications
Statecharts
Object Design
view
dynamic
view
Use Cases
Use Case Diagram
Class Diagram
Data Dictionary
CRCs
Interaction Sequence Diagram
Collaboration Diagram
Operation Specifications
Statecharts
redrawn/extended class
diagram to reflect design
decisions: addition of interface
and control objects; addition
of constraints, etc.
Interface Design
* Presentation Layer
Data Management
* Storage mechanisms
IS0514
Slide 3
System Requirements
• Functional Requirements
• What Systems do
• Inputs, Outputs, Process
• Non-Functional Requirements
• Constraints on system
• Performance, Volume, Security etc
• Usability Requirements
• User effectiveness, efficiency, comfort
• => Use Cases Primarily Model Functional Requirements
IS0514
Slide 4
Traditional Approach to
requirements
•
•
•
•
Documentation detailing description of system
Document forms “contract” with client
Discussions focus upon document
Result:
•
•
•
•
Large legalistic documents
Easy to misinterpret
Changes hard to manage
Easy to miss / omit requirements
• Modern approach – Model using UML
• Use cases are used to capture functional requirements
IS0514
Slide 5
Use Case Modeling
• Models the ‘actors’ outside a system and their
interactions with that system
• Every way that an ‘actor’ uses a system is called a Use
Case
• Model:
• Desired functionality
• Constraints on functionality
• Hence build what client wants!
IS0514
Slide 6
Reasons for Use Cases
• No information system exists in isolation
• Most systems interact with humans or other
automated systems (actors) that use the system for
some purpose
• Actors expect the system to behave in a predictable
way
• Use Cases specify the behavior of the system
• Helps visualize the system
IS0514
Slide 7
Use Case Modelling
• Use Case diagram
– Diagram illustrating
• Actors
• Use cases
In the system
• Use Case Description
– Specification of what happens in each use case
• Textural description
• Diagrams
IS0514
Slide 8
Example of a Use Case Diagram
Telephone catalogue
Check status
Salesperson
Place order
Customer
Fill orders
Shipping Clerk
Establish credit
Supervisor
IS0514
Slide 9
Elements of Use Case Models
•
•
•
•
•
•
•
IS0514
Use Case
Actor
Relationship
Use Case Diagram
Scenario
System Boundary
Use case description
• More next week
Slide 10
Use Case
• A Use Case is an interaction between the system and a
person or another system to achieve a result
• A required “bit” of functionality
• It yields an observable result of value to an actor (and
hence a developer)
• Typically named with a verb than a noun
• “Do something to something”
View Timetable
IS0514
Slide 11
Actors
• A coherent set of roles that users of Use Cases play when
interacting with Use Cases
• Roles not users or people
• User may have more than one role
Smith
IS0514
Lecturer
Slide 12
Relationships
• A semantic connection among elements
• Used to show:
• A function required by an actor
• Relationships between actors
• More later
• Relationships between use cases
• More later
• Some people also use external relationships
• Relationships between things that do not directly interact with
the system – Out of scope?
IS0514
Slide 13
Use Case Diagram
• A diagram that shows a set of Use Cases and Actors and their
relationships
• Use Case diagrams address a user-centric view of a system
• Show a required “bit” of functionality
Person
IS0514
View Timetable
Slide 14
Scenario / System Boundary
• Scenario
• A single path through a Use Case
• Use case is usually a collection of scenarios
• Included as part of use case description
• More next week
• System Boundary
• A high level indication of the domain
• Limit to investigation
• System
• Part of system in focus
IS0514
Slide 15
Exercise 1 – Use Case Diagram
• In groups of 3-4 spend 5 minutes attempting to draw
a use case diagram for the space invader game
below:
http://www.
neave.com/
games/inva
ders/
IS0514
Slide 16
Exercise 1 Solution
Move Left
Move Right
Fire Laser
Player
View High Scores
Play Game
IS0514
Slide 17
Relationships in use cases
• Between actor and use case
– Actor uses
• Generalisation of actors
– Types of users
• Use case stereotypes
– <<extend>>
• Optional
– <<include>>
• Mandatory
• Stereotype is a UML extension mechanism to
indicate a type of behaviour
IS0514
Slide 18
Generalisation of Actors
Blackboard Gradebook
Question:
Is Login part
of this
system?
Blackboard
User
Login
View Grade
Student
View Gradebook for
all students
Lecturer
Update Gradebook
IS0514
Slide 19
Use case variants :
include and extend
• include relationship occurs when you have a chunk of behavior that is similar
across more than one Use Case
– use in two or more separate Use Cases to avoid repetition
– a significant part of a use case
– <<include>>
• extend relationship where you have one Use Case which adds functionality to
another Use Case
– any Use Case can have more than one extend
– use when describing a variation on or in addition to normal behavior
– OPTIONAL BEHAVIOUR
• Otherwise part of use case or
• <<include>>
– <<extend>>
IS0514
Slide 20
Example of Use Case Variants
additional
functionality
Place order
Open account
<<extend>>
Extension Point
Place back order
<<include>>
<<include>>
Supply
Customer Data
Place back order
<<include>>
Arrange delivery
shared functionality
IS0514
Slide 21
Consider Sonic the
hedgehog.
1. What can sonic do?
2. What are the use
cases?
3. Are there any
relationships
4. Draw the use case
diagram
1.
2.
3.
4.
5.
6.
7.
IS0514
Move left
Move right
Jump
Jump left
Jump right
Spin Dash
Pause
Exercise 2
http://www.ebaumsworld.com/games/play/1108/
Slide 22
Exercise 2 – Possible Solution
Sonic the hedgehog
Move Left
Move Right
<<extend>>
Player
Jump Left
Jump
What about:
New game
Choose character
etc
IS0514
Spin Dash
<<extend>>
Jump Right
Pause Game
Slide 23
This weeks reading
ESSENTIAL READING
Dennis A, Wixom B, and Tegarden D (2005) System
Analysis and Design with UML version 2 second
edition, Wiley
Pages 178-186
Further reading
Bennett, S., McRobb, S. and Farmer, R. (2002) ObjectOriented Systems Analysis and Design using UML,
2nd Edition, McGraw-Hill
Pages 134-146
IS0514
Slide 24
Summary
•
•
•
•
•
What is a use case
How to draw a use case diagram
Use case stereotypes
Relationships between Actors
Next Week
– Use case descriptions
IS0514
Slide 25