1 Use Cases Object-Oriented Modeling and Design with UML (Second Edition) Blaha & Rumbaugh Sections 7.1, 8.1.

Slides:



Advertisements
Similar presentations
Using UML, Patterns, and Java Object-Oriented Software Engineering Chapter 2, Modeling with UML, Part 4 UML 2 Metamodel.
Advertisements

Presentation material is based on notes from Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 1 ECE.
Bernd Bruegge & Allen Dutoit Object-Oriented Software Engineering: Conquering Complex and Changing Systems 1 Software Engineering September 12, 2001 Capturing.
Chapter 22 Object-Oriented Systems Analysis and Design and UML Systems Analysis and Design Kendall and Kendall Fifth Edition.
Ch 12: Object-Oriented Analysis
CS3773 Software Engineering Lecture 03 UML Use Cases.
1 SWE Introduction to Software Engineering Lecture 16 – System Modeling An Example.
Sucha Smanchat  Steps in OOAD using UML  Use Case Diagram  Sequence Diagram / Communication Diagram  Class Diagram  State.
Use Case Diagram © copyright 2001 SNU OOPSLA Lab..
Department of Informatics, UC Irvine SDCL Collaboration Laboratory Software Design and sdcl.ics.uci.edu 1 Informatics 43 Introduction to Software Engineering.
Systems Analysis and Design in a Changing World, Fourth Edition
Using UML, Patterns, and Java Object-Oriented Software Engineering Chapter 5, Analysis: Dynamic Modeling.
Use Cases & Requirements Analysis By: Mostafa Elbarbary.
© 2005 Prentice Hall4-1 Stumpf and Teague Object-Oriented Systems Analysis and Design with UML.
University of Toronto Department of Computer Science © Steve Easterbrook. This presentation is available free for non-commercial use with attribution.
Systems Analysis and Design in a Changing World, 6th Edition
Chapter 9 Domain Models 1CS6359 Fall 2012 John Cole.
Use Case Diagram.
Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 1 Requirements Analysis Document Template 1.Introduction.
Blaha and Rumbaugh Sections 7.2 and 8.2
Chapter 7: The Object-Oriented Approach to Requirements
USE Case Model.
Use Cases Why use ‘em? How do they work? UC diagrams Using them later in the software development cycle.
Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 1 Functional Modeling.
Chapter 7 Structuring System Process Requirements
Systems Analysis and Design in a Changing World, 6th Edition
Using UML, Patterns, and Java Object-Oriented Software Engineering Chapter 9, Object Design: Specifying Interfaces.
Interaction Modeling. Introduction (1) Third leg of the modeling tripod. It describes interaction within a system. The class model describes the objects.
CMPT 275 Software Engineering
UNB CS3013 Software Engineering II lectures adapted from Bernd Bruegge & Allen Dutoit, Object-Oriented Software Engineering: Conquering Complex and Changing.
Faculty of Computer & Information Software Engineering Third year
SOFTWARE DESIGN AND ARCHITECTURE LECTURE 20. Review Software Requirements Requirements Engineering Process.
Using UML, Patterns, and Java Object-Oriented Software Engineering Chapter 4, Requirements Elicitation.
Bernd Bruegge & Allen H. Dutoit Object-Oriented Software Engineering: Using UML, Patterns, and Java 1 Object Modeling.
Using UML, Patterns, and Java Object-Oriented Software Engineering Chapter 2, Modeling with UML: Review Session (Optional)
Using UML, Patterns, and Java Object-Oriented Software Engineering Chapter 2, Modeling with UML: Review Session (Optional)
Using UML, Patterns, and Java Object-Oriented Software Engineering Chapter 9, Object Design: Specifying Interfaces.
Department of Informatics, UC Irvine SDCL Collaboration Laboratory Software Design and sdcl.ics.uci.edu 1 Informatics 43 Introduction to Software Engineering.
UML-1 8. Capturing Requirements and Use Case Model.
® IBM Software Group © 2006 IBM Corporation Writing Good Use Cases Module 1: Introduction to Use-Case Modeling.
1 Structuring Systems Requirements Use Case Description and Diagrams.
Systems Analysis and Design in a Changing World, 6th Edition
Systems Analysis and Design in a Changing World, 6th Edition 1 Chapter 3 Use Cases.
1 System Analysis and Design Using UML INSTRUCTOR: Jesmin Akhter Lecturer, IIT, JU.
Using UML, Patterns, and Java Object-Oriented Software Engineering Chapter 9, Object Design: Specifying Interfaces.
CIS 112 Exam Review. Exam Content 100 questions valued at 1 point each 100 questions valued at 1 point each 100 points total 100 points total 10 each.
Software Engineering Software Engineering - Mr. Ahmad Al-Ghoul.
UML Use Case Models and Modular Programming Session 3 LBSC 790 / INFM 718B Building the Human-Computer Interface.
CSE 332: Design Patterns Review: Design Pattern Structure A design pattern has a name –So when someone says “Adapter” you know what they mean –So you can.
Use Case Textual Analysis
CSE 219 Computer Science III UML. UML Diagrams UML - Unified Modeling Language UML diagrams are used to design object-oriented software systems –represent.
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 Course Instructor: Rizwana Noor. Overview  Modeling  What is UML?  Why UML?  UML Diagrams  Use Case  Components  Relationships  Notations.
 What to do if you want to build a new house? › Buy a bunch of wood and nails and start immediately. › Or, put some blueprints to follow, and plan of.
