Ingegneria del software

Ciclo di Vita del software.Gestione dei progetti software.La qualità del software.Ingegneria dei requisiti.Progettazione delle interfacce.(appunti delle lezioni di ingegneria del software della prof.N.Morley-formato word 21 pagg.) (0 pagine formato doc)

Appunto di pippo20
Ingegneria del software Ingegneria del Software Prefazione I presenti appunti sono stati presi durante le lezioni di Ingegneria del Software tenute dalla prof.
Natalie Morey, pertanto alcune parti del programma sono state trattate meno ampliamente di altre. Indice Introduzione pag. 1 Il processo pag. 2 Il ciclo di vita del software pag. 2 I modelli del processo pag. 3 La visibilità del processo pag. 7 Gestione dei progetti software pag. 7 La qualità del software pag. 10 Ingegneria dei requisiti pag. 13 Progettazione delle interfacce pag. 17 Progettazione dell'architettura pag. 19 Ingegneria del software Introduzione L'ingegneria del software è, secondo alcune definizioni, “una disciplina della scienza delle metodologie atta a risolvere i problemi di programmazione” e “lo studio dei principi, metodi e strumenti per sviluppare e mantenere i sistemi software”.
L'evoluzione del software a cui abbiamo assistito fino ad ora (tab. 1.1) ha reso necessaria la nascita di questa nuova scienza. Epoca Anno Software 1 1950-1965 Batch, SW personalizzato 2 1963-1978 Pacchetti SW, basi di dati 3 1972-1988 Sistemi distribuiti, nuovi supporti digitali 4 1988-…… Sistemi esperti, rete globale Tab 1 In particolare l'ingegneria del software comincia a delinearsi durante la 2° epoca causa la mancanza di metodologie, mentre durante la 3° epoca comincia a svilupparsi anche il campo della ricerca. L'ingegneria del software è una conseguenza dell'ingegneria dell'hardware e dei sistemi. Include un insieme di tre elementi chiave che sono metodi, strumenti e procedure che consentono al responsabile di controllare il processo di sviluppo del software e offrono al professionista le basi per costruire software di alta qualità e in modo produttivo. Esaminiamo brevemente ognuno di questi elementi: I metodi dell'ingegneria del software dicono al tecnico “come fare” per costruire il software. I metodi comprendono un vasto insieme di compiti come pianificazione e stime del progetto, analisi dei requisiti del software e del sistema; progettazione delle strutture dei dati, dell'architettura dei programmi e delle procedure per gli algoritmi, codifica, testing, manutenzione. I metodi per l'ingegneria del software spesso introducono un linguaggio speciale o una notazione grafica e un insieme di criteri per la qualità del software. Gli strumenti dell'ingegneria del software forniscono un supporto automatizzato o semi-automatizzato ai metodi. Oggi, esistono strumenti che supportano ciascuno dei metodi prima descritti. Quando gli strumenti sono integrati in modo che l'informazione creata da uno strumento possa essere usata da un altro, si ha un sistema di supporto per lo sviluppo del software detto Computer-Aided Software Engineering (CASE, ingegneria del software assistita dall'elaboratore). Il CASE è l'unione di software, hardware, e una base di dati per l'ingegneria del software, ossia una struttura di dati che contiene informazioni import