e-Informatica Software Engineering Journal Measuring Goal-Oriented Requirements Language Actor Stability

Measuring Goal-Oriented Requirements Language Actor Stability

2019
[1]Jameleddine Hassine and Mohammad Alshayeb, "Measuring Goal-Oriented Requirements Language Actor Stability", In e-Informatica Software Engineering Journal, vol. 13, no. 1, pp. 203–226, 2019. DOI: 10.5277/e-Inf190106.

Download article (PDF)Get article BibTeX file

Authors

Jameleddine Hassine, Mohammad Alshayeb

Abstract

Background: Goal models describe interests, preferences, intentions, desired goals and strategies of intervening stakeholders during the early requirements engineering stage. When capturing the requirements of real-world systems such as socio-technical systems, the produced goal models evolve quickly to become large and complex. Hence, gaining a sufficient level of understanding of such goal models, to perform maintenance tasks, becomes more challenging. Metric-based approaches have shown good potential in improving software designs and making them more understandable and easier to maintain.

Aim: In this paper, we propose a novel metric to measure GRL (Goal-oriented Requirements Language) “actor stability” that provides a quantitative indicator of the actor maintainability.

Method: We first, validate the proposed metric theoretically then empirically using a case study of a GRL model describing the fostering of the relationship between the university and its alumni.

Results: The proposed actor stability metric is found to have significant negative correlation with the maintenance effort of GRL models.

Conclusions: Our results show that the proposed metric is a good indicator of GRL actors’ stability.

Keywords

goal models, goal-oriented Requirements Language (GRL), stability, metrics, maintenance

References

[1]    J.C. Chen and S.J. Huang, “An empirical analysis of the impact of software development problem factors on software maintainability,” Journal of Systems and Software, Vol. 82, No. 6, 2009, pp. 981–992.

[2]    D. Galorath, “Software total ownership costs: development is only job one,” Software Tech News, Vol. 11, No. 3, 2008.

[3]    J. Li, H. Zhang, L. Zhu, R. Jeffery, Q. Wang, and M. Li, “Preliminary results of a systematic review on requirements evolution,” IET Conference Proceedings, 2012, pp. 12–21.

[4]    ISO/IEC, “25010:2011: Systems and software engineering – systems and software quality requirements and evaluation,” 2011.

[5]    E.S. Yu, “Towards modelling and reasoning support for early-phase requirements engineering,” in International Symposium on Requirements Engineering. IEEE, 1997, pp. 226–235.

[6]    L. Chung and J. Leite, On Non-Functional Requirements in Software Engineering. Springer-Verlag, 2009, pp. 363–379.

[7]    A. van Lamsweerde, “Requirements engineering: from craft to discipline,” in Proceedings of the 16th ACM SIGSOFT International Symposium on Foundations of software engineering. ACM, 2008, pp. 238–249.

[8]    P. Giorgini, J. Mylopoulos, and R. Sebastiani, “Goal-oriented requirements analysis and reasoning in the tropos methodology,” Engineering Applications of Artificial Intelligence, Vol. 18, No. 2, 2005, pp. 159–171.

[9]    ITU-T, “Recommendation Z.151 (10/18), User Requirements Notation (URN) language definition, Geneva, Switzerland,” Geneva, Switzerland, 2018. [Online]. http://www.itu.int/rec/T-REC-Z.151/en

[10]    S. Overbeek, U. Frank, and C. Köhling, “A language for multi-perspective goal modelling: Challenges, requirements and solutions,” Computer Standards & Interfaces, Vol. 38, 2015, pp. 1–16. [Online]. http://www.sciencedirect.com/science/article/pii/S0920548914000798

[11]    A. Dias, V. Amaral, and J. Araujo, “Towards a domain specific language for a goal-oriented approach based on KAOS,” in Third International Conference on Research Challenges in Information Science. IEEE, 2009, pp. 409–420.

[12]    D. Quartel, W. Engelsman, H. Jonkers, and M. van Sinderen, “A goal-oriented requirements modelling language for enterprise architecture,” in International Enterprise Distributed Object Computing Conference. IEEE, 2009, pp. 3–13.

[13]    X. Franch and N. Maiden, “Modelling component dependencies to inform their selection,” COTS-Based Software Systems, Vol. 2580 of LNCS, 2003, pp. 81–91.

