PROGRAMMA

Introduzione - Obiettivi

Il Software Engineering (abbreviato SE) è la disciplina tecnologica e manageriale che riguarda la produzione sistematica e la manutenzione dei prodotti software, entro i tempi e i costi preventivati. Copre dunque un aspetto tecnico, culturale e operativo fondamentale nella preparazione di un informatico in generale e in particolare di chi intende occuparsi di progettazione software.

Vanno subito evitati due equivoci.
Innanzitutto la progettazione software di cui si parla qui riguarda la "progettazione in grande", non quella di un algoritmo; ad esempio, la progettazione di un impianto per la produzione di energia elettrica, un sistema telefonico integrato, un sistema di allarme e monitoraggio di un edificio, eccetera; è vero che alla fine il software del sistema comprenderà varie parti di codice in un linguaggio di progammazione, ma, oltre alle dimensioni (da decine di migliaia a milioni di linee di codice), la differenza sta nel fatto che il sistema non è costituito solo dal codice e che inoltre per arrivare al codice ci sono una serie di procedure e metodiche da apprendere e utilizzare; in altre parole il SE riguarda un complesso di attività che temporalmente vengono svolte prima, durante e dopo la progettazione del software in senso stretto.
In secondo luogo con "sistema software" vanno intesi anche quei sistemi in cui le componenti hardware o di altra natura hanno un ruolo rilevante, come ad esempio un sistema di computers comunicanti con certi protocolli e svolgenti un particolare servizio o addirittura l'architettura (che è software!) di componenti hardware complesse.

Il corso consta di tre parti strettamente legate.

Va notato che una parte importante dell'Ingegneria del Software riguardante le problematiche della gestione organizzativa del processo di sviluppo (Process Management) viene svolta nell'ambito del corso di Cultura Aziendale. Questo permette di dare più spazio alla seconda e terza parte del corso.

Contenuti

Parte generale
La notazione UML
Introduzione dei principali tipi dei diagrammi di UML, come esempi paradigmatici delle principali tipologie di notazioni visuali utilizzate nello svilluppo del software.
Laboratorio
Progettazione (design) di una applicazione software a partire da una specifica dei requisiti data, e sua implementazione con la tecnologia J2EE, con il supporto di strumenti software.
Per lo svolgimento di tale progetto verranno prima introdotti

Ultima modifica: 29 Settembre 2003