From Business Process Modeling to Data Model: A systematic approach Estrela Ferreira Cruz Escola Superior de Tecnologia e Gest˜ ao Instituto Polit´ ecnico de Viana do Castelo Viana do Castelo, Portugal e-mail:estrela.cruz@estg.ipvc.pt Ricardo J. Machado and Maribel Y. Santos Centro de Investigac ¸˜ ao Algoritmi Escola de Engenharia da Universidade do Minho Guimar˜ aes, Portugal e-mail:{rmac,maribel}@dsi.uminho.pt Abstract—Business process modeling and management ap- proaches are increasingly used and disclosed between organi- zations as a means of optimizing and streamlining the business activities. Among the various existing modeling languages, we stress the Business Process Model and Notation (BPMN), cur- rently in version 2.0. BPMN is a widespread OMG standard that is actually used either in academia and in organizations. BPMN enables business process modeling, but does not facilitate the modeling of the information infrastructure involved in the process. However, interest in the data and its preservation has increased in BPMN’s most recent version. The aim of this paper is to study BPMN 2.0, particularly on the usage and persistence of data, and present an approach for obtaining an early data model from the business process modeling, which may then be used as a starting data model in the software development process. I. I NTRODUCTION The globalization of the markets and the constant increase of competition between companies’ demand constant changes in organizations in order to adapt themselves to new cir- cumstances and to implement new strategies. Organizations need to have a clear notion of their internal processes in order to increase their efficiency and the quality of their products or services. This will enable to increase the benefits for their stakeholders. For this reason, many organizations adopt a business process management (BPM) approach. BPM includes methods, techniques, and tools to support the design, enactment, management, and analysis of such operational busi- ness processes [1].A business process is a set of interrelated activities that are executed by one, or several, organizations working together to achieve a common business purpose [2]. There are several languages and tools that can be used to model business processes such as Petri nets, EPC (Event- driven Process Chains), IDEF (Integrated Definition Methods), BPMN (Business Process Model and Notation), among others [3]. In this paper BPMN is used because it is one of the best known standards and it is actually used in organizations. According to Andreas Meyer [4], BPMN is a modeling lan- guage really well accepted in companies and that receives the influence of these, as is the case of SAP, Unisys and Oracle. If from one side the business process management and modeling are increasing their relevance, on the other side the software development teams still have serious difficul- ties in performing elicitation and defining the applications requirements [5]. In fact, one of the main software quality objectives is to assure that a software product meets the business needs [5]. For that, the software product requirements need to be aligned with the business needs, both in terms of business processes as in terms of the informational entities those processes deal with. This drives us to the question: “How can we use Business Process Models to design software applications?”. Researchers and professionals in information systems have recognized that understanding the business process is the key to identify the user needs of the software that supports it [6]. However, the tasks of business process analysis and software development are managed by different groups of people and commonly use different languages. BPMN is a business process modeling language developed by OMG with the aim of providing a language easy to understand and usable by people with different roles and training from top managers to information technology (IT) professionals [7], [8]. When dealing with the activities of the business process it is inevitable to mention the data involved, or the information that flows throughout the process. So, to enable process control and business supporting software development, it is needed to store that information. However, as referred by OMG, data modeling is not a BPMN 2.0 goal [8]. Nevertheless, data is a key component whose relevance has increased, not only as a support to the business itself, but also for Business Intelligence (BI) operations [4]. Therefore, the data model is a fundamental model for designing software applications. This paper addresses data persistence in BPMN 2.0 and presents an approach for obtaining a data model from the business process model, which may then be used in the software development process and this way assure that the data model fits the business process needs. The remainder of this paper is structured as follows. In the next section, some related work is presented. In section III a brief description of BPMN 2.0 language is made, giving special attention to how data and its persistence is represented. In section IV our approach for obtaining the data model from BPMN is described. Finaly, conclusions and some references to future work are presented. 2012 Eighth International Conference on the Quality of Information and Communications Technology 978-0-7695-4777-0/12 $26.00 © 2012 IEEE DOI 10.1109/QUATIC.2012.31 205