[14]    X. Franch, G. Grau, and C. Quer, “A framework for the definition of metrics for actor-dependency models,” in 12th International Requirements Engineering Conference. IEEE, 2004, pp. 348–349.

[15]    X. Franch, “On the quantitative analysis of agent-oriented models,” Advanced Information Systems Engineering, Vol. 4001 of LNCS, 2006, pp. 495–509.

[16]    G. Grau, X. Franch, and N. Maiden, “Prim: An i*-based process reengineering method for information systems specification,” Information and Software Technology, Vol. 50, No. 1-2, 2008, pp. 76–100.

[17]    H. Kaiya, H. Horai, and M. Saeki, “Agora: attributed goal-oriented requirements analysis method,” Joint International Conference on Requirements Engineering, 2002, pp. 13–22.

[18]    G. Grau and X. Franch, “A goal-oriented approach for the generation and evaluation of alternative architectures,” in European Conference on Software Architecture. Springer, 2007, pp. 139–155.

[19]    A. van Lamsweerde, “Goal-oriented requirements engineering: A guided tour,” in Proceedings fifth International Symposium on Requirements Engineering. IEEE, 2001, pp. 249–262.

[20]    A.I. Antón, W.M. McCracken, and C. Potts, “Goal decomposition and scenario analysis in business process reengineering,” in International Conference on Advanced Information Systems Engineering. Springer, 1994, pp. 94–104.

[21]    C.M. Nguyen, R. Sebastiani, P. Giorgini, and J. Mylopoulos, “Multi-objective reasoning with constrained goal models,” Requirements Engineering, 2016, pp. 1–37.

[22]    J. Horkoff, F.B. Aydemir, E. Cardoso, T. Li, A. Maté, E. Paja, M. Salnitri, J. Mylopoulos, and P. Giorgini, “Goal-oriented requirements engineering: A systematic literature map,” in 24th International Requirements Engineering Conference (RE). IEEE, 2016, pp. 106–115.

[23]    T. Ambreen, N. Ikram, M. Usman, and M. Niazi, “Empirical research in requirements engineering: trends and opportunities,” Requirements Engineering, 2016, pp. 1–33.

[24]    L. López, F.B. Aydemir, F. Dalpiaz, and J. Horkoff, “An empirical evaluation roadmap for iStar 2.0,” in Proceedings of the Ninth International i* Workshop (istar’16), Vol. 1674, 2016, pp. 55–60.

[25]    M.A. Teruel, E. Navarro, V. López-Jaquero, F. Montero, and P. González, “Comparing goal-oriented approaches to model requirements for CSCW,” in International Conference on Evaluation of Novel Approaches to Software Engineering. Springer, 2011, pp. 169–184.

[26]    J.P. Carvallo and X. Franch, “On the use of i* for architecting hybrid systems: A method and an evaluation report,” in IFIP Working Conference on The Practice of Enterprise Modeling. Springer, 2009, pp. 38–53.

[27]    G. Elahi, E. Yu, and M.C. Annosi, “Modeling knowledge transfer in a software maintenance organization – an experience report and critical analysis,” in IFIP Working Conference on The Practice of Enterprise Modeling. Springer, 2008, pp. 15–29.

[28]    K. Hoesch-Klohe, A Framework to support the Maintenance of Formal Goal Models, PhD. Dissertation, University of Wollongong, 2013. [Online]. http://ro.uow.edu.au/theses/4214

[29]    N.A. Ernst, J. Mylopoulos, and Y. Wang, Requirements Evolution and What (Research) to Do about It. Berlin, Heidelberg: Springer, 2009, pp. 186–214.

[30]    A.K. Ghose, “Formal tools for managing inconsistency and change in RE,” in Proceedings of the 10th International Workshop on Software Specification and Design. IEEE Computer Society, 2000, p. 171.

[31]    N.A. Ernst, A. Borgida, J. Mylopoulos, and I.J. Jureta, Agile Requirements Evolution via Paraconsistent Reasoning. Berlin, Heidelberg: Springer, 2012, pp. 382–397.

[32]    A.M. Grubb and M. Chechik, “Looking into the crystal ball: requirements evolution over time,” in 24th International Requirements Engineering Conference (RE). IEEE, 2016, pp. 86–95.

[33]    Aprajita and G. Mussbacher, “TimedGRL: Specifying goal models over time,” in 24th International Requirements Engineering Conference Workshops (REW), 2016, pp. 125–134.

[34]    M.O. Elish and D. Rine, “Investigation of metrics for object-oriented design logical stability,” in Seventh European Conference onSoftware Maintenance and Reengineering. IEEE, 2003, pp. 193–200.

[35]    N.L. Soong, “A program stability measure,” in Proceedings of the 1977 Annual Conference. ACM, 1977, pp. 163–173.

[36]    M. Fayad, “Accomplishing software stability,” Communications of the ACM, Vol. 45, No. 1, 2002, pp. 111–115.

[37]    S.S. Yau and J.S. Collofello, “Some stability measures for software maintenance,” IEEE Transactions on Software Engineering, Vol. SE-6, No. 6, 1980, pp. 545–552.

[38]    W. Li, L. Etzkorn, C. Davis, and J. Talburt, “An empirical study of object-oriented system evolution,” Information and Software Technology, Vol. 42, No. 6, 2000, pp. 373–381.

[39]    M. Alshayeb and W. Li, “An empirical study of system design instability metric and design evolution in an agile software process,” Journal of Systems and Software, Vol. 74, No. 3, 2005, pp. 269–274.

[40]    A. AbuHassan and M. Alshayeb, “A metrics suite for UML model stability,” Software  Systems Modeling, Vol. 18, No. 1, 2019, pp. 557–583.

[41]    Y. Hassan, Measuring software architectural stability using retrospective analysis, Ph.D. dissertation, King Fahd University of Petroleum & Minerals, 2007.

[42]    J. Bansiya, “Evaluating framework architecture structural stability,” ACM Computing Surveys, Vol. 32, No. 1, 2000.

[43]    M. Mattsson and J. Bosch, “Characterizing stability in evolving frameworks,” in Technology of Object-Oriented Languages and Systems, 1999, pp. 118–130.

[44]    S.A. Tonu, A. Ashkan, and L. Tahvildari, “Evaluating architectural stability using a metric-based approach,” in Conference on Software Maintenance and Reengineering (CSMR’06). IEEE, 2006, pp. 261–270.

[45]    D. Grosser, H.A. Sahraoui, and P. Valtchev, “An analogy-based approach for predicting design stability of Java classes,” in 5th International Workshop on Enterprise Networking and Computing in Healthcare Industry. IEEE, 2004, pp. 252–262.

[46]    D. Rapu, S. Ducasse, T. Gîrba, and R. Marinescu, “Using history information to improve design flaws detection,” in Eighth European Conference on Software Maintenance and Reengineering. IEEE, 2004, pp. 223–232.

[47]    M. Alshayeb, M. Naji, M. Elish, and J. Al-Ghamdi, “Towards measuring object-oriented class stability,” Software, IET, Vol. 5, No. 4, 2011, pp. 415–424.

[48]    R.C. Martin, “Large scale stability,” C++ Report, Vol. 9, No. 2, 1997, pp. 54–60.

[49]    D. Grosser, H.A. Sahraoui, and P. Valtchev, “Predicting software stability using case-based reasoning,” in Proceedings 17th International Conference on Automated Software Engineering,. IEEE, 2002, pp. 295–298.

[50]    V. Basili, G. Caldiera, and H.D. Rombach, “The goal question metric approach,” Encyclopedia of Software Engineering, 1994.

[51]    X. Franch, A method for the definition of metrics over i* models. Berlin Heidelberg: Springer, 2009, Vol. 5565, pp. 201–215.

[52]    P. Espada, M. Goulão, and J. Araújo, “A framework to evaluate complexity and completeness of KAOS goal models,” in International Conference on Advanced Information Systems Engineering. Springer, 2013, pp. 562–577.

[53]    C. Gralha, J. Araújo, and M. Goulão, “Metrics for measuring complexity and completeness for social goal models,” Information Systems, Vol. 53, 2015, pp. 346–362.

[54]    J. Hassine and M. Alshayeb, “Measurement of actor external dependencies in GRL models,” in Proceedings of the Seventh International i* Workshop co-located with the 26th International Conference on Advanced Information Systems Engineering, 2014. [Online]. http://ceur-ws.org/Vol-1157/paper22.pdf

