Article Preview
TopIntroduction
The phenomenon of enterprise evolution has been the subject of much debate in the literature. Research in this area mainly addresses the enterprise effects from a change in the supporting software system. Nevertheless, it is also relevant to consider that changes in the business processes of an organization may require that changes are executed in the software systems supporting them. This issue needs to be the subject of systematic investigation (Reich & Benbasat, 2000). It also has to concern organizational aspects, such as structure, individual and group behavior, inter-organizational relationships, and introduction of the shift work practice (Hauck et al., 2010). In this scenario, maintenance activities are required for adapting the used software systems to the business process changes.
A business process consists of the set of activities performed by an enterprise to achieve a goal. Its specification includes the description of the activities and relative control and data flow. The adopted software system is generally an application providing support to the user while performing the process activities. It is clear that a change in the process may immediately affect the software components. However, locating the appropriate components impacted by the change requirements is not always obvious to software maintainers. This is particularly true if the change requirements are expressed in terms of business activities and maintainers have not an evidence of what this means in terms of software components. In this scenario, adequately managing the links existing between business process activities and software system components is very important for the software maintainers while they deal with change requirements (Antón, 1996). Unfortunately, an adequate documentation may not exist and the impact of a change of the process is often difficult to map to the software components. In the best of the authors’ knowledge, there is a lack of studies regarding the definition of methods and tools for recovering and managing the relationships existing between business processes and software systems. Even if the important role of this kind of relationships when an organization is evolving is recognised, Holland et al., (1999) underline the role of the information technology in the moving towards a process-oriented view of the management.
Bernd and Clifford (1994) suggest an integral view of business process re-engineering, based on both strategic and technological needs at the operational level. The software re-engineering aims at using existing corporate resources in a more economic way, such as reusing application knowledge; while software engineering approaches concentrate on handling software development according to the end-user requirements within a given amount of time and limited costs. Studies analyzing the relationships among organizational and process aspects, and software systems focus on capturing the organizational requirements for defining how the system fulfils the organization’s goals, why it is necessary, what are the possible alternatives, etc. (Ant´on, 1996; Dardenne et al.,1993; Mylopoulos et al., 1999; Yu, 1995; Bleistein et al., 2006; Mahesh et al., 2009).
Another problem concerning the recovering of the relationship existing between business activities and software components regards the fact that a formal view of the business process may not be available. Business information is very often kept in informal description and/or in the mind of the process executors.
To deal with these issues, software engineers should be supported with adequate tools helping to understand business and software assets and manage the relationships existing between business activities and software components. Knowing and managing these associations effectively provides a significant help to software maintainers, as demonstrated in (Aversano & Tortorella, 2009) and discussed in the following Section. In this direction, this paper proposes an approach, with a twofold aim: