UseCase Unit3
UseCase Unit3
COMP11113
Information Systems Analysis and Design
Unit 3
Aims
To provide an overview of the system development process and software lifecycle models, and
describe how system analysis is involved in the process and software lifecycle models, as well
as explain how system analysis is carried out in the development.
Objectives
When you have completed this unit, you should be able to:
Overview
This unit introduces you to the system development process that consists of different stages:
system analysis, system design, system implementation, system testing, and system
maintenance. System developers need to go through these stages for developing a new
computer system. This unit also covers the issues relating to the system analysis that is the
first stage of system development and that is important to the success of the system because
it is responsible for requirements capture and system modelling and the results of the analysis
will have impact on the other stages of the process.
In this module the topics are broken down into the two sections:
Section 1 examines the system development process and explains how a computer system is
developed through the different stages in the process. It defines software lifecycle models and
measurement of software quality.
Section 2 then focuses on system analysis and examines it in deep detail. It looks at the role of
the system analyst and the user of the system. It further examines the process of system
analysis and tasks of the system analyst. This section also discusses the categories of user
requirements, the ways of capturing the requirements, and the specification of the
requirements.
Alan Dennis, Barbara Wixom, and David Tegarden, Systems Analysis and Design: An Object-
Oriented Approach with UML (6th edition), Wiley, 2021.
Table of Contents
AIMS ....................................................................................................................................................... 1
OBJECTIVES ......................................................................................................................................... 2
OVERVIEW ........................................................................................................................................... 2
READING OF THE TEXTBOOKS: .................................................................................................... 3
1 BASIC CONSTRUCTS IN UML .................................................................................................. 5
1.5 OBJECTIVES ............................................................................................................................... 5
1.6 STRING ...................................................................................................................................... 5
1.7 NAME ........................................................................................................................................ 5
1.8 LABEL ....................................................................................................................................... 5
1.9 EXPRESSION .............................................................................................................................. 5
1.10 NOTE ......................................................................................................................................... 5
1.11 GENERAL EXTENSION MECHANISMS ......................................................................................... 6
1.12 SELF ASSESSMENT QUESTIONS ................................................................................................. 6
1.13 LEARNING OUTCOMES .............................................................................................................. 6
2 USE CASE DIAGRAM IN UML .................................................................................................. 7
2.1 OBJECTIVES ............................................................................................................................... 7
2.2 USE CASE MODEL ..................................................................................................................... 8
2.3 BASIC FUNCTIONAL MODELLING CONSTRUCTS ........................................................................ 9
2.4 GUIDELINES FOR DRAWING A USE CASE DIAGRAM AND DESCRIBING USE CASES .................. 10
2.5 THE CASE STUDY: THE SOLENT HOTEL SYSTEM..................................................................... 11
2.6 SELF ASSESSMENT QUESTIONS ............................................................................................... 12
2.7 LEARNING OUTCOMES ............................................................................................................ 12
1.6 String
A string is a sequence of characters in some suitable character set used to display information
about the model. For example.
BankAccount
integrate (f: Function, from: Real, to: Real)
{ author = “Joe Smith”, deadline = 31-March-1997, status = analysis }
1.7 Name
A name is a string that is used to uniquely identify a model element within some scope. For
example,
BankAccount
integrate
abstract
this_is_a_very_long_name_with_underscores
1.8 Label
A label is a string that is attached to a graphic symbol. Figure 1 shows an example of a label.
account
1.9 Expression
An expression is a linguistic formula yielding values when evaluated at run-time. For example,
Example 1: array [1..20]
Example 2: [i> j and size >i] (it is a condition/Boolean expression)
1.10 Note
A note is a graphical symbol containing textual information, such as constraints, comments,
* member-of *
{subset} Represents
Person Committee An incorporated entity
1 chair-of *
Tagged Values
Tagged values may be “documentation” and “location”, as shown in Figure 3.
Stereotypes
The essence of the stereotype is to suggest certain outline responsibilities for a class, as shown in Figure
3.
When you extend a model with stereotypes, tagged values, and constraints,
Standardize on a small set of stereotypes, tagged values, and constraints to use on your
project, and avoid letting individual developers create lots of new extensions.
Choose short, meaningful names for your stereotypes and tagged values.
Use free-form text for specifying constraints, when precision is not important
Figure 3 Extensibility
<<control>>
ActionQueue tagged value
stereotype {version=3.2}
add() {add() runs in every 30 seconds}
remove()
<<query>>
length() constraint
<<helper functions>>
reorder()
Interaction Check
Actor status Salesperson
Place name
order
Shipping Clerk
Customer Fill orders
Establish
system boundary credit Supervisor
The use case diagram is produced in the requirements analysis at the beginning of system
analysis, as illustrated in Figure 5.
Figure 5 A use case diagram used in requirements analysis in a use case-driven process
System analysis
USE CASE
A use case is a functional requirement of your system as a whole, or a part.
A use case must always deliver some value to an actor.
A use case may include (aggregate) or extend (inherit) other use cases.
A use case describes what a system does but it does not specify how it does it.
ACTOR
An actor represents a role that a human, a hardware device, or even another system plays with
a system.
An actor interacts directly with a use case in the use case diagram.
An actor may perform many use cases; conversely, a use case may be performed by several
actors.
Place Order
Extension points <<extend>> Place rush order
set priority
Track
Order <<include>> generalization
<<include>>
Validate user Check password
Generalization relationship
A generalization relationship among use cases indicates that the child use case inherits the
behaviour and the meaning of the parent use case; the child may add to or override the
behaviour of its parent; and the child may be substituted any place the parent appears.
Include relationship
An include relationship between use cases means a delegation: you take a set of responsibilities
of the system and capture it in one place (the included use case), then let all other parts of the
system (other use cases) include the new aggregation of responsibilities whenever they need
to use that functionality.
Extend relationship
An extend relationship between use cases means that the behaviour of the base use case may
be extended by the behaviour of another use case. You use an extend relationship to model the
part of a use case the user may see as optional system behaviour.
Establish the context of the system by identifying the actors that surround it: Customer and
Receptionist.
For each actor, consider the behaviour that each expects or requires the system to provide
such as “Book bedroom”.
Name these common behaviours as use cases.
Factor
common behaviour into new use cases that are used by others (e.g. Book room).
variant behaviour into new use cases that extend more main line flows (e.g. Allocate
PE).
Model these use cases, actors, and their relationships in a use case diagram shown in Figure
8.
Specify the scenario (including normal, abnormal, error cases) of each of use cases in
Structured English. (See Unit 4).
Validate the description against the user requirements or the problem statement. This can
also be down by showing the description to the user and asking the user to check the use
cases and to confirm the use case description.