CAPTURING SOFTWARE REQUIREMENTS FOR BUSINESS PROCESS MODEL ANALYSIS AND IMPROVEMENT

This paper considers the problem of software requirements capturing for business process model evaluation and recommendations generation to suggest how detected modeling errors may be eliminated in order to improve business process model correctness. Existing software tools for business process model analysis are based on metrics and thresholds that allow assume presence of errors in business process models, but they are not capable to recommend structural changes required to eliminate detected modeling errors. Therefore, business process model analysis and improvement tasks become relevant, since early detection and elimination of possible errors presented in business process models may allow organizations avoid extra costs that may occur on any of the steps of business process lifecycle. Since business process models are shared organizational assets, it is also necessary to consider the capabilities of collaborative and concurrent usage of business process models by multiple stakeholders. Hence, the workflow of business process model analysis and improvement was analyzed and its key steps, which describe expected user and software behavior, were formalized using the IDEF0 functional model. Functional software requirements were captured in the form of user stories according to modern agile practices of software development. These user stories are based on features and drawbacks of existing software tools for business process model analysis. Captured user stories were formalized using the use case modeling. Non-functional software requirements were also captured; they include maintainability, readability, testability, understandability, integrability, and complexity requirements. Captured requirements can be used to design and develop business process model analysis and improvement software capable to provide recommendations to eliminate detected modeling errors. software tool.

Вісник Національного технічного університету «ХПІ». Серія: Системний 24 аналіз, управління та інформаційні технології, № 2 (4)'2020 Introduction. In the recent decades business process management (BPM) has became one of the most popular and commonly used disciplines, which combines together knowledge and experience from both management and IT (Information Technology) domains. Methods and tools of business process design, analysis, and automation are the baseline of BPM. A business process can be considered as the structured set of activities (or tasks) that takes different resources (materials, information, documents etc.) as input and produces products or services valuable for customers as output [1].
Since BPM combines expertise of managerial and IT disciplines, it has attracted a lot of attention because of its process management capabilities. These capabilities allow organizations to improve performance, reduce costs, and to shorten execution time of business processes. Business process modeling is the key technique of BPM. It is used to [2]:  Document organizational activity (e.g. to provide process regulations for employees).  Analyze organizational activity (e.g. to search for errors and measure performance).  Improve described processes (e.g. by eliminating detected errors). Hence, tasks of business process model analysis and improvement become relevant, since early detection and elimination of errors presented in business process models may allow organizations avoid extra costs that may occur on all the phases of business process lifecycle [3].
Research object includes the business process model analysis and improvement workflow.
Research subject includes software requirements for business process model analysis and improvement.
Research goal is to improve the IT used for business process model analysis and improvement by introducing the software requirements, which are based on the latest research in this field and are suitable for collaborative and concurrent usage of business process models by multiple stakeholders (involved business parties).
Related work. Business process models are special enterprise models that serve to reflect specific features of business process. Business process models describe the business process structure, which includes the set of all nodes (activities, events etc.) and arcs (sequence flows, data flows etc.) that belong to the business process graph of any complexity and topology. When modeling business processes, their topology should be considered in order to design as understandable models as possible, which reflect real scenarios of business processes. Also labels of nodes and arcs that belong to the business process graph, which display names of tasks and transitions, may be considered as well [4].
There are various kinds of business process models (e.g. activity models and behavioral models [5]) that allow describing business processes from different perspectives and that serve their own purposes.
According to the recent survey [6], BPMN (Business Process Model and Notation) is the most popular business process modeling notation, which is used by almost 64% respondents. Almost 18% of survey participants use EPC (Event-driven Process Chain) notation that is also used to create behavioral models. As for activity modeling, IDEF0 and DFD (Data Flow Diagram) diagrams are used only by 4% of respondents.
Therefore, it is quite naturally that existing software solutions used for business process model analysis support BPMN or at least EPC (as extremely popular once in 90s and early 2000s) modeling notations.
Existing software tools are based on the metrics and corresponding thresholds in order to check the correctness of business process models. There are following software solutions:  BPMN Quality. It is the stand-alone Java-based application for evaluation of BPMN models [7]. It contains the modules used to extract business process structure data from XML-like documents (BPMN uses interexchange file format based on XML syntax), to calculate metrics, and interpret obtained results by comparing metrics' values to threshold values. This software tool uses control flow complexity (CFC) metrics for evaluation of business process models [8].  BPMN Quality Tool. It is the plug-in for BPMN modeling tool Business Process Visual Architect that is also developed using Java [9]. This plug-in provides calculation of process model metrics including the coefficient of network connectivity (CNC), CFC, and source code metrics [10].  Plug-ins for ProM (process mining software tool) that provide calculation of density, connectivity, size, and other metrics for EPC models [11]. This tool only calculates metrics but the interpretation is user responsibility.  BEBoP (understandaBility vErifier for Business Process models). It is another Java-bases tool for BPMN models evaluation [12]. Unlike previous software tools, this is a web-based system, which may be integrated with other systems or may be extended. The analytical capabilities of this tool are based on process modeling guidelines [13]. Hence, all of the considered software tools are based on metrics and thresholds that allow assume presence of errors in business process models. But these software tools are not capable to recommend structural changes required to eliminate possible modeling errors.
Problem statement. The research problem includes requirements capturing in order to design the software for business process model evaluation and recommendations generation to suggest how detected modeling errors may be eliminated in order to improve business process model correctness. It is also necessary to consider the capabilities of collaborative and concurrent usage of business process models by multiple stakeholders.
Workflow analysis. Before functional requirements are captured, it is required to analyze the business process model analysis and improvement workflow.
Functional model ( fig. 1) of this workflow has been designed using the IDEF0 notation.
It is shown that business process model analysis and improvement workflow includes the following steps: Вісник Національного технічного університету «ХПІ». Серія: Системний аналіз, управління та інформаційні технології, № 2 (4)'2020 25  Model designer (business user) uploads a created business process model prepared using one of the available modeling notations (BPMN, EPC etc.).  Uploaded business process models are processed by the software tool, as the result model metrics and detected errors are calculated and displayed.  Required changes, based on modeling guidelines are generated by the software tool, are displayed for processed models in order to suggest the user how detected errors could be eliminated.

