Requirements and Use Case Modelling: Module 2 - Objectives Module 2 - Objectives (Continued)
Requirements and Use Case Modelling: Module 2 - Objectives Module 2 - Objectives (Continued)
This material has been reproduced and communicated to you by or on behalf of Monash University pursuant to Part VB of the Copyright Act 1968 (the Act). The material in this communication may be subject to copyright under the Act. Any further reproduction or communication of this material by you may be the subject of copyright protection under the Act. Do not remove this notice.
2
Module 2 Objectives
On completion of this session you should have a basic conceptual understanding of: actors, use cases, and the system boundary; the difference between functional and non-functional requirements the purpose and activities of the requirements workflow of the UP; the process by which a detailed use case description is developed
Uniquely number each requirement (for referencing) Use Cases should also be used to describe sequences of actions typically intended to support business processes
Use Cases complement the imperative statements
5 6
To provide system developers with better understanding of the system requirements To define the boundaries of the system To provide a basis for planning the technical content of iterations To provide a basis for estimating cost/time to develop
7 8
Source: Arlow
Use cases will form the base (reference) for later modeling tasks
10
Finding Requirements
Interviews Questionnaires Workshop/Brainstorm session
The study guide lists a range of questions to guide the process of thinking about issues when determining requirements. (pp. 26 29 )
11
12
The Subject
Also called System Boundary
FIT2005 Software Analysis, Design and Architecture
Defines what is part of the system (inside) and what is external to the system (outside the boundary) Defined by who or what uses the system
Called Actors
Actors
An abstraction of a role that some external entity adopts when interacting with the system In the real world, one person may fulfill multiple roles at different times, and one role may be fulfilled by different people Actors need a name which clearly describes the role
Example roles: Customer, OrderClerk, Administrator,
Particular actors may be represented by some data object inside the system
e.g. a Customer object which is a representation of information about a particular Customer actor
15
16
Finding Actors
To find actors: Who or what uses the system?
Installs, starts and shuts down, maintains, enters data, produces reports
Actor Personalities
Initiator responsible for starting one or more use cases External server provides information or performs a service required by the system Receiver receives information from the system Facilitator/Proxy an actor who directly interacts with the system on behalf of some other actor
Does anything happen at fixed times or intervals? Who or what uses the outputs of the system? Who or what provides the inputs for the system? What other systems interact with the system?
Use Cases
Something which an actor wants the system to do/allow A specification of sequences of actions, including variant sequences and error sequences, that a system, subsystem or class can perform by interacting with outside actors (Booch) Always started by an actor Written from the Actors point of view
How the actor perceives the systems behavior.
Output-oriented use case one which is predominantly for producing a report, or giving information to an actor.
Example: printing an invoice
Processing-oriented use case one which is predominantly for manipulating data that is already in the system, usually in response to additional information being received or the passage of time
Example: determine which products are low in stock
20
Always begin with the primary actor doing something to trigger the use case
Dont be vague
Problems can arise if too imprecise Example: Customer details are entered
Who enters the details? Entered where/ into what? What actually are details?
4. Else
The keyword Else by itself can be used for the alternative situation
Alternative Flows
An Alternative Flow is a deviation from the normal flow of a use case
Error situations Long branches which do not easily fit within the normal flow Interruptions of the main flow
Might return to continue the main flow; might not Can be triggered in one of 3 ways:
Instead of the main flow After a particular step in the main flow At any time during the main flow
First step of alternative flow should say when flow is triggered to commence.
28
30
www.monash.edu.au
Actor Generalization
Some Actors may participate in common use cases Actor Generalization creation of a more abstract Actor that participates in use cases For example, with many of Monashs online systems (WES, AllocatePlus, etc.) some uses are available to both staff and students.
An actor named MonashPerson could be made, and be the Actor for these use cases Specialized actors can be made which inherit from MonashPerson all the relationships it has to use cases
Student can:
Select unit View timetable Select class
33
34
include Example
One use case (called the base use case) can include the behavior of another use case (the inclusion use case) through an include relationship Must explicitly state where in base that the inclusion is to occur, e.g.: . 3. include (SomeCase) 4. continuation of base use case
35 36
Extension Points
Extension Points are provisions in a use case for future or conditional insertion of additional behavior.
Contrasting to inclusion, which is mandatory inclusion.
A base use case can declare multiple extension points Some other use case (the extension use case) can define 1 or more behavior fragments to be inserted at a subset of the defined extension points. If more than one extension use case exists for a base use case, they might all be inserted when the base executes
Order in which the extension use cases are executed is not defined
Readings
Ensure that you have read the Study Guide module
Read through the case study to prepare for the upcoming tutorial
41