Ingegneria del Software L-A

Documenti analoghi
Ingegneria del Software T

INGEGNERIA DEL SOFTWARE

Corso di Ingegneria del Software. Informazioni sul corso

Il PROCESSO UNIFICATO

Ingegneria del Software 2014

Ingegneria del Software 2010

Ingegneria del Software II

1. UML 2 ed il Processo Unificato

Modulo 16. Introduzione ai Design Patterns. Tutte le case assolvono alla medesima funzione: offrire uno spazio abitativo

Corso di Fondamenti di Informatica e Laboratorio T-AB

Elementi di Informatica e Programmazione

Corso di INFORMATICA AZIENDALE (4 CFU)

Principi di Progettazione del Software a.a Introduzione al corso Prof. Luca Mainetti Università del Salento

Basi di Dati Ingegneria Informatica e delle Telecomunicazioni

Fondamenti di Informatica T1"

Ingegneria del Software (e Prova Finale) Luciano Baresi

UNIVERSITÀ DEGLI STUDI DI MILANO- BICOCCA CORSO EROGATO IN MODALITÀ BLENDED- LEARNING SYLLABUS

Corso di Laurea Ingegneria Informatica

INFORMATICA PER LE SCIENZE UMANE a.a. 2015/2016

Sistemi Informativi Aziendali

algoritmi e strutture di dati

Grafica ed interfacce per la comunicazione. Scienze della Comunicazione A.A.2013/14

Materiale didattico. Sommario

Corso di Fondamenti di Informatica e Laboratorio ato o T-AB

Principi di Progettazione del Software a.a " Introduzione al corso! Prof. Luca Mainetti! Università del Salento!

introduzione al corso di ingegneria del software

Ingegneria del Software ( )

Modelli e complessità di calcolo

Docente: Prof. Marco Patella Tutor: Stefano Pio Zingaro

Algoritmi e Strutture Dati

Fondamenti di Informatica T-1

INGEGNERIA DEL SOFTWARE. Il Corso. Obiettivi. A.A Prof. Giuseppe Visaggio Presentazione

Corso di Laurea Magistrale in Ingegneria Informatica. Ingegneria del Software II (IS2)

Fondamenti di Informatica A.A Studenti

Laurea Magistrale in Ingegneria Informatica - I anno

FONDAMENTI DI MANAGEMENT. Cognomi A-E (9 CFU) A.A prof.ssa Francesca Simeoni

Algoritmi e Strutture Dati

Fondamenti di Informatica. Proff. B.Buttarazzi & A.D Ambrogio A.A. 2011/2012

Sistemi Distribuiti Anno accademico 2009/10

Corso di Fondamenti di Informatica T-1

Ingegneria del So-ware

Corso di Fondamenti di Informatica T-1

Corso di. Fondamenti di Informatica T

Corso di Ingegneria del Software. Activity Diagram

Ingegneria del Software

UML. Il linguaggio UML e ArgoUML. Ingegneria dei sistemi software 2009/ /09/2009

Algoritmi e Strutture Dati

Fondamenti di Informatica

Fondamenti di Informatica

Fondamenti di informatica. Introduzione al corso di Fondamenti di informatica I e II (informatici) Anno Accademico

Corso di Applicazioni di Intelligenza Artificiale LS. Prof. Paola Mello Anno accademico 2008/2009

REPERTORIO DELLE QUALIFICAZIONI PROFESSIONALI DELLA REGIONE CAMPANIA

Docente: Prof. Marco Patella Tutor: Vincenzo Lomonaco

FONDAMENTI DI INFORMATICA

Fondamenti di Intelligenza Artificiale

UML GML- Classi di Oggetti

Principi e Metodologie delle Costruzioni di Macchine

Fondamenti di Informatica

Lezione 1 Ingegneria del Software II- Introduzione e Motivazione. Ingegneria del Software 2 Introduzione e Motivazioni 1

Fondamenti di Informatica e Laboratorio T-AB

Fondamenti di Informatica

SISTEMI DI PROGRAMMAZIONE E CONTROLLO

SCUOLA POLITECNICA. DISEGNO INDUSTRIALE DISEGNO E RAPPRESENTAZIONE INFORMATICA A Formazione di base nella rappresentazione

Esercizi design patterns. Angelo Di Iorio,

Tecnica delle Costruzioni

Transcript:

Ingegneria del Software L-A Corso di Laurea Triennale in Ingegneria Informatica III anno A.A. 2009/2010 Docente: Giuseppe Bellavia Collaboratore: Gabriele Zannoni Premessa Una domanda fondamentale Che cosa significa scrivere del buon software? Ingegneria del Software L-A 2 Ingegneria del Software L-A 1

Risposta del programmatore C: Scrivere del buon software significa ottimizzare ogni istruzione, in modo da ottenere il codice più compatto ed efficiente possibile Risposta del programmatore Visual Basic: Scrivere del buon software significa fornire le funzionalità richieste dall utente nel minor tempo possibile e col minor costo possibile, indipendentemente da come si arriva al risultato Ingegneria del Software L-A 3 Risposta dell ingegnere del software Scrivere del buon software significa Trovare il miglior equilibrio fra diversi fattori: La soddisfazione dell utente La facilità di estensione dell applicazione La comprensibilità delle soluzioni adottate Adottare tecniche adeguate a gestire la crescente complessità delle applicazioni Ingegneria del Software L-A 4 Ingegneria del Software L-A 2

