Scheda programma d'esame
ADVANCED SOFTWARE ENGINEERING
(SOFTWARE ENGINEERING)
ANTONIO BROGI
Anno accademico2019/20
CdSINFORMATICA E NETWORKING
Codice290AA
CFU9
PeriodoPrimo semestre
LinguaInglese

ModuliSettore/iTipoOreDocente/i
ADVANCED SOFTWARE ENGINEERING INF/01LEZIONI72
ANTONIO BROGI unimap
Learning outcomes
Knowledge

Students will acquire knowledge on various advanced software engineering techniques, including microservice-based architectures, testing, agile principles, container-based virtualisation, business process modeling and security.

Assessment criteria of knowledge

Continuous assessment and oral exam.

Skills

At the end of the course, students will be able to face the design, testing and deployment of microservice-based applications.

Assessment criteria of skills

Continuous assessment and oral exam.

Behaviors

Students will experiment team work in software development in lab classes and with homework assignments. They will also experiment how to orally present software engineering methodologies and results.

Assessment criteria of behaviors

Continuous assessment and oral exam.

Teaching methods

Lectures (with visual aids like slides and clips), “hands-on” labs, homework assignments, active learning. Use of Moodle for sharing teaching material and running interactive forums.

Syllabus

-Core interoperability standards (XML, SOAP, WSDL, REST, OpenAPI) ® slides, [1]

-Microservices (Motivations, definition, properties. Design principles, architectural smells, refactorings. Case studies.) ® slides, [2]

-Software testing (Development testing, release testing, user testing.) ® slides, [3]

-User stories (Agile principles. User stories, examples.) ® slides, [4]

-Splitting the monolith (Code splitting, data splitting.) ® slides, [5]

-Container-based virtualisation (Docker, Docker Compose) ® slides

-Business process modelling (Business process models, BPMN, workflow nets, Camunda.)® slides, [1,6]

-Security (Authentication, authorisation. Vulnerability analysis.)® slides

-Fog computing (Motivations, definition, research challenges. Deploying applications and assessing the securtiy of application deployments in the Fog. Application management in the Fog.)® slides, [7,8]

Bibliography

Slides.

[1] A. Brogi, S. Forti. Advanced Software Engineering – Lecture Notes. 2018.

[2] D. Neri, J. Soldani, O. Zimmermann, A. Brogi. Design principles, architectural smells and refactorings for microservices: a multivocal review. Software-Intensive Cyber-Physical Systems. 2019.

[3] I. Sommerville. Software engineering. Pearson. 2016. [Chapter 8]

[4] S.W. Ambler. User stories: an agile introduction.

[5] S. Newman. Building microservices. O’Reilly. 2015. [Chapter 5]

[6] OMG. BPMN 2.0 by example. 2010. [Section 5]

[7] A. Brogi, S. Forti, A. Ibrahim. Predictive Analysis to Support Fog Application Deployment. Fog and Edge Computing 2019: 191-221. 2019.

[8] S. Forti, A. Ibrahim, A. Brogi. Mimicking FogDirector Application Management. Software-Intensive Cyber-Physical Systems, 34: 151-161. 2019.

Non-attending students info

Students can take the course also without attending to classes and labs.

All teaching material and information are available in the Moodle site devoted to the course.

Assessment methods

Continuous assessment and oral exam.

Ultimo aggiornamento 13/03/2020 19:18