SOFTWARE ARCHITECTURE DESIGN

Pierluigi RITROVATO SOFTWARE ARCHITECTURE DESIGN

0623200022
DIPARTIMENTO DI INGEGNERIA DELL'INFORMAZIONE ED ELETTRICA E MATEMATICA APPLICATA
CORSO DI LAUREA MAGISTRALE
INFORMATION ENGINEERING FOR DIGITAL MEDICINE
2024/2025



OBBLIGATORIO
ANNO CORSO 1
ANNO ORDINAMENTO 2022
SECONDO SEMESTRE
CFUOREATTIVITÀ
432LEZIONE
18ESERCITAZIONE
18LABORATORIO
Obiettivi
IL CORSO PRESENTA I MODELLI, LE ARCHITETTURE, I METODI E GLI STRUMENTI PER LA PROGETTAZIONE E REALIZZAZIONE E GESTIONE DI PROGETTO IN RELAZIONE A SISTEMI SOFTWARE DI GRANDI DIMENSIONI, E DEI PRINCIPALI PROCESSI CHE INTERVENGONO NEL CICLO DI VITA DEL SOFTWARE DI TALI SISTEMI.

CONOSCENZE E CAPACITÀ DI COMPRENSIONE
CONOSCENZA DEL PROCESSO DI PRODUZIONE DEL SOFTWARE E DELLE ATTIVITÀ CORRELATE, CON RIFERIMENTO AI SISTEMI SOFTWARE DI GRANDI DIMENSIONI. CONOSCENZA DEI METODI AGILI DI PRODUZIONE DEL SOFTWARE. CONOSCENZA DEI PRINCIPALI DESIGN PATTERN. INTRODUZIONE ALLE PRINCIPALI ARCHITETTURE UTILIZZATE PER I SISTEMI SOFTWARE DI GRANDI DIMENSIONI. COMPRENSIONE DEI DOCUMENTI DI ANALISI E DI PROGETTO REALIZZATI SECONDO FORMATI STANDARD. STRUMENTI E METODI PER LA GESTIONE DEI PROGETTI. METODOLOGIE PER LA STIMA DEI PROGETTI SOFTWARE.

CONOSCENZA E CAPACITÀ DI COMPRENSIONE APPLICATE
SAPER PARTECIPARE E SAPER GESTIRE UN PROGETTO SEGUENDO UN PROCESSO FORMALIZZATO DI PRODUZIONE DEL SOFTWARE. SAPER PROGETTARE UN SISTEMA SOFTWARE, SIA A LIVELLO ARCHITETTURALE CHE A LIVELLO DI DETTAGLIO UTILIZZANDO I PRINCIPALI DESIGN PATTERN; SAPER ESPRIMERE L’ANALISI DEI REQUISITI E LE SCELTE PROGETTUALI USANDO FORMATI STANDARD DI RAPPRESENTAZIONE.
Prerequisiti
PER IL PROFICUO RAGGIUNGIMENTO DEGLI OBIETTIVI PREFISSATI È RICHIESTA LA CONOSCENZA DEL LINGUAGGIO JAVA E DELLA PROGRAMMAZIONE ORIENTATA AGLI OGGETTI E DEI PRINCIPI DI INGEGNERIA DEL SOFTWARE
Contenuti
UNITÀ DIDATTICA 1: SCRUM
(ORE LEZIONE/ESERCITAZIONE/LABORATORIO 8/2/0)
- 1 (2 ORE LEZIONE): INTRODUZIONE AL CORSO E RICHIAMI SUL CICLO DI VITA DEL SW
- 2 (4 ORE LEZIONE): SCRUM
- 3 (2 ORE ESERCITAZIONE): ESERCITAZIONE SUL PROCESSO SCRUM
CONOSCENZE E CAPACITÀ DI COMPRENSIONE: I PRINCIPI ALLA BASE DEL PROCESSO SCRUM.
CONOSCENZE E CAPACITÀ DI COMPRENSIONE APPLICATE: UTILIZZARE SCRUM PER REALIZZARE UN PROGETTO SOFTWARE.