Object-Oriented Software Engineering Practical Software Development using UML and Java Modelling with Classes.
Appendix Object-Oriented Analysis and Design: Use Cases and Sequence Diagrams Modern Systems Analysis and Design Fifth Edition Jeffrey A. Hoffer Joey F.
Page 1  Copyright © 1997 by Rational Software Corporation Putting the UML to Work The ESU University wants to computerize their registration system –
Two New UML Diagram Types Component Diagram Deployment Diagram.
1 An Overview of UML. 2 The Unified Modeling Language UML is a graphical language used by software engineers to model software systems during development.
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 Advanced DataBases Unified Modelling Language An Introduction and Use Case Lecture 2 Susan Curtis.
Bernd Bruegge and Allen Dutoit Requirements Process The requirements process consists of two activities: Requirements Elicitation: Definition of the system.
Chapter 5 System modeling
Week 10: Object Modeling (1)Use Case Model
Requirements – Scenarios and Use Cases
Object Oriented Analysis and Design
Software Design Lecture : 15.
Interaction Modeling Extracted from textbook:
Week 8 Lecture 1: Identifying Actors and Activities
Presentation transcript:

1 Use Cases Object-Oriented Modeling and Design with UML (Second Edition) Blaha & Rumbaugh Sections 7.1, 8.1

2 Use Case Diagrams Use case: A written description of one use of the system. Who will use the system? What will they be able to do with it? No standard for format and content. Use case diagram A graphical representation of a use case. A diagram type defined in UML.

3 Use Case Diagrams From Object-Oriented Software Engineering using UML, Patterns, and Java, Third Edition, by Bernd Bruegge and Allen H. Dutoit Prentice Hall/Pearson, 2010, page 31. Componenets of a use case diagram: System Actors Use Cases Relationships Actor Actor’s Role Name The System Use Case Relationship

4 Use Case Example From Object-Oriented Software Engineering using UML, Patterns, and Java, Third Edition, by Bernd Bruegge and Allen H. Dutoit Prentice Hall/Pearson, 2010, page 44.

5 Use Case Diagrams Use case diagrams give a high level view of the system. Outline Table of Contents Starting point for saying what the system does. Don’t try to say too much. Details will come later.

6 Generalization in Use Cases Use case diagrams can show relationships among different use cases. Trade Bonds use case “is a” Make Trade use case. Generalization is used to indicate inheritance. Factor out common behavior in related use cases. Blaha and Rumbaugh, page 149.

7 The Include Relationship for Use Cases “Subroutine” for use cases. Note “guillemets” around the word include. Means that the included use case is always a part of the including use case.

8 The Include Relationship for Use Cases Use the Include relationship when the same functionality appears in logically unrelated use cases. Factor out common functionality. Should be a well defined, meaningful activity.

9 The Include Relationship for Use Cases A teacher will record grades and update grades. In either case, grades will always be saved. Only describe “save grades” in one place. Indicates potential for factoring out and reusing functionality in the system that will be developed

10 The Extend Relationship for Use Cases This means that the extending use case may be a part of the extended use case. Compare to always for the include relationship. Note direction of arrow. Use Extend for functionality that only applies in exceptional cases.

11 The Extend Relationship for Use Cases When the teacher either records grades or updates grades, the grades are always saved and guardians may be notified.

12 Includes vs. Extends By analogy with programming languages Include is like a function Must be explicitly “called” in the including use case. Normally called from more than one place multiple use cases. Extend is like an exception “Just happens” Not mentioned in the extended use case. Might be possible anywhere in the extended use case. Might be possible only at a given point or range in the extended use case

13 How to Model Use Cases Identify the actors and use cases Prioritize the use cases. Detail each use case. Structure the case model. Prototype user interfaces.

14 Identify the Actors and Use Cases Talk to the stakeholders. Product Manager Customers Users

15 Questions for Identifying Actors Who will use the system in their work? Who will perform administrative or maintenance functions? What external hardware or software will the system interact with?

16 Identifying Actors Who/What is an actor vs. part of the system? May depend on where you draw the boundary Example: Database System Once actors are identified Determine functionality accessible to each actor

17 Scenarios Narrative description of somebody doing something with the system. Specific, not abstract Think of a movie scenario. Describes exactly what happens thoughout a scene.

18 Scenario Example Bruegge and Dutoit, page 133

19 Use Cases What is the difference between a scenario and a use case? A scenario is an instance of a use case. Scenario describes a specific case of someone making use of some piece of functionality. Use case describes the functionality in general terms. Covers all possible scenarios for this functionality.

20 Where do we start? Suggestion: Sketch use case diagrams. Write scenarios Derive use case descriptions Iterate

21 Detail each use case. Describe interactions in detail. Remember: Still from external point of view Look for gaps and inconsistencies. Dig for details. May need to do additional interviews to answer questions and fill in details.

22 Structure the Use Case Model. Look for relationships Generalizations Includes Extends Draw the use case diagrams. Write use case descriptions.

23

24

25

26

27

28