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

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:
Use Case & Use Case Diagram
Systems Analysis and Design, 7e Kendall & Kendall
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.
Chapter 22 Object-Oriented Systems Analysis and Design and UML Systems Analysis and Design Kendall and Kendall Fifth Edition.
CS3773 Software Engineering Lecture 03 UML Use Cases.
Use Case Diagram © copyright 2001 SNU OOPSLA Lab..
Object-Oriented Analysis and Design
 Need to Gather requirements and other related information  Use case Modeling ◦ What the system will do for the users.
CT1404 Lecture 2 Requirement Engineering and Use Cases 1.
Use-case Modeling.
The Unified Software Development Process - Workflows Ivar Jacobson, Grady Booch, James Rumbaugh Addison Wesley, 1999.
Use Case Modeling Written by: Zvika Gutterman Adam Carmi.
Documenting Requirements using Use Case Diagrams
CREATING THE DESIGN: THE LOGICAL VIEW The Class Diagram.
University of Toronto Department of Computer Science © Steve Easterbrook. This presentation is available free for non-commercial use with attribution.
© Copyright Eliyahu Brutman Programming Techniques Course.
Unified Modeling Language 7/12/2015B.Ramamurthy1 The Unified Modeling Language™ (UML) was developed jointly by Grady Booch, Ivar Jacobson, and Jim Rumbaugh.
1 Business Models Modeling. 2 Why Model the Business Business modeling is a technique to help answer critical questions, such as: What do the workers.
USE Case Model.
® IBM Software Group © 2006 IBM Corporation Rational Software France Object-Oriented Analysis and Design with UML2 and Rational Software Modeler 06. Requirements.
Software Engineering Chapter 8 Fall Analysis Extension of use cases, use cases are converted into a more formal description of the system.Extension.
Use Case Modeling. Watch the video on use cases Review at minute 2:41-3:37.
Interaction Modeling. Introduction (1) Third leg of the modeling tripod. It describes interaction within a system. The class model describes the objects.
10/12/ Recall The Team Skills 1. Analyzing the Problem (with 5 steps) 2. Understanding User and Stakeholder Needs 1. Interviews & questionnaires.
Requirements Specification for Lab3 COP4331 and EEL4884 OO Processes for Software Development © Dr. David A. Workman School of Computer Science University.
Use Cases 1. Last week  Introduction to software engineering  How is it different from traditional engineering?  Introduction to specification  Operational.
Faculty of Computer & Information Software Engineering Third year
Requirements Analysis via Use Cases SE-2030 Dr. Rob Hasker 1 Based on slides written by Dr. Mark L. Hornick Used with permission.
Requirements as Usecases Capturing the REQUIREMENT ANALYSIS DESIGN IMPLEMENTATION TEST.
1 Objectives  Define key concepts of use-case modeling.  List the benefits of use-case modeling.  Find actors and use cases.  Describe their relationships.
® IBM Software Group © 2006 IBM Corporation Writing Good Use Cases Module 1: Introduction to Use-Case Modeling.
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.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Slide 1 Use Case Diagrams.
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.
Unified Modeling Language User Guide Section 4 - Basic Behavioral Modeling Chapter 16 - Use Cases Chapter 17 - Use Case Diagrams.
Use Case Model Use case diagram. Relevant Requirements Artifacts Use-Case Model Supplementary Specification Use-Case Specifications... Glossary Actors.
CS212: Object Oriented Analysis and Design Lecture 32: Use case and Class diagrams.
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.
Analysis Yaodong Bi. Introduction to Analysis Purposes of Analysis – Resolve issues related to interference, concurrency, and conflicts among use cases.
Generalizable Element Namespace Model Element name visibility isSpecification Classifier isRoot Constraint Body Coming up: Unified Modeling Language Introduction.
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,
UML - Development Process 1 Software Development Process Using UML.
Generalizable Element Namespace Model Element name visibility isSpecification Classifier isRoot Constraint Body Coming up: Unified Modeling Language Introduction.
1 BTS330 Visual Modeling. What is Visual Modeling? 2 Copyright © 1997 by Rational Software Corporation Computer System Business Process Order Item Ship.
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.
Generalizable Element Namespace Model Element name visibility isSpecification Classifier isRoot Constraint Body Introduction to the Unified Modeling Language.
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.
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.
Introduction to the Unified Modeling Language
Use Case Model Use case diagram.
UML Use Case Diagrams.
Unified Modeling Language
Use Cases CS/SWE 421 Introduction to Software Engineering Dan Fleck
Object Oriented Analysis and Design
Introduction to the Unified Modeling Language
Use Cases CS/SWE 421 Introduction to Software Engineering Dan Fleck
Introduction to the Unified Modeling Language
Use Cases CS/SWE 421 Introduction to Software Engineering Dan Fleck
Using Use Case Diagrams
Use Cases CS/SWE 421 Introduction to Software Engineering Dan Fleck
Use Cases CS/SWE 421 Introduction to Software Engineering Dan Fleck
Presentation transcript:

Generalizable Element Namespace Model Element name visibility isSpecification Classifier isRoot Constraint Body Use Cases CS/SWE 421 Introduction to Software Engineering Dan Fleck (Slides adapted from Dr. Stephen Clyde with permission) 1Coming up: Introduction

Introduction n 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 n Use cases can capture and document the user-visible functionality of a system n Use cases capture how the system will benefit the user n Each use case achieves a discrete goal for the user 2 Coming up: Example Use Case Diagram

Example Use Case Diagram Coming up: Goals 3

Goals n Use cases help everyone come to a common understanding of what the system should do –Developers –End-users –Domain Experts n Use-cases are a communication tool for the design (not the implementation) n Use cases represent a functional requirement of your system (as a whole) 4 Coming up: Use Case Diagrams

Use Case Diagrams n Use Case Diagrams provide a visual way to document user goals and explore possible functionality n Three primary modeling components: –Actors –Use Cases Authorized Staff Worker Teacher Student Record class grades –Relationships between use cases Review Transcripts 5 Coming up: Actors

Actors n Actors are things outside the system that need to interact with the system n Actors carry out use cases n Actors are represented as stick figures n Although users are actors, not all actors are users –Actors can be external software systems –External hardware (sensors, actuators, etc.) –Actors can be people that need the functionality of the system, but may not be the ones who actually invoke the software commands 6 Coming up: Hints for Finding Actors

Hints for Finding Actors 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? 7 Coming up: Hints for Modeling Actors

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

Relationships Between Actors n Actors cam be related by generalization/specialization n Actors are classifiers (not individual users) Student Graduate Student 9 Coming up: Use Cases Do this when very obvious

Use Cases n Each use case represents something the user needs to do with the system – a goal n A use cases is given a short name and textual description n Use cases can be large or small from a conceptual perspective n Use cases can relate to each other via dependencies, such as – > –Generalization or > (“is a”) 10 Coming up: Use Case Relationships

Use Case Relationships Includes Extends Generalization 11 Coming up: Use-Case Relationships After a while you realize extends and generalization are not too different. Just know generalization and includes… forget about extends (the difference is only in intent)

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

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

Use-Case Relations n Generalization: Defines one use case as a generalization of another. Teacher Alter Student Grade Alter Student Grade for a Graduate Course 14 Coming up: Hints for Finding Use Cases

Hints for Finding Use Cases n Try listing actors first and then look at the activities each needs to perform and then try to express the goal that represent these activities –although this will uncover many valuable use cases, it will not find them all n Try listing external events and then look at what the system needs to do in response to each one. –This technique will find some additional use cases, but not all n Be patient, allow the use cases to unfold n Don’t over do it – Use Case Diagram should be broad-brush characterizations of user goals 15 Coming up: Hints for Modeling Use Cases

Hints for Modeling Use Cases n Establish the context of a user goal by identifying the actors n For each actor, consider the behavior that it expects or requires the system to provide n Name these common behaviors as use cases n Factor common behavior into new use cases n Relate the use cases using the extend, includes, and refines dependencies n Adorn uses cases with notes 16 Coming up: Benefits of Use Cases

Benefits of Use Cases n Use cases diagrams capture user-visible functions n Identifying actors help capture who needs the system functionality n Relationships between use cases document opportunities for reuse n Use cases provide a basis planning and scheduling incremental development n Use cases can provide a basis for system testing 17 Coming up: In Class Exercise

In Class Exercise n Lets create a use case diagram for –iPod –Television set –Elevator –ATM –Online Scrabble game –Word Processor Coming up: Use cases for CS421 18

Use cases for CS421 Show system boundary Show Actors outside boundary Use extend, include, generalization/spe cialization where appropriate Typically one diagram for your project is sufficient 19 Coming up: Use cases for CS421

Use cases for CS421 Show system boundary (Warning: skip this if not supported by the tool – like Netbeans!) Show system boundary (Warning: skip this if not supported by the tool – like Netbeans!) 20 Coming up: Use cases for CS421

Use cases for CS421 n For each use-case (oval) in your diagram include the use-description text described in the slide for Chapter 5, titled: n Use Case Description –about slide #14 21 Coming up: Questions

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

n Backup Slides n The following slides were removed over time. Coming up: Extends vs. Includes vs. Generalization 23

Extends vs. Includes vs. Generalization n Extends, includes, and generalization may appear similar, but differ in intent –Extend dependencies model variations from normal workflows –Specializations are refinements of a general use cases –“Include” uses case (or sub-use cases), unlike specializations, can represent different goals or processes –Include dependencies are a form of aggregation –The actors for a general use case are also actors for the use cases that specialize it –Often there are no actors for sub-use cases 24 Coming up: User Goals

User Goals n User Goals are statements that represent what the users need to accomplish, independent of specific software features n 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 25 Coming up: System Interactions

System Interactions n Represent expected interacts between users and the computer-based system n Suggest how the system fulfills a user goal n Examples: –A teacher alters a course grade for a student by selecting a semester 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 26 Coming up: User Goals vs. System Interactions

User Goals vs. System Interactions n In some cases, system interactions and user goals can be very similar n 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 27 Coming up: User Goals vs. System Interactions 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 n User goals help answer “What” and “Why” questions n System interactions help answer “How” questions (from a user’s perspective) n We will model user goals with Uses Cases n Later, we will model system interactions with interaction diagrams or activity diagrams 28 End of presentation