UML. Unified Modeling Language (UML) Breve storia dell UML. Perchè usare la progettazione visuale? Ken Jacobs, Oracle Vice-president:

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "UML. Unified Modeling Language (UML) Breve storia dell UML. Perchè usare la progettazione visuale? Ken Jacobs, Oracle Vice-president:"

Transcript

1 UML Unified Modeling Language (UML) Lo standard emergente nella progettazione del software (e non solo) Perchè usare la progettazione visuale? Perchè usare la progettazione visuale? Ken Jacobs, Oracle Vice-president: Le definizioni dei dati per i database ad oggetti sono di difficile comprensione se si esamina la loro espressione testuale. Con una rappresentazione grafica si possono, invece, facilmente capire le relazioni tra essi ed il resto del DB. Mary Loomis, HP - Software Technology Laboratory: la progettazione visuale e le tecniche di rappresentazione visuale ( ) permettono di rappresentare le specifiche in un modo comprensibile sia per le persone che per i tool di sviluppo Perchè usare la progettazione visuale? John Roskill, Microsoft - Director of Product Marketing for Microsoft Visual Studio: Breve storia dell UML Noi riteniamo la progettazione visuale molto importante nello sviluppo delle applicazioni di livello enterprise basate su componenti ( ) perché permette di gestire la complessità dell applicazione.

2 La storia dell UML Nov 97 UML viene approvato dall OMG Cosa è l UML Cosa è l UML Struttura dell UML Obiettivi dell UML Che cos è l UML? UML è l acronimo di Unified Modeling Language È un linguaggio visuale per la specifica, la costruzione e la documentazione di sistemi software complessi UML: Unified Modeling Language Un linguaggio "standard" (accettato dall'omg) per la modellazione di sistemi software UML deriva dalla "integrazione" di modelli preesistenti (proposti nel contesto di metodologie): Booch et al. OMT (Rambaugh et al.) OOSE (Jacobson et al.) Gli autori di UML sono Booch, Rumbaugh e Jacobson UML: principi ispiratori Modellazione (allo scopo di produrre software migliore) La modellazione è essenziale in ogni attività ingegneristica complessa, in quanto permette di astrarre e semplificare costruiamo modelli per comprendere meglio i sistemi che stiamo sviluppando [Booch et al: The UML User Guide] costruiamo modelli disistemi complessi altrimenti non potremmo comprendere tali sistemi nella loro interezza Finalità della modellazione Visualizzazione del sistema (così com'è o come lo si vorrebbe) in quanto unafiguravale più dimille parole Specifica della struttura e del comportamento di un sistema in manieraprecisa, completa e senza ambiguità Definizione delle linee guida per la costruzione di un sistema forward engineering reverse engineering Documentazione delle decisioni prese UML è stato pensato per supportare tutto questo

3 UML, questioni generali I diagrammi di UML Diagrammi e viste i diagrammi sono una rappresentazione dei vari aspetti dell applicazione ogni diagramma descrive una vista della applicazione secondo una certa prospettiva Abbellimenti (adornments): per ogni costrutto esiste una notazione grafica base, cui possono essere aggiunti dettagli e note Distinzioni di base: classe-oggetto (schema-istanza); notazione: classe oggetto:classe :classe oggetto interfaccia-implementazione Use Case Use Case Sequence Scenario Scenario Collaboration Scenario Scenario Statechart Use Case Use Case Use Case Models Activity State State Class Component Component Deployment State State Object State State Component I diagrammi di UML (9 tipi diversi) Diagramma delle classi (Class) Diagramma degli oggetti (Object) Diagramma dei casi di uso (Use case) Diagrammi di interazione (Interaction) Diagramma disequenza(sequence) Diagramma dicollaborazione (Collaboration) Diagramma delle attività (Activity) Diagramma degli stati (Statechart) Diagramma dei componenti (Component) Diagramma della distribuzione dei componenti (Deployment) Obiettivi dell UML 1) Fornire all utente un linguaggio di specifica espressivo, visuale e pronto all uso 2) Offrire meccanismi di estensibilità e specializzazione del linguaggio 3) Essere indipendente dagli specifici linguaggi di programmazione e dai processi di sviluppo 4) Incoraggiare la crescita dei tool OO commerciali 5) Supportare concetti di sviluppo ad alto livello come frameworks, pattern ed i componenti 6) Integrare i migliori approcci. Cosa non è l UML Non è un linguaggio di programmazione visuale (è un linguaggio di specifica visuale) Parti di UML UML non è un modello per la definizione di interfacce UML non è dipendente dal paradigma di sviluppo nel quale può essere utilizzato

4 UML UML può essere suddiviso in due grandi parti: Diagrammi strutturali Diagrammi comportamentali Diagrammi strutturali Diagrammi di classe: Descrivono le classi di oggetti che compongono il sistema, ossia gli aspetti che accomunano diversi oggetti nella loro struttura e nel loro comportamento Diagrammi di implementazione: Illustrano le interazioni nel sistema organizzandole attorno agli oggetti e ai legami tra gli oggetti Diagrammi comportamentali Diagrammi di attività: Forniscono la sequenza di operazioni elementari che definiscono un attività più complessa Diagrammi comportamentali Use case diagrams Specificano il comportamento del sistema, ossia come il sistema agisce e reagisce dal punto di vista degli attori (possibili figure di utenti del sistema) Sequence diagrams Forniscono una rappresentazione dei vari scenari che possono verificarsi nel ciclo di vita del sistema orientata a visualizzare in sequenza le interazioni tra gli oggetti del sistema. Quando due oggetti interagiscono? E cosa trasmettono l uno all altro? Diagrammi comportamentali Collaboration diagrams Illustrano le interazioni nel sistema organizzandole attorno agli oggetti e ai legami tra gli oggetti (come i Sequence descrivono i possibili scenari, ma da un diverso punto di vista) Diagrammi comportamentali Component diagrams Rappresentano come i moduli software del sistema (le componenti) sono organizzati e quali sono le loro dipendenze Statechart diagrams (diagrammi di stato) Descrivono il "ciclo di vita" degli oggetti del sistema, visualizzando in che modo essi vengono modificati da eventi che possono occorrere nella processo di funzionamento del sistema Deployment diagrams (diagrammi di allocazione) Illustrano la dislocazione al run-time dei nodi elaborativi, delle componenti, dei processi e degli oggetti che risiedono presso di essi.

