PROGETTAZIONE DI ARCHITETTURE DI SERVIZI

Insegnamento
PROGETTAZIONE DI ARCHITETTURE DI SERVIZI
Insegnamento in inglese
SERVICE ARCHITECTURE DESIGN
Settore disciplinare
ING-INF/05
Corso di studi di riferimento
INGEGNERIA INFORMATICA
Tipo corso di studio
Laurea Magistrale
Crediti
6.0
Ripartizione oraria
Ore Attività Frontale: 54.0
Anno accademico
2022/2023
Anno di erogazione
2022/2023
Anno di corso
1
Lingua
ITALIANO
Percorso
PERCORSO COMUNE
Docenti responsabili dell'erogazione
MAINETTI LUCA
VERGALLO ROBERTO
Sede
Lecce

Descrizione dell'insegnamento

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.

Semestre
Secondo Semestre (dal 01/03/2023 al 09/06/2023)

Tipo esame
Obbligatorio

Valutazione
Orale - Voto Finale

Orario dell'insegnamento
https://easyroom.unisalento.it/Orario

Scarica scheda insegnamento (Apre una nuova finestra)(Apre una nuova finestra)