{'fraction_non_alphanumeric': 0.01533494753833737, 'fraction_numerical': 0.0, 'mean_word_length': 5.492146596858639, 'pattern_counts': {'":': 0, '<': 0, '<?xml version=': 0, '>': 0, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
Towards software modularization from requirements

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.