Supporting Scenario-Based Requirements Engineering IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, VOL. 24, NO. 12, DECEMBER, 1998 A. G. Sutcliffe, N. A. M.

Slides:



Advertisements
Similar presentations
Toward an Agent-Based and Context- Oriented Approach for Web Services Composition IEEE TRANSACTIONS ON KNOWLEDGE AND DATA ENGINEERING, VOL. 17, NO. 5,
Advertisements

14-1 © Prentice Hall, 2004 Chapter 14: OOSAD Implementation and Operation (Adapted) Object-Oriented Systems Analysis and Design Joey F. George, Dinesh.
Ch 3: Unified Process CSCI 4320: Software Engineering.
Unit 2. Software Lifecycle
SYSC System Analysis and Design
CS3773 Software Engineering Lecture 03 UML Use Cases.
Software Testing and Quality Assurance
Software Testing and Quality Assurance
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 8 Slide 1 System models.
L4-1-S1 UML Overview © M.E. Fayad SJSU -- CmpE Software Architectures Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I.
Uml and Use Cases CS 414, Software Engineering I Mark Ardis Rose-Hulman Institute January 9, 2003.
COST G9 - Work group 2 Cadastral science meeting Aalborg, Dk Modeling methodology for real estate transactions Radoš Šumrada Faculty.
1 SWE Introduction to Software Engineering Lecture 5.
Creating Architectural Descriptions. Outline Standardizing architectural descriptions: The IEEE has published, “Recommended Practice for Architectural.
Modified from Sommerville’s originalsSoftware Engineering, 7th edition. Chapter 8 Slide 1 System models.
7. 2Object-Oriented Analysis and Design with the Unified Process Objectives  Detailed Object-Oriented Requirements Definitions  System Processes—A Use.
Supplement 02CASE Tools1 Supplement 02 - Case Tools And Franchise Colleges By MANSHA NAWAZ.
Course Instructor: Aisha Azeem
Chapter 1 The Systems Development Environment
Chapter 1 The Systems Development Environment
The Systems Development Environment. Learning Objectives Define information systems analysis and design. Describe the different types of information systems.
UML - Development Process 1 Software Development Process Using UML (2)
These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e (McGraw-Hill 2009). Slides copyright 2009 by Roger Pressman.1.
1 Object-Oriented Testing CIS 375 Bruce R. Maxim UM-Dearborn.
S/W Project Management Software Process Models. Objectives To understand  Software process and process models, including the main characteristics of.
1 IBM Software Group ® Mastering Object-Oriented Analysis and Design with UML 2.0 Module 1: Best Practices of Software Engineering.
The Rational Unified Process
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 6 Slide 1 Chapter 6 Requirements Engineering Process.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 7 Slide 1 System models l Abstract descriptions of systems whose requirements are being.
Chapter 4 System Models A description of the various models that can be used to specify software systems.
System models Abstract descriptions of systems whose requirements are being analysed Abstract descriptions of systems whose requirements are being analysed.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 6 Slide 1 Requirements Engineering Processes l Processes used to discover, analyse and.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Processes.
14-1 © Prentice Hall, 2004 Chapter 14: OOSAD Implementation and Operation Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph.
Software Processes lecture 8. Topics covered Software process models Process iteration Process activities The Rational Unified Process Computer-aided.
14-1 © Prentice Hall, 2004 Chapter 14: OOSAD Implementation and Operation Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph.
Programming in Java Unit 3. Learning outcome:  LO2:Be able to design Java solutions  LO3:Be able to implement Java solutions Assessment criteria: 
Odyssey A Reuse Environment based on Domain Models Prepared By: Mahmud Gabareen Eliad Cohen.
UML Diagrams: Sequence Diagrams The Requirements Model, and The Dynamic Analysis Model Instructor: Dr. Hany H. Ammar Dept. of Computer Science and Electrical.
Chapter 13 Architectural Design
Methodology - Conceptual Database Design. 2 Design Methodology u Structured approach that uses procedures, techniques, tools, and documentation aids to.
Chapter 7 System models.
Modified by Juan M. Gomez Software Engineering, 6th edition. Chapter 7 Slide 1 Chapter 7 System Models.
Sommerville 2004,Mejia-Alvarez 2009Software Engineering, 7th edition. Chapter 8 Slide 1 System models.
Notes of Rational Related cyt. 2 Outline 3 Capturing business requirements using use cases Practical principles  Find the right boundaries for your.
Review of Software Process Models Review Class 1 Software Process Models CEN 4021 Class 2 – 01/12.
Unified Modeling Language* Keng Siau University of Nebraska-Lincoln *Adapted from “Software Architecture and the UML” by Grady Booch.
L6-S1 UML Overview 2003 SJSU -- CmpE Advanced Object-Oriented Analysis & Design Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College.
2 2009/10 Object Oriented Technology 1 Topic 2: Introduction to Object-Oriented Approach Reference: u Ch.16 Current Trends in System Development (Satzinger:
7. 2Object-Oriented Analysis and Design with the Unified Process Objectives  Detailed Object-Oriented Requirements Definitions  System Processes—A Use.
Requirements Engineering-Based Conceptual Modelling From: Requirements Engineering E. Insfran, O. Pastor and R. Wieringa Presented by Chin-Yi Tsai.
The principles of an object oriented software development process Week 04 1.
The Systems Development Environment Systems Analysis and Design II.
1 Lecture 15: Chapter 19 Testing Object-Oriented Applications Slide Set to accompany Software Engineering: A Practitioner’s Approach, 7/e by Roger S. Pressman.
Prof. Hany H. Ammar, CSEE, WVU, and
Inferring Declarative Requirements Specification from Operational Scenarios IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, VOL. 24, NO. 12, DECEMBER, 1998.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 4 Slide 1 Software Processes.
310414IMPLEMENTATION1 IMPLEMENTATIONIMPLEMENTATION SOFTWARE ENGINEERING SOFTWARE ENGINEERING.
21/1/ Analysis - Model of real-world situation - What ? System Design - Overall architecture (sub-systems) Object Design - Refinement of Design.
CS223: Software Engineering
Design and implementation Chapter 7 – Lecture 1. Design and implementation Software design and implementation is the stage in the software engineering.
CSCI 383 Object-Oriented Programming & Design Lecture 7 Martin van Bommel.
OBJECT-ORIENTED TESTING. TESTING OOA AND OOD MODELS Analysis and design models cannot be tested in the conventional sense. However, formal technical reviews.
A UML-Based Pattern Specification Technique Presented by Chin-Yi Tsai IEEE TRANSACTION ON SOFTWARE ENGINEERING, VOL. 30, NO. 3, MARCH 2004 Robert B. France,
 The processes used for RE vary widely depending on the application domain, the people involved and the organisation developing the requirements.  However,
1 Process activities. 2 Software specification Software design and implementation Software validation Software evolution.
Software engineering Software Processes.
Rational Unified Process (RUP)
PASSI (Process for Agent Societies Specification and Implementation)
Presentation transcript:

Supporting Scenario-Based Requirements Engineering IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, VOL. 24, NO. 12, DECEMBER, 1998 A. G. Sutcliffe, N. A. M. Maiden, S. Minocha, and D. Manuel Presented by Chin-Yi Tsai

2 Outline Introduction Introduction Background Background Method and Tool Support for Scenario-Based RE Method and Tool Support for Scenario-Based RE Conclusion Conclusion

3 Introduction Scenario Scenario Improve requirement engineering Improve requirement engineering communication communication Scenarios often describe information at the instance or example level Scenarios often describe information at the instance or example level Scenarios are used to represent paths of possible behavior through a use case Scenarios are used to represent paths of possible behavior through a use case Validation AnimationSimulationInspection Test case

4 Introduction (cont’d) Describe a method and tool support for scenario-based Requirements engineering that integrates with use case approaches to object-oriented development. Describe a method and tool support for scenario-based Requirements engineering that integrates with use case approaches to object-oriented development. Use Case

5 Background Few methods advise on how to use scenarios in the process of requirements analysis and validation. Few methods advise on how to use scenarios in the process of requirements analysis and validation. Provide more detailed advice about how scenarios can be used in requirements validation. Provide more detailed advice about how scenarios can be used in requirements validation. Traceability (requirement management) Traceability (requirement management) Doors Doors Requisite Pro Requisite Pro Requirement reuse Requirement reuse pattern pattern Rational Rose

6 Method and Tool Support for Scenario-Based RE How Use Case Model

7 Elicit and document use case Elicit and document use case Use case are elicited directly from user Use case are elicited directly from user The use case model is validated for correctness with respect to its syntax and semantics The use case model is validated for correctness with respect to its syntax and semantics Analyze generic problem and requirements Analyze generic problem and requirements A library of reusable, generic requirements attached to models of application classes is provided A library of reusable, generic requirements attached to models of application classes is provided Generic requirements are proposed at two level Generic requirements are proposed at two level General routines for handling different event patterns General routines for handling different event patterns Requirements associated with application classes held in the repository Requirements associated with application classes held in the repository Generate scenario Generate scenario Generate scenarios by walking through each possible event sequence in the use case Generate scenarios by walking through each possible event sequence in the use case Each pathway becomes a scenario Each pathway becomes a scenario Validate system requirements using scenarios Validate system requirements using scenarios Generation is followed by tool-assisted validation which detects event pattern in scenario and presents checklists of generic requirements that are appropriate for particular normal and abnormal event patterns Generation is followed by tool-assisted validation which detects event pattern in scenario and presents checklists of generic requirements that are appropriate for particular normal and abnormal event patterns Interactive dialogue Interactive dialogue

8 Schema for Scenario-Based Requirements Modeling Metaschema for modeling use cases and scenario based knowledge

9 Action Action Cognitive Cognitive Physical Physical System-driven System-driven communicative communicative Each action has one start event and one end event Each action has one start event and one end event Action are linked through eight types of action-link rules Action are linked through eight types of action-link rules Each action involves one or more agents. Each action involves one or more agents. Agents have user-defined properties that describe their knowledge and competencies Agents have user-defined properties that describe their knowledge and competencies

10 Action-agent links are specified by an involvement relation that can be subtyped as {performs, starts, ends, controls, responsible} Action-agent links are specified by an involvement relation that can be subtyped as {performs, starts, ends, controls, responsible} agentactionPerformsStartsEndsControlsresponsible

11 Tool Main Function Incremental specification of use cases and high-level system requirement Incremental specification of use cases and high-level system requirement The domain/use case modeler The domain/use case modeler Automatic generation of scenarios from a use case Automatic generation of scenarios from a use case Scenario generator Scenario generator Manual description of use cases and scenario from historical data of previous system use Manual description of use cases and scenario from historical data of previous system use use case/scenario authoring components use case/scenario authoring components Presentation of scenario, supporting user-led walk-through and validation of system requirements Presentation of scenario, supporting user-led walk-through and validation of system requirements Scenario presenter Scenario presenter Semiautomatic validation of incomplete and incorrect system requirements using commonly occurring scenario event patterns Semiautomatic validation of incomplete and incorrect system requirements using commonly occurring scenario event patterns Requirements validator Requirements validator

12 Tool Support

13 Use Cases Specification The user specifies a use case using CREWS-SAVRE’s domain and use case modeler components. The user specifies a use case using CREWS-SAVRE’s domain and use case modeler components. Software engineer specifies all actions in the domain, defines agents, and objects linked to these actions, assigns types to each action, and specifies permissible action sequence using action-link rules. Software engineer specifies all actions in the domain, defines agents, and objects linked to these actions, assigns types to each action, and specifies permissible action sequence using action-link rules. A use case acts as a container of domain information relevant to the current scenario analysis A use case acts as a container of domain information relevant to the current scenario analysis Actions are defined by Actions are defined by ev(startA) < ev(endA) and ev(startB) < ev(endB) ev(startA) < ev(endA) and ev(startB) < ev(endB)

14 Action-link rule Strict sequence (A then B) Strict sequence (A then B) Part sequence (A meanwhile B) Part sequence (A meanwhile B) Inclusion (A includes B) Inclusion (A includes B) Concurrent (A and B) Concurrent (A and B) Alternative (A or B) Alternative (A or B) Parallel and equal (A parallel B) Parallel and equal (A parallel B) Equal-start (A starts-with B) Equal-start (A starts-with B) Equal-end (A ends-with B) Equal-end (A ends-with B)

15 Checking the Use Case Specification Validation rules check the integrity of the relationships Validation rules check the integrity of the relationships Validation checks are carried out by clusters of rules, called validation-frames which are composed of two parts. Validation checks are carried out by clusters of rules, called validation-frames which are composed of two parts. Structural pattern Structural pattern requirement requirement Frames are used for validating the consistency of use case models against the schema Frames are used for validating the consistency of use case models against the schema

16 Using Application Classes to Identify Generic Requirement A library of application classes, termed object system models (OSMs) has been developed and validated in our previous work on computational models of analogical structure matching. A library of application classes, termed object system models (OSMs) has been developed and validated in our previous work on computational models of analogical structure matching. OSMs are organized in 11 families and describe a wide variety of application classes. OSMs are organized in 11 families and describe a wide variety of application classes. Each OSM is composed of a set of cooperating objects, agents and actions that achieve a goal, so they facilitate reuse at the system level rather than as isolated generic classes. Each OSM is composed of a set of cooperating objects, agents and actions that achieve a goal, so they facilitate reuse at the system level rather than as isolated generic classes.

17 Scenario Generation This stage generates one or more scenarios from a use case specification This stage generates one or more scenarios from a use case specification The scenario generation algorithm reduces this space by first determining the legal sequences of action The scenario generation algorithm reduces this space by first determining the legal sequences of action

18 Scenario Generation

19 Scenario Validation User-led walkthrough User-led walkthrough Semiautomatic validation of requirements through the application of pattern matching algorithms to each scenario Semiautomatic validation of requirements through the application of pattern matching algorithms to each scenario

20

21 Conclusion

22 Rational Unified Process Phases Phases Inception Inception Elaboration Elaboration Construction Construction Transition Transition Disciplines Disciplines Business Modeling Business Modeling Requirements Requirements Analysis & Design Analysis & Design Implementation Implementation Test Test Deployment Deployment Configuration & Change Management Configuration & Change Management Project Management Project Management Environment Environment Iterative Incremental