1/21
Towards a CMMI-compliant Goal-Oriented Software
Process through Model-Driven Development
Alexandre Vasconcelos – [email protected] (Universidade Federal de Pernambuco) Giovanni Giachetti – [email protected]
Beatriz Marín – [email protected] Oscar Pastor – [email protected] (Universitat Politècnica de València) The 4th IFIP WG8.1 Working Conference on
the Practice of Enterprise Modelling PoEM 2011
Universidade Federal de Pernambuco
•
Introduction and Motivation•
Background•
The Proposed Process Framework: GO-MDD•
Sample of Compliance Mapping•
Conclusions•
Future WorkAgenda
Introduction and Motivation
• Goal-Oriented Requirements Engineering (GORE) approaches focus on obtaining the goals of the intended systems through the analysis of organizational scenarios.
• A GORE approach must be properly integrated into a full software process (from requirements to the final code)
– An alternative for this integration is to automatically transform the requirements
models into an initial model to be used as input for a Model-Driven Development (MDD) approach.
• Many software development organizations seek improvement and/or assessment of their software processes on the basis of software
process maturity models (e.g., CMMI).
– An alternative to obtain a suitable support for the application of a GORE approach into these organizations is to align GORE-based development processes with such models.
3/21
Introduction and Motivation
• A research question:
– How can be designed a GORE-based MDD process to fulfill the requirements of a software process maturity model?
• Towards answering the research question, we propose GO-MDD (a Goal-Oriented MDD software process)
– Based on a GORE approach (i*) and on an industrially applied MDD approach (OO- Method).
– Compliant with the requirements development (RD) process area (PA) of CMMI-DEV.
Maturity Model (CMMI-DEV)
GORE (i*) MDD
(OO-Method)
Background
The i* Goal-Oriented Requirements Framework
• The i* framework is one of the most widespread and used GORE approaches
– However, there is a gap between the vast application of i* in academy in relation to its application in real (industrial) development scenarios.
• It allows the capture of intentional requirements by means of two models.
5/21 The Strategic Dependency
(SD) focuses on external relationships among organizational actors
The Strategic Rationale (SR) is a detailed view of the SD model showing the internal
actor relationships Goal
Task
Softgoal Resource
Actor
Background
OO-Method MDD Approach
• Object-oriented method for conceptual modeling and
automatic code generation supported by an industrial tool.
Background
CMMI-DEV
• It is a guide to implement process improvement, by means of two model’s representations
– Continuous: capability level for specific PAs, based on the satisfaction of requirements stated by goals and practices.
– Staged: maturity level for the whole process, based on the satisfaction of PAs for a specific level.
• This work is related to the continuous representation
– The compatibility between GO-MDD and the capability level 1 of the RD process area is described. This capability level is the basis for
improvement initiatives in a PA.
7/21
Background
Related Work
• Other works proposing a software process based on the automatic
integration of GORE with MDD and compliant with a maturity model were not found.
– Works were found proposing the pair-wise association of those software development approaches
Works proposing the integration between GORE and MDD
• Are not based on standards or well-defined processes, or
• Do not introduce automation possibilities.
The work found proposing the integration of GORE with CMMI
• Does not present an explicit mapping identifying all the evidences to attest its compliance with this model;
• The proposed approach is not integrated into a complete software process.
Works related to the compliance of MDD approaches with CMMI or its ancestor (CMM)
• Do not explain in detail
o how an approach complies with the maturity model,
o where the approach should be adjusted for compliance, and o whether/where the approach conflicts with the maturity
model requirements.
Background
The RD Process Area
• SG 1 Develop Customer Requirements
– SP 1.1 Elicit Needs
– SP 1.2 Transform Stakeholder Needs into Customer Requirements
• SG 2 Develop Product Requirements
– SP 2.1 Establish Product and Product Component Requirements – SP 2.2 Allocate Product Component Requirements
– SP 2.3 Identify Interface Requirements
• SG 3 Analyze and Validate Requirements
– SP 3.1 Establish Operational Concepts and Scenarios
– SP 3.2 Establish a Definition of Required Functionality and Quality Attributes – SP 3.3 Analyze Requirements
– SP 3.4 Analyze Requirements to Achieve Balance – SP 3.5 Validate Requirements
• GG 1 Achieve Specific Goals
– GP 1.1 Perform Specific Practices
9/21
The Proposed Process Framework:
GO-MDD
• It is a process framework that automatically integrates the i* framework into a concrete MDD processes (OO-Method) according to a CMMI perspective and through an iterative and incremental development cycle.
11/21
The Proposed Process Framework:
GO-MDD
Requirements from various
stakeholders are consolidated, prioritized and detailed to be implemented in the current iteration.
An SD model is produced and the
traceability from requirements to the SD model is created/updated.
The Proposed Process Framework:
GO-MDD
Requirement requests are monitored.
Initial requirements elicitation and analysis (of adequacy and impact) are done to decide whether the requests will be approved.
The Proposed Process Framework:
GO-MDD
13/21
An enriched SR model is produced
• refining the SD model; and
• introducing information to automatically perform the corresponding MDD model generation from the elements which are considered as requirements of the system to be.
The Proposed Process Framework:
GO-MDD
An analysis is performed
• to guarantee that the requirements defined in the SR model are necessary and sufficient to meet the organizational goals; and
• to balance stakeholder’s needs and constraints.
Requirements are validated with the stakeholders.
The resultant SR model is verified by means of a set of measures to guarantee the completeness of the MDD model generation in relation to the requirements indicated in the i* model.
The Proposed Process Framework:
GO-MDD
15/21
The enriched SR model is transformed into an initial MDD model (class model) by means of a set of model-to-model transformations.
The Proposed Process Framework:
GO-MDD
The initial MDD model generated is refined to introduce those design aspects that cannot be obtained from the transformation of the enriched i* SR model.
Sample of Compliance Mapping from the RD Process Area and GO-MDD
• The compliance mapping between the capability level 1 of RD and GO-MDD was described.
For each SG, its purpose was presented, and for each corresponding SP, a mapping to stages, activities, and artifacts of GO-MDD was produced.
17/21 Sample
Conclusions
• The alignment of goal-modeling with MDD and software process maturity models can motivate the application of GORE approaches in the industry
– A software process framework based on i* and OO-Method, and compliant with the RD process area of CMMI-DEV was proposed.
– A detailed compliance mapping was presented.
• Practitioners that follow or plan to follow a maturity model and at the same time want to combine GORE and MDD can adapt this proposal to their specific needs.
• The work can also be useful in academy as reference for further research on combining different instances of GORE, MDD, and software process maturity models.
Future Work
• Extending the proposed process framework to be compliant with other process areas and capability levels of CMMI.
• Evaluation the proposal in real development scenarios.
• Investigating the research question in the scope of other
software development approaches (i.e., different GORE, MDD and/or maturity models approaches).
• Performing a systematic literature review to verify in deep the existence of other related works.
19/21
Acknowledgments
Thank you for your attention!
Towards a CMMI-compliant Goal-Oriented Software
Process through Model-Driven Development
Alexandre Vasconcelos – [email protected] Giovanni Giachetti – [email protected]
Beatriz Marín – [email protected] Oscar Pastor – [email protected]