Questo sito utilizza cookie tecnici propri e di terze parti, necessari al suo funzionamento, e, con il tuo consenso, cookie di profilazione ed altri strumenti di tracciamento di terze parti, utili per esporre video ed analizzare il traffico al fine di misurare l'efficacia delle attività di comunicazione istituzionale. Puoi rifiutare i cookie non necessari e di profilazione cliccando su "Solo cookie tecnici". Puoi scegliere di acconsentirne l'utilizzo cliccando su "Accetta tutti" oppure puoi personalizzare le tue scelte cliccando su "Personalizza".
Per maggiori informazioni consulta la nostra privacy policy.

Solo cookie tecnici Personalizza Accetta tutti

vai al contenuto vai al menu principale vai alla sezione Accessibilità vai alla mappa del sito
Login  Docente | Studente | Personale | Italiano  English
 
Home page Home page

Ingegneria del software

Corso Ingegneria Informatica e dei sistemi per le Telecomunicazioni
Curriculum reti di calcolatori ed applicazioni
Orientamento Orientamento unico
Anno Accademico 2014/2015
Crediti 6
Settore Scientifico Disciplinare ING-INF/05
Anno Secondo anno
Unità temporale Secondo semestre
Ore aula 48
Attività formativa Attività formative a scelta dello studente (art.10, comma 5, lettera a)

Canale unico

Erogazione 1000135 Ingegneria del software in Ingegneria dell'Informazione L-8 URSINO DOMENICO
Docente Non assegnato
Obiettivi Il corso intende fornire gli strumenti teorici e pratici per la gestione di progetti software di notevoli dimensioni. In particolare, verranno trattate le tematiche relative al ciclo di vita dei progetti software, alla raccolta e alla rappresentazione dei requisiti, alla loro analisi, alla progettazione dei sistemi software e, in parte, alla loro implementazione. Nell’ambito della progettazione dei sistemi software un’enfasi particolare verrà data ai pattern. Il corso si concluderà con una parte riguardante i function point, i mock-up, il controllo della qualità dei progetti software, la pianificazione dei progetti stessi anche dal punto di vista economico e delle risorse umane e, infine, il testing e la validazione dei sistemi realizzati. Il linguaggio di modellazione di riferimento è UML mentre la metodologia di gestione dei progetti di riferimento è lo Unified Process.
Programma Introduzione (0.5 crediti)

Unified Modelling Language
Che cos’è UML, una breve storia di UML, caratteristiche generali di UML, la Model Driven architecture, la Struttura di UML.

Unified Process
Introduzione a UP, storia di UP, UP e RUP, istanziazione di UP su un progetto, assiomi di UP, iterazioni e flussi di lavoro, struttura di UP, le fasi di UP.

Gestione dei Requisiti (0.5 crediti)

Il flusso di lavoro dei requisiti
Introduzione, requisiti del software: meta-modello, definizione dei requisiti, individuazione dei requisiti.

Modellazione dei casi d’uso
Introduzione, individuazione degli attori e dei casi d’uso, descrizione di un caso d’uso, mapping dei requisiti, applicazione della modellazione dei casi d’uso, generalizzazione tra attori, generalizzazione tra casi d’uso, estensione e inclusione tra casi d’uso.

Analisi (1.5 crediti)

Il flusso di lavoro dell’analisi
Introduzione, il modello di analisi.

Classi e oggetti
Cosa sono gli oggetti, notazione UML per gli oggetti, cosa sono le classi, notazione UML per le classi, ambito, creazione e distruzione degli oggetti.



Individuazione delle classi di analisi
Analisi di un caso d’uso, cosa sono le classi di analisi, individuazione delle classi, costruzione di una prima bozza di modello di analisi.

Relazioni
Cos’è una relazione, cos’è un collegamento, cos’è un’associazione.

Ereditarietà e polimorfismo
Generalizzazione, ereditarietà di classe, polimorfismo, esempi di polimorfismo, generalizzazione avanzata.

Package di analisi
Che cos’è è un package, package e spazi dei nomi, package annidati, dipendenze tra package, generalizzazione tra package, analisi dell’architettura.

Realizzazione dei casi d’uso
Analisi di un caso d’uso, realizzazione dei casi d’uso, interazioni, linee di vita, messaggi, diagrammi di interazione, diagrammi di sequenza, diagrammi di comunicazione.

Diagramma di attività
Che cosa sono i diagrammi di attività, i diagrammi di attività e UP, attività, semantica delle attività, partizioni delle attività, nodi azione, nodi controllo, nodi oggetto, pin.

Progettazione (2 crediti)

Il flusso di lavoro della progettazione
Introduzione, manufatti della progettazione: il meta-modello, progettazione dell’architettura.

Classi di progettazione
Progettazione di una classe, cosa sono le classi di progettazione, anatomia di una classe di progettazione, classi di progettazione ben formate, ereditarietà, template di classe, classi annidate.

Raffinare le relazioni di analisi
Relazioni di progettazione, aggregazione e composizione, semantica dell’aggregazione, semantica della composizione, raffinamento delle relazioni di analisi, relazioni reificate, esaminare la composizione con le classi strutturate.

