On the Rim Between Business Processes and Software Systems

On the Rim Between Business Processes and Software Systems

Maria Estrela Ferreira da Cruz, Ricardo J. Machado, Maribel Yasmina Santos
Copyright: © 2019 |Pages: 27
DOI: 10.4018/978-1-5225-7271-8.ch008
(Individual Chapters)
No Current Special Offers


The constant change and rising complexity of organizations, mainly due to the transforming nature of their business processes, has driven the increase of interest in business process management by organizations. It is recognized that knowing business processes can help to ensure that the software under development will meet the business needs. Some of software development processes (like unified process) already refer to business process modeling as a first effort in the software development process. A business process model usually is created under the supervision, clarification, approval, and validation of the business stakeholders. Thus, a business process model is a proper representation of the reality (as is or to be), having lots of useful information that can be used in the development of the software system that will support the business. The chapter uses the information existing in business process models to derive software models specially focused in generating a data model.
Chapter Preview


Organizations are constantly being challenged with new demands imposed by markets and must respond to new requirements imposed by governments. Organizations need to have a clear notion of their internal processes to increase their efficiency and the quality of their products or services, enhancing the benefits for their stakeholders (Schmiedel & vom Brocke, 2015; van der Aalst, 2015). Business Process Management allows organizations to know themselves and to be prepared to fight new challenges and easily adapt to new situations (Batoulis et al., 2015).

BPM is considered key for innovation helping companies and organizations in the simulation of possible scenarios (Schmiedel & vom Brocke, 2015). For this and other reasons, business process management and modeling is being increasingly used by organizations (Batoulis et al., 2015).

A business process (BP) is a set of activities, their logical ordering, data, and organizational responsibilities, executed to achieve a business goal. BP models allow organizations to improve, control, automatize, and measure their processes (Weske, 2012). There are several languages that can be used to model the BPs. The Business Process Model and Notation (BPMN) language is being used in this research because it is an increasingly used and disclosed standard among companies and is already considered the default language used in business process modeling (Weske, 2012), besides it is a complete language, easy to learn and to use (Kocbek et al., 2015).

One of the main software quality objectives is to assure that a software product meets the business needs (Jalote, 2008). For that, the software product requirements need to be aligned with the business needs, both in terms of business processes (BPs) and in terms of the informational entities those processes deal with. This drives us to the question: Why not use this information, which is already modeled in business process models, to get the software models to the supporting software system? That is the main objective of the work being presented here.

Usually an organization (or company) deals with many BPs, so a supporting software system, typically, supports many BPs. Consequently, to generate complete and useful software design models for the development of software that will support the business, it is necessary to work and aggregate all the information existent in the set of processes that comprise a business.

This work presents and discusses two approaches to derive a data model from a set of business process models: a direct approach, which generates a data model by piecing together information from a set of business process models; and an indirect approach, which generates a data model by adapting the 4SRS (Four Step Rule Set) (Machado et al., 2006) method to generate a logical software architecture from business process models and extending it to derive the data model from the logical software architecture. Thus, the indirect approach generates several software models considering different software perspectives, namely the data model, use case model (including use case descriptions) and software logical architecture. The research steps are presented in Figure 1, where the solid arrows represent new steps created during the present research work, and the dashed arrows represent existing steps that are adapted in this research work.

An approach to obtain the data model directly from a set of interrelated business process models (arrow 1 in Figure 1) has been previously published in (Cruz et al., 2015b) and is revisited in chapter “Deriving a Data Model Directly from a Set of Business Process Models”. An approach to obtain a complete use case model, aggregating a set of business process models (arrow 2 in Figure 1), has been published in (Cruz et al., 2014a, Cruz et al., 2015a). The approach is summarized in chapter “From Business Process Models to Use Case Models”. An approach to generate the data model based on the previously obtained complete use case model (arrows 3 in Figure 1) has been published in (Cruz et al., 2016) and is briefly described in chapter “Deriving A Data Model from Logical Software Architecture”. This approach, adapts and extends 4SRS. The 4SRS is an iterative method that incrementally verifies and validates the elicited requirements modeled as use cases, and creates a logical software architectural model (Machado et al., 2006).

Complete Chapter List

Search this Book: