Programma di Costruzione Del Software:

DOCENTI

Proff. Ingg. Giovanni Cantone e Manuel Mastrofini

Consulenti esperti industriali: da nominare.

Consuulenti del dominio applicarivo: da nominare, in relazione al tipo di progetto.

Altro (da formlizzare). 

 

ARGOMENTI  

- La misura del software: ontologie e produzione di modelli (20%)

- Approcci Agile allo sviluppo del software (6,5%)

- Framework per la persistenza: da Hibernate a Spring (6,5%)

 - Sviluppo di applicazionu web (3%)

- Sviluppo software orientato ai Servizi: da SOAP a RESTfull (4%)  

- Framework per la progettazione e implementazione di Front-end: da JSP e Javascript ad AngularJS | Angular | ReactJS  (5%)  

- Stack tecnologici a supporto del "Big-data! e relativo impiego (5%)  

- Introduzione all'organizzazione e all'impiego di ulteriori tecnologie software: Adobe XD, Git, IntelliJIdea, Slack, Miro, Atlassian Jira, Weka, etc. (5%)

- Sviluppo di un progetto software di tipo industriale basandosi su Scrum e impiegando molte delle metodologie, tecniche e tecnologie erogate in questo e in precedenti corsi. Un docente svolgerà il ruolo di Special Domain Expert; l’altro docente, di formazione industriale, svolgerà il ruolo di Product owner. Istruttori di provenienza industriale svolgeranno i ruoli di Scrum Master ed Esperto di Programmazione di Front-end. (45%). Eventuali esperti del dominio di impiego del prodotto fungeranno da consulenti del Product owner e del l'intero team.

Seminari aggiuntivi potrranno essere forniti da sedi nazionali o straniere da esperti italiani di processo, architetture e progettazione software, i quali hanno usualmente studiato Ingegneria del software o collaborato con i docenti di questo corso presso l’Università degli Studi di Roma Tor Vergata e ora occupano posizioni apicali in rilevanti progetti industriali in Italia o all’estero.

 

PREREQUISITI

Per l’ammissione a questo corso, agli studenti si richiede di aver già superato gli esami di:

- corsi di base, quali: Fondamenti di Informatica, Ingegneria degli algoritmi, Basi di dati e:

- Ingegneria del software I, corso comprensivo di: Gestione dei requisiti con Casi d’uso. Analisi, Progettazione e Programmazione orientate agli oggetti. Design pattern.

- Ingegneria del software II, corso comprensivo di: Tecniche di software testing. Machine learning per  l'Ingegneria del software. Impiego di alcune metriche software. Si richiede altresì la conoscenza dei fondamenti di Big data. 

 

  MODALITA’ DI INSEGNAMENTO  

Ogni settimana, una lezione in aula più una lezione in Laboratorio di Informatica possibilmente seguita da altre due ore di tutorato, sempre in Laboratorio di Informatica, con docenti e studenti organizzati come team Scrum, anche distribuito, con docenti ed esperti parte in presenza, parte connessi via piattafrorma MS Teams. Durante gli incontri del team Scrum, i due docenti e glo esperti industriali e di dominio interagiranno con ogni studente, inteso tanto individualmente e tanto come membro dello stesso team Scrum, sia verificandone l'apprendimento di metodi, tecniche e strumenti, sia approfondendo l'impiego delle tecnologie nello sviluppo dell'applicazione assegnata al team.  

 

 

 

MODALITA’ DI VERIFICA  

Tutti gli studenti dovranno partecipare a una seduta d'esami di profitto, su aspetti sia teorici, sia di laboratorio, con docenti ed eventuali esperti. Per la parte su Ontologie software, potranno essere svolte valutazioni in itinere.  

 

MODALITA’ DI FREQUENZA  

La frequenza è obbligatoria. Ogni studente è tenuto a partecipare a ogni lezione e a ciascun incontro di progetto, salvo eccezioni più uniche che rare. Nei casi ammessi, ci si organizzerà per consentire la partecipazione a distanza. Agli incontri di progetto partecipano di solito tutti i docenti e gli eventuali esperti.