Salta al contenuto principale
Passa alla visualizzazione normale.

Soluzioni Generali a Problemi Ricorrenti nello Sviluppo di Software ad Oggetti: i Design Pattern

15-feb-2016

Ascolta

Nell'ambito delle attività promosse dal CICSI per l'avviamento al lavoro,  mercoledì 17 febbraio alle ore 15 in aula 7 il dott. Luca Sabatucci del Cognitive Systems Lab del ICAR-CNR di Palermo terrà un seminario dal titolo "Soluzioni Generali a Problemi Ricorrenti nello Sviluppo di Software ad Oggetti: i Design Pattern". Tutti gli interessati, e in particolare gli studenti della laurea magistrale in Informatica, sono invitati a partecipare. Per gli studenti della laurea magistrale in Informatica la partecipazione al seminario contribuirà all'acquisizione di CFU per l'orientamento nel mondo del lavoro (secondo la regola 1 CFU ogni due seminari).  

Abstract del seminario: 
"Progettare e sviluppare software ad oggetti sono attività tutt’altro che semplici: occorre trovare gli oggetti giusti, fattorizzarli in classi con la giusta granularità, definire interfacce e gerarchie d’ereditarietà e stabilire, tra queste, le relazioni fondamentali. D’altro canto rendere facilmente manutenibile e riusabile il software che si sta sviluppando è ancora più difficile. Un approccio non sistematico porta a dover risolvere ogni volta tutti problemi partendo da zero. Questo risulta costoso e rischioso, in quanto aumenta i tempi di sviluppo e richiede di dover prendere una quantità di decisioni che potrebbero influenzare la qualità finale.  
I design pattern rappresentano uno strumento per riusare delle soluzioni che in passato hanno dimostrato di funzionare. In altri termini un design pattern è un contenitore di esperienza e di buone pratiche. Chi li conosce ha modo di applicare rapidamente queste soluzioni generali ai problemi specifici che si stanno affrontando nel progetto in corso, riducendo i tempi di sviluppo e il rischio di incorrere in errori.
L’obiettivo del seminario è di introdurre il concetto di design pattern ad oggetti e di motivarne l'utilizzo all’interno del processo di sviluppo del software."