Que signifie artefact?

57

Le dictionnaire définit l'artefact comme suit:

artefact, artefact [ˈɑːtɪˌfækt] n

  1. quelque chose fabriqué ou donné par l'homme, tel qu'un outil ou une œuvre d'art, en particulier un objet d'intérêt archéologique

  2. tout ce qui est fait par l'homme, tel qu'un faux résultat expérimental

  3. (Sciences de la vie et applications connexes / Biologie) Cytologie: structure observée dans les tissus après la mort, la fixation, la coloration, etc., qui n'est normalement pas présente dans les tissus vivants.

Le mot artifactapparaît souvent dans le développement de logiciels, les cycles de développement de logiciels, l'estimation de l'effort, etc. Mais la définition ci-dessus n'a pas de sens pour moi dans ce contexte.

Quelqu'un pourrait-il expliquer ce mot en donnant des exemples spécifiques de l'industrie du logiciel?

xyz
la source
2
p2pnode ne demande clairement pas la définition du mot "artefact". C'est dans la question, après tout. Demander comment le mot est utilisé dans un contexte de programmation peut être une question de base, mais il reste sur le sujet.
Adam Lear
Le mot est déplacé dans le développement de logiciels - trop large et superficiel. Il évoque des images de sites de fouilles archéologiques; des pots et des tessons.
@Robster, pourquoi dites-vous cela? Je l'ai entendu parler de créer et de tester des artefacts (DLL et résultats de test). Cela semble assez commun et assez spécifique.
MetaFight
Eh bien, il semble que vous puissiez appeler tout objet produit ou créé lors de la programmation ou lors de l'exécution, un artefact.
TheLegendaryCopyCoder le

Réponses:

66

Dans le cycle de vie du développement logiciel (SDLC), l'artefact se réfère généralement à des "choses" produites par les personnes impliquées dans le processus. Exemples: documents de conception, modèles de données, diagrammes de flux de travail, matrices et plans de test, scripts de configuration, ... comme un site archéologique, tout ce qui est créé pourrait être un artefact.

Dans la plupart des cycles de développement logiciel, il existe généralement une liste d'artefacts spécifiques requis que quelqu'un doit produire et mettre sur un disque partagé ou un référentiel de documents que d'autres personnes peuvent visualiser et partager.

FrustratedWithFormsDesigner
la source
2
En réalité, la seule chose que je n'ai jamais entendu parler d'artéfact est le code, mais je ne vois pas pourquoi le code ne peut pas être un artefact.
Thomas Owens
2
@Thomas Owens: Le code peut aussi être un artefact, mais il est généralement considéré séparément (comme dans "assurez-vous de sauvegarder votre code et vos artefacts!") Car les seules personnes intéressées par cet artefact sont les codeurs et parfois les architectes. En outre, le code passe dans le contrôle de source, la plupart des autres artefacts doivent être placés dans un référentiel de documents ou un wiki.
FrustratedWithFormsDesigner
9
Les artefacts peuvent également inclure des fichiers binaires / packages logiciels compilés.
Andy
En réalité, dans le monde Java, il est très courant de désigner le code comme un artefact, par exemple lors de l'utilisation de Maven: stackoverflow.com/questions/2487485/what-is-maven-artifact
raspacorp le
Le plus que j'ai entendu dire, c'est en ce qui concerne les morceaux de code générés ou les binaires.
Qix
23

Je pense que cet article de Wikipedia le couvre assez bien.

Un artefact est l'un des nombreux types de sous-produits tangibles produits lors du développement d'un logiciel. Certains artefacts (exemples d'utilisation, diagrammes de classes et autres modèles UML, exigences et documents de conception) aident à décrire la fonction, l'architecture et la conception du logiciel. D'autres artefacts concernent le processus de développement lui-même, tels que les plans de projet, les analyses de rentabilisation et les évaluations des risques.

yoozer8
la source
14

En programmation graphique, il est souvent utilisé pour référencer une partie d'une image qui n'a pas été correctement rendue. Par exemple, si un petit morceau d'une vue ou d'un cadre précédent est toujours affiché à l'écran une fois le dessin terminé, vous l'appellerez artefact.

Grand maître b
la source
1
Parce que je fais de la programmation graphique, c'est le sens qui me revient le plus souvent, mais cela n'a rien à voir avec le sens que le PO demandait (ce que le terme signifie dans le contexte de la planification de logiciels).
Jhocking
4
Le PO a demandé "Quelqu'un pourrait-il expliquer ce mot en donnant des exemples spécifiques de l'industrie du logiciel ?", Ce qui, je pense, inclut ma réponse.
GrandmasterB
Je voulais juste ajouter une note indiquant que le mot "artefact" dans ce contexte est utilisé plus généralement que dans la programmation graphique pour faire référence à des anomalies d'imagerie dans tout type d'image générée (par exemple, une radiographie) - voir: en.wikipedia.org/ wiki / Visual_artifact
yoniLavi
5

Un artefact est quelque chose qui est créé directement ou indirectement à la suite de quelque chose d'autre créé. Les artefacts logiciels peuvent être constitués de la source ou des ressources de votre projet. Ils peuvent également être représentés comme des manifestations imprévues des interactions entre vos sources ou vos ressources.

Jordan
la source
4

Le mot artéfact est souvent utilisé en relation avec les certifications de gestion de la qualité telles que CMMI et ISO 9001 , et les méthodologies telles que Six Sigma . Dans ce contexte, l' artefact fait référence aux produits et sous-produits du processus de développement logiciel.

Les artefacts sont rassemblés et archivés tout au long du processus pour servir de preuve que le processus documenté est suivi. Ces artefacts sont principalement utiles lors d'un audit de certification, mais leur collecte et leur archivage permettent également de comprendre plus facilement comment et pourquoi le processus a échoué en cas de problème.

Les artefacts peuvent également être mesurés et analysés pour trouver des moyens d'améliorer le processus, mesurés un peu plus pour montrer des signes d'amélioration, puis mesurés continuellement pour montrer que le processus reste sous contrôle (c'est-à-dire que les mesures en question restent dans certaines limites spécifiées). .

Caleb
la source
3

Je pense qu'il y a d'autres manières d'utiliser le terme qui signifie plus comme un effet secondaire, mais l'utilisation principale du mot "artefact" que je vois dans l'industrie des logiciels consiste à désigner "le produit créé". Le programme que les développeurs écrivent est donc un "artefact logiciel".

jhocking
la source
J'ai entendu dire qu'il faisait référence à des données qui ne sont plus vraiment nécessaires, mais qui étaient autrefois un artefact de l'application existante.
SoylentGray le
3

Je n'ai entendu parler que d'artefact sur un projet: nous l'avons utilisé pour faire référence aux fichiers de notre construction. Cependant, en lisant les autres réponses, il semble que "Artefact" soit un terme variable, utilisé chaque fois que quelqu'un a besoin d'un terme pour un type d'objet spécifique à un projet.

marque
la source