La progettazione della programmazione allude alle strutture chiave di un sistema software e al controllo della realizzazione di tali strutture e sistemi. Ogni struttura comporta la programmazione dei componenti, delle relazioni tra di loro e delle proprietà dei due componenti e delle relazioni. L’ingegneria di un sistema software di prodotto è un’illustrazione, praticamente equivalente all’ingegneria di un edificio. Funziona come un diagramma per il sistema e la creazione dell’impresa, distribuendo le commissioni non importanti da eseguire da parte dei team di progettazione.

L’ingegneria della programmazione è legata all’assestamento di decisioni ausiliarie cruciali che, una volta attualizzate, sono costose da modificare. Le decisioni di ingegneria della programmazione incorporano nel piano di programmazione esplicite alternative di base dai potenziali risultati. Per esempio, le strutture che controllavano il veicolo di spedizione del trasporto spaziale avevano la necessità di essere rapide e veramente affidabili. In questo modo, sarebbe stato scelto un linguaggio di elaborazione costante e adeguato. Inoltre, per soddisfare il requisito di qualità incrollabile, si poteva decidere di avere vari duplicati del programma in eccesso e di crearne autonomamente di diversi e di eseguirli su attrezzature libere, controllando i risultati.

L’ingegneria della programmazione di registrazione incoraggia la corrispondenza tra i partner, cattura le prime scelte sulla struttura ad alto livello e consente il riutilizzo dei segmenti di piano tra i progetti.

L’ingegneria della programmazione mostra l’accompagnamento:

Un numero enorme di partner: i sistemi software devono tenere conto di un assortimento di partner, ad esempio, capi d’azienda, proprietari, clienti e amministratori. Questi partner hanno tutti le loro preoccupazioni riguardo al quadro di riferimento. L’aggiustamento di queste preoccupazioni e la dimostrazione di come sono curate è una parte della pianificazione del sistema.:29-31 Questo infers engineering include la gestione di un ampio assortimento di preoccupazioni e di partner ed ha una natura multidisciplinare.

Divisione delle preoccupazioni: il percorso costruito per i progettisti per diminuire l’imprevedibilità è quello di isolare le preoccupazioni che guidano la struttura. La documentazione ingegneristica mostra che tutte le preoccupazioni dei partner sono tese a dimostrare e rappresentare il progetto da prospettive isolate relative alle diverse preoccupazioni dei partner. Queste diverse rappresentazioni sono chiamate “viste edilizie” (si veda ad esempio il modello di vista strutturale 4+1).

Guidati dalla qualità: la configurazione esemplare della programmazione si avvicina (per esempio i programmi per computer Jackson Organized Writing) sono stati guidati dall’utilità richiesta e dalla progressione delle informazioni attraverso il framework, ma l’intuizione attuale:26-28 è che la progettazione di un framework di prodotto è tanto più saldamente identificata con i suoi tratti di qualità, per esempio, l’adattamento ai guasti interni, in reverse similarity, estensibilità, affidabilità, praticità, accessibilità, sicurezza, facilità d’uso, e altre simili – ilities. Le preoccupazioni dei partner spesso si trasformano in prerequisiti su questi tratti di qualità, che sono chiamati in modo diverso necessità non utili, prerequisiti extra-pratici, prerequisiti sociali, o prerequisiti di proprietà di qualità.

Stili ripetuti: come la progettazione di strutture, la disciplina dell’ingegneria di prodotto ha creato approcci standard per affrontare le preoccupazioni ricorrenti. Questi “modi standard” sono chiamati con nomi diversi a diversi gradi di deliberazione. Espressioni normali per le modalità di ripetizione sono lo stile di costruzione,:273-277 tattica,:70-72 architettura di riferimento e modello strutturale.:203-205

