Was bedeutet Artefakt?


57

Das Wörterbuch definiert Artefakte als:

Artefakt, Artefakt [ˈɑːtˈɑːfækt] n

  1. etwas, das vom Menschen geschaffen oder geformt wurde, wie ein Werkzeug oder ein Kunstwerk, insbesondere ein Objekt von archäologischem Interesse

  2. alles, was von Menschenhand gemacht wurde, wie ein falsches experimentelles Ergebnis

  3. (Biowissenschaften und verwandte Anwendungen / Biologie) Zytologie: Eine Struktur, die nach dem Tod, der Fixierung, der Färbung usw. im Gewebe zu sehen ist und die normalerweise nicht im lebenden Gewebe vorhanden ist

Das Wort kommt artifacthäufig in der Softwareentwicklung, in Softwareentwicklungszyklen, bei der Aufwandsschätzung usw. vor. Die obige Definition ist in diesem Zusammenhang für mich jedoch nicht sinnvoll.

Könnte jemand bitte dieses Wort anhand einiger spezifischer Beispiele aus der Softwareindustrie erklären?


2
p2pnode fragt eindeutig nicht nach der Definition des Wortes "Artefakt". Es ist schließlich in der Frage. Die Frage, wie das Wort in einem Programmierkontext verwendet wird, mag eine grundlegende Frage sein, ist aber immer noch ein Thema.
Adam Lear

In der Softwareentwicklung ist das Wort fehl am Platz - zu breit und zu flach. Es beschwört Bilder von archäologischen Ausgrabungsstätten herauf; Töpfe und Scherben.

@ Robster, warum sagst du das? Ich habe gehört, es bezog sich auf Build- und Testartefakte (DLLs und Testergebnisse). Es scheint ziemlich allgemein und ziemlich spezifisch.
MetaFight

Nun, es scheint, dass Sie alles, was beim Programmieren oder bei der Ausführung erzeugt oder erschaffen wurde, als Artefakt bezeichnen können.
TheLegendaryCopyCoder

Antworten:


66

Im Software Development Lifecycle (SDLC) bezieht sich Artefakt normalerweise auf "Dinge", die von Personen produziert werden, die an dem Prozess beteiligt sind. Beispiele hierfür sind Designdokumente, Datenmodelle, Arbeitsablaufdiagramme, Testmatrizen und -pläne, Einrichtungsskripte usw. Wie bei einer archäologischen Stätte kann alles, was erstellt wird, ein Artefakt sein.

In den meisten Softwareentwicklungszyklen gibt es normalerweise eine Liste bestimmter erforderlicher Artefakte, die jemand erstellen und auf ein freigegebenes Laufwerk oder Dokumentenspeicher legen muss, damit andere Personen sie anzeigen und freigeben können.


2
Eigentlich ist das einzige, was ich noch nie als Artefakt gehört habe, Code, aber ich verstehe nicht, warum Code kein Artefakt sein kann.
Thomas Owens

2
@Thomas Owens: Code kann auch ein Artefakt sein, wird jedoch normalerweise separat betrachtet (wie in "Sichern Sie Ihren Code und Ihre Artefakte!"), Da nur Programmierer und manchmal Architekten an diesem Artefakt interessiert sind. Außerdem wird Code in die Quellcodeverwaltung übernommen. Die meisten anderen Artefakte sollten in einem Dokumentenspeicher oder einem Wiki gespeichert werden.
FrustratedWithFormsDesigner

9
Artefakte können auch kompilierte Binärdateien / Softwarepakete enthalten.
Andy

Tatsächlich ist es in der Java-Welt sehr verbreitet, Code als Artefakt zu bezeichnen, beispielsweise bei Verwendung von Maven: stackoverflow.com/questions/2487485/what-is-maven-artifact
raspacorp

Das meiste, was ich gehört habe, bezieht sich auf generierte Teile von Code oder Binärdateien.
Qix

23

Ich denke, dieser Wikipedia-Artikel deckt es ziemlich gut ab.

