SERVICE ARCHITECTURE ENGINEERING C.I.

Teaching in italian
SERVICE ARCHITECTURE ENGINEERING C.I.
Teaching
SERVICE ARCHITECTURE ENGINEERING C.I.
Subject area
ING-INF/05
Reference degree course
COMPUTER ENGINEERING
Course type
Master's Degree
Credits
4.0
Teaching hours
Frontal Hours: 36.0
Academic year
2021/2022
Year taught
2021/2022
Course year
1
Language
ENGLISH
Curriculum
PERCORSO COMUNE
Reference professor for teaching
MAINETTI LUCA

Teaching description

The prerequisites for attending the corse are the knowledge of structured programming languages (Java) and the fundamentals of computer science.

After the course the student should be able to: a. Apply main software engineering principles and control software qualities (both internal and external); b. Design and implement software following industrial standards (UML) and structured software production processes; c. Manage the software engineering i.e. execute tasks as planning, organizing, staffing, controlling, estimating (software cost and size); d. Design the software adopting standard software architectures; e. Select and adopt software design patterns (creational patterns, structural patterns, behavioral patterns); f. Verify the software exploiting standard tools and adopting well-known metrics; g. Develop complex model-view-controller web and mobile software systems, exploiting at the back end the Spring framework, and at the front end the Angular framework, connecting them through REST/JSON web services; h. Manage the fundamentals of modern cloud computing and cloud service deployment; i. Use the main open source tools for the software testing and refactoring, and for the software configuration management.

The main goal of the course is to deepen students’ knowledge on modern design and development techniques for interactive software systems. In particular, methods and tools for automated software testing, dev ops and design patterns for micro service architectures. All concepts will be experimented by students designing, developing and testing a software prototype of a service based web application with a mobile extension (app). The software prototype will be developed on top of modern frameworks (Spring, Angular).

Classroom and online lessons, classroom and online practice, project work.

The module will be verified with a small software prototype implementation, intended to verify the practice of micro-service architectures and tests, which will be discussed during an oral examination. The software system must be designed using UML, adopting standard design patterns. The software system must be developed starting from MVC frameworks (Spring, Angular), and must be systematically tested collecting metrics. The software prototype must be developed following an agile process and must be documented. A month before the end of the course, the general requirements of the software prototype will be published by the teacher, a new requirements set for each year. The requirements will be effective till a new set of specifications will appear.

See www.ing.unisalento.it.

www.unisalento.it/people/luca.mainetti

Software estimation techniques (Data Flow Diagrams and Function Points).

Software metrics.

Management of the software quality.

Service architectures design patterns.

DevOps agile development.

Introduction to the Docker platform.

Introduction to Spring Boot

Creating micro-service applications with Spring Cloud (Netflix Eureka).

Creating micro-service applications with Spring Cloud (Netflix Eureka).

Spring Data for MongoDB.

Spring Security.

Developing cross-platform mobile applications with Angular: project setup, component, template and data binding.

Angular: forms, routing and services.

Angular: consuming micro-services.

Ian Sommerville - Engineering Software Products: An Introduction to Modern Software Engineering - Pearson, 2020.

Semester
Second Semester (dal 01/03/2022 al 10/06/2022)

Exam type

Type of assessment
Oral

Course timetable
https://easyroom.unisalento.it/Orario

Parent teaching
SYSTEM SECURITY C.I. SERVICE ARCHITECTURE ENGINEERING C.I. (LM55)

Download teaching card (Apre una nuova finestra)(Apre una nuova finestra)