5 Diagramma dei casi d uso Use Cases Diagram Ci sono modi diversi di guardare a un SISTEMA. "aprirlo" e guardarci dentro, per vedere come è strutturato all'interno ( punto di vista del progettista) guardare a come può essere utilizzato. In questo caso il sistema viene visto come una "black box", sigillata, ed è possibile osservarne solo i comportamenti dall'esterno ( punto di vista dell'utilizzatore, e di tutto ciò che interagisce con il sistema nell'ambito del suo funzionamento). Questo secondo punto di vista corrisponde al modello dei casi d'uso. Casi d uso Il termine "use case" è stato coniato dal metodologo svedese Ivar Jacobson. I casi d'uso sono semplicemente i modi in cui il sistema può essere utilizzato. Casi d uso I casi d'uso svolgono un duplice ruolo nello sviluppo di un sistema. nelle fasi iniziali della progettazione, servono per chiarire cosa dovrà fare il sistema. guidano l'intero progetto di sviluppo. Caso d uso Un caso d uso rappresenta un interazione tra un utente ed il sistema: cattura le funzionalità del sistema da realizzare così come esse sono percepite dall utente. Registra voti I casi d uso sono le azioni che un utente intraprende in un sistema Un sistema è qualcosa che svolge una funzione Modellare la realtà Secondo UML, modellare la realtà d interesse significa: individuare tutti i possibili casi d uso del sistema individuare tutti gli utenti dei singoli casi d uso (attori) rappresentare le interazioni tra casi d uso e utenti

6 Attore cosa è? Qualcuno o qualcosa, esterno al sistema, che interagisce con i casi d uso. Ogni attore corrisponde ad un insieme coerente di ruoli che i soggetti esterni possono assumere interagendo con il sistema. Attore cosa è? Gli attori comunicano con il sistema inviando o ricevendo messaggi: forniscono lo stimolo trigger agli use case; ciò equivale a dire che ogni caso d uso deve essere avviato da una esplicita richiesta di un attore Individuazione Attore Primari (o attivi): avviano le funzionalità proprie del sistema, forniscono uno stimolo al sistema Secondari: fruiscono di informazioni o notifiche generate da use case eseguiti da altri attori, ricevono messaggi e non forniscono un vero e proprio stimolo Individuazione Attore Primari (o attivi): avviano le funzionalità proprie del sistema, forniscono uno stimolo al sistema Secondari: fruiscono di informazioni o notifiche generate da use case eseguiti da altri attori, ricevono messaggi e non forniscono un vero e proprio stimolo Sistema E' l'entità i cui utilizzi vengono descritti dall'insieme dei casi d'uso. Un insieme completo di casi d'uso descrive in modo completo gli utilizzi del sistema dall'esterno, ossia dal punto di vista degli attori che interagiscono con esso, senza rivelare la struttura interna del sistema Sistema Un confine ideale separa ciò che è interno al sistema da ciò che ne è al di fuori. i casi d'uso rientrano all'interno del contesto del sistema, mentre tutti gli attori sono esterni al sistema.

7 Confini del Sistema Il primo passo nella realizzazione dei modelli dei casi d uso consiste nello stabilire con precisione il confine del sistema. La definizione del contesto del sistema è una delle attività più delicate di un progetto, APPROCCIO ITERATIVO INCREMENTALE Una buona idea consiste nell individuare il core del nuovo sistema (le funzionalità indispensabili). Attori e casi d uso Ogni caso d'uso è collegato agli attori, uno o più, che partecipano al caso d'uso stesso mediante una associazione, che ha il significato di "comunicazione" (rappresentata da una linea continua che collega attore e caso d'uso). comunicazione bi-direzionale La comunicazione tra attori e casi d'uso, nei due sensi, avviene tramite segnali, ed è pertanto da considerarsi asincrona. Attori e casi d uso L'associazione può essere orientata (ed essere quindi rappresentata con una freccia), per evidenziare la direzione delle comunicazioni nell'interazione (si tratta di una estensione definita nel profilo UML relativo al Software Development Process). comunicazione unidirezionale Associazioni tra attori L'unica associazione ammessa tra attori è la specializzazione o generalizzazione. L'attore specializzato eredita il comportamento del genitore e loestendein qualche maniera L'attore specializzato eredita la partecipazione a tutti i casi d'uso con i quali comunica l'attore generico, ma può partecipare ad ulteriori casi d'uso ai quali l'attore generico non è collegato. La relazione di specializzazione, in UML, è espressa graficamente con una linea continua, e con una punta di freccia triangolare e bianca. Generalizzazione Un attore che ne specializza un altro può sempre essere utilizzato al posto di quello esteso (genitore o padre) Cattiva organizzazione gerarchica attori

8 Diagramma ristrutturato Esempio organizzazione gerarchica attori in un sistema Associazioni tra casi d uso Ogni caso d'uso descrive un utilizzo completo del sistema, e non è quindi ammessa in UML la possibilità che casi d'uso distinti abbiano tra loro un'associazione di comunicazione. Associazioni tra casi d uso Le associazioni ammesse sono tre: Generalizzazione/Specializzazione extend include L'effetto globale dell'utilizzo delle associazioni tra casi d'uso è comunque quello di una frammentazione del singolo caso d'uso, anche se basata sull'"emersione" di particolarità (specializzazione ed extend) o di comportamenti comuni (include). Generalizzazione/Specializzazione Associa un caso d'uso di tipo generale ad uno o più casi d'uso specializzati. Generalizzazione/Specializzazione Ogni caso d'uso generale può avere più figli (casi d'uso specializzati). Ogni caso d'uso può avere più padri, cioè specializzare diversi casi d'uso generali. L esecuzione di use case fratelli può avvenire solo in alternativa

9 Esempio Generalizzazione/Specializzazione Il diagramma indica la proiezione statica delle funzionalità: specifica che il caricamento di un ordine richiede la validazione dell utente e la verifica dell ordine stesso. Il diagramma non specifica nulla circa la dinamica dell operazione Diagramma degli eventi Codice cap 3 pag 41. Generalizzazione/Specializzazione Il comportamento specifico di un caso d uso figlio può essere indicato inserendo opportune sezioni o sovrascrivendone altre nella sequenza di azioni ereditate dallo use case genitore (in modo del tutto analogo a quanto succede con i metodi nelle classi) Quando il caso d uso geneitore è astratto lo use case ereditante deve provvedere, Include Casi d'uso diversi possono avere in comune una sequenza di passi da svolgere. In questo caso è possibile enucleare la sequenza comune, e definirla come un caso d'uso a sé stante, da "includere" nei casi d'uso originari. Così facendo si evidenziano le parti comuni, e si evitano le ripetizioni nelle descrizioni dei casi d uso.

10 Include In termini di sequenza di azioni, che ciascun caso d uso esegue per erogare il servizio, la relazione di Include comporta l esecuzione della sequenza di azioni dello use case incluso sotto il controllo e nella locazione specificata nello use case base. Use case che include <<include>> Use case incluso Include Ogni caso d'uso può includere un numero illimitato di altri casi d'uso. Viceversa, ogni caso d'uso può essere incluso in un numero illimitato di altri casi d'uso. L'associazione di inclusione è rappresentata da una dipendenza (linea tratteggiata, punta della freccia aperta) con lo stereotipo <<include>>, la cui direzione va dal caso d'uso "includente" al caso d'uso "incluso". Esempio Include Il concetto di inclusione è per molti versi analogo a quello di invocazione di una funzione: viene eseguita la sequenza di azioni dello use case base quando viene raggiunto un punto di inclusione il controllo viene passato al caso d uso ivi indicato (incluso) e ne viene eseguita completamente la sequenza di azioni, quindi il controllo ritorna allo usecase base. Esempio Extend L'associazione "extend" permette di definire che un caso d'uso "base" può venire "esteso" con il comportamento definito in un altro caso d'uso, detto di estensione. L'estensione riguarda un comportamento opzionale del caso d'uso base, ed è soggetta ad una condizione di attivazione. Il caso d'uso base "ignora le proprie estensioni". La sequenza dei passi che lo descrive è in sé completa, e non contiene alcun riferimento alle condizioni ed ai comportamenti definiti nel caso d'uso di estensione.

