Remco M. Dijkman University of Twente, Faculty of Computer Science P.O. Box 217, 7500 AE Enschede The Netherlands firstname.lastname@example.org Stef M.M. Joosten Ordina Finance Utopics, and Open University of the Netherlands P.O. Box 2960, 6401 DL Heerlen The Netherlands email@example.com
In this paper we introduce a technique to simplify requirements capture. The technique can be used to derive functional requirements, speciﬁed in the form of UML use case diagrams, from existing business process models. Because use case diagrams have to be constructed by performing interviews, and business process models usually are available in a company, use case diagrams can be produced more quickly when derived from business proces models. The use case diagrams that result from applying the technique, specify a software system that provides automated support for the original business processes. We also show how the technique was successfully evaluated in practice.
Capturing requirements is widely considered to be one of the most difﬁcult tasks in software engineering. At the same time, errors made in this phase are among the most difﬁcult to detect and the most expensive to correct . Therefore, much can be gained from requirements capturing techniques that speed up the creation of requirements speciﬁcations, and produce robust requirements speciﬁcations. In this paper we propose such a technique. The technique we propose is based on the observation that one of the forms of requirements engineering, the use case based requirements engineering [3, 4, 12, 10], bears much resemblance to business process modeling. The resemblance between use case based requirements engineering and business process modeling becomes obvious when inspecting the following deﬁnitions of use case and business process. According to Jacobson  a UML use case: ’... speciﬁes a sequence of actions, including variants, that the system can perform, and that yield an observable result of value to a particular actor.’
According to Davenport  a business process is: ’A structured, measured set of activities designed to produce a speciﬁed output for a particular customer or market.’ According to their deﬁnitions, both a business process and a use case consist of activities (or actions). In both deﬁnitions, the activities are ordered in some way. In the deﬁnition of business process, they are structured and measured, and in the deﬁnition of use case, they are sequential. Also, in both deﬁnitions, the activities are aimed at delivering a particular result. In addition to the similarities that exist between the definitions, it has been noted that business processes can be described by use case models [15, 10, 11, 16]. These observations give rise to the assumption that it is possible to translate business process models to use case models. The beneﬁt of having such a technique is that, while use cases have to be captured by performing interviews in an organization, business processes are often available in the form of working instructions or administrative handbooks. A study at a large international bank, for example, showed that about 350 of the 1000 business processes used in the bank were well described and used for reference in the daily conduct of business. Because of the obvious similarities between use cases and business processes, and the expected beneﬁts of deriving use case diagrams from business process models, we studied the exact relation between UML use case diagrams and business process models. Our main goal was to specify a procedure to transform business process models into UML use case diagrams that can serve as a basis for further systems development. The approach chosen is to create metamodels for use case diagrams and for business process models, and compare the two metamodels. The relations between the metamodels give rise to a mapping that forms a basis for...