UML Profile to Support Requirements Engineering with KAOS

33
UML Profile to Support Requirements UML Profile to Support Requirements Engineering with KAOS Engineering with KAOS Presented by Chin-Yi Tsai Presented by Chin-Yi Tsai

description

UML Profile to Support Requirements Engineering with KAOS. Presented by Chin-Yi Tsai. Outline. Introduction The Stereotypes of the KAOS Profile Model Integration Case Study Conclusion. Introduction. - PowerPoint PPT Presentation

Transcript of UML Profile to Support Requirements Engineering with KAOS

Page 1: UML Profile to Support Requirements Engineering with KAOS

UML Profile to Support Requirements UML Profile to Support Requirements Engineering with KAOSEngineering with KAOS

Presented by Chin-Yi TsaiPresented by Chin-Yi Tsai

Page 2: UML Profile to Support Requirements Engineering with KAOS

2

Outline Outline

IntroductionIntroduction

The Stereotypes of the KAOS ProfileThe Stereotypes of the KAOS Profile

Model IntegrationModel Integration

Case StudyCase Study

ConclusionConclusion

Page 3: UML Profile to Support Requirements Engineering with KAOS

3

IntroductionIntroduction

One of the most important approaches to requirement One of the most important approaches to requirement engineering of the ten year is the KAOS model.engineering of the ten year is the KAOS model.

Nonstandard graphical notationThe notation and tool are not familiar to many.

Nonstandard graphical notationThe notation and tool are not familiar to many.

Page 4: UML Profile to Support Requirements Engineering with KAOS

4

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

Introduce a Introduce a profileprofile that allows the KAOS model to be that allows the KAOS model to be represented in the UML.represented in the UML.

A UML profile can increase the usefulness of KAOS.A UML profile can increase the usefulness of KAOS.

The ability to model the KAOS approach in the UML offers The ability to model the KAOS approach in the UML offers the potential for extra tool support.the potential for extra tool support.

Informal representation of the profileInformal representation of the profileStereotype Stereotype

tagtag

Informal representation of the profileInformal representation of the profileStereotype Stereotype

tagtag

Page 5: UML Profile to Support Requirements Engineering with KAOS

5

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

KAOSKAOS Goal-oriented methodologyGoal-oriented methodology Rich ontology for capturing and modeling requirementRich ontology for capturing and modeling requirement Refinement and operationalization Refinement and operationalization Temporal logic for verificationTemporal logic for verification

KAOS and the UMLKAOS and the UML

KAOS Model

Meta-levelDomain-levelInstance-level

UML

Meta-model layerModel layer

User model (=instance) layer

Page 6: UML Profile to Support Requirements Engineering with KAOS

6

Introduction (cont’d)Introduction (cont’d) A KAOS model is s semantic network in which the A KAOS model is s semantic network in which the nodesnodes

are concepts and the are concepts and the connectionconnection between nodes are between nodes are associations between the concepts.associations between the concepts.

There are two parts to a KAOS modelThere are two parts to a KAOS model A graphical representation of the semantic network together with a A graphical representation of the semantic network together with a

supplementary textural definitionsupplementary textural definition The optional formal representation expressed in a temporal logicThe optional formal representation expressed in a temporal logic

KAOS semantic networkKAOS semantic network stereotyped classesstereotyped classes associationassociation

The informal and formal descriptions The informal and formal descriptions tags of these stereotyped class tags of these stereotyped class association.association.

Page 7: UML Profile to Support Requirements Engineering with KAOS

7

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

Formal expressions need to be rewritten using only Formal expressions need to be rewritten using only ASCII charactersASCII characters since most UML editors do not since most UML editors do not support the symbol of the KAOS temporal logic.support the symbol of the KAOS temporal logic. OCLOCL

The UML is extended by introducing new The UML is extended by introducing new stereotypesstereotypes to the language. to the language.

A particular extension of the UML is packaged as A particular extension of the UML is packaged as profileprofile.. We can think of a profile as an We can think of a profile as an extension of the UML extension of the UML

meta-model layermeta-model layer

<<refines>>

<<reduces>>

Page 8: UML Profile to Support Requirements Engineering with KAOS

8

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

The stereotype <<reduces>> is a specialisation of the existing UML

abstraction stereotype <<refines>>.

Page 9: UML Profile to Support Requirements Engineering with KAOS

9

Stereotype Stereotype

<<kobject>><<kobject>> <<kentity<<kentity <kevent>><kevent>> <<kagent>><<kagent>> <<goal>><<goal>> <<requisite>><<requisite>> <<requirement>><<requirement>>

<<input>><<input>> <<output>><<output>> <<capability>><<capability>> <<performs>><<performs>> <<monitors>><<monitors>> <<controls>><<controls>> <<concerns>><<concerns>> <<reduces>><<reduces>> <<conflicts>><<conflicts>> <<assumption>><<assumption>> <<operationalises>><<operationalises>> <<responsibility>><<responsibility>>

ClassClass

AssociationAssociation

Page 10: UML Profile to Support Requirements Engineering with KAOS

10

Tags Tags