Onnipotenza teorica: un termine presentato da Fred Creeks in The Legendary Man-Month per indicare la possibilità che la progettazione di una struttura di prodotto parli a una visione generale di ciò che dovrebbe fare e di come dovrebbe farlo. Questa visione dovrebbe essere isolata dal suo uso. Il progettista si aspetta il compito di “custode della visione”, assicurando che gli aumenti della struttura siano in accordo con il disegno, salvaguardando così l’integrità teorica.:41-50

Limiti psicologici: una percezione fatta in precedenza in un articolo del 1967 dall’ingegnere del software Melvin Conway, secondo cui le associazioni che progettano strutture sono obbligate a fornire strutture che sono duplicati delle strutture corrispondenti di queste associazioni. Allo stesso modo, con ragionevole onestà, è stato Fred Streams a farla conoscere a una folla più vasta quando ha fatto riferimento al documento e al pensiero nel suo squisito grande The Legendary Man-Month, chiamandolo “Legge di Conway”.

Attività di architettura

Ci sono numerosi esercizi che l’architetto del prodotto esegue. Un product draftsman normalmente lavora con gli amministratori di impresa, esamina le necessità strutturalmente critiche con i partner, pianifica un’ingegneria di prodotto, valuta una configurazione, parla con i progettisti e i partner, archivia il piano compositivo e altro ancora. Ci sono quattro esercizi centrali nella progettazione della programmazione. Questi esercizi di ingegneria del centro vengono eseguiti in modo iterativo e in varie fasi del sottostante ciclo di vita dell’avanzamento della programmazione, così come nello sviluppo di un framework.

L’indagine edilizia è il modo per comprendere la natura in cui un quadro o più quadri proposti funzioneranno e decidere i prerequisiti per il quadro. Le informazioni o i prerequisiti per l’azione di indagine possono emergere da un numero qualsiasi di partner e incorporare cose, ad esempio,

cosa farà il sistema quando sarà operativo (i prerequisiti pratici)

quanto bene il sistema funzionerà nel tempo di esecuzione necessità non utilitaristiche, per esempio, qualità incrollabile, operabilità, produttività di esecuzione, sicurezza, similitudine caratterizzate dalla norma ISO/IEC 25010:2011

tempo di avanzamento necessità non pratiche, ad esempio, fattibilità e trasferibilità caratterizzate dalla norma ISO 25010:2011

le necessità commerciali e gli scenari naturali di un quadro che può cambiare dopo un certo tempo, ad esempio, le preoccupazioni legali, sociali, economiche, aggressive e di innovazione[26].

I rendimenti del movimento d’esame sono quei prerequisiti che influenzano in modo misurabile l’ingegneria di una struttura di prodotto, chiamati requisiti compositivamente degni di nota.

Una miscela o configurazione strutturale è il modo per fare ingegneria. Date le necessità compositivamente critiche controllate dall’indagine, le condizioni attuali della struttura e le conseguenze di eventuali esercizi di valutazione, il progetto viene realizzato e migliorato.:311-326

La valutazione ingegneristica è il modo per decidere quanto la struttura attuale o un segmento di essa soddisfi i prerequisiti determinati durante l’esame. Una valutazione può avvenire in qualsiasi momento un progettista stia pensando alla scelta di un piano, può avvenire dopo che una parte della struttura è stata completata, può avvenire dopo che l’ultima configurazione è stata completata o può avvenire dopo che il framework è stato sviluppato. Una parte delle procedure di valutazione dell’ingegneria di programmazione accessibili incorpora la Design Tradeoff Investigation Strategy (ATAM) e il TARA.[28] Si parla di strutture per il contrasto delle strategie nei sistemi, per esempio, il SARA Report[16] e i Design Audits: Pratica ed esperienza[29].

L’avanzamento della progettazione è il modo per tenere il passo e regolare l’attuale ingegneria di programmazione per soddisfare i cambiamenti nelle necessità e nelle condizioni. Poiché l’ingegneria di programmazione fornisce una struttura di base del quadro di un prodotto, il suo sviluppo e il suo supporto influirebbero essenzialmente sulla sua struttura di base. In questa veste, l’avanzamento della progettazione si preoccupa di includere una nuova utilità, così come di mantenere l’utilità esistente e la condotta del framework.

