FONDAMENTI DI INFORMATICA Prof. PIER LUCA MONTESSORO Facoltà di Ingegneria Università degli Studi di Udine Cenni sull ingegneria del software e sulla qualità dei programmi 2003 Pier Luca Montessoro (vedere nota di copyright a pag. 2) 1
Nota di Copyright Questo insieme di trasparenze (detto nel seguito slide) è protetto dalle leggi sul copyright e dalle disposizioni dei trattati internazionali. Il titolo ed i copyright relativi alle slides (ivi inclusi, ma non limitatamente, ogni immagine, fotografia, animazione, video, audio, musica e testo) sono di proprietà dell autore prof. Pier Luca Montessoro, Università degli Studi di Udine. Le slide possono essere riprodotte ed utilizzate liberamente dagli istituti di ricerca, scolastici ed universitari afferenti al Ministero della Pubblica Istruzione e al Ministero dell Università e Ricerca Scientifica e Tecnologica, per scopi istituzionali, non a fine di lucro. In tal caso non è richiesta alcuna autorizzazione. Ogni altro utilizzo o riproduzione (ivi incluse, ma non limitatamente, le riproduzioni su supporti magnetici, su reti di calcolatori e stampe) in toto o in parte è vietata, se non esplicitamente autorizzata per iscritto, a priori, da parte dell autore. L informazione contenuta in queste slide è ritenuta essere accurata alla data della pubblicazione. Essa è fornita per scopi meramente didattici e non per essere utilizzata in progetti di impianti, prodotti, reti, ecc. In ogni caso essa è soggetta a cambiamenti senza preavviso. L autore non assume alcuna responsabilità per il contenuto di queste slide (ivi incluse, ma non limitatamente, la correttezza, completezza, applicabilità, aggiornamento dell informazione). In ogni caso non può essere dichiarata conformità all informazione contenuta in queste slide. In ogni caso questa nota di copyright e il suo richiamo in calce ad ogni slide non devono mai essere rimossi e devono essere riportati anche in utilizzi parziali. 2003 Pier Luca Montessoro (vedere nota di copyright a pag. 2) 2
Ingegneria del software Definizione IEEE: Applicazione di un approccio sistematico, disciplinato e quantificabile allo sviluppo, all operatività e alla manutenzione del software NOTA: per software si intende programmi, procedure, documentazione, dati relativi all operatività di un sistema di elaborazione 2003 Pier Luca Montessoro (vedere nota di copyright a pag. 2) 3
Ingegneria del software Disciplina tecnologica e gestionale: rispetto dei tempi e costi preventivati soddisfacimento delle funzionalità gestione della manutenzione e dell aggiornamento anche in relazione alle evoluzioni della tecnologia 2003 Pier Luca Montessoro (vedere nota di copyright a pag. 2) 4
Ciclo di vita del software Esistono diversi modelli I più noti sono: modello a cascata modello a spirale 2003 Pier Luca Montessoro (vedere nota di copyright a pag. 2) 5
Studio di fattibilità Analisi e specifica dei requisiti Modello a cascata Progettazione Programmazione e test dei singoli moduli Integrazione e test del sistema completo Manutenzione 2003 Pier Luca Montessoro (vedere nota di copyright a pag. 2) 6
Modello a spirale (analisi dei rischi) Determinazione obiettivi, alternative e vincoli Valutazione delle alternative, identificazione e risoluzione dei rischi Pianificazione della fase successiva Sviluppo e verifica del prossimo livello di prodotto 2003 Pier Luca Montessoro (vedere nota di copyright a pag. 2) 7
Qualità esterne Qualità del software riguardano il comportamento del prodotto percepibile dall esterno ( scatola nera ) sono l obiettivo finale Qualità interne percepibile mediante esame interno del software o del processo che lo ha generato ( scatola trasparente ) consentono un più facile raggiungimento delle qualità esterne 2003 Pier Luca Montessoro (vedere nota di copyright a pag. 2) 8
Correttezza Efficienza Qualità esterne spazio di memoria tempo di esecuzione Robustezza gestione di situazioni impreviste (dalle specifiche, ma previste dal programmatore) Usabilità 2003 Pier Luca Montessoro (vedere nota di copyright a pag. 2) 9
Qualità interne Modularità e riusabilità dei componenti Trasparenza ( information hiding ) Manutenibilità (per correzioni, adattamenti a nuove specifiche, ampliamenti) Portabilità Leggibilità del codice e documentazione... 2003 Pier Luca Montessoro (vedere nota di copyright a pag. 2) 10
Strumenti tecnici e formali Per gestire lo sviluppo e la manutenzione del software e per garantire, controllare e misurare le caratteristiche esistono strumenti software (CASE: Computer Aided Software Engineering) e appositi formalismi 2003 Pier Luca Montessoro (vedere nota di copyright a pag. 2) 11