Ingegneria del Software

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Ingegneria del Software"

Transcript

1 Università degli Studi di Napoli Federico II Ingegneria del Software a.a. 2013/14 UML e gli Use Case Diagrams

2 Outline Cos è UML Scopi, storia, obiettivi Fornire alcuni elementi di base su UML Introdurre i diagrammi principali Fornire indicazioni sulle modalità di utilizzo di UML

3 Unified Modeling Language (UML) linguaggio per la descrizione di diverse tipologie di sistemi (software, hardware, organizzativo, ) Standard OMG (Object Management Group), dal nov.1997 Creatori: Grady Booch, Ivar Jacobson e Jim Rumbaugh noti come los gringos dell Ingegneria del SW

4 Definizione ufficiale Un linguaggio per specificare, visualizzare, e realizzare i prodotti di sistemi software, e anche per il business modeling. L UML rappresenta una collezione di "best engineering practices" che si sono dimostrate utili nella progettazione di sistemi complessi e di grandi dimensioni.

5 Cos è UML E un linguaggio di modellazione e specifica di sistemi, basato sul paradigma object-oriented Serve a specificare le caratteristiche di un nuovo sistema, oppure a documentarne uno già esistente E uno strumento di comunicazione tra i diversi ruoli coinvolti nello sviluppo e nell evoluzione dei sistemi UML svolge un'importantissima funzione di lingua comune nella comunità della progettazione e programmazione a oggetti. Gran parte della letteratura di settore usa UML per descrivere soluzioni analitiche e progettuali in modo sintetico e comprensibile a un vasto pubblico

6 Cosa NON è UML Non è una metodologia E un linguaggio, non un metodo completo Notazione e sintassi sono standard La semantica è spesso intuitiva e non sempre formalmente definita o universalmente accettata. Non è un linguaggio di specifica formale La semantica è spesso intuitiva e non sempre formalmente definita o universalmente accettata. UML non è legato ad uno specifico processo, e non fornisce indicazioni sul proprio utilizzo. Quindi può essere (ed è) utilizzato da persone e gruppi che seguono approcci diversi (è indipendente dai metodi ) UML è indipendente dal linguaggio di programmazione utilizzato

7 Breve Storia I linguaggi per la modellazione object-oriented iniziano a svilupparsi negli anni '80. notazioni di varia natura, per descrivere la struttura di un sistema software a oggetti (in termini di classi e relazioni fra classi) ed il suo comportamento dinamico. La proliferazione di queste notazioni diede luogo a quelle che furono poi battezzate guerre dei metodi (method wars), con diverse organizzazioni,che adottavano e sostenevano una particolare notazione a scapito delle altre. Nella metà degli anni '90 diversi metodi e linguaggi iniziarono a fondersi, e si iniziò a delineare la possibilità di una integrazione dei principali formalismi in una notazione universalmente accettabile. Fra le metodologie e le notazioni più apprezzate e diffuse del periodo spiccavano OMT (Object Modeling Technique) di Rumbaugh, e il cosiddetto metodo Booch di Grady Booch, entrambi ricercatori presso Rational Software. Il lavoro di unificazione iniziò con loro; in seguito si unì a questo sforzo Jacobson con la sua software house Objectory. Il primo risultato congiunto di questo team fu OOSE (Object Oriented Software Engineering).

8 Breve Storia (2) Mentre "i tre gringos" operavano per unificare i propri approcci all'analisi e alla progettazione a oggetti, il progetto fu accolto sotto l'egida dell'omg (Object Management Group). Nel 1995, l'omg raccolse tutti i principali metodologisti del settore in un incontro internazionale per discutere della notazione unificata. Nel 1996 l'omg emise una RFP (Request for Proposal) per tale notazione. Nello stesso anno, Booch, Rumbaugh e Jacobson misero a punto le release 0.9 e 0.91 di UML. Il progetto fu ben accolto dalla comunità internazionale e molte grandi organizzazioni si unirono a Rational per proseguirlo. Questo gruppo esteso realizzò, nel 1997, UML 1.0, che fu sottoposto alla OMG come risposta alla RFP dell'anno precedente. La release 1.1 di UML contribuì a consolidare la semantica del linguaggio e incluse elementi tratti da una proposta avanzata indipendentemente all'omg da un gruppo composto da IBM, ObjectTime, Ptech e altre.

9 Breve Storia (3) La versione 2.0 di UML, ufficializzata da OMG nel 2005, presenta numerose novità rispetto alla precedente versione 1.5, che resta comunque quella più diffusamente supportata dai tool di modellazione e citata nella letteratura. Principali novità di UML 2.0 : ampliamento, razionalizzazione e revisione del metamodello, permettendo una maggiore flessibilità introduzione del linguaggio formale OCL come parte integrante di UML numerosi nuovi elementi per la costruzione dei diagrammi tradizionali alcuni nuovi tipi di diagrammi

10 Panoramica del Linguaggio

11 Aspetti della modellazione Il progetto e l'architettura del sistema sono il risultato di una serie di decisioni importanti formulate ad un livello astratto. Un linguaggio per la descrizione del progetto è opportuno che sia fortemente basato su diagrammi. Un singolo diagramma non può catturare ogni aspetto rilevante: molteplici aspetti sono descritti da una molteplicità di diagrammi dedicati Il diagramma non è il progetto: è una rappresentazione del modello (di una parte) del progetto e ne cattura un aspetto in un formato che facilita la discussione.

12 Aspetti della modellazione UML consente di descrivere un sistema secondo tre aspetti: Il modello funzionale rappresenta il sistema dal punto di vista dell'utente, ovvero ne descrive il suo comportamento così come esso è percepito all'esterno, prescindendo dal suo funzionamento interno. Questo tipo di modellazione serve nell'analisi dei requisiti. La modellazione funzionale utilizza gli Use Case Diagram. Il modello statico rappresenta la struttura e sottostruttura del sistema utilizzando i concetti object-oriented di classe, oggetto, le relazioni fra classi e fra oggetti. Questo tipo di modellazione può essere utilizzata sia nella fase di analisi del dominio che nelle varie fasi di progetto a diversi livelli di dettaglio. Utilizza class diagram, object diagram, e deployment diagram. Il modello dinamico rappresenta il comportamento degli oggetti del sistema, cioè le dinamiche delle loro interazioni. È strettamente legato al modello a oggetti e viene impiegato negli stessi casi. Utilizza i sequence diagram, gli activity diagram e gli statechart diagram.

13 Viste Categorizzaione più fine: Vista dei casi d'uso: Use Case Diagram. Vista logica: quali parti del sistema sono legate concettualmente; modelli statici e dinamici per la la specifica del comportamento logico del sistema. Vista del processo: pone l'attenzione sui flussi del controllo; quali possono avvenire in parallelo; quali vanno sincronizzati (per il soddisfacimento di vincoli non-funzionali); diagrammi di interazione, stato, attività, deployment per la descrizione dei flussi di controllo. Vista dello sviluppo: aspetti di gestione dello sviluppo e riuso; diagrammi dei componenti e diagrammi dei package. Vista fisica: più concreta di quella di processo si concentra sull'esecuzione del software sulle macchine fisiche; diagrammi di deployment.

14 Classificazione dei Diagrammi UML (v. 2.x) diagrammi strutturali : diagramma delle classi (class) diagramma degli oggetti (object) diagramma dei componenti (component) diagramma delle strutture composite (composite structure) diagramma di deployment(deployment) diagramma dei package (package) diagrammi comportamentali di interazione : diagramma di sequenza (sequence) diagramma di comunicazione (communication) diagramma dei tempi (timing) diagramma di sintesi dell interazione (interaction overview) diagrammi comportamentali : diagramma dei casi d uso (usecase) diagramma di stato (statechart) diagramma delle attività (activity)

15 UML - considerazioni UML è il frutto di una rielaborazione di linguaggi preesistenti è adatto a esprimere modelli di varia tipologia, creati per obiettivi diversi. può descrivere un sistema software a diversi livelli di astrazione UML è sufficientemente espressivo per rispondere ad un ampio spettro di necessità di modellazione Può essere ritagliato in base alle specifiche esigenze dei progettisti e dei progetti, utilizzando solo ciò che serve nello specifico contesto

16 UML Diversi usi I modelli documentano decisioni di progetto e sono spesso utilizzati per la comunicazione tra le parti interessate. La produzione dei modelli è una attività dispendiosa (tempo) e costosa. Strategie: Riduzione della spesa: produzioni di modelli rapidi, non conservati e senza strumenti di supporto (ad esempio nei modelli di sviluppo agili) Aumento del valore: usare I modelli come Input per altri strumenti (ad esempio generazione del codice dai class diagram, generazione automatica dei casi di test...)

17 Gli Use Case Diagrams

18 Casi d uso I casi d'uso documentano il comportamento del sistema dal punto di vista dell'utente. Utente: qualsiasi si trovi fuori dal sistema e interagisca col sistema. La modellazione dei casi d'uso aiuta a modellare vari aspetti dello sviluppo: La definizione dei requisiti La pianificazione delle interazioni La validazione del sistema. Per questa fase UML offre i diagrammi dei casi d uso che vanno usualmente accompagnati a documentazione testuale strutturata (ad es. tabelle di Cockburn) o altri diagrammi di maggior dettaglio.

19 Caso d Uso Una sequenza di azioni, incluse le varianti, che un sistema compie per produrre un risultato osservabile che ha un valore per un attore Un caso d uso corrisponde a un compito che l attore vuole eseguire (l attore inizia il caso d uso) o il sistema deve eseguire (il sistema inizia il caso d uso) La descrizione di un caso d uso definisce cosa accade nel sistema in seguito all evento di innesco Generalmente lo stimolo di inizio parte dall attore ma può anche essere il sistema stesso a iniziare il caso d uso Uno scenario è una istanza di caso d'uso e rappresenta una interazione concreta di un attore con il sistema. Uno Use Case Diagram è l insieme di tutti i casi d uso. E una descrizione sintetica e completa delle funzionalità che offre un sistema e del contesto in cui opera.

20 Applicazione dei Casi d Uso Possono aiutare a identificare i requisiti fornendo una procedura di lavoro strutturata. Si identificano gli attori Per ogni attore: Cosa chiede al sistema (attore principale); Quali altre interazioni ha con il sistema, a quali casi d'uso prende parte per beneficiare altri (attore secondario) Per ciascun caso d'uso, per aspetti organizzativi di sviluppo (ad esempio, per stabilire gli incrementi nel processo iterativo): Importanza del caso d'uso e chi ne desidera la realizzazione; Rischi del caso d'uso; Tempistica di realizzazione e risorse richieste.

21 Diagramma dei Casi d Uso Contiene Attori Casi d uso Relazioni di associazione, dipendenza e generalizzazione Usato per modellare il contesto di un sistema Confini del sistema Gli attori sono esterni al sistema I casi d uso sono all interno del sistema Usato per modellare (visualmente) i requisiti funzionali Ogni caso d uso corrisponde a uno o più requisiti funzionali Ogni caso d uso è coinvolto in una qualche relazione Possibili diversi livelli di dettaglio Decomposizione gerarchica Individuazione di funzionalità riusabili

22 Elementi grafici del modello dei casi d uso Attore: è qualcuno (utente) o qualcosa (sistemi esterni dispositivi hardware) che: Controlla le funzionalità Fornisce input o riceve output dal sistema Ha un nome univoco all interno di un diagramma NB: gli attori identificano ruoli Più utenti con lo stesso ruolo Più ruoli per il medesimo utente Attore Use Case: è una funzionalità offerta dal sistema Caso d uso

23 Esempio di diagramma

24 Confini del sistema

25 Use Case Uno USE CASE rappresenta una classe di funzionalità offerte dal sistema, in termini di un flusso di eventi. Estendi prenotazione Uno Use Case è identificato da: Un nome univoco L insieme degli attori che vi partecipano La condizione di Entry Il Flusso degli Eventi Le condizioni di Exit Altre precondizioni

26 Esempio di descrizione di un Caso d Uso Nome: EstendiPrenotazione Attori: BookBorrower Entry condition: Utente con accesso al sistema. Utente accreditato Utente ha già in prestito il libro Flusso Eventi 1. Richiesta autenticazione 2. Utenente digita codice utente 3. Autenticazione 5. Richiesta estensione 6. Inserimento codice prestito 7. Verifica prenotazioni 8. Estensione prenotazione Exit condition: Utente ha esteso prestito.

27 Relazioni tra Use - Case Associazione: identifica relazioni semplici tra attori e casi d uso Include: fattorizza proprietà comuni. Extend: Varianti di comportamento. A può essere visto come una variante di B Generalization: si applica sia ad attori che a use case. A eredita il comportamento di B. A può essere sostituito ad ogni occorrenza di B

