Artefacts play a vital role in today's software and systems development processes. The notion of artefacts is widely used in software development communities. Despite the relevance and frequent use of the term artefact', the exact denotation of this term is still not clear, due to a variety of different understandings of the term and to a careless negligent usage. This often leads to conceptual and formal results being grounded in a fuzzy, unclear understanding of the essential concepts involved. In fact, there does not exist a common terminology. Other terms like documents, deliverables, or work products are used instead of the term artefact. Therefore, it is our goal that the term artefact be standardised so that researchers and practitioners have a common understanding for discussions and contributions. In this position paper, we provide a critical reflection upon the notion of artefact in software engineering at different levels of perception and how these relate to each other. We further contribute a meta model that provides a description of an artefact that is independent from any underlying process. The meta model defines an artefact at three levels. Abstraction and refinement relations between these levels allow correlating artefacts to each other and defining the notion of equivalent artefacts. Our contribution shall foster the long overdue and too often underestimated terminological discussion on what artefacts are to provide a common ground with clearer concepts and principles for future software engineering contributions, such as the design of artefact-oriented development processes and tools.
One exemplary instantiation of the meta model forms REMsES @cite_8 , which provides a process guide for supporting requirements engineering processes in the automotive industry. There, the artefact model provides a basic structure for the definition of the artefacts, their assignment to abstraction levels and content categories, and the relations between the artefacts. It further defines general control flow dependencies within requirements engineering processes. Further fields of applications can be found in the broader field of software engineering process modelling, e.g. for synchronising various software process models via artefacts as interfaces @cite_16 or for modelling artefact-focused method-neutral software process improvement models @cite_1 .
@cite_16 @cite_1 @cite_8
2121843002 1973931357 2401907287 2012058332
Requirements Engineering (RE) processes are highly volatile due to dependencies on customers' capabilities or used process models, both complicating a standardised RE process. A promising solution is given by artefactorientation that emphasises the results rather than dictating a strict development process. At such a basis one is able to incorporate domain-specific methods for producing artefacts without having to take into account the variability of process definitions. Although artefacts are known to support customisable development processes, there still is no common agreement about the structure and semantics of artefact-based methodologies. In this paper we discuss different interpretations of the term artefact considering aspects like process integration capabilities and necessities within individual project environments. We contribute a meta model for artefact-orientation that is inferred from two RE models elaborated within industrial cooperation projects of our research group. We conclude with a discussion of performed case studies and ongoing work. [Background:] Nowadays, industries are facing the problem that the Requirements Engineering (RE) process is highly volatile, since it depends on project influences from the customer's domain or from process models used. Artefact-based approaches promise to provide guidance in the creation of consistent artefacts in volatile project environments, because these approaches concentrate on the artefacts and their dependencies, instead of prescribing processes. Yet missing, however, is empirical evidence on the advantages of applying artefact-based RE approaches in real projects. [Aim:] We developed a customisable artefact-based RE approach for the domain of business information systems. Our goal is to investigate the advantages and limitations of applying this customisable approach in an industrial context. [Method:] We conduct a case study with our artefact-based RE approach and its customisation procedure. For this, we apply it at a software development project at Siemens following the steps of the customisation procedure. We assess our approach in direct comparison with the previously used RE approach considering possible improvements in the process and in the quality of the produced artefacts. [Results:] We show that our approach is flexible enough to respond to the individual needs in the analysed project environment. Although the approach is not rated to be more productive, we find an improvement in the syntactic and the semantic quality of the created artefacts. [Conclusions:] We close a gap in the RE literature by giving empirical evidence on the advantages of artefact orientation in RE in an industrial setting. Der folgende technische Bericht beschreibt das Requirements Engineering Reference Model (REM). Die Zielsetzung von REM ist: (1) Die Definition eines Referenzmodells fur das Requirements Engineering (RE) mittels Festlegung der Kernmenge von zu entwickelnden RE Artefakten (Arbeitsprodukten im RE) einer Systementwicklung und ihren Abhangigkeiten - das RE Artefaktmodell, und (2) Die Einfuhrung und Anpassung von produkt- und projekt-spezifischen RE Prozessen auf Basis des RE Artefaktmodells. REM ist das Ergebnis langjahriger Forschung und Industriekooperationen in den Bereichen Systems- und Software-Engineering, modell-basiertes Requirements Engineering und Prozessdefinition des Lehrstuhls fur Software und Systems Engineering an der TU Munchen. The following technical report of the Technische Universitat Munchen (TUM) describes the Requirements Engineering Reference Model (REM). The purposes of REM are: (1) to define a reference model for RE that provides the core set of RE artifacts (work products) and their interdependencies, and (2) to guide the establishment and maintenance of product- and project-specific RE processes. REM is the result of long-term research and industrial cooperations in the fields of systems and software engineering, model-based requirements engineering and process definition of the chair of Software and Systems Engineering at the TUM In this paper, we investigate model-driven engineering, reporting on an exploratory case-study conducted at a large automotive company. The study consisted of interviews with 20 engineers and managers working in different roles. We found that, in the context of a large organization, contextual forces dominate the cognitive issues of using model-driven technology. The four forces we identified that are likely independent of the particular abstractions chosen as the basis of software development are the need for diffing in software product lines, the needs for problem-specific languages and types, the need for live modeling in exploratory activities, and the need for point-to-point traceability between artifacts. We also identified triggers of accidental complexity, which we refer to as points of friction introduced by languages and tools. Examples of the friction points identified are insufficient support for model diffing, point-to-point traceability, and model changes at runtime.