Modellazione di sistema



Documenti analoghi
Strumenti di modellazione. Gabriella Trucco

Gestione del workflow

Università degli Studi di Parma Facoltà di Scienze MM. FF. NN. Corso di Laurea in Informatica. Ingegneria del Software. La fase di Analisi

La Progettazione Concettuale

DFD DISPENSA DEL CORSO DI SISTEMI INFORMATIVI UNIVERSITÀ DEGLI STUDI DI VERONA FACOLTÀ DI MM.FF.NN LAUREA SPECIALISTICA IN INFORMATICA

Stefania Marrara - Esercitazioni di Tecnologie dei Sistemi Informativi. Integrazione di dati di sorgenti diverse

Indice generale. OOA Analisi Orientata agli Oggetti. Introduzione. Analisi

Corso di Laurea Specialistica in Ingegneria Informatica. Corso di Ingegneria del Software A. A Class Discovery E.

UniRoma2 - Ingegneria del Software 1 1

Progettaz. e sviluppo Data Base

Elementi di semantica operazionale

Organizzazione degli archivi

Diagrammi di Flusso dei Dati

Elementi di semantica denotazionale ed operazionale

Fondamenti di Informatica. Docenti: Prof. Luisa Gargano Prof. Adele Rescigno BENVENUTI!

Progettazione esterna

Ingegneria del Software

Considera tutti i requisiti funzionali (use cases) NON deve necessariamente modellare i requisiti non funzionali

Cosa significa che il SW è non lineare? Piccoli cambiamenti nel codice portano a grandi cambiamenti di comportamento

La Metodologia adottata nel Corso

Sequence Diagram e Collaboration Diagram

Modellazione dei dati in UML

Concetti di base di ingegneria del software

Fasi di creazione di un programma

Linguaggi e Paradigmi di Programmazione

7. Architetture Software

Progettare una basi di dati vuole dire progettare la struttura dei dati e le applicazioni

Generazione Automatica di Asserzioni da Modelli di Specifica

Database. Appunti di Amaranto Oronzo e Giancane Diego Lezione dell Ing. Lucia Vaira 24/04/2014

MODELLO E/R. Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni

Database. Si ringrazia Marco Bertini per le slides

Progettazione di Basi di Dati

UML - Unified Modeling Language

LEAD GENERATION PROGRAM

BASI DI DATI per la gestione dell informazione. Angelo Chianese Vincenzo Moscato Antonio Picariello Lucio Sansone

PIANO DI STUDIO DELLA DISCIPLINA DISCIPLINA: Tecnologia e Progettazione di Sistemi Informatici e di Telecomunicazioni

Basi di Dati Relazionali

Corso di Informatica (Basi di Dati)

Sistemi Informativi. Introduzione. Processi fisici. Tipologie di processi. Processi informativi. Processi aziendali

Ingegneria del Software 12. Progettazione. Dipartimento di Informatica Università di Pisa A.A. 2014/15

Sommario. Definizione di informatica. Definizione di un calcolatore come esecutore. Gli algoritmi.

I Problemi e la loro Soluzione. Il Concetto Intuitivo di Calcolatore. Risoluzione di un Problema. Esempio

Programmi e Oggetti Software

Informatica Industriale Modello funzionale: Informazione Progettazione concettuale

ALGORITMI e PROGRAMMI Programmazione: Lavoro che si fa per costruire sequenze di istruzioni (operazioni) adatte a svolgere un dato calcolo

INGEGNERIA DEL SOFTWARE. Prof. Paolo Salvaneschi

PROGRAMMAZIONE MODULARE DI INFORMATICA CLASSE QUINTA - INDIRIZZO MERCURIO SEZIONE TECNICO

Sistemi Informativi e Basi di Dati

Piano di gestione della qualità

Basi di dati. (Sistemi Informativi) teoria e pratica con Microsoft Access. Basi di dati. Basi di dati. Basi di dati e DBMS DBMS DBMS

Raccolta dei Requisiti con i Casi D'uso. Corso di Ingegneria del Software Anno Accademico 2012/13

SISTEMI INFORMATIVI AVANZATI -2010/ Introduzione

Processo parte VII. Strumenti. Maggiore integrazione. Sviluppo tecnologico

Sistemi elettronici per la sicurezza dei veicoli: presente e futuro. Il ruolo della norma ISO per la Sicurezza Funzionale

Lezione 1. Introduzione e Modellazione Concettuale