[55]    jUCMNav – Eclipse plugin for Use Case Maps, University of Ottawa, Canada, 2016. [Online]. http://softwareengineering.ca/jucmnav Last Accessed Jan 2019.

[56]    W. Lam and V. Shankararaman, “Requirements change: A dissection of management issues,” in 25th EUROMICRO Conference. Informatics: Theory and Practice for the New Millennium, Vol. 2. IEEE, 1999, pp. 244–251.

[57]    S. Anderson and M. Felici, “Quantitative aspects of requirements evolution,” in Proceedings 26th Annual International Computer Software and Applications. IEEE, 2002, pp. 27–32.

[58]    G. Stark, A. Skillicorn, and R. Smeele, “A micro and macro based examination of the effects of requirements changes on aerospace software maintenance,” in Aerospace Conference, Vol. 4. IEEE, 1998, pp. 165–172.

[59]    M. Mattsson and J. Bosch, “Stability assessment of evolving industrial object-oriented frameworks,” Journal of Software Maintenance: Research and Practice, Vol. 12, No. 2, 2000, pp. 79–101.

[60]    L.C. Briand, J.W. Daly, and J. Wüst, “A unified framework for cohesion measurement in object-oriented systems,” Empirical Software Engineering, Vol. 3, No. 1, 1998, pp. 65–117.

[61]     L. Briand, S. Morasca, and V. Basili, “Property-based software engineering measurement,” IEEE Transactions on Software Engineering, Vol. 22, No. 1, 1996, pp. 68–86.

[62]    E.J. Weyuker, “Evaluating software complexity measures,” IEEE Transactions on Software Engineering, Vol. 14, No. 9, 1988, pp. 1357–1365.

[63]    G. Poels and G. Dedene, “Distance-based software measurement: necessary and sufficient properties for software measures,” Information & Software Technology, Vol. 42, No. 1, 2000, pp. 35–46.

[64]    B. Kitchenham, S.L. Pfleeger, and N. Fenton, “Towards a framework for software measurement validation,” IEEE Transactions on Software Engineering, Vol. 21, No. 12, 1995, pp. 929–944.

[65]    C. Wohlin, P. Runeson, M. Host, M. Ohlsson, B. Regnell, and A. Wesslen, Experimentation in Software Engineering: An Introduction. Kluwer Academic Publishers, 2000.

[66]    A.B. Binkley and S.R. Schach, “Validation of the coupling dependency metric as a predictor of run-time failures and maintenance measures,” in Proceedings of the 20th International Conference on Software ERngineering. IEEE, 1998, pp. 452–455.

[67]    D. Darcy, C. Kemerer, S. Slaughter, and J. Tomayko, “The structural complexity of software: An experimental test,” IEEE Transactions on Software Engineering, Vol. 31, No. 11, 2005, pp. 982–995.

[68]    W. Li and S. Henry, “Object-oriented metrics that predict maintainability,” Journal of Systems and Software, Vol. 23, 1993, pp. 111–122.

[69]    M. Alshayeb and W. Li, “An empirical validation of object-oriented metrics in two iterative processes,” IEEE Transactions on Software Engineering, Vol. 29, No. 11, 2003, pp. 1043–1049.

[70]    N. Fenton and J. Bieman, Software Metrics: A Rigorous and Practical Approach. London: CRC Press, 2014.

[71]    J. Hassine and D. Amyot, “A questionnaire-based survey methodology for systematically validating goal-oriented models,” Requirements Engineering, Vol. 21, No. 2, 2016, pp. 285–308.

[72]    J. Evans, Straightforward Statistics for the Behavioral Sciences. Brooks/Cole Publishing, 1996.

[73]     D. Falessi, N. Juristo, C. Wohlin, B. Turhan, J. Münch, A. Jedlitschka, and M. Oivo, “Empirical software engineering experts on the use of students and professionals in experiments,” Empirical Software Engineering, Vol. 23, No. 1, 2018, pp. 452–489.

©2015 e-Informatyka.pl, All rights reserved.

Built on WordPress Theme: Mediaphase Lite by ThemeFurnace.