PROGETTAZIONE DEL SOFTWARE
Videolezioni & Slide
A cura di Stefano Silvani
Lez.01 - Introduzione all'analisi e progettazione del software ................................................................. 4
IL SOFTWARE OGGI ................................................................................................................................................. 4
CHE COSA SONO ANALISI E PROGETTAZIONE ........................................................................................... 4
UML ................................................................................................................................................................................. 6
UN BREVE ESEMPIO ................................................................................................................................................ 7
STUDI DI CASO ......................................................................................................................................................... 10
Lez.02 - Sviluppo iterativo ....................................................................................................................................... 10
PROCESSI SOFTWARE .......................................................................................................................................... 10
PROCESSO A CASCATA ......................................................................................................................................... 11
SVILUPPO EVOLUTIVO E ITERATIVO ............................................................................................................ 12
UNIFIED PROCESS (UP) ....................................................................................................................................... 15
Lez.03 - Requisiti e casi d'uso ................................................................................................................................. 16
REQUISITI .................................................................................................................................................................. 16
CASI D’USO ................................................................................................................................................................. 17
ULTERIORI ELABORATI PER I REQUISITI ................................................................................................... 21
Lez.04 - Modellazione di dominio (prima parte) ........................................................................................... 21
ITERAZIONE 1 .......................................................................................................................................................... 21
VERSO L’ANALISI A OGGETTI ........................................................................................................................... 21
MODELLAZIONE DI DOMINIO .......................................................................................................................... 23
IDENTIFICARE LE CLASSI ................................................................................................................................... 26
Lez.05 - Modellazione di dominio (seconda parte) ...................................................................................... 28
IDENTIFICARE LE ASSOCIAZIONI ................................................................................................................... 29
IDENTIFICARE GLI ATTRIBUTI ........................................................................................................................ 33
MODELLO DI DOMINIO PER LO STUDIO DI CASO POS .......................................................................... 35
Lez.06 - Operazioni di sistema e contratti ........................................................................................................ 37
OPERAZIONI DI SISTEMA E DIAGRAMMI DI SEQUENZA DI SISTEMA ............................................ 37
CONTRATTI DELLE OPERAZIONI .................................................................................................................... 42
Lez.07 - Verso la progettazione a oggetti .......................................................................................................... 48
ARCHITETTURA A STRATI ................................................................................................................................. 48
ALCUNI PRINCIPI DI PROGETTAZIONE ........................................................................................................ 51
MODELLAZIONE STATICA E MODELLAZIONE DINAMICA .................................................................. 53
Lez.08 - Progettazione a oggetti (prima parte) .............................................................................................. 59
PROGETTAZIONE GUIDATA DALLE RESPONSABILITÀ ........................................................................ 59
PATTERN GRASP .................................................................................................................................................... 60
Lez.09 - Progettazione a oggetti (seconda parte) .......................................................................................... 68
INPUT, RISULTATI E CRITERI PER LA PROGETTAZIONE .................................................................... 68
UNO STUDIO DI CASO DI PROGETTAZIONE A OGGETTI ...................................................................... 71
Lez.10 - Progettazione a oggetti (terza parte) ................................................................................................ 82
TRASFORMARE IL PROGETTO IN CODICE .................................................................................................. 82
SVILUPPO GUIDATO DAI TEST ......................................................................................................................... 88
REFACTORING ......................................................................................................................................................... 90
Lez.11 - Ulteriore analisi a oggetti ....................................................................................................................... 91
ITERAZIONE II ......................................................................................................................................................... 91
GENERALIZZAZIONE/ SPECIALIZZAZIONE .............................................................................................. 91
ULTERIORI OPERAZIONI DI SISTEMA E CONTRATTI ............................................................................ 96
Lez.12 - Ulteriori pattern per l'assegnazione di responsabilità .............................................................. 98
1
A Cura di Stefano Silvani. UTIU – Il presente materiale è stato realizzato a fini didattici. Ne è vietata qualsiasi riproduzione,
manipolazione e vendita non autorizzata.
PURE FABRICATION .............................................................................................................................................. 98
INDIRECTION ........................................................................................................................................................ 101
POLYMORPHISM .................................................................................................................................................. 103
PROTECTED VARIATIONS ............................................................................................................................... 105
Lez.13 - Progettare con i design pattern ........................................................................................................ 106
DESIGN PATTERN ............................................................................................................................................... 106
PROGETTARE CON I DESIGN PATTERN .................................................................................................... 107
COLLEGAMENTO TRA STRATI ...................................................................................................................... 115
Lez.14 - Introduzione alle architetture software ........................................................................................ 116
DALLA PROGETTAZIONE OO (orientata agli oggetti) ALLE ARCHITETTURE SOFTWARE 116
ARCHITETTURA SOFTWARE: DEFINIZIONE .......................................................................................... 117
ALTRI CONCETTI ................................................................................................................................................. 121
Lez.15 - Punti di vista e viste ............................................................................................................................... 123
VISTE ARCHITETTURALI ................................................................................................................................. 123
PUNTI DI VISTA .................................................................................................................................................... 124
Lez.16 - Processo di definizione dell'architettura ...................................................................................... 129
DEFINIZIONE DELL’ARCHITETTURA ......................................................................................................... 129
OTTENERE QUALITA’ ........................................................................................................................................ 131
VALIDAZIONE DELL’ARCHITETTURA ........................................................................................................ 133
Lez.17 - Tattiche architetturali ........................................................................................................................... 134
INTRODUZIONE ALLE TATTICHE ................................................................................................................ 134
TATTICHE PER LE PRESTAZIONI ................................................................................................................. 136
TATTICHE PER LA MODIFICABILITÀ ......................................................................................................... 136
TATTICHE PER LA DISPONIBILITÀ ............................................................................................................. 138
Lez.18 - Stili architetturali (prima parte) ....................................................................................................... 140
INTRODUZIONE AGLI STILI architetturali ............................................................................................... 140
DOMAIN MODEL E DOMAIN OBJECT ......................................................................................................... 141
LAYERS ..................................................................................................................................................................... 143
Lez.19 - Stili architetturali (seconda parte) .................................................................................................. 146
PIPES AND FILTERS ........................................................................................................................................... 146
MODEL-VIEW-CONTROLLER ......................................................................................................................... 152
Lez.20 - Stili architetturali (terza parte) ........................................................................................................ 154
SHARED REPOSITORY ....................................................................................................................................... 154
MICROKERNEL ..................................................................................................................................................... 156
REFLECTION .......................................................................................................................................................... 159
Lez.21 - Connettori e middleware ..................................................................................................................... 162
CONNETTORI ......................................................................................................................................................... 162
MIDDLEWARE ....................................................................................................................................................... 164
Lez.22 - Architettura dei sistemi distribuiti .................................................................................................. 169
INTRODUZIONE AI SISTEMI DISTRIBUITI ............................................................................................... 169
STILE CLIENT-SERVER ..................................................................................................................................... 170
STILE PEER-TO-PEER ........................................................................................................................................ 176
Lez.23 – oggetti distribuiti .................................................................................................................................... 178
ARCHITETTURA A OGGETTI DISTRIBUITI ............................................................................................... 178
PROXY ....................................................................................................................................................................... 182
BROKER ................................................................................................................................................................... 184
SEMANTICA DELLE CHIAMATE REMOTE ................................................................................................ 186
Lez.24 – Messaging .................................................................................................................................................. 187
INTRODUZIONE AL MESSAGING .................................................................................................................. 188
PATTERN PER IL MESSAGING ....................................................................................................................... 191
2
A Cura di Stefano Silvani. UTIU – Il presente materiale è stato realizzato a fini didattici. Ne è vietata qualsiasi riproduzione,
manipolazione e vendita non autorizzata.
Lez.25 - Architettura a componenti (prima parte) .................................................................................... 194
COMPONENTI ........................................................................................................................................................ 194
UN ESEMPIO DI TECNOLOGIA A COMPONENTI .................................................................................... 197
Lez.26 - Architettura a componenti (seconda parte) ................................................................................ 200
CONTENITORI ....................................................................................................................................................... 200
CONTENITORI E CLUSTER ............................................................................................................................. 202
Lez.27 - Architettura orientata ai servizi (prima parte) .......................................................................... 207
Introduzione ai servizi ....................................................................................................................................... 207
WEB SERVICES SOAP ......................................................................................................................................... 209
WEB SERVICES REST ......................................................................................................................................... 212
Lez.28 - Architettura orientata ai servizi (seconda parte) ..................................................................... 213
Introduzione alla SOA ........................................................................................................................................ 213
ARCHITETTURA ORIENTATA AI SERVIZI ................................................................................................ 214
SOA E CLOUD COMPUTING ............................................................................................................................. 216
3
A Cura di Stefano Silvani. UTIU – Il presente materiale è stato realizzato a fini didattici. Ne è vietata qualsiasi riproduzione,
manipolazione e vendita non autorizzata.
Lez.01 - Introduzione all'analisi e progettazione del software
IL SOFTWARE OGGI
Facebook: oltre 60 milioni di linee codice sorgente – con 10 mila nodi (lato server). La
realizzazione di sistemi sw oggi pone sfide formidabili agli sviluppatori e se non si realizzano
tali sfide non si ha un sistema sw adeguato.
Un sistema software ha in genere lo scopo di:
fornire un insieme di funzionalità e gestire alcune tipologie di informazioni (nel caso di
• FB la finalità è gestire messaggi e relazioni tra utenti)
con opportune caratteristiche di qualità (qualità importante è scalabilità, ovvero
• consentire accesso a numero elevato di utenti)
Progettazione del software
È un’attività di decomposizione del sistema software da realizzare in un insieme di elementi
software a cui sono assegnate delle responsabilità e di specifica delle relazioni tra questi
elementi. La progettazione sw ha scopo di capire quali sono elementi sw che costituiscono la
soluzione. Sono importanti non solo gli elementi ma anche le relazioni tra elementi. La
progettazione sw affronta queste problematiche.
Questo corso
analisi e progettazione orientata agli oggetti (progettazione sw per funzionalità
• sistema sw)
progettazione per le funzionalità di un sistema software
o
architetture software (progettazione per attributi sw come sicurezza, scalabilità, ecc.)
• progettazione per gli attributi di qualità
o
CHE COSA SONO ANALISI E PROGETTAZIONE
Analisi
È interessata all’investigazione di un problema e ai requisiti del sistema di interesse;
è interessata al che cosa
- Ese: quali sono tipi di info che il sistema deve gestire.
- Analisi orientata agli og
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
-
Appunti Progettazione Sistemi Meccanici
-
Appunti di SPSS, Psicometria con Laboratorio Software 1
-
Appunti Calcolo numerico e software matematico
-
Appunti di progettazione e manutenzione della sovrastruttura stradale