28 Relazione di inclusione

29 Relazione di inclusione Registra la decisione di utilizzare un componente o di evitare di ripetere le stesse informazioni su più casi d'uso. La fattorizzazione facilita la comprensione Identificazione delle possibilità di riuso. Granularità inclusioni: ogni inclusione rappresenta un caso d'uso significativo anche dal punto di vista della produzione

30 Relazione extend

31 Relazione extend Si utilizzano quando un caso d'uso riassume scenari diversi con uno scenario principale e alcune possibili varianti lecati a punti interni di decisone. Le varianti sono presentate casi d'uso legati da relazione extend. La descrizione comprende: La condizione sotto cui si presenta la variante Il punto in cui si verifica la decisione (Punto di estensione)

32 Generalizzazione use case

33 Generalizzazione attori Si applica quando un attore specializza l'interazione generica col sistema di un altro attore ereditando le sue possibilità di interazione La relazione è indicata da una freccia con la punta non riempita.

34 Esempio

35 Descrizione testuale degli Use Case La notazione diagrammatica è molto astratta e concisa e non permette di rappresentare informazione rilevante sugli scenari (Precondizioni, flusso del controllo, postcondizioni, etc). Ad ogni Use Case viene associata una descrizione più dettagliata spesso usando formati di testo strutturato (formati non regolati di UML) Esistono molti approcci e formati diversi in letteratura.

36 Dettaglio testuale Use Case

37 Diagrammi di CockBurn

38 Diagrammi di CockBurn(2)

39 Corrispondenza tra Casi d'uso e diagrammi di Cockburn Ogni caso d'uso dovrebbe avere in corrispondenza con un diagramma di Cockburn o una sua estensione o subvariazione (e viceversa). Per ogni caso d'uso U' che estende un caso d'uso U ci dovrebbe essere una extension in corrispondenza di U' nel diagramma di cockburn che corrisponde a U. Ogni caso d'uso U' che specializza un caso d'uso U potrebbe essere ragionevolmente in corrispondenza o con un diagramma di cockburn autonomo o con una subvariazione del diagramma di cockburn per U. Ogni caso d'uso che rappresenta una inclusione dovrebbe essere rappresentato da una diagramma di Cockburn autonomo di Level 'subfunction'.

40 Guida alla scrittura dei Casi d'uso I nomi dei casi d uso dovrebbero includere verbi I nomi di Attori dovrebbero essere sostantivi I casi d uso iniziano con un azione di un attore (trigger) Le relazioni causali nel flusso del controllo dovrebbero essere chiare Un caso d uso dovrebbe descrivere uno scenario completo Le varianti allo scenario principale dovrebbero essere descritte nelle sezioni apposite Un caso d uso non dovrebbe descrivere un interfaccia del sistema (utilizzare prototipi mock-up!) Un caso d uso non dovrebbe superare due o tre pagine

