Intro: Use Case and Use Case Diagram Documentation.

Slides:



Advertisements
Similar presentations
Use-Cases.
Advertisements

Use Case Diagrams Damian Gordon.
CPSC 333: Foundations of Software EngineeringJ. Denzinger 2.2. Use Cases: Scenario based requirements modeling Recommended: Booch, Rumbaugh, Jacobson:
Use Case & Use Case Diagram
1Spring 2005 Specification and Analysis of Information Systems Specifying Requirements with Use Case Diagrams Part II.
© 2010 Bennett, McRobb and Farmer1 Use Case Description Supplementary material to support Bennett, McRobb and Farmer: Object Oriented Systems Analysis.
Actors and use cases Use-case diagram Brief notation Prioritization Fully dressed notation Requirements Functional requirements  Use-cases.
Information System Engineering
Use Case Diagram © copyright 2001 SNU OOPSLA Lab..
January Ron McFadyen1 Use Cases in the UML Functionality under consideration is represented by use cases (named ellipses) enclosed in a box.
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.
Use-case Modeling.
Systems Analysis and Design in a Changing World, Fourth Edition
© 2005 Prentice Hall4-1 Stumpf and Teague Object-Oriented Systems Analysis and Design with UML.
Use Case Modelling.
Modeling System Requirements with Use Cases
Functional Modeling Chapter 6.
 What is Interaction Modelling What is Interaction Modelling  Use Case Models Use Case Models Actor Use cases Use Case Diagram Symbols Use case Diagram.
