Large Scale Systems Design G52LSS



Similar documents
Use Case Diagrams. Tutorial

4.4 What is a Requirement? 4.5 Types of Requirements. Functional Requirements

Software Requirement Specifications V1.0

Use Cases. Reference: Craig Larman, Applying UML and Patterns, Ch. 6

Rational Software. Course Registration System Use-Case Model

Vision Document Airline Reservation System

Lecturer: Sebastian Coope Ashton Building, Room G.18 COMP 201 web-page:

Software Specification and Architecture 2IW80

Course Registration Case Study

Centralized Internship Support System for Greek Higher Education Students

Name: Class: Date: AIST3610 StudyChk02 - Questions from text Chapters 3 & 4

A Guide to the Wellcome Trust Grant Application & Management System (WT Grant Tracker )

Use Cases. Massimo Felici. Massimo Felici Use Cases c

Software Engineering I CS524 Professor Dr. Liang Sheldon X. Liang

GDP11 Student Registration Guide

Doctor's appointment. Summary. Problem description. Main actor (s) Activity scenario

How to Get Set Up for the 2014 BE-180 and Request an Extension if Needed

TIBCO Spotfire and S+ Product Family

FedEx Billing Online PDF Help Guide Credit Card Customers

COURSE NAME: Database Management. TOPIC: Database Design LECTURE 3. The Database System Life Cycle (DBLC) The database life cycle contains six phases;

Architectural Design Structured Design. Xin Feng

Using the enclosed installation diagram, drill three holes in the wall with the lower hole 1150mm from the floor.

CS 3610: Software Engineering. Summer Software Requirements Specification Document. Project Title: Road Repair Tracking System

Warehouse R x Inventory Management Software. Technical Overview

Roadmap. Software Engineering. Software Engineering. Project Life Cycle. Database. Project Lifecycle

TDDC88 Lab 2 Unified Modeling Language (UML)

User Guide for Patients

PUA60112 Advanced Diploma of Public Safety (Emergency Management)

E-Appointment Scheduling (EAS)

CDC UNIFIED PROCESS PRACTICES GUIDE

Software Engineering. System Modeling

Campus Solutions Self Service: Student Quick Reference Guide

ARIS Education Package Process Design & Analysis

Online Class Registration Quick Guide for Students

Offline Payment Methods

Microsoft Dynamics GP 2010

<Company Name> ugather Event Management System Software Requirements Specification. Version 1.0

Participant Portal. User s Guide. 17/03/2011 (version 2.2.6) Participant Portal User s Guide ( ) Release 2.2.

SYSTEM REQUIREMENTS SPECIFICATIONS FOR THE PROJECT INVENTORY CONTROL SYSTEM FOR CALCULATION AND ORDERING OF AVAILABLE AND PROCESSED RESOURCES

LECTURE 1. SYSTEMS DEVELOPMENT

TIME KEEP LEGAL BILLING SOFTWARE REQUIREMENTS SPECIFICATION

Design Report: Resource Management Software CS400 Senior Design I

Getting Started With the APTA Learning Center. for PT CPI Course Participants. A Basic Overview

Schools CPD Online General User Guide Contents

Analysis and Design of a Simplified Patient Care System, DNS

DOCUMENTING USE CASES

A PROJECT PRESENTATION ON ONLINE MOVIE TICKET BOOKING SYSTEM. Submitted To : Department Of Computer Science

HTTP Reverse Proxy Scenarios

Microsoft Dynamics GP Release. Workflow Administrator s Guide

Business Internet Banking

Unit 2.1. Data Analysis 1 - V Data Analysis 1. Dr Gordon Russell, Napier University

IBM WebSphere Adapter for PeopleSoft Enterprise Quick Start Tutorials

Bookstore Inventory System Software Requirements Specification. Version 1.0

Ordering Books Textbooks for Dual Enrollment courses should be ordered online and picked up at the Broward College Bookstore.

Guidelines for Providers of Teacher Education Courses and Qualifications that Lead to Teacher Registration

MyStudioPlus.com Setup Documentation

APA On-Line Fellows Application Platform Instructions for Endorsers

User Guide For Event Registration System (ERS)

Architecture and Data Flow Overview. BlackBerry Enterprise Service Version: Quick Reference

Broward College Dual Enrollment Ordering and Returning Textbooks

ProSoftMod Commission Report Documentation

PAHO Self-Service Password Management Quick Reference Guide December 2014

