{'fraction_non_alphanumeric': 0.014613778705636743, 'fraction_numerical': 0.0, 'mean_word_length': 5.85, '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}}
Balancing Design Alternatives using Adaptability and Performance Factors

Software is rarely designed for ultimate adaptability or performance but rather it is a compromise of multiple considerations. At almost every stage of the software development lifecycle, software engineers have to cope with various design alternatives. Current object-oriented design practices, however, rely mainly on the intrinsic quality factors of the object-oriented abstractions rather than considering quality factors as explicit design concerns. It is considered important to support software engineers in identifying, comparing and selecting the alternatives using quality factors such as adaptability and performance. This paper introduces a new technique to depict, compare and select among the design alternatives, based on their adaptability and time performance factors. This technique is formally specified and implemented by means of a number of tools. Research paper