Università degli Studi di Urbino Carlo Bo / Portale Web di Ateneo


INGEGNERIA DEL SOFTWARE mutuato
SOFTWARE ENGINEERING

A.A. CFU
2015/2016 9
Docente Email Ricevimento studenti
Edoardo Bontà Su appuntamento

Assegnato al Corso di Studio

Giorno Orario Aula

Obiettivi Formativi

Il corso presenta le metodologie, le tecniche e gli strumenti fondamentali per la gestione delle varie fasi del processo di sviluppo di sistemi software complessi, con particolare riferimento al paradigma di progettazione e programmazione orientato agli oggetti.

Programma

01. Fondamenti di ingegneria del software:
  01.01 Concetti di base dell'ingegneria del software.
  01.02 La qualità del software.
  01.03 Il processo di sviluppo software.

02. Analisi e progettazione ad oggetti:
  02.01 Il paradigma ad oggetti.
  02.02 Introduzione alla modellazione del software.
  02.03 Unified Process.

03. Unified modeling language (UML):
  03.01 Introduzione a UML.
  03.02 Diagrammi di struttura: classi, oggetti, package.
  03.03 Diagrammi di comportamento: casi d’uso.
  03.04 Analisi di robustezza e interazione fra entità.
  03.05 Diagrammi di interazione: comunicazione, sequenza.
  03.06 Macchine a stati, attività e altri diagrammi.

04. Design pattern:
  04.01 Introduzione ai design pattern.
  04.02 Pattern creazionali: Singleton, Factory.
  04.03 Pattern strutturali: Proxy.
  04.04 Pattern comportamentali: Observer, Visitor.

05. Metodi di ingegneria del software:
  05.01 Analisi dei requisiti.
  05.02 Principi di progettazione del software.
  05.03 Tecniche di collaudo del software.
  05.04 Metriche del software.

06. Gestione di progetti software:
  06.01 Pianificazione del progetto software.
  06.02 Stime di progetto.
  06.03 Analisi e gestione dei rischi.
  06.04 Pianificazione temporale.
  06.05 Gestione delle configurazioni software.
  06.06 La documentazione di progetto.
  06.07 Strumenti CASE.

07. Argomenti avanzati:
  07.01 I metodi formali.
  07.02 Ingegneria del software cleanroom.
  07.03 Reingegnerizzazione.

