Towards a CMMI-compliant Goal-Oriented Software Process through Model-Driven Development

Size: px
Start display at page:

Download "Towards a CMMI-compliant Goal-Oriented Software Process through Model-Driven Development"

Transcription

1 The 4th IFIP WG8.1 Working Conference on the Practice of Enterprise Modelling PoEM 2011 Universidade Federal de Pernambuco Towards a CMMI-compliant Goal-Oriented Software Process through Model-Driven Development Alexandre Vasconcelos amlv@cin.ufpe.br (Universidade Federal de Pernambuco) Giovanni Giachetti ggiachetti@pros.upv.es Beatriz Marín bmarin@pros.upv.es Oscar Pastor opastor@pros.upv.es (Universitat Politècnica de València) 1/21

2 Agenda Introduction and Motivation Background The Proposed Process Framework: GO-MDD Sample of Compliance Mapping Conclusions Future Work 2/21

3 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

4 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. GORE (i*) Maturity Model (CMMI-DEV) MDD (OO-Method) GO-MDD 4/21

5 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. Goal Task Actor Softgoal Resource The Strategic Dependency (SD) focuses on external relationships among organizational actors 5/21 The Strategic Rationale (SR) is a detailed view of the SD model showing the internal actor relationships

6 Background OO-Method MDD Approach Object-oriented method for conceptual modeling and automatic code generation supported by an industrial tool. 6/21

7 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

8 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 The work found proposing the integration of GORE with CMMI Works related to the compliance of MDD approaches with CMMI or its ancestor (CMM) Are not based on standards or well-defined processes, or Do not introduce automation possibilities. 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. 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. 8/21

9 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

10 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. 10/21

11 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. 11/21

12 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. 12/21

13 The Proposed Process Framework: GO-MDD 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. 13/21

14 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. 14/21

15 The Proposed Process Framework: GO-MDD The enriched SR model is transformed into an initial MDD model (class model) by means of a set of model-to-model transformations. 15/21

16 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. 16/21

17 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. Sample 17/21

18 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. 18/21

19 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

20 Towards a CMMI-compliant Goal-Oriented Software Process through Model-Driven Development Thank you for your attention! Alexandre Vasconcelos amlv@cin.ufpe.br Giovanni Giachetti ggiachetti@pros.upv.es Beatriz Marín bmarin@pros.upv.es Oscar Pastor opastor@pros.upv.es Acknowledgments This work has been developed with the support of the Brazilian Research Agency CAPES and the Spanish Government 20/21