Presented by Chin-Yi Tsai

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

description

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. Outline. Introduction Background Method and Tool Support for Scenario-Based RE - PowerPoint PPT Presentation

Transcript of Presented by Chin-Yi Tsai

Page 1: Presented by Chin-Yi Tsai

Supporting Scenario-Based Requirements Supporting Scenario-Based Requirements EngineeringEngineering

IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, VOL. 24, NO. IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, VOL. 24, NO. 12, DECEMBER, 199812, DECEMBER, 1998

A. G. Sutcliffe, N. A. M. Maiden, S. Minocha, and D. ManuelA. G. Sutcliffe, N. A. M. Maiden, S. Minocha, and D. Manuel

Presented by Chin-Yi TsaiPresented by Chin-Yi Tsai

Page 2: Presented by Chin-Yi Tsai

2

OutlineOutline

IntroductionIntroduction

BackgroundBackground

Method and Tool Support for Scenario-Based REMethod and Tool Support for Scenario-Based RE

ConclusionConclusion

Page 3: Presented by Chin-Yi Tsai

3

IntroductionIntroduction

ScenarioScenario Improve requirement engineeringImprove requirement engineering communicationcommunication

Scenarios often describe information at the instance or Scenarios often describe information at the instance or example levelexample level

Scenarios are used to represent paths of possible behavior Scenarios are used to represent paths of possible behavior through a use casethrough a use case

ValidationValidationAnimation Animation SimulationSimulationInspectionInspectionTest caseTest case

Animation Animation SimulationSimulationInspectionInspectionTest caseTest case

Page 4: Presented by Chin-Yi Tsai

4

Introduction (cont’d)Introduction (cont’d)

Describe a Describe a methodmethod and and tooltool support for scenario-based support for scenario-based Requirements engineering that integrates with use case Requirements engineering that integrates with use case approaches to object-oriented development.approaches to object-oriented development.

Use Case

Page 5: Presented by Chin-Yi Tsai

5

BackgroundBackground

Few methods advise on how to use scenarios in the Few methods advise on how to use scenarios in the process of requirements analysis and validation.process of requirements analysis and validation.

Provide more detailed advice about how scenarios Provide more detailed advice about how scenarios can be used in can be used in requirements validationrequirements validation..

Traceability (requirement management)Traceability (requirement management) DoorsDoors Requisite ProRequisite Pro

Requirement reuseRequirement reuse patternpattern

Rational RoseRational Rose

Page 6: Presented by Chin-Yi Tsai

6

Method and Tool Support for Scenario-Based REMethod and Tool Support for Scenario-Based REHow

Use Case Model

Page 7: Presented by Chin-Yi Tsai

7

Elicit and document use caseElicit and document use case Use case are elicited directly from userUse case are elicited directly from user The use case model is validated for correctness with respect to its The use case model is validated for correctness with respect to its

syntax and semanticssyntax and semantics Analyze generic problem and requirementsAnalyze generic problem and requirements

A library of reusable, generic requirements attached to models of A library of reusable, generic requirements attached to models of application classes is providedapplication classes is provided

Generic requirements are proposed at two levelGeneric requirements are proposed at two level General routines for handling different event patternsGeneral routines for handling different event patterns Requirements associated with application classes held in the Requirements associated with application classes held in the

repositoryrepository Generate scenarioGenerate scenario

Generate scenarios by walking through each Generate scenarios by walking through each possible event possible event sequencesequence in the use case in the use case

Each pathway becomes a scenarioEach pathway becomes a scenario Validate system requirements using scenariosValidate system requirements using scenarios

Generation is followed by tool-assisted validation which detects Generation is followed by tool-assisted validation which detects event pattern in scenario and presents checklists of generic event pattern in scenario and presents checklists of generic requirements that are appropriate for particular normal and requirements that are appropriate for particular normal and abnormal event patternsabnormal event patterns

Interactive dialogueInteractive dialogue

Page 8: Presented by Chin-Yi Tsai

8

Schema for Scenario-Based Requirements ModelingSchema for Scenario-Based Requirements Modeling

Metaschema for modeling use cases and scenario based knowledge

Page 9: Presented by Chin-Yi Tsai

9

ActionAction CognitiveCognitive PhysicalPhysical System-drivenSystem-driven communicativecommunicative

Each action has one start event and one end eventEach action has one start event and one end event

Action are linked through eight types of action-link rulesAction 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 Agents have user-defined properties that describe their knowledge and competenciesknowledge and competencies

Page 10: Presented by Chin-Yi Tsai

10

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

agentagent actionaction

PerformsPerforms

StartsStarts

EndsEnds

ControlsControls

