PROGETTAZIONE DEL SOFTWARE

Francesco ORCIUOLI PROGETTAZIONE DEL SOFTWARE

0212800018
DIPARTIMENTO DI SCIENZE ECONOMICHE E STATISTICHE
CORSO DI LAUREA
STATISTICA PER I BIG DATA
2023/2024

OBBLIGATORIO
ANNO CORSO 3
ANNO ORDINAMENTO 2018
SECONDO SEMESTRE
CFUOREATTIVITÀ
1060LEZIONE
AppelloData
PROGETTAZIONE DEL SOFTWARE02/04/2024 - 16:00
PROGETTAZIONE DEL SOFTWARE07/06/2024 - 10:00
PROGETTAZIONE DEL SOFTWARE25/06/2024 - 10:00
PROGETTAZIONE DEL SOFTWARE09/07/2024 - 10:00
PROGETTAZIONE DEL SOFTWARE13/09/2024 - 10:00
Obiettivi
IL CORSO SI PONE L’OBIETTIVO DI PRESENTARE LE METODOLOGIE, LE TECNICHE E GLI STRUMENTI FONDAMENTALI PER LA GESTIONE DELLE VARIE FASI DEL PROCESSO DI SVILUPPO DI SISTEMI SOFTWARE, CON PARTICOLARE RIFERIMENTO AL PARADIGMA DI PROGETTAZIONE E PROGRAMMAZIONE ORIENTATO AGLI OGGETTI.

CONOSCENZA E CAPACITÀ DI COMPRENSIONE
IL CORSO CONSENTIRÀ ALLO STUDENTE DI ACQUISIRE CONOSCENZE E ABILITÀ RELATIVE AI FONDAMENTI DELL’INGEGNERIA DEL SOFTWARE, ALL’ANALISI, LA PROGETTAZIONE E LO SVILUPPO OBJECT-ORIENTED (OO) DEI SISTEMI SOFTWARE, A UML (UNIFIED MODELING LANGUAGE), AI DESIGN PATTERN E ALLE ARCHITETTURE E, INFINE, ALLE NOZIONI DI BASE SULLA GESTIONE DEI PROGETTI SOFTWARE. INOLTRE, PER QUANTO RIGUARDA LO SVILUPPO DEI SISTEMI SOFTWARE, GLI STUDENTI AVRANNO LA POSSIBILITÀ DI AFFRONTARE LO STUDIO DEI COSTRUTTI OO DI PYTHON (MESSI A CONFRONTO CON QUELLI DI ALTRI LINGUAGGI COME, AD ESEMPIO, JAVA).

CAPACITÀ DI APPLICARE CONOSCENZA E COMPRENSIONE
LE CONOSCENZE E LE ABILITÀ ACQUISITE CONSENTIRANNO ALLO STUDENTE DI SVILUPPARE COMPETENZE UTILI A COMPRENDERE, ANALIZZARE E GESTIRE LE PROBLEMATICHE CHE POSSONO EMERGERE DURANTE L’ESECUZIONE DEI PROCESSI DI SVILUPPO DEL SOFTWARE, A SELEZIONARE ED APPLICARE STRUMENTI ADEGUATI AD AFFRONTARE E RISOLVERE LE SUDDETTE PROBLEMATICHE E A VALUTARE CRITICAMENTE I RISULTATI OTTENUTI. AL TERMINE DEL CORSO, GLI STUDENTI AVRANNO SVILUPPATO LE COMPETENZE NECESSARIE A PROGETTARE E REALIZZARE APPLICAZIONI SOFTWARE DI TIPO DESKTOP E WEB, A INTEGRARE IL PROPRIO SOFTWARE CON API DI TERZE PARTI E CON I SISTEMI DI STORAGE PIÙ UTILIZZATI, A DOCUMENTARE IN MANIERA EFFICACE IL PROGETTO E IL CODICE SORGENTE REALIZZATO E, INFINE, A GESTIRE AL MEGLIO LE RISORSE LUNGO TUTTO IL PROCESSO DI SVILUPPO.
Prerequisiti
L'INSEGNAMENTO DI PROGRAMMAZIONE È PROPEDEUTICO A PROGETTAZIONE DEL SOFTWARE.

INOLTRE, AL FINE DI AFFRONTARE ADEGUATAMENTE LO STUDIO DELLA DISCIPLINA, GLI STUDENTI DEVONO AVER ACQUISITO LE SEGUENTI CONOSCENZE:

- PROGRAMMAZIONE DEI COMPUTER CON IL LINGUAGGIO DI PROGRAMMAZIONE PYTHON
- BASI DI DATI E SQL
Contenuti
L'INSEGNAMENTO CONSISTE DI 60 ORE DI LEZIONE, DI CUI 40 DI LEZIONE FRONTALE E 20 DI ESERCITAZIONI IN AULA. I PRINCIPALI ARGOMENTI DEL CORSO, ORGANIZZATO IN UN UNICO MODULO, SONO:

- NOZIONI DI BASE: VERSIONI MIGLIORATE DELLE STRUTTURE DATI BUILT-IN IN PYTHON (8 ORE DI LEZIONE FRONTALE)

- ANALISI STRUTTURATA: METODI DI ANALISI E DECOMPOSIZIONE FUNZIONALE, DIAGRAMMI, PROGRAMMAZIONE FUNZIONALE (6 ORE DI LEZIONE FRONTALE; 2 ORE DI ESERCITAZIONE)

- ANALISI E PROGETTAZIONE OBJECT-ORIENTED: COSTRUTTI OO, UML CLASS DIAGRAM E SEQUENCE DIAGRAM (6 ORE DI LEZIONE FRONTALE; 2 ORE DI ESERCITAZIONE)

- PROGRAMMAZIONE OBJECT-ORIENTED (OO) IN PYTHON: NOZIONI DI BASE, NOZIONI AVANZATE, GESTIONE DELLE ECCEZIONI, GESTIONE DEI FILE DI TESTO, MAGIC METHODS (12 ORE DI LEZIONE FRONTALE; 12 ORE DI ESERCITAZIONE)

- PATTERN: DESIGN PATTERN, ARCHITECTURAL PATTERN (8 ORE DI LEZIONE FRONTALE; 4 ORE DI ESERCITAZIONE)
Metodi Didattici
LE ATTIVITÀ DI INSEGNAMENTO SARANNO SUDDIVISE IN LEZIONI FRONTALI (CON L'AUSILIO DI MATERIALE MULTIMEDIALE), PER UN TOTALE DI 40 ORE, E LEZIONI IN LABORATORIO, PER UN TOTALE DI 20 ORE, DOVE GLI STUDENTI POTRANNO APPLICARE QUANTO APPRESO IN AULA E MEDIANTE STUDIO INDIVIDUALE.
Verifica dell'apprendimento
L'ESAME DI PROFITTO SARÀ COSTITUITO DA DUE PROVE: LA PROVA SCRITTA (2 ORE) E LA PROVA ORALE (MAX 30 MINUTI) CHE SARÀ SOSTENUTA DALLO STUDENTE SOLO IN CASO DI SUPERAMENTO DELLA PROVA SCRITTA. IL VOTO FINALE SARÀ IN TRENTESIMI E SARÀ OTTENUTO DALLA MEDIA DEI DUE VOTI (SCRITTO E ORALE).

LA PROVA SCRITTA SARÀ COMPOSTA DA TRE ESERCIZI: IL PRIMO FINALIZZATO A VALUTARE LA CAPACITÀ DELLO STUDENTE DI ANALIZZARE UN PROBLEM STATEMENT E PROGETTARE UN SOFTWARE UTILIZZANDO METODI E STRUMENTI OBJECT-ORIENTED (0-15 PUNTI); IL SECONDO FINALIZZATO A VALUTARE LA CAPACITÀ DELLO STUDENTE DI APPLICARE CORRETTAMENTE I DESIGN PATTERN E, IN GENERALE, I COSTRUTTI OBJECT-ORIENTED E FUNZIONALI DI PYTHON (0-10 PUNTI); IL TERZO FINALIZZATO A VALUTARE LA CONOSCENZA DELLO STUDENTE RELATIVA ALLA STRUTTURA DEI DESIGN PATTERN (0-5 PUNTI). UN PUNTEGGIO MAGGIORE O UGUALE A 18 CONSENTIRÀ DI SOSTENERE LA PROVA ORALE.

LA PROVA ORALE SI BASERÀ ESSENZIALMENTE SU UN COLLOQUIO CHE VERTERÀ SULLA DISCUSSIONE DELLA PROVA SCRITTA E, IN GENERALE, SU TRE ARGOMENTI TRATTATI DURANTE LE ATTIVITÀ DI INSEGNAMENTO. LA VALUTAZIONE DELLA PROVA ORALE SARÀ IN TRENTESIMI.
Testi
- DUSTY PHILLIPS - "PYTHON 3 OBJECT-ORIENTED PROGRAMMING" - THIRD EDITION - PACKT

- JOHN HUNT - "ADVANCED GUIDE TO PYTHON 3 PROGRAMMING" - SPRINGER

- JOHN HUNT - "A BEGINNERS GUIDE TO PYTHON 3 PROGRAMMING" - SPRINGER

- DANE HILLARD - "PRACTICES OF THE PYTHON PRO" - MANNING

- ANAND BALACHANDRAN - "SOFTWARE ARCHITECTURE WITH PYTHON" - PACKT

- ANAND BALACHANDRAN - "SOFTWARE ARCHITECTURE WITH PYTHON" - PACKT

- KAMON AYEVA - "MASTERING PYTHON DESIGN PATTERNS" - SECOND EDITION - PACKT


BY KAMON AYEVA
Altre Informazioni
ULTERIORE MATERIALE DIDATTICO SARÀ RESO DISPONIBILE SUL SITO WEB DEL DOCENTE.
Orari Lezioni

  BETA VERSION Fonte dati ESSE3 [Ultima Sincronizzazione: 2024-02-29]