L’ingegneria richiede esercizi di supporto di base. Questi esercizi di supporto si svolgono durante tutto il processo di ingegneria della programmazione del centro. Essi incorporano informazioni sulla scheda e la corrispondenza, il pensiero del piano e la leadership di base e la documentazione.

Attività di supporto all’architettura

Le esercitazioni di supporto all’ingegneria della programmazione vengono completate durante le esercitazioni di progettazione del centro di programmazione. Queste esercitazioni di supporto aiutano un ingegnere di prodotto a completare l’indagine, l’amalgama, la valutazione e l’avanzamento. Ad esempio, un modellista deve assemblare le informazioni, stabilirsi sulle scelte e registrare durante la fase di indagine.

Le informazioni sulla scheda e la corrispondenza sono la dimostrazione dell’indagine e della supervisione delle informazioni che sono fondamentali per la progettazione di un prodotto. Un product designer non lavora in segregazione. Riceve input, prerequisiti utilitaristici e non pratici, e pianifica le impostazioni, da diversi partner; e dà rendimenti ai partner. Le informazioni di programmazione del design sono spesso dedotte e sono conservate nella testa dei partner. Programmando le informazioni di progettazione, il movimento del consiglio di amministrazione è legato alla scoperta, alla trasmissione e alla conservazione delle informazioni. Poiché i problemi di configurazione dell’ingegneria della programmazione sono sbalorditivi e affidabili, una lacuna informativa nel pensiero della configurazione può portare a una progettazione di ingegneria della programmazione errata.[23][30] Le istanze di informazione che la scheda e gli esercizi di corrispondenza incorporano la ricerca di progetti di configurazione, la prototipazione, la richiesta di ingegneri e pianificatori esperti, la valutazione delle strutture di quadri comparativi, l’invio di informazioni a diversi ideatori e partner e la segnalazione del coinvolgimento con una pagina wiki.

Il pensiero della configurazione e la leadership di base è l’azione di valutare le scelte di piano. Questa azione è fondamentale per ognuna delle tre attività di ingegneria di programmazione del centro.[9][31] Comporta l’assemblaggio e le impostazioni di scelta dei partner, il dettaglio dei problemi di scelta della struttura, la scoperta di alternative di sistemazione e la valutazione dei compromessi prima di decidere. Questa procedura avviene a vari gradi di granularità di scelta, mentre si valutano le necessità strutturali degne di nota e si programmano le scelte progettuali, e si programmano le indagini ingegneristiche, l’amalgama e la valutazione. Gli esercizi di riflessione comprendono la comprensione degli effetti di un prerequisito o di un piano sui tratti di qualità, l’esame dei problemi che una struttura può causare, l’esame delle possibili alternative di disposizione e la valutazione dei compromessi tra le disposizioni.

La documentazione è la dimostrazione della registrazione della struttura creata durante il processo di progettazione del prodotto. Una configurazione del framework è rappresentata utilizzando alcune viste che per la maggior parte del tempo incorporano una vista statica che indica la struttura del codice del framework, una vista unica che dimostra le attività del framework durante l’esecuzione, e una vista dell’organizzazione che indica come un framework è impostato sulle apparecchiature per l’esecuzione. La vista 4+1 di Kruchten propone una rappresentazione delle prospettive solitamente utilizzate per la reportistica dell’architettura di programmazione;[32] Archiviazione delle strutture di programmazione: Perspectives and Past ha rappresentazioni del tipo di documentazione che potrebbe essere utilizzata all’interno della descrizione della vista.[1] Istanze di esercizi di documentazione sono la composizione di una determinazione, la registrazione di un modello di configurazione del framework, l’archiviazione di un metodo di pianificazione del ragionamento, la costruzione di una prospettiva, l’archiviazione delle viste.