La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

L’ingegneria del software

Presentazioni simili


Presentazione sul tema: "L’ingegneria del software"— Transcript della presentazione:

1 L’ingegneria del software
Svolto dalle alunne: Calabrese A.M. - Cristaudo G. - Perri F. Della classe IV D a.s 2001/2002

2 Che cos’è l’ingegneria del software?
Per ingegneria del software si intende tutta quella parte dell’informatica legata alla progettazione, alla produzione e alla manutenzione dei programmi atta a ridurre i costi di produzione del software migliorandone la qualità.

3 Ciclo di vita del software
Il ciclo di vita del software è l’insieme delle fasi che formano il programma dalla sua creazione fino al momento in cui non viene più utilizzato. Le fasi sono: - Analisi e progetto - Realizzazione - Manutenzione

4 Analisi e progetto L’analisi è la fase in cui si esamina il problema le esigenze degli utenti e le risorse disponibili (studio di fattibilità) individuando gli obiettivi che si vogliono realizzare. Il progetto è la fase in cui viene impostata la soluzione generale, definendo le strutture dei dati, descrivendo a grandi linee la struttura e il funzionamento di ogni componente del sistema.

5 Realizzazione Le varie procedure vengono codificate nel linguaggio di programmazione scelto e successivamente si effettuano le prove di funzionamento e vari test per l’individuazione e correzione di eventuali errori (di sintassi e logici. La seconda fase consiste nel rilascio del prodotto software (release e collaudo ) al committente per l’avviamento, pronto per essere utilizzato dal cliente.

6 Manutenzione La fase di manutenzione accompagna la vita di un prodotto software dal suo rilascio fino al momento in cui non verrà più utilizzato. Questa fase é attiva quando si verificano malfunzionamenti dovuti a casi particolari del prodotto o ad errori non sufficientemente testati o non considerati o da parte del sistema .

7 Modelli di approccio al ciclo di vita del software
MODELLO A CASCATA: questo modello divide il ciclo di vita del software in una serie di fasi, alcune delle quali sono strettamente sequenziali dove l’output di ogni fase è input per la fase successiva. PROTOTIPIZZAZIONE RAPIDA: la prototipizzazione rapida prevede la costruzione di prototipi durante le prime fasi di sviluppo di un sistema. Esistono due modalità di realizzazione di prototipi: modello “usa e getta”; modello “a spirale”.

8 Realizzazione software di qualità
Per metodologia si intende lo studio razionale per definire metodi efficaci. Il metodo é l’insieme delle operazioni o modalità per sviluppare un processo. Per produrre software di qualità occorre conoscere le metodologie di sviluppo del software. Tali metodologie permettono di facilitare il lavoro del progettista software. Il metodo top-down é quella tecnica che suddivide il progetto in parti più piccole in modo che siano più facilmente controllabili e realizzati in parallelo.

9 Le fasi Analisi definire il problema con documentazione chiara e
completa; definire le specifiche funzionali e le risorse impegnate definire bene la struttura dei dati; definire bene i rapporti tra le varie componenti del sistema quando ci sono programmi che interagiscono tra di loro. Realizzazione usare la programmazione strutturata; suddividere il problema in parti sufficientemente piccole utilizzare nomi significativi per le variabili e i file introdurre nel programma alcuni commenti per specificare la funzione dei vari blocchi eseguire bene i test

10 Il software deve essere corredato da una buona documentazione:
- ANALISI DEL PROBLEMA - ANALISI DETTAGLIO - STRUTTURA DATI - ALGORITMO E CODIFICA

11 Metodologie di progetto
Per facilitare la costruzione del software, negli anni sono state sviluppate varie metodologie di progetto Sono nate metodologie per l’analisi e la descrizione dei dati, metodologie complete che guidano il progettista in tutte le fasi del ciclo di vita, metodologie per l’analisi funzionale, metodologie in base al campo di applicazione del software. Importante sono gli aspetti che devono essere trattati dai vari metodi. aspetto funzionale (cosa devono fare i componenti del sistema) aspetto temporale (quando e come si devono fare, sincronizzazione) aspetto dei dati (come vanno descritti i dati su cui le componenti devono agire)

12 Le metodologie di progetto più diffuse sono
JACKSON (aspetti funzionali e dati) WARNIER (aspetti funzionali e dati) DIAGRAMMA DI FLUSSO (analisi funzionali) DATA FLOW DIAGRAM (flusso dei dati e delle funzioni, aspetti funzionali e a volte anche temporali) SADT (Structured Analisys and Design Technique flusso dei dati e delle funzioni che agiscono su di loro) ENTITÀ-RELAZIONI (descrizione dei dati) UML (Unified Modeling Language metodologia ad aggetti)

13 Data Flow Diagram Il DFD (Data Flow Diagram) o diagramma di
flusso sono usati sia nell’analisi funzionale sia come strumento per descrivere l’interazione tra le varie componenti del programma e l’esterno. Servono per descrivere mediante simboli grafici e i dati gli input ed output dell’elaborazione. I sistemi DFD sono composti da dati e procedure e sono molto usati nella fase di analisi e progetto e si basano sulla scomposizione del sistema in sottocomponenti. Ogni sottosistema può essere dettagliato con l’indicazione dei suoi sottosistemi e dei dati su cui lavora. Le strutture dei dati vengono normalmente descritte utilizzando altre metodologie come ad esempio il metodo Entity-Relationship, (Entità - Relazione)

14 Entità - relazioni Il modello é conosciuto come E-R e si basa sul concetto che é possibile modellare la realtà individuando delle entità e delle relazioni (associazioni) tra di esse. Le entità sono elementi della realtà che vengono raggruppati in una classe essendo dotati di caratteristiche comuni. Il termine entità viene spesso usato indistintamente per indicare sia la classe sia la singola istanza e vengono rappresentate con un rettangolo. Gli attributi o caratteristiche sono le proprietà attraverso cui é possibile descrivere un’entità (ma anche associazione) e vengono rappresentati con punti collegati a entità o ad associazioni. Le relazioni sono invece legami logici tra due o più entità e vengono rappresentate graficamente con un rombo.

15 Le Associazioni Corrispondono esattamente al concetto matematico fra insiemi. Le relazioni sono: 1:1 (uno ad uno o biunivoca): ad ogni elemento del primo insieme corrisponde uno ed uno soltanto del secondo insieme, è vero anche il viceversa: esempio Pagella, Alunno. 1:N (uno a molti o semplice): ad ogni elemento del primo insieme possono corrispondere più elementi del secondo insieme, mentre ad un elemento del secondo insieme deve corrispondere uno ed un solo elemento del primo insieme: esempio Medico Curante, Paziente. É di proprietà Pagella Alunno Ha in cura Medico Paziente

16 M:N (molti a molti o complessa): ad ogni elemento del primo insieme possono corrispondere più elementi del secondo insieme e viceversa: esempio Studente, Materia. Segue Studente Materia

17 F I N E


Scaricare ppt "L’ingegneria del software"

Presentazioni simili


Annunci Google