Modeling misto

Il protocollo Modeling misto utilizza modelli concettuali mantenuti ed estesi iterativamente per tutta la durata del sistema. È possibile continuare a perfezionare i modelli concettuali per tutto il processo di sviluppo del sistema. È possibile utilizzare le trasformazioni nel modello concettuale per generare il codice 3GL.
Il protocollo Modeling misto unisce modeling concettuale e concreto secondo una modalità univoca. I prodotti IBM Rational supportano e consentono di svolgere le seguenti attività:

Questa tecnica implica l'utilizzo di trasformazioni progettate per convertire elementi concettuali in elementi concreti all'interno dello stesso modello e che sono rappresentati nello stesso diagramma di modello. In questo scenario, qualsiasi elemento di modello a livello di progettazione, ad esempio una classe UML, che viene utilizzato come un input diretto per la trasformazione di generazione del codice, viene utilizzato per generare un'entità a livello di codice corrispondente. L'elemento di modello concettuale originale viene eliminato e la relativa notazione nel diagramma viene sostituita con un riferimento all'elemento di modello concreto generato. Il diagramma può ancora visualizzare le relazioni tra l'elemento del modello di codice e altri elementi del modello concettuale, che non sono stati sostituiti allo stesso modo dalla trasformazione.

Con questa tecnica, è possibile anche trascinare gli elementi da un modello concreto, quale codice Java o C++, in un diagramma concettuale UML, archiviato in un modello UML. È possibile quindi rappresentare determinati tipi di relazioni tra gli elementi concettuali e gli elementi concreti del modello. Questo metodo supporta un processo iterativo in cui viene effettuato l'utilizzo ripetuto di trasformazioni che eseguono questo processo al posto della sostituzione semantica. Ciò significa che un architetto può specificare la prima iterazione di progettazione utilizzando modelli concettuali e generare quindi il codice dalle parti del modello che sono state riviste e approvate.

L'architetto può quindi continuare a sviluppare il progetto nelle iterazioni successive. Quando vengono approvati altri aspetti del progetto, l'architetto potrà trasformarli allo stesso modo. Le parti del progetto di cui è stato precedentemente eseguito il commit nel codice vengono rappresentate nei diagrammi misti risultanti accanto a quelle parti di cui non è stato ancora eseguito il commit. Gli elementi di cui è stato eseguito il commit riflettono sempre lo stato corrente dell'implementazione man mano che l'implementazione si evolve, in quanto tali elementi sono semplicemente immagini riflesse di diagramma del codice stesso.

Applicazione

Il modeling misto si adatta perfettamente ad un approccio di progettazione iterativo. La progettazione e l'implementazione vengono in genere eseguite da individui diversi e l'architetto richiede solo una chiara visibilità per l'evoluzione delle implementazioni, senza mantenere uno stretto controllo. Adottare questo approccio se si ritiene che il vantaggio aggiunto dall'essere in grado di mantenere il record in corso a livelli più alti di astrazione che può essere rappresentato insieme all'implementazione dello stato corrente sia più gravoso del sovraccarico supplementare di mantenere i modelli concettuali.

Vantaggi

Il modeling misto fornisce sia i vantaggi dell'approccio di modeling concreto che i vantaggi del modeling concettuale, all'interno di un approccio di progettazione iterativo. Il modeling misto fornisce anche all'architetto un livello di controllo basato sulla visibilità. Di conseguenza, il modeling misto fornisce un grado di controllo più elevato rispetto al modeling concreto o concettuale. Questo approccio, consente inoltre all'architetto e agli sviluppatori di aggiornare iterativamente e simultaneamente il modello misto e l'implementazione. I diagrammi di modeling misto riflettono automaticamente e immediatamente entrambe le modifiche.

Considerazioni

Il modeling misto fornisce i vantaggi del modeling concreto e del modeling concettuale ma richiede un maggior lavoro di pianificazione e manutenzione di entrambi i diagrammi e del codice di implementazione. Ciascuna iterazione richiede una trasformazione che può aggiungere tempo al progetto.

Esempio

Il modeling misto inizia con l'utilizzo dei modelli concettuali e continua fino alla generazione del codice, come descritto nell'approccio Modelli concettuali basati su modelli concreti. Nel protocollo Modeling misto, tuttavia, la trasformazione da modello a codice viene indirizzata per sostituire gli elementi UML, su cui si basano gli elementi del codice, con riferimenti diretti agli elementi del codice generato. Il risultato è un modello misto. Il modeling misto fornisce un contenuto concettuale più astratto che resta nel modello UML e continua ad evolversi come un'espressione attiva della modalità, mentre i diagrammi al suo interno mostrano le relazioni di perfezionamento al codice di implementazione corrispondente. In questo modo gli architetti che controllano i modelli concettuali avranno una visibilità aggiornata delle decisioni prese dagli sviluppatori, ma mano che questi gestiscono il codice mediante la modifica visiva 3GL.


Feedback