College of Life and Natural Sciences PROGRAMME HANDBOOK. for. BSc (Hons) Psychological Studies

IBM Business Process Manager Version 8 Release 5. Hiring Tutorial IBM

VPN Overview. The path for wireless VPN users

Introduction. Editions

Objectives After completion of study of this unit you should be able to:

Project Implementation Plan (PIP) User Guide

Mobile Merchant Reference Guide

The Business Analyst Role in Agile Projects and How To Do It

Configuring SQL Server Lock (Block) Monitoring With Sentry-go Quick & Plus! monitors

Modeling a Problem Scenario with UML

How To Set Up A Xerox Econcierge Powered By Xerx Account

First Financial Bank Online Banking Quick Reference. February, 2013

SINGLE NUMBER SERVICE - MY SERVICES MANAGEMENT

Installing the ASP.NET VETtrak APIs onto IIS 5 or 6

CHAPTER 6. Discussion and Conclusion. patient health information, such as diagnosis, medicine orders, managing patient

OPERATING PROCEDURE IT CHANGE MANAGEMENT PROCEDURES MANUAL. PREPARED BY: AEMO DOCUMENT NO: Enter Document ID VERSION NO: 6.

Object-Oriented Design Guidelines

Software Requirements Specification

Preparing your Domain to transfer from Go Daddy

BCS Certificate in Modelling Business Processes

Getting Started with ERA User Account Guide

Note: you will need speakers or headphones in order to hear the narration, but there is a Closed Captioning option.

Software Requirements Specification of A University Class Scheduler

4. Multiagent Sys stems Design. Part 2: The PROMETHEUS methodology.

The Welcome screen displays each time you log on to PaymentNet; it serves as your starting point or home screen.

INTERNAL AUDIT FINAL REPORT CNES FINANCE AND CORPORATE RESOURCES DEPARTMENT CLOUD IT SYSTEMS AND THE CRM SYSTEM OFFICIAL OFFICIAL

FAQs Frequently Asked Questions

TAE Institute. Course Brochure. TAE40110 Certificate IV Training and Assessment

Transcription:

G52LSS Refine Requirements Lecture 13 Use Case Analysis Use Case Diagrams and Use Cases Steps of Use Case Analysis Example: University Registration System Learning outcomes: understand the importance of continuously refine requirements; identify some tools for use case analysis; apply the steps for use case analysis; demonstrate use case analysis for a small case. 1

Refine Requirements To better understand processes and data within the system and to help refining system requirements the following can help: 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 define requirements that match the real users needs 2

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 the summary of business activities and a user story is in their scope. The summary of business activities describes all business processes within the system. A user story refers to an specific business process or function within the system. 3

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

User Stories Helpful technique from extreme programming (XP) to identify valuable business user requirements. Narrates from the users perspective, the way in which business processes are performed. 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. User stories help developers to understand what happens between the users and the system. Users and developers have different backgrounds and points of view. Therefore, user stories is a good way of communication between developers and users. 5

Reading good stories is easy but writing them is not straightforward. Purpose and Characteristics of Good User Stories User (how the system should work) Developer (which units of code should be developed) Common language Simple sentences Starting even and ending Notions from known vocabulary Interactions between roles and system Notions are transformable to code and constructs Changes in story are easy to trace in the code 6

Good user stories can follow the SVO (subject-verbobject) 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) System shows list of available modules Student selects modules to register System validates that chosen modules are allowed 7

The development cycle of user stories 1. Users write initial stories 2. Users meet with developers and together write clarified user stories with notions 3. Developers translate the clarified stories into code. Stories are further clarified with users when required. Test stories are also written 4. Developers make sure that the test stories are fulfilled and hand system to users 5. Users verify system and possibly write corrected stories and new stories 8

Use Case Diagrams and Use Cases The use case diagram shows the system s behavior 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 9

Example 13.1 The following is the use case diagram for an appointments system in a surgery. patient make,cancel, change appointment bill patient receptionist initialise medical record extends update medical record doctor shows medical record 10

A use case shows the behavior of a specific functionality of the system and consists of a set of possible sequences of interactions between the user and the system. Basic information Name, number and brief description Trigger event that causes the use case to being External trigger some from outside the system 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 Further Details Steps performed and the data inputs and outputs 11

Example 13.2 The following is one use case for the appointments system in a surgery in which the main actor is the patient. 12

Steps of Use Case Analysis Following the creation of a use case diagram, then cycle through the steps below in an iterative manner. 1. Identify the major use cases Use one 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 13

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 14

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 15

