UML Profile to Support Requirements Engineering with KAOS

Preview:

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

Citation preview

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

Presented by Chin-Yi TsaiPresented by Chin-Yi Tsai

2

Outline Outline

IntroductionIntroduction

The Stereotypes of the KAOS ProfileThe Stereotypes of the KAOS Profile

Model IntegrationModel Integration

Case StudyCase Study

ConclusionConclusion

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.

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

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

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.

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>>

8

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

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

abstraction stereotype <<refines>>.

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

10

Tags Tags

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

reqPreconditionreqPrecondition reqPostconditionreqPostcondition reqTriggerconditionreqTriggercondition realmrealm

11

The Stereotypes of the KAOS ProfileThe Stereotypes of the KAOS Profile

stereotype

tags

form: Achieve

MainAvoidCease

MinimiseMaximise

12

Goal ReductionGoal Reduction

13

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.

15

Agent, entities and eventsAgent, entities and events

16

ActionsActions

17

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.

19

Requirements TraceabilityRequirements Traceability

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

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

Requirement Model Design ModelTraceabilityTraceability

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.

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

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.

23

Identification and Formalisation of Primary GoalsIdentification and Formalisation of Primary Goals

24

Identification and Formalisation of Primary GoalsIdentification and Formalisation of Primary Goals

25

Identification of ObjectsIdentification of Objects

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

26

Identification of ObjectsIdentification of Objects

27

Identification of Requirements and Agent AssignmentsIdentification of Requirements and Agent Assignments

28

Goal OperationalisationGoal Operationalisation

29

30

31

ConclusionConclusion

32

Stereotype Stereotype

33

Tags Tags

Recommended