ABSTRACT
One of the most important activities during software design is to organize the software in modules. Once the modularization is well made, it is possible to develop each module independently, the adaption is facilitated and the system can be more easily understood. Nevertheless, this activity has to be done during the early stages of software development, where the knowledge about the Universe of Discourse (UofD) is modeled through requirements artifacts. Therefore it is interesting to base the decisions about software modularization in these artifacts, since they are the only ones available. In this work we proposed an approach which derives software modularity based on requirements engineering representations (Language Extended Lexicon and Scenarios). The novelty of the strategy is to provide modularity as a consequence of a reification process, in which modularity is achieved both by situations of the real world and by designed integration of these situations. The representations used in this work are natural language based representations which have been showed to be effective in representing situations of the environment (context) in which the software will operate.
- Parnas, D. L. 1972. On the Criteria to Be Used in Decomposing Systems into Modules, Comm. ACM, vol. 15, no. 12, pp. 1053--1058, 1972. Google ScholarDigital Library
- Leite, J. C. S. P., Franco, A. P. M., 1993. A strategy for conceptual model acquisition. Requirements Engineering. Proceedings of IEEE International Symposium on. IEEE.Google Scholar
- C&L Tool. Available at http://pes.inf.puc-rio.br/cel/ (September 2013).Google Scholar
- Leite, J. C. S. P., Rossi, G., Balaguer F., Maiorana V., Kaplan, G., Hadad, G., Oliveros, A., 1997. Enhancing a requirements baseline with scenarios. Requirements Engineering, London, UK, v. 2, n. 4, p. 184--198.Google Scholar
- Al-Otaiby, T. N., AlSherif, M., Bond, W. P., 2005. Toward software requirements modularization using hierarchical clustering techniques. In Proceedings of the 43rd annual Southeast regional conference-Volume 2 (pp. 223--228). ACM. March. Google ScholarDigital Library
- Chen, K., Zhang, W., Zhao, H., & Mei, H., 2005. An approach to constructing feature models based on requirements clustering. In Requirements Engineering, 2005. Proceedings. 13th IEEE International Conference on (pp. 31--40). IEEE. Google ScholarDigital Library
- Leite, J. C. S. P., Doorn, J. H., Hadad, G. D. S., Kaplan, G. N. K., 2005. Scenario inspections. Requirements. Eng. 10(1): 1--21. Google ScholarDigital Library
- Almentero, E., Cirillo, E, Castro, A, Leite, J., Lucena, C., 2013. Uncovering Product Line Variability From Early Requirement Documents. In: 3rd International Workshop on Requirements Patterns, 2013, Rio de Janeiro. 21st Requirements Engineering Conference.Google ScholarCross Ref
- Antonelli, L., Rossi, G., & do Prado Leite, J. C. S., 2010. Early identification of crosscutting concerns in the domain model guided by states. In Proceedings of the 2010 ACM Symposium on Applied Computing (pp. 275--280). ACM. Google ScholarDigital Library
- Yu, Y., Leite, J. C. S. D. P., & Mylopoulos, J., 2004. From goals to aspects: discovering aspects from requirements goal models. In Requirements Engineering Conference, 2004. Proceedings. 12th IEEE International (pp. 38--47). IEEE. Google ScholarDigital Library
- Diallo, M. H., Naslavsky, L., Ziv, H., Alspaugh, T. A., & Richardson, D. J. (2007, July). Evaluating software architectures against requirements-level scenarios. In Workshop on the Role of Software Architecture for Testing and Analysis.Google Scholar
Index Terms
- Towards software modularization from requirements
Recommendations
Toward software requirements modularization using hierarchical clustering techniques
ACM-SE 43: Proceedings of the 43rd annual Southeast regional conference - Volume 2Software modularity is not a new concept in the software engineering field; it has been a design issue since the earliest days of software development. Because the software designer cannot be expected to conceptualize a complex software application as a ...
Software requirements modularization using partitioning clustering technique
ACM-SE 45: Proceedings of the 45th annual southeast regional conferenceThe design phase of the software lifecycle is a major factor to the success of a software system, where the software designer is not expected to conceptualize a large-scale and complex software application as a whole; therefore, it is typical to create ...
Search-based software re-modularization: a case study at Adyen
ICSE-SEIP '21: Proceedings of the 43rd International Conference on Software Engineering: Software Engineering in PracticeDeciding what constitutes a single module, what classes belong to which module or the right set of modules for a specific software system has always been a challenging task. The problem is even harder in large-scale software systems composed of ...
Comments