L ECTURE 8 – USE CASE ANALYSIS Objectives of Use Case Analysis Refining Requirements Definition...
-
Upload
lorena-felicia-watkins -
Category
Documents
-
view
232 -
download
1
Transcript of L ECTURE 8 – USE CASE ANALYSIS Objectives of Use Case Analysis Refining Requirements Definition...
LECTURE 8 – USE CASE ANALYSIS• Objectives of Use Case Analysis• Refining Requirements Definition• Use Case Diagrams and Use Cases• Steps to Develop Use Case Analysis
Software Project Management Maria Petridou
1
OBJECTIVES OF USE CASE ANALYSIS
Software Project Management
2
Maria Petridou
It is to identify and define all of the business processes that the system must support.
Analysts define the use cases at two levels: an overview level and a detailed level.
Use Case Diagrams provide an overview of all the use cases for a system.
ANALYSIS PHASE
Software Project Management
3
Maria Petridou
REFINING REQUIREMENTS DEFINITION
Software Project Management
4
Maria Petridou
To better understand processes and data within the system and to help refining system requirements: Summary of business activities Use-case analysis: user stories, use case diagrams, use
cases
The requirements specification phase in the SDLC has a clear purpose:
“to produce code that satisfies the real need of the users”
REFINING REQUIREMENTS DEFINITION
Software Project Management
5
Maria Petridou
Summary of Business Activities: Short and easy to understand description of all the business
activities that should be incorporated into the system to be developed.
The key difference between a summary of business activities and a user story is that the first one describes all business processes within the system while the second one refers to a specific business process or function.
REFINING REQUIREMENTS DEFINITION
Software Project Management
6
Maria Petridou
Use-case Analysis Event-driven modelling technique – everything in the system is a
response to some triggering event. A use case diagram represents a complete functionality, not part of
an overall function. A use-case: shows a single function of the system, describes how
the system reacts to an event that triggers the system, is a set of activities that produce some output result.
Simple use-cases may have only one path and complex use cases may have several possible paths.
The information in a use case is organised in three main parts: basic information, inputs/outputs, and details.
e.g. As a non-administrative user, I can modify my own schedules but not the schedules of other users.
REFINING REQUIREMENTS DEFINITION
Software Project Management
7
Maria Petridou
User Stories Helpful technique from extreme programming (XP) to identify valuable
business user requirements. The way in which business processes are performed, from the users’
perspective. Short and easy to understand so that developers get an overall picture
that is clear enough to estimate what it takes to complete the project. Several user stories may be needed to describe the various processes in
the system to be developed.
e.g. As a customer representative, I can search for my customers by their first and last name.
REFINING REQUIREMENTS DEFINITION
Software Project Management
8
Maria Petridou
User Stories User stories help developers to understand what happens between
the users and the system. A good way of communication between the developers and users.
REFINING REQUIREMENTS DEFINITION
Software Project Management
9
Maria Petridou
User Stories Good user stories can follow the SVO (subject-verb-object)
format plus some explanation of the terms used in the story. For example: Student enters the ID System verifies the ID is valid - where ID is a 7-digit number
starting with 4 and unique for each student
USE CASE DIAGRAMS
Software Project Management
10
Maria Petridou
The use case diagram shows the system’s behaviour together with the key actors for a specific scenario. The elements of use case diagrams are: Actors Use cases System boundary Connections Extend relationships Include relationships
Software Project Management
11
Maria Petridou
Example of a Use Case Diagrams for an appointment system in surgery.
USE CASE DIAGRAMS
USE CASE
Software Project Management
12
Maria Petridou
It is an activity the system carries out. Think of Use Case as a situation in which the system must
accomplish some goal of a user - actors. Its purpose is to present a graphical overview of the
functionality provided by a system in terms of actors and their goals
USE CASE
Software Project Management
13
Maria Petridou
Basic information in a use case Name, number and brief description Trigger – event that causes the use case to being
a) External trigger – some from outside the systemb) Temporal triggers – time-based occurrences
Viewpoint in a use case should be consistent (from same actor)
Major inputs and outputs Sources and destinations Goal is to be all inclusive
USE CASE EXAMPLE
Software Project Management
14
Maria Petridou
STEPS TO DEVELOP A USE CASE ANALYSIS
Software Project Management
15
Maria Petridou
Following the creation of a use case diagram, then cycle through the steps below in an iterative manner:
1. Identify the major use cases• Start a use case form for each use case.
• If more than nine, group into packages.• Ask who, what, and where about the tasks and their inputs and outputs.
2. Identify the major steps within each use case.• For each use case, fill in the major steps needed to process the inputs and produce the outputs.• Ask how about each use case.
STEPS TO DEVELOP A USE CASE ANALYSIS
Software Project Management
16
Maria Petridou
3. Identify elements within steps• For each step, identify its triggers, its inputs and outputs.
• Ask how about each step.
4. Confirm the use case.• For each use case, validate that it is correct and complete.• Ask the user to execute the process using the written steps in the use case – that is, have the user role-play the use case.
EXAMPLE: UNIVERSITY REGISTRATION SYSTEM
Software Project Management
17
Maria Petridou
Example. Exercise D, (Dennis&Wixom, chapter 5).
Create a set of use cases for an online university registration system.
The system should enable staff of each academic department to examine the modules offered by their department, add and remove modules, and change the information about them (e.g. the maximum number of students permitted). It should permit students to examine currently available modules, add and drop modules to and from their schedules, and examine the modules for which they are enrolled. Department staff should be able to print a variety of reports about the modules and the students enrolled in them. The system should ensure that no student takes too many modules and that students who have any unpaid fees are not permitted to register (Note: assume that a fees data store is maintained by the university’s financial office and this data store is accessed by the registration system but the fees data store is not modified by the registration system).
EXAMPLE: UNIVERSITY REGISTRATION SYSTEM
Software Project Management
18
Maria Petridou
EXAMPLE: UNIVERSITY REGISTRATION SYSTEM
Software Project Management
19
Maria Petridou
Step 1. Identify Major Use Cases:a) Maintain information about available modulesb) Enrol student in module *c) Produce reports about modules and student enrolments.* For the use case b) Enrol student in module, identify the basic
information, inputs and outputs.
Step 2. Identify the major steps within the use case.
Step 3. Identify elements within the steps.
Reading: (Dennis &Wixom, chapter 5).
EXAMPLE: UNIVERSITY REGISTRATION SYSTEM
Software Project Management
20
Maria Petridou