Il 0% ha trovato utile questo documento (0 voti)
11 visualizzazioni5 pagine

Problemi Di Design Del Software

Questo documento discute i concetti chiave nel design del software. Definisce il design del software come la trasformazione dei requisiti del cliente in una forma adatta per l'implementazione. Le attività di design sono classificate come design preliminare (a livello alto) e design dettagliato. Il design preliminare identifica i moduli, le relazioni di controllo e le interfacce, mentre il design dettagliato specifica le strutture dati e gli algoritmi. Il documento contrasta l'analisi, che comprende i problemi, e il design, che produce un modello implementabile. Gli elementi sviluppati nel design includono moduli, relazioni di controllo, interfacce, strutture dati e algoritmi. Vengono discusse le caratteristiche di un buon design, come correttezza, comprensibilità, efficienza e manutenibilità. Il documento delinea le caratteristiche di un documento di design efficace, come nomi significativi, modularità e organizzazione gerarchica.

Tradotto da

ScribdTranslations
Copyright
© All Rights Reserved
Per noi i diritti sui contenuti sono una cosa seria. Se sospetti che questo contenuto sia tuo, rivendicalo qui.
Formati disponibili
Scarica in formato PDF, TXT o leggi online su Scribd
Il 0% ha trovato utile questo documento (0 voti)
11 visualizzazioni5 pagine

Problemi Di Design Del Software

Questo documento discute i concetti chiave nel design del software. Definisce il design del software come la trasformazione dei requisiti del cliente in una forma adatta per l'implementazione. Le attività di design sono classificate come design preliminare (a livello alto) e design dettagliato. Il design preliminare identifica i moduli, le relazioni di controllo e le interfacce, mentre il design dettagliato specifica le strutture dati e gli algoritmi. Il documento contrasta l'analisi, che comprende i problemi, e il design, che produce un modello implementabile. Gli elementi sviluppati nel design includono moduli, relazioni di controllo, interfacce, strutture dati e algoritmi. Vengono discusse le caratteristiche di un buon design, come correttezza, comprensibilità, efficienza e manutenibilità. Il documento delinea le caratteristiche di un documento di design efficace, come nomi significativi, modularità e organizzazione gerarchica.

Tradotto da

ScribdTranslations
Copyright
© All Rights Reserved
Per noi i diritti sui contenuti sono una cosa seria. Se sospetti che questo contenuto sia tuo, rivendicalo qui.
Formati disponibili
Scarica in formato PDF, TXT o leggi online su Scribd

Modulo

4
Problemi di design del software

Versione 2 CSE IIT, Kharagpur


Lezione
8
Concetti di base in
Progettazione del Software
Versione 2 CSE IIT, Kharagpur
Obiettivi Didattici Specifici
Alla fine di questa lezione, lo studente sarà in grado di:

• Identifica le attività di progettazione software.


• Identificare gli elementi da progettare durante la fase preliminare e dettagliata
design activities.
• Identificare le principali differenze tra le attività di analisi e di design
• Identificare gli elementi importanti sviluppati durante la fase di progettazione del software.
• Elenca le importanti caratteristiche desiderabili di un buon design software.
• Identificare le caratteristiche necessarie di un documento di design per facilitare
comprensibilità.

Progettazione software e le sue attività


La progettazione del software si occupa di trasformare i requisiti del cliente, poiché
descritto nel documento SRS, in una forma (un insieme di documenti) che sia adatta
per l'implementazione in un linguaggio di programmazione. Un buon design del software è
raramente arrivò utilizzando una procedura a singolo passaggio, ma piuttosto attraverso diversi
iterazioni attraverso una serie di passaggi. Le attività di design possono essere ampiamente classificate
in due parti importanti:

• Progettazione preliminare (o di alto livello) e


• Design dettagliato.

Attività di progettazione preliminare e dettagliata

Il significato e l'ambito di due attività di design (cioè, di alto livello e dettagliate)