Example: University Registration System Exercise D, (Dennis et al. 2006, chapter 5). A University Registration 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). 16

Use Case Diagram department staff shows moduleinfo andenrolment shows module info student verifymodule enrolmentis permitted maintains module info includes extends enrol in module verify student financialstatus financial office (fees data) 17

Step 1. Identify Major Use Cases: Maintain information about available modules Enrol student in module Produce reports about modules and student enrolments For each use case identify the basic information, inputs and outputs Step 2. Identify the major steps within the use case Step 3. Identify elements within the steps Step 4. Confirm each use case with the user 18

Use Case Name: Enrol student in module ID Number: 2 Short Description: Describes how students review listing of modules available for enrolment, add and remove modules from their schedules, and review their schedules. Trigger: Student requests to enrol in modules. Type: Major Inputs: Description External / Temporal Source Major Outputs: Description Destination Available module request Available modules Module enrolment request Fee payment status Student Module offerings file Student Fees file List of available modules Student enrolment_ Student schedule Student Enrolment file Student Major Steps Performed 1. Student requests list of available modules. List of available modules is generated. 2. Student adds module to current schedule. Fee payment status is checked and total hours is checked. If OK, module is added to student schedule. 3. Student removes module from schedule. 4. Student reviews current scheduled modules. Information for Steps Available module request Available module list Module ID Enrolment file Fees file Module offerings file Module ID Enrolment file Module offerings file Enrolment file 19

Use Case Name: Maintain information about available modules ID Number: 1 Short Description: Describes how department staff reviews module offerings, adds new modules, deletes existing modules or changes existing module information. Trigger: Departments must prepare upcoming module offerings. Type: Major Inputs: Description External / Temporal Source Major Outputs: Description Destination Module offering changes Module offerings Department staff Module offering file Updates module offerings Module offerings list Module offerings file Department staff Major Steps Performed 1. Department staff requests module offering list for the department. 2. New module information is entered. 3. Modules to delete are entered. 4. Module modifications are entered. Information for Steps Module offering list request Department identifier New module information Module offering file Module number to delete Module offering file Module number to modify Module changes Module offering file 20

Use Case Name: Module enrolment reports ID Number: 3 Short Description: Describes how department staff prints various reports on modules and enrolments. Trigger: Department staff needs information on modules and module enrolments. Type: Major Inputs: Description External / Temporal Source Major Outputs: Description Destination Report request Module information Enrolment information Staff Module offerings Module information Report requested Staff Major Steps Performed 1. Staff enters report request. 2. Requested report is generated. Information for Steps Report type Module offerings Enrolments 21

A simple user story for the case in which a student enrols in a module: Student access the system. If the student has a valid username and password, allow the student to sign-in, otherwise display an explanatory message. Student requests list of available modules. Search the fees file to determine whether the student is permitted to register or not. System shows list of available modules. Displays a list of available modules according to the fee paying status of the student. Student request enrolment in selected module. Check if the enrolment is permitted according to the number of modules in which the student is already registered. 22

System confirms enrolment. Ask the student to confirm the enrolment. Display confirmation of enrolment and update the enrolment file. Provide the student with a confirmation code for the enrolment. Student requests dropping a module. Display updated information and ask the student to confirm the drop. Update the enrolment file. Provide the student with a confirmation code. Student continues with more enrolments and drops. If the number of modules in which the student is enrolled has not reached the maximum permitted, give the student the option to enrol in other modules. If there are at least one module in which the student is enrolled, give the student the option to drop modules. System shows current student s schedule. Display student s schedule for modules enrolment. Give student the options of printing, saving and emailing the current schedule. 23

A summary of business activities for the University Registration System: Staff and students access the system providing a valid username and password. Staff access information for the available modules in their department. Staff adds, removes, and change information about the modules for which they are responsible. For each academic department, authorised staff modifies the maximum number of modules that students are permitted to take. Staff prints reports of various kinds about the available modules and their detailed information and reports about student enrolment. 24

Students are permitted to access the list of available modules if they do not have unpaid fees. Students make request for enrolment in a module of their choice. If the student has not reached the maximum number of modules permitted then the enrolment is processed. Students are notified of the enrolment. Students make request for dropping a module of their choice. Students are notified of the change in their enrolment record. Students can access their schedule and they can print, email or save it in a file. 25

Additional Reading Chapter 5 of (Dennis et al., 2006) Chapter 7 of (Hoffer et al., 2005) pages 225-233. 26