Operazione: Identificazione del meccanismo di progettazione
Questo compito illustra come raffinare un meccanismo di analisi in un meccanismo di progettazione.
Scopo
  • Per raffinare un meccanismo di analisi in un meccanismo di progettazione sulla base dei vincoli imposti dall'ambiente di implementazione.
Relazioni
Passi
Categorizzazione dei clienti del meccanismo di analisi

I meccanismi di analisi forniscono degli insiemi concettuali di servizi utilizzati dalle Classi di analisi. Essi offrono una comoda scorciatoia per la gestione dei comportamenti relativamente complessi di cui ci si dovrà comunque preoccupare in seguito, ma che sono fuori ambito in fase di analisi. Il loro scopo principale è quello di consentire l'identificazione dei requisiti dei servizi del sistema da progettare, senza doversi preoccupare dei dettagli del fornitore degli stessi.

Raffinazione delle informazioni raccolte sul meccanismo di analisi. Procedere come segue:

Identificazione del cliente di ciascun meccanismo di analisi. Effettuare la scansione di tutti i clienti di un dato meccanismo di analisi, concentrandosi sulle caratteristiche da esse richieste. Ad esempio, un numero di Classi di analisi potrebbero utilizzare un meccanismo di persistenza, ma i loro requisiti potrebbero essere i più svariati: una classe che abbia un migliaio di istanze di persistenza ha requisiti notevolmente diversi da una classe che ne abbia quattro milioni. Similmente, una classe la cui istanza deve assicurare risposte inferiori al millisecondo ai dati dell'istanza, necessiterà un approccio della persistenza diverso rispetto ad una classe i cui dati dell'istanza siano acceduti tramite query ad-hoc ed applicazioni batch.

Identificazione dei profili delle caratteristiche di ciascun meccanismo di analisi. Ci potrebbero essere svariati profili delle caratteristiche, che assicurino diversi livelli di prestazioni, sicurezza, costi e così via. Ciascun meccanismo di analisi è diverso, e quindi a ciascuno si applicano caratteristiche diverse. Molti meccanismi richiedono una stima del numero di istanze da gestire, e delle loro dimensioni in termini di byte. Lo spostamento un alto numero di dati attraverso il sistema determinerà enormi problemi di prestazioni.

Raggruppamento dei clienti sulla base dell'utilizzo dei profili delle caratteristiche. Tra i gruppi di clienti che sembrano condividere la necessità di un meccanismo di analisi con un profilo delle caratteristiche simile; determinare un meccanismo di progettazione per ciascuna di tali necessità. Tali raggruppamenti consentono di effettuare una prima sgrossatura del meccanismo di progettazione. Ad esempio il meccanismo di analisi "comunicazione tra processi" può essere associato ad un meccanismo di progettazione "broker di richiesta dell'oggetto". Profili delle caratteristiche diversi portano a diversi meccanismi di progettazione che emergono dallo stesso meccanismo di analisi. Il semplice meccanismo di persistenza in analisi porterà ad un numero elevato di meccanismi di persistenza nella progettazione: persistenza in memoria, basata sul file, basata sul database, distribuita e così via. I meccanismi di progettazione sono la rifinitura dei meccanismi di analisi, basati su profili dalle caratteristiche differenti.

Inventario del meccanismo di implementazione

Procedere al contrario ed effettuare un inventario dei meccanismi di implementazione (consultare Concetto: Meccanismi di progettazione ed implementazione) a propria disposizione:

  • Meccanismi offerti da un prodotto middleware o da un framework componenti.
  • Meccanismi offerti da sistemi operativi.
  • Meccanismi offerti da componenti.
  • Meccanismi offerti da una libreria classi.
  • Codice legacy (consultare anche Compito: Incorporazione di elementi di progettazione esistenti)
  • Pacchetti per uno scopo specifico: Programma di creazione GUI , Geographical Information System, DBMS, e così via.

Determinare se è possibile utilizzare dei meccanismi di implementazione esistenti e dove sia necessario crearne di nuovi.

Associazione di meccanismi di progettazione a meccanismi di implementazione

I meccanismi di progettazione rappresentano un'astrazione dei meccanismi di implementazione, fungendo da ponte tra i meccanismo di analisi e quelli di implementazione. L'uso di meccanismi architetturali astratti durante la progettazione permette di considerare come si intende fornire un meccanismo architetturale senza però trascurare il problema concreto dei dettagli di un determinato meccanismo. Consente inoltre potenzialmente di sostituire uno specifico meccanismo di implementazione con un altro senza compromettere la progettazione.

Determinazione dell'intervallo delle caratteristiche. Prendere le caratteristiche identificate per il meccanismo di progettazione per determinare intervalli valori ragionevoli, economici ed fattibili da utilizzare in uno potenziale meccanismo di implementazione.

Considerazione dei costi di acquisizione dei componenti comprati. Per il meccanismo di implementazione candidato, oltre ai criteri tecnici considerare i costi di acquisizione o di concessione di licenza, l'età del prodotto, le relazioni con il fornitore, il supporto e così via.

Conduzione della ricerca dei componenti corretti, o della loro build. Spesso capiterà che non vi sarà alcun meccanismo di implementazione apparentemente adatto per alcuni meccanismi di progettazione; questo sarà lo stimolo per la ricerca del prodotto corretto o per l'identificazione della necessità di sviluppo all'interno. Potrà inoltre capitare che alcuni meccanismi di implementazione non vengano utilizzati affatto.

La scelta di meccanismi di implementazione si basa non solo sulle caratteristiche tecniche, ma anche su altre, quali i costi. Alcune scelte potranno essere provvisorie; quasi tutte hanno dei rischi annessi: prestazioni, solidità e scalabilità sono quasi sempre delle preoccupazioni che devono essere considerate in fase di valutazione, di studio del prototipo o incluse nel prototipo architetturale.

Documentazione del meccanismo architetturale

Il ruolo dell'Architetto del software in questo compito è quello di decidere i meccanismi e convalidarli effettuandone la build, integrandoli e verificando che lavorino correttamente per poi imporli in modo congruente al resto della progettazione del sistema. L'Architetto del software collabora con il tecnico del processo per documentare il meccanismo ed i dettagli relativi al suo utilizzo nella guida alla progettazione specifica del progetto. Consultare Compito: Preparazione della guida specifica del progetto. La relazione (o associazione) dei meccanismi di analisi ai meccanismi di progettazione a quelli di implementazione, ed i razionali associati a queste scelte devono essere documentati nel Documento dell'architettura software . Questi meccanismi sono essi stessi elementi del modello di progettazione (quali il pacchetto di progettazione, la classe di progettazione, ed il sottosistema di progettazione) che sono descritti in Prodotto di lavoro: Modello di progettazione come parte dei loro rispettivi compiti di progettazione.



Proprietà
Ricorrenze multiple
Attivato da evento
In corso
Facoltativo
Pianificato
Ripetibile
Ulteriori informazioni