Use Cases Why use ‘em? How do they work? UC diagrams Using them later in the software development cycle.

Slides:



Advertisements
Similar presentations
Agenda What is a Use Case? Benefits of the Use Cases Use Cases vs. Requirements document Developing the Use Case model System Actor Use Case Use Case.
Advertisements

Use Case - Example University library system requirements
Use Case Diagram © copyright 2001 SNU OOPSLA Lab..
CT1404 Lecture 2 Requirement Engineering and Use Cases 1.
Introduction To System Analysis and Design
Use-case Modeling.
Use Case Modeling Written by: Zvika Gutterman Adam Carmi.
Documenting Requirements using Use Case Diagrams
1 CS 425 Software Engineering Project Preparation Use Case Modeling [Based on Chapters 3 & 4, Arlow and Neustadt, “UML and the Unified Process,” Addison-Wesley,
Software Engineering Lecture 9 Object-Oriented Design II.
University of Toronto Department of Computer Science © Steve Easterbrook. This presentation is available free for non-commercial use with attribution.
IS550: Software requirements engineering Dr. Azeddine Chikh 4. Validation and management.
CS 501: Software Engineering Fall 2000 Lecture 12 Object-Oriented Design II.
Introductory case study. 2 The problem The most difficult part of any design project is understanding the task you are attempting You have been contacted.
Slide 7E.1 Copyright © 2004 by The McGraw-Hill Companies, Inc. All rights reserved. An Introduction to Object-Oriented Systems Analysis and Design with.
Software Engineering Case Study Slide 1 Introductory case study.
Use Case Diagram : Library System
CIS224 Software Projects: Software Engineering and Research Methods
USE Case Model.
Requirements Elicitation. Requirement: a feature or constraint that the system must satisfy Requirements Elicitation: specification of the system that.
Object-Oriented Analysis - Instructor Notes
Use Cases 2 ENGR ♯10 Peter Andreae
® IBM Software Group © 2006 IBM Corporation Rational Software France Object-Oriented Analysis and Design with UML2 and Rational Software Modeler 06. Requirements.
Use Cases College of Alameda Copyright © 2007 Patrick McDermott.
Alcatel-Lucent CDC Workshop, Coaching & Knowledge Transfer Project Management.
Business Modeling : basic concepts Extracted from Rational UML Profile for business modeling.mht.
المحاضرة الثالثة. Software Requirements Topics covered Functional and non-functional requirements User requirements System requirements Interface specification.
Systems Analysis and Design in a Changing World, 6th Edition
Chapter 4 – Requirements Engineering Lecture 3 1Chapter 4 Requirements engineering.
1 Object orientation. 2 What benefits does OO give? Primarily –Encapsulation (Associates data & operations) –Types & specialisation –Software re-use.
10/12/ Recall The Team Skills 1. Analyzing the Problem (with 5 steps) 2. Understanding User and Stakeholder Needs 1. Interviews & questionnaires.
Chapter 6 Use Cases. Use Cases: –Text stories Some “actor” using system to achieve a goal –Used to discover and record requirements –Serve as input to.
USE CASE Bayu Adhi Tama, MTI Faculty of Computer Science, University of Sriwijaya Slides are adapted from Petrus Mursanto
1 CMPT 275 Software Engineering Requirements Gathering Activity Janice Regan,
Lecture 7: Requirements Engineering
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.
Requirements as Usecases Capturing the REQUIREMENT ANALYSIS DESIGN IMPLEMENTATION TEST.
Intermediate 2 Software Development Process. Software You should already know that any computer system is made up of hardware and software. The term hardware.
A Use Case Primer 1. The Benefits of Use Cases  Compared to traditional methods, use cases are easy to write and to read.  Use cases force the developers.
Yarmouk University Department of Computer Information Systems CIS 499 Yarmouk University Department of Computer Information Systems CIS 499 Yarmouk University.
Faculty of Applied Engineering and Urban Planning Software Engineering Department Software Engineering Lab Use Cases Faculty of Information system Technology.
1 Structuring Systems Requirements Use Case Description and Diagrams.
1 Chapter 4 Analyzing End-to-End Business Processes.
Systems Analysis and Design in a Changing World, 6th Edition
Discovering object interaction. Use case realisation The USE CASE diagram presents an outside view of the system. The functionality of the use case is.
Use Cases Use Cases are employed to describe the functionality or behavior of a system. Each use case describes a different capability that the system.
Use Case Model Use case diagram.
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.
1 Modeling System Requirements with Use Cases. 2 Why Do We Need Use Cases? Primary challenge in a system design process –ability to elicit correct and.
1 Version /05/2004 © 2004 Robert Oshana Requirements Engineering Use cases.
Use Case Model Use case diagram. Relevant Requirements Artifacts Use-Case Model Supplementary Specification Use-Case Specifications... Glossary Actors.
Systems Development Life Cycle
2/6/03C-1 © 2001 T. Horton CS 494 Object-Oriented Analysis & Design Requirements and Use Cases.
Part IV: On Use Cases Using the use case technique for exploring user requirements Chapter 9: Use Cases and Scenarios and Stories, Oh My! Chapter 10: Actors.
UML - Development Process 1 Software Development Process Using UML.
Requirements. Outline Definition Requirements Process Requirements Documentation Next Steps 1.
Chapter 3: Software Design –Use case Diagram Nouf Alghanmi.
Chapter 3 Use case scenario, persona and user modeling.
George Wang, Ph.D. COMP 380/L Lesson 2. Use Case Use cases are a way to capture system functionalities (i.e., functional requirements) Based on use case.
1 Use Cases Object-Oriented Modeling and Design with UML (Second Edition) Blaha & Rumbaugh Sections 7.1, 8.1.
1 Team Skill 3 Defining the System Part 1: Use Case Modeling Noureddine Abbadeni Al-Ain University of Science and Technology College of Engineering and.
Use Case Analysis Chapter 6.
Welcome to M301 P2 Software Systems & their Development
Recall The Team Skills Analyzing the Problem (with 5 steps)
Use Case Model Use case diagram.
Start at 17th March 2012 end at 31th March 2012
CIS224 Software Projects: Software Engineering and Research Methods
Use Case Modeling Part of the unified modeling language (U M L)
Applied Software Project Management
Lecture 8 Object Concepts
Presentation transcript:

Use Cases Why use ‘em? How do they work? UC diagrams Using them later in the software development cycle

Requirements analysis: Use Case Model Use cases document what a system does/should do, not how it delivers/will deliver those functions UCs document system behavior from the user’s point of view –Work inwards from user requirements –Thinking in terms of what the user wants to do with the system, not how the system will be implemented

…continued A use case is a sequence of actions that an actor performs within a system to achieve a particular goal An actor represents an external entityt that interacts with the system –An actor exchanges information with the system –A role that a user can play with regards to a system –An entity such as another sytsem or a database (outside of the system being modeled)

…continued UC model is developed to help with: –Capturing system requirements –Maintaining traceability across iterations in system design/development –Creating system validation (testing) models UCs evolve; as understanding of users, user needs, system requirements, environment, etc etc change, UCs must reflect that change

An aside: System Development Life Cycle Project proposal Preliminary investigation Requirements analysis and specification System design Detailed design Programming/implementation Testing Installation and changeover Maintenance

Use Cases for requirements capture Result of Use Case modeling: all required system functionality is described in the UCs UCs provide a structured approach to requirements capture –Identify the actors –For each actor find out What they need from the system; that is, what use cases there are which have value for them Any other interactions they expect to have with the system, that is, which UCs they might take part in for someone else’s benefit

Identify Actors Potential human actors tend to be easy to identify –Note distinction between actor and user: User is anyone who uses the system Actor is a role that a user can play A single person (user) can play more than one role (be an instance of more than one Actor) Actors don’t have to be described in great detail; they are identified to help you figure out the UCs that they carry out

…identify actors Non-human actors can be less clear –Wht counts as an external system or device? –Do whatever seems to be most useful—show interactions with external systems: Always When it is the other system that initiates the contact When it is the other system that gets value from the contact

Example: actors in a library system Users: –Librarian –Library member –Non-member of the library Actors (roles): –Librarian –BookBorrower –JournalBorrower –Browser –Homeless

Developing the Use Cases Sit down with the Actors and identify their pertinent Use Cases Ask: –What are the main tasks (in terms of the organization) performed by each actor? –Will the actor read or update any information in the system? –Will the actor have to inform the system about changes outside the system? –Does the actor have to be informed about unexpected changes?

Use Cases in a library system: diagram BookBorrower –Reserve book, Borrow copy of book, Return copy of book, Extend loan JournalBorrower –Borrow journal, Return journal Browser –Browse Librarian –Update catalog, … Homeless –Special case of Browser

Documenting Use Cases Detail of each UC must be written down –Use third person, active voice English –Use terms from the problem domain –Say what the system does (in terms of the business; what it accomplishes for the business), not implementation detail or how The basic course of action is the main start-to- finish path the user will follow under normal circumstances An alternative course of action can represent an infrequently used path, an exception, or an error

…documenting Create a simple UC template: –Actor(s) that initiate the UC –Basic course –Alternate courses Eliciting Use Cases from system stakeholders: –Ask “what happens?” This gets the basic course of action started. –Ask “and then what happens?” Keep asking this question until you have all details fo the basic course on paper –Be relentless. “what else can happen? Are there any other things that can happen?” Keep asking until you have a set of alternative courses written down. –Alternative courses usually hardest to elicit—hard to think of unusual situations, odd occurrences, …

Borrow copy of book UC Actor: BookBorrower Basic course: 1.A BookBorrower presents a book. 2.The system checks that the borrower is a member of the library and that s/he does not already have the maximum permitted number of books on loan. 3.The system records that this library member has this copy of the book on loan. Alternative course(s): 1.If potential borrower is not a member of the library, then the system refuses the loan. 2.If the library member has the maximum permitted number of books (12 for staff members, otherwise 6) then the system refuses the loan.

Scope of a UC Often difficult to decide whether a set of user-system interactions is one UC or several UCs Rule of thumb: –A UC typically represents a major piece of functionality that is complete from beginning to end –A UC must deliver something of value to an actor Focus on things of value that a system provides to an actor –Group sequences of actions together –Review, modify, test action sequences as a unit –Note that a UC represents a complete functionality—don’t represent an individual action that is part of an overall function as a UC (ex: Borrower presenting a book is not a single UC)

Relationships between UCs > relationship: extends a UC by adding new behavior or actions –Example: Borrow ‘Adult Materials’ book; > Borrow a copy of a book –need to follow additional steps for AM books > relationship: one UC references another UC –Means that one UC uses the other UC when executing –Example: would make sense to have a UC ‘Check library fine’ –Then ‘Borrow copy of a book’ would have an > relationship with ‘Check library fine’ UC

Use Case diagrams in the analysis process Client interviews start the process –Use terminology of the client Start talking to users (generally more than the single client person) –Initial interviews reveal actors and functional requirements in general terms (high level UCs) –Helps define boundaries and scope of the proposed system –Later interviews delve into more detail. Produce UC models that show usage scenarios and sequences in detail Diagrams and UCs should be produced iteratively

UCs through the development cycle Planning –Need a list of all UCs for the proposed system, together with: A good idea of what each entails An understanding of who wants each, why, and how much Knowledge of which UCs carry the most risk when implementing An estimate of how long it should take to implement each UC Political aspects –Identify which UCs are most important to which people –Satisfy the most influential people first

…through development Technical aspects –Attempt/deliver UCs associated with highest risk first System validation –Each UC satisfies some functional requirement(s) –Correct design realizes each UC –Derive system tests from UC walkthroughs