11 Extend L'associazione di estensione è rappresentata da una dipendenza (linea tratteggiata, punta della freccia aperta) con lo stereotipo <<extend>>, la cui direzione va dal caso d'uso "di estensione" al caso d'uso "base". Extend L'unica particolarità che contraddistingue un caso d'uso soggetto ad estensioni è che nell'ambito della sua sequenza vengono definiti uno o più punti di estensione ("extension point"), che sono dei punti di ancoraggio ai quali si agganceranno i casi d'uso di estensione. Use case che estende <<extend>> Use case esteso I punti di estensione possono essere rappresentati in un comparto specifico dell'ellisse che rappresenta il caso d'uso base. Extend: funzionamento Il funzionamento prevede che quando una istanza dello use case base raggiunge una locazione referenziata da un punto di estensione la condizione viene valuatata : Se l esito è positivo (valore TRUE) allora le azioni specificate nel caso d uso estendente vengono eseguite Altrimenti si procede con le successive istruzione dello use case base Esempio Extend: funzionamento L assenza di una condizione corrisponde ad un valore sempre true. Se una relazione ha più punti di estensione la condizione viene verificata solo la prima volta ossia prima dell esecuzione del primo frammento

12 Esempio Inclusione o Estensione? Opzionalità: se l esecuzione del flusso di azioni di uno use case invocato deve avvenire solo al verificarsi di particolari condizioni (ossia rappresentauna variante al flusso di azione) bisogna usare la relazione di estensione. Inclusione o Estensione? Inclusione o Estensione? Se uno use case viene invocato solo da un altro probabilmente è opportuno usare l estensione. Se può essere usato nel flusso di azione di svariati casi d uso allora è da preferire la relazione di inclusione La relazione di inclusione ricorda molto l invocazione di una procedura (o metodo) e pertanto lo use case incluso deve ricevere (dallo use case base) gli eventuali attributi di cui necessita per eseguire il flusso di azioni Inclusione o Estensione? Esempi Lo use case esteso contiene il flusso primario degli eventi e non ha conoscenza diretta di eventuali altri casi d uso estendenti

13 FINE

Ingegneria del Software 4. Introduzione a UML. Dipartimento di Informatica Università di Pisa A.A. 2014/15

Ingegneria del Software 4. Introduzione a UML. Dipartimento di Informatica Università di Pisa A.A. 2014/15 Ingegneria del Software 4. Introduzione a UML Dipartimento di Informatica Università di Pisa A.A. 2014/15 e per i modelli iterativi analisi peliminare analisi e progettazione realizzazione Necessità di

Dettagli

Università di Bergamo Facoltà di Ingegneria INGEGNERIA DEL SOFTWARE. Paolo Salvaneschi A4_3 V2.1. Progettazione. Metodi e Linguaggi

Università di Bergamo Facoltà di Ingegneria INGEGNERIA DEL SOFTWARE. Paolo Salvaneschi A4_3 V2.1. Progettazione. Metodi e Linguaggi Università di Bergamo Facoltà di Ingegneria INGEGNERIA DEL SOFTWARE Paolo Salvaneschi A4_3 V2.1 Progettazione Metodi e Linguaggi Il contenuto del documento è liberamente utilizzabile dagli studenti, per

Dettagli

UML. Il linguaggio UML e ArgoUML. Ingegneria dei sistemi software 2009/ /09/2009

UML. Il linguaggio UML e ArgoUML. Ingegneria dei sistemi software 2009/ /09/2009 UML Il linguaggio UML e ArgoUML 30/09/2009 Ingegneria dei sistemi software 2009/2010 manuel.comparetti@iet.unipi.it UML Unified Modeling Language una famiglia di notazioni grafiche standardizzate* orientata

Dettagli

Ingegneria del Software UML - Unified Modeling Language

Ingegneria del Software UML - Unified Modeling Language Ingegneria del Software UML - Unified Modeling Language Obiettivi. Presentare un approccio visuale alla progettazione. Illustrare i vantaggi dell utilizzo di diagrammi nella fase di progettazione. Rispondere

Dettagli

Introduzione a UML Linguaggio di Modellazione Unificato. Corso di Ingegneria del Software Anno Accademico 2006/2007

Introduzione a UML Linguaggio di Modellazione Unificato. Corso di Ingegneria del Software Anno Accademico 2006/2007 Introduzione a UML Linguaggio di Modellazione Unificato Corso di Ingegneria del Software Anno Accademico 2006/2007 1 Che cos è UML? UML (Unified Modeling Language) è un linguaggio grafico per: specificare

Dettagli

Laboratorio di Progettazione di Sistemi Software UML per Design Patterns e Refactoring

Laboratorio di Progettazione di Sistemi Software UML per Design Patterns e Refactoring TITLE Laboratorio di Progettazione di Sistemi Software UML per Design Patterns e Refactoring Valentina Presutti (A-L) Riccardo Solmi (M-Z) 1 Indice degli argomenti Introduzione alla notazione UML I diagrammi

Dettagli

Diagrammi di classe e sistemi orientati agli oggetti

Diagrammi di classe e sistemi orientati agli oggetti Appendice D Diagrammi di classe e sistemi orientati agli oggetti ANDREA GINI Un effetto della strategia di incapsulamento è quello di spingere il programmatore a esprimere il comportamento di un sistema

Dettagli

UniRoma2 - Ingegneria del Software 1 1