Interfacce e componenti
Progettazione di un sottosistema, cos’è un’interfaccia, interfacce richieste e fornite, realizzazione di interfacce ed ereditarietà, porte, interfacce e sviluppo basato sui componenti, cos’è un componente, stereotipi dei componenti, sottosistemi, individuare le interfacce, progettare usando le interfacce, vantaggi e svantaggi delle interfacce.

I Pattern
Introduzione ai pattern, pattern architetturali, design pattern e idiomi, il significato dei design pattern, la storia dei design pattern, elementi caratterizzanti dei design pattern, il cluster dei pattern GoF, il pattern architetturale di layering, il design pattern Model-View-Controller, il pattern DAO, il pattern Abstract Factory, il pattern Builder, il pattern Factory Method, il pattern Singleton, il pattern Adapter, il pattern Composite, il pattern Façade, il pattern Proxy, il pattern Command, il pattern Observer, il pattern Strategy, il pattern Template Method.

Progettazione della realizzazione dei casi d’uso
Progettazione di un caso d’uso, progettazione della realizzazione di un caso d’uso, diagrammi di interazione di progettazione, modellazione della concorrenza, interazioni a livello di sottosistema, diagrammi di temporizzazione.

Macchine a stati
Introduzione alle macchine a stati, le macchine a stati e UP, diagrammi delle macchine a stati, stati, transizioni, eventi, stati compositi, stati della sotto-macchina, comunicazioni tra sotto-macchine, stati con memoria.

Implementazione (0.5 crediti)

Il flusso di lavoro dell’implementazione
Introduzione, manufatti dell’implementazione: meta-modello, descrizione del flusso di lavoro dell’implementazione.

Deployment
Implementazione dell’architettura, il diagramma di deployment, nodi, manufatti, deployment.

Nozioni di Project Management (0.5 crediti)

Ciclo di vita di un progetto e metodologie di processo
La nozione di ciclo di vita, varie tipologie di cicli di vita, valutazione dei rischi, metodologie di processo.

Management, lavoro di squadra e controllo della qualità
Management, lavoro di squadra, leadership, controllo della qualità.

Il software come prodotto
Premessa, rapporti tra committente e sviluppatore, il mese-uomo, pianificazione delle risorse, costo del software, metriche software, tecniche di stima dei costi del software, diagrammi di Gantt, configuration management.

I Function Point
Obiettivi e principi cardine, punto di vista dell’utente, approssimazione e misurazione, il conteggio dei Function Point: approccio generale, individuazione e calcolo dei function type, conteggio delle funzioni dati, conteggio delle funzioni transazionali, Value Adjustment Factor, conteggio relativo ad un progetto di sviluppo, conteggio relativo alla manutenzione evolutiva, conteggio applicativo, analisi di alcuni casi di studio, conteggio a partire da GUI, il conteggio nel paradigma OOP, il conteggio di Web Application, da FP a KSLOC.

Verifica, validazione e test
Premessa, revisione di qualità, verifica, validazione, testing, revisioni e ispezione del codice.


Dalla Teoria alla Pratica (0.5 crediti)

Progettazione di un’applicazione Web mediante definizione dell’architettura e mock-up.
Testi docente • J. Arlow, I. Neustadt, “UML 2 e Unified Process – Analisi e progettazione Object-Oriented”, Seconda Edizione, McGraw-Hill, 2006.
• P. Stevens, R. Pooley, “Usare UML”, Seconda Edizione, Pearson Education, 2008
• C. Larman, “Applicare UML e i pattern”, Pearson Education, 2005
• E. Damiani, M. Madravio, A. Bohm, “UML Pratico”, Seconda Edizione, Pearson Education, 2007.
• M. Fowler, “UML distilled”, Terza Edizione, Pearson Education, 2004.
• L. Baresi, L. Lavazza, M. Pianciamore, “Dall’idea al codice con UML 2”, Pearson Education, 2006.

Dispense fornite dal docente
Erogazione tradizionale
Erogazione a distanza No
Frequenza obbligatoria No
Valutazione prova scritta No
Valutazione prova orale
Valutazione test attitudinale No
Valutazione progetto
Valutazione tirocinio No
Valutazione in itinere No
Prova pratica No

Ulteriori informazioni

Nessun materiale didattico inserito per questo insegnamento
Nessun avviso pubblicato
Nessuna lezione pubblicata
Codice insegnamento online non pubblicato

Impostazione cookie

Cerca nel sito

 

Posta Elettronica Certificata

Direzione

Tel +39 0965.1693217/3252

Fax +39 0965.1693247

Indirizzo e-mail


Protocollo

Tel +39 0965.1693422

Fax +39 0965.1693247

Indirizzo e-mail

Didattica e orientamento

Tel +39 0965.16933385

Fax +39 0965.1693247

Indirizzo e-mail

Indirizzo e-mail

Segreteria studenti

Tel +39 0965.1691475

Fax +39 0965.1691474

Indirizzo e-mail

Amministrazione

Tel +39 0965.1693214

Fax +39 0965.1693247

Indirizzo e-mail


Ricerca

Tel +39 0965.1693422

Fax +39 0965.1693247

Indirizzo e-mail

Social

Facebook

Twitter

YouTube

Instagram