1 Lab Beginning Analysis and Design 4 Completion of first version of use case diagram initiates the processes of analysis and design. 4 UML provides.
Use Case Modeling. Use case diagram For each use case we develop  Object class diagram (with attributes only)  System sequence diagram (analysis) 
Use case diagrams A use case diagram is UML’s notation for showing the relationships among a set of use cases and actors A use case diagram can help the.
Software Engineering UNIT 2. Functional Modelling.
Use Case Diagrams – Functional Models Chapter 5. Objectives Understand the rules and style guidelines for activity diagrams. Understand the rules and.
® IBM Software Group © 2006 IBM Corporation Writing Good Use Cases Module 4: Detailing a Use Case.
Data Flow Diagrams.
LECTURE 3 USE CASE DESCRIPTION. Use Cases grouped into system modules Note: Same actor interacts with different modules USE CASE DIAGRAM OF THE CUSTOMER.
Interaction Modeling. Introduction (1) Third leg of the modeling tripod. It describes interaction within a system. The class model describes the objects.
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.
PowerPoint Presentation for Dennis, Wixom, & Tegarden Systems Analysis and Design with UML, 3rd Edition Copyright © 2009 John Wiley & Sons, Inc. All rights.
Use Cases 7/09. lnot part of the system lrepresents roles a user can play lrepresents a human, a machine or another system lactively exchanges information.
Chapter 9 요구사항 모델링: 시나리오 기반 방법론 Requirements Modeling: Scenario-Based Methods 임현승 강원대학교 Revised from the slides by Roger S. Pressman and Bruce R. Maxim.
Recall The Team Skills 1. Analyzing the Problem (with 5 steps) 2. Understanding User and Stakeholder Needs 3. Defining the System 4. Managing Scope 5.
Faculty of Computer & Information
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.
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.
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.
Lecture 4 :Use cases III (UC description) 1. Outline CT 1414 * Nouf Aljaffan2  Concept of Use Case Description  Levels of Use Case Description  Reading.
1 Version /05/2004 © 2004 Robert Oshana Requirements Engineering Use cases.
The College Of Applied Studies And Community Services Lecture 3 :Use cases II (UC description) Systems Analysis & Design Instructor: Nouf Aljaffan CT 1414.
CS212: Object Oriented Analysis and Design Lecture 32: Use case and Class diagrams.
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.
Systems Analysis and Design in a Changing World, Fourth Edition
Use cases Week Use‐case diagram 2 – Depicts the interactions between the system and external systems and users. – Graphically describes who will.
22 August, 2007Information System Design IT60105, Autumn 2007 Information System Design IT60105 Lecture 8 Use Case Diagrams.
Chapter 3: Introducing the UML
UML - Development Process 1 Software Development Process Using UML.
Use Case Model Use case description.
UML Course Instructor: Rizwana Noor. Overview  Modeling  What is UML?  Why UML?  UML Diagrams  Use Case  Components  Relationships  Notations.
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.
CSCI 383 Object-Oriented Programming & Design Lecture 7 Martin van Bommel.
Chapter 7 Part II Structuring System Process Requirements MIS 215 System Analysis and Design.
PowerPoint Presentation for Dennis, Wixom, & Tegarden Systems Analysis and Design with UML, 5th Edition Copyright © 2015 John Wiley & Sons, Inc. All rights.
7 Systems Analysis – ITEC 3155 The Object Oriented Approach – Use Cases.
Chapter 3: Software Design –Use case Diagram Nouf Alghanmi.
UC Diagram & Scenario RKPL C & D. Using Use Case Diagram Use case diagrams are used to visualize, specify, construct, and document the (intended) behavior.
Requirements capture: Using UML Use Cases David Millard and Yvonne Howard {dem,
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.
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.
Systems Analysis and Design in a Changing World, Fourth Edition
Using Use Case Diagrams
Chapter 4: Business Process and Functional Modeling, continued
Use Case Modeling - II Lecture # 27.
Use case diagrams A use case diagram is UML’s notation for showing the relationships among a set of use cases and actors A use case diagram can help the.
UML Use Case Diagrams.
Use Case Model Use case description.
SAD ::: Spring 2018 Sabbir Muhammad Saleh
Object Oriented Analysis and Design
Using Use Case Diagrams
Presentation transcript:

Intro: Use Case and Use Case Diagram Documentation

Use Case A use case is a contract of an interaction between the system and an actor. Use Case Diagram: an integration of use cases

Use Case Diagram A use case diagram illustrates a set of use cases for a system, the actors, and the interactions between actors and use cases. A graphical overview of the functionality provided by a system in terms of actors, their goals (represented as use cases), and any dependencies between those use cases.actorsuse cases

Use Case Diagram Objectives 1.Create a semi-formal model of the functional requirements 2. Analyze and define: Scope External interfaces Scenarios and reactions

What makes a good Use Case Diagram? Lack of ambiguity - Each requirement must be interpreted in a single manner. Completeness - The collection of all use cases is everything that can be done to/with the system. Consistency - Requirements should not conflict with each other. If there are, tradeoffs must be detected and discussed. Avoid design - Requirements should raise a need, not answer it.

Construct a Use Case Diagram

Finding actors External objects that produce/consume data: 1.Must serve as sources and destinations for data 2.Must be external to the system Humans Machines External systems Sensors

Actor Relationships – Generalization/Specialization Define hierarchy for actors Notation The child actor inherits all use- cases associations Should be used if (and only if), the specific actor has more responsibility than the generalized one (i.e., associated with more use-cases)

Association: Actor and Use Case Solid line: Interaction between actors and use case Arrowhead (optional) Control flow Initial invocation, primary actor

Use Case Relationships Goal: enable flexibility in requirements specification 1.Isolating functionality 2.Enabling functionality sharing 3.Breaking functionality into manageable chunks Relationships 1.Include 2.Extend 3.Generalization

Include Goal: 1.Decomposing complicated behavior 2.Centralizing common behavior the behavior of the included use case is inserted into the behavior of the including use case - The first use case often depends on the outcome of the included use case.

Extend the behavior of the extension use case may be inserted in the extended use case under some conditions Note the direction of the arrow The base use-case does not know which use-case extends it

Generalization use case may have common behaviors, requirements, constraints, and assumptions with a more general use case.

Example: Cellphone Company System Hint - Actors: Phones, Phone Companies

Writing Use Cases Name: Actors: Descriptions: – Precondition – Main flow – Sub flow – Alternative flow

Precondition What the system needs to be true before running the use-case. – User account exists – User has enough money in her account – There is enough disk space

Main flow The success scenario is the main story-line of the use-case Assumption: everything is okay, no errors or problems occur, and it leads directly to the desired outcome of the use-case It is composed of a sequence of subflows Example: Step 1: Administrator enters course name, code and description (interaction) Step 2: System validates course code Step 3: System adds the course to the db and shows a confirmation message (interaction)

Branches: If the user has more than 10000$ in her account, the system presents a list of commercials Otherwise… Repeats: User enters the name of the item he wishes to buy System presents the items User selects items to buy Systems adds the item to the shopping cart User repeats steps 1-4 until indicating he is done Sub flow

Used to describe exceptional functionality Examples: 1.Errors 2.Unusual or rare cases 3.Failures 4.Starting points 5.Endpoints 6.Shortcuts Alternative flows

Write Include in User Case Reference

Write Exclude in Use Case Extension Point

Use Case sample

Include Concept

Extend Concept

Generalization Concept

Effective Use Cases Only one side (system or actor) is doing something in a single step Write from an “objective” point of view using active tense Any step should lead to some progress

Effective Use Cases “Get the amount form the user and give him the money” “User click the enter key” ATM

1.No actor 2.Too many user interface details “User types ID and password, clicks OK or hits Enter” 3.Very low goal details User provides name User provides address User provides telephone number Effective Use Cases – Common Mistakes

From Use-Case to Use-Case Diagrams Top down ? Starting with an overview of the system, and then splitting Use-cases Bottom up ? Starting with throwing all scenarios on the page, and then combining them: Most of the analysis process are actually combined

Common Rules Number Limit: The diagram should have between 3 to 10 base use-cases. No more than 15 use cases (base + included + extending) If the dependency between two parts of a use-case is weak, they should be divided. Abstraction: All use-cases should be in similar abstraction levels. Size: Use cases should be described in half a page or more. - split using include/exclude

When we are done When every actor is specified. When every functional requirement has a use- case which satisfies it. A tractability matrix can help us determine it:

Use Case and Use Case Diagram a Summary When to use What is Use Case and Use Case Diagram How to Construct Use Case Diagram How to Write Use Case Questions?