Beyond Scenarios: Generating State Models from Use Cases An approach for the synthesis of State transition graphs from Use Cases Supporting Use Cases Based.

Slides:



Advertisements
Similar presentations
Three-Step Database Design
Advertisements

Withdrawal Transaction Use Case Primary Actor: Customer Pre-conditions: The customer must have a valid ATM card and PIN. Post-conditions: The customer.
CPSC 333: Foundations of Software EngineeringJ. Denzinger 2.2. Use Cases: Scenario based requirements modeling Recommended: Booch, Rumbaugh, Jacobson:
C O N T E X T - F R E E LANGUAGES ( use a grammar to describe a language) 1.
Use Case & Use Case Diagram
1 Lecture 2: Processes, Requirements, and Use Cases.
Introduction to Software Testing Chapter 2.6 Graph Coverage for Use Cases Paul Ammann & Jeff Offutt
Use Case Modeling SJTU. Unified Modeling Language (UML) l Standardized notation for object-oriented development l Needs to be used with an analysis and.
CS 355 – Programming Languages
Introduction to Software Testing Chapter 2.6 Graph Coverage for Use Cases Paul Ammann & Jeff Offutt
CS3773 Software Engineering Lecture 03 UML Use Cases.
Goal-Oriented Requirements Engineering (GORE) “Goal-oriented requirements engineering is concerned with the use of goals for eliciting, elaborating, structuring,
1 CS 425 Software Engineering Project Preparation Use Case Modeling [Based on Chapters 3 & 4, Arlow and Neustadt, “UML and the Unified Process,” Addison-Wesley,
Grammars, Languages and Finite-state automata Languages are described by grammars We need an algorithm that takes as input grammar sentence And gives a.
CMPT 275 Software Engineering
® IBM Software Group © 2006 IBM Corporation Writing Good Use Cases Module 4: Detailing a Use Case.
1COM6030 Systems Analysis and Design © University of Sheffield 2005 COM 6030 Software Analysis and Design Lecture 4 - System modelling Dr Richard Clayton.
® IBM Software Group © 2006 IBM Corporation Rational Software France Object-Oriented Analysis and Design with UML2 and Rational Software Modeler 06. Requirements.
CIT UPES | Sept 2013 | Unified Modeling Language - UML.
1 Objectives  Describe design constraints.  Identify methods of specifying functional requirements.  Describe techniques for writing and structuring.
1 Object-Oriented Modeling Using UML (2) CS 3331 Fall 2009.
Formal Analysis of Problem Domain Workflows Uldis Donins Riga Technical University Baltic DB & IS 2012, July 8-11, Vilnius, Lithuania This work.
Basics of the Use Cases Editor (UCEd)‏ Stéphane S. Somé SITE, University of Ottawa.
Requirements Artifacts Precursor to A & D. Objectives: Requirements Overview  Understand the basic Requirements concepts and how they affect Analysis.
Requirements Documentation CSCI 5801: Software Engineering.
1 Presentation and tool by Jason Kealey University of Ottawa CSI5180 Automatic conversion of Use Cases to Use Case Maps.
Lecture 3 Uses Cases Topics UML Use Cases pop quiz Readings: Chapter 3 January 24, 2008 CSCE 492 Software Engineering.
Submitted By: Memon Khurshed (Group Leader) Hamed Abdollahpur
ISBN Chapter 3 Describing Semantics -Attribute Grammars -Dynamic Semantics.
UML – Unified Modeling Language Use-Case Diagrams.
Faculty of Computer & Information
An Ontological Framework for Web Service Processes By Claus Pahl and Ronan Barrett.
UML-1 3. Capturing Requirements and Use Case Model.
Requirements Analysis and Design Engineering Southern Methodist University CSE 7313.
1 Use Case Diagrams Use Case Actor Use case description Use case realization (Scenario) Use case relationships –Extends –Uses.
Shanghai Jiao Tong University 上海交通大学软件工程中心 Object Oriented Analysis and Design Requirements Overview.
CPSC 203. Use Case Diagram  A description of a system’s behavior as it responds to a request that originates from outside of that system. Specifies the.
Introduction To OOP 1.0 Fundamentals Of Java Programming Language 2.0 Exception Handling 3.0 Classes, Inheritance And Polymorphism © 2011 | PN AZRINA.
Supporting Scenario-Based Requirements Engineering IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, VOL. 24, NO. 12, DECEMBER, 1998 A. G. Sutcliffe, N. A. M.
Functional Requirements – Use Cases (Chapters 14, 21) Sriram Mohan 1.
1 Version /05/2004 © 2004 Robert Oshana Requirements Engineering Use cases.
ISBN Chapter 3 Describing Semantics.
Chapter 3 Part II Describing Syntax and Semantics.
Programming Languages and Design Lecture 3 Semantic Specifications of Programming Languages Instructor: Li Ma Department of Computer Science Texas Southern.
1 Graph Coverage (6). Reading Assignment P. Ammann and J. Offutt “Introduction to Software Testing” ◦ Section
Requirements Engineering-Based Conceptual Modelling From: Requirements Engineering E. Insfran, O. Pastor and R. Wieringa Presented by Chin-Yi Tsai.
CS212: Object Oriented Analysis and Design Lecture 32: Use case and Class diagrams.
1 Copyright  2001 Pao-Ann Hsiung SW HW Module Outline l Introduction l Unified HW/SW Representations l HW/SW Partitioning Techniques l Integrated HW/SW.
1Computer Sciences Department. Book: INTRODUCTION TO THE THEORY OF COMPUTATION, SECOND EDITION, by: MICHAEL SIPSER Reference 3Computer Sciences Department.
Inferring Declarative Requirements Specification from Operational Scenarios IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, VOL. 24, NO. 12, DECEMBER, 1998.
Concepts and Realization of a Diagram Editor Generator Based on Hypergraph Transformation Author: Mark Minas Presenter: Song Gu.
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.
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.
An Overview of Requirements Engineering Tools and Methodologies*
Paul Ammann & Jeff Offutt
TQS - Teste e Qualidade de Software (Software Testing and Quality) Test Case Design – Model Based Testing João Pascoal.
Object-Oriented Analysis (OOA)
Storyboarding and Game Design SBG, MBG620 Full Sail University
Creating Use Cases.
Formal Language Theory
Software Architecture & Design Pattern
Syntax Questions 6. Define a left recursive grammar rule.
Concepts, Specifications, and Diagrams
Paul Ammann & Jeff Offutt
INFS 6225 Object Oriented Systems Analysis & Design
Use Case Document Example
CS 420/620 HCI Use Case Modeling Project Preparation
CS 425 Software Engineering
CS 425/625 Software Engineering
Presentation transcript:

Beyond Scenarios: Generating State Models from Use Cases An approach for the synthesis of State transition graphs from Use Cases Supporting Use Cases Based Requirements Simulation Presented by Chin-Yi Tsai UCEd

2 Outline Introduction Introduction Use Cases Use Cases Requirements Engineering Processes Requirements Engineering Processes From Use Cases to State Models From Use Cases to State Models Use Cases Simulation Use Cases Simulation Conclusion Conclusion

3 Introduction Use Cases describe possible interactions involving a system and its environment. Use Cases describe possible interactions involving a system and its environment. Represent user’s requirement Represent user’s requirement State models generation from Use Cases. State models generation from Use Cases. A formalization of use cases A formalization of use cases A natural language based syntax for use cases description (condition) A natural language based syntax for use cases description (condition) An algorithm that incrementally compose a set of use cases as finite state transition machine An algorithm that incrementally compose a set of use cases as finite state transition machine Simulation/Validation Restricted form

4 Use Cases A use case consists of intertwined scenarios, each scenario being a possible sequence of interactions. A use case consists of intertwined scenarios, each scenario being a possible sequence of interactions. Primary scenario (normal) Primary scenario (normal) Secondary scenario (alternative, error) Secondary scenario (alternative, error) A use case can be seen as a tuple A use case can be seen as a tuple [Title, Precondition, Steps, Postcondition] [Title, Precondition, Steps, Postcondition] Each step in Steps is a tuple Each step in Steps is a tuple [SCond, Oper, Ext] [SCond, Oper, Ext]

5 Domain Model A domain model is an integral part of requirements in approaches such as the Unified Software Development Process. A domain model is an integral part of requirements in approaches such as the Unified Software Development Process. Use a domain model as a complementary part of use case description Use a domain model as a complementary part of use case description A domain model is a high level class model that captures the most important types of object in the context of system. A domain model is a high level class model that captures the most important types of object in the context of system. relationship relationship Use case diagram Domain/conceptual model Sequence diagram

6 Operation Operation Added-conditions Added-conditions Withdrawn-conditions Withdrawn-conditions Domain model

7 Natural Language Representation of Use Cases Use a form of natural language for conditions and operations Use a form of natural language for conditions and operations Conditions describe situations prevailing within a system and environment. Conditions describe situations prevailing within a system and environment. A condition is written as predicative phrase, seeking a certain quality on an entity of the domain model A condition is written as predicative phrase, seeking a certain quality on an entity of the domain model Operations are active sentences in which a component perform an action given as verb. Operations are active sentences in which a component perform an action given as verb. state

8 DCG (Definite Clause Grammar) DCGs are contextural grammars used for natural language description. DCGs are contextural grammars used for natural language description. The DOG references the domain model through the predicates concept, concept_attribute, discrete, and pobbile_value. The DOG references the domain model through the predicates concept, concept_attribute, discrete, and pobbile_value. Concept(“User”) Concept(“User”) Condition description

9 concept(“User”) concept(“User”) concept(“PM System”) concept(“PM System”) concept_attribure(“User”, “number of attempts”) concept_attribure(“User”, “number of attempts”) concept_attribute(“User”, Card”) concept_attribute(“User”, Card”) discrete(“Card”) discrete(“Card”) possible_value([“User”, “Card”], “inserted”) possible_value([“User”, “Card”], “inserted”) possible_value([“User”, “Card”], “regular”) possible_value([“User”, “Card”], “regular”)

10 Requirements Engineering Processes Use cases based requirement engineering process Use cases based requirement engineering process

11

12 From Use Cases to State Models Generate a hierarchical type of finite state transition machines form use cases. Generate a hierarchical type of finite state transition machines form use cases. Operation can have withdrawn-conditions and added- conditions. (expressed as predicates on the domain entities) Operation can have withdrawn-conditions and added- conditions. (expressed as predicates on the domain entities) Each state is defined by characteristic predicates which hold in it. Each state is defined by characteristic predicates which hold in it. Two state are identical if they have the same characteristics predicates. Two state are identical if they have the same characteristics predicates. A state s b is a sub-state of a state s a, if its characteristics predicates include those of s a in the logical sense. A state s b is a sub-state of a state s a, if its characteristics predicates include those of s a in the logical sense.

13 From Use Cases to State Models Use the operations withdrawn and added condition to determine states. Use the operations withdrawn and added condition to determine states. operation Withdrawn condition Added condition state1 state2

14 From Use Cases to State Models A finite state transition machine is a tuple A finite state transition machine is a tuple is a finite alphabet is a finite alphabet is a finite set of states is a finite set of states is a transition function is a transition function is a set of initial state is a set of initial state Given a use case [Title, Pre, Steps, Post], the algorithm enriches a state transition machine M. Given a use case [Title, Pre, Steps, Post], the algorithm enriches a state transition machine M. M is initially such that

15

16 S0: { “ System is ON ”, “ No user is logged in ”, “ No card is inserted ” } S1: { “ System is ON ”, “ No user is logged in ”, “ Card is inserted ” } S2: { “ System id ON ”, “ No user logged in ”, “ Card is inserted ”, “ Card is not regular ” }S3: { “ System is ON ”, “ No user logged in ”, “ Card is inserted ”, “ Display is pin enter prompt ” }

17 Use Cases Simulation The simulator includes an “actor events panel” and a “simulation results panel”. The simulator includes an “actor events panel” and a “simulation results panel”. UCEd generates a button corresponding to each actor operation in the “actor events panel”. UCEd generates a button corresponding to each actor operation in the “actor events panel”. The operations are obtained from the domain model. The operations are obtained from the domain model. State machine

18 Conclusion Use cases Domain model State model simulator