UNITÀ DIDATTICA 2: TECNICHE DI STIMA DEL SOFTWARE
(ORE LEZIONE/ESERCITAZIONE/LABORATORIO 4/2/0)
- 4 (2 ORE LEZIONE): METRICHE FUNZIONALI E DIMENSIONALI
- 5 (2 ORE LEZIONE): TECNICHE DI STIMA: FUNCTION POINT, COCOMO E OBJECT POINT
- 6 (2 ORE ESERCITAZIONE): ESERCITAZIONE SULLE TECNICHE DI STIMA
CONOSCENZE E CAPACITÀ DI COMPRENSIONE: PRINCIPALI METODICHE DI STIMA DELLE RISORSE E DEL TEMPO PER LA REALIZZAZIONE DEI SISTEMI SOFTWARE
CONOSCENZE E CAPACITÀ DI COMPRENSIONE APPLICATE: APPLICARE LE TECNICHE PER STIMARE L'EFFORT PER LA REALIZZAZIONE DI UN SISTEMA SOFTWARE

UNITÀ DIDATTICA 3: DESIGN AND ARCHITECTURAL STYLE PATTERNS
(ORE LEZIONE/ESERCITAZIONE/LABORATORIO 14/6/0)
- 7 (4 ORE LEZIONE): I DESIGN PATTERN CREAZIONALI
- 8 (2 ORE ESERCITAZIONE): ESERCITAZIONE SUI PATTERN CREAZIONALI
- 9 (4 ORE LEZIONE): I DESIGN PATTERN STRUTTURALI
- 10 (2 ORE ESERCITAZIONE): ESERCITAZIONE SUI PATTERN STRUTTURALI
- 11 (4 ORE LEZIONE): I DESIGN PATTERN COMPORTAMENTALI
- 12 (2 ORE ESERCITAZIONE): ESERCITAZIONE SUI PATTERN COMPORTAMENTALI
- 13 (2 ORE LEZIONE): ARCHITECTURAL STYLE PATTERNS
CONOSCENZE E CAPACITÀ DI COMPRENSIONE: I PRINCIPALI PATTERN DI PROGETTAZIONE CREAZIONALI, STRUTTURALI, COMPORTAMENTALI E ARCHITETTURALI.
CONOSCENZE E CAPACITÀ DI COMPRENSIONE APPLICATE: USO DEI PATTERN DI PROGETTAZIONE PER RISOLVERE PROBLEMI DI PROGETTAZIONE RICORRENTI E COMUNICARE DECISIONI DI PROGETTAZIONE.

UNITÀ DIDATTICA 4: REALIZZAZIONE DI UN PROJECT WORK
(ORE LEZIONE/ESERCITAZIONE/LABORATORIO 0/0/12)
- 20 (2 ORE ESERCITAZIONE): DESCRIZIONE DEL PROBLEMA. PRESENTAZIONE DEGLI STRUMENTI E DELLE METODOLOGIE DA UTILIZZARE.
- 21 (2 ORE LABORATORIO): PRE-GAME: DEFINIZIONE INIZIALE DELLE USER STORY.
- 22 (2 ORE LABORATORIO): PRIMA SPRINT.
- 23 (2 ORE LABORATORIO): SECONDA SPRINT.
- 24 (2 ORE LABORATORIO): PRESENTAZIONE FINALE.

CONOSCENZE E CAPACITÀ DI COMPRENSIONE:
CONOSCENZE E CAPACITÀ DI COMPRENSIONE APPLICATE: SVILUPPARE UN PROGETTO SOFTWARE COMPLETO IN TEAM SEGUENDO IL PROCESSO SCRUM E APPLICANDO I DESIGN PATTERN.


TOTALE ORE LEZIONE/ESERCITAZIONE/LABORATORIO: 26/10/12
Metodi Didattici
L’INSEGNAMENTO CONTEMPLA LEZIONI TEORICHE (26 ORE), ESERCITAZIONI IN AULA (10 ORE) ED ESERCITAZIONI PRATICHE DI LABORATORIO (12 ORE). NELLE ESERCITAZIONI IN AULA VIENE ASSEGNATO AGLI STUDENTI, DIVISI PER GRUPPI DI LAVORO, UN PROGETTO DA SVILUPPARE DURANTE TUTTO LO SVOLGIMENTO DEL CORSO. IL PROGETTO COMPRENDE UNITARIAMENTE TUTTI I CONTENUTI DELL’INSEGNAMENTO ED È STRUMENTALE ALL’ACQUISIZIONE, OLTRE CHE DELLE CAPACITÀ DI PROGETTAZIONE E REALIZZAZIONE DI UN SISTEMA SOFTWARE PARTENDO DALLE SPECIFICHE, ANCHE A SVILUPPARE E RAFFORZARE LE CAPACITÀ DI LAVORARE IN TEAM. NELLE ESERCITAZIONI IN LABORATORIO GLI STUDENTI UTILIZZANO STUMENTI SOFTWARE PER IL TEST AUTOMATICO E IL CONTROLLO DELLE REVISIONI.

