A Traceability Approach for i* and UML Models Gilberto A. A. Cysneiros Filho Andrea Zisman George Spanoudakis g.cysneiros@soi.city.ac.uk a.zisman@soi.city.ac.uk gespan@soi.city.ac.uk Software Engineering Group Department of Computing, City University Northampton Square, EC1V OHB, UK +44 (0)20 7040 8346 ABSTRACT In this paper we propose an approach that can be used to generate traceability relations between organisational models specified in i* and software systems models represented in UML (in particular use case and class diagrams). Our approach proposes different types of traceability relationships between i* and UML models and uses traceability rules to generate the different types of traceability relations between them. The traceability rules and traceable models are represented in XML. This makes possible the use of our approach in settings where the models are created and managed autonomously. The approach is supported by a prototype tool that interprets the rules and generates traceability relations. Categories and Subject Descriptors D.2.1 [Software Engineering]: Requirements/Specifications - methodologies D.2.2 [Software Engineering]: Design Tools and Techniques - object-oriented design methods D.2.7 [Software Engineering]: Distribution, Maintenance and Enhancement - documentation D.2.10 [Software Engineering]: Design – methodologies, representation General Terms Documentation, design. Keywords Requirements engineering, traceability, organisational models, system models, XML. 1. INTRODUCTION The lack of understanding of the goals and objectives of an organisation by software developers implementing software systems for the organisation may result in systems which do not fit well with organisational practices or which fail to support effectively all the expected organisational activities. To address this problem, researchers have proposed numerous organisational modelling techniques [12][17][19][20][32], which can be used to specify models of the goals, structures and processes of organisations. Such models can be used to assist stakeholders and developers to develop a common understanding of an organisation and, therefore, facilitate the identification of requirements for systems that are developed to support its function [17]. As suggested in [12], if the requirement specification of a software system that is to be deployed in an organisation is based on a model of this organisation, then it becomes easier to guarantee that the system will assist the business in a more appropriate way. Furthermore, as organisational models contain organisational knowledge elicited during the requirements acquisition process they can facilitate the understanding of the requirements specifications by “naïve” users [19]. The widely used object-oriented software system modelling techniques such as UML [28] are effective in specifying “what” a system does and “how” it does it. However, they are not as effective when it comes to the specification of the “why” behind the “what” and the “how” or, equivalently the motivation and rationale underpinning the functional and other requirements of a system [33]. This gap can be filled by organisational modelling techniques which adopt a goal-oriented approach to requirement specification (e.g. [2][9][21][32]) and as such they can be effectively used to describe the motivation and rationale that underlie software system requirements (“why”). It has to be appreciated, however, that in contexts where both such techniques are used it is also necessary to establish and maintain appropriate traceability relationships between the different kind of models that they generate. In such contexts, traceability relations can be used to: (a) ensure compliance between goals and software requirements specifications, reduce the risk of inconsistencies, and minimise the non-propagation of changes across different artefacts [1], (b) provide justifications for system requirements [27], and (c) establish the impact of