Artefacts in Software Engineering: What are they after all?

05/31/2018
by   D. Méndez Fernández, et al.
0

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.

READ FULL TEXT

Please sign up or login with your details

Forgot password? Click here to reset