Progettare una base di dati che permetta di gestire il problema descritto nel seguito, nei seguenti punti:

TECNICO SUPERIORE DEI TRASPORTI E DELL INTERMODALITÀ

Introduzione ai tipi di dato astratti: applicazione alle liste

Liceo Tecnologico. Indirizzo Informatico e Comunicazione. Indicazioni nazionali per Piani di Studi Personalizzati

Origini e caratteristiche dei calcolatori elettronici

Architetture software

Progettazione dei Dati

Lezione 2. Il modello entità relazione

MODELLO E/R. Modellazione dei dati

Telerilevamento e GIS Prof. Ing. Giuseppe Mussumeci

Alessandra Raffaetà. Basi di Dati

Corso: Sistemi di elaborazione delle informazioni 2. Anno Accademico: 2007/2008. Docente: Mauro Giacomini

Progettazione concettuale

Software di sistema e software applicativo. I programmi che fanno funzionare il computer e quelli che gli permettono di svolgere attività specifiche

PROGETTAZIONE CONCETTUALE

INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI

Scenario di Progettazione

Procedure di lavoro in ambienti confinati Livello specialistico

1. BASI DI DATI: GENERALITÀ

CORSO ACCESS PARTE II. Esistono diversi tipi di aiuto forniti con Access, generalmente accessibili tramite la barra dei menu (?)

UNIVERSITÀ DEGLI STUDI DI BRESCIA Facoltà di Ingegneria

I casi d uso corrispondono ai compiti che l attore (che può essere una persona fisica e non) può svolgere.

PROGRAMMAZIONE MODULARE. Periodo mensile. Ore previste

Metodologie di programmazione in Fortran 90

Object Oriented Programming

Problemi, Algoritmi e Programmi

SVILUPPO, CERTIFICAZIONE E MIGLIORAMENTO DEL SISTEMA DI GESTIONE PER LA SICUREZZA SECONDO LA NORMA BS OHSAS 18001:2007

COS È UN LINGUAGGIO? LINGUAGGI DI ALTO LIVELLO LA NOZIONE DI LINGUAGGIO LINGUAGGIO & PROGRAMMA

LogiTrack OTG. LogiTrack Gestione logistica controllo ordine spedizioni. OTG Informatica srl

La specifica del problema

Introduzione alle basi di dati. Gestione delle informazioni. Gestione delle informazioni. Sistema informatico

TECNICO SUPERIORE PER L AUTOMAZIONE INDUSTRIALE

Sistemi informativi secondo prospettive combinate

MANUALE MOODLE STUDENTI. Accesso al Materiale Didattico

IL SOFTWARE SECONDO LA NORMA UNI EN ISO :2008 (IIA PARTE) 1

Linguaggi di programmazione

INFORMATICA 1 L. Mezzalira

Lezione V. Aula Multimediale - sabato 29/03/2008

ISTITUTO TECNICO ECONOMICO MOSSOTTI

UNIVERSITA DEGLI STUDI DI BRESCIA Facoltà di Ingegneria

Università di Pisa Polo Sistemi Logistici Economia e Legislazione dei Sistemi Logistici. Informatica per la Logistica. Lezioni

I metodi formali nel processo di sviluppo del software

FONDAMENTI di INFORMATICA L. Mezzalira

EXPLOit Content Management Data Base per documenti SGML/XML

Indice. Prefazione alla seconda edizione italiana XVII. Introduzione. Parte 1 Introduzione all UML e all UP 1

Transcript:

Corso di Laurea Specialistica in Ingegneria Informatica Corso di Ingegneria del Software A. A. 2008 - Modellazione di sistema E. TINELLI

Contenuti Approcci di analisi Linguaggi di specifica Modelli di analisi Modelli contestuali Modelli comportamentali Modelli di informazione Modelli a oggetti Modelli strutturati 2

Approcci all Analisi Approccio Informale nessun modello del sistema viene costruito (uso di un linguaggio informale) la raccolta delle informazioni avviene attraverso una serie di riunioni tra gli utenti/committenti ed analisti, l uso di questionari, studio di documentazione esistente, si procede attraverso la formulazione e il raffinamento di vari documenti di SRS che sono sottoposti alla convalida nell ambito di opportuni meeting Approccio basato su modelli concettuali produce rappresentazioni del dominio applicativo e del sistema basate su linguaggi formali o semi-formali inseriti nel documento Approccio basato sulla prototipazione il problema viene analizzato ed i requisiti sono compresi grazie all uso di un prototipo del sistema da parte di cliente ed utenti 3

Alcuni approcci basati sui modelli concettuali Analisi Strutturata basata sull uso di Data Flow Diagrams (DFD) e Dizionario dei Dati l analisi del problema viene eseguita usando l approccio della decomposizione delle funzioni i dati e le relative relazioni sono modellati con linguaggi diversi (es. modello Entità-Relazioni) Analisi Object-Oriented l analisi del problema viene eseguita usando l approccio della decomposizione in oggetti (entità/ concetti del dominio del problema) uso di linguaggi di modellazione, es. UML 4

Data Flow Diagram (DFD) Rappresenta le trasformazioni che i dati subiscono nel loro flusso all interno del sistema Ogni sistema di elaborazione effettua una trasformazione di dati di ingresso in dati di uscita Permette anche di descrivere processi di business Un produttore o consumatore di dati (persone, dispositivi, sensori) Un elaboratore di dati (trasforma dati di input in dati di output) Il flusso dati in un sistema inizia come input e termina come output I dati devo essere spesso memorizzati per elaborazioni successive 5

DFD Esempi 6

Dizionario dei dati Lista ordinata alfabeticamente dei nomi inclusi nei modelli del sistema (nomi di entità, di relazioni, di attributi, di servizi, ecc.) Possibile struttura di un dizionario: Nome Descrizione Tipo Data Composizione Creatore Vantaggio quando si sviluppa un grande modello di sistema in cui intervengono molte persone è possibile che vengano usati gli stessi nomi (strumenti CASE per verificare l unicità del nome) 7

Tecniche di specifica Le tecniche si suddividono rispetto al grado di formalità della descrizione (del rispettivo linguaggio). La formalità indica il rigore con cui sono definite la sintassi e la semantica del linguaggio. rispetto a cosa descrivono del sistema (il loro stile) ossia quale aspetto del sistema è più facile descrivere utilizzando il linguaggio (comportamento o proprietà) 8

Grado di Formalità Notazioni informali: le specifiche del sistema sono descritte in linguaggio naturale. Spesso usato perché è facilmente comprensibile dal committente ma è una possibile fonte di ambiguità Notazioni formali: la specifica è un oggetto formale rappresentata in una notazione logico-matematica definita in modo rigoroso sul piano sintattico e semantico. Aumenta le capacità di astrazione ed elimina le ambiguità. Consente di ragionare su e verificare proprietà, anche con strumenti (semi)automatici che supportano quel linguaggio. Notazioni semi-formali: immediatamente comprensibili utilizzano notazioni grafiche accompagnate da descrizioni in linguaggio naturale; riducono le interpretazioni ambigue; i modelli semiformali sono allo stato dell arte i più flessibili ed i più usati 9

Stili di specifica Stile descrittivo definisce le proprietà desiderate del sistema con un elevato grado di astrazione cioè non descrive una possibile realizzazione del sistema E più difficile capire come si comporta il sistema descritto E più facile fare ragionamenti (es. dimostrare formalmente che vale una certa proprietà, modificare la descrizione perché valga una proprietà) Stile operazionale: definisce il comportamento desiderato del sistema. Si descrive il comportamento atteso mediante una macchina astratta suggerendone una possibile implemementazione Pro E facilmente eseguibile E facile costruire un prototipo e verificarne l aderenza alla descrizione (medesimo comportamento) Contro Spinge decisamente verso una certa implementazione E più difficile risalire alle proprietà del sistema e provarle Specifica mista 10

Stili di specifica e Linguaggi Specifica operazionale: Diagrammi del Flusso Dati (DFD) Macchine a Stati Finiti (FSM) - sono molto usate per verificare formalmente le proprietà dei sistemi. Una FSM si trova sempre in un solo stato e permette di specificare soltanto uno stato successivo per una stessa azione. Reti di Petri (PN) - formalismo ideato negli anni 60 per modellare sistemi concorrenti si focalizza sul controllo. Formalmente sono definite da una quadrupla <P,T,F,W> mentre con token si indica lo stato della rete. Specifica descrittiva: Diagrammi Entità- Relazione (ER) Specifiche basate sulla Logica es. TRIO linguaggio di specifica sviluppato fine anni 80 esteso con costrutti orientati agli oggetti (TRIO+) è una logica temporale del primo ordine, con una nozione metrica di tempo. Specifica mista: Linguaggio Z - fornisce un modello (una macchina astratta) e poi descrive, facendo uso di logica, il meccanismo con cui funziona questa macchina astratta. UML 11