LA FREQUENZA DELLE LEZIONI È OBBLIGATORIA. PER ACCEDERE ALL'ESAME FINALE, LO STUDENTE DEVE AVER FREQUENTATO ALMENO IL 70% DELLE ORE DI DIDATTICA FRONTALE.
Verifica dell'apprendimento
LA PROVA DI ESAME È FINALIZZATA A VALUTARE NEL SUO COMPLESSO: LA CONOSCENZA E LA CAPACITÀ DI COMPRENSIONE DEI CONCETTI PRESENTATI AL CORSO; LA CAPACITÀ DI APPLICARE TALI CONOSCENZE PER LA RISOLUZIONE DI PROBLEMI DI ANALISI E PROGETTAZIONE DEL SOFTWARE; L’AUTONOMIA DI GIUDIZIO, LE ABILITÀ COMUNICATIVE E LA CAPACITÀ DI APPRENDERE
LA PROVA CONSISTE NELLA DISCUSSIONE DI UN ELABORATO, SVOLTO DURANTE IL CORSO, IL CUI SCOPO È VALUTARE LA CAPACITÀ DI APPLICARE LE CONOSCENZE, L’ESPOSIZIONE IN FORMA SCRITTA, L’AUTONOMIA DI GIUDIZIO E LA CAPACITÀ DI LAVORARE IN GRUPPO, E DA UN COLLOQUIO ORALE, IL CUI SCOPO È VALUTARE LE CONOSCENZE E LE CAPACITÀ DI COMPRENSIONE ACQUISITE, LA CAPACITÀ DI APPRENDERE DIMOSTRATA, L’ESPOSIZIONE ORALE.
L'ELABORATO CONSISTE IN UN PICCOLO PROGETTO SOFTWARE, DA SVOLGERE IN GRUPPO (LA CUI SPECIFICA È ASSEGNATA DAL DOCENTE DURANTE IL CORSO) IN CUI OCCORRE SVOLGERE E DOCUMENTARE TUTTE LE FASI DEL CICLO DI VITA ADOTTANDO IL PROCESSO SCRUM.
IL COLLOQUIO ORALE VERTERÀ SUGLI ARGOMENTI TEORICI DEL CORSO E LA VALUTAZIONE TERRÀ CONTO DELLE CONOSCENZE DIMOSTRATE DALLO STUDENTE E DEL GRADO DEL LORO APPROFONDIMENTO, DELLA CAPACITÀ DI APPRENDERE DIMOSTRATA, DELLA QUALITÀ DELL’ESPOSIZIONE.
NELLA VALUTAZIONE FINALE, ESPRESSA IN TRENTESIMI, LA VALUTAZIONE DELL'ELABORATO PESERÀ PER IL 40% MENTRE IL COLLOQUIO ORALE PER IL 60%. LA LODE POTRÀ ESSERE ATTRIBUITA AGLI STUDENTI CHE DIMOSTRINO DI SAPER APPLICARE LE CONOSCENZE ACQUISITE CON AUTONOMIA ANCHE IN CONTESTI DIVERSI DA QUELLI PROPOSTI NEL CORSO.
Testi
GAMMA, HELM, JOHNSON, VLISSIDES: “DESIGN PATTERNS”, PEARSON EDUCATION ITALIA

TESTI CONSIGLIATI:
HEAD FIRST DESIGN PATTERNS: BUILDING EXTENSIBLE AND MAINTAINABLE OBJECT-ORIENTED SOFTWARE - SECONDA EDIZIONE
DI ERIC FREEMAN, ELISABETH ROBSON - O'REILLY MEDIA, 2020

MATERIALE DIDATTICO INTEGRATIVO SARA' DISPONIBILE NELLA SEZIONE DEDICATA DELL'INSEGNAMENTO ALL'INTERNO DELLA PIATTAFORMA E-LEARNING DI ATENEO (HTTP://ELEARNING.UNISA.IT) ACCESSIBILE AGLI STUDENTI DEL CORSO TRAMITE LE CREDENZIALI UNICHE DI ATENEO.
Altre Informazioni
L'INSEGNAMENTO È EROGATO IN INGLESE
  BETA VERSION Fonte dati ESSE3 [Ultima Sincronizzazione: 2024-11-18]