Esercitazioni di Ingegneria del Software con UML

Slides:



Advertisements
Presentazioni simili
Sperimentazioni di Ingegneria del Software
Advertisements

DFD (Data Flow Diagram)
Introduzione ai Casi dUso (c) TECNET DATI (c) TECNET DATI Pag. 2 Dai requisiti ai casi duso obiettividefinire gli obiettivi –gli obiettivi del committente.
Specifiche Algebriche
Principi di Programmazione Object-Oriented
Acquisti OnLine Progetto
Principi di Programmazione Object-Oriented
4 – Progettazione – Introduzione e Modello E-R
Basi di Dati prof. A. Longheu 4 – Progettazione – Introduzione e Modello E-R Cap. 5 Basi di dati Atzeni – Ceri – Paraboschi - Torlone.
Pacchetti di lavoro, cronogrammi, matrici…..
TW Analisi dei documenti n Classificazione dei componenti n Selezione dei componenti, costruzione della gerarchia, dei blocchi informativi e degli elementi.
Analisi dettagliata e design B. Pernici. Sommario Analisi dettagliata –Separazione interfaccia, controllo, entita Design –Logical view –Progettazione.
Autronica LEZIONE N° 4 AUTRONICA.
Intervento di Giuseppe Tacconi
Ciclo di vita del software
Espressioni condizionali
Modello E-R Generalizzazioni
Modello E-R Generalizzazioni
LINGUAGGI DI PROGRAMMAZIONE
Introduzione alla modellazione di sistemi interattivi
Da Problema a Programmazione
L’ingegneria del software
Il modello ER Proposto da Peter Chen nel 1976 rappresenta uno standard per la progettazione concettuale (in particolare per le basi di dati) Ha una rappresentazione.
Lo sviluppo del progetto informatico
Corso di Laurea in Informatica
1Ingegneria Del Software L-A Progetto realizzato da: Luca Iannario, Enrico Baioni, Sara Sabioni. A.A. 2008/2009.
1Ingegneria Del Software L-A Progetto realizzato da: Luca Iannario, Enrico Baioni, Sara Sabioni. A.A. 2008/2009.
Obiettivi di Design Rappresentano, in un prodotto software, le basi del successivo sviluppo del prodotto, perché, su di esse, si fondano le scelte prese.
Ricerca Internazionale IEA-PIRLS
Ingegneria dei Requisiti - e dei Sistemi - Giuseppe Berio DI-Unito 2007.
Scelta di un modello di processo: esempio
Commenti alle Attività Generiche. Attività Generiche (Pressman) Principali: Comunicazioni; Pianificazione; Modellazione; Costruzione, Dispiegamento Collaterali:
Scenari e Casi d’Uso (UML)
Commenti all’esempio del treno Nell’esempio del treno si è iniziato dalle attività generiche che tipicamente servono per portare a termine i compiti iniziali.
Commenti all’esempio del treno Nell’esempio del treno si è iniziato dalle attività generiche e/o attività operative che tipicamente costituiscono i passi.
Ingegnerie dei Requisiti e dei Sistemi
UML.
Progettazione concettuale di SI basati su Web
Sistemi basati su conoscenza Gestione della conoscenza Prof. M.T. PAZIENZA a.a
La modellazione degli oggetti
Programmazione ad oggetti
1 PRIMA SCIENZA PONTEDERA 4 DICEMBRE 2014 PROGETTAZIONE E DOCUMENTAZIONE DEL PERCORSO Cristina Duranti.
I DBMS BASI DI DATI (DATABASE) Insieme organizzato di dati utilizzati
Progettazione Logica Il prodotto della progettazione logica è uno schema logico che rappresenta le informazioni contenute nello schema E-R in modo corretto.
Diagramma delle Classi
Commenti all’esempio del treno Nell’esempio del treno si è iniziato dalle attività generiche e/o attività operative che tipicamente costituiscono i passi.
Analisi dei requisiti Il primo passo di “qualsiasi” processo di sviluppo è la definizione dei requisiti  Definizione del Business Model  Solitamente.
Fondamenti di Informatica 2 Ingegneria Informatica Docente: Giovanni Macchia a.a
Basi di dati - Modelli e linguaggi di interrogazione- Paolo Atzeni, Stefano Ceri, Stefano Paraboschi, Riccardo Torlone Copyright © The McGraw-Hill.
Ingegneria del software Modulo 1 -Introduzione al processo software Unità didattica 4 - Progettazione del software Ernesto Damiani Università degli Studi.
Progettazione di una base di dati Ciclo di vita di un sistema informativo Studio di fattibilità definisce le varie alternative possibili, i relativi costi.
Ingegneria del software Modulo 1 -Introduzione al processo software Unità didattica 4 - Progettazione del software Ernesto Damiani Università degli Studi.
Ingegneria del software Modulo 1 -Introduzione al processo software Unità didattica 4 -Progettazione del software Ernesto Damiani Università degli Studi.
BDL Modalità didattica: imparare facendo Obiettivi: –approfondire alcune nozioni introdotte a BD1: progettazione di applicazioni per basi di dati uso e.
UML: Introduzione Corso IS I /03 Gianna Reggio Versione 0.0.
Strategie di progetto Si possono utilizzare le strategie tipiche dello sviluppo di un processo di ingegnerizzazione (es. ingegneria del software). Strategie.
Specifiche Algebriche Introduzione Versione 1.0 Gianna Reggio
Ingegneria del software Modulo 1 - Introduzione al processo software Unità didattica 4 - Progettazione del software Ernesto Damiani Università degli Studi.
Ingegneria del software Modulo 1 -Introduzione al processo software Unità didattica 2 -Gestione requisiti Ernesto Damiani Università degli Studi di Milano.
Ingegneria del software Modulo 1 -Introduzione al processo software Unità didattica 4 – Progettazione del software Ernesto Damiani Università degli Studi.
DFD (Data Flow Diagram) Riferimenti: –Pressman, Cap. 8.
Progettazione concettuale di SI basati su Web B. Pernici.
1.1 Progettazione di Basi di Dati PRESENTAZIONE DEL CORSO Modalità didattica: imparare facendo Obbiettivi: approfondire alcune nozione introdotte nel corso.
Eprogram informatica V anno.
Contare multibase
Per costruire una (buona) mappa concettuale
UML Unified Modelling Language Linguaggio per la modellazione unificato.
Diagramma degli Stati. Diagramma degli Stati … Definizione è un grafico con nodi ed archi in cui i nodi rappresentano gli stati di una classe e gli archi,
Parsing ricorsivo discendente Il parsing ricorsivo discendente (recursive descent parsing) è un metodo di tipo top-down che può essere facilmente codificato.
Introduzione alle Classi e agli Oggetti in Java 1.
Transcript della presentazione:

Esercitazioni di Ingegneria del Software con UML Giuseppe Berio berio@di.unito.it

Passo I Costruire un Modello (Diagramma) dei Casi d’Uso che mostri cosa deve fare il Sistema Software (Requisiti) facendo quindi riferimento al Dominio del Problema E’ possibile usare tre strategie: Indicando per ogni “Attore” del Sistema Software quale ne sia il caso d’uso a valore aggiunto Indicando a quali “Eventi” deve reagire il Sistema Software Indicando per ogni requisito iniziale una rappresentazione in termini di casi d’uso Valutare il giusto livello di astrazione del Modello dei Casi d’Uso sviluppato: È possibile avere un modello più astratto e meno dipendente dalla situazione contingente? © G.Berio DI-UNITO 2005

Passo II Completare il Modello dei Casi d’Uso con descrizioni testuali per ciascun caso d’uso Scelto un caso d’uso (esempio, “raccomandare polizza”) rappresentare la sua descrizione con un Modello delle Attività indicando, in particolare, le Attività che sono svolte dal Sistema Software Rispondere alla seguente domanda: basandosi sulla soluzione data, quali sono le differenze con l’Analisi Strutturata? © G.Berio DI-UNITO 2005

Traccia per la Descrizione Testuale dei Casi d’Uso © G.Berio DI-UNITO 2005

