Use Case Analysis From soft systems methodology to understanding the system functionality.

Slides:



Advertisements
Similar presentations
© 2010 Bennett, McRobb and Farmer1 Use Case Description Supplementary material to support Bennett, McRobb and Farmer: Object Oriented Systems Analysis.
Advertisements

Use Case Model. C-S 5462 Use case model describes what the user expects the system to do –functional requirements may describe only the functionalities.
Actors and use cases Use-case diagram Brief notation Prioritization Fully dressed notation Requirements Functional requirements  Use-cases.
Information System Engineering
OOAD Using the UML - Use-Case Analysis, v 4.2 Copyright  Rational Software, all rights reserved 1/18 Use Case Analysis – continued Control Classes.
The University of Anytown School of Business Computing.
Use Case Diagram © copyright 2001 SNU OOPSLA Lab..
Lecture 8 – USE CASE ANALYSIS
Introduction To System Analysis and Design
Documenting Requirements using Use Case Diagrams
Use Case Modelling.
CREATING THE DESIGN: THE LOGICAL VIEW The Class Diagram.
Requirements Analysis 2 What objects collaborate to achieve the goal of a use case?
C++ Training Datascope Lawrence D’Antonio Lecture 11 UML.
Use Case Modeling. Kendall & Kendall© 2005 Pearson Prentice Hall18-2 Commonly Used UML Diagrams The most commonly used UML diagrams are: – Use case diagram,
Software engineering Olli Alm Lecture 2: requirements, modelling & representation.
03/12/2001 © Bennett, McRobb and Farmer Use Case Diagrams Based on Chapter 6 of Bennett, McRobb and Farmer: Object Oriented Systems Analysis and.
Use Case Analysis – continued
A Student Guide to Object- Orientated Development
USE Case Model.
Quiz 1. Who is the guru of Extreme Programming?
UML REVIEW –PART1 1. Introduction What is UML visual modelling language UML is a language not a methodology? Q: why is this distinction important? UML.
Use Case modelling 1. Objectives  Document user requirements with a model  Describe the purpose of an actor and a use case  Construct a use case model.
Introduction to Sequence Diagrams
1 Object orientation. 2 What benefits does OO give? Primarily –Encapsulation (Associates data & operations) –Types & specialisation –Software re-use.
Introduction To System Analysis and Design
10/12/ Recall The Team Skills 1. Analyzing the Problem (with 5 steps) 2. Understanding User and Stakeholder Needs 1. Interviews & questionnaires.
Faculty of Computer & Information Software Engineering Third year
Software Engineering Chapter 7 Fall Capturing the Requirements as Use Cases Capturing the Requirements as Use Cases By using use cases analysts.
Requirements Analysis Visual Modeling] Lab 02 Visual Modeling (from Visual Modeling with Rational Rose and UML) A way of thinking about problems using.
1 CMPT 275 Software Engineering Requirements Gathering Activity Janice Regan,
1 © 2005 course technology1 1 1 University Of Palestine Chapter 5 (Cont.) Scoping the IT Project with System Use Cases.
Practical Object-Oriented Design with UML 2e Slide 1/1 ©The McGraw-Hill Companies, 2004 PRACTICAL OBJECT-ORIENTED DESIGN WITH UML 2e Chapter 4: Restaurant.
Originated by K.Ingram, J.Westlake.Edited by N.A.Shulver Use Case Scripts What is a Use Case Script? The text to describe a particular Use Case interaction.
1 Object-Oriented Modeling Using UML CS 3331 Section 2.4 Modeling Requirements with Use Cases.
Faculty of Applied Engineering and Urban Planning Software Engineering Department Software Engineering Lab Use Cases Faculty of Information system Technology.
1 System Requirements ΥΠΕΥΘΥΝΟΣ: Θ. ΜΑΝΑΒΗΣ UML Introduction – Use Case Diagrams.
Carmen David, Senior BA Business Analysis Carmen David, Senior BA Business Analysis Foundation in Business Analysis Session 7 MODELLING REQUIREMENTS.
1 Capturing Requirements As Use Cases To be discussed –Artifacts created in the requirements workflow –Workers participating in the requirements workflow.
1 Capturing Requirements As Use Cases To be discussed –Artifacts created in the requirements workflow –Workers participating in the requirements workflow.
Use Case Diagram The purpose is to communicate the system’s functionality and behaviour to the customer or end user. Mainly used for capturing user requirements.
Business Analysis with For PG MDI, Gurgaon Kamna Malik, Ph.D.
Connecting with Computer Science2 Objectives Learn how software engineering is used to create applications Learn some of the different software engineering.
Scenario A scenario is a sequence of steps describing an interaction between a user and a system. Use case is a set of scenarios tied together by a common.
22 August, 2007Information System Design IT60105, Autumn 2007 Information System Design IT60105 Lecture 8 Use Case Diagrams.
Chapters 10, 11 SSD (Revision) SD DCD Exam Object-Oriented Design.
UML (Unified Modeling Language)
Object-Oriented Analysis and Design Use cases Finding classes Collaboration and Sequence diagrams Associations between classes.
USE CASE Pertemuan 7 Matakuliah: Konsep object-oriented Tahun: 2009.
UML - Development Process 1 Software Development Process Using UML.
Use Case Diagram Lecture # 1. Use Case Diagram Use-cases are descriptions of the functionality of a system from a user perspective.  Depict the behaviour.
21/1/ Analysis - Model of real-world situation - What ? System Design - Overall architecture (sub-systems) Object Design - Refinement of Design.
Chapter 6: Structuring Requirements: Use Case Description and Diagrams Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph.
Use Case Diagrams. Introduction In the previous Lecture, you saw a brief review of the nine UML diagrams. Now that you have the clear, you'll start to.
Use Case, Component and Deployment Diagrams University of Sunderland.
Page 1  Copyright © 1997 by Rational Software Corporation Putting the UML to Work The ESU University wants to computerize their registration system –
Distributed Java Programming Distributed Java Programming Class #1 August 20, 2002.
ACO 101: Use cases What do the users do?. When building a system You begin with the Use Case Analysis – When looking at the system as a whole, Use Case.
Chapter 5 – System Modeling 1. Systems and the Real World A real-world situation or problem Thinks about Makes comparisons A system that helps to understand.
Requirements capture: Using UML Use Cases David Millard and Yvonne Howard {dem,
1 Use Cases Object-Oriented Modeling and Design with UML (Second Edition) Blaha & Rumbaugh Sections 7.1, 8.1.
CMPE 280 Web UI Design and Development August 29 Class Meeting
Use Case Model.
Week 10: Object Modeling (1)Use Case Model
UML Use Case Diagrams.
Systems Analysis and Design
Start at 17th March 2012 end at 31th March 2012
Introduction To System Analysis and Design PART 2
Object-Oriented Software Engineering
Presentation transcript:

Use Case Analysis From soft systems methodology to understanding the system functionality

The Vision SSM Models Use Cases Activity Models Dynamic Models Object Models Programs Databases Business Computing

Beginnings of a Method Soft Systems Model

Use Case Models Consist of –Use Cases –Actors –Relationships between Actors and Use Cases

What is a Use Case? “A Use Case is a sequence of transactions performed by a system that yields a measurable result of values for an actor” Formal definition “A Use Case is a sequence of transactions performed by a system that yields a measurable result of values for an actor” A Use Case: is a meaningful piece of system functionality models a dialogue between a user and the system Note - The user can be another system is more than a simple transaction (e.g. enter customer address)

We draw a use case as:

Examples of Use Cases Print Invoice Correct Invoice Chase Payment Register Bad Debt

What is an Actor? Anyone or any thing that uses or interfaces with the system, such as: –customer –credit controller –EPOS system –Bank system

We draw actors as: An Actor

Actors and Use Cases An Actor may use many Use Cases A Use Case may interface with many Actors We draw a simple line to indicate interaction

Relationships between actors and use cases An Actor A Use Case

Arrows indicate who initiates interaction An Actor A Use Case Sometimes the use case initiates interaction

Use Cases can be related One Use Case may use another Use Case Sometimes that use is an exception or alternative, and we say that one Use Case extends another Use Case

Stereotypes UML has a concept called a stereotype which is used to describe the type of relation ship that is being used. Stereotypes are written between guillemets > (pronounced “ gweemays”) which are placed on the relationship lines. Example >

Extend relationship Used where an alternative or an exception is being shown. In this case as part of a money collecting function, it is required that a warning letter is sent out. Note the direction of the arrow. It always goes from the extension to the base case. Chase PaymentIssue Warning Letter >

Include relationship When use cases share the same piece of functionality, we use the include relationship whereby the common use case is linked to the use cases that use its functionality. In this case, the Validate User use case needs to be used for taking an order and for displaying user information Note direction is from base to extension case Take order Confirm details Validat e user >

SSM Conceptual Model Any use cases here?

Initial thoughts on a development method

Problem Situation Student Retention Too many students enrol on a course then withdraw in their first year Need a software system to help solve the problem –An improved school intranet

Identify Relevant Systems 1.Admissions 2.Pastoral Care 3.Timetabling 4.Module Delivery 5.Peer Tutoring 6.Assessment 7.Attendance Monitoring 8.Research

Definition of a Pastoral Services System A system under the control of an in-school counselling team – giving appropriate referrals to external agencies to students presenting personal problems to members of the counselling team.

Root Definition for Peer-Tutoring A system owned by the school that provides study skills support to students using volunteers from the student body with the quality of their support activities monitored by academic staff

Conceptual Model Identify suitable peer tutors Document Skills of peer tutors Train peer tutors Advertise Receive tutee Document tutee needs Book times and rooms

Attendance Monitoring

Related Use Cases Let’s consider this one

Create Class List

The information displayed here might be brought together through collaboration between objects

Class Diagram showing relationships between these objects

We can do two things with this class diagram Implement it in an OOPL Translate it into an entity model then implement the entity model as a relational database

We’ve considered how class diagrams can be implemented in an OOPL

And how class diagrams can drive database design When the computer is switched off…. –…the data used by the class diagram must be stored in a database

My Next Example Program

Another Student

The Underlying Database

The Program that uses the Database

The Class Diagram

Get Group Student Numbers Get Student Number

Get Student Marks Get Module Results

Three Tiers

An interface developed in Visual Basic or HTML? An implementation of the class diagram using VB class modules or Java? An implementation of the entity model in MS Access, ORACLE, MySQL? Classic Three Tier Architecture

Back to Use Cases

Finding Use Cases (cont’d) Examine all the activities in the conceptual model and determine where the system is used Big use cases sometimes naturally break down via includes and extends Elaborating the use case often finds other use cases

Finding Use Cases (cont’d) To fulfil a defined role: What do users need to be able to do? What are users trying to accomplish What are the main tasks of users in this role? What information do users in this role need to examine, create, or change? What do users in this role need to be informed of by the system? What do users in this role need to inform the system about?

What do Students do? Enroll in, attend, drop, fail, and pass modules. Need a list of available modules. Need to determine basic information about a module, such as its description and its prerequisites. Obtain a copy of their transcript, their course schedules, and the fees due. Pay fees, pay late charges, receive reimbursements for dropped and cancelled modules, receive grants, and receive student loans. Graduate from a school or drop out of it. Need to be informed of changes in modules, including room changes, time changes, etc.

Prototyping and Use Cases Interface prototypes are good for: –Agreeing user interaction (HCI factors) –Clarifying with users –Determining data requirements –Working out how to group use cases in interfaces

Use Case Proforma Number and Name Primary Path Pre- and post-conditions Alternatives and Exceptions Related Use Cases Prototype Interfaces Activity Diagrams Supported Business Processes / Activities Notes

A Use Case Catalogue Is a Substantial Document Overviewed by set of Use Case Diagrams Has Individual Use Cases Linked into CASE tool This is your requirements definition!

Invoicing use case (1)

Invoicing use case (2)

Why Use Case Modelling? Agree system functionality and scope Relate it to how business processes are supported High level soft model, can be understood by all parties Prioritise implementation - particularly important for iterative development

What about Objects? You don’t need to be developing an OO system to use Use Case analysis Once you have Use Cases, then OO analysis and design can begin in earnest

Summary Use Cases are meaningful chunks of system functionality They support business processes They are important for defining and agreeing scope of a system They can be prototyped They are important for driving implementation schedules Modern development methods are “use case centric”