Concetto: Specifica dei componenti
La specifica dei componenti rappresenta una descrizione che illustra una serie di componenti hardware e software che compongono il sistema.
Relazioni
Descrizione principale

Introduzione

Il passaggio da livello di analisi a quello di progettazione dell'architettura implica lo stabilire una progettazione dei componenti hardware software. La specifica del livello progettazione consiste nei componenti da distribuire: hardware, software e risorse umane.

I componenti hardware vengono determinati analizzando le località, le relative caratteristiche derivate e le operazioni dei sottosistemi ospitati. Con queste informazioni possono essere selezionate le realizzazioni di livello Descrittore delle località. I diagrammi del nodo descrittore specificano i componenti, i server, le workstation, le risorse umane, ecc. ecc. senza scelte specifiche di tecnologie che implementano quei componenti. La figura è un esempio di diagramma di nodo Descrittore che realizza il diagramma Località mostrato in Concetto: Località. L'adempimento della località viene realizzato sotto forma di quattro componenti: un gateway warehouse, un sistema di posta/affrancatura e due risorse lavorative.

I nodi Descrittore ereditano le caratteristiche dalle rispettive località mediante un'assegnazione o un processo di budget.

Diagramma descritto in accompanying text.

Hardware

I componenti hardware di implementazione, l'effettivo insieme hardware distribuito, vengono determinati effettuando delle attività economiche costo/prestazione/capacità dalla vista Descrittore. Infatti un sistema potrebbe disporre di più di una configurazione hardware, ciascuna con punti prezzo/prestazione differenti. 

Software

I componenti vengono determinati specificando una serie di classi e compilando ed assemblando in file eseguibili il codice associato a quelle classi. Una progettazione di componente software completa deve riflettere una varietà di considerazioni: 

  • Località—dove devono andare in esecuzione i componenti
  • Istruzioni host—serie di istruzioni del processore e limitazioni di memoria per il codice in esecuzione
  • Simultaneità—la suddivisione dell'elaborazione su host o spazi di memoria diversi per ottenere affidabilità e concetti correlate

Le informazioni necessarie a specificare i componenti includono la valutazione delle operazioni dei sottosistemi ospitati relativa alle località ed ai componenti hardware realizzati, la valutazione delle operazioni eseguite per i processi, oltre alle collaborazioni, realizzando le operazioni dei sottosistemi, che consentono alla serie di classi di essere composte in una struttura di componenti.

Come prima approssimazione, supponiamo che tutte le classi risiedano in un unico componente, fornendo una corrispondenza uno-a-uno del componente con il sistema—questo è il suggerimento di base fornito in Guida del prodotto di lavoro: Sottosistema di progettazione. Quindi, cercare delle motivazioni per suddividere ulteriormente il componente. Se la serie di classi contiene più di una classe attiva, che rappresenta un processo, considerare la partizione di una classe attiva (processo) per componente, raccogliendo in un cluster le classi con le relazioni più forti. Alcune classi possono quindi essere utilizzate da più componenti. Se una di queste classi rappresenta uno stato condiviso in un insieme comune di istanze che devono essere accedute da diversi componenti, allora è il caso di suddividerle in un altro componente a parte. Se le classi condivise sono senza stato, si può scegliere di separarle in un componente di servizi (un componente funzionale senza stato), se sono funzionalmente coesive. Anche in un sistema passivo (senza classi attive), è possibile scegliere di creare ulteriori partizioni, ad esempio, per disporre di componenti riutilizzabili ancora più finemente definiti. Terminare il processo ripartendo/suddividendo ulteriormente i componenti per giustificare specifiche scelte tecnologiche (ad esempio la piattaforma J2EE™ o Microsoft® .NET), vincoli di memoria (ad esempio i compromessi.exe e .dll), limitazione di invio di supporti, e così via. 

Queste operazioni hanno come risultato una serie di specifici componenti hardware e software che formano il sistema.