La Modellazione del Sistema: viste dinamiche e comportamentali. P Tramontana Modelli di sistema- Introduzione a UML Slide 1
|
|
- Marcellino Rocco
- 6 anni fa
- Visualizzazioni
Transcript
1 La Modellazione del Sistema: viste dinamiche e comportamentali P Tramontana Modelli di sistema- Introduzione a UML Slide 1
2 Riferimenti Martin Fowler, UML Distilled, capitoli 4 (sequence diagram), 10 (statechart diagram), 11 (activity diagram), 12 (communication diagram), 16 (interaction overview diagram), 17 (time diagram) Porfirio Tramontana Ingegneria del Software UML parte 2 - Viste dinamiche e comportamentali 2 P Tramontana Modelli di sistema- Introduzione a UML Slide 2
3 Diagrammi comportamentali A completamento di quelli strutturali, modellano il comportamento dinamico di un sistema (o di un problema da analizzare) Use case diagram Statechart diagram Activity Diagrams Interaction diagrams Porfirio Tramontana Ingegneria del Software UML parte 2 - Viste dinamiche e comportamentali 3 P Tramontana Modelli di sistema- Introduzione a UML Slide 3
4 Diagrammi di Interazione I diagrammi di Interazione sono usati per modellare gli aspetti dinamici di un sistema software, evidenziando in particolare le interazioni tra gli elementi che li compongono (e che sono stati descritti nei diagrammi strutturali) Ci sono quattro tipi di diagrammi di interazione : Sequence diagrams Communication diagrams in UML 1 erano chiamati collaboration diagrams Interaction Overview Diagrams Timing Diagrams I diagrammi di interazione appartengono alla famiglia dei Behaviour Diagram Porfirio Tramontana Ingegneria del Software UML parte 2 - Viste dinamiche e comportamentali 4 P Tramontana Modelli di sistema- Introduzione a UML Slide 4
5 Sequence Diagrams Rappresentano il tipo di diagramma di interazione largamente più utilizzato In generale, un sequence diagram modella le interazioni tra uno o più attori e il sistema software, nell ambito dell esecuzione di uno scenario di esecuzione Le interazioni tra attori e sistema e tra le varie parti del sistema sono modellate in forma di messaggi, così come prevede il paradigma object-oriented Porfirio Tramontana Ingegneria del Software UML parte 2 - Viste dinamiche e comportamentali 5 P Tramontana Modelli di sistema- Introduzione a UML Slide 5
6 Sequence diagrams: esempio Porfirio Tramontana Ingegneria del Software UML parte 2 - Viste dinamiche e comportamentali 6 P Tramontana Modelli di sistema- Introduzione a UML Slide 6
7 Sequence diagram: elementi Istanze di classi Rappresentate da rettangoli col nome della classe e l identificatore dell oggetto sottolineati (notazione UML 1) oppure semplicemente con un nome dal quale si evinca che si sta considerando un istanza della classe (ad esempio anorder oppure aproduct) Attori Rappresentati come negli use case diagrams Sono riportati sulla sinistra, con frecce di interazione verso oggetti del sistema Possono anche non essere riportati, nel caso in cui lo scenario venga avviato a sua volta da un altro scenario Messaggi Rappresentati come frecce da un attore ad un oggetto, o fra due oggetti. I messaggi di ritorno (se riportati) hanno una linea tratteggiata I messaggi sincroni terminano con una freccia triangolare piena I messaggi asincroni terminano con una freccia semplice Un messaggio può anche insistere all interno di uno stesso oggetto: in tal caso è indicato da un autonello L ordine dei messaggi (dall alto verso il basso) ricalca l ordine sequenziale con il quale vengono scambiati Porfirio Tramontana Ingegneria del Software UML parte 2 - Viste dinamiche e comportamentali 7 P Tramontana Modelli di sistema- Introduzione a UML Slide 7
8 Sequence diagrams Porfirio Tramontana Ingegneria del Software UML parte 2 - Viste dinamiche e comportamentali 8 P Tramontana Modelli di sistema- Introduzione a UML Slide 8
9 Lifelines e barre di attivazione Lifelines (linee di vita) Si tratta di linee tratteggiate verticali, che partono dal rettangolo rappresentativo dell oggetto e giungono fino al fondo del diagramma. Indicano il periodo temporale di vita dell oggetto, dalla sua costruzione alla sua distruzione Le linee di vita di oggetti staticamente definiti (static) partono dalla cima del diagramma Una richiesta al costruttore può creare un oggetto: in questo caso l oggetto viene disegnato al termine della freccia corrispondente al messaggio di creazione La distruzione di oggetti è indicata da una croce (ics) che interrompe la lifeline dell oggetto Activation box (Barra di attivazione ) E rappresentata da un rettangolo che copre una parte della lifeline di un oggetto cui giunge un messaggio Rappresenta idealmente il periodo di tempo necessario per elaborare la richiesta giunta all oggetto Porfirio Tramontana Ingegneria del Software UML parte 2 - Viste dinamiche e comportamentali 9 P Tramontana Modelli di sistema- Introduzione a UML Slide 9
10 Sequence diagram: campo di applicazione I sequence diagram sono utilizzati in diverse fasi del ciclo di vita di un software In fase di analisi, un sequence diagram può essere una rappresentazione grafica di uno scenario di un caso d uso In questo caso, il ruolo di oggetti sarà mantenuto da un generico oggetto Sistema Potranno comparire altri oggetti (indicanti ad esempio alcuni componenti architetturali quali server, database, etc.) se essi rappresentano elementi vincolati Porfirio Tramontana Ingegneria del Software UML parte 2 - Viste dinamiche e comportamentali 10 P Tramontana Modelli di sistema- Introduzione a UML Slide 10
11 Esempio: Sequence diagram a livello di analisi Porfirio Tramontana Ingegneria del Software UML parte 2 - Viste dinamiche e comportamentali 11 P Tramontana Modelli di sistema- Introduzione a UML Slide 11
12 Sequence diagram: campo di applicazione In fase di progettazione di alto livello i sequence diagram descrivono ancora scenari di casi d uso ma Come oggetti compaiono istanze delle classi del dominio del problema Come messaggi compaiono le responsabilità e le operazioni stabilite dal class diagram di dominio del problema Non compaiono, invece, elementi architetturali (database, etc.) Porfirio Tramontana Ingegneria del Software UML parte 2 - Viste dinamiche e comportamentali 12 P Tramontana Modelli di sistema- Introduzione a UML Slide 12
13 Sequence diagram: un esempio :CourseSection :Student requesttoregister :Registration <<create>> addtoschedule addtoregistrationlist Course getprerequisite * CourseSection * Registration * requesttoregister addtoregistrationlist Student addtoschedule haspassedcourse Porfirio Tramontana Ingegneria del Software UML parte 2 - Viste dinamiche e comportamentali 13 P Tramontana Modelli di sistema- Introduzione a UML Slide 13
14 Sequence diagram: campo di applicazione In fase di progettazione di dettaglio i sequence diagram descrivono realizzazioni di metodi Come oggetti compaiono istanze delle classi di progetto di dettaglio Come messaggi compaiono le chiamate di metodo sugli oggetti Al posto degli elementi architetturali dovrebbero comparire oggetti delle classi che ne consentono l accesso (ad esempio, anzichè database potrebbe comparire l oggetto JDBC sul quale si effettuano le query) Per la descrizione di algoritmi, i sequence diagram non sono lo strumento più adatto: ad essi verranno spesso preferiti activity e statechart diagrams Porfirio Tramontana Ingegneria del Software UML parte 2 - Viste dinamiche e comportamentali 14 P Tramontana Modelli di sistema- Introduzione a UML Slide 14
15 Sequence diagrams: esempio Porfirio Tramontana Ingegneria del Software UML parte 2 - Viste dinamiche e comportamentali 15 P Tramontana Modelli di sistema- Introduzione a UML Slide 15
16 Controllo centralizzato e distribuito Due diversi paradigmi per la progettazione, applicati ai sequence diagram Centralizzato: un oggetto ha il controllo; gli altri forniscono servizi Distribuito: le responsabilità sono distribuite tra gli oggetti Porfirio Tramontana Ingegneria del Software UML parte 2 - Viste dinamiche e comportamentali 16 P Tramontana Modelli di sistema- Introduzione a UML Slide 16
17 Sequence diagram: elementi Un sequence diagram dovrebbe servire per modellare uno e un solo scenario di caso d uso C è il rischio di dover disegnare moltissimi diagrammi, uno per ogni scenario alternativo A partire da UML 2, sono stati proposti e formalizzati costrutti che consentono di modellare cicli e condizioni, in modo da poter visualizzare algoritmi in un sequence diagram Porfirio Tramontana Ingegneria del Software UML parte 2 - Viste dinamiche e comportamentali 17 P Tramontana Modelli di sistema- Introduzione a UML Slide 17
18 Sequence diagram: cicli e condizioni Cicli e condizioni si indicano con un riquadro (frame) che racchiude una sottosequenza di messaggi Nell angolo in alto è indicato il costrutto. Tra i costrutti possibili Loop (ciclo while-do o do-while): la condizione è indicata tra parentesi quadra all inizio o alla fine Alt (if-then-else): la condizione si indica in cima; se ci sono anche dei rami else allora si usa una linea tratteggiata per separare la zona then dalla zona else indicando eventualmente un altra condizione accanto alla parola else Opt (if-then): racchiude una sottosequenza che viene eseguita solo se la condizione indicata in cima è verificata Sono possibili anche altri costrutti per indicare parallelismo, regioni critiche, etc. In realtà, è buona norma utilizzare altri tipi di diagramma quando l algoritmo da modellare si fa complesso Porfirio Tramontana Ingegneria del Software UML parte 2 - Viste dinamiche e comportamentali 18 P Tramontana Modelli di sistema- Introduzione a UML Slide 18
19 Sequence diagrams: esempio Questa notazione é stata introdotta con UML versione 2 Porfirio Tramontana Ingegneria del Software UML parte 2 - Viste dinamiche e comportamentali 19 P Tramontana Modelli di sistema- Introduzione a UML Slide 19
20 Esempio: azienda alimentare Una azienda produttrice di prodotti alimentari, vuole organizzare un sistema informativo aziendale. Tutti gli utenti dell applicazione devono essere in grado di visualizzare informazioni relative al catalogo dei prodotti. Inoltre i dipendenti devono essere in grado di accedere ad informazioni relative alle loro mansioni. I prodotti sono organizzati in linee di prodotto che accomunano prodotti dello stesso tipo: ad esempio, due linee possono essere pasta e sughi. I prodotti possono essere confezionati in diversi stabilimenti. I dipendenti si suddividono in diverse categorie: i manager, che sono responsabili di una o più linee di produzione (ogni linea é però gestita esattamente da tre manager, per assicurare una gestione equa), i supervisori della produzione che sono responsabili di tutti i prodotti di una specifica linea in uno specifico stabilimento, e gli operai che lavorano su uno specifico prodotto in un determinato stabilimento. L applicazione deve consentire ai manager di accedere alle informazioni relative ai dipendenti di cui sono responsabili, e a tutti di accedere alle informazioni sui prodotti. Il supervisore invia ogni anno una mail di auguri di Pasqua a tutti gli operai e i manager che lavorano nello stabilimento che contiene la linea di prodotto di cui è responsabile All apertura di una nuova linea di prodotto in uno stabilimento, il supervisore stabilisce tre manager che la gestiscano tra quelli già presenti in azienda. Se non vi sono abbastanza manager disponibili, provvede ad assumerne di nuovi Porfirio Tramontana Ingegneria del Software UML parte 2 - Viste dinamiche e comportamentali 20 P Tramontana Modelli di sistema- Introduzione a UML Slide 20
21 System Domain Model Stabilimento Operaio 1..* 1..* Assegnazione Supervisore 1..* Prodotto * 1..* Linea di Prodotto 1..* Responsabilità Catalogo -Visualizza info prodotti() 3 +Responsabile Manager --Leggi Info dipendenti() Dipendente --Visualizza Mansione() Porfirio Tramontana Ingegneria del Software UML parte 2 - Viste dinamiche e comportamentali 21 P Tramontana Modelli di sistema- Introduzione a UML Slide 21
22 Sequence diagram Invia mail : Stabilimento : Operaio : Linea di Prodotto : Manager : Supervisore : Supervisore 1 : Elenca operai() loop [For each operaio] 2 : Leggi operaio() : Elenca Manager() loop [3] 6 : Leggi Manager() : Invia mail() 10 Porfirio Tramontana Ingegneria del Software UML parte 2 - Viste dinamiche e comportamentali 22 P Tramontana Modelli di sistema- Introduzione a UML Slide 22
23 Communication diagrams I Communication diagram mostrano come gli oggetti collaborano per realizzare un interazione. Un communication diagram è un grafo i cui vertici sono oggetti e cui archi rappresentano link di comunicazione fra oggetti L ordinamento temporale è indicato facendo precedere il messaggio da un numero di sequenza Per le chiamate innestate si utilizza una dot notation Sono anche noti come Collaboration Diagram Porfirio Tramontana Ingegneria del Software UML parte 2 - Viste dinamiche e comportamentali 23 P Tramontana Modelli di sistema- Introduzione a UML Slide 23
24 Communication Diagram: esempio Porfirio Tramontana Ingegneria del Software UML parte 2 - Viste dinamiche e comportamentali 24 P Tramontana Modelli di sistema- Introduzione a UML Slide 24
25 Altro esempio :CourseSection 1: <<create>> :Registration 2: addtoschedule :Student 3: addtoregistrationlist Porfirio Tramontana Ingegneria del Software UML parte 2 - Viste dinamiche e comportamentali 25 P Tramontana Modelli di sistema- Introduzione a UML Slide 25
26 Confronti con altri diagrammi In un communication diagram dovrebbero comparire gli stessi elementi di un sequence diagram (la conversione automatica è possibile) Non bisogna confondere communication diagram e object diagram Negli object diagram gli archi rappresentano relazioni statiche tra gli oggetti Non compaiono oggetti temporanei Non ci sono informazioni sulla sequenzialità delle chiamate Porfirio Tramontana Ingegneria del Software UML parte 2 - Viste dinamiche e comportamentali 26 P Tramontana Modelli di sistema- Introduzione a UML Slide 26
27 Diagrammi di Stato Un diagramma di stato descrive il comportamento di un sistema, una parte di un sistema, o di un oggetto specifico. In un dato istante, il sistema o l oggetto sono in un certo stato. Essere in uno stato significa che esso si comporterà in uno specifico modo in risposta a qualche evento che si verificherà. Alcuni eventi possono far cambiare stato al sistema. Nel nuovo stato, di fronte agli eventi il sistema si comporterà diversamente. Un diagramma di stato è un grafo diretto dove i nodi sono gli stati e gli archi sono le transizioni. Porfirio Tramontana Ingegneria del Software UML parte 2 - Viste dinamiche e comportamentali 27 P Tramontana Modelli di sistema- Introduzione a UML Slide 27
28 Esempio: oggetto Libro stato iniziale acquisizione libro( dati libro, autori, editore ) evento transizione di stato stato acquisito prestito( data ) in prestito restituzione( data restituzione ) scadenza termini cancellazione libro( ISDN ) stato finale restituzione( data restituzione ) sollecito in ritardo cancellazione libro( ISDN ) Porfirio Tramontana Ingegneria del Software UML parte 2 - Viste dinamiche e comportamentali 28 P Tramontana Modelli di sistema- Introduzione a UML Slide 28
29 Stati Uno stato è rappresentato da un rettangolo arrotondato con il suo nome In un dato istante, uno e un solo stato del diagramma può verificarsi Tutti gli stati sono considerati stabili: solo un evento può causare la transizione da uno stato all altro Stati speciali (pseudostati): Lo stato iniziale (non può essere raggiunto) Lo stato finale (non può essere lasciato) Porfirio Tramontana Ingegneria del Software UML parte 2 - Viste dinamiche e comportamentali 29 P Tramontana Modelli di sistema- Introduzione a UML Slide 29
30 Transizioni Una transizione è un cambiamento di stato in risposta ad un evento È considerata istantanea. Viene etichettata con la sintassi: Evento trigger [guardia] / attività Evento trigger è l evento che scatena la transizione; Guardia è una condizione booleana ulteriore che deve essere verificata affinchè possa scatenarsi la transizione Attività è una azione elaborativa che si verifica contestualmente con la transizione Abbinare attività alle transizioni è l elemento caratterizzante delle macchine di Mealy Porfirio Tramontana Ingegneria del Software UML parte 2 - Viste dinamiche e comportamentali 30 P Tramontana Modelli di sistema- Introduzione a UML Slide 30
31 Esempio Avvia distributore/azzera credito Inserimento moneta [credito+moneta<2 euro]/ Incrementa credito Richiesta restituzione/restituisci e decrementa credito Attesa Spegni distributore/restituisci e decrementa credito Richiesta restituzione/restituisci e decrementa credito Inserimento moneta [credito+moneta>=2 euro]/incrementa credito Inserimento moneta/incrementa credito Erogazione avvenuta [credito<4 euro]/decrementa credito Attesa scelta prodotto Time Out per erogazione fallita Scelta prodotto 2 euro Erogazione avvenuta [credito>=4 euro]/decrementa credito Statechart diagram di un distributore automatico. Il distributore eroga prodotti del costo di 2 euro. Il distributore accetta diversi tipi di monete. Erogazione Prodotto Porfirio Tramontana Ingegneria del Software UML parte 2 - Viste dinamiche e comportamentali 31 P Tramontana Modelli di sistema- Introduzione a UML Slide 31
32 Attività interne Spesso le auto-transizioni sono indicate come attività interne All interno dello stato vengono descritti eventi, trigger e attività Attesa entry/azzera credito do/inserimento moneta [credito<2euro] / Incrementa credito do/richiesta restituzione/restituisci credito e decrementa exit/... Entry identifica le attività che si svolgono all ingresso nello stato Exit identifica le attività che si svolgono all uscita dallo stato Porfirio Tramontana Ingegneria del Software UML parte 2 - Viste dinamiche e comportamentali 32 P Tramontana Modelli di sistema- Introduzione a UML Slide 32
33 Activity State Talvolta gli stati non corrispondono a periodi in cui l oggetto è in attesa inerte di un evento ma a periodi di tempo necessari al completamento di un attività In tal caso si parla di Activity State Tale modellazione è coerente con quella di una macchina di Moore, nella quale le azioni sono legate agli stati Porfirio Tramontana Ingegneria del Software UML parte 2 - Viste dinamiche e comportamentali 33 P Tramontana Modelli di sistema- Introduzione a UML Slide 33
34 Esempio di Activity State Lo stato In Ricerca è un Activity State L arco di uscita dallo stato non etichettato indica l uscita per terminazione dell attività Cerca nuovo hardware è una descrizione più precisa dell attività dell activity state Non essendoci una guardia, è l unica attività che può essere eseguita da quello stato Il concetto di Activity State è molto simile al concetto di attività che verrà definito nell ambito degli Activity Diagram Aggiorna finestra dell'hardware Lancia Ricerca In Ricerca Visualizza finestra nuovo hardware do/cerca nuovo hardaware Annulla Ricerca Porfirio Tramontana Ingegneria del Software UML parte 2 - Viste dinamiche e comportamentali 34 P Tramontana Modelli di sistema- Introduzione a UML Slide 34
35 Attività e Azioni UML 1 distingueva tra Azioni ed Attività Un azione veniva svolta in un tempo trascurabile ed era comunque non interrompibile, per cui poteva essere associata ad una transizione di stato Un attività invece richiedeva un tempo significativo, nel quale potevano verificarsi altri eventi che la interrompevano o influenzavano Per tale motivo andava modellata come Activity State Porfirio Tramontana Ingegneria del Software UML parte 2 - Viste dinamiche e comportamentali 35 P Tramontana Modelli di sistema- Introduzione a UML Slide 35
36 Superstati Un diagramma di stato può essere innestato all interno di uno stato. Gli stati del diagramma interno sono detti sotto-stati. Gli archi possono essere diretti verso il superstato (e in tal caso si intende che siano diretti verso il suo stato iniziale) o verso un suo sottostato Neutral selectreverse selectneutral selectfirst selectdrive selectsecond selectneutral Reverse reachsecondspeed reachthirdspeed [driveselected] [driveselected] First Second Third dropbelowsecondspeed dropbelowthirdspeed [driveselected] selectfirst selectsecond Porfirio Tramontana Ingegneria del Software UML parte 2 - Viste dinamiche e comportamentali 36 P Tramontana Modelli di sistema- Introduzione a UML Slide 36
37 Implementazione degli statechart Uno statechart a livello di dettaglio può essere implementato utilizzando una catena di switch nidificati Switch (statocorrente) { Case stato1: Switch (unevento) Case evento1: if (guardia1) azioneevento1; Break; Case stato2 } Porfirio Tramontana Ingegneria del Software UML parte 2 - Viste dinamiche e comportamentali 37 P Tramontana Modelli di sistema- Introduzione a UML Slide 37
38 Pattern State Una soluzione più efficace in sistemi object oriented consiste nell utilizzo del pattern State Lo statechart viene tradotto con: Una classe generale che dichiara i metodi corrispondenti a tutte le azioni ma li implementa senza fare nulla Una serie di classi derivate, corrispondenti agli stati del diagramma, che implementano soltanto i metodi corrispondenti agli eventi scatenabili su quello stato (per overriding) Porfirio Tramontana Ingegneria del Software UML parte 2 - Viste dinamiche e comportamentali 38 P Tramontana Modelli di sistema- Introduzione a UML Slide 38
39 Applicabilità Gli statechart diagrams sono utili quando si vuole modellare il comportamento di una classe complessa Nella modellazione di dettaglio, gli statechart diagram possono essere implementati efficacemente utilizzando il pattern State Porfirio Tramontana Ingegneria del Software UML parte 2 - Viste dinamiche e comportamentali 39 P Tramontana Modelli di sistema- Introduzione a UML Slide 39
40 Activity Diagrams Un activity diagram Può essere usato per modellare un flusso di lavoro (workflow) In fase di analisi può essere utilizzato per modellare un problema reale In fase di progettazione di alto livello per modellare l interazione tra gli oggetti concettuali nella risoluzione di un problema In fase di progettazione di dettaglio può essere usata per modellare un algoritmo, eventualmente concorrente, che deve essere implementato Un activity diagram rappresenta un estensione di un diagramma di flusso, con l introduzione, in particolare, delle esecuzioni concorrenti Un activity diagram nasce, nell ambito di UML, come una estensione dello statechart diagram Nelle ultime versioni se ne è, però, completamente distaccato, per cui ha senso studiarlo separatamente Porfirio Tramontana Ingegneria del Software UML parte 2 - Viste dinamiche e comportamentali 40 P Tramontana Modelli di sistema- Introduzione a UML Slide 40
41 Attività e flussi Le attività sono definite come azioni elaborative che il sistema deve compiere e sono modellate con rettangoli dai bordi arrotondati identificate dal nome dell attività stessa Il flusso tra le attività è modellato con frecce entranti/uscenti dall attività Per convenzione, l ingresso nell attività coincide con il suo inizio; l uscita dall attività coincide con il suo completamento Esistono anche qui degli stati iniziali e finali delimitanti il diagramma Porfirio Tramontana Ingegneria del Software UML parte 2 - Viste dinamiche e comportamentali 41 P Tramontana Modelli di sistema- Introduzione a UML Slide 41
42 Branch Il branch è una attività di decisione Corrisponde ad un IF È modellata con un rombo che abbia un solo arco entrante e più di un arco uscente Ogni arco uscente è etichettato con una condizione di guardia (tra parentesi quadre) Le condizioni devono essere tra loro mutuamente esclusive Il merge è l elemento duale del branch Corrisponde ad un END IF E anch esso modellato con un rombo, ma con un solo arco uscente e più di un arco entrante Porfirio Tramontana Ingegneria del Software UML parte 2 - Viste dinamiche e comportamentali 42 P Tramontana Modelli di sistema- Introduzione a UML Slide 42
43 Fork e Join Il fork rappresenta una biforcazione del flusso in due o più thread E rappresentato con una barra orizzontale nella quale entra un solo arco e ne esce più di uno Gli archi uscenti non sono etichettati e si intende che altrettanti thread siano avviati contemporaneamente a seguito della biforcazione Il join è il duale del fork E rappresentato anch esso da una barra orizzontale nella quale entra più di un arco e ne esce uno solo Fork e Join corrispondono esattamente alle omonime primitive concettuali della programmazione concorrente Porfirio Tramontana Ingegneria del Software UML parte 2 - Viste dinamiche e comportamentali 43 P Tramontana Modelli di sistema- Introduzione a UML Slide 43
44 Activity diagrams: esempio Porfirio Tramontana Ingegneria del Software UML parte 2 - Viste dinamiche e comportamentali 44 P Tramontana Modelli di sistema- Introduzione a UML Slide 44
45 Activity diagrams esempio Receive course registration request [not ok] Check prerequisites Check special permission [ok] [ok] [ok] Verify course not full [not ok] [not ok] Complete registration Porfirio Tramontana Ingegneria del Software UML parte 2 - Viste dinamiche e comportamentali 45 P Tramontana Modelli di sistema- Introduzione a UML Slide 45
46 Swimlanes Gli activity diagram possono essere utilizzati per modellare interazioni tra classi diverse L activity diagram è suddiviso in corsie verticali (swimlanes), in ognuna delle quali trovano posto le activity che si riferiscono ad una particolare classe [not ok] Check prerequisites Check special permission [not ok] Student [ok] [ok] Receive course registration request Verify course not full [ok] CourseSection [not ok] Complete registration Porfirio Tramontana Ingegneria del Software UML parte 2 - Viste dinamiche e comportamentali 46 P Tramontana Modelli di sistema- Introduzione a UML Slide 46
47 Macroattività Il limite degli activity diagram è probabilmente la descrizione troppo dettagliata dei problemi. Per poter supportare diversi livelli di astrazione, è possibile racchiudere attività complesse in attività generiche, e dettagliarle separatamente in altri grafici Porfirio Tramontana Ingegneria del Software UML parte 2 - Viste dinamiche e comportamentali 47 P Tramontana Modelli di sistema- Introduzione a UML Slide 47
48 Segnali Negli activity diagram non compaiono esplicitamente eventi, a differenza degli statechart diagram Per compensare tale mancanza, sono stati introdotti i segnali Un segnale indica un qualsiasi evento asincrono esterno che influenza l esecuzione di un activity Caso tipico è rappresentato dai segnali temporali Simboli diversi indicano Segnali inviati (send) Segnali ricevuti (receive) Segnali temporali (timer) Porfirio Tramontana Ingegneria del Software UML parte 2 - Viste dinamiche e comportamentali 48 P Tramontana Modelli di sistema- Introduzione a UML Slide 48
49 Esempi Porfirio Tramontana Ingegneria del Software UML parte 2 - Viste dinamiche e comportamentali 49 P Tramontana Modelli di sistema- Introduzione a UML Slide 49
50 Altri elementi Altri elementi minori possono trovarsi negli activity diagram Pin, utilizzati per dichiarare esplicitamente i dati in ingresso/uscita da un attività Regioni di espansione, analoghe ai frame dei sequence diagram, che indicano che le attività al loro interno sono eseguite tante volte quante ne sono indicate nella guardia che li etichetta Specifiche di join, ovvero condizioni di guardia che determinano l effettiva esecuzione di un join Cfr. UML Distilled per approfondimenti Porfirio Tramontana Ingegneria del Software UML parte 2 - Viste dinamiche e comportamentali 50 P Tramontana Modelli di sistema- Introduzione a UML Slide 50
51 Interaction overview diagrams Rappresentano una fusione di sequence diagram e activity diagram Fondono i vantaggi dei sequence diagram (rappresentazione più orientata alla descrizione degli scenari dei casi d uso) e degli activity diagram (rappresentazione più orientata alla descrizione di algoritmi, eventualmente concorrenti) Porfirio Tramontana Ingegneria del Software UML parte 2 - Viste dinamiche e comportamentali 51 P Tramontana Modelli di sistema- Introduzione a UML Slide 51
52 Interaction overview diagram: un esempio Porfirio Tramontana Ingegneria del Software UML parte 2 - Viste dinamiche e comportamentali 52 P Tramontana Modelli di sistema- Introduzione a UML Slide 52
53 Timing diagrams Sono un ulteriore strumento per modellare oggetti il cui comportamento dipende da esecuzioni concorrenti Porfirio Tramontana Ingegneria del Software UML parte 2 - Viste dinamiche e comportamentali 53 P Tramontana Modelli di sistema- Introduzione a UML Slide 53
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
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.
DettagliAvete 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à
DettagliSOMMARIO DIAGRAMMI DI SEQUENZA
SOMMARIO DIAGRAMMI DI SEQUENZA INGEGNERIA DEL SOFTWARE Università degli Studi di Padova Facoltà di Scienze MM. FF. NN. Corso di Laurea in Informatica, A.A. 2011 2012 2 rcardin@math.unipd.it SOMMARIO DIAGRAMMI
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
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
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
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
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
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 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
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
DettagliUML. 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
DettagliIntroduzione alla programmazione
Introduzione alla programmazione Risolvere un problema Per risolvere un problema si procede innanzitutto all individuazione Delle informazioni, dei dati noti Dei risultati desiderati Il secondo passo consiste
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
DettagliDiagrammi di attività
Diagrammi di attività Combinano idee tratte da molte tecniche diverse (diagrammi degli eventi, modellazione di stato SDL, modellazione di workflow, reti di Petri) Costituiscono un argomento complesso (e
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
DettagliUML: DIAGRAMMA DI SEQUENZA
UML: DIAGRAMMA DI SEQUENZA UC n. 4: Basi di dati andrea.reale@unibo.it 2 UML e diagrammi di interazione Abbiamo visto il diagramma delle classi in UML Utilizzato per rappresentare strutturalmente il dominio
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
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
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
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
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
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
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
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
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 Riepilogo della lezione
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
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
DettagliProgrammi e Oggetti Software
Corso di Laurea Ingegneria Civile Fondamenti di Informatica Dispensa 06 Programmi e Oggetti Software Marzo 2010 Programmi e Oggetti Software 1 Contenuti Cosa è un programma Cosa significa programmare Il
DettagliProgettazione 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,
DettagliMacchine sequenziali. Automa a Stati Finiti (ASF)
Corso di Calcolatori Elettronici I Macchine sequenziali Prof. Roberto Canonico Università degli Studi di Napoli Federico II Dipartimento di Ingegneria Elettrica e delle Tecnologie dell Informazione Corso
DettagliProgrammi 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
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
DettagliModellazione di Workflow mediante le Reti di Petri. Prof. Giancarlo Fortino
Modellazione di Workflow mediante le Reti di Petri Prof. Giancarlo Fortino g.fortino@unical.it Introduzione Il successo di un sistema di workflow si basa sulla qualità dei flussi di lavoro che lo compongono.
DettagliIntroduzione alla programmazione Algoritmi e diagrammi di flusso. Sviluppo del software
Introduzione alla programmazione Algoritmi e diagrammi di flusso F. Corno, A. Lioy, M. Rebaudengo Sviluppo del software problema idea (soluzione) algoritmo (soluzione formale) programma (traduzione dell
DettagliAutoma a Stati Finiti (ASF)
Automa a Stati Finiti (ASF) E una prima astrazione di macchina dotata di memoria che esegue algoritmi Introduce il concetto fondamentale di STATO che informalmente può essere definito come una particolare
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
DettagliStatechart Diagrams. Ing. Orazio Tomarchio Orazio.Tomarchio@diit.unict.it
Statechart Diagrams Ing. Orazio Tomarchio Orazio.Tomarchio@diit.unict.it Dipartimento di Ingegneria Informatica e delle Telecomunicazioni Università di Catania Agenda Cosa è uno Statechart Diagram Quando
DettagliCorso di Laurea Ingegneria Informatica Fondamenti di Informatica
Corso di Laurea Ingegneria Informatica Fondamenti di Informatica Dispensa 04 Programmi e Oggetti Software Alfonso Miola Ottobre 2012 http://www.dia.uniroma3.it/~java/fondinf/ Programmi e Oggetti Software
DettagliINGEGNERIA DEL SOFTWARE
DIPARTIMENTO DI INGEGNERIA ELETTRICA ELETTRONICA E INFORMATICA Corso di laurea magistrale in Ingegneria informatica Anno accademico 2016/2017-1 anno INGEGNERIA DEL SOFTWARE 9 CFU - 1 semestre Docente titolare
DettagliFunction Block Diagram
Function Block Diagram Marco Mauri Politecnico di Milano P.zza Leonardo da Vinci, 32 22-23 Maggio 2001 1 Sommario Struttura del linguaggio e notazioni grafiche Come esprimere espressioni semplici e complesse
DettagliUniversità di Padova Facoltà di Scienze MM.FF.NN Informatica - anno Corso di Ingegneria del Software - B UML
v. 2.3 Università di Padova Facoltà di Scienze MM.FF.NN Informatica - anno 2008-09 Corso di Ingegneria del Software - B UML Diagramma di macchina a stati (state machine diagram) Renato Cte - UML Diagrammi
DettagliINTRODUZIONE ALLA PROGRAMMAZIONE AD ALTO LIVELLO IL LINGUAGGIO JAVA. Fondamenti di Informatica - D. Talia - UNICAL 1. Fondamenti di Informatica
Fondamenti di Informatica INTRODUZIONE ALLA PROGRAMMAZIONE AD ALTO LIVELLO IL LINGUAGGIO JAVA Fondamenti di Informatica - D. Talia - UNICAL 1 Fondamenti di Informatica - Programma Un programma è una formulazione
DettagliInformatica ALGORITMI E LINGUAGGI DI PROGRAMMAZIONE. Francesco Tura. F. Tura
Informatica ALGORITMI E LINGUAGGI DI PROGRAMMAZIONE Francesco Tura francesco.tura@unibo.it 1 Lo strumento dell informatico: ELABORATORE ELETTRONICO [= calcolatore = computer] Macchina multifunzionale Macchina
DettagliUniversità degli studi di Roma Tor Vergata Ingegneria Medica Informatica I Programma del Corso
Obiettivi Di seguito vengono riportate una serie di domande che possono essere poste durante la prova formale del corso. Le seguenti domande non sono da ritenersi esaustive ma esemplificative. 1. Architettura
DettagliProgrammazione con Java
Programmazione con Java Classi e istanze in Java Definizione di classe in Java A meno che non si usino classi già scritte da altri, prima di poter creare un qualsiasi oggetto devo creare la sua rappresentazione:
DettagliLE BASI DI DATI. Prima parte Premesse introduttive I MODELLI DEI DATI
LE BASI DI DATI Prima parte Premesse introduttive I MODELLI DEI DATI MODELLAZIONE DEI DATI Un modello dei dati è un insieme di concetti utilizzati per organizzare i dati di interesse e descriverne la natura
DettagliSequence Diagram e Collaboration Diagram
Sequence Diagram e Collaboration Diagram Ing. Orazio Tomarchio Orazio.Tomarchio@diit.unict.it Dipartimento di Ingegneria Informatica e delle Telecomunicazioni Università di Catania Sommario Interaction
DettagliUniversità di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A Pietro Frasca.
Università di Roma Tor Vergata Corso di Laurea triennale in Informatica Sistemi operativi e reti A.A. 2016-17 Pietro Frasca Lezione 5 Martedì 25-10-2016 Definizione di processo Esiste una distinzione concettuale
DettagliCONCETTI 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
DettagliIndice. Prefazione. 3 Oggetti e Java 53
Prefazione xv 1 Architettura dei calcolatori 1 1.1 Calcolatori e applicazioni 1 1.1.1 Alcuni esempi di applicazioni 3 1.1.2 Applicazioni e interfacce 4 1.2 Architettura dei calcolatori 7 1.2.1 Hardware
DettagliLA 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
DettagliFSM: Macchine a Stati Finiti
FSM: Macchine a Stati Finiti Introduzione Automi di Mealy Automi di Moore Esempi Sommario Introduzione Automi di Mealy Automi di Moore Esempi Sommario Introduzione Metodo per descrivere macchine di tipo
DettagliIl Sistema Operativo Concorrenza e Grafi di precedenza
ISTITUTO TECNICO SECONDO BIENNIO GIORGIO PORCU www.thegiorgio.it Sommario Elaborazione concorrente Elaborazione sequenziale Elaborazione concorrente Elaborazione parallela Grafi di Precedenza Grafi di
DettagliAlberi e alberi binari I Un albero è un caso particolare di grafo
Alberi e alberi binari Un albero è un caso particolare di grafo È costituito da un insieme di nodi collegati tra di loro mediante archi Gli archi sono orientati (ogni arco esce da un nodo origine ed entra
DettagliLaboratorio 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
DettagliSequence Diagram. Catia Trubiani. Laboratorio di Ingegneria del Software a.a. 2013-2014
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
DettagliProgrammazione II. Lezione 7. Daniele Sgandurra 9/11/2010.
Programmazione II Lezione 7 Daniele Sgandurra daniele.sgandurra@iit.cnr.it 9/11/2010 1/24 Programmazione II Lezione 7 9/11/2010 Sommario 1 Gestione della Memoria 2/24 Programmazione II Lezione 7 9/11/2010
DettagliCorso di Informatica. Problemi ed algoritmi. Ing Pasquale Rota
Corso di Problemi ed algoritmi Ing Pasquale Rota Argomenti Problemi ed algoritmi Proprietà degli algoritmi Pseucodice Diagrammi di flusso Problemi ed algoritmi - Ing. Pasquale Rota 2 Proprietà degli algoritmi
DettagliSistemi Informativi I Strumenti - UML
8 UNIFIED MODELING LANGUAGE (UML)...2 8.1 UN APPROCCIO VISUALE ALLA PROGETTAZIONE....2 8.1.1 I vantaggi dell utilizzo di diagrammi nella fase di progettazione....2 8.2 COS È UML...3 8.2.1 Origini e breve
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
DettagliDIAGRAMMI DI SEQUENZA
DIAGRAMMI DI SEQUENZA Francesco Poggi fpoggi@cs.unibo.it A.A. 2015-2016 Premessa As always, there is never a correct solution to any modelling problem. It s more that some models are more precise, and
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
DettagliElementi lessicali. Lezione 4. La parole chiave. Elementi lessicali. Elementi lessicali e espressioni logiche. Linguaggi di Programmazione I
Lezione 4 Elementi lessicali e espressioni logiche Matricole 2-3 Elementi lessicali il linguaggio C ha un suo vocabolario di base i cui elementi sono detti token esistono 6 tipi di token: parole chiave
DettagliModellazione 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
DettagliRappresentazione con i diagrammi di flusso (Flow - chart)
Rappresentazione con i diagrammi di flusso (Flow - chart) Questo tipo di rappresentazione grafica degli algoritmi, sviluppato negli anni 50, utilizza una serie di simboli grafici dal contenuto evocativo
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
Dettagli19 - Eccezioni. Programmazione e analisi di dati Modulo A: Programmazione in Java. Paolo Milazzo
19 - Eccezioni Programmazione e analisi di dati Modulo A: Programmazione in Java Paolo Milazzo Dipartimento di Informatica, Università di Pisa http://www.di.unipi.it/ milazzo milazzo di.unipi.it Corso
DettagliDispensa di Informatica II.1
ALGORITMI La dispensa di seguito proposta si pone come tutorial per poter porre le basi per la realizzazione di algoritmi che poi potranno eventualmente essere sviluppati in moduli software con metodologia
DettagliActivity Diagrams. Ing. Orazio Tomarchio Orazio.Tomarchio@diit.unict.it
Activity Diagrams Ing. Orazio Tomarchio Orazio.Tomarchio@diit.unict.it Dipartimento di Ingegneria Informatica e delle Telecomunicazioni Università di Catania Agenda Cosa è un Activity Diagram Quando si
DettagliTali regole vengono attivate in modo automatico al verificarsi di specifici eventi sulla. eseguono azioni sulla base di dati stessa.
Una base di dati è ATTIVA quando consente la definizione e la gestione di regole attive o trigger. Tali regole vengono attivate in modo automatico al verificarsi di specifici eventi sulla base di dati
DettagliModulo 1 Concetti di base della Tecnologia dell Informazione
Modulo 1 Concetti di base della Tecnologia dell Informazione 1.0.1.1 1.0.1.2 1.0.1.3 Algoritmi Definizione di algoritmo e sua rappresentazione grafica Per algoritmo si intende un procedimento, che permette
DettagliProgramma del corso. Elementi di Programmazione. Introduzione agli algoritmi. Rappresentazione delle Informazioni. Architettura del calcolatore
Programma del corso Introduzione agli algoritmi Rappresentazione delle Informazioni Architettura del calcolatore Reti di Calcolatori Elementi di Programmazione Algoritmi e programmi Algoritmo Sequenza
Dettagli1. UML 2 ed il Processo Unificato
1. UML 2 ed il Processo Unificato Andrea Polini Laboratorio di Ingegneria del Software Corso di Laurea in Informatica (Laboratorio di Ingegneria del Software) 1. UML 2 ed il Processo Unificato 1 / 25 Sommario
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
DettagliImplementazione dell albero binario in linguaggio C++
Implementazione dell albero binario in linguaggio C++ Costruire il programma per gestire le operazioni su un albero binario. Ogni nodo dell albero contiene un codice e una descrizione; il programma deve
DettagliPrefazione. Capitolo 1 Sistemi di elaborazione 1
Prefazione XI Capitolo 1 Sistemi di elaborazione 1 1.1 Algoritmo 1 1.2 Esecuzione 3 1.3 Memoria 4 1.4 Calcolo meccanico 5 1.5 Capacità di calcolo 7 1.6 Computer 8 Domande di verifica 11 Esercizi 11 Capitolo
DettagliSistemi Web per il turismo - lezione 3 -
Sistemi Web per il turismo - lezione 3 - Software Si definisce software il complesso di comandi che fanno eseguire al computer delle operazioni. Il termine si contrappone ad hardware, che invece designa
DettagliProgettazione 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
DettagliI Tipi di Dato Astratto
I Tipi di Dato Astratto Sommario Cosa sono le Strutture Dati Astratte? Le strutture dati Le operazioni Come scegliere fra varie implementazioni? Quale è la questione? Come organizzare (strutturare) i dati
DettagliProblemi, 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
DettagliAlcuni diagrammi. OCL (Object Constraint Language)
UML e Java UML Alcune discipline ingegneristiche dispongono di validi mezzi di rappresentazione (schemi, diagrammi di prestazioni e consumi,...) Il software non dispone ancora di tecniche efficaci per
DettagliI diagrammi di interazione
I diagrammi di interazione Laboratorio di Sistemi e Processi Organizzativi Gian Piero Favini A.A. 2006-2007 Lab Sistemi e Processi Organizzativi () I diagrammi di interazione A.A. 2006-2007 1 / 45 Tassonomia
DettagliESEMPIO DI AUTOMATIZZAZIONE DI PROCESSO BIOTECNOLOGICO. (E-Wine)
ESEMPIO DI AUTOMATIZZAZIONE DI PROCESSO BIOTECNOLOGICO (E-Wine) Giulio Botturi Davide Quaglia Introduzione Il caso di studio di questa esercitazione tratta la tracciabilità nella gestione di una collezione
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,
DettagliCos è la programmazione?
La programmazione Cos è la programmazione? Termine usato per indicare le attività che trasformano l esigenza di risolvere un Problema in un Programma, inteso come sistema informatico capace di risolvere
DettagliGRAFI. Cosa sono Grafi non orientati Grafi orientati Grafi pesati Alberi Automi!
G R A F I 1 GRAFI Cosa sono Grafi non orientati Grafi orientati Grafi pesati Alberi Automi! 2 cip: cip: Pallogrammi Pallogrammi GRAFI: cosa sono I grafi sono una struttura matematica fondamentale: servono
DettagliAnalisi 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
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
DettagliPrinciples of Concurrent Programming
Principles of Giuseppe Anastasi g.anastasi@iet.unipi.it Pervasive Computing & Networking Lab. () Dept. of Information Engineering, University of Pisa Overview Concetti preliminari Interazione fra processi
DettagliStrutture dati e loro organizzazione. Gabriella Trucco
Strutture dati e loro organizzazione Gabriella Trucco Introduzione I linguaggi di programmazione di alto livello consentono di far riferimento a posizioni nella memoria principale tramite nomi descrittivi
DettagliACSO Programmazione di Sistema e Concorrente
ACSO Programmazione di Sistema e Concorrente P2 Modello Thread 2/12/2015 programma e parallelismo il tipo di parallelismo dipende dal grado di cooperazione (scambio di informazione) necessario tra attività
DettagliChiamata di procedura remota
Con gli strumenti gia` visti, si puo` realizzare come segue: lato chiamante: send asincrona immediatamente seguita da una receive lato chiamato: una receive seguita, al termine dell azione richiesta, da
DettagliIndice PARTE A. Prefazione Gli Autori Ringraziamenti dell Editore La storia del C. Capitolo 1 Computer 1. Capitolo 2 Sistemi operativi 21 XVII XXIX
Indice Prefazione Gli Autori Ringraziamenti dell Editore La storia del C XVII XXIX XXXI XXXIII PARTE A Capitolo 1 Computer 1 1.1 Hardware e software 2 1.2 Processore 3 1.3 Memorie 5 1.4 Periferiche di
DettagliRappresentazione degli algoritmi
Rappresentazione degli algoritmi Universitá di Ferrara Ultima Modifica: 21 ottobre 2014 1 1 Diagramma di flusso Utilizzare il diagramma di flusso per rappresentare gli algoritmi che risolvono i seguenti
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
Dettagliattività Unità 10.2 Strumenti per la calendarizzazione: GANTT e PERT Agenzia nazionale LLP - Programma settoriale Leonardo da Vinci 1
La calendarizzazione delle attività Unità 10.2 Strumenti per la calendarizzazione: GANTT e PERT Agenzia nazionale LLP - Programma settoriale Leonardo da Vinci 1 La calendarizzazione della attività Gli
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
Dettagliil tipo di parallelismo dipende dal grado di cooperazione
Thread Settembre 2009 programma e parallelismo il tipo di parallelismo dipende dal grado di cooperazione (scambio d informazione) necessario tra attività svolte in parallelo processo macchina virtuale
Dettagli