2011-03-05 26 views
7

Recentemente ho letto un libro su Motivi di design: ho trovato la parola artefatti in ogni pagina molte volte! Cosa sono in realtà? Dove dovrebbe essere usato?Che cosa significa "artefatti" in realtà nel processo unificato?

In UP, gli artefatti sono molto importanti e svolgono un ruolo importante nell'analisi orientata agli oggetti. . . .

+1

Puoi aggiungere qualche citazione da quel libro che contatina la parola "artefatto"? – Roman

risposta

5

Il termine artifact (or artefact) sembra essere stato reso popolare in tutto il tempo che Booch, Rumbaugh e Jacobsen (la 3 amigos) ha descritto il Rational Unified Process.

La parola Artifact in ingegneria del software RUP era un termine generico per riferirsi a qualsiasi 'risultato finale', che potrebbe essere prodotta da qualsiasi 'ruolo' nello sviluppo del ciclo di vita del software, tra cui:

  • Documenti, come Project Plan, Requirements Document, Specifications etc
  • Un modello generato durante la progettazione, di solito uno dei diagrammi disponibili UML, ad esempio un diagramma di classe o ERD
  • Manufatti di codice, inclusi file di origine, uscite binarie e codice di test o supporto.

Gli artefatti possono essere introdotti nella gestione della configurazione del software (identificato, versione, modifica potrebbe essere gestito, ecc.).

Il termine artefatto si manifesta anche nella modellazione dei processi aziendali, di solito riferita a un documento fisico o elettronico prodotto da un processo, ad es. un modulo di richiesta, un documento EDI o un output di report.

Al giorno d'oggi, la parola artifact può essere considerata alla stessa luce di pretentious management speak e il termine è solitamente troppo vago e generico per essere utilizzato frequentemente dall'effettivo team di sviluppo del software, ad es. si otterrà sguardi fissi nel vuoto se si utilizza termini come:

  • "Ho finito il check-in del manufatto"

  • "Per favore si potrebbe scrivere un artefatto per la nostra banco di prova successiva"

cioè È probabile che desidera utilizzare ter più specifica Minologia alla faccia del carbone dello sviluppo del software!

+0

+1 per spiegazione: grazie :) –

2

Di solito, nella programmazione corrente della programmazione vernacolare, "Artefatti" si riferisce alle cose che rimangono dopo un processo di compilazione. In .NET, questi sono DLL e EXE generati da una build.

3

Sono soliti riferirsi a qualcosa che crei, di solito come effetto collaterale, per aiutarti a realizzare qualcosa. Forse un diagramma, un documento di progettazione, un prototipo della GUI, http://en.wikipedia.org/wiki/Artifact_(software_development) ha più informazioni.

(Nota, in molti strumenti software, un artefatto ha un significato molto più stretto, il che significa un file/library/eseguibile che si produce quando si genera/compila qualcosa)

2

La definizione data da @nonnb è buono. Quando la parola era originariamente usata, come dice lui dai tre amigos, credo fosse la parola artefatto piuttosto che artefatto. Questa è la versione inglese piuttosto che la versione americana, ma contiene una sfumatura che la versione americana non ha. Un artefatto è, come un artefatto, qualcosa prodotto nel processo di sviluppo di qualcosa creato dall'uomo. La sfumatura è che è una funzione del processo adottato, piuttosto che una parte inerente, per definizione, del prodotto finale. Ad esempio, il punto di sviluppo del software è quello di produrre un sistema software funzionante con documentazione appropriata. Questi sono i risultati finali desiderati (artefatti) del processo di sviluppo del software, ma il piano di progetto, le versioni, i modelli, ecc. Sono tutti artefatti del processo. Non strettamente necessario e può essere considerato estraneo al prodotto finale.

Questa sfumatura può essere visto nel third definition of artefact, dal Dizionario:

  1. (Life Sciences & Allied Applications/Biologia) Citologia una struttura visto nei tessuti dopo la morte, fissazione, colorazione, ecc, che non è normalmente presente nel tessuto vivente [dal latino frase arte factum, ars abilità + facere per rendere]

Mentre consigli per usare la terminologia più specifica la faccia di carbone della tecnologia è appropriata, è ancora un termine molto utile da ri a tutte le uscite, finali o meno, dallo sviluppo del sistema e del software.

+0

grazie per la tua risposta :) –

0

Gli artefatti artificiali vengono creati per descrivere un sistema, una soluzione o lo stato di un'impresa. Molti sviluppatori ora un giorno preferiscono il termine architettura software alla progettazione del software per indicare tutti gli artefatti risultanti dalle attività di progettazione!

Problemi correlati