Passo III Raggruppare i Casi d’Uso in Sottosistemi (principio di Coesione) considerando i sottosistemi rappresentabili con Package © G.Berio DI-UNITO 2005

Passo IV Identificare le Classi del Dominio del Problema Nominare ogni Classe identificata Per identificare le Classi è possibile usare le seguenti strategie: Guidata dai casi d’uso (prevede la precedente costruzione del modello dei casi d’uso) Guidata dai requisiti (in generale): Categorie di classi: in fase di specifica dei requisiti, pattern di analisi (cose tangibili, ruoli in organizzazioni, incidenti, interazione, specifica); in fasi di progetto, pattern di progetto Analisi di nomi e di frasi nominali Associare una definizione ad ogni Classe identificata © G.Berio DI-UNITO 2005

Passo V Identificare gli Attributi delle Classi Nominare ogni Attributo identificato E’possibile seguire la seguente strategia per ogni Classe: Categorie di Attributi : Attributi descrittivi, descrivono le caratteristiche tipiche di un oggetto della classe Attributi di identificazione, rappresentano il modo con cui un singolo oggetto della classe può essere identificato senza ambiguità Attributi referenziali, rappresentano possibili legami con altre classi (e tuttavia in questo caso è necessario rimandare alle associazioni) Indicare eventualmente per ogni Attributo il Tipo: Specifico Generico (del linguaggio di programmazione usato) Indicare eventualmente per ogni Attributo la Visibilità Associare una definizione ad ogni Attributo © G.Berio DI-UNITO 2005

Passo VI Mettere in atto le seguenti “verifiche di qualità” sul Modello delle Classi: Controllare per ogni Classe, La sua definizione valutando che sia semplice e precisa (cioè non ambigua relativamente al Dominio del Problema) non contenga “OR” o non sia una lista Che non sia singolare Che abbia attributi e possibilmente attributi di identificazione Gli attributi opzionali privi di significato per interi insiemi d’oggetti, chiaramente identificabili Gli attributi il cui singolo valore è un insieme (di valori) © G.Berio DI-UNITO 2005

Passo VII Introdurre le associazioni nel Modello delle Classi indicando: Il nome (anche se non obbligatorio) Gli eventuali nomi di ruolo (seguendo i due standard comunemente usati) Le cardinalità Stabilire le eventuali Classi d’Associazione © G.Berio DI-UNITO 2005

PassoVIII Mettere in atto le seguenti “verifiche di qualità” sul Modello delle Classi: Verificare la definizione di ogni associazione Verificare la coerenza tra la definizione di ogni classe e la cardinalità delle associazioni cui la classe partecipa Se tra due classi esistono più associazioni, verificare le definizioni delle associazioni stesse in modo che non vi siano “sovrapposizioni” © G.Berio DI-UNITO 2005

Il Documento dei Requisiti I Finalità del software Definizioni, acronimi, abbreviazioni Documenti di riferimento Sintesi Descrizione degli elementi esterni al software (inclusa la tipologia d’utente) Descrizione delle funzionalità principali del software Use case, diagrammi di attività Vincoli di progetto Ipotesi © G.Berio DI-UNITO 2005

Il Documento dei Requisiti II Requisiti dettagliati Requisiti funzionali Funzionalità (incluso formati di I/O; vincoli) descrizione testuale use case, eventuali diagrammi di attività, sequence e statechart Informazioni trattate classi, eventuali statechart Requisiti non funzionali Prestazioni Affidabilità Disponibilità Sicurezza Manutenibilità Portabilità Interfacce Interazione con gli utenti diagrammi di attività o use case Interazione con i sistemi © G.Berio DI-UNITO 2005

Esercitazione Finale: Primi Obiettivi Obiettivo 1: Scrivere un documento dei requisiti Obiettivo 2: Specificare i requisiti con UML: per ogni caso d’uso, indicare una descrizione completa (con o senza il diagramma delle attività) (per ogni caso d’uso), indicare i diagrammi di sequenza (ed eventualmente di collaborazione); definire il diagramma delle classi completo; (per ogni classe), definire gli eventuali statechart. © G.Berio DI-UNITO 2005