Object Oriented Analysis and Design in UML

indietro
Introduzione

Negli ultimi venti anni il processo che conduce alla realizzazione di un prodotto software – il cosiddetto "processo software" – ha ricevuto un'attenzione considerevole. Si e capito meglio come si deve produrre software e cosa significa la qualità del software. Apprendere i concetti fondamentali e le tecniche per lo sviluppo di applicazioni software è diventato un obbligo per un ingegnere software. Questi concetti e queste tecniche riguardano l'intero ciclo di vita di un progetto software, ma due sono le attivita portanti particolarmente importanti per il successo di un progetto: l' analisi e la progettazione.

L'analisi indaga sui requisiti-utente del prodotto ed elabora un modello che verrà poi tradotto in termini di software durante la progettazione. Il corso presenta gli aspetti fondamentali della modellazione del business, analisi e progettazione del software, con riferimento alle moderne tecniche di analisi e progettazione orientata agli oggetti e ad Unified Process.

Il corso introduce UML come linguaggio standard per la modellazione e documentazione dei sistemi software sviluppati ad oggetti.

Il corso si prefigge l'obiettivo principale di fornire al partecipante gli elementi di base dell'analisi e progettazione orientata agli oggetti. I partecipanti al corso saranno in grado di acquisire ed approfondire le conoscenze necessarie per ottenere il massimo beneficio dalla tecnologia ad oggetti. L'associazione alla teoria della realizzazione guidata di esercitazioni permette di applicare sul campo le conoscenze acquisite e di sperimentare direttamente le varie tipologie di problematiche da affrontare durante le fasi di analisi e progettazione di sistemi software.

Obiettivi del corso

Gli obiettivi principali del corso sono i seguenti:

  • comprendere gli obiettivi e il ruolo dell'analisi e della progettazione ad oggetti e fornire le competenze di base per lo svolgimento delle due attivita;
  • familiarizzare con il linguaggio UML, comprendere i suoi modelli e i formalismi utilizzati;
  • utilizzare questi modelli e formalismi per descrivere le attivita di cattura dei requisiti, analisi dei requisiti e progettazione del software.

Destinatari

Questo corso si rivolge a tutti coloro che intendono acquisire le competenze di base in analisi e progettazione orientate agli oggetti del software.

Prerequisiti

Richiesta esperienza di programmazione e partecipazione ad alcuni progetti importanti. E' preferibile conoscere un linguaggio di programmazione Object Oriented.

Durata
5 gg.
Argomenti trattati

 

1° giorno

1.  Introduzione all'ingegneria del software.
      Il processo software. Modello CMM
      Modelli del processo software
      RUP - modello iterativo, incrementale, basato sull'architettura.

2. Introduzione all'orientamento ad oggetti.
      Concetti, tipi e classi
      Incapsulamento dei dati
      Classi ed oggetti
      Attributi, operazioni e vincoli
      Relazioni tra classi e tra oggetti
      Generalizzazione/specializzazione
      Associazioni
      Aggregazioni
      Polimorfismo
      Diagrammi di classi in UML

Esercitazioni

2° giorno

3.  Modellazione dei processi business.
      Componenti del business
      Processi business
      Diagrammi di attività in UM
      Flussi di controllo e flussi di oggetti

4.  Catturare requisiti con casi di uso.
      Attori. Come stabilire i confini del sistema
      Documentare i requisiti software
      Diagrammi di casi d'uso in UML
      Descrizione dei casi d'uso
      Casi d'uso essenziali e reali
      Come identificare i casi d'uso
      Processo software guidato da casi d'uso

Esercitazioni

3° giorno

5. Analisi del software
      Modello concettuale del sistema
      Modello del dominio e modello dell'applicazione
      Identificare le classi del dominio
      Identificare attributi ed operazioni
      Identificare associazioni
      Riutilizzo delle classi
      Responsabilita e collaborazioni
      Schede CRC
      Documentare la semantica delle classi
      Diagrammi di robustezza in UML

Esercitazioni

4° giorno

6.  Modello comportamentale di un sistema ad oggetti.
      Stato degli oggetti
      Comunicazioni tra oggetti
      Diagrammi di sequenze di eventi in UML
      Contratti per operazioni
      Diagrammi di collaborazioni in UML

Esercitazioni

7.  Modello dinamico di un sistema.
      Eventi e segnali
      Diagrammi di transizioni di stato in UML
      Concorrenza

8. Introduzione ai pattern di analisi

Esercitazioni

5° giorno

9.  Progettazione orientata ad oggetti.
      Progettazione di sistema
      Come ripartire un sistema in sottosistemi
      Diagrammi di pacchetti in UML
      Progettare le collaborazioni tra sottosistemi
      Assegnare la responsabilita alle classi
      Modularità: accoppiamento + coesione

10.  Classi di progettazione.
      Casi d'uso reali
      Threads e controllers
      Progettazione degli oggetti

11.  Deployment del sistema.
      Diagrammi di componenti
      Diagrammi di deployment

12.  Introduzione ai pattern di progettazione

indietro