{'fraction_non_alphanumeric': 0.00974817221770918, 'fraction_numerical': 0.0, 'mean_word_length': 6.333333333333333, '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}}
A Business Process Driven Approach for Generating Software Architecture

Business processes describe business operations of an organization and capture business requirements. Business applications provide automated support for an organization to achieve business objectives. Software architecture represents the gross structure of a business application and shows the distribution of business requirements among software components. However, mainstream design approaches rely on software architects’ craftsmanship to derive software architectures from business requirements. Such a manual approach is inefficient and often leads to inconsistency between business requirements and business applications. To address this problem, we propose an approach to derive software architecture from business processes. We use clustering analysis to analyze dependencies among data and tasks captured in business processes and distribute functionalities to software components. A case study is conducted to generate software architecture from a collection of business processes specified in an industrial setting. The experiment results demonstrate that our proposed approach can generate meaningful software architecture with high modularity.