I linguaggi di specifica - Riepilogo 12

Che cosa è un modello? Per modello del sistema si intende una rappresentazione astratta del sistema che facilita la comprensione delle proprietà del sistema e delle sue caratteristiche di funzionamento, prima che il sistema venga costruito Per descrivere completamente un sistema è necessario costruire vari modelli che rappresentino il sistema da vari punti di vista (informazioni, funzioni e comportamento dinamico) Si possono sviluppare diversi modelli per rappresentare il sistema secondo diverse prospettive (prospettiva esterna, prospettiva comportamentale, prospettiva strutturale) 13

Modello contestuale Durante la fase di deduzione ed analisi dei requisiti è bene fissare i confini del sistema (distinguere cosa è il sistema e cosa è l ambiente del sistema) Es. per BiblioSYS bisogna decidere se i vari database delle biblioteche fanno parte del sistema o no Un modello contestuale è generalmente costituito da un semplice modello architetturale di alto livello espresso come diagramma a blocchi: ogni rettangolo è un sottosistema e le linee rappresentano le relazioni tra i sottosistemi Un modello architetturale descrive l ambiente di un sistema e non le relazioni con altri sistemi utilizzare altri modelli quali modelli di processo o modelli di data-flow 14

Modello comportamentale È utilizzato per descrivere il comportamento generale del sistema e ne rappresenta gli aspetti funzionali: Data-flow diagram se si vuole mettere in evidenza come il sistema elabora i dati secondo una prospettiva funzionale in cui ogni trasformazione rappresenta una singola funzione o processo Macchina a stati finiti se si vuole descrivere come il sistema reagisce ad eventi esterni o interni mostrando gli stati del sistema e gli eventi che causano la transizione da uno stato all altro e non i dati scambiati (usato per sistemi real-time generalmente gestiti da stimoli esterni) Diagrammi UML per rappresentare gli aspetti funzionali del sistema (use case diagram, activity diagram, interaction diagram) 15

Modello di informazione È utilizzato per definire la forma logica dei dati elaborati dal sistema (modellazione semantica dei dati) Si possono utilizzare i modelli Entità-Relazioni (ER) gli schemi logici ottenuti da tali modelli sono naturalmente in terza forma normale Database a oggetti Rappresentazione UML di un modello ER entità sono classi di oggetti semplificate e gli attributi sono gli attributi delle classi Diagramma delle dipendenze produce schemi logici in quinta forma normale I modelli di informazione mancano di dettaglio e si dovrebbero mantenere descrizioni più dettagliate su entità, attributi e relazioni in un Dizionario dei Dati 16

Diagramma delle dipendenze convenzioni grafiche 17

Tipi di bolle Target è la bolla a cui arriva una dipendenza singola Chiave finale è la bolla a cui arriva una dipendenza multipla e da cui non parte alcuna dipendenza Chiave primaria - è la bolla da cui dipende la bolla Target, se la dipendenza è singola, oppure la bolla Finale, se la dipendenza è multipla Chiave uplink è la bolla da cui parte una dipendenza multipla per una chiave primaria o per un altra uplink Bolla doppia, tripla, ecc. questo tipo di bolla serve a rappresentare diverse dipendenze tra i dati di uno stesso diagramma 18

Esempio di diagramma delle dipendenze 19

Modello a oggetti Comunemente utilizzato per l intero processo di sviluppo software Una classe è un astrazione da un insieme di oggetti che identifica gli attributi comuni ed i servizi/operazioni fornite da ogni oggetto. Gli oggetti sono istanze della classe ossia entità eseguibili con gli attributi ed i servizi della classe relativa. Il processo di analisi per identificare gli oggetti e le classi è riconosciuto come una delle più difficili aree dello sviluppo orientato agli oggetti Diversi metodi di analisi orientata agli oggetti furono proposti negli anni 90 integrati per produrre un unico modello: Unified Process 20

Modello strutturato È un metodo sistematico di produrre modelli di un sistema che generalmente ha il proprio insieme di modelli preferito (es. UP) Definiscono un processo da cui derivare i modelli ed un insieme di linee guida Sono disponibili strumenti CASE che supportano l editing del modello, la generazione di codice e report e alcune proprietà di verifica Punti deboli: non forniscono adeguato supporto per i requisiti NON funzionali, sono indiscriminati, possono produrre troppa documentazione e troppo dettagliata 21