Risposta dell ingegnere del software Scrivere del buon software significa Utilizzare al meglio l investimento, spesso ingente, necessario per produrre un applicazione, garantendo in particolare: Il maggior tempo di vita possibile Il riutilizzo in altri progetti di parte del codice prodotto Ingegneria del Software L-A 5 Ingegnere del Software Compiti principali Affrontare in modo sistematico e misurabile: il progetto la realizzazione l utilizzo la manutenzione dei prodotti software Studiare le strategie per realizzare il punto precedente Ingegneria del Software L-A 6 Ingegneria del Software L-A 3

Ingegneria del Software Di cosa si occupa Gestione del processo di sviluppo del software Attività di analisi Attività di progettazione Attività di codifica Attività di verifica e convalida (testing) Attività di tipo gestionale Stime dei costi (e dei tempi) Gestione dei progetti (delle persone, pianificazione) Gestione dei rischi Gestione della qualità Metriche Ingegneria del Software L-A 7 Obiettivi del corso Fornire i concetti di base dell ingegneria del software Esaminare tecniche object-oriented per l'analisi, il progetto e la realizzazione di applicazioni Fornire nozioni di base su Ambiente.NET Linguaggio C# Ingegneria del Software L-A 8 Ingegneria del Software L-A 4

Linguaggio di modellazione Durante il processo di sviluppo del software è indispensabile poter utilizzare un linguaggio per costruire i modelli da discutere con il cliente e gli altri sviluppatori Il linguaggio dovrebbe essere visuale (una figura è meglio di mille parole) possedere capacità dichiarative UML - Unified Modeling Language Ingegneria del Software L-A 9 Linguaggio di modellazione * AfferisceA 1 Docente -cognome -nome Dipartimento -descrizione 1 Direttore EDirettoDa 0..1 Ingegneria del Software L-A 10 Ingegneria del Software L-A 5

Design Pattern Durante la progettazione è indispensabile conoscere e utilizzare i design pattern, al fine di: risolvere problemi progettuali specifici rendere i progetti object-oriented più flessibili e riutilizzabili Ogni design pattern cattura e formalizza l esperienza acquisita nell affrontare e risolvere uno specifico problema progettuale permette di riutilizzare tale esperienza in altri casi simili Ingegneria del Software L-A 6.11 Testi consigliati Slide viste a lezione C. Larman, Applicare UML e i pattern Analisi e progettazione orientata agli oggetti (terza edizione), Prentice Hall, 2005 E. Gamma, R. Helm, R. Johnson, J. Vlissides, Design Patterns Elements of Reusable Object- Oriented Software, Addison Wesley, 1998 Ingegneria del Software L-A 12 Ingegneria del Software L-A 6

Bibliografia M. Fowler, UML Distilled (edizione italiana), Addison Wesley, Settembre 2000 S. Bennett, J. Skelton, K. Lunn, Introduzione a UML, McGraw-Hill, 2002 W. Zuser, S. Biffl, T. Grechenig, M. Köhle, Ingegneria del software con UML e Unified Process, McGraw-Hill, 2004 J. Arlow, I. Neustadt, UML e Unified Process Analisi e progettazione object-oriented, McGraw-Hill, 2003 L. A. Maciaszek, Sviluppo di sistemi informativi con UML, Addison Wesley, Aprile 2002 Ingegneria del Software L-A 13 Bibliografia I. Sommerville, Ingegneria del software (settima edizione), Addison Wesley, 2005 R. S. Pressman, Principi di Ingegneria del Software (quinta edizione), McGraw-Hill, 2008 R. C. Martin and M. Martin, Agile Principles, Patterns, and Practices in C#, Prentice Hall, 2006 M. Fowler, Refactoring Improving the Design of Existing Code, Addison Wesley, 1999 Ingegneria del Software L-A 14 Ingegneria del Software L-A 7

Software MSDN Academic Alliance Utilizzabile per la modellazione UML Esiste anche una versione Express più leggera scaricabile gratuitamente dal sito MS Ingegneria del Software L-A 15 Orario delle lezioni Lunedì 14-17 14.15 15.45 16.00 16.45 Martedì 16-18+ 16.15 17.45 Ingegneria del Software L-A 16 Ingegneria del Software L-A 8

Esame = Progetto + Orale; Progetto Dato da un generico documento dei requisiti (scelta libera): Analizzare i requisiti Progettare l'applicazione Realizzare un prototipo Singolarmente Team di 3 persone Ingegneria del Software L-A 18 Ingegneria del Software L-A 9

Progetto Da consegnare Relazione cartacea e pdf Discussione del progetto Presentazione (ad es. ppt) Prototipo dell applicazione Ingegneria del Software L-A 19 Orale Domande su tutto il programma del corso Test quiz a scelta multipla in sostituzione dell orale Non è possibile utilizzare appunti o altro Solo negli appelli di gennaio e febbraio Ingegneria del Software L-A 20 Ingegneria del Software L-A 10

Date esami marzo e aprile Test gennaio 2010 dalle ore 14.30 febbraio 2010 dalle ore 14.30 Discussioni e orali In date da definire Ingegneria del Software L-A 21 Ingegneria del Software L-A 11