Cosa significa artefatto?


57

Il dizionario definisce artefatto come:

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

  1. qualcosa fatto o dato forma all'uomo, come uno strumento o un'opera d'arte, specialmente un oggetto di interesse archeologico

  2. qualsiasi cosa creata dall'uomo, come un risultato sperimentale spuria

  3. (Scienze della vita e applicazioni connesse / Biologia) Citologia una struttura vista nei tessuti dopo morte, fissazione, colorazione, ecc., Che normalmente non è presente nei tessuti viventi

La parola artifactappare spesso nello sviluppo del software, nei cicli di sviluppo del software, nella stima dello sforzo, ecc. Ma la definizione di cui sopra non ha senso per me in quel contesto.

Qualcuno potrebbe spiegare questa parola fornendo alcuni esempi specifici dell'industria del software?


2
p2pnode chiaramente non chiede la definizione della parola "artefatto". Dopotutto è nella domanda. Chiedere come la parola viene utilizzata in un contesto di programmazione può essere una domanda di base, ma è ancora in discussione.
Adam Lear

La parola è fuori posto nello sviluppo del software, troppo ampia e superficiale. Evoca immagini di siti di scavo archeologici; pentole e cocci.

@Robster, perché lo dici? Ho sentito che si riferiva a costruire e testare artefatti (dll e risultati dei test). Sembra abbastanza comune e piuttosto specifico.
MetaFight

Bene, sembra che tu possa chiamare qualsiasi prodotto prodotto o creato durante la programmazione o dopo l'esecuzione, un artefatto.
TheLegendaryCopyCoder

Risposte:


66

Nel ciclo di vita dello sviluppo software (SDLC), l'artefatto di solito si riferisce a "cose" prodotte dalle persone coinvolte nel processo. Esempi potrebbero essere documenti di progettazione, modelli di dati, diagrammi di flusso di lavoro, matrici e piani di test, script di installazione, ... come in un sito archeologico, qualsiasi cosa creata potrebbe essere un artefatto.

Nella maggior parte dei cicli di sviluppo software, di solito c'è un elenco di specifici artefatti richiesti che qualcuno deve produrre e mettere su un disco condiviso o un archivio di documenti che altri utenti possano visualizzare e condividere.


2
Davvero l'unica cosa che non ho mai sentito nominare artefatto è il codice, ma non vedo perché il codice non possa essere un artefatto.
Thomas Owens

2
@Thomas Owens: anche il codice può essere un artefatto, ma di solito viene considerato separatamente (come in "assicurati di eseguire il backup del codice e degli artefatti!") Perché le uniche persone interessate a questo artefatto sono programmatori, e talvolta architetti. Inoltre, il codice passa al controllo del codice sorgente, la maggior parte degli altri artefatti dovrebbe andare in un repository di documenti o in un Wiki.
FrustratedWithFormsDesigner

9
Gli artefatti potrebbero anche includere pacchetti binari / software compilati.
Andy,

In realtà nel mondo Java è molto comune per riferirsi codice come artefatto, per esempio quando si utilizza Maven: stackoverflow.com/questions/2487485/what-is-maven-artifact
raspacorp

Il più che ho sentito usare è per quanto riguarda i pezzi di codice o binari generati .
Qix,

23

Penso che questo articolo di Wikipedia lo copra abbastanza bene.

Un manufatto è uno dei molti sottoprodotti tangibili prodotti durante lo sviluppo del software. Alcuni artefatti (ad esempio casi d'uso, diagrammi di classe e altri modelli UML, requisiti e documenti di progettazione) aiutano a descrivere la funzione, l'architettura e la progettazione del software. Altri artefatti riguardano il processo di sviluppo stesso, come piani di progetto, casi aziendali e valutazioni dei rischi.


14

Nella programmazione grafica, viene spesso utilizzato per fare riferimento a parte di un'immagine che non è stata visualizzata correttamente. Ad esempio, se una piccola parte di un fotogramma o di una vista precedente viene ancora lasciata sullo schermo dopo aver eseguito il disegno, verrebbe chiamato artefatto.


1
Perché faccio la programmazione grafica che è il significato che mi viene più spesso, ma non è correlato al significato di cui l'OP stava chiedendo (che cosa significa il termine nel contesto della pianificazione del software).
jhocking

4
L'OP ha chiesto "Qualcuno potrebbe spiegare questa parola fornendo alcuni esempi specifici dell'industria del software ?", Che penso includa la mia risposta.
GrandmasterB,

Volevo solo aggiungere una nota che la parola "artefatto" in questo contesto è usata più in generale rispetto alla semplice programmazione grafica per riferirsi a anomalie di imaging in qualsiasi tipo di immagine generata (es. Radiografia) - vedi: en.wikipedia.org/ wiki / Visual_artifact
yoniLavi

5

Un artefatto è qualcosa che viene creato direttamente o indirettamente come conseguenza di qualcos'altro creato. Gli artefatti software possono consistere nella fonte o nelle risorse del progetto, oppure possono essere rappresentati come manifestazioni impreviste delle interazioni tra le fonti o le risorse.


4

La parola artefatto viene spesso utilizzata in relazione alle certificazioni di gestione della qualità come CMMI e ISO 9001 e metodologie come Six Sigma . In questo contesto, artefatto si riferisce ai prodotti e sottoprodotti del processo di sviluppo del software.

Gli artefatti vengono raccolti e archiviati durante il processo per essere utilizzati come prova del fatto che il processo documentato viene seguito. Tali artefatti sono utili soprattutto durante un audit di certificazione, ma la loro raccolta e archiviazione facilita anche la comprensione di come o perché il processo fallisce in caso di problemi.

Gli artefatti potrebbero anche essere misurati e analizzati per trovare modi per migliorare il processo, misurati un po 'di più per mostrare prove di miglioramento, e successivamente misurati continuamente per mostrare che il processo rimane sotto controllo (cioè le metriche in questione rimangono entro alcuni limiti specificati) .


3

Penso che ci siano altri modi in cui il termine viene usato che significa più come un effetto collaterale, ma l'uso principale che vedo della parola "artefatto" nell'industria del software è quello di indicare "il prodotto che viene creato". Quindi, ad esempio, il programma che gli sviluppatori stanno scrivendo è un "artefatto software".


Ho sentito che faceva riferimento a dati che non sono più realmente necessari ma che un tempo erano quindi un artefatto dell'app legacy.
SoylentGray,

3

Ho sentito solo artefatto usato su un progetto in cui sono stato: lo abbiamo usato per fare riferimento ai file messi a punto dalla nostra build. Tuttavia, leggendo le altre risposte, sembra che "Artefatto" sia un termine variabile, usato ogni volta che qualcuno ha bisogno di un termine per un tipo di oggetto specifico del progetto.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.