Adv. Use cases Actor generalization – general and special actors Use case generalization – general and special use cases Include and extend relationships.

Slides:



Advertisements
Similar presentations
Use-Cases.
Advertisements

Object-Oriented Analysis and Design Evolutionary Requirements.
Use cases Use-cases are a scenario based technique in the UML which identify the actors in an interaction and which describe the interaction itself A set.
CPSC 333: Foundations of Software EngineeringJ. Denzinger 2.2. Use Cases: Scenario based requirements modeling Recommended: Booch, Rumbaugh, Jacobson:
Actors and use cases Use-case diagram Brief notation Prioritization Fully dressed notation Requirements Functional requirements  Use-cases.
Use cases.
Information System Engineering
Use Case Diagram © copyright 2001 SNU OOPSLA Lab..
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.
Use Cases & Requirements Analysis By: Mostafa Elbarbary.
Documenting Requirements using Use Case Diagrams
© 2005 Prentice Hall4-1 Stumpf and Teague Object-Oriented Systems Analysis and Design with UML.
Copyright ©2004 Cezary Z Janikow 1 Use Cases n Within Requirements discipline/workflow n Verbal descriptions of important functional (behavioral, transactional,
UML Sequence Diagrams Eileen Kraemer CSE 335 Michigan State University.
The first step in getting what you want is to decide what you want.
TK2023 Object-Oriented Software Engineering CHAPTER 6 SYSTEM SEQUENCE DIAGRAMS.
CMPT 275 Software Engineering
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.
USE Case Model.
Requirements Elicitation. Requirement: a feature or constraint that the system must satisfy Requirements Elicitation: specification of the system that.
® IBM Software Group © 2006 IBM Corporation Writing Good Use Cases Module 4: Detailing a Use Case.
1 Requirements Modeling using UML 2.0 Use Cases. 2 Requirements Engineering Software Lifecycle Activities System Engineering Requirements Analysis Software.
Software Engineering 1 Object-oriented Analysis and Design Chap 30 Relating Use Cases.
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.
SOFTWARE ENGINEERING BIT-8 APRIL, 16,2008 Introduction to UML.
Intro: Use Case and Use Case Diagram Documentation.
Interaction Modeling. Introduction (1) Third leg of the modeling tripod. It describes interaction within a system. The class model describes the objects.
1 IBM Software Group ® Mastering Requirements Management with Use Cases Module 10: Structure the Use-Case Model.
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.
SOFTWARE DESIGN AND ARCHITECTURE LECTURE 20. Review Software Requirements Requirements Engineering Process.
Requirements Artifacts Precursor to A & D. Objectives: Requirements Overview  Understand the basic Requirements concepts and how they affect Analysis.
Chapter 9 요구사항 모델링: 시나리오 기반 방법론 Requirements Modeling: Scenario-Based Methods 임현승 강원대학교 Revised from the slides by Roger S. Pressman and Bruce R. Maxim.
 A software application is like a city  Modeling = Architecture  OOP = Civil Engineering  UML Classes = Blueprints of Buildings  UML is a common.
Requirements Reference: Chapters 5, 6, & 8. CMSC 345, Fall Objectives To introduce the concepts of user and system requirements To explain functional.
University of Toronto at Scarborough © Kersti Wain-Bantin CSCC40 Use Case 1 what are use cases? “A specification of sequences of actions, including variant.
® IBM Software Group © 2006 IBM Corporation Writing Good Use Cases Module 1: Introduction to Use-Case Modeling.
Object Oriented Analysis & Design & UML (Unified Modeling Language) 1 Part II: Requirements The requirements workflow Use case modeling Advanced.
1 Structuring Systems Requirements Use Case Description and Diagrams.
2131 Structured System Analysis and Design By Germaine Cheung Hong Kong Computer Institute Lecture 8 (Chapter 7) MODELING SYSTEM REQUIREMENTS WITH USE.
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 DATA FLOW DIAGRAM. 2 Outline Process decomposition diagrams Data flow diagram (DFD)
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.
Behavior Modeling (based on Alistair Cockburn book) PA116 – L11 (c) Zdenko Staníček, Sept 2010.
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.
Slide 1 Classes and Objects. Slide 2 Messages and Methods.
CMSC 345 Use Cases. u Describes the system’s behavior under various conditions as the system responds to a request from one of the stakeholders, called.
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 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.
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 Cases Discuss the what and how of use cases: Basics Examples Benefits Parts Stages Guidelines.
Business Process and Functional Modeling
Chapter 4: Business Process and Functional Modeling, continued
Use Case Modeling - II Lecture # 27.
Use Cases Discuss the what and how of use cases: Basics Benefits
Use Case Model.
Use case Diagram.
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.
Creating Use Cases.
UML Use Case Diagrams.
Start at 17th March 2012 end at 31th March 2012
Object Oriented Analysis and Design
Use Case Document Example
Interaction Modeling Extracted from textbook:
Object-Oriented Software Engineering
Presentation transcript:

Adv. Use cases Actor generalization – general and special actors Use case generalization – general and special use cases Include and extend relationships among use cases Keep these simple – and use only to enhance clarity

Actor - Customer  list products, order products, accept payment Actor - Sales agent  list products, order products, accept payment, calculate commission Can have a general actor – Purchaser Actor Generalization

Abstract Actor - Purchase  list products, order products, accept payment Concrete actor - Customer and Sales agent are derived from Purchaser Concrete actor - Sales agent  calculate commission –(unique to sales agent)

Use-case generalization One use can be a specialization of another use case Use only to add clarity to your diagram Child inherits all properties – but cannot override relationship and attribute An abstract use case may have incomplete or empty event flow The child use case is precise

Find product is a general use case Find books is a specific case Find cds is another specific case We can have other use cases as and when identified Many use cases may involve a common sequence of event flow We can then write a separate use case for this common sequence And then include it whenever it is needed

The client use case calls the supplier use case as appropriate Find employee details is a supplier use case Change employee details, view employee details, delete employee details, etc. are client use cases Some supplier use cases can be used to extend client use case Extension are new add-on behavior and are not necessary for completeness of use case

IssueFine for overdue book can be a supplier use case Can be used in a return books use case as an extension Multiple versions of extension may be useful and pluggable Clarity is the key to all analysis and design diagrams Maintain glossary of terms as you develop them

Use-case Engineering Develop top-level readable use-case descriptions. This should include actors involved and success criteria. Identify alternate situations and descriptions of events thereof. Capture the actor's intention, not the user interface details. Have an actor pass information, validate a condition, or update state. Write between-steps commentary to indicate step sequencing (or lack of). Specify data names and descriptions as required

Focus User/Actor intent and objective Is-a relationship may indicate general- special actors or general-special use- cases Common steps/events in a different use- cases may be identified as include use- cases Useful – optional steps – may be identified as extension use-cases

Writing Use-cases Name the system scope. Brainstorm and list the primary actors. Find every human and non-human primary actor, over the life of the system. Brainstorm and exhaustively list user goals for the system. Select one use-case at-a-time to expand. Write narrative to learn the material. Write the main success scenario (MSS). Use 3 to 9 steps to meet all interests and guarantees. Brainstorm and exhaustively list the extension conditions. Include all that the sytsem can detect and must handle. Write the extension-handling steps – as use-cases Each will end back in the MSS, at a separate success exit, or in failure. Extract complex flows to sub use cases; merge trivial sub use cases. Extracting a sub use case is easy, but it adds cost to the project..

Process Use Case Title –Is it an active-verb goal phrase that names the goal of the primary actor? –Can the system deliver that goal? Primary Actor –Does he/she/it have behavior? – Does he/she/it have a goal against the System under Discussion - that is this a service promise of the System? Preconditions –Are they mandatory, and can they be set in place by the System –Is it true that they are never checked in the use case? Main Success scenario –Does it have 3-9 steps? –Does it run from trigger to delivery of the success guarantee? –Does it permit the right variations in sequencing?

Each Step in Any –Is it phrased as a goal that succeeds? –Does the process move distinctly forward after its successful completion? –Is it clear which actor is operating the goal--who is "kicking the ball"? –Is the intent of the actor clear? –Is the goal level of the step lower than the goal level of the overall use case? Is it, preferably, just a bit below the use case goal level? –Are you sure the step does not describe the user interface design of the system? –Is it clear what information is being passed in the step? –Does it "validate" as opposed to "check" a condition? Extension Condition –Can and must the system both detect and handle it? –Is it what the system actually needs? Overall Use Case Content –To the sponsors and users: "Is this what you want?“ –To the sponsors and users: "Will you be able to tell, upon delivery, whether you got this?“ –To the developers: "Can you implement this?"

Guide Avoid pronouns when there may be more than one actor Avoid adverbs or adjectives Avoid negatives Describe in present tense format Every event should have a meaningful response Has to be coherent set of steps Subject verb object [propositional phrase]