UniRoma2 - Ingegneria del Software 1 1 Object Oriented Analysis - OOA La fase di OOA definisce, secondo un approccio ad oggetti, COSA un prodotto software deve fare (mentre la fase di OOD definisce, sempre secondo un approccio ad oggetti, COME

Dettagli

Microsoft Visio 2002 UML Sergio Colosio

Microsoft Visio 2002 UML Sergio Colosio Microsoft Visio 2002 UML Sergio Colosio Casi d uso Prima di definire un caso d uso è necessario definire cosa s intende per scenario. Uno scenario è una sequenza di passi che descrivono l interazione tra

Dettagli

Ingegneria del Software

Ingegneria del Software Ingegneria del Software Analisi Object Oriented ed Elementi di Programmazione OO Origini Le metodologie ad oggi nascono negli anni 70 ma si affermano solo nelgi anni 80 grazie alla nascita dei linguaggi

Dettagli

I database. Introduzione alla teoria delle basi di dati

I database. Introduzione alla teoria delle basi di dati I database Introduzione alla teoria delle basi di dati 1 Cosa sono e a cosa servono i Database Un database (o base di dati) e' una raccolta organizzata di dati correlati. Il principale scopo di un database

Dettagli

Web Application Engineering

Web Application Engineering Web Application Engineering analisi del dominio cristian lucchesi IIT-CNR Pescara, 15-16 Maggio 2007 Alei Ud A 1 Analisi del dominio l'obiettivo è di arrivare alla definizione sufficientemente rigorosa

Dettagli

Introduzione ai casi d uso. Iolanda Salinari

Introduzione ai casi d uso. Iolanda Salinari Introduzione ai casi d uso Iolanda Salinari Dai requisiti ai casi d uso definire gli obiettivi gli obiettivi del committente derivano da una o più esigenze di cambiamento funzionale e/o organizzativo e/o

Dettagli

Avete capito fino in fondo il concetto di nodo fine flusso? Che differenza c e tra fine flusso e fine attività? MODEL DIFFERENCES AND EVOLUTION

Avete capito fino in fondo il concetto di nodo fine flusso? Che differenza c e tra fine flusso e fine attività? MODEL DIFFERENCES AND EVOLUTION 1 Avete capito fino in fondo il concetto di nodo fine flusso? Che differenza c e tra fine flusso e fine attività? MODEL DIFFERENCES AND EVOLUTION 2 Rivediamo questo esempio di activity diagram Università

Dettagli

Programmazione Orientata agli Oggetti. Emilio Di Giacomo e Walter Didimo

Programmazione Orientata agli Oggetti. Emilio Di Giacomo e Walter Didimo Programmazione Orientata agli Oggetti Emilio Di Giacomo e Walter Didimo Una metafora dal mondo reale la fabbrica di giocattoli progettisti Un semplice giocattolo Impara i suoni Dall idea al progetto Toy

Dettagli

UML I diagrammi implementativi

UML I diagrammi implementativi Corso di Laurea Specialistica in Ingegneria Informatica Corso di Ingegneria del Software A. A. 2008 - UML I diagrammi implementativi E. TINELLI I diagrammi implementativi In UML 2.x esistono 3 tipi di

Dettagli

LINEE GUIDA - UML - CASI D USO

LINEE GUIDA - UML - CASI D USO Linee guida UML - Casi d uso pag. 1 di 22 LINEE GUIDA - UML - CASI D USO Adriano Comai 2001-2004 Versione 2.0 del 12-3-2004 Linee guida UML - Casi d uso pag. 2 di 22 INDICE 1. PREMESSA... 3 2. INTRODUZIONE...

Dettagli

Casi d uso: esercizi

Casi d uso: esercizi Casi d uso: esercizi Angelo Di Iorio A.A. 2013-2014 Ingegneria del Software () Casi d uso: esercizi A.A. 2013-2014 1 / 35 Tools UML ArgoUML, http://argouml.tigris.org/ Eclipse MDT UML2, http://www.eclipse.org/uml2/

Dettagli

Ingegneria del Software

Ingegneria del Software Ingegneria del Software Progettazione OO Agenda Astrazione e classificazione Generalizzazione e Refactoring Riuso Interfacce e classi di utilità Patterns di progettazione GRASP Obiettivi Ottenere dei modelli

Dettagli

Progetto. Struttura del documento di specifica dei requisiti, Casi d uso. manuel.comparetti@iet.unipi.it

Progetto. Struttura del documento di specifica dei requisiti, Casi d uso. manuel.comparetti@iet.unipi.it Progetto Struttura del documento di specifica dei requisiti, Casi d uso manuel.comparetti@iet.unipi.it 1 Documenti da produrre Il progetto deve comprendere i seguenti documenti: Documento di specifica

Dettagli

Introduzione a UML. Iolanda Salinari

Introduzione a UML. Iolanda Salinari Introduzione a UML Iolanda Salinari Perché modelliamo Un modello è una semplificazione della realtà I modelli ci aiutano a visualizzare un sistema come è o come vorremmo che fosse ci permettono di specificare

Dettagli

SOMMARIO DIAGRAMMI DEI CASI D USO

SOMMARIO DIAGRAMMI DEI CASI D USO INGEGNERIA DEL SOFTWARE Università degli Studi di Padova Facoltà di Scienze MM. FF. NN. Corso di Laurea in Informatica, A.A. 2011 2012 Use Case: Inclusione Use Case: Estensione Use Case: Generalizzazione

Dettagli

PROGETTAZIONE DEL SOFTWARE

PROGETTAZIONE DEL SOFTWARE PROGETTAZIONE DEL SOFTWARE EMILIANO CASALICCHIO DIPARTIMENTO DI INFORMATICA E SISTEMISTICA SAPIENZA UNIVERSITÀ DI ROMA SEDE DI RIETI HTTP://WWW.CE.UNIROMA2.IT/COURSES/PSW! Cos è UML UNIFIED MODELING LANGUAGE!

Dettagli

Studio del linguaggio TROPOS per la modellazione dei requisiti orientata agli agenti

Studio del linguaggio TROPOS per la modellazione dei requisiti orientata agli agenti tesi di laurea Studio del linguaggio TROPOS per la modellazione dei requisiti orientata agli agenti Anno Accademico 2005/2006 relatore Ch.mo Prof. Stefano Russo correlatore Ing. Generoso Paolillo candidato

Dettagli

Descrivono la collaborazione di un gruppo di oggetti per implementare collettivamente un comportamento

Descrivono la collaborazione di un gruppo di oggetti per implementare collettivamente un comportamento Diagrammi di interazione Diagrammi di sequenza Diagrammi di comunicazione (ex collaborazione) Diagrammi di interazione generale Diagrammi di temporizzazione Descrivono la collaborazione di un gruppo di

Dettagli

I livelli dei linguaggi. Introduzione alla OOP Object Oriented Programming. La programmazione procedurale separa il calcolo dalla memoria

I livelli dei linguaggi. Introduzione alla OOP Object Oriented Programming. La programmazione procedurale separa il calcolo dalla memoria Introduzione alla OOP Object Oriented Programming Programmazione Orientata agli Oggetti I livelli dei linguaggi livelli di tensione porte logiche codice binario linguaggio assembler linguaggi procedurali

Dettagli

Gestione del workflow

Gestione del workflow Gestione del workflow Stefania Marrara Corso di Sistemi Informativi 2003/2004 Progettazione di un Sistema Informativo Analisi dei processi Per progettare un sistema informativo è necessario identificare

Dettagli

oggetti, classi e notazione UML

oggetti, classi e notazione UML oggetti, classi e notazione UML 1 object orientation il paradigma object oriented è usato come linguaggio per esprimere modelli domain models design models implemenetation models ecc. tutto ciò che vedremo

Dettagli

Introduzione ad UML. Perché modelliamo

Introduzione ad UML. Perché modelliamo Introduzione ad UML Pag. 1 Perché modelliamo Un modello è una semplificazione della realtà I modelli ci aiutano a visualizzare un sistema come è o come vorremmo che fosse ci permettono di specificare la

Dettagli

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

I casi d uso corrispondono ai compiti che l attore (che può essere una persona fisica e non) può svolgere. UML e i Casi d USO I casi d uso specificano una sequenza di azioni che producono un risultato visibile agli attori del sistema. Essi nascono per fornire descrizioni delle capacità del sistema. I casi d

Dettagli

Paradigma object-oriented

Paradigma object-oriented Paradigma object-oriented Dati & Comportamento Implementazione trasparente dei servizi Facile mantenimento Omogeneità nella gerarchia dati-funzioni Procedural approach OO approach Data hierarchy Replaced

Dettagli

Progettazione orientata agli oggetti Introduzione a UML

Progettazione orientata agli oggetti Introduzione a UML Progettazione orientata agli oggetti Introduzione a UML Claudia Raibulet raibulet@disco.unimib.it Il processo di sviluppo software Rappresenta un insieme di attività per la specifica, progettazione, implementazione,

Dettagli

Modulo 16. Introduzione ai Design Patterns. Tutte le case assolvono alla medesima funzione: offrire uno spazio abitativo

Modulo 16. Introduzione ai Design Patterns. Tutte le case assolvono alla medesima funzione: offrire uno spazio abitativo Modulo 16 Introduzione ai Design Patterns Partiamo da un analogia Obiettivo: costruire una casa. Tutte le case sono simili, ma non uguali, cioè: Tutte le case assolvono alla medesima funzione: offrire

Dettagli

I Diagrammi di Flusso OO

I Diagrammi di Flusso OO Corso di Laurea Specialistica in Ingegneria Informatica Corso di Ingegneria del Software A. A. 2008 - I Diagrammi di Flusso OO Generalità I diagrammi di attività vengono usati per modellare processi a

Dettagli

Ingegneria del Software I. UML - Use Case Diagram

Ingegneria del Software I. UML - Use Case Diagram Requisiti e casi d uso Unified Modeling Language Use Case Diagram 1 Il primo passo di qualsiasi processo di sviluppo è la definizione dei requisiti Definizione del Business Model Solitamente informale

Dettagli

UML - Unified Modeling Language

UML - Unified Modeling Language UML E CASI D USO UML - Unified Modeling Language Linguaggio stardardizzato per identificare e modellizzare le specifiche di un S.I. Coerente con il paradigma della programmazione ad oggetti Definito a

Dettagli

7. Architetture Software

7. Architetture Software 7. Architetture Software definire la struttura Andrea Polini Ingegneria del Software Corso di Laurea in Informatica (Ingegneria del Software) 7. Architetture Software 1 / 18 Design Nella fase di design

Dettagli

CONCETTI E ARCHITETTURA DI UN SISTEMA DI BASI DI DATI

CONCETTI E ARCHITETTURA DI UN SISTEMA DI BASI DI DATI CONCETTI E ARCHITETTURA DI UN SISTEMA DI BASI DI DATI Introduzione alle basi di dati (2) 2 Modelli dei dati, schemi e istanze (1) Nell approccio con basi di dati è fondamentale avere un certo livello di

Dettagli

Esercitazione di Basi di Dati

Esercitazione di Basi di Dati Esercitazione di Basi di Dati Corso di Fondamenti di Informatica 29 Aprile 2004 Da Access a Protégé Marco Pennacchiotti pennacchiotti@info.uniroma2.it Tel. 0672597334 Ing.dell Informazione, stanza 1035

Dettagli

Hardware, software e periferiche. Facoltà di Lettere e Filosofia anno accademico 2008/2009 secondo semestre

Hardware, software e periferiche. Facoltà di Lettere e Filosofia anno accademico 2008/2009 secondo semestre Hardware, software e periferiche Facoltà di Lettere e Filosofia anno accademico 2008/2009 secondo semestre Riepilogo - Concetti di base dell informatica L'informatica è quel settore scientifico disciplinare

Dettagli

Le basi di dati. Definizione 1. Lezione 2. Bisogna garantire. Definizione 2 DBMS. Differenza

Le basi di dati. Definizione 1. Lezione 2. Bisogna garantire. Definizione 2 DBMS. Differenza Definizione 1 Lezione 2 Le basi di dati Gli archivi di dati Organizzato in modo integrato attraverso tecniche di modellazione di dati Gestiti su memorie di massa Con l obiettivo Efficienza trattamento

Dettagli

Definizione di metodi

Definizione di metodi Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1 Dispensa 9 Definizione di metodi Carla Limongelli Novembre 2006 http://www.dia.uniroma3.it/~java/fondinf1/ Definizione di metodi 1 Contenuti

Dettagli

Analisi e specifica dei requisiti

Analisi e specifica dei requisiti Analisi e specifica dei requisiti Processo che stabilisce i servizi che il committente richiede al sistema da sviluppare ed i vincoli con cui lo si utilizzera` e sviluppera` Requisiti funzionali o non

Dettagli

Processi decisionali e modelli di simulazione

Processi decisionali e modelli di simulazione Anno accademico 2008/09 Il Processo decisionale Realtà Sistema Modello Simulazione Decisioni Il sistema e i suoi confini Modelli I modelli sono lo strumento normale con cui interagiamo con la realtà, la

Dettagli

La Raccolta dei Requisiti. Corso di Ingegneria del Software Anno Accademico 2012/2013

La Raccolta dei Requisiti. Corso di Ingegneria del Software Anno Accademico 2012/2013 La Raccolta dei Requisiti Corso di Ingegneria del Software Anno Accademico 2012/2013 Introduzione La raccolta dei requisiti è il processo della determinazione in forma testuale (anche grafica) di che cosa

Dettagli

Dispensa di Informatica II.1

Dispensa di Informatica II.1 ALGORITMI La dispensa di seguito proposta si pone come tutorial per poter porre le basi per la realizzazione di algoritmi che poi potranno eventualmente essere sviluppati in moduli software con metodologia

Dettagli

Materiale didattico. Sommario

Materiale didattico. Sommario Diploma Universitario in Ingegneria Informatica Corso di Ingegneria del Software Docente: ing. Anna Rita Fasolino Dipartimento di Informatica e Sistemistica Università degli Studi di Napoli Federico II

Dettagli

Laboratorio di Reti, Corsi A e B. Text-Twist. Progetto di Fine Corso A.A. 2016/17

Laboratorio di Reti, Corsi A e B. Text-Twist. Progetto di Fine Corso A.A. 2016/17 Laboratorio di Reti, Corsi A e B Text-Twist Progetto di Fine Corso A.A. 2016/17 1.Descrizione del problema Il progetto consiste nello sviluppo di un gioco multiplayer online. All inizio di una partita

Dettagli

Rappresentazione con i diagrammi di flusso (Flow - chart)

Rappresentazione con i diagrammi di flusso (Flow - chart) Rappresentazione con i diagrammi di flusso (Flow - chart) Questo tipo di rappresentazione grafica degli algoritmi, sviluppato negli anni 50, utilizza una serie di simboli grafici dal contenuto evocativo

Dettagli

Casi d uso: esercizi

Casi d uso: esercizi Casi d uso: esercizi Angelo Di Iorio (in parte di: Gianpiero Favini e Sara Zuppiroli) A.A. 2012-2013 Laboratorio Ingegneria del Software () Casi d uso: esercizi A.A. 2012-2013 1 / 36 Tools UML ArgoUML,

Dettagli

La ingegneria del software e. i formalismi Lezione n. 5. Ingegneria del software. Lezione n. 5.1

La ingegneria del software e. i formalismi Lezione n. 5. Ingegneria del software. Lezione n. 5.1 La ingegneria del software e i formalismi Lezione n. 5 Creazione di un software: dal problema ai risultati (1/2) Ingegneria del software Lezione n. 5.1 Creazione di un software: dal problema ai risultati

Dettagli

Introduzione a UML. Adriano Comai. http://www.analisi-disegno.com. versione 19 marzo 2010. Adriano Comai. Introduzione a UML Pag.

Introduzione a UML. Adriano Comai. http://www.analisi-disegno.com. versione 19 marzo 2010. Adriano Comai. Introduzione a UML Pag. Introduzione a UML versione 19 marzo 2010 http://www.analisi-disegno.com Introduzione a UML Pag. 1 Obiettivo di questa introduzione fornire alcuni elementi di base su UML introdurre i diagrammi fornire

Dettagli

Introduzione. Modellazione visuale. Perché UML. cont.) Perché UML (cont( Contributi principali

Introduzione. Modellazione visuale. Perché UML. cont.) Perché UML (cont( Contributi principali Unified Modeling Language Introduzione Davide Frey Corso di Ingegneria del Software Tratto dal materiale di Luciano aresi Politecnico di Milano Modellazione visuale Perché UML richiesta ordine consegna

Dettagli

Corso di INFORMATICA GRAFICA. Modulo 2 (CAD) Stefano Cinti Luciani. Altre applicazioni informatiche per la progettazione

Corso di INFORMATICA GRAFICA. Modulo 2 (CAD) Stefano Cinti Luciani. Altre applicazioni informatiche per la progettazione Corso di INFORMATICA GRAFICA Modulo 2 (CAD) Stefano Cinti Luciani Altre applicazioni informatiche per la progettazione Progettazione come ciclo iterativo REQUISITI/OBIETTIVO IDEA INIZIALE MODIFICHE FORMALIZZAZIONE

Dettagli

UML un linguaggio universale per la modellazione del software. Adriano Comai

UML un linguaggio universale per la modellazione del software. Adriano Comai UML un linguaggio universale per la modellazione del software Adriano Comai 2 Finalmente uno standard per l analisi e disegno OO? L'obiettivo è ambizioso. Lo Unified Modeling Language (UML) vuole essere,

Dettagli

Casi d uso (use cases)

Casi d uso (use cases) Casi d uso (use cases) proposti da Ivar Jacobson nel 1992 termine nuovo, ma tecnica consolidata (studio degli scenari di operatività degli utilizzatori di un sistema) sono i modi in cui il sistema può

Dettagli

Scenario-based Design

Scenario-based Design Scenario-based Design DESIGN La fase di progettazione è quella che immagina soluzioni per gli spazi progettuali individuati nella fase di analisi dell attività INCORAGGIARE IDEE FOLLI SCRIVERE TUTTO BE

Dettagli

REGIONE BASILICATA UFFICIO S. I. R. S.

REGIONE BASILICATA UFFICIO S. I. R. S. UFFICIO S. I. R. S. Modellazione dati Id Base Dati CONTROLLO DEL DOCUMENTO APPROVAZIONI Redatto da: Approvato da: Data Autore Ing. Vincenzo Fiore VARIAZIONI Versione prec. Data Autore Paragrafi modificati

Dettagli

Problema: dati i voti di tutti gli studenti di una classe determinare il voto medio della classe.

Problema: dati i voti di tutti gli studenti di una classe determinare il voto medio della classe. Problema: dati i voti di tutti gli studenti di una classe determinare il voto medio della classe. 1) Comprendere il problema 2) Stabilire quali sono le azioni da eseguire per risolverlo 3) Stabilire la

