Luca Dan Șerbănați all'esame di maturità, 1961
Luca Dan Șerbănați nei primi anni Settanta
Luca Dan Șerbănați all'ultima lezione del quinto anno, aprile 1989

Luca Dan Șerbănați

Professore emerito alla Politehnica di Bucarest

Ricerca, insegnamento, industria e memorie

RO | EN | IT
Luca Dan Șerbănați a Venezia, 1990
Luca Dan Șerbănați a New York, 2005
Luca Dan Șerbănați

Presentazione

Software Methodologies era uno dei moduli offerti a Bucarest nell’ambito del programma europeo di master Data Mining and Knowledge Management. Nel contesto di un master orientato al data mining, al knowledge management e alla modellazione avanzata, questo corso introduceva gli studenti alla logica ingegneristica dello sviluppo software: processi, paradigmi, modelli, metodi di analisi e progettazione, nonché criteri per la scelta di una metodologia adatta a un determinato tipo di sistema.

Il corso poneva l’accento sul passaggio dal problema da risolvere a una soluzione software coerente, verificabile ed evolutiva. Da questo punto di vista, completava molto bene il profilo DMKM: non soltanto algoritmi e modelli di conoscenza, ma anche disciplina di progettazione, modellazione e realizzazione dei sistemi software che incorporano tali tecniche.

Dati essenziali

Obiettivi e competenze

Il corso mirava a fornire una comprensione sistematica delle principali metodologie di sviluppo software e dei criteri secondo i quali esse possono essere valutate e scelte. L’accento non cadeva soltanto sulla descrizione di metodi consolidati, ma anche sulla capacità di confrontare paradigmi, comprenderne i limiti e selezionare l’approccio appropriato in funzione del problema da risolvere.

Contenuto del corso

1. Fondamenti di ingegneria del software

La prima parte introduce le nozioni di base: la natura del software, la complessità dei sistemi software, la crisi del software, l’idea di processo software, le discipline dello sviluppo, l’assicurazione della qualità, la gestione e la nozione di maturità del processo.

2. Modelli di processo software

Vengono discussi i principali modelli di processo: il ciclo di vita classico, il modello waterfall, la prototipazione, RAD, il modello incrementale, il modello a spirale, lo sviluppo concorrente, lo sviluppo iterativo e incrementale, nonché lo sviluppo basato su componenti.

3. La nozione di metodologia software

Il corso definisce la metodologia come un insieme di pratiche, regole, modelli e notazioni che guidano lo sviluppo di un sistema software. Vengono analizzate le principali famiglie di metodologie: structured methodologies, information engineering e object-oriented methodologies.

4. Structured Methodologies

Una parte importante è dedicata alle metodologie strutturate, in particolare alla famiglia SSADM: ciclo di vita strutturato, analisi dei requisiti, modellazione dei dati, modellazione dei processi, modellazione comportamentale, DFD, ERD, dizionario dei dati, diagrammi di stato ed estensioni per sistemi real-time.

5. Enterprise and Information Engineering

Il corso amplia la prospettiva verso l’enterprise modeling e l’information engineering: modellazione dell’impresa, processi di business, enterprise architecture, business engineering, modelli di processi e oggetti, nonché l’uso di UML nella modellazione di business.

6. Activity diagrams, business models e ontologies

Un segmento distinto tratta i diagrammi di attività, il workflow, l’associazione delle attività ad agenti ed entità di business, nonché le ontologie come strumento di formalizzazione e integrazione concettuale nell’enterprise modeling.

7. Object-oriented, agile, component-based e service-oriented development

La scheda del corso mostra esplicitamente l’apertura verso le metodologie orientate agli oggetti, i metodi agili, lo sviluppo basato su componenti e lo sviluppo orientato ai servizi. In quest’area, il corso poneva l’accento sul riuso, sulla progettazione architetturale e sulla scelta flessibile del processo in funzione del contesto applicativo.

Attività pratiche

La parte applicativa prevedeva l’uso effettivo di metodi diversi per lo stesso problema, proprio per mettere in evidenza i vantaggi e i limiti di ciascun approccio.

Nella scheda estesa del corso compaiono esplicitamente esempi quali SSADM, Unified Process / RUP, Scrum, Extreme Programming, Crystal, nonché l’orientamento verso componenti e servizi.

Valutazione

Lo schema di valutazione riflette molto bene il profilo del corso: non soltanto verifica teorica, ma anche applicazione concreta, confronto tra metodi e capacità di giustificare una scelta metodologica.

Bibliografia

Risorse

Per questa pagina esistono già ampie note del corso e documenti di syllabus o schede didattiche. Qui possono essere aggiunti i collegamenti ai file PDF o DOC dopo aver stabilito la cartella definitiva.


Torna ai corsi universitari