L ECTURE 8 – USE CASE ANALYSIS Objectives of Use Case Analysis Refining Requirements Definition...

20
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

Transcript of L ECTURE 8 – USE CASE ANALYSIS Objectives of Use Case Analysis Refining Requirements Definition...

Page 1: L ECTURE 8 – USE CASE ANALYSIS Objectives of Use Case Analysis Refining Requirements Definition Use Case Diagrams and Use Cases Steps to Develop Use Case.

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

Page 2: L ECTURE 8 – USE CASE ANALYSIS Objectives of Use Case Analysis Refining Requirements Definition Use Case Diagrams and Use Cases Steps to Develop Use Case.

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.

Page 3: L ECTURE 8 – USE CASE ANALYSIS Objectives of Use Case Analysis Refining Requirements Definition Use Case Diagrams and Use Cases Steps to Develop Use Case.

ANALYSIS PHASE

Software Project Management

3

Maria Petridou

Page 4: L ECTURE 8 – USE CASE ANALYSIS Objectives of Use Case Analysis Refining Requirements Definition Use Case Diagrams and Use Cases Steps to Develop Use Case.

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”

Page 5: L ECTURE 8 – USE CASE ANALYSIS Objectives of Use Case Analysis Refining Requirements Definition Use Case Diagrams and Use Cases Steps to Develop Use Case.

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.

Page 6: L ECTURE 8 – USE CASE ANALYSIS Objectives of Use Case Analysis Refining Requirements Definition Use Case Diagrams and Use Cases Steps to Develop Use Case.

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.

Page 7: L ECTURE 8 – USE CASE ANALYSIS Objectives of Use Case Analysis Refining Requirements Definition Use Case Diagrams and Use Cases Steps to Develop Use Case.

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.

Page 8: L ECTURE 8 – USE CASE ANALYSIS Objectives of Use Case Analysis Refining Requirements Definition Use Case Diagrams and Use Cases Steps to Develop Use Case.

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.

Page 9: L ECTURE 8 – USE CASE ANALYSIS Objectives of Use Case Analysis Refining Requirements Definition Use Case Diagrams and Use Cases Steps to Develop Use Case.

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

Page 10: L ECTURE 8 – USE CASE ANALYSIS Objectives of Use Case Analysis Refining Requirements Definition Use Case Diagrams and Use Cases Steps to Develop Use Case.

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

Page 11: L ECTURE 8 – USE CASE ANALYSIS Objectives of Use Case Analysis Refining Requirements Definition Use Case Diagrams and Use Cases Steps to Develop Use Case.

Software Project Management

11

Maria Petridou

Example of a Use Case Diagrams for an appointment system in surgery.

USE CASE DIAGRAMS

Page 12: L ECTURE 8 – USE CASE ANALYSIS Objectives of Use Case Analysis Refining Requirements Definition Use Case Diagrams and Use Cases Steps to Develop Use Case.

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

Page 13: L ECTURE 8 – USE CASE ANALYSIS Objectives of Use Case Analysis Refining Requirements Definition Use Case Diagrams and Use Cases Steps to Develop Use Case.

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

Page 14: L ECTURE 8 – USE CASE ANALYSIS Objectives of Use Case Analysis Refining Requirements Definition Use Case Diagrams and Use Cases Steps to Develop Use Case.

USE CASE EXAMPLE

Software Project Management

14

Maria Petridou

Page 15: L ECTURE 8 – USE CASE ANALYSIS Objectives of Use Case Analysis Refining Requirements Definition Use Case Diagrams and Use Cases Steps to Develop Use Case.

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.

Page 16: L ECTURE 8 – USE CASE ANALYSIS Objectives of Use Case Analysis Refining Requirements Definition Use Case Diagrams and Use Cases Steps to Develop 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.

Page 17: L ECTURE 8 – USE CASE ANALYSIS Objectives of Use Case Analysis Refining Requirements Definition Use Case Diagrams and Use Cases Steps to Develop 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).

Page 18: L ECTURE 8 – USE CASE ANALYSIS Objectives of Use Case Analysis Refining Requirements Definition Use Case Diagrams and Use Cases Steps to Develop Use Case.

EXAMPLE: UNIVERSITY REGISTRATION SYSTEM

Software Project Management

18

Maria Petridou

Page 19: L ECTURE 8 – USE CASE ANALYSIS Objectives of Use Case Analysis Refining Requirements Definition Use Case Diagrams and Use Cases Steps to Develop Use Case.

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).

Page 20: L ECTURE 8 – USE CASE ANALYSIS Objectives of Use Case Analysis Refining Requirements Definition Use Case Diagrams and Use Cases Steps to Develop Use Case.

EXAMPLE: UNIVERSITY REGISTRATION SYSTEM

Software Project Management

20

Maria Petridou