{'fraction_non_alphanumeric': 0.017509727626459144, 'fraction_numerical': 0.0, 'mean_word_length': 5.681818181818182, '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': 2, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
Separation of Crosscutting Concerns from Requirements to Design: Adapting an Use Case Driven Approach

The main goal of Aspect-Oriented Software Development (AOSD) is the separation of crosscutting concerns throughout the software development process in order to improve the modularity of software system artifacts and hence its comprehensibility, maintainability and reusability. However, currently, there is not a solid process for AOSD that covers the software development from requirements to design activities. Since the aspect-oriented paradigm builds on the object-oriented paradigm, it is natural the attempt to adapt existing object-oriented software development methods, processes and techniques to be used in AOSD. In this context, this work adapts some use-case driven activities of the Unified Software Development Process in order to explicitly provide the reasoning and separation of crosscutting concerns from requirements artifacts to design artifacts. Our approach is illustrated by a case study of an Internet