08. Attività di laboratorio (linguaggio C#):
  08.01 Concetti di base del linguaggio.
  08.02 Classi e oggetti.
  08.03 Ereditarietà.
  08.04 Polimorfismo, classi astratte e interfacce.
  08.05 Gestione delle eccezioni.
  08.06 Generics.

Eventuali Propedeuticità

Non vi sono propedeuticità obbligatorie.
Si suggerisce di sostenere l'esame di Ingegneria del Software dopo aver sostenuto gli esami di Programmazione Procedurale e Logica e Algoritmi e Strutture Dati.

Risultati di Apprendimento (Descrittori di Dublino)

  • Conoscenza e comprensione

Lo studente acquisirà le conoscenze fondamentali relative allo sviluppo di sistemi software complessi, con particolare riferimento al paradigma di progettazione e programmazione orientato agli oggetti, esemplificato attraverso il linguaggio C#. Conoscerà inoltre differenti processi di sviluppo per gestire il ciclo di vita di sistemi software di grandi dimensioni, assieme alla notazione visuale UML per la modellazione del software, ed ai "design pattern" come modelli logici di soluzione a problemi frequentemente ricorrenti nelle fasi di progettazione e sviluppo del software.

  • Capacità di applicare conoscenza e comprensione

Lo studente sarà in grado di applicare le pratiche più diffuse nei modelli di processo agili e prescrittivi per la progettazione, l'implementazione e il collaudo di sistemi software di medie/grandi dimensioni. Sarà inoltre in grado di stimare i costi relativi allo sviluppo del software utilizzando modelli di stima empirici, nonché pianificare le attività necessarie alla realizzazione di un progetto software, tenendo sotto controllo lo stato di avanzamento ed i costi di un insieme di attività correlate.

  • Autonomia di giudizio

Lo studente sarà in grado di percepire la bontà del software non soltanto in relazione alla propria esperienza e/o a criteri puramente soggettivi, ma anche sulla base di norme specifiche per la valutazione della qualità dei processi e dei prodotti.

  • Abilità comunicative

Lo studente sarà in grado di usare in modo appropriato la terminologia dei linguaggi di programmazione ad oggetti, dei design pattern e dei processi di sviluppo prescrittivi ed agili.

  • Capacità di apprendimento

Lo studente acquisirà la capacità di apprendere le peculiarità sintattiche e semantiche di qualsiasi linguaggio di programmazione ad oggetti. 

Materiale Didattico

Il materiale didattico predisposto dalla/dal docente in aggiunta ai testi consigliati (come ad esempio diapositive, dispense, esercizi, bibliografia) e le comunicazioni della/del docente specifiche per l'insegnamento sono reperibili all'interno della piattaforma Moodle › blended.uniurb.it

Modalità Didattiche, Obblighi, Testi di Studio e Modalità di Accertamento

Modalità didattiche

Lezioni teoriche ed esercitazioni di laboratorio, sia in presenza che a distanza.

Obblighi

Sebbene fortemente consigliata, la frequenza non è obbligatoria.

Testi di studio

Pressman, "Software Engineering: A Practitioner.s Approach", McGraw-Hill, 2010.
(Pressman, "Principi di Ingegneria del Software", McGraw-Hill, 2008).

Fowler, "UML Distilled", Addison-Wesley, 2003.
(Fowler, "UML Distilled", Pearson Italia (Addison-Wesley), 2010).

Bochicchio et al., "C# 5 Guida completa per lo sviluppatore", Hoepli, 2013.

Gamma, Helm, Johnson, Vlissides, "Design Patterns: Elements of Reusable Object-Oriented Software", Addison-Wesley, 1995.
(Gamma, Helm, Johnson, Vlissides, "Design Patterns: Elementi per il riuso di software ad oggetti", Pearson Italia (Addison-Wesley), 2002).

Modalità di
accertamento

Progetto (da sviluppare individualmente o in gruppo di due studenti), prova scritta e prova orale. 

Il progetto, il cui tema è scelto liberamente dallo studente, deve essere consegnato almeno 7 giorni prima della prova scritta. Esso è superato se il voto è di almeno 18/30; il voto rimane valido in qualsiasi sessione di esame successiva a quella in cui il progetto viene consegnato. In caso di consegna tardiva, il progetto non viene accettato. Qualora il progetto venga riconsegnato in un successivo appello d'esame, il voto del progetto precedentemente consegnato viene annullato ed al voto del nuovo progetto consegnato viene applicata una penale di 5/30.

La prova scritta, che può essere sostenuta solo se il progetto è stato superato, consiste in 6 domande più 1 esercizio - diviso in due parti - da svolgere in 60 minuti. Essa è superata se il voto è di almeno 18/30; il voto rimane valido solo per l'appello d'esame in cui la prova scritta viene sostenuta. 

La prova orale, che può essere sostenuta solo se il progetto e la prova scritta sono stati superati, consiste in una discussione del progetto e della prova scritta, più ulteriori domande. Se superata, essa determina un aggiustamento compreso tra -3/30 e 3/30 della media dei due precedenti voti, producendo così il voto finale.

Per ulteriori informazioni su progetti ed esami scritti > http://www.sti.uniurb.it/bonta/didattica/ingsw/inge_soft.html

Disabilità e DSA

Le studentesse e gli studenti che hanno registrato la certificazione di disabilità o la certificazione di DSA presso l'Ufficio Inclusione e diritto allo studio, possono chiedere di utilizzare le mappe concettuali (per parole chiave) durante la prova di esame.

A tal fine, è necessario inviare le mappe, due settimane prima dell’appello di esame, alla o al docente del corso, che ne verificherà la coerenza con le indicazioni delle linee guida di ateneo e potrà chiederne la modifica.

Note

Il corso è erogato sia in presenza che a distanza nel Corso di Laurea di Informatica Applicata.

« torna indietro Ultimo aggiornamento: 14/06/2016


Il tuo feedback è importante

Raccontaci la tua esperienza e aiutaci a migliorare questa pagina.

15 22

Se sei vittima di violenza o stalking chiama il 1522, scarica l'app o chatta su www.1522.eu

Il numero, gratuito è attivo 24 h su 24, accoglie con operatrici specializzate le richieste di aiuto e sostegno delle vittime di violenza e stalking.

Posta elettronica certificata

amministrazione@uniurb.legalmail.it

Social

Università degli Studi di Urbino Carlo Bo
Via Aurelio Saffi, 2 – 61029 Urbino PU – IT
Partita IVA 00448830414 – Codice Fiscale 82002850418
2024 © Tutti i diritti sono riservati

Top