META-MODELING CONSTRUCTS FOR REQUIREMENTS REUSE (RR): SOFTWARE REQUIREMENTS PATTERNS, VARIABILITY AND TRACEABILITY
DOI:
https://doi.org/10.24191/mjoc.v3i2.4181Keywords:
Meta-model, Requirements Reuse (RR), Software Requirements Patterns (SRP), Traceability, Variability Modeling (VM)Abstract
Reuse is a fundamental activity, which increases quality and productivity of software products. Reuse of software artifacts, such as requirements, architectures, and codes can be employed at any developmental stage of software. However, reuse at a higher level of abstraction, for instance at requirements level, provides greater benefits in software development than when applied at lower level of abstraction for example at coding level. To achieve full benefits of reuse, a systematic approach and appropriate strategy need to be followed. Although several reuse approaches are reported in the literature, these approaches lack a key strategy to synergize some essential drivers of reuse, which include reusable structure, variability management (VM) and traceability of software artifacts. In line with this, we make our contribution in this paper by (1) presenting the concepts and importance of software requirements patterns (SRP) for reusable structure; (2) proposing a strategy, which combines three sub-disciplines of Software Engineering (SE) such as Requirements Engineering (RE), Software Product Line Engineering (SPLE) and Model-driven Engineering (MDE); (3) proposing a meta-modeling constructs, which include SRP, VM and traceability and; (4) Relationship amongst the three sub-disciplines of the SE. This is a novel approach and we believe it can support and guide researchers and practitioners in SE community to have greater benefits of reuse during software developments.
References
Aizenbud-Reshef, N., Nolan, B. T., Rubin, J., & Shaham-Gafni, Y. (2006). Model traceability. IBM Systems Journal, 45(3), 515-526.
Anquetil, N., Grammel, B., Galvao Lourenco da Silva, I., Noppen, J., Shakil Khan, S., Arboleda, H., . . . Garcia, A. (2008). Traceability for model driven, software product line engineering.
Bachmann, F., Goedicke, M., Leite, J., Nord, R., Pohl, K., Ramesh, B., & Vilbig, A. (2003). A meta-model for representing variability in product family development. Paper presented at the International Workshop on Software Product-Family Engineering.
Bakar, N. H., & Kasirun, Z. M. (2014). Exploring Software Practitioners’ Perceptions and Experience in Requirements Reuse A Survey in Malaysia. International Journal of Software Engineering and Technology, 1(2).
Basha, N., & Moiz, S. A. (2012). Component based software development: A state of art. Paper presented at the Advances in Engineering, Science and Management (ICAESM), 2012 International Conference on.
Benitti, F. B. V., & Silva, R. C. d. (2013). Evaluation of a Systematic Approach to Requirements Reuse. Journal of Universal Computer Science, 19(2).
Berger, T., Rublack, R., Nair, D., Atlee, J. M., Becker, M., Czarnecki, K., & Wąsowski, A. (2013). A survey of variability modeling in industrial practice. Paper presented at the Proceedings of the Seventh International Workshop on Variability Modelling of Software-intensive Systems.
Cavalcanti, Y. C., do Carmo Machado, I., da Mota, P. A., Neto, S., Lobato, L. L., de Almeida, E. S., & de Lemos Meira, S. R. (2011). Towards metamodel support for variability and traceability in software product lines. Paper presented at the Proceedings of the 5th Workshop on Variability Modeling of Software-Intensive Systems.
Cerón, R., Dueñas, J. C., Serrano, E., & Capilla, R. (2005). A meta-model for requirements engineering in system family context for software process improvement using CMMI. Paper presented at the International Conference on Product Focused Software Process Improvement.
Champeau, J., & Rochefort, E. (2003). Model engineering and traceability. Paper presented at the Workshop SIVOES-MDA, UML'03.
Chernak, Y. (2012). Requirements Reuse: The State of the Practice. Paper presented at the 2012 IEEE International Conference on Software Science, Technology and Engineering.
Chung, L., Paech, B., Zhao, L., Liu, L., & Supakkul, S. (2012). Repa requirements pattern template.
Paper presented at the International Workshop on Requirements Patterns (RePa ‘12).
Czarnecki, K., Grünbacher, P., Rabiser, R., Schmid, K., & Wąsowski, A. (2012). Cool features and tough decisions: a comparison of variability modeling approaches. Paper presented at the Proceedings of the sixth international workshop on variability modeling of software-intensive systems.
Easterbrook, S., Singer, J., Storey, M.-A., & Damian, D. (2008). Selecting empirical methods for software engineering research Guide to advanced empirical software engineering (pp. 285-311): Springer.
Franch, X., Palomares, C., Quer, C., Renault, S., & De Lazzer, F. (2010). A metamodel for software requirement patterns. Requirements Engineering: Foundation for Software Quality (pp. 85-90): Springer.
Gabriel, R. P. (1996). Patterns of software Tales from the Software Community. 198 Madison Avenue, New York, New York, 10016-4314: Published by Oxford University Press, Inc.,.
Goknil, A., Kurtev, I., & Millo, J.-V. (2013). A metamodeling approach for reasoning on multiple requirements models. Paper presented at the Enterprise Distributed Object Computing Conference (EDOC), 2013 17th IEEE International.
Goknil, A., Kurtev, I., & van den Berg, K. (2008). A metamodeling approach for reasoning about requirements. Paper presented at the European Conference on Model Driven Architecture-Foundations and Applications.
Goldin, L., & Berry, D. M. (2013). Reuse of requirements reduced time to market at one industrial shop: a case study. Springer-Verlag.
Goldin, L., Matalon-Beck, M., & Lapid-Maoz, J. (2010). Reuse of Requirements Reduces Time to Market. Paper presented at the 2010 IEEE International Conference on Software Science, Technology & Engineering.
Gomaa, H., & Shin, M. E. (2002). Multiple-view meta-modeling of software product lines. Paper presented at the Engineering of Complex Computer Systems, 2002. Proceedings. Eighth IEEE International Conference on.
Hauksdóttir, D., Mortensen, N. H., & Nielsen, P. E. (2013). Identification of a reusable requirements structure for embedded products in a dynamic market environment. Computers in Industry, 64(4), 351-362. doi:10.1016/j.compind.2012.10.008
Hoffmann, M., Kühn, N., Weber, M., & Bittner, M. (2004). Requirements for requirements management tools. Paper presented at the 12th IEEE International Requirements Engineering Conference, 2004. .
Konrad, S., & Cheng, B. H. (2002). Requirements patterns for embedded systems. Paper presented at the Proceedings of IEEE Joint International Conference on Requirements Engineering, 2002. .
Liang, P., Avgeriou, P., & Wang, C. (2011). Managing Requirements Knowledge using Architectural Knowledge Management Approaches.
Liew, S. C., Liew, S.W., Zain, J.M. (2010). Reversible medical image watermarking for tamper detection and recovery with Run Length Encoding compression. World Academy of Science, Engineering and Technology, 72, 799-803.
López, O., Laguna, M. A., & Peñalvo, F. J. G. (2002a). Metamodeling for Requirements Reuse.
Paper presented at the WER.
López, O., Laguna, M. A., & Peñalvo, F. J. G. (2002b). Metamodeling for Requirements Reuse. Paper presented at the Proceedings of 5th. International Workshop on Requirements Engineering (WER'02) November, 11-12, 2002., Valencia, Spain.
Mahendra, P., & Ghazarian, A. (2014). Patterns in the Requirements Engineering: A Survey and Analysis Study. WSEAS Transaction on Information Science and Application, 11.
Monzon, A. (2008). A practical approach to requirements reuse in product families of on-board systems. Paper presented at the 16th IEEE International Requirements Engineering, RE'08.
Moon, M., Chae, H. S., Nam, T., & Yeom, K. (2007). A metamodeling approach to tracing variability between requirements and architecture in software product lines. Paper presented at the Computer and Information Technology, 2007. CIT 2007. 7th IEEE International Conference on.
Moros, B., Toval, A., & Vicente Chicote, C. (2008). Metamodeling variability to enable requirements reuse. Paper presented at the Exploring Modellling Language for System Analysis and Design, EMMSAD 2008.
Naish, J., & Zhao, L. (2011). Towards a Generalised Framework for Classifying and Retrieving Requirements Patterns. Paper presented at the IEEE First International Workshop onRequirements Patterns (RePa), 2011., Trento.
Navarro, E., Letelier, P., Mocholi, J. A., & Ramos, I. (2006). A metamodeling approach for requirements specification. Journal of Computer Information Systems, 46(5), 67-77.
Nerurkar, N. W., Kumar, A., & Shrivastava, P. (2010). Assessment of reusability in aspect-oriented systems using fuzzy logic. ACM SIGSOFT Software Engineering Notes, 35(5), 1. doi:10.1145/1838687.1838706
Paige, R. F., Olsen, G. K., Kolovos, D. S., Zschaler, S., & Power, C. (2008). Building model-driven engineering traceability classifications.
Palomares Bonache, C., Quer Bosor, M. C., Franch Gutiérrez, J., Guerlain, C., & Renault, S. (2012). A catalogue of non-technical requirement patterns.
Palomares, C., Quer, C., Franch, X., Renault, S., & Guerlain, C. (2013). A catalogue of functional software requirement patterns for the domain of content management systems. Paper presented at the Proceedings of the 28th annual acm symposium on applied computing.
Royer, J.-C., & Arboleda, H. (2013). Model-Driven and Software Product Line Engineering: John Wiley & Sons.
Sandhu, P. S., Aashima, Kakkar, P., & Sharma, S. (2010). A Survey on Software Reusability. Paper presented at the IEEE International Conference on Mechanical and Electrical Technology (ICMET 2010).
Seman, A., Abu Bakar, Z., Mohd. Sapawi, A. (2010). Centre-Based Hard Clustering Algorithms For Y-Str Data, Malaysian Journal of Computing, 1, 62-73.
Sinnema, M., & Deelstra, S. (2007). Classifying variability modeling techniques. Information and Software Technology, 49(7), 717-739.
Sinnema, M., Deelstra, S., Nijhuis, J., & Bosch, J. (2004). Covamof: A framework for modeling variability in software product families Software product lines (pp. 197-213): Springer.
Sjoberg, D. I., Dyba, T., & Jorgensen, M. (2007). The future of empirical methods in software engineering research. Paper presented at the 2007 Future of Software Engineering.
Slavin, R., Shen, H., & Niu, J. (2012). Characterizations and boundaries of security requirements patterns. Paper presented at the Requirements Patterns (RePa), 2012 IEEE Second International Workshop on.
Srivastava, S. (2013). A Repository of Software Requirement Patterns for Online Examination System. International Journal of Computer Science Issues (IJCSI ‘13), 3.
Van Gigch, J. P. (2013). System design modeling and metamodeling. US: Springer Science & Business Media.
Velasco, J. L., Valencia-García, R., Fernández-Breis, J. T., & Toval, A. (2009). Modelling reusable security requirements based on an ontology framework. Journal of Research and Practice in Information Technology, 41(2), 119.
von der Maßen, T., & Lichter, H. (2002). Modeling variability by UML use case diagrams. Paper presented at the Proceedings of the International Workshop on Requirements Engineering for product lines.
Wiegers, K. (2005). More about software requirements: thorny issues and practical advice.
Redmond, Washington: Microsoft Press.
Wiegers, K., & Beatty, J. (2013). Software Requirements (3rd ed.). Redmond, Washington: Microsoft Press.
Winkler, S., & Pilgrim, J. (2010). A survey of traceability in requirements engineering and model-driven development. Software and Systems Modeling (SoSyM), 9(4), 529-565.
Withall, S. (2007). Software requirement patterns: Pearson Education.
Ya'u, B. I., Nordin, A., & Salleh, N. (2016a). Investigation of Requirements Reuse (RR) Challenges and Existing RR Approaches. Paper presented at the Advanced Research in Engineering and Information Technology International Conference, Bandong, Indonesia.
Ya'u, B. I., Nordin, A., & Salleh, N. (2016b). Software requirements patterns and meta model: A Strategy for enhancing Requirements Reuse (RR). Paper presented at the Information and Communication Technology for The Muslim World (ICT4M), 2016 6th International Conference on.
Ya’u, B. I. (2015). Component-Based: The Right Candidate for Restructuring the Nature of Software Development in Organizations. International Journal of Engineering and Computer Science, 4(8), 8.
Zhang, Z., Nummenmaa, J., Guo, J., Mai, J., & Wang, Y. (2011). Patterns for Activities on Formalization Based Requirements Reuse. Knowledge Engineering and Management, AISC Springer-Verlag, 123, 695-707.
Zong-yong, L., Zhi-xue, W., Ying-ying, Y., Yue, W., & Ying, L. (2007). Towards a multiple ontology framework for requirements elicitation and reuse. Paper presented at the IEEE 31st Annual International Conference on Computer Software and Applications , COMPSAC 2007. .
Published
Issue
Section
License
Copyright (c) 2018 Badamasi Imam Ya’u, Azlin Nordin, Norsaremah Salleh

This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.




