SERVICE ARCHITECTURE DESIGN

Teaching in italian
PROGETTAZIONE DI ARCHITETTURE DI SERVIZI
Teaching
SERVICE ARCHITECTURE DESIGN
Subject area
ING-INF/05
Reference degree course
COMPUTER ENGINEERING
Course type
Master's Degree
Credits
6.0
Teaching hours
Frontal Hours: 54.0
Academic year
2024/2025
Year taught
2024/2025
Course year
1
Language
ITALIAN
Curriculum
PERCORSO COMUNE
Reference professor for teaching
VERGALLO ROBERTO
Location
Lecce

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 React 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, React).

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, React), 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.

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

Semester
First Semester (dal 16/09/2024 al 20/12/2024)

Exam type
Compulsory

Type of assessment
Oral - Final grade

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

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