informalDefinformalDef formalDefformalDef formform softsoft instanceOfinstanceOf prioritypriority categorycategory invariantinvariant strengthenInvstrengthenInv frequencyfrequency domPreconditiondomPrecondition domPostconditiondomPostcondition

reqPreconditionreqPrecondition reqPostconditionreqPostcondition reqTriggerconditionreqTriggercondition realmrealm

Page 11: UML Profile to Support Requirements Engineering with KAOS

11

The Stereotypes of the KAOS ProfileThe Stereotypes of the KAOS Profile

stereotype

tags

form: Achieve

MainAvoidCease

MinimiseMaximise

Page 12: UML Profile to Support Requirements Engineering with KAOS

12

Goal ReductionGoal Reduction

Page 13: UML Profile to Support Requirements Engineering with KAOS

13

Page 14: UML Profile to Support Requirements Engineering with KAOS

14

RequisitesRequisites

A goal that can be reduced no further and is A goal that can be reduced no further and is assignable to an individual agent either in the assignable to an individual agent either in the domain (Requirement)domain (Requirement) or in the or in the software-to-be software-to-be (Assumption)(Assumption) is a requisite. is a requisite.

Page 15: UML Profile to Support Requirements Engineering with KAOS

15

Agent, entities and eventsAgent, entities and events

Page 16: UML Profile to Support Requirements Engineering with KAOS

16

ActionsActions

Page 17: UML Profile to Support Requirements Engineering with KAOS

17

Page 18: UML Profile to Support Requirements Engineering with KAOS

18

Model IntegrationModel Integration

Modeled in the UML, a KAOS model may be Modeled in the UML, a KAOS model may be incorporated into the reset of a system’s UML incorporated into the reset of a system’s UML designdesign documentation, seamlessly linking the documentation, seamlessly linking the documentation for the documentation for the requirementsrequirements elicitation part elicitation part of a project to the whole.of a project to the whole.

Page 19: UML Profile to Support Requirements Engineering with KAOS

19

Requirements TraceabilityRequirements Traceability

<<operationalises>><<operationalises>> <<responsibility>><<responsibility>> <<ensures>><<ensures>>

<<requisite>><<requisite>> <<kaction>><<kaction>> <<kagent>><<kagent>> <kobject>><kobject>>

Requirement Model Design ModelTraceabilityTraceability

Page 20: UML Profile to Support Requirements Engineering with KAOS

20

Interleaving ModelsInterleaving Models

A more interesting possibility resulting from the A more interesting possibility resulting from the profile is the interleaving of KAOS models with profile is the interleaving of KAOS models with standard UML models.standard UML models.

Page 21: UML Profile to Support Requirements Engineering with KAOS

21

Case StudyCase Study

A portion of the advanced automatic train control (AATC) A portion of the advanced automatic train control (AATC) system used in San Francisco’s Bay Area Rapid Transit system used in San Francisco’s Bay Area Rapid Transit (BART) rail service.(BART) rail service.

To serve more passengers by running trains more closely To serve more passengers by running trains more closely spaced.spaced.

Steps:Steps: Identification and Formalisation of Primary GoalsIdentification and Formalisation of Primary Goals Identification of ObjectsIdentification of Objects Identification of Requirements and Agent AssignmentsIdentification of Requirements and Agent Assignments Goal OperationalisationGoal Operationalisation

Page 22: UML Profile to Support Requirements Engineering with KAOS

22

Identification and Formalisation of Primary GoalsIdentification and Formalisation of Primary Goals

By searching the problem statement for keywords By searching the problem statement for keywords such as “purpose”, “objective”, “in order to”, etc..such as “purpose”, “objective”, “in order to”, etc.. Some initial goals can be identified at an early stage.Some initial goals can be identified at an early stage.

Page 23: UML Profile to Support Requirements Engineering with KAOS

23

Identification and Formalisation of Primary GoalsIdentification and Formalisation of Primary Goals

Page 24: UML Profile to Support Requirements Engineering with KAOS

24

Identification and Formalisation of Primary GoalsIdentification and Formalisation of Primary Goals

Page 25: UML Profile to Support Requirements Engineering with KAOS

25

Identification of ObjectsIdentification of Objects

The definition of goals derives the identification of The definition of goals derives the identification of objects.objects.

Page 26: UML Profile to Support Requirements Engineering with KAOS

26

Identification of ObjectsIdentification of Objects

Page 27: UML Profile to Support Requirements Engineering with KAOS

27

Identification of Requirements and Agent AssignmentsIdentification of Requirements and Agent Assignments

Page 28: UML Profile to Support Requirements Engineering with KAOS

28

Goal OperationalisationGoal Operationalisation

Page 29: UML Profile to Support Requirements Engineering with KAOS

29

Page 30: UML Profile to Support Requirements Engineering with KAOS

30

Page 31: UML Profile to Support Requirements Engineering with KAOS

31

ConclusionConclusion

Page 32: UML Profile to Support Requirements Engineering with KAOS

32

Stereotype Stereotype

Page 33: UML Profile to Support Requirements Engineering with KAOS

33

Tags Tags