Il design tende a variare considerevolmente da una metodologia all'altra. A livello superiore
il design significa identificazione di diversi moduli e le relazioni di controllo
tra di loro e la definizione delle interfacce tra questi moduli. Il
l'esito del design di alto livello è chiamato struttura del programma o software
architettura. Sono stati utilizzati molti tipi diversi di notazioni per rappresentare un
design ad alto livello. Un modo popolare è utilizzare un diagramma ad albero chiamato struttura
grafico per rappresentare la gerarchia di controllo in un design di alto livello. Tuttavia, altri
notazioni come il diagramma di Jackson [1975] o il diagramma di Warnier-Orr [1977, 1981]
può essere utilizzato. Durante la progettazione dettagliata, la struttura dei dati e gli algoritmi
dei diversi moduli sono progettati. Il risultato della fase di progettazione dettagliata
è solitamente conosciuto come il documento di specifica del modulo.

Differenza tra analisi e progettazione


L'obiettivo dell'analisi è comprendere il problema con l'intento di eliminare qualsiasi
deficienze nella specifica dei requisiti come incompletezze,

Versione 2 CSE IIT, Kharagpur


incongruenze, ecc. Il modello che stiamo cercando di costruire potrebbe essere o potrebbe non essere
Sii pronto.

L'obiettivo del design è produrre un modello che fornisca un'esperienza senza interruzioni
transizione alla fase di codifica, ovvero una volta che i requisiti sono stati analizzati e trovati
Per essere soddisfacente, viene creato un modello di design che può essere facilmente implementato.

Elementi sviluppati durante la fase di progettazione del software

Affinché un design possa essere facilmente implementato in un linguaggio di programmazione convenzionale,


i seguenti elementi devono essere progettati durante la fase di progettazione.

• Moduli diversi necessari per implementare la soluzione di design.

• Controlla la relazione tra i moduli identificati. La relazione è anche


noto come relazione di chiamata o relazione di invocazione tra moduli.

• Interfaccia tra diversi moduli. L'interfaccia tra diversi moduli


identifica i dati esatti scambiati tra i moduli.

• Data structures of the individual modules.

• Algoritmi necessari per implementare ogni singolo modulo.

Caratteristiche di un buon design software


La definizione di “un buon design software” può variare a seconda dell'applicazione
essere progettato. Ad esempio, la dimensione della memoria utilizzata da un programma può essere un
questione importante per caratterizzare una buona soluzione per il software embedded
sviluppo – poiché le applicazioni embedded sono spesso richieste per essere
implementato utilizzando memoria di dimensioni limitate a causa del costo, dello spazio o della potenza
considerazioni sul consumo. Per le applicazioni embedded, si può sacrificare
progettare la comprensibilità per raggiungere la compattezza del codice. Per incorporato
nelle applicazioni, fattori come la comprensibilità del design potrebbero passare in secondo piano mentre
giudicando la bontà del design. Pertanto, i criteri utilizzati per giudicare quanto sia buono un
La soluzione di design fornita può variare ampiamente a seconda dell'applicazione. Non solo
la bontà del design dipende dall'applicazione mirata, ma anche dal
la nozione di bontà di un design varía ampiamente tra gli ingegneri del software e
accademici. Tuttavia, la maggior parte dei ricercatori e degli ingegneri del software concorda su una
pochi tratti desiderabili che ogni buon design software dovrebbe avere in generale
l'applicazione deve possedere. Le caratteristiche sono elencate di seguito:

• Correttezza: un buon design dovrebbe implementare correttamente tutto il


funzionalità identificate nel documento SRS.
• Understandability:A good design is easily understandable.

Versione 2 CSE IIT, Kharagpur


• Efficiency:It should be efficient.
• Manutenibilità: dovrebbe essere facilmente soggetto a modifiche.

Possibilmente il criterio di bontà più importante è la correttezza del design. Un design


deve essere corretto per essere accettabile. Dato che una soluzione di design è corretta,
la comprensibilità di un design è probabilmente la questione più importante da affrontare
considerato mentre si giudica la bontà di un design. Un design che è facile da
è anche facile da sviluppare, mantenere e cambiare. Pertanto, a meno che un design
è facilmente comprensibile, richiederebbe uno sforzo notevole per essere implementato e
mantenerlo.

Caratteristiche di un documento di design

Per facilitare la comprensione, il design dovrebbe avere i seguenti


features:

• Dovrebbe usare nomi coerenti e significativi per vari design


componenti.
• Il design dovrebbe essere modulare. Il termine modularità significa che dovrebbe
usa un insieme di moduli pulitamente decomposto.
• Dovrebbe disporre i moduli in modo ordinato in una gerarchia, ad esempio in una forma simile a un albero.
diagramma.

Versione 2 CSE IIT, Kharagpur

Potrebbero piacerti anche