Università di Bologna · Cesena · Prof. D. Pianini & Prof. G. Ciatto

Software Process Engineering

7 chapters~4 hours of study29 interactive widgets25 technical plates

How to study

I

Foundations and process

What the course is for, how the exam works, and the pipeline that the rest of the material fills in: problem, model, architecture, solution.

  1. 01The course and the engineering pipeline20 min · 4 widgets
II

Domain-Driven Design

How to derive a model from a domain, which archetypes the concepts become, and how a model keeps adhering to a domain that will not stop moving.

  1. 02Domain, model and ubiquitous language30 min · 4 widgets
  2. 03The building blocks: entities, value objects, aggregates, services, repositories, factories, events35 min · 4 widgets
  3. 04Bounded contexts, model integrity and hexagonal architecture35 min · 4 widgets
III

Model-Driven Development

Meta-models, domain-specific languages and the machinery that turns a formal model into running code — with Xtext and the Sheduler language as the worked example.

  1. 05Meta-models, DSLs and code generation40 min · 4 widgets
IV

Operations: MLOps and LLMOps

The same engineering discipline applied to workflows whose artefacts are trained models and prompts: tracking, projects, registries, containers, and evaluation as the new unit test.

  1. 06Structuring and automating AI workflows with MLflow50 min · 6 widgets
V

Case study

A real project brief, in the language of its client, read through every lens of the course: glossary, building blocks, an external DSL, storage behind an interface, and the exam requirements it does and does not already satisfy.

  1. 07ChatFlow: a middleware brief25 min · 3 widgets