Ingegneria del Software
|
|
- Erico Monaco
- 7 anni fa
- Visualizzazioni
Transcript
1 Università degli Studi di Napoli Federico II Ingegneria del Software a.a. 2013/14 Lezioni : Sequence Diagram
2 Analisi dei requisiti individuare e rappresentare il comportamento dinamico. Forme diagrammatiche di UML per la rappresentazione degli aspetti dinamici: Sequence diagrams Acritivity diagrams Statecharts
3 Documento dei requisiti SW (da Lezione 6) Si focalizza sulla descrizione del sistema da sviluppare Cliente, utenti e sviluppatori contribuiscono alla stesura del documento di specifica dei requisiti Può essere usato come contratto tra cliente e sviluppatori Il documento prevede vari livelli di raffinamento, dal linguaggio naturale, al linguaggio strutturato, ai modelli UML. Tutti i documenti rappresentano la stessa informazione ma sono scritti usando linguaggi diversi, per utenti diversi
4 I Sequence Diagrams
5 Mappare Use case in Oggetti con Sequence Diagram Un Sequence Diagram lega use case e diagrammi di Cockburn con oggetti. mostra come il comportamento di uno use case (o scenario) è distribuito tra i suoi oggetti partecipanti Illustra la sequenza di interazioni tra gli oggetti necessaria per realizzare uno use case Oggetto di osservazione è l'aspetto puramente funzionale E' un tipo di documento che non è adeguato alla comunicazione con il committente. Il sequence diagram vede la partecipazione di oggetti che istanziano le classi nei Class Diagram prodotti nell'analisi dei requisiti e si conformano alle loro segnature Solo per i clienti esperti è più intuitivo e preciso dei diagrammi di Cockburn Fornisce una prospettiva diversa (dinamica) che consente di individuare classi mancanti e aree non chiare nelle specifiche
6 Sequence Diagram Mostra la sequenza temporale dei messaggi che gli oggetti si scambiano per portare a termine una funzionalità. E un diagramma di interazione: evidenzia come una funzionalità è realizzata tramite la collaborazione di un insieme di oggetti. E uno dei principali input per l implementazione dello scenario E utilizzato nell'analisi dei requisiti accoppiato ai Class diagram prodotti nell'analisi dei requisiti E' utilizzato ad un maggior livello di dettaglio in fase di System e Object design.
7 Sequence Diagram Instance:ClassB Instance:ClassA Oggetto tempo Linea di vita InvocazioneMetodo() in questo intervallo di tempo l oggetto è in vita e attivo Cancellazione ValoreDiRitorno Box di attivazione
8 Linee di vita Una linea di vita rappresenta un singolo partecipante (istanza di una classe) ad una interazione. Nome: usato per far riferimento alla linea Tipo: il nome della classe di cui la linea di vita rappresenta l'istanza Selettore: condizione booleana usata per selezioanre uan singola istanza (facoltativo, in assenza di selettore si fa riferimento a una istanza generica). Il tempo fluisce verticalmente dall'alto in basso Nell'intestazione del diagramma si trovano gli oggetti che esistono prima dell'invio del primo messaggio Oggetti creati durante l interazione compaiono sotto l'interazione La linea tratteggiata indica il tempo in cui l oggetto può ricevere messaggi
9 Messaggi Un messaggio rappresenta una forma di comunicazione tra due linee di vita. La chiamata di una operazione: un messaggio di chiamata; si usa la segnatura di un metodo della classe dell'istanza destinataria del messaggio La creazione/distruzione di una istanza: messaggio di creazione/distruzione; L'invio di un segnale. L attivazione è rappresentata da un rettangolo sulla linea della vita, da cui altri messaggi possono prendere origine (focus attivazione) La lunghezza del rettangolo rappresenta il tempo durante il quale l operazione è attiva
10 Messaggi: tipologie
11 Messaggi: sincroni/asincroni di ritorno Se l oggetto che invia il messaggio rimane in attesa che l oggetto ricevente ritorni dall'esecuzione del messaggio, si ha un messaggio sincrono Se l oggetto che invia il messaggio prosegue la propria elaborazione senza attendere che l'oggetto ricevente ritorni dall'esecuzione, si è in presenza di un messaggio asincrono. Il valore restituito all oggetto chiamante viene allegato ad un messaggio di ritorno La distinzione tra messaggi asincroni e sincroni viene di solito tralasciata in fase di analisi dei requisiti, così comle l'esplicitazione di tutti i ritorni.
12 Esempio d'uso Primo esempio Il manager seleziona aggiunta del corso Il manager indica il nome del corso Il sistema crea il nuovo corso. Secondo esempio Il manager seleziona rimozione corso Il manager indica il nome del corso Il sistema cancella il corso.
13 Esempio: Creazione
14 Esempio: Distruzione
15 Vincoli e invarianti di stato Lo stato di una istanza di classe è dato dal valore assunto dai suoi attributi. E' possibili esprimere nella linea di vita il vincolo che lo stato deve avere nel corso delle interazioni (invariante di stato). Nell'esempio successivo le paid, unpaid, delivered indicano stati dell'ordine. La specifica degli invarianti di stato costituisce il legame tra i diagrammi di sequenza e quelli di stato. Si possono aggiungere vincoli temporali sulla evoluzione della linea di vita marcando punti della linea di vita con etichette e scrivendo espressioni che coinvolgano le etichette
16 Vincoli e invarianti di stato
17 Flussi di controllo: Sintassi grafica generale degli operatori combinati
18 Frammenti combinati Operatore: determina come vengono eseguiti i suoi comandi Condizione di guardia: condizione booleana che stabilisce se gli operandi devono essere eseguiti (condizione booleana valutata a True). La condizione di guardia può essere associata all'intero frammento combinato o al singolo operando La condizione di guardia è unica nel frammento/operando La condizione di guardia precede la prima comunicazione del frammento/operando a cui si riferisce
19 Frammenti di selezione: opt, alt Opt equivale a un costrutto standard If (condizione) then operazione Ha un unico operando che viene eseguito solo se la condizione è vera Alt equivale a un costrutto standard del tipo If (condizione1) then operazione1 else If (condizione2) then operazione2... else If (condizionen) then operazionen Ogni operando ha una condizione di guardia e viene eseguito solo se essa è vera (solo una guardia può valutare a vero) L'operando opzionale con guardia [else] è eseguito se nessun altro operando ha guardia che valuta a vero.
20 Frammenti di selezione: opt, alt
21 Frammenti di iterazione: loop e break La sintassi loop min, max [condizione] operazione indica che Operazione viene eseguita min volte Finché condizione valuta a vero Operazione viene eseguita max-min volte. Possibili varianti Senza min, max e condizione rappresenta un ciclo infinito Se viene specificato solo min, si intende max=min La condizione è una espressione booleana ma può anche essere espressa testualmente in modo libero (se preciso) Break ha solo una condizione di guardia. Se la condizione di guardia di break è soddisfatta il ciclo viene e interrotto
22 Frammenti iterativi: loop
23 Frammenti iterativi: tipologie
24 Esempio
25 Linking sequence diagrams Se un Sequence è troppo complesso o fa riferimento ad un altro Sequence, si può utilizzare il REF, con: Un rettangolo con label REF, col nome dell altro diagramma Una freccia che punta a tale rettangolo Una eventuale condizione per specificare quando si fa il riferimento Customer Info ref Verify customer credit Approved? 25
26 Elenco degli operatori (1)
27 Elenco degli operatori (2)
28 Elenco degli operatori (3)
29 Sequence Diagram e parallelismo Il principio di base della modellazione della concorrenza è che ogni thread di controllo o processo concorrente viene modellato come un oggetto attivo Un oggetto attivo incapsula il proprio thread di controllo. Un oggetto attivo è una istanza di una classe attiva E' possibile mediante l'operatore par rappresentare esplicitamente forme di parallelismo Ogni operando rappresenta una componente che evolve parallelamente L'esecuzione dei messaggi appartenenenti a diverse componenti parallele è interfogliata. La possibile interfogliazione dei messaggi appartenenti a componenti parallele diverse può essere limitati usando un operatore che vincola sequenze di messaggi ad essere atomiche (operatore critical)
30 Sequence Diagram e parallelismo: esempio (1) Sistema di allarme antincendio e antintrusione.
31 Sequence Diagram e parallelismo: esempio(2) I monitor per i sensori antincendio e antintrusione e il loro controllore lavorano in parallelo (classi attive)
32 Esempio: il monitor antincendio e anintrusione controllano ciascuno un solo sensore. Controllo incendio prioritario sull'antintrusione.
33 Esempio: il monitor antincendio e anintrusione controllano ciascuno più sensori. Controllo incendio prioritario sull'antintrusione.
34 Sequence Diagram in fase di analisi Convenzioni per utilizzare i Sequence Diagrams con l euristica ThreeObject-Type: La colonna più a sinistra rappresenta l attore che inizia lo use case La seconda colonna -> oggetto Boundary con cui l attore interagisce per iniziare lo use case La terza colonna -> oggetto Control che gestisce il resto dello use case Le altre colonne possono rappresentare qualunque oggetto che interviene nel caso d uso. Gli oggetti Control creano altri oggetti Boundary/Entity e possono interagire con altri oggetti Oggetti Control accedono ad altri oggetti Entity e Boundary Gli oggetti Entity non accedono mai agli oggetti Control e Boundary: ciò rende più facile condividere oggetti Entity tra più use case
35 Esempio: ReportEmergency use case. FieldOfficer Report EmergencyButton press() «create» Manage EmergencyControl ReportEmergency Control «create» ReportEmergency Form fillcontents() submit() submitreport() «create» «destroy» Emergency Report submitreporttodispatcher()
36 Sequence diagram for the ReportEmergency use case (continued). Manage EmergencyControl submitreporttodispatcher() «create» Dispatcher IncidentForm createincident() «create» Incident submit() «create» «destroy» Acknowledgment
37 Sequence diagram for the ReportEmergency use case. FieldOfficer Manage EmergencyControl ReportEmergency Control acknowledgereport() «create» dismiss() Acknowledgment Notice endreporttransaction() «destroy» «destroy»
38 Analisi e Sequence Diagram Durante l analisi i Sequence Diagram sono usati per individuare nuovi oggetti comportamenti mancanti Disegnare Sequence Diagram è un attività laboriosa, quindi: Occorre dare priorità a quelle funzionalità problematiche o non ben specificate Per le parti ben definite può essere utile solo per evitare di posticipare alcune decisioni chiave
39 Esercizi Per prendere dimestichezza con il linguaggio dei sequence diagrams utile è lo svolgimento di esercizi di reverse engineering. Dato un frammento di codice in un linguaggio object-oriented: Ipotizzare un class diagram coerente con il codice esaminato. Produrre un sequence diagram che ne esprima il controllo. Si svolga l'esercizio per i frammenti di codice riportati nei lucidi seguenti
40 Esercizio 1 public class OrientedERBuilder extends ModelBuilder { private Hashtable relations;. public Object getmodel() { String model =""; for(enumeration elem = relations.elements();elem.hasmoreelements() ; ) { String[] currel = (String[]) elem.nextelement() ; model += "[ " + currel[0] + " ]----("+ currel[2] + "," + currel[3]+ ")---->[ " + currel[1]+ " ]\n"; } return model; } }
41 Esercizio 2 public class LineFigure extends BezierFigure { public Collection<Handle> createhandles(int detaillevel) { LinkedList<Handle> handles = new LinkedList<Handle>(); switch (detaillevel) { case -1 : // Mouse hover handles handles.add(new BezierOutlineHandle(this, true)); break; case 0 : handles.add(new BezierOutlineHandle(this)); for (int i=0, n = path.size(); i < n; i++) { handles.add(new BezierNodeHandle(this, i)); } break; } return handles; }
42 Esercizio (2)
LEZIONE 5 SEQUENCE DIAGRAM
Istituto di Scienza e Tecnologie dell'informazione A. Faedo Software Engineering and Dependable Computing Laboratory LEZIONE 5 SEQUENCE DIAGRAM Laboratorio di Ingegneria del Software Guglielmo De Angelis
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
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 SEQUENZA INGEGNERIA DEL SOFTWARE Università degli Studi di Padova. Introduzione. Partecipanti e messaggi.
SOMMARIO DIAGRAMMI DI SEQUENZA INGEGNERIA DEL SOFTWARE Università degli Studi di Padova Dipartimento di Matematica Corso di Laurea in Informatica, A.A. 2015 2016 rcardin@math.unipd.it 2 SOMMARIO DIAGRAMMI
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à
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
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
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
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
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 precedenti: Descrizione del dominio: modello statico Descrizione del dominio: modello dinamico
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
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
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
DettagliUML 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
DettagliUML. UML Book. Diagrammi di attività. Cosa sono? Notazione. Cosa sono?
UML Book UML http://www2.mokabyte.it Ing. Ester Zumpano Diagrammi di attività Cosa sono? I diagrammi di attività servono per modellare il flusso di lavoro dei casi d uso fornire a chi li legge uno stato
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
DettagliLinguaggio Testuale. E un formalismo che consente di rappresentare gli algoritmi mediante semplici istruzioni in linguaggio «parlato»
Linguaggio Testuale E un formalismo che consente di rappresentare gli algoritmi mediante semplici istruzioni in linguaggio «parlato» Delle volte viene chiamato metalinguaggio, e l algoritmo scritto tramite
DettagliElementi di UML (5): Diagrammi di interazione
Elementi di UML (5): Diagrammi di interazione 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 e
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.
DettagliIstruzioni. Una istruzione semplice è qualsiasi espressione seguita da un punto e virgola. Esempio x = 0; y = 1;/* due istruzioni */
Istruzioni Le istruzioni esprimono azioni che, una volta eseguite, comportano una modifica permanente dello stato interno del programma o del mondo circostante Le strutture di controllo permettono di aggregare
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
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
DettagliLe strutture di controllo in C++
Le strutture di controllo in C++ Docente: Ing. Edoardo Fusella Dipartimento di Ingegneria Elettrica e Tecnologie dell Informazione Via Claudio 21, 4 piano laboratorio SECLAB Università degli Studi di Napoli
DettagliIstruzioni di selezione in Java 1
Le istruzioni del programma Istruzioni di selezione in Java Corso di laurea in Il controllo del flusso del programma Istruzioni condizionali o di selezione Istruzioni di ripetizione Espressioni condizionali
DettagliIl linguaggio Java Istruzioni di Controllo
Il linguaggio Java Istruzioni di Controllo Istruzioni per il controllo di flusso Istruzioni di selezione if switch Istruzioni di iterazione while do-while for Istruzioni di salto break continue return
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
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
DettagliUn esempio di if annidati
Programmazione A.A. 2002-03 I Costrutti di base ( Lezione XIV, parte I ) Costrutto di selezione switch Prof. Giovanni Gallo Dr. Gianluca Cincotti Dipartimento di Matematica e Informatica Università di
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
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
DettagliUML Unified Modeling Language
UML E CASI D USO UML Unified Modeling Language Linguaggio stardardizzato per identificare e modellizzare le specifiche di un S.I. Coerente con il paradigma della programmazione ad oggetti Definito a partire
DettagliIstruzioni di selezione in Java 1
Ordine di esecuzione Istruzioni di selezione in Java Corso di laurea in Comunicazione digitale Nei metodi l ordine di esecuzione delle istruzioni è sequenziale se non specificato altrimenti Alcune istruzioni
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
DettagliLezione 5 e 6. Fabio Scotti ( ) Laboratorio di programmazione per la sicurezza. Valentina Ciriani ( ) Laboratorio di programmazione
Lezione 5 e 6 - Concetto di blocco - Controllo del flusso di un programma - Costrutti per la scelta if e switch - Costrutti while e for - Operatori in C Fabio Scotti (2004-2009) Laboratorio di programmazione
DettagliProgrammazione ad Oggetti
Programmazione ad Oggetti Unified Modeling Language (II) Modellazione Dinamica Il comportamento dinamico del sistema viene descritto in UML attraverso i seguenti diagrammi: Statechart diagram Sequence
DettagliEspressioni booleane. Esempio: temperatura <= 0 velocita > velocita max
Espressioni booleane Espressioni booleane il linguaggio deve consentire di descrivere espressioni booleane cioé espressioni che ritornino come risultato valori di verit : vero o falso (guardie di condizionali
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
Dettagli<istruzione> ::= <istruzione-semplice> <istruzione> ::= <istruzione-di-controllo> <istruzione-semplice> ::= <espressione> ;
ISTRUZIONI Le istruzioni esprimono azioni che, una volta eseguite, comportano una modifica permanente dello stato interno del programma o del mondo circostante. Le strutture di controllo permettono di
DettagliProgrammazione A.A Costrutti di base. ( Lezione XII, parte I ) Gestione dell input. Prof. Giovanni Gallo Dr.
Programmazione A.A. 2002-03 I Costrutti di base ( Lezione XII, parte I ) Gestione dell input Prof. Giovanni Gallo Dr. Gianluca Cincotti Dipartimento di Matematica e Informatica Università di Catania e-mail
DettagliISTRUZIONI. Le strutture di controllo permettono di aggregare istruzioni semplici in istruzioni più complesse.
ISTRUZIONI Le istruzioni esprimono azioni che, una volta eseguite, comportano una modifica permanente dello stato interno del programma o del mondo circostante. Le strutture di controllo permettono di
Dettagli<istruzione> ::= <istruzione-semplice> <istruzione> ::= <istruzione-di-controllo> <istruzione-semplice> ::= <espressione> ;
ISTRUZIONI Le istruzioni esprimono azioni che, una volta eseguite, comportano una modifica permanente dello stato interno del programma o del mondo circostante. Le strutture di controllo permettono 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
DettagliIstruzioni di Controllo
Istruzioni di Controllo Programmazione strutturata Ricordiamo i concetti chiave: concatenazione o composizione BLOCCO istruzione condizionale SELEZIONE ramifica il flusso di controllo in base al valore
DettagliLaboratorio di informatica Ingegneria meccanica
C: costanti introdotte con #define Laboratorio di informatica Ingegneria meccanica Lezione 4 22 ottobre 2007 Forma: #define nome valore Effetto: ogni occorrenza successiva di nome sarà rimpiazzata con
DettagliSTRUTTURE DI CONTROLLO IN C. Docente: Giorgio Giacinto AA 2009/2010
Università degli Studi di Cagliari Corso di Laurea Specialistica in Ingegneria per l Ambiente ed il Territorio Corso di Laurea Specialistica in Ingegneria Civile - Strutture FONDAMENTI DI INFORMATICA 2
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
DettagliPaolo Bison. Fondamenti di Informatica Ingegneria Meccanica Università di Padova A.A. 2008/09
Linguaggi procedurali Paolo Bison Fondamenti di Informatica Ingegneria Meccanica Università di Padova A.A. 2008/09 Linguaggi procedurali, Paolo Bison, FI08, 2008-09-29 p.1 Linguaggi procedurali classe
DettagliSTRUTTURE DI CONTROLLO DEL C++
STRUTTURE DI CONTROLLO DEL C++ Le istruzioni if e else Le istruzioni condizionali ci consentono di far eseguire in modo selettivo una singola riga di codice o una serie di righe di codice (che viene detto
Dettagli02/03/2016. LABORATORIO DI PROGRAMMAZIONE Corso di laurea in matematica 8 STRUTTURE DI CONTROLLO (1)
LABORATORIO DI PROGRAMMAZIONE Corso di laurea in matematica 8 STRUTTURE DI CONTROLLO (1) Marco Lapegna Dipartimento di Matematica e Applicazioni Universita degli Studi di Napoli Federico II wpage.unina.it/lapegna
DettagliJava SE 7. Strutture di programmazione (2)
Java SE 7 Strutture di programmazione (2) diegozabot@yahoo.it ursula.castaldo@gmail.com Casting (1) E' l'operazione che realizza la conversione di tipo tra oggetti e tra tipi primitivi. E' un'operazione
DettagliProgrammazione C Massimo Callisto De Donato
Università degli studi di Camerino Scuola di scienze e tecnologia - Sezione Informatica Programmazione C Massimo Callisto De Donato massimo.callisto@unicam.it www.cs.unicam.it/massimo.callisto LEZIONE
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:
DettagliProf. Pagani Corrado LINGUAGGIO C: SELEZIONE E CICLI
Prof. Pagani Corrado LINGUAGGIO C: SELEZIONE E CICLI IF Ogni linguaggio di programmazione presenta almeno una struttura di controllo decisionale. La sintassi del linguaggio C è la seguente. if ()
Dettaglidel Linguaggio C Istruzioni di iterazione
Istruzioni i Iterative ti del Linguaggio C Istruzioni di iterazione Le istruzioni di iterazione forniscono strutture di controllo che esprimono la necessità di ripetere una certa istruzione durante il
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
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
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
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
DettagliIstruzioni Condizionali
Corso di Laurea Ingegneria Informatica Fondamenti di Informatica Dispensa 10 Istruzioni Condizionali Carla Limongelli Novembre 2011 http://www.dia.uniroma3.it/~java/fondinf/ Istruzioni condizionali 1 Contenuti
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
DettagliIstruzioni Condizionali
Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1 Dispensa 6 Istruzioni Condizionali Carla Limongelli Settembre 2006 http://www.dia.uniroma3.it/~java/fondinf1/ Istruzioni condizionali
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
DettagliCorso di Fondamenti di Informatica
Corso di Fondamenti di Informatica Le classi di istruzioni in C++ 1 Le classi di istruzioni in C++ SEQUENZIALI Statement semplice Statement composto CONDIZIONALI if < expr.> else switch case
DettagliInformatica/ Ing. Meccanica/ Prof. Verdicchio/ 14/02/2012 / Foglio delle domande / VERSIONE 1
Informatica/ Ing. Meccanica/ Prof. Verdicchio/ 14/02/2012 / Foglio delle domande / VERSIONE 1 1) Il bus in un computer trasporta a) solo dati b) solo istruzioni c) sia dati sia istruzioni 2) In una sequenza
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
DettagliUML2. Concetti base. Andrea Polini. Laboratorio di Ingegneria del Software Corso di Laurea in Informatica L31 Università di Camerino
UML2 Concetti base Andrea Polini Laboratorio di Ingegneria del Software Corso di Laurea in Informatica L31 Università di Camerino (Labortorio di Ingegneria del Software) UML2 - Concetti Base 1 / 12 Cos
DettagliLinguaggio C Strutture di controllo
FONDAMENTI DI INFORMATICA Prof. PIER LUCA MONTESSORO Ing. DAVIDE PIERATTONI Facoltà di Ingegneria Università degli Studi di Udine Linguaggio C Strutture di controllo 2001 Pier Luca Montessoro - Davide
DettagliCorso di Informatica A.A
Corso di Informatica A.A. 2009-2010 Lezione 7 Lezione 7 1 Algoritmi e loro proprietà Efficienza rispetto al tempo Efficienza rispetto allo spazio Efficienza degli algoritmi Una volta determinato un algoritmo
DettagliArray e Oggetti. Corso di Laurea Ingegneria Informatica Fondamenti di Informatica. Dispensa 17. A. Miola Gennaio 2012
Corso di Laurea Ingegneria Informatica Fondamenti di Informatica Dispensa 17 A. Miola Gennaio 2012 1 Contenuti q Array paralleli q Array e oggetti q Ricerca sequenziale q Ricerca binaria q Fusione di sequenze
DettagliCasi d uso. Marina Zanella - Ingegneria del Software UML: Casi d uso 1
Casi d uso Introdotti in UML da Jacobson nel 1994 come elementi principali dello sviluppo del sw (ma il concetto era già stato pubblicato nel 1987) Sono un veicolo per la pianificazione di progetto (controllano
DettagliCorso Base. Liceo Norberto Rosa Bussoleno Prof. Angelo GIORGIO
Corso Base Liceo Norberto Rosa Bussoleno Prof. Angelo GIORGIO Richiamo di una Proprietà Se la proprietà è privata, è visibile solo dai metodi della classe, se pubblica invece anche dai metodi al di fuori
DettagliITI M. FARADAY. Programmazione a. s
ITI M. FARADAY Programmazione a. s. 2018-2019 Disciplina: INFORMATICA Indirizzo: INFORMATICA E TELECOMUNICAZIONI Classi: Terza A Terza B Ore settimanali previste: 6 (3 ora Teoria - 3 ore Laboratorio) Docenti:
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
Dettagliosservazione: 1 MCD(m,n) min(m,n) = si provano i numeri compresi tra 1 e min(m,n) conviene iniziare da min(m,n) e scendere verso 1
Esempio: Leggere due interi positivi e calcolarne il massimo comun divisore. MCD(12, 8) = 4 MCD(12, 6) = 6 MCD(12, 7) = 1 Sfruttando direttamente la definizione di MCD osservazione: 1 MCD(m,n) min(m,n)
DettagliCast implicito. Il cast è fatto automaticamente quando un tipo più basso viene assegnato ad un tipo più alto. byte short int long float double
Il cast Cast implicito Il cast è fatto automaticamente quando un tipo più basso viene assegnato ad un tipo più alto Per esempio: byte short int long float double int x = 10; float f; f = x; Il valore di
DettagliStrutture. Array dei nomi degli esami (MAX ESAMI è il massimo numero degli esami). Array con i crediti degli esami.
Consideriamo l esercizio assegnato la scorsa lezione per rappresentare il libretto di uno studente. Per memorizzare i dati si sono utilizzati tre array: char* nomiesami[max ESAMI] Array dei nomi degli
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
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
DettagliCominciamo ad analizzare la rappresentazione delle informazioni... di Cassino. C. De Stefano Corso di Fondamenti di Informatica Università degli Studi
Un linguaggio ad alto livello deve offrire degli strumenti per: rappresentare le informazioni di interesse dell algoritmo definire le istruzioni che costituiscono l algoritmo Cominciamo ad analizzare la
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
DettagliINFORMATICA. Strutture condizionali
INFORMATICA Strutture condizionali Strutture condizionali Sono le istruzioni che rappresentano il ben noto costrutto IF THEN ELSE della programmazione strutturata. In C, come peraltro in tutti gli altri
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
DettagliIl linguaggio PHP. Insegnarvi tutto il PHP? Non esattamente Obiettivo: insegnarvi ad interagire via web con una base dati
Programmazione Web Il linguaggio PHP Il nostro obiettivo Insegnarvi tutto il PHP? Non esattamente Obiettivo: insegnarvi ad interagire via web con una base dati Accedere ai dati inseriti dall utente nei
DettagliEsercizi svolti in aula
Università degli Studi di Cagliari Corsi di Laurea in Ing. Civile e Ing. per l Ambiente e il Territorio ondamenti d Informatica 1 A.A. 2018/2019 Docente: Giorgio umera Esercizi svolti in aula ormulazione
DettagliISTRUZIONI ISTRUZIONI SEMPLICI
ISTRUZIONI istruzioni azioni modifica permanente dello stato interno strutture di controllo ::= ::= ::=
DettagliJavaScript Core Language. Prof. Francesco Accarino IIS Atiero Spinelli Sesto San Giovanni via leopardi 132
JavaScript Core Language Prof. Francesco Accarino IIS Atiero Spinelli Sesto San Giovanni via leopardi 132 Condizioni L utilizzo di operatori relazionali e logici consente di formulare delle condizioni
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
DettagliUso di Asserzioni alla Hoare nei Linguaggi O.O. Java Modeling Language
Uso di Asserzioni alla Hoare nei Linguaggi O.O. Java Modeling Language Gennaio 2002 NB: tutti gli esempi in JML NON sono stati testati quindi non garantisco sulla sintassi! Scopo: descrivere in modo astratto
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
DettagliIstruzioni di Ciclo. Unità 4. Domenico Daniele Bloisi. Corso di Programmazione e Metodi Numerici Ingegneria Aerospaziale BAER
Corso di Programmazione e Metodi Numerici Ingegneria Aerospaziale BAER Domenico Daniele Bloisi Docenti Metodi Numerici prof. Vittoria Bruni vittoria.bruni@sbai.uniroma1.it Programmazione prof. Domenico
DettagliIstruzioni. Istruzioni semplici Istruzioni di controllo. Fondamenti di Informatica e laboratorio Istruzioni e Controllo del flusso
Istruzioni Istruzioni Le istruzioni esprimono azioni che, una volta eseguite, comportano una modifica permanente dello stato interno del programma o del mondo circostante Le strutture di controllo permettono
DettagliLa Modellazione del Sistema: viste dinamiche e comportamentali. P Tramontana Modelli di sistema- Introduzione a UML Slide 1
La Modellazione del Sistema: viste dinamiche e comportamentali P Tramontana Modelli di sistema- Introduzione a UML Slide 1 Riferimenti Martin Fowler, UML Distilled, capitoli 4 (sequence diagram), 10 (statechart
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
DettagliInformatica AA 2005/06. Programmazione M.A. Alberti. Operatori in Java 1. Operatori in Java. Espressioni aritmetiche. Espressioni booleane
Operatori in Java Operatori in Java Corso di laurea in Informatica Operatori aritmetici Operatori di uguaglianza e relazionali Operatori logici in espressioni booleane La precedenza degli operatori L associatività
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
Dettagli