Ein Artefakt ist eine von vielen Arten von materiellen Nebenprodukten, die bei der Entwicklung von Software entstehen. Einige Artefakte (z. B. Anwendungsfälle, Klassendiagramme und andere UML-Modelle, Anforderungen und Designdokumente) beschreiben die Funktion, Architektur und das Design von Software. Andere Artefakte befassen sich mit dem eigentlichen Entwicklungsprozess, z. B. Projektpläne, Geschäftsfälle und Risikobewertungen.


14

In der Grafikprogrammierung wird es häufig verwendet, um auf einen Teil eines Bildes zu verweisen, der nicht richtig gerendert wurde. Wenn beispielsweise nach dem Zeichnen noch ein kleiner Teil eines vorherigen Rahmens oder einer vorherigen Ansicht auf dem Bildschirm angezeigt wird, wird dies als Artefakt bezeichnet.


1
Weil ich Grafikprogrammierung mache, ist das die Bedeutung, die mir am häufigsten einfällt, aber das hat nichts mit der Bedeutung zu tun, nach der das OP gefragt hat (was der Begriff im Kontext der Softwareplanung bedeutet).
jhocking

4
Das OP fragte: "Könnte jemand dieses Wort bitte anhand einiger spezifischer Beispiele aus der Softwareindustrie erklären ?", Was meiner Meinung nach meine Antwort beinhaltet.
GroßmeisterB

Ich wollte nur hinzufügen, dass das Wort "Artefakt" in diesem Zusammenhang allgemeiner als nur in der Grafikprogrammierung verwendet wird, um Bildanomalien in jeder Art von erzeugtem Bild (z. B. Röntgenbild) zu bezeichnen - siehe: en.wikipedia.org/ wiki / Visual_artifact
yoniLavi

5

Ein Artefakt ist etwas, das direkt oder indirekt als Folge von etwas anderem geschaffen wird. Software-Artefakte können aus Ihrer Projektquelle oder Ihren Projektressourcen bestehen oder als unvorhergesehene Manifestationen der Interaktionen zwischen Ihren Quellen oder Ressourcen dargestellt werden.


4

Das Wort Artefakt wird häufig in Verbindung mit Qualitätsmanagement-Zertifizierungen wie CMMI und ISO 9001 sowie Methoden wie Six Sigma verwendet . In diesem Zusammenhang bezieht sich Artefakt auf die Produkte und Nebenprodukte des Softwareentwicklungsprozesses.

Artefakte werden während des gesamten Prozesses gesammelt und archiviert, um zu belegen, dass der dokumentierte Prozess befolgt wird. Solche Artefakte sind hauptsächlich während eines Zertifizierungsaudits nützlich. Durch das Sammeln und Archivieren können Sie jedoch auch leichter herausfinden, wie oder warum der Prozess fehlgeschlagen ist, wenn Probleme aufgetreten sind.

Es können auch Artefakte gemessen und analysiert werden, um Wege zur Verbesserung des Prozesses zu finden, um weitere zu messen, um Hinweise auf eine Verbesserung zu erhalten, und um anschließend kontinuierlich zu messen, um zu zeigen, dass der Prozess die Kontrolle behält (dh die fraglichen Metriken bleiben innerhalb bestimmter Grenzen). .


3

Ich denke, es gibt andere Arten, wie der Begriff verwendet wird, die eher wie ein Nebeneffekt aussehen, aber ich sehe die Hauptverwendung des Wortes "Artefakt" in der Softwareindustrie darin, "das Produkt zu bedeuten, das geschaffen wird". Das Programm, das die Entwickler schreiben, ist also ein "Software-Artefakt".


Ich habe gehört, es bezog sich früher auf Daten, die nicht mehr wirklich benötigt werden, die aber zu einer Zeit ein Artefakt der Legacy-App waren.
SoylentGray

3

Ich habe nur ein Artefakt gehört, das in einem Projekt verwendet wurde: Wir haben es verwendet, um auf die Dateien zu verweisen, die unser Build ausgegeben hat. Beim Lesen der anderen Antworten scheint es jedoch, dass 'Artefakt' ein variabler Begriff ist, der immer dann verwendet wird, wenn jemand einen Begriff für einen projektspezifischen Objekttyp benötigt.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.