Use Cases 1. Last week  Introduction to software engineering  How is it different from traditional engineering?  Introduction to specification  Operational.

Slides:



Advertisements
Similar presentations
Generalizable Element Namespace Model Element name visibility isSpecification Classifier isRoot Constraint Body Use Cases CS/SWE 421 Introduction to Software.
Advertisements

CPSC 333: Foundations of Software EngineeringJ. Denzinger 2.2. Use Cases: Scenario based requirements modeling Recommended: Booch, Rumbaugh, Jacobson:
10 Software Engineering Foundations of Computer Science ã Cengage Learning.
© 2010 Bennett, McRobb and Farmer1 Use Case Description Supplementary material to support Bennett, McRobb and Farmer: Object Oriented Systems Analysis.
Use Case Modeling SJTU. Unified Modeling Language (UML) l Standardized notation for object-oriented development l Needs to be used with an analysis and.
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.
Use Case Diagram © copyright 2001 SNU OOPSLA Lab..
Object-Oriented Analysis and Design
Conversation Form l One path through a use case that emphasizes interactions between an actor and the system l Can show optional and repeated actions l.
CT1404 Lecture 2 Requirement Engineering and Use Cases 1.
Use-case Modeling.
Use Case Modeling Written by: Zvika Gutterman Adam Carmi.
Uml and Use Cases CS 414, Software Engineering I Mark Ardis Rose-Hulman Institute January 9, 2003.
Use Cases & Requirements Analysis By: Mostafa Elbarbary.
Documenting Requirements using Use Case Diagrams
University of Toronto Department of Computer Science © Steve Easterbrook. This presentation is available free for non-commercial use with attribution.
Use Case Modeling Written by: Zvika Gutterman Adam Carmi.
Unified Modeling Language 7/12/2015B.Ramamurthy1 The Unified Modeling Language™ (UML) was developed jointly by Grady Booch, Ivar Jacobson, and Jim Rumbaugh.
USE Case Model.
CMIS 470 Structured Systems Design
Object-Oriented Analysis - Instructor Notes
® IBM Software Group © 2006 IBM Corporation Rational Software France Object-Oriented Analysis and Design with UML2 and Rational Software Modeler 06. Requirements.
Use Case Modeling. Watch the video on use cases Review at minute 2:41-3:37.
Interaction Modeling. Overview The class model describes the objects in a system and their relationships, the state model describes the life cycles of.
Interaction Modeling. Introduction (1) Third leg of the modeling tripod. It describes interaction within a system. The class model describes the objects.
Requirement Engineering. Review of Last Lecture Problems with requirement Requirement Engineering –Inception (Set of Questions) –Elicitation (Collaborative.
Generalizable Element Namespace Model Element name visibility isSpecification Classifier isRoot Constraint Body Use Cases CS/SWE 421 Introduction to Software.
UML The Unified Modeling Language A Practical Introduction Al-Ayham Saleh Aleppo University
Faculty of Computer & Information Software Engineering Third year
Requirements Documentation CSCI 5801: Software Engineering.
 A software application is like a city  Modeling = Architecture  OOP = Civil Engineering  UML Classes = Blueprints of Buildings  UML is a common.
Faculty of Computer & Information
Requirements as Usecases Capturing the REQUIREMENT ANALYSIS DESIGN IMPLEMENTATION TEST.
1 Object-Oriented Modeling Using UML CS 3331 Section 2.4 Modeling Requirements with Use Cases.
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.
Faculty of Applied Engineering and Urban Planning Software Engineering Department Software Engineering Lab Use Cases Faculty of Information system Technology.
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.
Use Case Model Use case diagram. Relevant Requirements Artifacts Use-Case Model Supplementary Specification Use-Case Specifications... Glossary Actors.
R R R CSE870: Advanced Software Engineering: UML-- Use Cases1 Use Cases and Scenarios.
1-1 Software Development Objectives: Discuss the goals of software development Identify various aspects of software quality Examine two development life.
AMSA SUPERVISOR EDUCATION PROGRAM ONLINE APPLICATION Helpful hints for Registered Users (Students) MRW Computer Systems, Inc. July 14, 2012MRW Computer.
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.
Software Engineering1  Verification: The software should conform to its specification  Validation: The software should do what the user really requires.
Generalizable Element Namespace Model Element name visibility isSpecification Classifier isRoot Constraint Body Use Cases CS/SWE 421 Introduction to Software.
Essentials of Visual Modeling w/ UML Instructor Notes
22 August, 2007Information System Design IT60105, Autumn 2007 Information System Design IT60105 Lecture 8 Use Case Diagrams.
UML (Unified Modeling Language)
Use Case Diagrams Lecture Oo14 Use Cases. References n Booch, et al, The Unified modeling Language User’s Guide, AWL, 1999, Chapt 16 & 17 n Fowler & Scott,
UML Review of Use case diagrams. 2 Unified Modeling Language The Unified Modeling Language™ (UML) was developed jointly by Grady Booch, Ivar Jacobson,
® IBM Software Group © 2006 IBM Corporation Writing Good Use Cases Module 3: Outlining Use Cases.
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.
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.
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.
 Week03 Jerry Kotuba SYST30009-Engineering Quality Software 1.
Use Case Diagrams A Detailed Description. Use Case Diagrams Use case diagrams describe relationships between users and use cases A use case is a (usually.
Use Cases and Scenarios
Use Case Model Use case diagram.
UML Use Case Diagrams.
Requirements: Use Case Models and Narratives
Unified Modeling Language
Use Cases CS/SWE 421 Introduction to Software Engineering Dan Fleck
Use Cases CS/SWE 421 Introduction to Software Engineering Dan Fleck
Unified Modeling Language
Use Cases CS/SWE 421 Introduction to Software Engineering Dan Fleck
Use Cases CS/SWE 421 Introduction to Software Engineering Dan Fleck
Use Cases CS/SWE 421 Introduction to Software Engineering Dan Fleck
Presentation transcript:

Use Cases 1

Last week  Introduction to software engineering  How is it different from traditional engineering?  Introduction to specification  Operational vs descriptive  Used throughout the product lifecycle  Introduction to Requirements  An instance of a specification  Functional versus non-functional

This week  Use cases: one way to capture requirements  Operational specifications, during the analysis/planning phase of development  UML diagrams

Introduction  Use Case: “... a typical interaction between a user and a computer system” -- Booch  Here, “user” is anything that needs or invokes the functionality of the system  “Computer system” is the system being modeled  Use cases capture and document the user- visible functionality of a system (functional requirements)  Each use case represents a discrete goal for the user 4

Use-Case Diagram 5 Each oval is a separate use case that has a description Each stick figure is an actor in your system The block is an external system that interacts with your system. Any system you aren’t developing is external

Use Case Description  Maps to a single bubble (user goal)  See the example on the course webpage: 6

Alternate and Exception Flows 1.Basic Flow 1.User enters user name 2.User enters password 3.User submits the form 4.Password is validated as correct 5.Main menu is displayed 2.Alternate Flow 1: No password is present at step System displays error message. 2.System continues at step Alternate Flow 2: Password is incorrect at step … 4.Exception Flow 1: Database is unreachable 1.System displays an unrecoverable error and exits. 7

Includes versus Preconditions 8 Don’t forget to show this on the use case diagram as “includes” Includes are steps in the use-case Pre-conditions happen before the use case Items are one or the other, not both!

Use Case Diagrams  Use Case Diagrams provide a visual way to document user goals and explore possible functionality  Three primary modeling components:  Actors  Use Cases  Relationships 9 Authorized Staff Worker Teacher Student Record class gradesReview Transcripts

User Goals  User Goals are statements that represent what the users need to accomplish, independent of specific software features  Examples of user goals for a Student Records Management System  Ensure that a student’s records reflects courses taken and grades received in those courses  Allow only authorized faculty and staff to update student records  Ensure that students can obtain copies of their own (and only their) records in a timely manner 10

System Interactions  Represent expected interacts between users and the computer-based system  Suggest how the system fulfills a user goal  Examples:  A teacher alters a course grade for a student by  selecting a course  selecting a student  reviewing the previous grade  entering a new grade  confirming the change  A process for an administrator to create a new user  A process for granting a user access rights 11

User Goals vs. System Interactions  In some cases, system interactions and user goals can be very similar  However, confusing system interactions with user goals or neglecting to identify user goals can  obscure the reasons why a system should have certain features  result in lost opportunities for creativity 12 Example showing interactions: User wants to spell check document. Basic Flow 1.User clicks “Spell Check” button 2.System checks each word 3.New dialog box appears with results Example showing interactions: User wants to spell check document. Basic Flow 1.User clicks “Spell Check” button 2.System checks each word 3.New dialog box appears with results Example showing goals: User wants to spell check document. Basic Flow 1.User starts spell check process 2.System checks each word 3.System presents results to the user Example showing goals: User wants to spell check document. Basic Flow 1.User starts spell check process 2.System checks each word 3.System presents results to the user

User Goals vs. System Interactions  User goals help answer “What” and “Why” questions  System interactions help answer “How” questions (from a user’s perspective)  We will model user goals with Uses Cases  Later, we will model system interactions with interaction diagrams or activity diagrams 13

Actors  Actors are people or external systems that need to interact with our system 14 n Who or what will use the main functionality of the system? n Who or what will provide input to this system? n Who or what will use output from this system? n Who will need support from the system to do their work? n Are there any other software systems with which this one needs to interact n Are there any hardware devices used or controlled by this system? Answer these questions to find actors for an iPod Finding Actors

Relationships Between Actors  Actors can be related by generalization/specializ- ation  Actors are classifiers (not individual users) 15 Student Graduate Student

Hints for Modeling Actors  An actor can be a role that a user plays with respect to the system  A single person may play different roles  A single actor may perform many use cases  A use case may be performed by many actors  Show external systems as actors only when they are the ones who need a use case 16

Use Case Relationships 17 Includes Extends Generalization

Use-Case Relationships  Includes Dependency: Defines how one use case can invoke behavior defined by another use case 18 Teacher Alter Student Grade Record Grades for a Section >

Use-Case Relationships  Extends dependency: defines a use-case that is a variation of another, usually for handling an abnormal situation 19 Authorized Staff Worker Alter Student Grade Alter student grade for a class taken more than a year ago >

Use-Case Relations  Generalization: Defines one use case as a generalization of another. Replaces generic functionality with alternate implementation Coming up: Documenting Use Cases 20 Teacher Alter Student Grade Alter Student Grade for a Graduate Course

Documenting Use Cases

Benefits of Use Cases  Use cases diagrams capture user-visible functions  Identifying actors help capture who needs the system functionality  Relationships between use cases document opportunities for reuse  Use cases provide a basis planning and scheduling incremental development  Use cases can provide a basis for system testing 22

In Class Exercise  Lets create a use case diagram for  iPod  Television set  Elevator  ATM  Online Scrabble game  Word Processor 23

Questions  Who might be interested in reviewing or using use case diagrams?  When in the development life cycle should we employ use cases?  What do use cases have to do with object-orientation?  What level of use-case granularity is best?  How many use cases are enough?  Can other modeling activities help in discovering use cases?  When in the development life cycle do we stop referring to or refining the use cases?  What should the text description of use case contain? 24