Modelli di progettazione per l'ingegneria del Software

2013-11-27  |  News

Introduzione

Modelli di progettazione sono un concetto relativamente nuovo nell'ingegneria del software e hanno la loro origine nell'ingegneria civile. Essi sono essenzialmente un piano per risolvere un problema specifico, permettendo che i benefici di un ideale per essere trasportato in avanti per le nuove distribuzioni.

L'applicazione di modelli di progettazione nel campo dell'ingegneria del software è stata formalizzata nel libro "design patterns: elementi del riutilizzabile di Software orientato agli oggetti" di Eric Gamma, Richard Helm, Ralph Johnson e John Vlissides, nel libro n/a selezionato prima 23 modelli considerati fondamentali per capire il modello di approccio nella soluzione di problemi di ingegneria del software.

Mentre questo libro conteneva anche molti principi, ha fatto un modello generale per il modello d'uso disponibile al più vasto pubblico. Successivamente, applicando modelli ancora non si diventa una palestra a modello. Gli ingegneri sono per decidere che il migliore utilizzare modelli in diverse applicazioni.

Struttura dei modelli di progettazione

È chiaro che dobbiamo fare la struttura in cui i modelli possono essere formulati; Ciò permette che possono essere in gran parte documentazione. Infatti, uno dei principi dell'uso del design pattern è che essi devono essere strutturati, permettendo a ciascuno di essere creato da un modello.

Essa deve contenere almeno un modello:

nome o modello: breve ma descrittivo;

o intenti: lo scopo della guida di riferimento;

o motivazione: un esempio di un problema, e come questo modello sta per essere risolto;

o applicabilità: utilizzato per questo modello;

o struttura: diagrammi di generi di modelli;

o partecipanti: le responsabilità delle classi nel modello;

o collaborazioni: interfacce tra i partecipanti;

o conseguenze: qualsiasi compensazione e forze esistenti all'interno della guida di riferimento.

Questo elenco è adattato da quello fornito dagli autori dei modelli di progettazione e può essere utilizzato come duro o liberamente come richiesto. Alcuni aspetti dimostrerà non aggiunge alcun valore utile al modello, ma sono forniti qui per completezza.

Anche abbiamo rifiutato di usare il termine 'classi e oggetti', come al solito in discussioni di design pattern, preferendo usare solo il termine 'classi'. La ragione di questo è di uno preferenza della progettazione orientata - se un modello deve essere definito in termini di oggetti, quindi una certa decisione di attuazione è stato fatta e forzata su futuri genitori adottivi dal pattern specificato.

Applicazione di modelli di progettazione nell'ingegneria del Software

Uno dei principali vantaggi nell'utilizzo di modelli di progettazione nell'ingegneria del software è come un mezzo per migliorare la comunicazione tra progettisti e, in qualche misura, tra coloro che non sono programmatori e programmatori. In altre parole, come strumento di comunicazione, modelli possono essere molto preziosi.

In aggiunta, l'astrazione delle soluzioni ai problemi più comuni nell'ingegneria del software, modelli di progettazione possono essere utilizzati più e più volte. Poiché ogni volta che hanno usato una soluzione provata, livello di design del riuso è molto alta. Ciò migliora la qualità delle implementazioni conseguente ulteriore rispetto a quello che può essere realizzato utilizzando tecniche solo orientato agli oggetti.

L'applicazione di modelli di progettazione nel mondo reale deve necessariamente essere in relazione altri principi già applicati. In altre parole, pur offrendo soluzioni ai problemi più comuni dell'ingegnerizzazione del software, non c'è nessun valore aggiunto nella creazione di modelli per ogni parte di un sistema di sviluppo.

D'altra parte, deve essere utilizzato nei casi in cui l'applicazione risultante (o disegno) è probabile avere un utilizzo in progetti futuri. In sostanza, come meglio utilizzare i modelli di progettazione nell'ingegneria del software è di fornire comportamenti standard tra classi altamente specializzate in un sistema software. Non è una tecnica di disegno, nella forma che in cui sono altri paradigmi.

Panoramica

I motivi per l'utilizzo di modelli di progettazione sono essenzialmente in parallelo all'uso qualsiasi tecniche orientate agli oggetti. Design pattern, promuovere il riutilizzo, distribuzioni senza restrizioni a una specifica piattaforma o linguaggio e promuovere un uso efficiente della fase di progettazione. Che può essere visto come l'equivalente di progettazione della programmazione modulare o obiezione-orientato.

Suoi punti di forza, tuttavia, anche può essere visto come la sua debolezza. Di non essere applicate in pratica, il programmatore è ancora necessario codificarli in realtà, e come tali errori nell'interpretazione si tradurrà nel codice finale. Questo significa che diversi programmatori possono finire con diverse implementazioni del modello stesso, possibilmente anche con comportamenti diversi.

Lavorare con modelli di progettazione, quindi è importante ricordare che essi devono essere sufficientemente precise che non esiste nessun possibili interpretazioni. Utilizzando la definizione di un linguaggio di alto livello che può essere dimostrato di essere corretto contribuirà a garantire questo.

« Back