Project Description

Obiettivi

Providing methodological and application-oriented aspects to regard software production as the result of an engineering process (software engineering) and illustrate principles, standards and technologies of model-driven engineering, with application to the development of service-oriented software systems. The course presents the software process, as well as software analysis and design methods (*knowledge and understanding*). Specifically, students get the necessary skills to use methods and tools for the analysis and design of service-oriented software systems, and for software project management, as well as relevant approaches for model-driven software development (*applying knowledge and understanding*). The topics covered in the course are applied to different domains, by use of various case studies, so to stimulate the student decision making abilities (* making judgements *), as well as the *communication skills* and *learning skills*.

Programma

PART 1 – INTRODUCTION
Software products development. Production paradigms: build & fix, waterfall, rapid prototyping, incremental, spiral.
PART 2 – SOFTWARE LIFECYCLE PHASES
Requirements, specification, preliminary design, detailed design, implementation, integration, operation and maintenance. Quality and quality factors.
PART 3 – TECHNOLOGIES AND TOOLS FOR SOFTWARE DEVELOPMENT
Object-based and component-based technologies, service-oriented architectures for heterogeneous and interoperable systems. Development tools to support the specification, design and documentation of software products and services.
Model-Driven Engineering (MDE) and MDE approaches based on the Model-Driven Architecture (MDA). MDA standards (MOF, XMI, etc.). Overview of languages and tools for model transformation (QVT, ATL, etc.).
0 crediti
90 ore di lezione
0° Anno
Laurea Magistrale
0° semestre