Fig. 1. Business process model analysis and improvement workflow
Captured user stories. Software requirements were captured with respect to the analyzed workflow. There are functional requirements presented as "user stories" widely used in agile methodologies [14]. Captured user stories are estimated using Fibonacci numbers: 1, 2, 3, 5, 8, and 13.
Users need to upload models for analysis (table 1).    After a model is analyzed and metrics with possible detected errors are shown, users should be able to receive recommendations on how exactly detected errors could be eliminated (table 5).  Users should be able to login into a workspace that is personal for each user (table 7).   [7; 9; 11; 12]. It was taken into account that existing tools do not support multi-user access and do not suggest recommendations for business process model improvement.
As it is shown in tables above, captured user stories were estimated by their size (table 9). Use cases. Captured user stories demonstrate generic functional capabilities of business process model analysis and improvement software, which were formalized as usecases outlined in fig. 2.
There use-cases of business process model analysis and improvement software are following:  User logins to a system.  User uploads a business process model.  User updates existing business process model.  User deletes existing business process model.  User calls for business process model analysis.
 User requests for recommendations to improve business process model correctness  User downloads analysis report.  User logouts of a system. exchange file format to be integrated with almost any modern business process modeling suites. It must be possible to integrate with at least one of version-control systems (Subversion, Git etc.) to ensure collaborative work on process models.  Complexity. It highly affects maintainability and readability. Hence, no class method may exceed 100 LOC (lines of code). Conclusion. The problem of requirements capturing for the business process model analysis and improvement software has been considered. Captured requirements are based on features and lacks of existing software tools, but ensure recommendations generation in order to eliminate detected process modeling errors. While current software tools are mostly desktop or even plug-ins, when capturing requirement it was considered possibility of collaborative Вісник Національного технічного університету «ХПІ». Серія: Системний аналіз, управління та інформаційні технології, № 2 (4)'2020 27 and concurrent usage of multiple stakeholders (designers, business analysts etc.) via integration with version-control systems. A software build using elicited requirements may help organizations to reduce possible expenses caused by fault business process models. Future research in this field includes software design and prototyping according to captured requirements.