Use Cases Based on the paper

Slides:



Advertisements
Similar presentations
Design by Contract.
Advertisements

CPSC 333: Foundations of Software EngineeringJ. Denzinger 2.2. Use Cases: Scenario based requirements modeling Recommended: Booch, Rumbaugh, Jacobson:
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 12Slide 1 Software Design l Objectives To explain how a software design may be represented.
Use Case & Use Case Diagram
© 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.
Use-case Modeling.
© 2005 Prentice Hall4-1 Stumpf and Teague Object-Oriented Systems Analysis and Design with UML.
6/8/991 Analysis Tuesday 09/14/99 Revised: September 11, 2000 (APM)
C++ Training Datascope Lawrence D’Antonio Lecture 11 UML.
© Copyright Eliyahu Brutman Programming Techniques Course.
UML Sequence Diagrams Eileen Kraemer CSE 335 Michigan State University.
7. 2Object-Oriented Analysis and Design with the Unified Process Objectives  Detailed Object-Oriented Requirements Definitions  System Processes—A Use.
Objectives Explain the purpose and objectives of object- oriented design Develop design class diagrams Develop interaction diagrams based on the principles.
Use Case Modeling.
Use Case Modeling. Kendall & Kendall© 2005 Pearson Prentice Hall18-2 Commonly Used UML Diagrams The most commonly used UML diagrams are: – Use case diagram,
Joey F. George, Dinesh Batra, Joseph S. Valacich, Jeffrey A. Hoffer
10/12/ Recall The Team Skills 1. Analyzing the Problem (with 5 steps) 2. Understanding User and Stakeholder Needs 1. Interviews & questionnaires.
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.
Systems Analysis and Design in a Changing World, 3rd Edition
Requirements as Usecases Capturing the REQUIREMENT ANALYSIS DESIGN IMPLEMENTATION TEST.
An Ontological Framework for Web Service Processes By Claus Pahl and Ronan Barrett.
Chapter 7 Appendix A Object-Oriented Analysis and Design: Use Cases Modern Systems Analysis and Design Seventh Edition Jeffrey A. Hoffer Joey F. George.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 14 Slide 1 Object-oriented Design.
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 Case Modeling Chapter 7 Part of Requirements Modeling Designing Concurrent, Distributed, and Real-Time Applications with UML Hassan Gomaa (2001)
1 Structuring Systems Requirements Use Case Description and Diagrams.
9-1 © Prentice Hall, 2007 Chapter 9: Analysis Classes Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph S. Valacich, Jeffrey.
Designing Classes Prelude © 2015 Pearson Education, Inc., Upper Saddle River, NJ. All rights reserved. Data Structures and Abstractions with Java, 4e Frank.
Business Analysis with For PG MDI, Gurgaon Kamna Malik, Ph.D.
Behavior Modeling (based on Alistair Cockburn book) PA116 – L11 (c) Zdenko Staníček, Sept 2010.
1 Chapter 5 Modeling System Requirements Finding the Use Cases Page
4-1 © Prentice Hall, 2007 Topic 4: Structuring Systems Requirements: Use Case Description and Diagrams Object-Oriented Systems Analysis and Design Joey.
7-1 © Prentice Hall, 2007 Topic 7: Analysis Classes Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph S. Valacich, Jeffrey.
UML - Development Process 1 Software Development Process Using UML.
Chapter 6: Structuring Requirements: Use Case Description and Diagrams Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph.
Appendix Object-Oriented Analysis and Design: Use Cases and Sequence Diagrams Modern Systems Analysis and Design Fifth Edition Jeffrey A. Hoffer Joey F.
CS551 - Lecture 7 1 CS551 Interaction Models (Chapter 4 of UML) Yugi Lee STB #555 (816)
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.
Systems Analysis and Design in a Changing World, Fourth Edition
Appendix 3 Object-Oriented Analysis and Design
Analysis Classes Unit 5.
Welcome to M301 P2 Software Systems & their Development
Chapter 7 Appendix A Object-Oriented Analysis and Design: Use Cases
Using Use Case Diagrams
Chapter 5 System modeling
Use Case Modeling - II Lecture # 27.
Systems Analysis and Design in a Changing World, 6th Edition
Recall The Team Skills Analyzing the Problem (with 5 steps)
Object-Oriented Systems Analysis and Design Using UML
Requirements: Use Case Models and Narratives
Use Case Modeling.
Concepts, Specifications, and Diagrams
SAD ::: Spring 2018 Sabbir Muhammad Saleh
Systems Analysis and Design in a Changing World, 6th Edition
Joey F. George, Dinesh Batra, Joseph S. Valacich, Jeffrey A. Hoffer
Slides by Steve Armstrong LeTourneau University Longview, TX
Chapter 20 Object-Oriented Analysis and Design
Use Cases CS/SWE 421 Introduction to Software Engineering Dan Fleck
CIS 375 Bruce R. Maxim UM-Dearborn
BPMN - Business Process Modeling Notations
Software Design Lecture : 15.
Use Case Model Use case diagram – Part 2.
Using Use Case Diagrams
Software Engineering System Modeling Chapter 5 (Part 1) Dr.Doaa Sami
Interaction Modeling Extracted from textbook:
Object-Oriented Software Engineering
Appendix 3 Object-Oriented Analysis and Design
Software Development Process Using UML Recap
Presentation transcript:

Use Cases Based on the paper Form Use Cases to System Operations Specifications by Shane Sendall and Alfred Strohmeier in UML 2000 pages 1-15 1/2/2019 Precise Modelling

Nature of Use Cases Use cases are textual descriptions. Use case diagrams tell nothing more than names Structural Properties of Use Cases Extends, includes and specializes Recently there has been an awakening of interests in use cases. 1/2/2019 Precise Modelling

Background Jacobson: Cockburn: A use case is a sequence of transactions performed by a system, which yields an observable result of value. Transaction: consists of a set of actions performed by a system. Cockburn: A use case is a description of the possible sequences of interaction between the system under discussion. 1/2/2019 Precise Modelling

Cockburn’s Clarification of Transactions The primary actor sends request and data to the system The system validates the request and the data The system alters its internal state The system replies to the actor with the result. 1/2/2019 Precise Modelling

Granularity Levels of Use Case ala’ Chris Cockburn Summary Level: The 50,000 feet level perspective Shows life cycle sequencing of related goals. User-goal Level: The sea-level perspective Goal of the primary actor in doing something. Sub-function Level: Underwater perspective. “Those” required carrying out user goals. 1/2/2019 Precise Modelling

Operation Schemas A precise form of system level operations. Declaratively describes effect of a system level operation by its pre and post conditions. Used instead of sub-function level descriptions Can map use cases to operation schemas. The punch line of this paper. 1/2/2019 Precise Modelling

Running Example: Elevator 1/2/2019 Precise Modelling

1/2/2019 Precise Modelling

Format of Use Case Descriptions Main Success Scenarios Describes the standard path Alternatives: May have a serial or parallel relationship with each other. Paper uses some devices as actors, Gomaa does not – no standard here! 1/2/2019 Precise Modelling

Operation Schemas Again Why do they fit in? Not limited to natural language Map 1-1 with a collaboration diagram Advantages: Operation schemas describe interfaces and system functionality. System operation = transaction ala Jacobson A sequence of systems operations form a use case 1/2/2019 Precise Modelling

Operation Schema - I Uses an abstract state representation of the system Describes the effect of operation on the abstract state. Written declaratively Specifies the initial state preconditions and after state by a post condition. 1/2/2019 Precise Modelling

Operation Schema - II The system model is reactive All communication is by means of asynchronous I/O events (signals). All system operations are triggered by input events. Change is state is described in terms of objects, attributes and association links. 1/2/2019 Precise Modelling

Operation Schemas - III Post conditions can assert: creation of objects, change of attribute values, added or removed association links. Events sent to outside actors. Uses Analysis level class model, and actors present in the environment 1/2/2019 Precise Modelling

Operation Schema Template Operation: name, parameter list Description: written in natural language Use Cases: cross references super-ordinate use cases Declares: all constants and variable in design objects, data types used in Pre and Post conditions Pre:written in OCL Post: written in OCL 1/2/2019 Precise Modelling

Operational Schema Example atFloor operation schema for the elevator. Description: The elevator cabin has reached a floor. What must it do next? If requested stop at that FL dropoff/pick up Else respond to request for service events. Use Case: Take Elevator 1/2/2019 Precise Modelling

Mapping Use Cases to Operation Schemas Operation schemas can be derived from user-goal level use cases. Need a class model, a first approximation of the system state. Goal: partition a use case into a sequence of system operations. Trigger event exists for each system operation 1/2/2019 Precise Modelling

Example: from use cases to system operations Take elevator use case: Main success scenario User makes request for service Triggers an event: externalRequest is a system operation When elevator reaches floor sensor triggers an event. atFloor is a system operation If some one got in the elevator and requested service. internalRequest is a system operation. 1/2/2019 Precise Modelling

Extensions In externalRequest system operation If no elevators are available must queue and schedule the request. Every time a door closes, a scheduling decision has to be made as to where the cabin goes. doorCloses is a system operation. bestStuitedCabin is another system operation makes a decision based on resources. Some system operations can be executing in parallel. 1/2/2019 Precise Modelling

Related Work D. Coleman. Fusion with Use Cases –Extending Fusion for Requirements Modeling. Prentice Hall 1994 Action Specifications in the Catalysis Approach of D’Souza. Two types of actions: Localized: system operations Joint Actions: for multi-party collaborations 1/2/2019 Precise Modelling

Multi-Actor Use Cases a tool for modeling Collaboration and Coordination Based on Chapter 4 of Object Components and Frameworks with UML Desmond F. D’Souza and Alan C. Wells 1/2/2019 Precise Modelling

Joint Action Use Cases Change of state in many participants without attributing the responsibility to any one of them Localized Action: They are invoked (by someone) Is requested in which the receiver is required to achieve the post condition. Must start when pre condition is true 1/2/2019 Precise Modelling

Joint Action Use Cases II A representation of possibilities Not directly invoke-able. Represents a description of a future that must become true. Parameters Some may be distinguishable as participants and other not. 1/2/2019 Precise Modelling

Example A buyer-seller negotiation. Example Why would any one be the primary actor? Isn’t the distinction a matter of perspective? How about wars? Example action(buyer:Retailer, vendor:Wholesaler,item) post: let price=item.product.price in vendor.customer->includes(buyer) 1/2/2019 Precise Modelling

From Joint to Localized Actions I Joint actions effect all participants. An example joint action (retailer,wholesaler.agent)::sale(x:item) A joint action initiated by one participant retailer->(wholesaler,agent)::sale(x:item) A directed joint action designates retailer as initiator 1/2/2019 Precise Modelling

From Joint to Localized Actions II A direct joint action initiated by an unknown object and received by the the agent. Initiator:object->agent::sale(..) A Use Case Template for Joint Actions use case sale participants retailer, wholesaler initiator retailer receiver wholesaler parameters set of items 1/2/2019 Precise Modelling

Use Cases: Joint Actions use case sale participants retailer, wholesaler parameters set of items pre items in stock, retailer registered and has case post retailed receives items and pays cash wholesaler receives cash and gives items 1/2/2019 Precise Modelling

Actions and Effects Traditional relations: Catalysis adds: <<uses>> and <<extends>> Catalysis adds: <<actions>>, <<effects>> to indicate sharing Actions and operations describe interactions Effects describe state transitions Also represents responsibilities of objects 1/2/2019 Precise Modelling

effect Retailer::buy(x:Item) pre: --have enough cash post: -- has paid and got items paid for effect Wholesaler::sell(x:Item) pre: --items in stock etc post: -- gained price of item action (r:retailer,w:wholesaler)::sale(x:Item) post: r.buy(x) and w.sell(x) and r:register@pre 1/2/2019 Precise Modelling

Concurrent Actions An example of an ongoing producer-consumer relationship action (retailer, wholesaler)::supply guarantee: retailer.stock->size >10 rely: wholesaler.inBusiness Every action has 4 clauses Guarantee: condition maintained while action in progress Rely: what must be true for every other clause to hold 1/2/2019 Precise Modelling

Collaborations A set of related actions playing certain roles Actions grouped to show that they serve a common purpose Represents a distribution of responsibilities Two Types Open: requirements expressed as invariants or joint actions Encapsulated: Behavior of objects typed 1/2/2019 Precise Modelling