Advanced software engineering

Code 290AA
Credits 9

Learning outcomes

Objectives – The objective of the course is to introduce some the main aspects in the design, analysis, development and deployment of modern software systems. Service-based and cloud-based systems are taken as references to present design, analysis and deployment techniques. DevOps practices are discussed, and in particular containerization is introduced. The course includes a "hands-on" lab where students will experiment weekly the design, analysis, development and deployment techniques introduced.
• Service-based software engineering (3 CFU)
- core interoperability standards
- software design by service composition, microservice architecture, examples of design patterns
- business process modelling and analysis
- service descriptions and service level agreements
• DevOps practices (1.5 CFU)
- DevOps toolchain, continuous delivery
- Docker and containerization
• Cloud-based software engineering (1.5 CFU)
- service and deployment models
- cross-cloud deployment and management of applications
• Hands-on laboratory (3 CFU)