Dettagli

Strutture dati e loro organizzazione. Gabriella Trucco

Strutture dati e loro organizzazione. Gabriella Trucco Strutture dati e loro organizzazione Gabriella Trucco Introduzione I linguaggi di programmazione di alto livello consentono di far riferimento a posizioni nella memoria principale tramite nomi descrittivi

Dettagli

Programma del corso. Elementi di Programmazione. Introduzione agli algoritmi. Rappresentazione delle Informazioni. Architettura del calcolatore

Programma del corso. Elementi di Programmazione. Introduzione agli algoritmi. Rappresentazione delle Informazioni. Architettura del calcolatore Programma del corso Introduzione agli algoritmi Rappresentazione delle Informazioni Architettura del calcolatore Reti di Calcolatori Elementi di Programmazione Algoritmi e programmi Algoritmo Sequenza

Dettagli

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

Considera tutti i requisiti funzionali (use cases) NON deve necessariamente modellare i requisiti non funzionali Corso di Laurea Specialistica in Ingegneria Informatica Corso di Ingegneria del Software A. A. 2008 - Progettazione OO E. TINELLI Punto di Partenza Il modello di analisi E una rappresentazione minima del

Dettagli

UML e (R)UP (an overview)

UML e (R)UP (an overview) Lo sviluppo di sistemi OO UML e (R)UP (an overview) http://www.rational.com http://www.omg.org 1 Riassumento UML E un insieme di notazioni diagrammatiche che, utilizzate congiuntamente, consentono di descrivere/modellare

