A Business Process Driven Approach for Automatic Generation of Business Applications

Thumbnail Image
Zhao, Xulin
Business Process , Software Architecture Generation , User Interface Generation , Modifiability , Usability , Model Transformation
Business processes describe a set of tasks for accomplishing business objectives of an organization. Business applications automate business processes to improve the productivity of business users. Nowadays, the business environment changes fast due to rapid market growth and technological innovations. Business processes are continuously updated to reflect new business initiatives. Business applications are frequently evolved to add features to meet new requirements and fix defects. Quite often, business processes and business applications evolve independently without direct reference to each other. Over time, it becomes more and more challenging to maintain the consistency between a business application and the corresponding business processes. Moreover, the existing development approaches rely on software developers’ craftsmanship to design and implement business applications. Such a development paradigm is inefficient and leads to inconsistency between business processes and business applications. To facilitate the alignment between business applications and business processes, we present an approach that automatically generates software architecture and code skeletons of business applications from business processes. We identify architectural components from business processes by analyzing dependencies among tasks. To verify the achievement of quality requirements, we extend a set of existing product metrics to automatically evaluate the quality of the generated software architecture designs. Eventually, we apply refactoring strategies, such as software architectural styles or design patterns, to optimize the generated software architecture designs and resolve identified quality problems. Moreover, we also present an approach to automatically refine software architecture to design models and code skeletons of business applications. The effectiveness of our proposed approach is illustrated through case studies.
External DOI