I*
From Wikipedia, the free encyclopedia
- The correct title of this article is i*. The initial letter is shown capitalized due to technical restrictions.
i* (pronounced "i star") or i* framework is a modeling language suitable for an early phase of system modeling in order to understand the problem domain. i* modeling language allows to model both as-is and to-be situations. The name i* refers to the notion of distributed intentionality which underlines the framework. It is an approach originally developed for modelling and reasoning about organizational environments and their information systems composed of heterogeneous actors with different, often competing, goals that depend on each other to undertake their tasks and achieve these goals. It covers both actor-oriented and goal-oriented modeling. i* model answers the question WHO and WHY, not what.
Contents |
[edit] Elements
The model describe dependencies among actors. There are four elements to describe them: goal, soft goal, task and resource. The central concept in i* is in fact that of the intentional actor. Organizational actors are viewed as having intentional properties such as goals, beliefs, abilities, and commitments (concept of distributed intentionality). Actors depend on each other for goals to be achieved, tasks to be performed and resources to be furnished. By depending on others, an actor may be able to achieve goals that are difficult or impossible to achieve on its own; on the other hand, an actor becomes vulnerable if the depended-on actors do not deliver. Actors are strategic in the sense that they are concerned about opportunities and vulnerabilities, and seek rearrangement of their environments that would better serve their interests by restructuring intentional relationships.
[edit] Models
i* framework consists of two main modelling components:
[edit] Strategic Dependency model (SD)
A SD model describes a network of dependency relationships among various actors in an organisational context. The actor is usually identified within the context of the model. This model shows who an actor is and who depend on the work of an actor.
A SD model consist of a set of nodes and links connecting the actors. Nodes represent actors and each link represents a dependency between two actors. The depending actor is called Depender and the actor who is depended upon is called the Dependee.
[edit] Strategic Rationale model (SR)
A SR models allows modeling of the reasons associated with each actor and their dependencies, and provides information about how actors arrive their goals and soft goals. This model includes only elements considered as important enough to impact the results of a goal.
The SR model shows the dependences of the actors by including the SD model. Relating to these dependences the SR model specifies goals, soft goals, tasks and resources. Compared with SD model, SR models provide a more detailed level of modelling by looking inside actors to model internal, intentional relationships. Intentional elements (goals, soft goals, tasks, resources) appear in the SR model not only as external dependencies, but also as internal elements linked by means-ends relationships and task-decompositions. The means-end links provide understanding about why an actor would engage in some tasks, pursue a goal, need a resource, or want a soft goal; the task-decomposition links provide a hierarchical description of intentional elements that make up a routine. Such a model is used to describe stakeholder interests and concerns, and how they might be addressed by different configurations of systems and environments.
[edit] Reasons for using i*
i* provides the possibility to achieve information in an early phase of the software engineering process. In former days UML was used to make information visible, but as UML often focuses on organisational objects, which are not so important in the early phase, when the emphasis should be on helping stakeholders gain better understanding of the various possibilities for using information systems in their organizations.
i* models offer a number of levels of analysis, in terms of ability, workability, viability and believability.
[edit] Benefits of i* and Use Case Integration
i* provides an early understanding of the organizational relationships in a business domain. The Use Case development from organizational modeling using i* allows requirement engineers to establish a relationship between the functional requirements of the intended system and the organizational goals previously defined in the organization modeling.
[edit] Goal modelling
i* be used in requirements engineering, to understand the problem domain. SD and SR can then be used to develop use cases. This is an ideal language to express Actors, Tasks, Resources, Goals and Softgoals.
[edit] From i* to UML
i* is used for the early requirements and UML for late requirements. Thus you have to transform the i* model into an UML model. You can do this by using the following guidelines:
- actors: actors can be mapped to class aggregation,
- tasks: tasks can be mapped to class operations. For example: a task between a depender and a dependee actor in the SD model corresponds to a public operation in the dependee UML class,
- resources: resources can be mapped as classes,
- goals and soft goals: strategic goal and soft goals can be mapped to attributes,
- tasks decomposition: the task decomposition can be represented by pre- and post-conditions.
[edit] See also
[edit] References
Yu, Eric S.K.: Towards Modelling and Reasoning Support for Early-Phase Requirement Engineering
Santander, Victor F.A., Castro Jaelson F.B.: Deriving Use Cases from Organizational Modeling