Dettagli

ARCHITETTURA DI UN DBMS

ARCHITETTURA DI UN DBMS ARCHITETTURA DI UN DBMS Modelli di dati Un approccio con basi di dati fornisce un certo livello di astrazione dei dati Nasconde i dettagli sulla memorizzazione dei dati stessi Un modello dei dati fornisce

Dettagli

Informatica Industriale Modello funzionale: Informazione Modello Entità-Relazione

Informatica Industriale Modello funzionale: Informazione Modello Entità-Relazione DIIGA - Università Politecnica delle Marche A.A. 2006/2007 Informatica Industriale Modello funzionale: Informazione Modello Entità-Relazione Luca Spalazzi spalazzi@diiga.univpm.it www.diiga.univpm.it/~spalazzi/

Dettagli

ISTITUTO STATALE D ISTRUZIONE SUPERIORE FERRARIS - BRUNELLESCHI EMPOLI Anno scolastico 2015/2016

ISTITUTO STATALE D ISTRUZIONE SUPERIORE FERRARIS - BRUNELLESCHI EMPOLI Anno scolastico 2015/2016 ISTITUTO STATALE D ISTRUZIONE SUPERIORE FERRARIS - BRUNELLESCHI EMPOLI Anno scolastico 2015/2016 Classe: 4^A inf Prof.ssa Lami Carla Prof. Simone Calugi Programma di INFORMATICA GENERALE, APPLICAZIONI

