| Indice
Introduzione
Prefazione
A chi e' rivolto
Consigli per la lettura
Struttura
Ringraziamenti
Scuse
Breve biografia dell’autore
Convenzioni grafiche
Capitolo 1 – UML: che cosa e', che cosa non e'
Introduzione
La modellazione
Qualita' di un modello
Nascita e sviluppo di UML
La babele dei metodi
Le motivazioni
La genesi
UML 2.0
Obiettivi dello UML
Che cosa e' lo UML
Che cosa non e' lo UML
Metamodello e meta-metamodello
Definizioni di metamodello e meta-metamodello
Linguaggi e processi
Il famoso gap: mind the gap
Processi Use Case Driven
Processi Architecture Centric
Processi iterativi e incrementali
The Unified Software Development Process
Integrazione tra Use Case Driven e Architecture Centric
Ciclo di vita del processo
RUP: Rational Unified Process
ICONIX: un processo Use Case Driven
XP (eXtreme Programming): tutto e il contrario di tutto
I restanti processi
I tool
Tool UML
Ricapitolando…
Capitolo 2 – UML: struttura, organizzazione, utilizzo
Introduzione
La struttura
Le viste
I diagrammi
Qualche lacuna…
Utilizzo dello UML nei processi di sviluppo
Considerazioni finali
Use Case Diagram
Class Diagram
Object Diagram
Interaction Diagram
Statechart Diagram
Activity Diagram
Component Diagram
Deployment Diagram
Meccanismi generali
Meccanismi di estensione
I profili attesi
Ricapitolando…
Capitolo 3 – Introduzione agli Use Case
Introduzione
I requisiti utente
Obiettivi dell’analisi dei requisiti utente
Diagramma di “diritti e doveri” del cliente
Use Cases View
Perche' utilizzare i diagrammi dei casi d’uso?
Fruitori della use case view
Le diverse versioni del modello dei casi d’uso
Brainstorming inziale
Use Cases Diagram
Il sistema
Attori
I casi d’uso
Alcuni esempi
Verifiche dei casi d’uso
Metodologia “Walking the use case”
Anomalie tipiche del disegno degli use case diagram
Eccessiva scomposizione
Mancanza di astrazione
Eccessiva astrazione
Ricapitolando…
Capitolo 4 – Modellazione avanzata degli Use Case
Introduzione
Template
Flussi alternativi e sottoflussi (subflow)
Sezioni aggiuntive
Un semplice processo per produrre la descrizione dei casi d’uso
Esempio: Internet University Booking System
Esempio: sistema di banking
Iterazioni nella costruzione del modello dei casi d’uso
La sicurezza nel modello dei casi d’uso
e-commerce: un esempio
Ricapitolando…
Capitolo 5 – Completamento dell’analisi dei requisiti
Introduzione
Una tecnica di analisi dei requisiti
basata sugli activity diagram
Presentazione
Vantaggi e svantaggi
Modello per le interfacce
I famosi test case
Requisiti non funzionali
Le famose regole del business
Ricapitolando…
Capitolo 6 – Object Oriented in un chicco di grano
Introduzione
Nozioni base
Oggetti e classi
Elementi fondamentali di un oggetto
Tutti gli oggetti indossano un’interfaccia
Interfaccia (Java/UML)
Astrazione
Leggi fondamentali dell’Object Oriented in breve
Ereditarieta'
Incapsulamento
Polimorfismo
Massima coesione e minimo accoppiamento
Abstract Data Type (tipo di dato astratto)
Proprieta'
Notazione
Tre parole sul Design by Contract
(DbC, disegno per contratto)
Introduzione
Il sottocontratto
Eccezioni
Vantaggi
Classi ben disegnate
Ricapitolando…
Capitolo 7 – Gli oggetti: una questione di classe
Introduzione
Diagrammi delle classi
Classi in UML
Relazioni
I veri diagrammi a oggetti
Istanze nel metamodello
Esempio: definizione formale del comportamento dei casi d’uso
Modello dei test case
Un esempio piu' tecnico: generatore automatico di certificati
Classi “di classe”
Organizzazione del modello
Criteri generali
Livello di dettaglio
Diagrammi delle classi a colori
Adornamenti
Ricapitolando…
Capitolo 8 – Le classi nei processi
Introduzione
Perche' disegnare
Processi di sviluppo e modelli a oggetti
Modello a oggetti del dominio
Presentazione dello spazio del problema
Produzione del modello a oggetti del dominio
Modello a oggetti business
Introduzione
Esempio del modello a oggetti del business
Modello a oggetti del dominio “contro” quello di business
Quale viene prima?
Modello a oggetti di analisi
Introduzione
Dipendenza del modello di analisi dall’architettura
Regole fondamentali per la produzione del modello di analisi
Esempi
Pro e contro del modello di analisi
Modello di disegno
Introduzione
Esempio
CRC Cards
Presentazione
Esempio
Quando un modello di disegno puo' essere considerato ben progettato?
Sintomi di una cattiva architettura
Criteri
Conclusioni
Caratteristiche di un sistema
Ricapitolando…
Capitolo 9 – Diagrammi di interazione
Introduzione
Elementi comuni
Ruolo classificatore
Stimoli e messaggi
Diagrammi di sequenza
Definizione
Formalismo
Utilizzo
Lo stile
Diagrammi di collaborazione
Definizione
Formalismo
Utilizzo
Lo stile
Quale diagramma utilizzare?
Ricapitolando…
Capitolo 10 – Le attivita' di stato
Introduzione
I diagrammi di stato
Introduzione
Definizione accademica
Notazione UML
Utilizzo
Stile
I diagrammi di attivita'
Introduzione
Metamodello dei diagrammi di attivita
Elementi dei diagrammi di attivita'
Utilizzo
Stile
Ricapitolando…
Capitolo 11 – Anche gli aspetti “fisici” sono importanti
Introduzione
Evoluzione del concetto di componente
Elementi condivisi
Ancora sui componenti
Qualche parola sull’elemento Artifact
L’elemento nodo (Node)
I diagrammi dei componenti
Definizione
Utilizzo
Lo stile
Diagrammi di dispiegamento
Definizione dei diagrammi
Utilizzo
Stile
Un semplice processo per specificare software
basati sui componenti
Premessa
Presentazione del metodo
Esempio
Ricapitolando…
Appendice A – UML e i linguaggi di programmazione non OO
Introduzione
Analisi dei requisiti
Analisi
Disegno
Restanti diagrammi
Conclusioni
Appendice B – UML e la modellazione di basi di dati non OO
Introduzione
Tabelle
Relazioni
Indici
I trigger
Conclusioni
Appendice C – Il profilo EJB
Enterprise Java Beans: concetti di base
Profilo EJB
Appendice D – Glossario
Appendice E – Bibliografia ragionata
Indice analitico |