CODICE | 80154 |
---|---|
ANNO ACCADEMICO | 2022/2023 |
CFU |
|
SETTORE SCIENTIFICO DISCIPLINARE | ING-INF/05 |
LINGUA | Inglese |
SEDE |
|
PERIODO | 2° Semestre |
MATERIALE DIDATTICO | AULAWEB |
L'Ingegneria del Software è una disciplina che regola ogni aspetto del processo di sviluppo software, dall'interazione con il cliente per comprendere le richieste, allo sviluppo software fino alla verifica che il prodotto sviluppato sia conforme alle richieste. In altre parole è l'applicazione dei principi rigorosi
dell'ingegneria allo sviluppo del software.
Software Engineering is a discipline that rules every aspect of the software development process. In other word is the application of Engineering to the Software. It is concerned with requirement specification, design, models, writing documentation and also writing unit tests, not just coding. Moreover it also provide metrics to quantify the quality of the product, i.e. the software developed. Software Development Templates, Requirement Analysis, UML Modeling Systems, Design Patterns, Verification and Validation, Time Template Specification Languages, Temporary Property Verification Algorithms, Modeling and Case Resolution using Model Checkers "
Come obiettivi formativi l'insegnamento si propone di
L'insegnamento, inoltre, dovrà permettere agli studenti di acquisire competenze sulla scrittura dei documenti standard che devono essere compilati durante il processo di sviluppo software.
Al termine del corso lo studente dovrà essere in grado di:
I temi che verranno affrontati, non necessariamente in quest'ordine, saranno
Processi di Sviluppo Software,
Raccolta, Analisi e Scrittura dei Requisiti Software
Analisi di Requisiti in Sistemi Cyber-Physical
Unified Modelling Language (UML)
Strutturazione del codice, linee guida di scrittura del codice, e generazione automatica della documentazione
Verifica Tramite Testing, testing strutturale e criteri di copertura, testing funzionale
Progettazione e Sviluppo di Interfaccie grafiche
Strumenti e Tecnologie di supporto al processo di sviluppo software
Utilizzo di sistemi di Control Versioning, come ad esempio git/svn
Le slides che vengono usate a lezione sono in parte ottenute dai seguenti testi:
Ricevimento: Il Docente riceve su appuntamento, sia di persona che in via telematica (Teams.
MASSIMO NARIZZANO (Presidente)
ENRICO GIUNCHIGLIA
ARMANDO TACCHELLA (Presidente Supplente)
L'orario di tutti gli insegnamenti è consultabile su EasyAcademy.
Per poter superare l'esame lo studente dovrà sviluppare un software utilizzando la metodologia di sviluppo software più adeguata. Ad inizio corso verranno presentati dei progetti da alcuni "clienti", ovvero aziende del panorama ligure, da alcuni enti pubblici e da laboratori dell'ateneo. A seconda delle preferenze espresse dallo studente, il docente assegnerà un progetto ad ogni studente. Il progetto dovrà essere portato a termine in completa autonomia. Il progetto prevede cinque diverse consegne inerenti il progetto scelto:
Infine lo studente dovrà presentare il lavoro svolto davanti a una commissione che valuterà il suo operato.
Si ricorda inoltre che la consegna di questi documenti avverrà in itinere con scadenze prefissate.
Alla fine del corso lo studente sara' in grado di analizzare, modellare, verificare e validare un sistema software.
Data | Ora | Luogo | Tipologia | Note |
---|---|---|---|---|
15/09/2023 | 09:00 | GENOVA | Esame su appuntamento |