Dettagli

Modellazione dei dati in UML

Modellazione dei dati in UML Corso di Basi di Dati e Sistemi Informativi Modellazione dei dati in UML Angelo Montanari Dipartimento di Matematica e Informatica Università degli Studi di Udine Introduzione UML (Unified Modeling Language):

Dettagli

L hardware da solo non è sufficiente per il funzionamento dell elaboratore È necessario introdurre il software:

L hardware da solo non è sufficiente per il funzionamento dell elaboratore È necessario introdurre il software: Il Software L hardware da solo non è sufficiente per il funzionamento dell elaboratore È necessario introdurre il software: un insieme di programmi che permettono di trasformare un insieme di circuiti

Dettagli

Fondamenti VBA. Che cos è VBA

Fondamenti VBA. Che cos è VBA Fondamenti VBA Che cos è VBA VBA, Visual Basic for Application è un linguaggio di programmazione, inserito nelle applicazioni Office di Microsoft (Ms Word, Ms Excel, Ms PowerPoint, Visio). VBA è una implementazione

Dettagli

Introduzione alla programmazione Object Oriented. Luca Lista

Introduzione alla programmazione Object Oriented. Luca Lista Introduzione alla programmazione Object Oriented Luca Lista Concetti base del software OO Classi e oggetti Incapsulamento Relazione di ereditarietà Polimorfismo Cos è un Oggetto? Definizione da vocabolario:

Dettagli

PROBLEMI ALGORITMI E PROGRAMMAZIONE

PROBLEMI ALGORITMI E PROGRAMMAZIONE PROBLEMI ALGORITMI E PROGRAMMAZIONE SCIENZE E TECNOLOGIE APPLICATE CLASSE SECONDA D PROGRAMMARE = SPECIFICARE UN PROCEDIMENTO CAPACE DI FAR SVOLGERE AD UNA MACCHINA UNA SERIE ORDINATA DI OPERAZIONI AL

Dettagli

Unified Modeling Language

Unified Modeling Language Unified Modeling Language Luciano Baresi Luciano Baresi 1 OMT Booch UML Sono simili in molti aspetti: Prescrivono un approccio passo-passo Consentono il passaggio dall analisi al progetto in modo omogeneo

Dettagli

Sistemi Web per il turismo - lezione 3 -

Sistemi Web per il turismo - lezione 3 - Sistemi Web per il turismo - lezione 3 - Software Si definisce software il complesso di comandi che fanno eseguire al computer delle operazioni. Il termine si contrappone ad hardware, che invece designa

Dettagli

LA METAFORA DELL UFFICIO

LA METAFORA DELL UFFICIO LA METAFORA DELL UFFICIO Lavagna di lavoro Lavagna di programma Sportello utenti Impiegato Capo Ufficio LAVAGNA DI LAVORO Chiamiamo variabili le posizioni sulla lavagna, identificate ognuna da un nome

Dettagli

Unified Modeling Language

Unified Modeling Language Unified Modeling Language marrara@elet.polimi.it Adattamento di materiale di Luciano Baresi 1 Concetto di oggetto Definizione: un oggetto è un concetto, un astrazione o una cosa ed ha un senso in un particolare

Dettagli

Sequence Diagram e Collaboration Diagram

Sequence Diagram e Collaboration Diagram Sequence Diagram e Collaboration Diagram Ing. Orazio Tomarchio Orazio.Tomarchio@diit.unict.it Dipartimento di Ingegneria Informatica e delle Telecomunicazioni Università di Catania Sommario Interaction

Dettagli

ANALISI E PROGETTAZIONE OBJECT ORIENTED UNIFIED MODELLING LANGUAGE (UML)

ANALISI E PROGETTAZIONE OBJECT ORIENTED UNIFIED MODELLING LANGUAGE (UML) ANALISI E PROGETTAZIONE OBJECT ORIENTED UNIFIED MODELLING LANGUAGE (UML) a cura di Giacomo PISCITELLI Dipartimento di Elettrotecnica ed Elettronica Politecnico di Bari Questi appunti sono ricavati da una

Dettagli

ERP, ENTERPRISE RESOURCE PLANNING

ERP, ENTERPRISE RESOURCE PLANNING ERP, ENTERPRISE RESOURCE PLANNING SISTEMA INFORMATIVO Def. Sistema Informativo - Il sistema informativo è l insieme di persone, apparecchiature, applicazioni e procedure che permettono all azienda di disporre

Dettagli

Programmazione con Java

Programmazione con Java Programmazione con Java Astrazioni e UML Astrazioni Nella vita reale siamo abituati a osservare e descrivere oggetti a vari livelli di dettaglio Dai da mangiare a Fido Porta a passeggio il cane Di quale

Dettagli

La "macchina" da calcolo

La macchina da calcolo La "macchina" da calcolo Abbiamo detto che gli algoritmi devono essere scritti in un linguaggio "comprensibile all'esecutore" Se il nostro esecutore è il "calcolatore", questo che linguaggio capisce? che

Dettagli

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

Raccolta dei Requisiti con i Casi D'uso. Corso di Ingegneria del Software Anno Accademico 2012/13 Raccolta dei Requisiti con i Casi D'uso Corso di Ingegneria del Software Anno Accademico 2012/13 I casi d uso I casi d'uso (use case) sono una tecnica utilizzata per identificare i requisiti funzionali

Dettagli

Access. P a r t e t e r z a

Access. P a r t e t e r z a Access P a r t e t e r z a 1 Query: Concetti generali (2) Query 1 Tabella Query 2 Le query rappresentano viste differenti sul DB (possono coinvolgere una o più tabelle) 2 Creazione (1) Diverse possibilità,

Dettagli

Progettazione della microstruttura - prima parte -

Progettazione della microstruttura - prima parte - Progettazione della microstruttura - prima parte - Paolo Depaoli Supporti alle lezioni basate sul capitolo 4 del testo «La progettazione organizzativa» (a cura di Franco Isotta) Impostazione della questione

Dettagli

Gestire e rappresentare l Enterprise Architecture con TOGAF ed Archimate Obiettivi e Caratteristiche di un approccio combinato

Gestire e rappresentare l Enterprise Architecture con TOGAF ed Archimate Obiettivi e Caratteristiche di un approccio combinato Gestire e rappresentare l Enterprise Architecture con TOGAF ed Archimate Obiettivi e Caratteristiche di un approccio combinato Francesco Bocola Le esigenze delle organizzazioni IT Nell ambito degli obiettivi

