Jump to content

User:Ipoxylari/KAOS (software development)

From Wikipedia, the free encyclopedia
This is an old revision of this page, as edited by Ipoxylari (talk | contribs) at 18:08, 13 January 2023. The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

KAOS, is an acronym for Knowledge Acquisition in autOmated Specification. KAOS, has been designed by Axel van Lamsweerde, Anne Dardenn, and Stephen Fickas at the University of Oregon and the University of Louvain (Belgium)[1]

It is considered a goal-Oriented requirements engineering approach that is used in the requirements acquisition phase of the software lifecycle. The KAOS is used in a variety of fields, including mechanics, telecommunications, and healthcare. This method is based on the idea of building requirements models and is thought to be an efficient method for eliciting goal-oriented requirements. In KAOS, the requirements can be represented in the form of goals, which can be functional or non-functional.[2] For the representation of the goals are used six sub-models of which the two main ones are: the object model which uses the UML class diagram for the representation of domain vocabulary and the goal model for the determination of requirements to be satisfied by the system and of expectations with regard to the environment through a goals hierarchy.[3]

As a result of KAOS, requirements can be structured methodically and logically, and problems can be solved by using graphical methods.

Sub-models[4]

Goal

Goals describe acceptable behaviors for a system. In order to verify whether a system meets a goal, it should be defined clearly.

Soft goal

The purpose of soft-goals is to document choices among possible system behaviors

Agent

KAOS' agents are mainly software-intensive systems' users and components. A system agent is an active component that serves a specific purpose in achieving a goal. An agent can be a human agent, a device or a software component

AND/OR-decomposition

An AND-OR decomposition link indicates that a goal has been met if all of its subgoals have been met, or at least one of them has been met

Potential conflict

This link documents that meeting one goal may interfere with the achievement of another goal in certain circumstances.

Responsibility assignment

This link between a goal and an agent indicates that this agent is in charge of accomplishing the goal.

Components[1]

Conceptual model

Conceptual models provide abstract representations of requirements models that need to be acquired. Therefore it is considered a meta-model. Ideally, it should allow the precise and natural capture of both functional and non-functional requirements for any kind of composite system.

Acquisition strategies

The acquisition strategy defines a coherent set of steps for acquiring components of the requirements model as instances of meta-model components. To put it another way, a strategy describes how the meta-model graph is traversed to acquire instances of its various nodes and links

The acquisition assistant

With the acquisition assistant, it is possible to follow one or more acquisition strategies using automated assistance. It is constructed around two repositories: a requirements database and a requirements knowledge base. They are both structured based on the meta-model components. It is the requirements database that maintains the requirements model that has been built gradually during the acquisition process.

Process of writing a requirement document using KAOS [5]

  1. Give a description of the problem
  2. Give a target model for the system (including which target model you have used)
  3. Give one of the responsibility models for the system(The responsibility model describes the requirements or expectations of each agent and the tasks assigned to him.)
  4. Give one of the object models of the system.(The object model is used to define and document relevant concepts in the application domain, presenting static constraints between concepts so as to satisfy design requirements. There are three types of objects that coexist in the object model, namely entities, agents and associations.)
  5. Give the operational process model for the main objects in the system.(The operational process model of Kaos describes the requirements that the agent needs to fulfill.)
  6. Give potential obstacles to the achievement of the system's objectives.(An obstacle is a situation that violates a goal, expectation or requirement. For a secure system, it is important to address potential barriers, which allows the analyst to address special situations that may occur during the requirements engineering phase, rather than coming to a solution when the system is running out of steam, thus ensuring the robustness of the system.)
  7. Write a requirements document for the system based on the IEEE standard template.

Objectiver Tool

Objectiver is a powerful tool to engineer the technical and business requirements owned by Respect-IT, a spin-out of the University of Louvain.

Objectiver is a modeling and support tool for writing requirements documents. It is conformant to the KAOS methodology and allows one to derive from the requirements model requirements documents in Word format that are complete and consistent.

Other goal-oriented modeling methods

References

  1. ^ a b Dardenne, Anne; van Lamsweerde, Axel; Fickas, Stephen (1993-04). "Goal-directed requirements acquisition". Science of Computer Programming. 20 (1–2): 3–50. doi:10.1016/0167-6423(93)90021-g. ISSN 0167-6423. {{cite journal}}: Check date values in: |date= (help)
  2. ^ Evaluating the Effectiveness of a Goal-Oriented Requirements Engineering Method
  3. ^ Formal Representation of SysML/KAOS Domain Model
  4. ^ Teruel, Miguel A.; Navarro, Elena; López-Jaquero, Víctor; Montero, Francisco; González, Pascual (2011). "A COMPARATIVE OF GOAL-ORIENTED APPROACHES TO MODELLING REQUIREMENTS FOR COLLABORATIVE SYSTEMS". Proceedings of the 6th International Conference on Evaluation of Novel Approaches to Software Engineering. SCITEPRESS - Science and Technology Publications. doi:10.5220/0003466301310142.
  5. ^ "软件需求工程--KAOS建模_Jane-Young的博客-CSDN博客_kaos建模". blog.csdn.net. Retrieved 2023-01-13.