responsibleresponsible

Page 11: Presented by Chin-Yi Tsai

11

Tool Main FunctionTool Main Function Incremental specification of use cases and high-level system Incremental specification of use cases and high-level system

requirementrequirement The domain/use case modeler The domain/use case modeler

Automatic generation of scenarios from a use caseAutomatic generation of scenarios from a use case Scenario generator Scenario generator

Manual description of use cases and scenario from historical data of Manual description of use cases and scenario from historical data of previous system useprevious system use use case/scenario authoring componentsuse case/scenario authoring components

Presentation of scenario, supporting user-led walk-through and Presentation of scenario, supporting user-led walk-through and validation of system requirementsvalidation of system requirements Scenario presenterScenario presenter

Semiautomatic validation of incomplete and incorrect system Semiautomatic validation of incomplete and incorrect system requirements using commonly occurring scenario event patternsrequirements using commonly occurring scenario event patterns Requirements validator Requirements validator

Page 12: Presented by Chin-Yi Tsai

12

Tool SupportTool Support

Page 13: Presented by Chin-Yi Tsai

13

Use Cases SpecificationUse Cases Specification

The user specifies a use case using CREWS-SAVRE’s The user specifies a use case using CREWS-SAVRE’s domain and use case modeler components.domain and use case modeler components.

Software engineer specifies all actions in the domain, Software engineer specifies all actions in the domain, defines defines agentsagents, and , and objectsobjects linked to these actions, linked to these actions, assigns types to each action, and specifies permissible assigns types to each action, and specifies permissible action sequenceaction sequence using action-link rules. using action-link rules.

A use case acts as a container of domain information A use case acts as a container of domain information relevant to the current scenario analysisrelevant 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)

Page 14: Presented by Chin-Yi Tsai

14

Action-link ruleAction-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)

Page 15: Presented by Chin-Yi Tsai

15

Checking the Use Case SpecificationChecking the Use Case Specification

Validation rules check the integrity of the Validation rules check the integrity of the relationshipsrelationships <model component1, relationship-type, model component2><model component1, relationship-type, model component2>

Validation checks are carried out by clusters of Validation checks are carried out by clusters of rules, called rules, called validation-framesvalidation-frames which are composed which are composed of two parts.of two parts. Structural patternStructural pattern requirementrequirement

Frames are used for validating the consistency of Frames are used for validating the consistency of use case models against the use case models against the schemaschema

Page 16: Presented by Chin-Yi Tsai

16

Using Application Classes to Identify Generic RequirementUsing Application Classes to Identify Generic Requirement

A library of application classes, termed A library of application classes, termed object object system models (OSMs)system models (OSMs) has been has been developeddeveloped and and validatedvalidated in our previous work on computational in our previous work on computational models of analogical structure matching.models of analogical structure matching. OSMs are organized in 11 families and describe a wide OSMs are organized in 11 families and describe a wide

variety of application classes.variety of application classes.

Each OSM is composed of a set of cooperating Each OSM is composed of a set of cooperating objectsobjects, , agentsagents and and actionsactions that achieve a goal, that achieve a goal, so they facilitate reuse at the system level rather so they facilitate reuse at the system level rather than as isolated generic classes.than as isolated generic classes.

Page 17: Presented by Chin-Yi Tsai

17

Scenario GenerationScenario Generation

This stage generates one or more scenarios from a This stage generates one or more scenarios from a use case specificationuse case specification

The scenario generation algorithm reduces this The scenario generation algorithm reduces this space by first determining the space by first determining the legallegal sequencessequences of of actionaction

Page 18: Presented by Chin-Yi Tsai

18

Scenario GenerationScenario Generation

Page 19: Presented by Chin-Yi Tsai

19

Scenario ValidationScenario Validation User-led walkthroughUser-led walkthrough Semiautomatic validation of requirements through the application of Semiautomatic validation of requirements through the application of

pattern matching algorithms to each scenariopattern matching algorithms to each scenario

Page 20: Presented by Chin-Yi Tsai

20

Page 21: Presented by Chin-Yi Tsai

21

ConclusionConclusion

Page 22: Presented by Chin-Yi Tsai

22

RRational ational UUnified nified PProcessrocess PhasesPhases

InceptionInception ElaborationElaboration ConstructionConstruction TransitionTransition

DisciplinesDisciplines Business ModelingBusiness Modeling RequirementsRequirements Analysis & DesignAnalysis & Design ImplementationImplementation TestTest DeploymentDeployment

Configuration & Change ManagementConfiguration & Change Management Project ManagementProject Management EnvironmentEnvironment

IterativeIncremental

IterativeIncremental