(SOFTWARE ENGINEERING)
CdSINFORMATICA E NETWORKING
Codice290AA
CFU9
PeriodoPrimo semestre
LinguaInglese
Moduli | Settore/i | Tipo | Ore | Docente/i | |
ADVANCED SOFTWARE ENGINEERING | INF/01 | LEZIONI | 72 |
|
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.
Continuous assessment and oral exam.
At the end of the course, students will be able to face the design, testing and deployment of microservice-based applications.
Continuous assessment and oral exam.
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.
Continuous assessment and oral exam.
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.
-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]
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.
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.
Continuous assessment and oral exam.
http://pages.di.unipi.it/brogi/AttivitaDidattica/Informatica/AdvancedSoftwareEngineering/
http://pages.di.unipi.it/brogi/AttivitaDidattica/Informatica/AdvancedSoftwareEngineering/