Corso di Ingegneria del Software Paolo Bottoni
|
|
- Massimo Sassi
- 5 anni fa
- Visualizzazioni
Transcript
1 Corso di Paolo Bottoni Lezione 5: Modellazione di sistema e UML
2 Obiettivi Introdurre tipi di modelli di sistema Descrivere modellazione comportamentale, dei dati, e degli oggetti Introdurre alcune notazioni usate in Unified Modeling Language (UML) 2
3 Modellazione di sistema Aiuta analista a capire funzionalità sistema e comunicare con clienti Modelli diversi presentano sistema da prospettive diverse esterna mostra contesto o ambiente sistema dinamica mostra comportamento sistema strutturale mostra architettura sistema o dati 3
4 Tipi di modello Modello di elaborazione dati: organizzato in stadi Modello di composizione: struttura entità Modello architetturale: sottosistemi principali Modello di classificazione: caratteristiche comuni entità Modello dinamico: comportamenti Autonomi Reattivi Collaborativi 4
5 Metodi strutturati Metodi strutturati incorporano modellazione di sistema come parte inerente metodo Definiscono: insieme di modelli processo per derivarli regole e linee-guida da applicare a modelli Strumenti CASE supportano modellazione di sistema come parte di metodo strutturato 5
6 Debolezze dei metodi Non modellano requisiti di sistema non-funzionali Solitamente non includono informazione su appropriatezza metodo a dato problema Possono richiedere troppa documentazione Modelli sistema a volte troppo dettagliati e difficili da capire per utenti 6
7 Modelli di contesto Illustrano contesto operativo sistema Cosa si trova fuori confini sistema Definizione confini influenzata da aspetti sociali e organizzativi Modelli architetturali mostrano sistema e relazioni con altri sistemi In UML forniti da casi d uso 7
8 Contesto di sistema Bancomat Sistema di sicurezza Sistema tenuta conti agenzia Base dati conti clienti Sistema distributore automatico Sistema sportello agenzia Base dati utilizzo Sistema di manutenzione 8
9 Diagramma UC per modello di contesto 9
10 Modello dei Casi d'uso Modello di sistema con attori, casi d'uso e loro relazioni. Può utilizzare package. Utilizzabile anche per descrivere contesto sistema (attori) 10
11 Attore (umano, dispositivo, sistema) Definisce ruolo Cosa farà in processo 11
12 Descrizione del Caso d uso I Fatta dal punto di vista degli attori Specifica di insieme di azioni eseguite da sistema (o elemento che può avere comportamento, subject) Produce risultato osservabile Tipicamente risultato ha valore per uno o più attori / stakeholder di subject Rappresenta dichiarazione di comportamento offerto Comportamento svolto in collaborazione con uno o più attori Può includere varianti, comportamenti eccezionali, gestione errori Risultato: cambiamento stato subject e/o comunicazione con ambiente Specifica unità di funzionalità utile offerta agli utenti Iniziata da attore primario Deve essere completata Non ci si aspettano altri ingressi Caso d uso può ricominciare da capo o in stato di errore 12
13 Descrizione del Caso d uso II Comportamento Normalmente in linguaggio naturale Uso di diagrammi statechart, activity, collaboration, sequence Descrizione di sequenza di azioni Azioni subject durante esecuzione caso d'uso Interazioni con attori Comportamento richiede pre-, asserisce post-condizioni. Di subject, non di situazione! Casi d'uso sono atomici. Non interagiscono. Ogni caso d uso descrive uso completo subject 13
14 Specifica comportamento in caso d uso Diagrammi di interazione Diagrammi di attività Diagrammi di stato Pre e post-condizioni Testo in linguaggio naturale (strutturato) Descrizione indiretta tramite collaborazioni Descrizioni possono essere combinate 14
15 Cosa includere in una descrizione Stato di partenza come precondizione Precondizioni per esecuzione Precondizioni per successo Come e quando parte (trigger) Ordine di esecuzione azioni Come e quando finisce Possibili stati finali come postcondizioni Cammini di esecuzione non permessi Flussi alternativi inlined in flusso base Flussi alternativi estratti Interazioni con attori e messaggi scambiati Uso di oggetti, valori e risorse in sistema Separare responsabilità fra sistema e attore 15
16 Specifica testuale del flusso 16
17 Pre e post-condizioni NON: L utente vuole leggere un area NON: L utente ha letto l area Assunzione verificabile SOLO durante il corso del flusso 17
18 Specifica con activity diagram 18
19 Specifica con diagramma di sequenza 19
20 Relazioni fra attori e casi d uso 20
21 Raffinamento: include Caso d uso includente contiene comportamento definito in caso d uso di addizione Usata quando ci sono parti comuni a due o più casi d uso. Parte comune estratta e riutilizzabile Caso d uso includente incompleto senza addizione Comportamento addizione eseguito in locazione caso d uso includente Terminata addizione riprende esecuzione includente 21
22 Raffinamento: extend Specifica condizione per inserimento comportamento che estende in caso d uso esteso Estensione avviene in specifici punti di estensione definiti in caso d uso esteso Caso d uso esteso indipendente da estensioni Caso che estende definisce comportamento modulare eseguito in specifiche condizioni Comportamento può estendere più casi d uso Può essere esteso a sua volta 22
23 Differenza fra include e extend include indica frammento sempre eseguito durante esecuzione caso d uso principale extend indica frammento eseguito in determinate circostanze 23
24 Distribuzione casi d uso in package 24
25 Casi d'uso essenziali Formato a due colonne Intenzione attore Responsabilità sistema Indipendenti da tecnologia Nessun riferimento a interfaccia utente 25
26 Esempio di caso d'uso essenziale 26
27 Esempio di caso d'uso di sistema 27
28 Modelli dei dati semantici Struttura logica dati elaborati Modello a entità-relazioni-attributi Usato in progetto basi dati Implementato rapidamente con basi di dati relazionali Esprimibili in UML con diagrammi di classi 28
29 Modello semantico per biblioteca 1 delivers n Article title authors pdf file fee published-in m fee-payable-to 1 n 1 Source title publisher issue date pages 1 in 1 Order order number total payment date tax status Copyright Agency name address 1 in 1 Country copyright form tax rate 1 places Buyer name address billing info 29
30 Dizionari di dati Liste nomi usati in modelli sistema Includono descrizioni entità, relazioni, attributi Vantaggi Supporta gestione nomi ed evita duplicati Memorizza conoscenza organizzazione per collegare analisi, progetto e implementazione Molti strumenti CASE supportano dizionari 30
31 Elementi nel dizionario dei dati Name Description Type Date Article authors Buyer feepayable-to Address (Buyer) Details of the published article that may be ordered by peopleusing LIBSYS. The names of the authors of the article who may be due a share of the fee. The person or organisation that orders a co py of the article. A 1:1 relationship between Article and the Copyright Agency who should be paid the copyright fee. The address of the buyer. This is used to any paper billing information that is required. Entity Attribute Entity Relation Attribute
32 Elementi di modellazione delle classi Classi definiscono modello per costruzione istanze Struttura Interfaccia Vincoli su implementazione Diagramma classi definisce famiglia di modelli Relazioni fra classi Associazioni, dipendenze, generalizzazioni Vincoli su realizzazioni Molteplicità Vincoli da metamodello Vincoli specifici 32
33 Classe Descrive insieme di oggetti con stessa specifica di caratteristiche, vincoli e semantica Ogni oggetto deve contenere valore per ogni attributo classe, in accordo con tipo e molteplicità Se attributo ha default, se istanza non riceve valore iniziale per attributo, inizializzato a default Operazioni classe invocabili su oggetto, insieme di sostituzioni per parametri Caratteristiche sono di istanza o di classe 33
34 Associazioni Dichiara possibile presenza collegamenti fra istanze tipi in associazione Relazione semantica possibile tra istanze tipate Almeno due capi, rappresentati da proprietà, ognuna connessa a tipo Possibili più capi con stesso tipo Capi possono essere dichiarati unici e ordinati Capi posseduti da associazione o classificatore. Se posseduto da classificatore, navigabile 34
35 Diagrammi di classi Diagramma rappresenta vista su modello Person owner Account 35
36 Specifica di istanza Rappresentazione entità a un istante (snapshot) Specificare esistenza di entità in sistema Esempio di possibile entità in sistema Entità conforme a specifica di classificatore Attributi in classificatori rappresentati da slot in istanza Dettagli specifica possono essere incompleti Parti trascurate non di interesse in modello Modello cambiamenti:specifica per ogni snapshot Istanze hanno: identità e stato comportamento vincolato da appartenenza a classe 36
37 Collegamenti (link) Specifica di istanza di associazione Tupla con valore per capo associazione Ogni valore istanza tipo per capo Possono rappresentare valori di attributi, navigabili da istanza che possiede attributo a istanza che rappresenta valore Decorati con nome attributo Connessione semantica fra due oggetti che permette accesso efficiente 37
38 Diagrammi di istanza validi e non validi Assunzione che diagramma classi precedente sia unica specifica 38
39 Diagrammi di istanza validi e non validi jim : Person name = Jim Arlow age = 23 39
40 Decorazioni su associazioni Orientamento: semantica per utente, opzionale Navigabilità: semantica per sistema, obbligatoria o implicita Molteplicità: forma di vincolo, non implicita 40
41 Classi d'associazione Elemento con proprietà di classe e di associazione Relazione semantica fra classificatori Caratteristiche proprie relazione, non di classificatori Insieme di oggetti implicati da classe e corrispondenti a unico link con tipo associazione Corrispondenza 1-1con relazione semantica fra istanze Semantica statica/dinamica di associazione e classe 41
42 Istanze di classe di associazione 42
43 Associazioni riflessive 43
44 Relazione di generalizzazione Relazione tassonomica fra classificatori Classificatore più generale e classificatore più specifico Istanza di specifico istanza indiretta di generale Specifico eredita caratteristiche di generale Vincoli e associazioni Proprietà di sostituibilità Classificatore può partecipare a più relazioni sia come sorgente sia come bersaglio 44
45 Relazione di Generalizzazione 45
46 Ereditarietà multipla Caratteristica può essere ripetuta in diversi classificatori da cui si eredita Stessa proprietà statica o di istanza Per ogni slot in istanza deve esistere classificatore con attributo corrispondente Per ogni attributo di classificatore (eventualmente ripetuto), al più uno slot definito da esso in istanza 46
47 Dipendenze Relazione fra elementi. Semantica, non strutturale. Elemento (cliente) ha bisogno di altri elementi (fornitore) per specifica o implementazione Semantica clienti dipende da definizione fornitori Non ha conseguenze su semantica a run-time 47
48 Tipi di dipendenza Usage: Definizione o implementazione cliente usa fornitore Abstraction: Fornitore più astratto di cliente Permission: Forme di accesso a contenuto fornitore Binding: Specializzazioni di template 48
49 Dipendenze Usage <<use>> Operazione client usa parametro fornitore Operazione client restituisce tipo fornitore Operazione client usa tipo fornitore per implementazione non come attributo <<call>> Client e fornitore sono operazioni. Prima invoca seconda <<send>> Fornitore di tipo signal, spedito da client <<create>> Client è operazione che crea istanze fornitore <<instantiate>> Client è classificatore, contiene operazione che istanzia fornitore 49
50 Dipendenze Abstraction <<trace>> Fornitore e client in modelli in fasi o flussi di lavoro diversi <<refine>> Tra elementi di stesso modello, non storica <<derive>> Informazione cliente derivabile da informazione fornitore 50
51 Dipendenze Permission <<access>> Package client vede elementi pubblici package fornitore Namespace restano separati <<import>> Namespace fornitore fuso in namespace cliente <<friend>> Accesso a elemento fornitore, indipendentemente da visibilità 51
52 Notazione 52
53 Aggregazione Relazione parte_di Intero domina. Se navigabilità unidirezionale, parte può non conoscere intero Aggregato può esistere indipendentemente da parti Parti possono esistere indipendentemente da aggregato Aggregato incompleto se parti mancanti Parti possono essere condivise fra aggregati 53
54 Vincoli su aggregazione Transitività Asimmetria (oggetto non può essere parte di sé stesso, neanche indirettamente) 54
55 Gestione di aggregazioni riflessive a:product * Product * b:product c:product Trasformare in associazione d:product a:product * Product * b:product c:product d:product 55
56 Composizione Analogo ad aggregazione, ma più vincolato Parti non hanno vita indipendente In ogni momento parte appartiene esattamente a un composto Composto ha responsabilità per creazione / distruzione parti Creazione composto comporta creazione parti Parti possono essere rilasciate solo verso altro composto Se composto è distrutto, deve distruggere sue parti, o cederne responsabilità ad altro composto 56
57 Diagrammi di interazione Descrivono collaborazioni necessarie a realizzare caso d uso Descrivono ordine invio messaggi in scenario Rappresentano specifico insieme di messaggi e interazioni tra oggetti 57
58 Modelli comportamentali Descrivono comportamento generale sistema Due tipi: Elaborazione dati. Mostrano come dati sono elaborati e fluiscono in sistema Macchine a stati. Mostrano risposte sistema ad eventi Prospettive diverse, necessarie entrambe In UML elaborazione dati come conseguenza scambio messaggi, in diagrammi di interazione 58
59 Interazioni Unità di comportamento focalizzata scambio osservabile informazione Informazione scambiata fra elementi Composte di frammenti di interazione Semantica data da coppia di insiemi di tracce Sequenza di occorrenze di eventi Tracce valide e non valide Rappresentazioni: comunicazione e sequenza 59
60 Diagrammi di sequenza Mettono in luce scambio di messaggi su linee di vita Specifiche di esecuzione ordinate su linee di vita Pieno uso di costrutti composti 60
61 Esempio: visualizza info paziente Chapter 5 System Modeling 30/10/
62 Esempio: trasferimento dati Chapter 5 System Modeling 30/10/
63 Sintassi Notazione alternativa per frammento parallelo se ordine occorrenze irrilevante Comunicazione tramite gate 63
64 Definizione di interazione 64
65 Usi di interazione 65
66 Costrutti temporali 66
67 Occorrenze annotate con vincoli Durata messaggio Code misurata Vincolo su ricezione OK dipendente da osservazione Vincolo su durata emissione carta Vincolo su completamento emissione Primitiva now fornisce osservazione temporale 67
68 Regioni critiche r100 s100 r101 s101 r911 s911 r100 r911 s911 r101 s101 s100 r100 r911 s100 s911 68
69 Regione critica Vincolo su tracce Non si ammettono altre occorrenze Regione trattata atomicamente da frammento includente Limita effetto parallelismo 69
70 Iterazioni Annidamento di loop Regione interna iterata a ogni iterazione regione includente 70
71 Modelli di elaborazione dati Diagrammi di flusso di dati modellano elaborazione dati in sistema Mostrano passi di elaborazione mentre dati fluiscono in sistema Parte intrinseca di molti metodi di analisi Notazione semplice e intuitiva per clienti Mostra elaborazione dati da inizio a fine 71
72 Diagrammi di flusso dei dati Prospettiva funzionale Tracciano associazione dati/processi Sviluppano comprensione generale sistema DFD anche usati per mostrare scambio di dati fra sistema e altri sistemi in contesto Notazione ausiliaria in UML Rappresentazione flusso informazione fra elementi 72
73 DFD per pompa a insulina Sangue Sensore zucchero in sangue Parametri sangue Analisi zucchero in sangue Livello zucchero in sangue Calcolo richiesta insulina Insulina Pompa insulina Comandi controllo pompa Controllore rilascio insulina Richiesta insulina 73
74 Modelli di macchine a stati Comportamento sistema in risposta a eventi Eventi esterni o interni Spesso usati per sistemi a tempo reale Stati nodi, transizioni su eventi archi fra nodi Quando evento accade, sistema transisce di stato Statecharts parte integrale di UML Rappresentano modelli di macchina a stato Condizioni associabili a transizioni 74
75 Macchine a stati Modelli di comportamento discreto con stati finiti Behavioral state machines: variante Statecharts Associate a elementi di modello Comportamenti di classi attive, oparazioni, processi Protocol state machines: transizioni di stato Associabili a classificatori, interfacce porte Definisce aspetti comportamentali invocabili in stato Comportamento modellato come attraversamento di grafo di nodi stato interconnessi da archi di transizione, attivati da occorrenze di eventi 75
76 Macchina a stati Può essere posseduta da BehavioredClassifier Definisce trigger e attributi e operazioni disponibili Trigger dipendono da operazioni e ricezioni in contesto Può essere associata a BehavioralFeature Rappresenta metodo Parametri macchina corrispondono a parametri feature Se manca classificatore contesto, trigger indipendenti Può definire template per macchine a stati Punti di connessione solo a stati iniziali o di uscita 76
77 Semantica Eventi presenti in pool Legata a istanza di classificatore o a classificatore che possiede la BehavioralFeature Occorrenze eventi gestite una alla volta Elaborazione run-to-completion Evento gestito solo se gestione precedente completata Stato stabile: reazione a eventi completata Se invocazione sincrona, completamento a fine esecuzione Evento estratto scartato se transizioni non abilitate Possibilità di eventi differiti 77
78 Transizioni Trigger: occorrenza evento interno o esterno Guard: condizione booleana valutata prima Effect: comportamento associato Sequenza di esecuzione Uscita da stato sorgente principale Esecuzione ordinata comportamenti associati a transizioni Se si incontra decisione, selezione dinamica cammino Entrata in stato bersaglio principale Tipi di transizione local: parte da punto di ingresso o stato composto e resta external: originabile a qualunque vertice, uscirà da vertice internal: origine e bersaglio nello stesso stato 78
79 Regioni Parte ortogonale di stato composto o statemachine Possesso esclusivo stato o macchina a stati Contiene stati e transizioni Può avere al più un vertice iniziale Contiene vertici e transizioni fra vertici Transizioni composte per risposte complete a eventi Possono attraversare fork, join, choice, merge o junction Hanno trigger, guardia e comportamento associato Transizione abilitata se: Tutti stati sorgente in configurazione di stato attiva Uno dei trigger è soddisfatto da tipo occorrenza evento corrente Esiste almeno un cammino da configurazione sorgente a bersaglio 79
80 Comportamenti entry: eseguita a ogni ingresso in stato Atomica. Nessun altro comportamento eseguibile prima exit: eseguita ad ogni uscita da stato Solo dopo ogni transizione in stato completata do: iniziata eseguita fino a che si permane in stato, o fino a completamento, primo dei due. Produce evento di completamento Trigger differiti. Mantenuti da macchina se non attivano transizione esterna, fino a che non si raggiunge configurazione in cui non più differito 80
81 Sintassi grafica 81
82 Segnali Pacchetto di informazione comunicato asincronamente fra due oggetti Evento di segnale avviene quando oggetto riceve segnale Invio Ricezione oggetto:bersaglio 82
83 Stati Modellano situazioni in cui vale invariante Statica: es. attesa di evento. Dinamica: es. esecuzione di processo Stato semplice non ha regioni Stato composto: una o più regioni (ortogonali) Regioni hanno insiemi di vertici mutuamente esclusivi Ogni regione può avere stato finale e pseudostato iniziale Transizione a stato esterno è verso pseudostato iniziale Ogni sottostato eredita transizioni stato genitore Se conflitto, priorità transizione da stato annidato. 83
84 Diagramma di stato per operazioni forno 84
85 Stati composti 85
86 Transizioni locali e esterne Non provocano azioni di ingresso / uscita per stato composto Provocano azioni di ingresso / uscita 86
87 Stati composti concorrenti (from [3]) 87
88 Stati di sottomacchina Inserimento specifica di macchina a stati Permette fattorizzazione e riuso di comportamenti comuni Stessa sottomacchina può occorrere più volte Equivalente a stato composto 88
89 Sottomacchine 89
90 Pseudostati I initial - transizione a stato default per regione Può avere effetto, ma non trigger o guard deephistory - configurazione più recente composto shallowhistory - sottostato attivo più recente join fonde transizioni da vertici ortogonali fork divide transizione per vertici ortogonali junction concatena transizioni multiple Merge - fonde transizioni che convergono su un cammino Branch - divide transizione in casi (statico) choice valutazione dinamica, un solo selezionato 90
91 Pseudostati II entry point punto di ingresso a stato composto. Indica transizione a un vertice exit point fa uscire da macchina o stato composto. Attiva azione di exit terminate esecuzione da parte di oggetto contesto terminata. Non si compiono altre azioni 91
92 Riferimento a sottomacchine 92
93 Modelli di processo Mostrano processo generale e processi supportati da sistema Modelli flusso dati usati per mostrare processi e flussi di informazione. In UML supportati da modelli di attività 93
94 Processo di acquisizione equipaggiamento Specify equipment required Equipment spec. Supplier database Equipment spec. Validate specification Find suppliers Supplier list Checked spec. Get cost estimates Choose supplier Spec. + supplier + estimate Delivery note Order notifica tion Order details plus blank order form Accept delivery of equipment Place equipment order Delivery note Check delivered items Install equipment Installation instructions Installation acceptance Checked and signed order form Accept delivered equipment Equipment details Equipment database 94
95 Diagrammi di attività Modellano processo come collezione di attività e transizioni fra attività. Enfasi su sequenza e condizioni coordinamento comportamenti di basso livello, non su classificatori. Flusso di controllo e flusso di oggetti In ultima analisi definita da azioni Azioni e attività vengono eseguite Condizioni di coordinamento per inizio azioni Completamento esecuzione azioni Disponibilità di oggetti e dati Eventi esterni 95
96 Livelli di complessità Attività fondamentali definite come sequenze Costrutti per parallelismo e scelte alternative Strutture di controllo iterative Costrutti per flussi di dati, eccezioni, etc. 96
97 Relazioni fra attività e azioni Attività con nodi attività e flussi di controllo e di dati Azioni caso particolare di nodi di attività Nodi oggetto e nodi controllo Attività possono formare gerarchie di attivazioni In modelli OO invocate indirettamente come metodi legate a operazioni invocate direttamente Possono descrivere computazioni procedurali Attività non può essere autonoma Contesto: classificatore o feature comportamentale 97
98 Semantica attività Basata su flusso di token Dipendenza fra esecuzioni di nodi rappresentata da archi fra nodi. Token contiene un oggetto, dato, o luogo di controllo, presente in diagramma a nodo particolare Tutti token distinti fra loro, anche se stesso valore Nodo comincia esecuzione quando condizioni su token di input soddisfatte 98
99 Flusso token Quando nodo inizia esecuzione, token accettati da sottoinsieme ingressi e un token piazzato su nodo Quando nodo completa esecuzione, token rimosso da nodo e token offerti su sottoinsieme archi uscita. Offerta: token possono essere rifiutati Regole per offrire e accettare token su archi 99
100 Concorrenza Vincoli su ordine esecuzione di due o più azioni esplicitate fra relazioni di flusso Se azioni non ordinate direttamente o indirettamente da relazioni di flusso, possono eseguire concorrentemente Esecuzione parallela, non richiesta ma possibile 100
101 Relazione con contesto Activity in contesto classificatore: se metodo di behavioral feature invocata quando feature invocata se non metodo di behavioral feature invocabile dopo istanziazione classificatore Ovverriding di attività usate come metodi ereditati Invocabile anche direttamente da altre attività Non solo tramite chiamata a behavioral feature Possibilità ottimizzazione indipendente da classificatore 101
102 Flussi Realizzati mediante edge source e target in stessa attività Permettono passaggio di token Specifica weight per minimo numero di token su arco quando raggiunto, tutti token presenti offerti a bersaglio condizioni valutate e minimo numero deve superarle se weight illimitato tutti i token offerti devono superarle Flussi di controllo e di oggetti stessa notazione 102
103 Flussi di oggetti Flussi oggetti offrono token di tipo dato o oggetti Possibilità di avere pin per indicare cosa passato Offerti a target stesso ordine in cui presi da source anche in caso di offerta simultanea di più token se associato con selezione, trascura ordine Flussi da stesso nodo oggetto competono Duplicazione possibile tramite fork Associabile con trasformazione prima di dare a target trasformazione non può avere effetti collaterali 103
104 Gestione pesi 104
105 Nodi di controllo Vincoli su flussi entranti o uscenti DecisionNode ha flussi dello stesso tipo Comportamento di decisione non ha effetti collaterali Ogni token entrante attraversa un solo arco uscente ForkNode divide flusso in vari flussi concorrenti Se almeno un token accettato, tutti token offerti rimossi da source e copia su ogni flusso accettante Token non accettato causa fallimento bersaglio: pendente JoinNode emette token se condizione su entranti Se entranti sia dati sia controllo, solo dati offerti MergeNode non sincronizza, ma propaga 105
106 Coordinamento di attività 106
107 Comportamenti su scelte 107
108 Specifiche di join 108
109 Terminazione attività Token che raggiunge nodo finale fa cessare intera attività ( o nodo strutturato) Fa terminare ogni azione in esecuzione Distrugge tutti i token in nodi oggetto, tranne quelli in nodi parametro di output dell attività Se termina azione invocazione sincrona, terminano anche comportamenti in attesa ritorno da azione. Possibili più nodi finali per ogni attività Primo nodo con token fa terminare tutto 109
110 Terminazione flussi Nodi per finale di flusso. Se si usa singola esecuzione per ogni invocazione, si distruggono token solo su flusso che ha raggiunto nodo Se si usano esecuzioni separate, token per una invocazione non influenzano altre. 110
111 Uso di terminazioni 111
112 Partizioni Modo per raggruppare nodi con aspetti comuni es. unità organizzative in modelli di business Mostrano vista nodi contenuti Possono condividere contenuto Permettono allocare risorse fra nodi di una attività 112
113 Gestione ordine con partizioni 113
114 Dimensioni multiple 114
115 Strutture di controllo: Condizionale Scelta esclusiva fra alternative Un body eseguito fra tutti quelli con test positivi isassured: almeno un test ha successo isdeterminate: al più un test ha successo Scelta non deterministica se ordine non definito tramite successor e predecessor Se produce valori in uscita, ogni body deve produrli 115
116 Strutture di controllo: Loop Sezioni di inizializzazione, test e corpo Ogni sezione regione annidata. Nodi loop seguono ogni predecessore del loop e precedono ogni successore Test può precedere o seguire corpo. Risultato su pin raggiunto con decider Inizializzazione eseguita una volta prima di corpo Test e corpo eseguiti ripetutamente fino a test falso Risultati ultima esecuzione test o corpo disponibili 116
117 Strutture di controllo: Sequenza Nodi eseguiti nell ordine specificato. Se combinate in flussi, azioni devono anche soddisfare ingressi di controllo e dati 117
118 Regioni interrompibili Tipo di gruppo di attività Archi che lasciano regione designati interrompibili Se token lascia regione su arco interrompibile, ogni flusso in regione viene terminato Token uscito da regione non viene terminato Atomicità: se token lascia regione su arco non interrompibile, completa trasferimento 118
119 Cancellazione di ordini 119
UML Introduzione a UML Linguaggio di Modellazione Unificato. Corso di Ingegneria del Software Anno Accademico 2012/13
UML Introduzione a UML Linguaggio di Modellazione Unificato Corso di Ingegneria del Software Anno Accademico 2012/13 1 Che cosa è UML? UML (Unified Modeling Language) è un linguaggio grafico per: specificare
DettagliCorso di Ingegneria del Software Paolo Bottoni
Corso di Paolo Bottoni Lezione 9: Modellazione e UML Obiettivi Introdurre tipi di modelli di sistema Descrivere modellazione comportamentale, dei dati, e degli oggetti Introdurre alcune notazioni usate
DettagliVincenzo Gervasi, Laura Semini Ingegneria del Software Dipartimento di Informatica Università di Pisa
Vincenzo Gervasi, Laura Semini Ingegneria del Software Dipartimento di Informatica Università di Pisa Lezioni precedente: Descrizione del dominio: modello statico Questa lezione Descrizione del dominio:
DettagliUML UNIFIED MODELING LANGUAGE
UML UNIFIED MODELING LANGUAGE Cos è UML E un linguaggio di progettazione, da non confondere con i linguaggi di programmazione (C, C++, Java, ) Fornisce una serie di diagrammi per rappresentare ogni tipo
DettagliOrder details + blank order form Complete order form Completed order form Validate order Signed order form Order details Signed order form Record order Orders file Signed order form Send to supplier Adjust
DettagliCorso 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.
DettagliI 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
DettagliCorso 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
DettagliProgettazione Object-Oriented
Progettazione Object-Oriented Generalità, Relazione fra OOA e OOD Concetti di base: Classi e Oggetti, Relazioni fra oggetti, Ereditarietà e Polimorfismo La specifica del Progetto: notazione UML Una metodologia
DettagliIngegneria del Software 8. Diagrammi di attività. Dipartimento di Informatica Università di Pisa A.A. 2014/15
Ingegneria del Software 8. Diagrammi di attività Dipartimento di Informatica Università di Pisa A.A. 2014/15 so far Modello del dominio Modello statico: diagrammi delle classi Modello dinamico : diagrammi
DettagliLEZIONE 7 - STATE MACHINE DIAGRAM
Laboratorio di Ingegneria del Software a.a. 2013-2014 LEZIONE 7 - STATE MACHINE DIAGRAM Catia Trubiani Gran Sasso Science Institute (GSSI), L Aquila catia.trubiani@gssi.infn.it Un po di storia su state
DettagliElementi di UML (6): Diagrammi dinamici di flusso
Elementi di UML (6): Diagrammi dinamici di flusso Università degli Studi di Bologna Facoltà di Scienze MM. FF. NN. Corso di Laurea in Scienze di Internet Anno Accademico 2004-2005 Laboratorio di Sistemi
DettagliEsempio Modello DFD per ordini. Modelli di comportamento. Diagramma delle attività. Diagramma attività UML per ordini. Attività: Apri file da browser
Modelli di comportamento Esempio Modello DFD per ordini Sono usati per descrivere il comportamento globale del sistema Data processing model (ovvero Data Flow Diagram, DFD) Mostrano i passi per l elaborazione
DettagliUML come abbozzo. Introduzione all UML. UML come linguaggio x programmi. UML come progetto dettagliato
Introduzione all UML UML come abbozzo UML - Unified Modeling Language E una famiglia di notazioni grafiche per la modellazione visuale del software Modellazione: rappresentazione di elementi che corrispondono
DettagliSOMMARIO DIAGRAMMI DI ATTIVITÀ INGEGNERIA DEL SOFTWARE. Introduzione. Concetti base. 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. 2013 2014 2 rcardin@math.unipd.it SOMMARIO Introduzione
DettagliAnalisi dei Casi d Uso
Generalità Concetti di base: Attore, Caso d Uso, Associazioni Il Diagramma dei casi d uso Descrizione di un caso d uso Passi per la costruzione di un modello di casi d uso 1 Generalità Strumento impiegato
DettagliSOMMARIO. 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
DettagliIngegneria del Software 9. Macchine a stati. Dipartimento di Informatica Università di Pisa A.A. 2014/15
Ingegneria del Software 9. Macchine a stati Dipartimento di Informatica Università di Pisa A.A. 2014/15 so far Modello del dominio Modello statico: diagrammi delle classi Modello dinamico : diagrammi di
DettagliMicrosoft 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
DettagliClass diagram COMPORTAMENTO associazioni
Class diagram Rappresenta le classi che compongono il sistema, cioè le collezioni di oggetti, ciascuno con il proprio stato e COMPORTAMENTO (attributi ed operazioni) Specifica, mediante associazioni, le
DettagliDiagrammi di stato e di attività: esercizi
Diagrammi di stato e di attività: esercizi Angelo Di Iorio (in parte di: Gianpiero Favini) A.A. 2012-2013 Laboratorio Ingegneria del Software () Diagrammi di stato e di attività: esercizi A.A. 2012-2013
DettagliProgramma operativo Regione Lombardia/Ministero del Lavoro/Fondo Sociale Europeo, Obiettivo 3 Misura C3
Programma operativo Regione Lombardia/Ministero del Lavoro/Fondo Sociale Europeo, Obiettivo 3 Misura C3 Progetto ID 24063 Moduli e contenuti professionalizzanti inseriti nei corsi di laurea e diplomi universitari
DettagliPROCESSI NON SEQUENZIALI E TIPI DI INTERAZIONE
PROCESSI NON SEQUENZIALI E TIPI DI INTERAZIONE 1 ALGORITMO, PROGRAMMA, PROCESSO Algoritmo Procedimento logico che deve essere eseguito per risolvere un determinato problema. Programma Descrizione di un
DettagliIl 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
DettagliUniversità 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
DettagliNote sugli Statechart Diagrams
Note sugli Statechart Diagrams Giacomo Gabrielli Sorgente: [Bolognesi05] 1 Diagrammi di Stato I diagrammi di stato (statechart diagram) permettono di descrivere il comportamento dinamico di un oggetto
DettagliLaboratorio 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
DettagliIngegneria del Software 18. Realizzazione casi d uso. Dipartimento di Informatica Università di Pisa A.A. 2014/15
Ingegneria del Software 18. Realizzazione casi d uso Dipartimento di Informatica Università di Pisa A.A. 2014/15 diagrammi di interazione Descrizione dinamica, che elenca i messaggi scambiati tra istanze
DettagliClassi. Meccanismi di Rappresentazione e Scoperta. Andrea Polini
Classi Meccanismi di Rappresentazione e Scoperta Andrea Polini Laboratorio di Ingegneria del Software Corso di Laurea in Informatica L31 Univesità di Camerino (Laboratorio di Ingegneria del Software) Classi
DettagliUML 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
DettagliModulo 11. Interazioni Diagrammi di sequenza Diagrammi di collaborazione. Descrivere il comportamento di un sistema software
Modulo 11 Interazioni Diagrammi di sequenza Diagrammi di collaborazione Descrivere il comportamento di un sistema software In un sistema object-oriented, gli oggetti interagiscono scambiandosi messaggi
DettagliUML e i diagrammi di attività
UML e i diagrammi di attività S i n t a s s i e L i n e e G u i d a Dr. Andrea Baruzzo andrea.baruzzo@dimi.uniud.it Page 2 Attività: che cosa sono e a cosa servono Un diagramma di attività mostra il flusso
Dettagli2. Modellazione dei casi d uso
2. Modellazione dei casi d uso Andrea Polini Laboratorio di Ingegneria del Software Corso di Laurea in Informatica (Laboratorio di Ingegneria del Software) 2. Modellazione dei casi d uso 1 / 20 Sommario
DettagliActivity Diagrams (lezione 3)
Istituto di Scienza e Tecnologie dell'informazione A. Faedo Software Engineering Laboratory Activity Diagrams (lezione 3) Antonino Sabetta antonino.sabetta@isti.cnr.it Una vista d'insieme introduzione
DettagliRelazioni. Andrea Polini. Laboratorio di Ingegneria del Software Corso di Laurea in Informatica L-31 Università di Camerino
Relazioni Andrea Polini Laboratorio di Ingegneria del Software Corso di Laurea in Informatica L-31 Università di Camerino (Ingegneria del Software) Relazioni 1 / 13 Relazione Relazione - da teoria degli
DettagliUniversità di Bergamo Dip. di Ingegneria gestionale, dell'informazione e della produzione INGEGNERIA DEL SOFTWARE. Paolo Salvaneschi D1_3 V3.
Università di Bergamo Dip. di Ingegneria gestionale, dell'informazione e della produzione INGEGNERIA DEL SOFTWARE Paolo Salvaneschi D1_3 V3.4 UML Il contenuto del documento è liberamente utilizzabile dagli
DettagliUniversità di Bergamo Facoltà di Ingegneria INGEGNERIA DEL SOFTWARE. Paolo Salvaneschi B1_2 V2.3 UML
Università di Bergamo Facoltà di Ingegneria INGEGNERIA DEL SOFTWARE Paolo Salvaneschi B1_2 V2.3 UML Il contenuto del documento è liberamente utilizzabile dagli studenti, per studio personale e per supporto
DettagliLEZIONE 3 USE CASE DIAGRAM && ACTIVITY DIAGRAM
Istituto di Scienza e Tecnologie dell'informazione A. Faedo Software Engineering and Dependable Computing Laboratory LEZIONE 3 USE CASE DIAGRAM && ACTIVITY DIAGRAM Laboratorio di Ingegneria del Software
DettagliUnified Modeling Language (UML)
Unified Modeling Language (UML) Richiami dei diagrammi di base per l utilizzo nel corso di RPPI Rielaborazione delle slide proposte da M. Cossentino 1 Perchè usare la progettazione visuale? Mary Loomis,
DettagliLaboratorio 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
DettagliSOMMARIO DIAGRAMMI DI ATTIVITÀ INGEGNERIA DEL SOFTWARE. Introduzione. Concetti base. Introduzione. Concetti base
SOMMARIO INGEGNERIA DEL SOFTWARE Università degli Studi di Padova Dipartimento di Matematica Corso di Laurea in Informatica, A.A. 2012 2013 2 rcardin@math.unipd.it SOMMARIO 3 4 Analisi dei Requisiti, Specifica
DettagliCatia Trubiani. Laboratorio di Ingegneria del Software a.a
Università degli Studi dell Aquila Laboratorio di Ingegneria del Software a.a. 2013-2014 Catia Trubiani Dipartimento di Ingegneria e Scienze dell'informazione e Matematica (DISIM) - Università degli Studi
DettagliIngegneria 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
DettagliAUTOMA A STATI FINITI
Gli Automi Un Automa è un dispositivo, o un suo modello in forma di macchina sequenziale, creato per eseguire un particolare compito, che può trovarsi in diverse configurazioni più o meno complesse caratterizzate
DettagliUnified Modeling Language (UML)
Unified Modeling Language (UML) È una famiglia di notazioni grafiche che si basano su un singolo meta-modello Serve per definire, progettare, realizzare e documentare sistemi sw (in particolare quelli
DettagliIl Modello a scambio di messaggi
Il Modello a scambio di messaggi 1 Interazione nel modello a scambio di messaggi Se la macchina concorrente e` organizzata secondo il modello a scambio di messaggi: PROCESSO=PROCESSO PESANTE non vi è memoria
DettagliDescrivono 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
DettagliAntinisca Di Marco. Laboratorio di Ingegneria del Software a.a
Università degli Studi dell Aquila Laboratorio di Ingegneria del Software a.a. 2014-2015 Antinisca Di Marco Dipartimento di Ingegneria e Scienze dell'informazione e Matematica (DISIM) - Università degli
DettagliA.A ALLIEVI DEL III ANNO IN INGEGNERIA INFORMATICA
A.A. 2013-2014 ALLIEVI DEL III ANNO IN INGEGNERIA INFORMATICA PRIMA PARTE DEL PROGETTO DA PRESENTARE OBBLIGATORIAMENTE COME PROVA (NON ESCLUSIVA) D ESAME DELL INSEGNAMENTO INGEGNERIA DEL SOFTWARE (9 CFU)
DettagliLe classi in java. Un semplice programma java, formato da una sola classe, assume la seguente struttura:
Le classi in java Un semplice programma java, formato da una sola classe, assume la seguente struttura: class Domanda static void main(string args[]) System.out.println( Quanti anni hai? ); La classe dichiarata
DettagliCiclo di vita di un sistema informativo
Ciclo di vita di un sistema informativo Studio di fattibilità definisce le varie alternative possibili, i relativi costi e le priorità di realizzazione. Raccolta e analisi dei requisiti individua proprietà
DettagliSOMMARIO DIAGRAMMI DI ATTIVITÀ
SOMMARIO INGEGNERIA DEL SOFTWARE Università degli Studi di Padova Facoltà di Scienze MM. FF. NN. Corso di Laurea in Informatica, A.A. 2010 2011 2 ingegneria.software.math.unipd@gmail.com SOMMARIO 3 4 Analisi
DettagliProgettazione Logica e Modello Realizzativo
Progettazione Logica e Modello Realizzativo Metodologia di SI PREFERIBILMENTE ITERATIVA (1) Analisi dei Requisiti (Modello di Business): analisi di scenario, individuando i processi, gli attori coinvolti
DettagliCLASS DIAGRAM PARTE 1
Istituto di Scienza e Tecnologie dell'informazione A. Faedo Software Engineering Laboratory CLASS DIAGRAM PARTE 1 UML The Unified Modeling Language Guglielmo De Angelis guglielmo.deangelis@isti.cnr.it
DettagliUML2. Package di Analisi. Andrea Polini. Laboratorio di Ingegneria del Software Corso di Laurea in Informatica L-31 Università di Camerino
UML2 Package di Analisi Andrea Polini Laboratorio di Ingegneria del Software Corso di Laurea in Informatica L-31 Università di Camerino (Laboratorio di Ingegneria del Software) UML 2 Package di Analisi
DettagliFunzioni, Stack e Visibilità delle Variabili in C
Funzioni, Stack e Visibilità delle Variabili in C Laboratorio di Programmazione I Corso di Laurea in Informatica A.A. 2018/2019 Argomenti del Corso Ogni lezione consta di una spiegazione assistita da slide,
DettagliFondamenti di Informatica Laurea in Ingegneria Civile e Ingegneria per l ambiente e il territorio
Dipartimento di Ingegneria dell Informazione Università degli Studi di Parma Il problema di fondo Fondamenti di Informatica Laurea in Ingegneria Civile e Ingegneria per l ambiente e il territorio Algoritmi
DettagliUse Case Diagram. Catia Trubiani. Laboratorio di Ingegneria del Software a.a
Università degli Studi dell Aquila Laboratorio di Ingegneria del Software a.a. 2013-2014 Catia Trubiani Dipartimento di Ingegneria e Scienze dell'informazione e Matematica (DISIM)- Università degli Studi
DettagliVerifica Formale in Spin di WF-nets e Diagrammi delle Attività UML
Verifica Formale in Spin di WF-nets e Diagrammi delle Attività UML Seminario per il corso di Metodi Formali nell Ingegneria del Software Professore: Toni Mancini Autore: Stefano Menotti Obiettivi Principali
DettagliUML2. Attività di Progettazione. Andrea Polini. Laboratorio di Ingegneria del Software Corso di Laurea in Informatica L-31 Università di Camerino
UML2 Attività di Progettazione Andrea Polini Laboratorio di Ingegneria del Software Corso di Laurea in Informatica L-31 Università di Camerino (Laboratorio di Ingegneria del Software) UML 2 Attività di
DettagliVerifica parte IID. Test in grande. Test e modularità. Test di modulo
Test in grande Verifica parte IID Rif. Ghezzi et al. 6.3.5-6.3.6 Molte delle tecniche viste finora hanno alta complessità, o non sono automatizzabili. Possono quindi essere applicate solo a programmi piccoli,
DettagliProgettazione e pianificazione
Lezione 2: Modellazione concettuale Progettazione concettuale nel ciclo di vita di un SIT Il modello E/R Specifica vs Progettazione concettuale Integrazione di schemi Peculiarità dei SIT Modellare i dati
DettagliA. Lorenzi, A. Rizzi Java. Programmazione ad oggetti e applicazioni Android Istituto Italiano Edizioni Atlas
Classi e oggetti A. Lorenzi, A. Rizzi Java. Programmazione ad oggetti e applicazioni Android Istituto Italiano Edizioni Atlas Oggetti La programmazione orientata agli oggetti, OOP (Object-Oriented Programming),
DettagliFondamenti di Informatica e Programmazione
Fondamenti di Informatica e Programmazione Prof. G ianni D Angelo Email: giadangelo@unisa.it A. A. 2018/19 Dati e Basi di Dati 1/4 I dati sono importanti poiché costituiscono una risorsa aziendale La loro
DettagliAttività 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
DettagliFunzioni, Stack e Visibilità delle Variabili in C
Funzioni, Stack e Visibilità delle Variabili in C Programmazione I e Laboratorio Corso di Laurea in Informatica A.A. 2016/2017 Calendario delle lezioni Lez. 1 Lez. 2 Lez. 3 Lez. 4 Lez. 5 Lez. 6 Lez. 7
DettagliMicrosoft Access. Nozioni di base. Contatti: Dott.ssa Silvia Bonfanti
Microsoft Access Nozioni di base Contatti: Dott.ssa Silvia Bonfanti silvia.bonfanti@unibg.it Introduzione In questa lezione vedremo lo strumento Microsoft Access ed impareremo come realizzare con esso
DettagliSOMMARIO. DIAGRAMMI DEI CASI D USO INGEGNERIA DEL SOFTWARE Università degli Studi di Padova. Cosa sono gli Use Case. Specifica Use Case
SOMMARIO INGEGNERIA DEL SOFTWARE Università degli Studi di Padova Dipartimento di Matematica Corso di Laurea in Informatica, A.A. 2017 2018 Use Case: Inclusione Use Case: Estensione Use Case: Generalizzazione
DettagliINTRODUZIONE ALLA PROGETTAZIONE. Patrizio Dazzi a.a
INTRODUZIONE ALLA PROGETTAZIONE Patrizio Dazzi a.a. 2017-2018 COMUNICAZIONI Lezione odierna e successive Metodologia di progetto Progettazione concettuale Progettazione logica Fondamentali per il secondo
DettagliIntroduzione 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
DettagliCorso di Ingegneria del Software. Casi d uso
Corso di Ingegneria del Software a.a. 2009/2010 Mario Vacca mario.vacca1@istruzione.it 1. 2. 2.1 Il linguaggio dei casi d uso 2.2 Esempi 3. Bibliografia Sommario 1. 2. 2.1 Il linguaggio dei casi d uso
DettagliIl Dimensional Fact Model
Il Dimensional Fact Model Per le slides si ringrazia il Prof. Stefano Rizzi (http://www-db.deis.unibo.it/~srizzi/) e il Dott. Angelo Sironi Quale formalismo? Mentre è universalmente riconosciuto che un
DettagliModello Entità - Relazione. Basi di dati. Elena Baralis 2007 Politecnico di Torino D B M G D B M G2 D B M G4 D B M G6. Progettazione di basi di dati
di basi di dati Modello Entità-Relazione concettuale logica Normalizzazione Sistemi informativi D B M G D B M G2 Modello Entità-Relazione di basi di dati di basi di dati Entità e relazioni Attributi Identificatori
DettagliModelli di interazione tra processi
Modelli di interazione tra processi Modello a memoria comune (ambiente globale, global environment) Modello a scambio di messaggi (ambiente locale, message passing) 1 Modello a memoria comune Il sistema
DettagliFondamenti di Informatica II 21. Standard UML
Premessa In questa lezione sono descritte importanti dello standard UML alcune caratteristiche piu Fondamenti di Informatica II 21. Standard UML Lo standard UML verrà trattato in maniera piu approfondita
DettagliPaolo Bison. Fondamenti di Informatica A.A. 2006/07 Università di Padova
Introduzione ai sottoprogrammi Paolo Bison Fondamenti di Informatica A.A. 2006/07 Università di Padova Introduzione al corso, Paolo Bison, FI06, 2007-02-06 p.1 Struttura programma formato da vari elementi
DettagliCorso di Ingegneria del Software. Esempi di casi d uso
Corso di Ingegneria del Software a.a. 2009/2010 Mario Vacca mario.vacca1@istruzione.it Casi d uso Sommario 1. 2. 3. Casi d uso e specifica dei requisiti 4. Esempio: sistema iscrizione ed esami 5. Bibliografia
DettagliFondamenti di Informatica
Premessa In questa lezione sono descritte alcune caratteristiche piu importanti dello standard UML Fondamenti di Informatica 24. Standard UML Lo standard UML verrà trattato in maniera piu approfondita
DettagliModello a scambio di messaggi
Modello a scambio di messaggi Aspetti caratterizzanti il modello Canali di comunicazione Primitive di comunicazione 1 Aspetti caratterizzanti il modello modello architetturale di macchina (virtuale) concorrente
DettagliProgramma operativo Regione Lombardia/Ministero del Lavoro/Fondo Sociale Europeo, Obiettivo 3 Misura C3
Programma operativo Regione Lombardia/Ministero del Lavoro/Fondo Sociale Europeo, Obiettivo 3 Misura C3 Progetto ID 24063 Moduli e contenuti professionalizzanti inseriti nei corsi di laurea e diplomi universitari
DettagliRelazioni tra le classi e rappresentazione mediante diagrammi delle classi UML. Relazioni tra le classi Ereditarietà (is a)...
Sommario Relazioni tra le classi... 2 Ereditarietà (is a)... 2 Associazione (has a)... 2 Composizione... 2 Aggregazione... 2 Dipendenza (using)... 3 Unified Modeling Language (UML)... 3 Diagramma delle
DettagliSOMMARIO DIAGRAMMI DELLE CLASSI E DEGLI OGGETTI INGEGNERIA DEL SOFTWARE. Introduzione. Proprietà e Operazioni. Proprietà e Operazioni
SOMMARIO Introduzione Proprietà e Operazioni DIAGRAMMI DELLE CLASSI E DEGLI OGGETTI INGEGNERIA DEL SOFTWARE Università degli Studi di Padova Facoltà di Scienze MM. FF. NN. Corso di Laurea in Informatica,
DettagliSistemi informativi D B M G
Sistemi informativi D B M G Progettazione di basi di dati Modello Entità-Relazione Progettazione concettuale Progettazione logica Normalizzazione D B M G 2 Modello Entità-Relazione Ciclo di vita di un
DettagliProgrammazione 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
DettagliIntroduzione ai casi d uso
Introduzione ai casi d uso versione 16 marzo 2009 http://www.analisi-disegno.com Introduzione ai casi d uso Pag. 1 Obiettivo di questa introduzione fornire elementi di base sui casi d uso fornire indicazioni
DettagliLEZIONE 7 STATE MACHINE DIAGRAM
Istituto di Scienza e Tecnologie dell'informazione A. Faedo Software Engineering and Dependable Computing Laboratory LEZIONE 7 STATE MACHINE DIAGRAM Laboratorio di Ingegneria del Software Guglielmo De
DettagliIngegneria 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
DettagliSomma 3-bit. somma 3-bit con I/O sequenziale. somma 3-bit con I/O sequenziale. Osservazione
RETI COMBINATORIE In una rete combinatoria l uscita è funzione dei soli ingressi u = f () ADDIZIONATORE PARALLELO Addizionatore parallelo (a propagazione di riporto - ripple carry) per numeri binari di
DettagliA. Ferrari Object Oriented Design
Object Oriented Design UML class diagram cos è UML o è un linguaggio di progettazione, da non confondere con i linguaggi di programmazione (Python, C, C++, Java, ) o fornisce una serie di diagrammi per
DettagliUnità A2. Progettazione concettuale. Obiettivi. Astrazione. Astrazione per aggregazione
Obiettivi Unità A2 Progettazione concettuale Imparare ad astrarre i dati per definire entità. Saper distinguere tra astrazione per classificazione, per aggregazione e per generalizzazione. Saper distinguere
DettagliD B M G D B M G 2. Sistemi informativi. Progettazione di basi di dati
Sistemi informativi D B M G Progettazione di basi di dati Modello Entità-Relazione Progettazione concettuale Progettazione logica Normalizzazione D B M G 2 1 Progettazione di basi di dati D B M G Modello
DettagliIngegneria del Software 3. Analisi dei requisiti. Dipartimento di Informatica Università di Pisa A.A. 2014/15
Ingegneria del Software 3. Analisi dei requisiti Dipartimento di Informatica Università di Pisa A.A. 2014/15 l attività di analisi Studiare e definire il problema da risolvere Per identificare il prodotto
DettagliAnalisi Orientata agli Oggetti
Generalità Concetti di base: Oggetto, Classe, Attributo, Operazione, Associazione, Aggregazione, Generalizzazione, Ereditarietà Il Diagramma delle Classi: notazione UML 1 Generalità Approccio all analisi
DettagliProgramma operativo Regione Lombardia/Ministero del Lavoro/Fondo Sociale Europeo, Obiettivo 3 Misura C3
Programma operativo Regione Lombardia/Ministero del Lavoro/Fondo Sociale Europeo, Obiettivo 3 Misura C3 Progetto ID 24063 Moduli e contenuti professionalizzanti inseriti nei corsi di laurea e diplomi universitari
DettagliUniversità di Bergamo Dip. di Ingegneria gestionale, dell'informazione e della produzione INGEGNERIA DEL SOFTWARE. Paolo Salvaneschi D1_2 V3.
Università di Bergamo Dip. di Ingegneria gestionale, dell'informazione e della produzione INGEGNERIA DEL SOFTWARE Paolo Salvaneschi D1_2 V3.4 Reti di Petri Il contenuto del documento è liberamente utilizzabile
DettagliDISPENSE DI PROGRAMMAZIONE LINGUAGGI A TIPIZZAZIONE FORTE: IL COSTRUTTO DI TIPO. TIPI SEMPLICI: TIPI PRE-DEFINITI E TIPI DEFINITI DAL PROGRAMMATORE.
DISPENSE DI PROGRAMMAZIONE Modulo 3 Linguaggi di programmazione: dati e controllo (Parte I) LINGUAGGI A TIPIZZAZIONE FORTE: IL COSTRUTTO DI TIPO. TIPI SEMPLICI: TIPI PRE-DEFINITI E TIPI DEFINITI DAL PROGRAMMATORE.
DettagliPrincipi di Progettazione del Software a.a
Principi di Progettazione del Software a.a. 2016-2017 UML: approfondimenti sui diagrammi delle classi e di sequenza. Diagrammi di package e di deployment Prof. Università del Salento Obiettivi della lezione
Dettagli