Dettagli

Automazione della gestione degli ordini d acquisto di una società di autonoleggio

Automazione della gestione degli ordini d acquisto di una società di autonoleggio Automazione della gestione degli ordini d acquisto di una società di autonoleggio Professore Gaetanino Paolone Studenti Paolo Del Gizzi Maurizio Di Stefano 1 INDICE INTRODUZIONE.pag.3 IL PIANO METODOLOGICO

Dettagli

Ingegneria del Software T. Analisi orientata agli oggetti

Ingegneria del Software T. Analisi orientata agli oggetti Ingegneria del Software T Analisi orientata agli oggetti Obiettivo Specificare (cioè definire) le proprietà che il sistema dovrà avere senza descrivere una loro possibile realizzazione Risultato: una serie

Dettagli

Modulo 1 Concetti di base della Tecnologia dell Informazione

Modulo 1 Concetti di base della Tecnologia dell Informazione Modulo 1 Concetti di base della Tecnologia dell Informazione 1.0.1.1 1.0.1.2 1.0.1.3 Algoritmi Definizione di algoritmo e sua rappresentazione grafica Per algoritmo si intende un procedimento, che permette

Dettagli

La ingegneria del software e i formalismi. Ingegneria del software. Lezione n. 5. Lezione n. 5.1

La ingegneria del software e i formalismi. Ingegneria del software. Lezione n. 5. Lezione n. 5.1 La ingegneria del software e i formalismi Lezione n. 5 Ingegneria del software Lezione n. 5. Creazione di un software: dal problema ai risultati (/2) Creazione di un software: dal problema ai risultati

Dettagli

BASI DI DATI. Titolo Prof. Cognome Nome Indirizzo Numero Telefono

BASI DI DATI. Titolo Prof. Cognome Nome Indirizzo Numero Telefono BASI DI DATI Una base di dati (database) è un insieme organizzato di informazioni caratterizzate da alcuni aspetti fondamentali: tra esse esiste un nesso logico (cioè sono in qualche modo inerenti ad un

Dettagli

Algoritmo. La programmazione. Algoritmo. Programmare. Procedimento di risoluzione di un problema

Algoritmo. La programmazione. Algoritmo. Programmare. Procedimento di risoluzione di un problema Algoritmo 2 Procedimento di risoluzione di un problema La programmazione Ver. 2.4 Permette di ottenere un risultato eseguendo una sequenza finita di operazioni elementari Esempi: Una ricetta di cucina

Dettagli

AXO - Architettura dei Calcolatori e Sistema Operativo. organizzazione strutturata dei calcolatori

AXO - Architettura dei Calcolatori e Sistema Operativo. organizzazione strutturata dei calcolatori AXO - Architettura dei Calcolatori e Sistema Operativo organizzazione strutturata dei calcolatori I livelli I calcolatori sono progettati come una serie di livelli ognuno dei quali si basa sui livelli

Dettagli

Laboratorio di Progettazione di Sistemi Software Progetto: modellazione di un dominio e sue attività

Laboratorio di Progettazione di Sistemi Software Progetto: modellazione di un dominio e sue attività Laboratorio di Progettazione di Sistemi Software Progetto: modellazione di un dominio e sue attività Valentina Presutti (A-L) Riccardo Solmi (M-Z) Definizione del problema Modello di un dominio Si vuole

Dettagli

Modellazione e progettazione con UML. Eduard Roccatello 3D GIS Specialist <eduard.roccatello@3dgis.it> www.roccatello.it

Modellazione e progettazione con UML. Eduard Roccatello 3D GIS Specialist <eduard.roccatello@3dgis.it> www.roccatello.it Modellazione e progettazione con UML Eduard Roccatello 3D GIS Specialist www.roccatello.it Object Oriented Analysis and Design Consente di modellare un sistema attraverso l

Dettagli

Obiettivo della lezione. Casi d uso. Casi d uso (use cases) Scenari d interazione

Obiettivo della lezione. Casi d uso. Casi d uso (use cases) Scenari d interazione Obiettivo della lezione Casi d uso La modellazione dei requisiti funzionali I casi d uso Gli attori Gli scenari Come scrivere casi d uso Casi d uso (use cases) Scenari d interazione Proposti da Ivar Jacobson

Dettagli

vero: metodi di sequenziali, linee di (lettura del disegno) 5. Utilizzare software di base di lavorazione per la

vero: metodi di sequenziali, linee di (lettura del disegno) 5. Utilizzare software di base di lavorazione per la PROGRAMMAZIONE COMUNE DI TECNOLOGIE E TECNICHE DI RAPPRESENTAZIONE GRAFICA 1 - Biennio IP09 (1 anno) Asse Scientifico-Tecnologico Indicazioni nazionali Competenze di base 1. Individuare le strategie appropriate

Dettagli

Laboratorio di Informatica. Esercitazione su algoritmi e diagrammi di flusso

Laboratorio di Informatica. Esercitazione su algoritmi e diagrammi di flusso Laboratorio di Informatica Esercitazione su algoritmi e diagrammi di flusso Algoritmi, programmi e dati Algoritmo = insieme di istruzioni che indicano come svolgere operazioni complesse su dei dati attraverso

Dettagli

SOMMARIO. DIAGRAMMI DI ATTIVITÀ INGEGNERIA DEL SOFTWARE Università degli Studi di Padova. Introduzione. Concetti base.

SOMMARIO. DIAGRAMMI DI ATTIVITÀ INGEGNERIA DEL SOFTWARE Università degli Studi di Padova. Introduzione. Concetti base. SOMMARIO Introduzione Concetti base INGEGNERIA DEL SOFTWARE Università degli Studi di Padova Dipartimento di Matematica Corso di Laurea in Informatica, A.A. 2014 2015 rcardin@math.unipd.it 2 SOMMARIO Introduzione

Dettagli

Algoritmi e soluzione di problemi

Algoritmi e soluzione di problemi Algoritmi e soluzione di problemi Dato un problema devo trovare una soluzione. Esempi: effettuare una telefonata calcolare l area di un trapezio L algoritmo è la sequenza di operazioni (istruzioni, azioni)

Dettagli

UML: DIAGRAMMA DI SEQUENZA

UML: DIAGRAMMA DI SEQUENZA UML: DIAGRAMMA DI SEQUENZA UC n. 4: Basi di dati andrea.reale@unibo.it 2 UML e diagrammi di interazione Abbiamo visto il diagramma delle classi in UML Utilizzato per rappresentare strutturalmente il dominio

Dettagli

Accordo di Programma Quadro in materia di e-government e Società dell Informazione nella Regione Puglia

Accordo di Programma Quadro in materia di e-government e Società dell Informazione nella Regione Puglia Accordo di Programma Quadro in materia di e-government e Società dell Informazione nella Regione Puglia SAUSSC: Sistema di Accesso Unificato dei Servizi Sanitari per il Cittadino Servizi di integrazione

Dettagli