41 Guida alla scrittura dei Casi d'uso Errori da evitare: Modellare operazioni esterne al sistema (ad esempio rappresentare funzionalità di un sistema esterno che partecipa come attore); Introdurre generalizzazioni/specializzazioni improprie (ad esempio se un attore specializzato non ha uno Use Case distintivo è inutile); Adottare livelli di granularità troppo fine nella individuazione di casi d'uso inclusi (ogni caso d'uso dovrebbe avere associata una rilevanza non trascurabile nei tempi implementativi) non si deve tentare di rappresentare il flusso dei passi elementari mediante un diagramma Use Case (il flusso va allegato a documenti testuali). Evitare diagrammi troppo intricati ed illeggibili che vanificano l'efficacia comunicativa.

Corso di Laurea Specialistica in Ingegneria Informatica. Corso di Ingegneria del Software A. A Introduzione ad UML E.

Corso di Laurea Specialistica in Ingegneria Informatica. Corso di Ingegneria del Software A. A Introduzione ad UML E. Corso di Laurea Specialistica in Ingegneria Informatica Corso di Ingegneria del Software A. A. 2008 - Introduzione ad UML E. TINELLI UML È un linguaggio (e notazione) universale per rappresentare qualunque

Dettagli

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

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

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

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. Unified Modeling Language (UML) Breve storia dell UML. Perchè usare la progettazione visuale? Ken Jacobs, Oracle Vice-president:

UML. Unified Modeling Language (UML) Breve storia dell UML. Perchè usare la progettazione visuale? Ken Jacobs, Oracle Vice-president: 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

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

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

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

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

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

Programmi e Oggetti Software

Programmi e Oggetti Software Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1 Dispensa 2 Programmi e Oggetti Software Alfonso Miola Settembre 2007 http://www.dia.uniroma3.it/~java/fondinf1/ Programmi e Oggetti Software

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

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

Corso di Ingegneria del Software. Modelli di produzione del software

Corso di Ingegneria del Software. Modelli di produzione del software Corso di Ingegneria del Software a.a. 2009/2010 Mario Vacca mario.vacca1@istruzione.it 1. Concetti di base Sommario 2. 2.1 Modello a cascata 2.2 Modelli incrementali 2.3 Modelli evolutivi 2.4 Modelli agili

Dettagli

Progettazione di basi di dati

Progettazione di basi di dati Progettazione di basi di dati Sistemi Informativi L-B Home Page del corso: http://www-db.deis.unibo.it/courses/sil-b/ Versione elettronica: progettazionedb.pdf Sistemi Informativi L-B Progettazione di

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

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

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

Il PROCESSO UNIFICATO

Il PROCESSO UNIFICATO Corsi di laurea triennale in Ingegneria Informatica Corso di Ingegneria del software Il PROCESSO UNIFICATO Modellazione ed Implementazione di un Sistema Software per la gestione informatizzata di un ristorante

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

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

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

Laboratorio di Sistemi Software UML per Design Patterns e Refactoring

Laboratorio di Sistemi Software UML per Design Patterns e Refactoring TITLE Laboratorio di Sistemi Software UML per Design Patterns e Refactoring Luca Padovani (A-L) Riccardo Solmi (M-Z) 1 Indice degli argomenti Introduzione alla notazione UML I diagrammi Class Diagram Object

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

Progettazione del Sofware

Progettazione del Sofware Corso Serale Progettazione del Sofware Perché Modellare un Sistema Necessità di realizzare un artefatto, indipendentemente dalla sua dimensione e settore di interesse (una casa, un particolare macchinario,

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

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

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

Il Concetto Intuitivo di Calcolatore. Esercizio. I Problemi e la loro Soluzione. (esempio)

Il Concetto Intuitivo di Calcolatore. Esercizio. I Problemi e la loro Soluzione. (esempio) Il Concetto Intuitivo di Calcolatore Elementi di Informatica e Programmazione Ingegneria Gestionale Università degli Studi di Brescia Docente: Prof. Alfonso Gerevini Variabile di uscita Classe di domande

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

Progettazione del Software

Progettazione del Software Progettazione del Software Analisi: UML Use Cases & Documenti di Specifica Domenico Lembo Dipartimento di Informatica e Sistemistica Antonio Ruberti SAPIENZA Università di Roma Corso di Laurea in Ingegneria

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

Politecnico di Milano. Progetto di Ingegneria del Software 2 MPH - Manage Project Homework

Politecnico di Milano. Progetto di Ingegneria del Software 2 MPH - Manage Project Homework Politecnico di Milano Progetto di Ingegneria del Software 2 MPH - Manage Project Homework Project Planning Docente: Autori Capiotto Roberto, matricola 783825 Prof.ssa Di Nitto Elisabetta Conforto Andrea,

Dettagli

IL PROCESSO di PROGETTAZIONE

IL PROCESSO di PROGETTAZIONE IL PROCESSO di PROGETTAZIONE In questa lezione vedremo: Ruolo della modellazione nella comunicazione tipi di modello nel progetto I modelli del prodotto Interpretazione delle informazioni del progetto

Dettagli

Basi di Dati. Progettazione di una Base di Dati. Progettazione di una Base di Dati

Basi di Dati. Progettazione di una Base di Dati. Progettazione di una Base di Dati Basi di Dati Cosa vuol dire progettare una base di dati? Il DBMS non va progettato il DBMS si acquista o esiste già è impossibile pensare di sviluppare un DBMS anni di sviluppo necessità di elevate competenze

Dettagli

Concetti di base di ingegneria del software

Concetti di base di ingegneria del software Concetti di base di ingegneria del software [Dalle dispense del corso «Ingegneria del software» del prof. A. Furfaro (UNICAL)] Principali qualità del software Correttezza Affidabilità Robustezza Efficienza

Dettagli

Linguaggi di programmazione e astrazione

Linguaggi di programmazione e astrazione Linguaggi di programmazione e astrazione i linguaggi di programmazione ad alto livello moderni sono il più potente strumento di astrazione messo a disposizione dei programmatori che possono, con un solo

Dettagli

Attività vs. Stato. Elementi di UML (4) Activity diagram. Activity diagram: notazione (1/3) Activity diagram: notazione (2/3)

Attività vs. Stato. Elementi di UML (4) Activity diagram. Activity diagram: notazione (1/3) Activity diagram: notazione (2/3) Elementi di UML (4) Attività vs. Stato UML 1! Attività: Un insieme di azioni che deve essere necessariamente ed interamente completato prima di potersi considerare terminato.! Stato: Un punto ben preciso

Dettagli

Metodologie e modelli di progetto

Metodologie e modelli di progetto Metodologie e modelli di progetto Ingg. Francesco Gullo, Giovanni Ponti D.E.I.S Università della Calabria fgullo@deis.unical.it gponti@deis.unical.it 1 I Sistemi Informativi Un sistema informativo èun

Dettagli

Object Oriented Programming

Object Oriented Programming OOP Object Oriented Programming Programmazione orientata agli oggetti La programmazione orientata agli oggetti (Object Oriented Programming) è un paradigma di programmazione Permette di raggruppare in

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

Tecniche di sviluppo di progetti. Lezione 4: Diagrammi UML

Tecniche di sviluppo di progetti. Lezione 4: Diagrammi UML Tecniche di sviluppo di progetti Lezione 4: Diagrammi UML Struttura di un progetto UML Un progetto software è composto da parti, dette diagrammi UML. Ogni diagramma UML contiene un tipo ben definito di

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

Introduzione alla OOP Object Oriented Programming

Introduzione alla OOP Object Oriented Programming 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

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

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

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

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

SAPIENZA Università di Roma Facoltà di Ingegneria dell Informazione, Informatica e Statistica

SAPIENZA Università di Roma Facoltà di Ingegneria dell Informazione, Informatica e Statistica SAPIENZA Università di Roma Facoltà di Ingegneria dell Informazione, Informatica e Statistica Esercitazioni di PROGETTAZIONE DEL SOFTWARE (Corso di Laurea in Ingegneria Informatica ed Automatica Corso

Dettagli

Corso di Ingegneria del Software. Activity Diagram

Corso di Ingegneria del Software. Activity Diagram Corso di Ingegneria del Software a.a. 2009/2010 Mario Vacca mario.vacca1@istruzione.it Diagrammi di attività Diagrammi di attività 1. La notazione 2. Uso dei diagrammi di attività 3. TOOL di supporto 4.

Dettagli

MODELLO e RAPPRESENTAZIONE

MODELLO e RAPPRESENTAZIONE MODELLO e RAPPRESENTAZIONE I calcolatori elaborano informazione e restituiscono nuova informazione: questa deve essere rappresentata in forma simbolica Esempio : Per poter gestire una biblioteca dobbiamo

Dettagli

Modellazione funzionale con Data Flow Diagram

Modellazione funzionale con Data Flow Diagram Modellazione funzionale con Data Flow Diagram 1 1 I Data Flow Diagram Traggono origine dalla teoria dei grafi e sono stati utilizzati anche precedentemente all avvento dei computer per la gestione delle

Dettagli

Strategie top-down. Primitive di trasformazione top-down. Primitive di trasformazione top-down

Strategie top-down. Primitive di trasformazione top-down. Primitive di trasformazione top-down Strategie top-down A partire da uno schema che descrive le specifiche mediante pochi concetti molto astratti, si produce uno schema concettuale mediante raffinamenti successivi che aggiungono via via più

Dettagli

Modellazione di sistema

Modellazione di sistema 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

Dettagli

PROGETTARE SISTEMI INFORMATIVI. Fasi e relativi approcci

PROGETTARE SISTEMI INFORMATIVI. Fasi e relativi approcci PROGETTARE SISTEMI INFORMATIVI Fasi e relativi approcci OBIETTIVI 1. Descrivere un approccio generale per pianificare e impostare il progetto di un S.I. 2. Identificare i passi fondamentali 3. Illustrare

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

Elena Baralis 2007 Politecnico di Torino 1

Elena Baralis 2007 Politecnico di Torino 1 Introduzione Sistemi informativi 2 Introduzione Base di dati Modello dei dati Accesso ai dati Vantaggi e svantaggi dei DBMS 4 6 2007 Politecnico di Torino 1 7 8 9 10 Sistema informatico Nei sistemi informatici,

Dettagli

Modelli e Metodi per la Simulazione (MMS)

Modelli e Metodi per la Simulazione (MMS) Modelli e Metodi per la Simulazione (MMS) adacher@dia.uniroma3.it Programma La simulazione ad eventi discreti, è una metodologia fondamentale per la valutazione delle prestazioni di sistemi complessi (di

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

UML e i linguaggi di programmazione non OO

UML e i linguaggi di programmazione non OO Appendice A UML e i linguaggi di programmazione non OO Introduzione Molte volte si è detto che lo UML è un linguaggio di modellazione che sebbene ideato per la progettazione di sistemi Object Oriented

Dettagli

Strumenti di modellazione. Gabriella Trucco

Strumenti di modellazione. Gabriella Trucco Strumenti di modellazione Gabriella Trucco Linguaggio di modellazione Linguaggio formale che può essere utilizzato per descrivere (modellare) un sistema Il concetto trova applicazione soprattutto nell

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

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

Problemi, algoritmi, calcolatore

Problemi, algoritmi, calcolatore Problemi, algoritmi, calcolatore Informatica e Programmazione Ingegneria Meccanica e dei Materiali Università degli Studi di Brescia Prof. Massimiliano Giacomin Problemi, algoritmi, calcolatori Introduzione

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

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

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

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

Computer skills advanced problem solving e computational thinking

Computer skills advanced problem solving e computational thinking Computer skills advanced problem solving e computational thinking Prof. Raffaella FOLGIERI DEAS, Dipartimento di Scienze Economiche, Aziendali e Statistiche aa 2011/2012 Computational thinking Nuovo paradigma

Dettagli

REPERTORIO DELLE QUALIFICAZIONI PROFESSIONALI DELLA REGIONE CAMPANIA

REPERTORIO DELLE QUALIFICAZIONI PROFESSIONALI DELLA REGIONE CAMPANIA REPERTORIO DELLE QUALIFICAZIONI PROFESSIONALI DELLA REGIONE CAMPANIA SETTORE ECONOMICO PROFESSIONALE 1 Servizi di informatica Processo Sviluppo e gestione di prodotti e servizi informatici Sequenza di

Dettagli

UML. Una introduzione incompleta. UML: Unified Modeling Language

UML. Una introduzione incompleta. UML: Unified Modeling Language UML Una introduzione incompleta 1/23 UML: Unified Modeling Language Lo Unified Modeling Language (UML) è una collezione di notazioni grafiche che aiuta a progettare sistemi software, specialmente quelli

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

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

PIANIFICAZIONE DI PROGETTO DI SISTEMI INFORMATIVI

PIANIFICAZIONE DI PROGETTO DI SISTEMI INFORMATIVI PIANIFICAZIONE DI PROGETTO DI SISTEMI INFORMATIVI ATTIVITA CHE ESAMINEREMO: 1. ANALISI PRELIMINARE identificazione problema / opportunita analisi di utenti, fabbisogni, requisiti, obiettivi, ecc. DOCUMENTO

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

Analisi e progettazione ad oggetti

Analisi e progettazione ad oggetti Analisi e progettazione ad oggetti Richiami di Analisi e progettazione ad oggetti L idea di base della analisi ad oggetti è di partire da una descrizione del problema in termini di entità e relazioni tra

Dettagli

Progettazione di siti Web

Progettazione di siti Web Progettazione di siti Web Tipi di siti Siti statici Siti dinamici Software di progetto/gestione Editor visuali Content Management System Siti Internet Un sito Internet è come un qualsiasi altro S.I. ma

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

Descrizione processo

Descrizione processo ALLEGATO B Standard Parte 3 Descrizione processo Ver. Pagina 1 di 16 SOMMARIO 1. INTRODUZIONE... 3 1.1 SCOPO E CAMPO DI APPLICAZIONE... 3 1.2 RIFERIMENTI... 3 1.3 GLOSSARIO ED ACRONIMI... 3 1.3.1

Dettagli

Ingegneria del Software L-A

Ingegneria del Software L-A Ingegneria del Software L-A Corso di Laurea Triennale in Ingegneria Informatica III anno A.A. 2009/2010 Docente: Giuseppe Bellavia Collaboratore: Gabriele Zannoni Premessa Una domanda fondamentale Che

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

Basi di Dati Concetti Introduttivi

Basi di Dati Concetti Introduttivi Università Magna Graecia di Catanzaro Informatica Basi di Dati Concetti Introduttivi Docente : Alfredo Cuzzocrea e-mail : cuzzocrea@si.deis.unical.it Tel. : 0984 831730 Lucidi tratti da: Atzeni, Ceri,

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

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

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

Laboratorio di Progettazione di Sistemi Software Design Patterns

Laboratorio di Progettazione di Sistemi Software Design Patterns TITLE Laboratorio di Progettazione di Sistemi Software Design Patterns Valentina Presutti (A-L) Riccardo Solmi (M-Z) 1 Indice degli argomenti Tipi di Design Patterns Creazionali Strutturali Comportamentali

Dettagli

Programmazione di INFORMATICA e Laboratorio

Programmazione di INFORMATICA e Laboratorio ISIUO ECNICO SAALE settore ECNOLOGICO ad indirizzo: Elettronica ed Elettrotecnica - Informatica e elecomunicazioni Meccanica, Meccatronica ed Energia "VIORIO EMANUELE III" Via Duca della Verdura, 48-90143

Dettagli

I lucidi messi a disposizione sul sito del corso di Analisi e progettazione del software NON sostituiscono il libro di testo

I lucidi messi a disposizione sul sito del corso di Analisi e progettazione del software NON sostituiscono il libro di testo Luca Cabibbo Analisi e Progettazione del Software Capitolo 3 marzo 2016 Agilità:1, ogni altra cosa: 0. Tom DeMarco 1 *** AVVERTENZA *** I lucidi messi a disposizione sul sito del corso di Analisi e progettazione

Dettagli

BASI DI DATI. basi di dati - introduzione ai sistemi informativi 1

BASI DI DATI. basi di dati - introduzione ai sistemi informativi 1 BASI DI DATI basi di dati - introduzione ai sistemi informativi 1 Sistema Informativo Insieme degli strumenti, risorse e procedure che consentono la gestione delle informazioni aziendali e' essenziale

Dettagli

Lez. 5 La Programmazione. Prof. Salvatore CUOMO

Lez. 5 La Programmazione. Prof. Salvatore CUOMO Lez. 5 La Programmazione Prof. Salvatore CUOMO 1 2 Programma di utilità: Bootstrap All accensione dell elaboratore (Bootsrap), parte l esecuzione del BIOS (Basic Input Output System), un programma residente

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

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 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

Laboratorio di Progettazione di Sistemi Software Introduzione

Laboratorio di Progettazione di Sistemi Software Introduzione Laboratorio di Progettazione di Sistemi Software Introduzione Valentina Presutti (A-L) Riccardo Solmi (M-Z) Indice degli argomenti Introduzione all Ingegneria del Software UML Design Patterns Refactoring

Dettagli

SOMMARIO CHE COS È UML

SOMMARIO CHE COS È UML INTRODUZIONE A UML INGEGNERIA DEL SOFTWARE Università degli Studi di Padova Dipartimento di Matematica Corso di Laurea in Informatica, A.A. 2016 2017 rcardin@math.unipd.it 2 Famiglia di notazioni grafiche

Dettagli

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

Progettare una basi di dati vuole dire progettare la struttura dei dati e le applicazioni LA PROGETTAZIONE DI BASI DI DATI Progettare una basi di dati vuole dire progettare la struttura dei dati e le applicazioni La progettazione dei dati è l attività più importante Per progettare i dati al

Dettagli

Rational Unified Process Introduzione

Rational Unified Process Introduzione Rational Unified Process Introduzione G.Raiss - A.Apolloni - 4 maggio 2001 1 Cosa è E un processo di sviluppo definito da Booch, Rumbaugh, Jacobson (autori dell Unified Modeling Language). Il RUP è un

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

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