330 likes | 478 Views
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.
E N D
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 • One of the most important approaches to requirement engineering of the ten year is the KAOS model. Nonstandard graphical notation The notation and tool are not familiar to many.
Introduction (cont’d) • Introduce a profile that allows the KAOS model to be represented in the UML. • A UML profile can increase the usefulness of KAOS. • The ability to model the KAOS approach in the UML offers the potential for extra tool support. Informal representation of the profile Stereotype tag
KAOS Model Meta-level Domain-level Instance-level UML Meta-model layer Model layer User model (=instance) layer Introduction (cont’d) • KAOS • Goal-oriented methodology • Rich ontology for capturing and modeling requirement • Refinement and operationalization • Temporal logic for verification • KAOS and the UML
Introduction (cont’d) • A KAOS model is s semantic network in which the nodes are concepts and the connection between nodes are associations between the concepts. • There are two parts to a KAOS model • A graphical representation of the semantic network together with a supplementary textural definition • The optional formal representation expressed in a temporal logic • KAOS semantic network • stereotyped classes • association • The informal and formal descriptions • tags of these stereotyped class • association.
<<refines>> <<reduces>> Introduction (cont’d) • Formal expressions need to be rewritten using only ASCII characters since most UML editors do not support the symbol of the KAOS temporal logic. • OCL • The UML is extended by introducing new stereotypes to the language. • A particular extension of the UML is packaged as profile. • We can think of a profile as an extension of the UML meta-model layer
Introduction (cont’d) The stereotype <<reduces>> is a specialisation of the existing UML abstraction stereotype <<refines>>.
Stereotype • <<kobject>> • <<kentity • <kevent>> • <<kagent>> • <<goal>> • <<requisite>> • <<requirement>> • <<input>> • <<output>> • <<capability>> • <<performs>> • <<monitors>> • <<controls>> • <<concerns>> • <<reduces>> • <<conflicts>> • <<assumption>> • <<operationalises>> • <<responsibility>> Association Class
Tags • informalDef • formalDef • form • soft • instanceOf • priority • category • invariant • strengthenInv • frequency • domPrecondition • domPostcondition • reqPrecondition • reqPostcondition • reqTriggercondition • realm
The Stereotypes of the KAOS Profile stereotype tags , form: Achieve Main Avoid Cease Minimise Maximise
Requisites • A goal that can be reduced no further and is assignable to an individual agent either in the domain (Requirement) or in the software-to-be (Assumption) is a requisite.
Model Integration • Modeled in the UML, a KAOS model may be incorporated into the reset of a system’s UML design documentation, seamlessly linking the documentation for the requirements elicitation part of a project to the whole.
Requirement Model Design Model Traceability Requirements Traceability • <<operationalises>> • <<responsibility>> • <<ensures>> • <<requisite>> • <<kaction>> • <<kagent>> • <kobject>>
Interleaving Models • A more interesting possibility resulting from the profile is the interleaving of KAOS models with standard UML models.
Case Study • A portion of the advanced automatic train control (AATC) system used in San Francisco’s Bay Area Rapid Transit (BART) rail service. • To serve more passengers by running trains more closely spaced. • Steps: • Identification and Formalisation of Primary Goals • Identification of Objects • Identification of Requirements and Agent Assignments • Goal Operationalisation
Identification and Formalisation of Primary Goals • By searching the problem statement for keywords such as “purpose”, “objective”, “in order to”, etc.. • Some initial goals can be identified at an early stage.
Identification of Objects • The definition of goals derives the identification of objects.