Ingegneria del Software
|
|
- Maria Alfano
- 6 anni fa
- Visualizzazioni
Transcript
1 Università degli Studi di Napoli Federico II Ingegneria del Software a.a. 2013/14 Lezione 8: Gli Statecharts
2 Obiettivi della lezione Comprendere il formalismo degli statecharts
3 Ciclo di vita del Software
4 Diagrammi di stato Un Diagramma di Stato è un formalismo grafico largamente utilizzato in computer science per rappresentare il comportamento di un artefatto (oggetto, modulo, intero sistema, etc ) composto da un numero finito di stati. Ne esistono svariate versioni deterministic finite state machine (DFA), nondeterministic finite state machine (NFA), Moore machine Harel s StateCharts
5 Stati e transizioni Paradigma ben noto e molto comprensibile per descrivere il comportamento di entità dinamiche stati rilevanti dell entità transizioni = possibili passaggi di stati, magari con annotazioni riguardo a cosa ha causato la transizione, o che cosa viene rilevato sulla transizione Vantaggio principale: grande impatto visuale, molto leggibile, per modellare aspetti dinamici e transienti...
6 Statechart Notazione visuale e formale, sviluppata da D. Harel, fine anni 80, per descrive il comportamento di sistemi reattivi Le transizioni descrivono come l entità modellata reagisce a eventi (generati dall esterno o da se stesso) Le transizioni sono (in genere) lanciate (triggered) dagli eventi Statechart diagram di UML: adattamento delle statechart ad un mondo O-O Usati principalmente per descrivere il comportamento di: Use Cases Classi
7 Statechart diagram Da UML specification A statechart diagram can be used to describe the behavior of a model element such as an object or an interaction. Specifically, it describes possible sequences of states and actions through which the element can proceed during its lifetime as a result of reacting to discrete events (e.g., signals, operation invocations). Statechart diagrams represent the behavior of entities capable of dynamic behavior by specifying its response to the receipt of event instances. Typically, it is used for describing the behavior of classes, but statecharts may also describe the behavior of other model entities such as use-cases, actors, subsystems, operations, or methods.
8 A cosa servono gli statechart diagram Ogni oggetto in un sistema ha un certo ciclo di vita. Tra la sua creazione e la sua distruzione esso interagisce con gli oggetti vicini. L oggetto quindi dovrà rispondere a stimoli asincroni che gli arrivano dal suo ambiente Es.: un cellulare deve essere sempre pronto a rispondere a chiamate in entrata Esistono oggetti il cui comportamento dipende dallo stato dei suoi attributi Es.: in un cellulare, all arrivo di una chiamata l attivarsi o meno della suoneria dipende dalla modalità (normale o silenziosa ) in cui si trova l apparecchio.
9 A cosa servono gli statechart diagram? Un diagramma Statechart è una specifica eseguibile: esistono ambiente di simulazione dei diagrammi. Ogni esecuzione di uno statechart è una sequenza di stati dello statechart Uno Statechart di design è quindi un diagramma chiave per guidare l implementazione del sistema Tutti I comportamenti dello statechart di design sono comportamenti da realizzare nel sistema Viceversa, per le attività critiche tutti I comportamenti attesi del sistema dovrebbero essere previsti da uno statechart.
10 Il Formalismo
11 Eventi, Stati e Transizioni Un Evento è un avvenimento significativo con una sua collocazione nel tempo e nello spazio Es. trasmissione diun segnale, invocazione di un metodo, cambiamento di una proprietà interna... Uno Stato è una condizione stabile di un oggetto in un intervallo di tempo in cui Soddisfa una condizione Esegue una azione interna Aspetta un evento Una Transizione indica un cambiamento di stato causato in genere da un evento.
12 Eventi Tipologie di Evento: Evento di chiamata: invocazione di una specifica operazione all'istanza della classe di contesto. (segnatura metodo) Evento di segnale: pacchetto di informazioni inviato in maniera asincrona da un oggetto ad un altro. Evento di variazione: specificato emdiante una espressione booleana. L'evento si verifica quando il valore di una espressione booleana passa da falso a vero. (attivazione al cambio di valore) Evento temporale: introdotto da chiavi when(vincolo temporale) (Es when(data='07/07/2007') e after(quantità) (Es. After(20 sec)).
13 Rappresentazioni in UML Stato: Un rettangolo arrotondato Un nome Nome Stato Operazioni Un elenco opzionale di operazioni da svolgere al suo interno Ogni transizione è etichettata con tre elementi, tutti opzionali Evento [Condizione] / Azione
14 Dettagli sulle Transizioni Evento (trigger): è l occorrenza di uno stimolo che può innescare una transizione fra stati Condizione (guard): espressione booleana. Es: NextTrackButtonPressed() Se da uno stato escono più transizioni, le loro condizioni devono essere mutuamente esclusive Può essere espressa usando OCL, linguaggi di programmazione, pseudocodice. Es: [This.CurrentTrack < This.TotalTracks] Azione: è associata alla transizione, è considerata un processo rapido, non interrompibile da un evento (atomica) Es: This.CurrentTrack++
15 Dettagli sulle Transizioni (2) Azione: l'azione è - un'azione che può alterare lo stato del sistema (proprietà) - l'invio di un segnale o un evento che può essere trigger per altre transizioni Scatto transizione: lo scatto della transizione è abilitato non appena l'evento è disponibile e se la condizione associata è soddisfatta (precondizione) Lo scatto può interrompere le azioni interne (do) allo stato sorgente della transizione L'eventuale azione di uscita (exit) è eseguita contestualmente allo scatto della transizione L'eventuale azione di ingresso dello stato destinazione (entry) è esehuito contestualmente all'ingresso allo stato destinazione.
16 Stato: notazione Uno stato può opzionalmente avere le seguenti azioni: Entry: azione eseguita ogni volta che si entra nello stato (cioè in risposta all evento entry ) Exit: azione eseguita ogni volta che si lascia lo stato (cioè in risposta all evento exit ) Do: è associata allo stato, può prevedere un lasso di tempo considerevole, e può essere interrotta da un evento (non-atomica).
17 Stato (es.) Tracking Entry action entry / setmode(ontrack) exit / setmode(offtrack) do / followtarget Exit action Attività dello stato
18 Stato iniziale e stato finale Ci due stati speciali: Stato di ingresso Stato di terminazione Negli statechart diagram che modellano il comportamento di sistemi puramente reattivi (per esempio sistemi embedded) lo stato finale può non essere presente
19 Esempio: Pseudo stati di giunzione e di selezione
20 Esempio: Attività interne agli stati
21 Transizioni triggerless Una transizione che non abbia nessun evento ad innescarla è detta triggerless A B do / Attività_A do / Attività_B triggerless transition Al termine delle Do Actions di A si passa automaticamente nello stato B, E il termine dell attività ad innescare la transizione fra stati
22 Definizione di sottostati
23 Stati composti uno stato può essere decomposto verticalmente annidando una macchina in uno stato (simile ad una modularità procedurale) orizzontalmente individuando componenti parallele
24 Sottostati: modularità verticale Il comportamento di uno stato può essere modellato nidificando nello stato una macchina a stati Modularità verticale e migliore compattezza Troppi livelli di nesting penalizzano la leggibilità. L'ingresso in uno stato composto è simile ad una chiamata di procedura: Determina l'ingresso nello stato di ingresso del diagramma nidificato Una transizione dallo stato composto è una transizione che se attivata può interrompere l'attività interna in ogni istante (interrupt)
25 Sottostati: modularità verticale (2) Una uscita regolare da uno stato composto avviene attraverso una uscita da uno pseudo-stato di uscita disegnato sul bordo dello stato Uno stato composto può avere più di una uscita regolare (diverse condizioni di uscita) Una transizione può forare la gerarchia: - entrando da uno stato esterno direttamente in uno sottostato della componente: la componente è attivata avevndo il sottostato come stato iniziale - uscendo da uno stato interno alla componente ad uno stato esterno: ha lo stesso effetto di un interrupt per la componente.
26 Sottostati: modularità verticale
27 Esempio
28 Esempio (2), condizioni di uscita
29 Modularità orizzontale: parallelismo. uno stato può strutturato innestando componenti parallele evidenziando possibili comportamenti concorrenti del sistema L'area dello stato è partizionato: ogni partizione una componente Ad ogni componente è associata una macchina (strutturata) StatoConcorrente Statechart con stato iniziale e finali. si entra negli stati iniziali di tutti i sottostati Statechart con stato iniziale e finali scatta quando tutti i sottostati raggiungono lo stato finale
30 Modularità orizzontale: parallelismo. L'ingresso nello stato strutturato implica l'ingresso simultaneo e implicito in tutti gli stati iniziali di tutte le componenti paralleli. Il comportamento delle componenti è indipendenti La fine del comportamento dello stato strutturato coincide con il raggiungimento dello stato finale di tutte le componenti. Non vi devono essere transizioni che connettano stati in componenti diverse. Una transizione che connetta uno stato interno ed uno esterno dello stato strutturale determina (se eseguita) l'uscita simultanea da tutte le componenti parallele (interrupt)
31 Esempio: stato concorrente FaseFinale GiocaFinalePrimoPosto risultatofin(r) / st.notifica( F,r) entry / P1.gioca(P2) GiocaFinaleTerzoPosto risultatosemi(r) / st.notifica( S,r) entry / P3.gioca(P4)
32 Esempio: stato concorrente con sincronizzazione mediante uso di variabili condivise
33 History states In generale quando, per effetto di una transizione, si entra in uno stato composito, la state machine innestata comincia dal suo stato iniziale (a meno che la transizione non specifichi come target uno specifico sottostato) Esistono però situazioni in cui vorremmo poter memorizzare quale sottostato era attivo nel momento in cui si abbandona uno stato composito Lo scopo è quello di riprendere da quel punto le attività una volta che si rientri nello stato composito
34 History states (es.) History state stato iniziale BackingUp Command Richiesta Conferma H Collecting Copying se la state machine innestata raggiunge uno stato finale la storia si annulla Cleaning Up
35 History states (es.)
36 H e H* Lo stato H è detto history state superficiale. Infatti in caso di state machine innestate a più di un livello ricorda soltanto lo stato del primo livello (cioè quello in cui si trova) mentre gli altri livelli ripartono dallo stato iniziale. Se si vuole ricordare lo stato di ogni livello, esiste uno history state profondo, cioè H*. Con l uso di H* ci si assicura che tutte le state machine ad ogni livello sottostante a quello con H* ricordino lo stato in cui si trovavano all abbandono dello stato composito complessivo Ovviamente in caso di macchine innestate ad un solo livello H e H* sono equivalenti
Ingegneria 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
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
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
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à
Dettagli2. Simulazione discreta: entità ed operazioni
Anno accademico 2006/07 Il sistema da modellare I principali elementi che utilizzeremo per rappresentare un sistema sono: Entità: caratterizzano un sistema da un punto di vista statico Operazioni: producono
DettagliDiagrammi a blocchi 1
Diagrammi a blocchi 1 Sommario Diagrammi di flusso, o a blocchi. Analisi strutturata. Esercizi. 2 Diagrammi a blocchi È un linguaggio formale di tipo grafico per rappresentare gli algoritmi. Attraverso
DettagliDiagrammi di stato Statechart Diagrams
,6 PRG % &RUVR GL,QJHJQHULD GHO 6RIWZDUH Bibliografia: Diagrammi di stato Statechart Diagrams - Slide UML Tutorial Series tratte dal sito: www.omg.org documento: 01-03-03.ppt - Bozze del corso di Ambriola,
DettagliSimulazione di sistemi non lineari Implementazione di Automi Ibridi con Stateflow
Simulazione di sistemi non lineari Implementazione di Automi Ibridi con Stateflow Gianmaria De Tommasi 1 1 Università degli Studi di Napoli Federico II detommas@unina.it Ottobre 2012 Corsi AnsaldoBreda
DettagliFondamenti VBA. Che cos è VBA
Fondamenti VBA Che cos è VBA VBA, Visual Basic for Application è un linguaggio di programmazione, inserito nelle applicazioni Office di Microsoft (Ms Word, Ms Excel, Ms PowerPoint, Visio). VBA è una implementazione
DettagliGestione del workflow
Gestione del workflow Stefania Marrara Corso di Sistemi Informativi 2003/2004 Progettazione di un Sistema Informativo Analisi dei processi Per progettare un sistema informativo è necessario identificare
DettagliIngegneria del Software
Ingegneria del Software Analisi Object Oriented ed Elementi di Programmazione OO Origini Le metodologie ad oggi nascono negli anni 70 ma si affermano solo nelgi anni 80 grazie alla nascita dei linguaggi
DettagliModulo 13. Diagrammi degli stati
Modulo 13 Diagrammi degli stati Stato degli oggetti Descrive una macchina a stati specifica i vari stati che un oggetto può assumere durante la sua vita in risposta agli eventi uno stato è una condizione
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
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
DettagliCos è un algoritmo. Si dice algoritmo la descrizione di un metodo di soluzione di un problema che sia
Programmazione Un programma descrive al computer, in estremo dettaglio, la sequenza di passi necessari a svolgere un particolare compito L attività di progettare e realizzare un programma è detta programmazione
DettagliLab 1: Java Multithreading
Dept. of Computer Science Lab 1: Java Multithreading Matteo Camilli matteo.camilli@unimi.it Laboratorio di Sistemi Operativi a.a. 2015/16 Università degli Studi di Bergamo 1 Outline Programmazione multithreading
DettagliDISPENSE DI PROGRAMMAZIONE
DISPENSE DI PROGRAMMAZIONE Modulo 1 Risolvere problemi con l elaboratore: dal problema all algoritmo (Parte II) I Linguaggi di descrizione degli algoritmi - Notazioni grafiche (parte 1) Il linguaggio dei
DettagliDefinizione di metodi
Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1 Dispensa 9 Definizione di metodi Carla Limongelli Novembre 2006 http://www.dia.uniroma3.it/~java/fondinf1/ Definizione di metodi 1 Contenuti
DettagliLa rappresentazione dell algoritmo Diagrammi di flusso
La rappresentazione dell algoritmo Diagrammi di flusso Forme di rappresentazione Ritornando al problema dell addizione di due numeri interi, la maestra non fa altro che codificare l algoritmo utilizzando
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
DettagliIngegneria del Software T. 2. Analisi orientata agli oggetti
Ingegneria del Software T 2. Analisi orientata agli oggetti Per effettuare correttamente l analisi, è necessario Comunicare con l utente Ottenere una buona conoscenza dell area applicativa Determinare
DettagliIl calcolatore. Architettura di un calcolatore (Hardware)
Il calcolatore Prima parlare della programmazione, e' bene fare una brevissima introduzione su come sono strutturati i calcolatori elettronici. I calcolatori elettronici sono stati progettati e costruiti
DettagliIntroduzione alle macchine a stati (non definitivo)
Introduzione alle macchine a stati (non definitivo) - Introduzione Il modo migliore per affrontare un problema di automazione industriale (anche non particolarmente complesso) consiste nel dividerlo in
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
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
DettagliProgettazione del Software. Emiliano Casalicchio. Dipartimento di Informatica e Sistemistica SAPIENZA Università di Roma Sede di Rieti
Progettazione del Software L3.1 Emiliano Casalicchio Dipartimento di Informatica e Sistemistica SAPIENZA Università di Roma Sede di Rieti http://www.ce.uniroma2.it/courses/psw (Basato su materiale didattico
DettagliAlcune idee sui sistemi software e la loro architettura
Luca Cabibbo Analisi e Progettazione del Software Alcune idee sui sistemi software e la loro architettura Capitolo 92 marzo 2016 Gli orchi sono come le cipolle. Le cipolle hanno gli strati. Gli orchi hanno
DettagliModellazione di sistema
Corso di Laurea Specialistica in Ingegneria Informatica Corso di Ingegneria del Software A. A. 2008 - Modellazione di sistema E. TINELLI Contenuti Approcci di analisi Linguaggi di specifica Modelli di
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
DettagliPLC Sistemi a Logica Programmabile Il linguaggio Ladder-Parte
PLC Sistemi a Logica Programmabile Il linguaggio Ladder-Parte Seconda Prof. Nicola Ingrosso Guida di riferimento all applicazione applicazione dei Microcontrollori Programmabili IPSIA G.Ferraris Brindisi
DettagliAnalisi. Ingegneria del Software L-A. Analisi. Analisi. Ingegneria del Software L-A 2.1. 2. Analisi orientata agli oggetti
Ingegneria del Software L-A 2. orientata agli oggetti Per effettuare correttamente l analisi, è necessario Comunicare con l utente Ottenere una buona conoscenza dell area applicativa Determinare in dettaglio
DettagliAnalisi. Ingegneria del Software L-A. Analisi. Analisi. Analisi e gestione dei rischi. Analisi e gestione dei rischi. Ingegneria del Software L-A 2.
Ingegneria del Software L-A 2. orientata agli oggetti Per effettuare correttamente l analisi, è necessario Comunicare con l utente Ottenere una buona conoscenza dell area applicativa Determinare in dettaglio
DettagliAlgoritmi e Linguaggi
Algoritmi e Linguaggi Programmi e linguaggi Un calcolatore è solo un esecutore rapidissimo di istruzioni Un programma è un insieme di istruzioni codificate in un opportuno linguaggio 2 / 21 Linguaggi e
DettagliProf. Ing. Maria Pia Fanti Dipartimento di Elettrotecnica ed Elettronica Politecnico di Bari AUTOMAZIONE INDUSTRIALE
Prof. Ing. Maria Pia Fanti Dipartimento di Elettrotecnica ed Elettronica Politecnico di Bari AUTOMAZIONE INDUSTRIALE Contenuti - Le funzioni di controllo - Funzionamento di un FMS - Pianificazione e scheduling
DettagliPowerDIP Software gestione presenze del personale aziendale. - Guida all inserimento e gestione dei turni di lavoro -
PowerDIP Software gestione presenze del personale aziendale - Guida all inserimento e gestione dei turni di lavoro - Informazioni preliminari. E necessario innanzitutto scaricare e installare l ultima
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
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
DettagliHardware, software e periferiche. Facoltà di Lettere e Filosofia anno accademico 2008/2009 secondo semestre
Hardware, software e periferiche Facoltà di Lettere e Filosofia anno accademico 2008/2009 secondo semestre Riepilogo - Concetti di base dell informatica L'informatica è quel settore scientifico disciplinare
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
DettagliAXO - Architettura dei Calcolatori e Sistema Operativo. organizzazione strutturata dei calcolatori
AXO - Architettura dei Calcolatori e Sistema Operativo organizzazione strutturata dei calcolatori I livelli I calcolatori sono progettati come una serie di livelli ognuno dei quali si basa sui livelli
DettagliNAT: Network Address Translation
NAT: Network Address Translation Prima di tutto bisogna definire che cosa si sta cercando di realizzare con NAT 1. Stai cercando di consentire agli utenti interni di accedere a Internet? 2. Stai cercando
DettagliProgetto. Struttura del documento di specifica dei requisiti, Casi d uso. manuel.comparetti@iet.unipi.it
Progetto Struttura del documento di specifica dei requisiti, Casi d uso manuel.comparetti@iet.unipi.it 1 Documenti da produrre Il progetto deve comprendere i seguenti documenti: Documento di specifica
DettagliCOSA SONO I FLOW CHART
COSA SONO LOW CHART flow chart sono schemi che descrivono visivamente come procede l esecuzione di un programma. Essi non sono legati ad uno specifico linguaggio: dato un flow chart, il programmatore può
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
DettagliESERCIZI DI MODELLAZIONE E-R
ESERCIZI DI MODELLAZIOE E-R La Galleria d Arte L Università I Film Progettare una base di dati per la gestione di una galleria d arte (1) Il sistema deve memorizzare le informazioni riguardo agli artisti:
DettagliEsame Laboratorio di Sistemi Operativi Cognome Nome Mat.
Esame Laboratorio di Sistemi Operativi 2-01-2008 Il compito è costituito da domande chiuse e domande aperte. Non è consentito l uso di libri, manuali, appunti., etc. Tempo massimo 1 ora. Domande chiuse:
DettagliScenario-based Design
Scenario-based Design DESIGN La fase di progettazione è quella che immagina soluzioni per gli spazi progettuali individuati nella fase di analisi dell attività INCORAGGIARE IDEE FOLLI SCRIVERE TUTTO BE
DettagliCosa significa che il SW è non lineare? Piccoli cambiamenti nel codice portano a grandi cambiamenti di comportamento
Cosa significa che il SW è non lineare? Piccoli cambiamenti nel codice portano a grandi cambiamenti di comportamento Cosa s'intende per Information Hiding? Impedire l'accesso a dettagli implementativi
Dettagli1 Considerare la seguente descrizione del processo di prestito dei libri di una biblioteca, per il quale si vuole progettare un software:
1 Considerare la seguente descrizione del processo di prestito dei libri di una biblioteca, per il quale si vuole progettare un software: Un testo può essere composto da uno o più tomi. Ogni tomo ha una
DettagliI database. Introduzione alla teoria delle basi di dati
I database Introduzione alla teoria delle basi di dati 1 Cosa sono e a cosa servono i Database Un database (o base di dati) e' una raccolta organizzata di dati correlati. Il principale scopo di un database
DettagliAnagrafe Nazionale Studenti aggiornamento sincronizzato. Guida Operativa
Anagrafe Nazionale Studenti aggiornamento sincronizzato Guida Operativa 1 INTRODUZIONE L'aggiornamento sincronizzato consente di riportare in tempo reale sul SIDI le modifiche operate sul programma Gestione
DettagliCodice binario. Codice. Codifica - numeri naturali. Codifica - numeri naturali. Alfabeto binario: costituito da due simboli
Codice La relazione che associa ad ogni successione ben formata di simboli di un alfabeto il dato corrispondente è detta codice. Un codice mette quindi in relazione le successioni di simboli con il significato
DettagliPROGETTAZIONE DEL SOFTWARE
PROGETTAZIONE DEL SOFTWARE EMILIANO CASALICCHIO DIPARTIMENTO DI INFORMATICA E SISTEMISTICA SAPIENZA UNIVERSITÀ DI ROMA SEDE DI RIETI HTTP://WWW.CE.UNIROMA2.IT/COURSES/PSW! Cos è UML UNIFIED MODELING LANGUAGE!
DettagliTecnica basata su Relazioni I/O Circuito di Clock
SIMULAZIONE: Tecnica basata su Relazioni I/O Visualizzare nel SIMATIC Manager l «online» Carichiamo OB1 utilizzando uno dei 3 modi: A drag & drop dall offline all online B Menu «Sistema di destinazione»
DettagliIl significato di (quasi) tutte le icone dei nuovi Lumia
Il significato di (quasi) tutte le icone dei nuovi Lumia La barra di stato Toccando la parte alta dello schermo compariranno le informazioni sulla connessione di rete, sulla forza del segnale, sul livello
DettagliSistemi Operativi. Gianluca Della Vedova. Sistemi Operativi. Gianluca Della Vedova. Sistemi Operativi. Gianluca Della Vedova.
Programmi applicativi Un programma applicativo (o applicativo) è un eseguibile che può essere utilizzato dall utente e che ha funzionalità di alto livello (word processor, spreadsheet, DBMS) Univ. Milano-Bicocca
DettagliMateriale didattico. Sommario
Diploma Universitario in Ingegneria Informatica Corso di Ingegneria del Software Docente: ing. Anna Rita Fasolino Dipartimento di Informatica e Sistemistica Università degli Studi di Napoli Federico II
DettagliModulo 1. Concetti base della Tecnologia dell informazione. Prof. Nicolello Cristiano. Modulo 1
Concetti base della Tecnologia dell informazione Algoritmi Come interpreta un computer un problema? Algoritmi Algoritmo: sequenza ordinata di istruzioni per risolvere un problema (tradotto: sequenza di
DettagliAutomi Automi finiti: macchine a stati su sistemi di transizioni finiti Modellare con TS e specificare con automi: si usa lo stesso tipo di
Automi Automi finiti: macchine a stati su sistemi di transizioni finiti Modellare con TS e specificare con automi: si usa lo stesso tipo di rappresentazione per descrivere programmi e specifiche. ω-automi:
DettagliLe aree dell informatica
Fondamenti di Informatica per la Sicurezza a.a. 2006/07 Le aree dell informatica Stefano Ferrari UNIVERSITÀ DEGLI STUDI DI MILANO DIPARTIMENTO DI TECNOLOGIE DELL INFORMAZIONE Stefano Ferrari Università
DettagliSISTEMI OPERATIVI. Nucleo di un SO. Il Nucleo. Il nucleo di un SO Gestione delle interruzioni Sincronizzazione tra processi Dispatcher. 06.
SISTEMI OPERATIVI 06.a Il Nucleo Nucleo di un SO Il nucleo di un SO Gestione delle interruzioni Sincronizzazione tra processi Dispatcher 1 Architettura di base dei SO Due le strutture di riferimento: a
DettagliGestione Commissioni Esami
Gestione Commissioni Esami Sistema informatico ESSE3 Versione 3.0 Autore Stato Revisore Gruppo Esse3 Approvato P. Casalaspro Data 30/01/2014 Distribuito a: Utenti Esse3 SOMMARIO 1 Introduzione... 1 1.1
DettagliCorso di BIOINFORMATICA Applicazioni BIO-Mediche
Corso di BIOINFORMATICA Applicazioni BIO-Mediche - Introduzione al Molecular Docking (algoritmi di ricerca e Moderni software) Pietro BUFFA Responsabile Unità Operativa di Bioinformatica Dipartimento di
DettagliIntroduzione ad UML. Perché modelliamo
Introduzione ad UML Pag. 1 Perché modelliamo Un modello è una semplificazione della realtà I modelli ci aiutano a visualizzare un sistema come è o come vorremmo che fosse ci permettono di specificare la
DettagliHeap e code di priorità
Heap e code di priorità Violetta Lonati Università degli studi di Milano Dipartimento di Scienze dell Informazione Laboratorio di algoritmi e strutture dati Corso di laurea in Informatica AA 2009/2010
DettagliIl linguaggio del calcolatore: linguaggio macchina e linguaggio assembly
Il linguaggio del calcolatore: linguaggio macchina e linguaggio assembly Percorso di Preparazione agli Studi di Ingegneria Università degli Studi di Brescia Docente: Massimiliano Giacomin Richiamo sull
DettagliL analisi dei processi
26 02 2009 L analisi dei processi La legge di Little Impatto degli obiettivi dell azienda sugli obiettivi di progettazione dei processi 1 26 02 2009 Terminologia Le misure di performance di un processo
DettagliUML. Analisi Modellazione e altro. Macchine a stati, Diagrammi di attività.. UML aa 2006/7 G.Bucci 1
UML Analisi Modellazione e altro Macchine a stati, Diagrammi di attività.. PROVVISORIO UML aa 2006/7 G.Bucci 1 Macchine a stati in UML Sono una versione estesa (derivante dalle StateChart [Harel]) delle
DettagliInformatica e calcolatori
Lezione 1 e calcolatori Mauro Piccolo September 14, 2015 1 / 22 Il futuro Trattamento automatico delle Tre principali tematica La codifica delle Gli strumenti di trattamento delle La codifica del trattamento
DettagliCorso di Informatica
CdLS in Odontoiatria e Protesi Dentarie Corso di Informatica Prof. Crescenzio Gallo crescenzio.gallo@unifg.it Immagini in movimento 2 Immagini in movimento Memorizzazione mediante sequenze di fotogrammi.
Dettaglidiagramma funzionale sequenziale Sequential functional chart (SFC)
Introduzione Sequential functional chart (SFC) Linguaggio innovativo adatto per la scrittura di algoritmi per il controllo logico/sequenziale Nasce come risultato di una apposita commissione istituita
DettagliIntroduzione. Modellazione visuale. Perché UML. cont.) Perché UML (cont( Contributi principali
Unified Modeling Language Introduzione Davide Frey Corso di Ingegneria del Software Tratto dal materiale di Luciano aresi Politecnico di Milano Modellazione visuale Perché UML richiesta ordine consegna
DettagliIngegneria del Software UML - Unified Modeling Language
Ingegneria del Software UML - Unified Modeling Language Obiettivi. Presentare un approccio visuale alla progettazione. Illustrare i vantaggi dell utilizzo di diagrammi nella fase di progettazione. Rispondere
DettagliLezione 4. Sommario. L artimetica binaria: I numeri relativi e frazionari. I numeri relativi I numeri frazionari
Lezione 4 L artimetica binaria: I numeri relativi e frazionari Sommario I numeri relativi I numeri frazionari I numeri in virgola fissa I numeri in virgola mobile 1 Cosa sono inumeri relativi? I numeri
DettagliLE RETI DI COMPUTER. Il modello ISO/OSI Prima parte
LE RETI DI COMPUTER Il modello ISO/OSI Prima parte I MODELLI PER LE RETI All i izio dell era i for ati a, la gestio e delle comunicazioni tra sistemi si era rilevata uno dei problemi più grandi, soprattutto
DettagliUnified Modeling Language UML 2.0 -Sequence, Communication and Interaction Overview diagrams -
Unified Modeling Language UML 2.0 -Sequence, Communication and Interaction Overview diagrams - Henry Muccini Università degli Studi dell'aquila muccini@di.univaq.it http://www.henrymuccini.com Engineering
DettagliIngegneria del Software I. UML - Use Case Diagram
Requisiti e casi d uso Unified Modeling Language Use Case Diagram 1 Il primo passo di qualsiasi processo di sviluppo è la definizione dei requisiti Definizione del Business Model Solitamente informale
DettagliEsame di INFORMATICA (*) Operazioni Aritmetiche: Somma. Lezione 3. Operazioni Aritmetiche: Somma. Operazioni Aritmetiche: Somma
Università degli Studi di L Aquila Facoltà di Biotecnologie Esame di INFORMATICA A.A. 2008/09 Lezione 3 Operazioni Aritmetiche: Somma + 1 0 1 0 (*) 1 0 1 0 (*) con riporto di 1 2 Operazioni Aritmetiche:
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
DettagliLinguaggio C: introduzione
Dipartimento di Elettronica ed Informazione Politecnico di Milano Informatica e CAD (c.i.) - ICA Prof. Pierluigi Plebani A.A. 2008/2009 Linguaggio C: introduzione La presente dispensa e da utilizzarsi
DettagliI Bistabili. Maurizio Palesi. Maurizio Palesi 1
I Bistabili Maurizio Palesi Maurizio Palesi 1 Sistemi digitali Si possono distinguere due classi di sistemi digitali Sistemi combinatori Il valore delle uscite al generico istante t* dipende solo dal valore
DettagliUniversità degli Studi di Roma Tor Vergata Facoltà di Ingegneria Corso di Laurea in Ingegneria Informatica. Programmazione orientata agli Oggetti
Università degli Studi di Roma Tor Vergata Facoltà di Ingegneria Corso di Laurea in Ingegneria Informatica Programmazione orientata agli Oggetti OOP L 06b 1 L06b: Metamorfosi 2 Metamorfosi? Vuol dire che
DettagliCORSO DI DISEGNO TECNICO EDILE LEZIONE 2 TEORIA DELLE OMBRE
PERCORSI ABILITANTI SPECIALI (PAS) - A.A. 2013-2014 UNIVERSITÀ DI PISA DIPARTIMENTO DI INGEGNERIA CIVILE E INDUSTRIALE (DICI) CORSO DI DISEGNO TECNICO EDILE LEZIONE 2 TEORIA DELLE OMBRE 1 non abbiate mai
DettagliModulo 1: Le I.C.T. UD 1.2a: Analogico/Digitale
Modulo 1: Le I.C.T. : Analogico/Digitale Prof. Alberto Postiglione Corso di Informatica Generale (AA 07-08) Corso di Laurea in Scienze della Comunicazione Università degli Studi di Salerno ANALOGICO e
DettagliRETI DI TELECOMUNICAZIONE
RETI DI TELECOMUNICAZIONE TEORIA DELLE CODE Teoria delle code Obiettivo Avere uno strumento analitico per determinare le condizioni di funzionamento di una rete in termini prestazionali La teoria delle
DettagliIl diagramma dei casi d uso
Il diagramma dei casi d uso Laboratorio di Sistemi e Processi Organizzativi Gian Piero Favini A.A. 2006-2007 Lab Sistemi e Processi Organizzativi () Il diagramma dei casi d uso A.A. 2006-2007 1 / 34 Tassonomia
DettagliUn sms e via! Una soluzione per il pagamento del ticket nei servizi di trasporto pubblico locale
Un sms e via! Una soluzione per il pagamento del ticket nei servizi di trasporto pubblico locale Maurizio Baldacci Direttore Generale Agenzia Mobilità Rimini Obiettivi del progetto Mobile-Ticket Offrire
DettagliCURRICOLO DI MATEMATICA CLASSE PRIMA
CURRICOLO DI MATEMATICA CLASSE PRIMA INDICATORI OBIETTIVI SPECIFICI CONTENUTI NUMERI Eseguire le quattro operazioni con i numeri interi. Elevare a potenza numeri naturali e interi. Comprendere il significato
DettagliModellazione e progettazione con UML. Eduard Roccatello 3D GIS Specialist <eduard.roccatello@3dgis.it> www.roccatello.it
Modellazione e progettazione con UML Eduard Roccatello 3D GIS Specialist www.roccatello.it Object Oriented Analysis and Design Consente di modellare un sistema attraverso l
DettagliIl concetto di calcolatore e di algoritmo
Il concetto di calcolatore e di algoritmo Elementi di Informatica e Programmazione Percorso di Preparazione agli Studi di Ingegneria Università degli Studi di Brescia Docente: Massimiliano Giacomin Informatica
DettagliLa specifica del problema
2.9 (Caso di studio facoltativo) Pensare a oggetti: esame del problema Iniziamo ora a esaminare il nostro caso di studio di progettazione e implementazione orientate agli oggetti. Le sezioni Pensare a
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
DettagliUniRoma2 - Ingegneria del Software 1 1
Object Oriented Analysis - OOA La fase di OOA definisce, secondo un approccio ad oggetti, COSA un prodotto software deve fare (mentre la fase di OOD definisce, sempre secondo un approccio ad oggetti, COME
DettagliParte 6 Esercitazione sull accesso ai file
Gestione dei dati Parte 6 Esercitazione sull accesso ai file Maurizio Lenzerini, Riccardo Rosati Facoltà di Ingegneria Sapienza Università di Roma Anno Accademico 2012/2013 http://www.dis.uniroma1.it/~rosati/gd/
DettagliTask Analysis. Ing. Valeria Mirabella Web: http://www.dis.uniroma1.it/~mirabell E-mail: valeria.mirabella@dis.uniroma1.it
Task Analysis Ing. Valeria Mirabella Web: http://www.dis.uniroma1.it/~mirabell E-mail: valeria.mirabella@dis.uniroma1.it Task Analysis Processo utilizzato per analizzare il modo in cui le persone eseguono
DettagliPROGRAMMAZIONE STRUTTURATA
PROGRAMMAZIONE STRUTTURATA Programmazione strutturata 2 La programmazione strutturata nasce come proposta per regolamentare e standardizzare le metodologie di programmazione (Dijkstra, 1965) Obiettivo:
DettagliLe comunicazioni ordinate
Le comunicazioni ordinate Comunicazioni Ordinate E importante (e utile definire delle primitive di comunicazione che diano qualche garanzia sull ordine di consegna dei messaggi inviati all interno di un
DettagliSomma di numeri floating point. Algoritmi di moltiplicazione e divisione per numeri interi
Somma di numeri floating point Algoritmi di moltiplicazione e divisione per numeri interi Standard IEEE754 " Standard IEEE754: Singola precisione (32 bit) si riescono a rappresentare numeri 2.0 10 2-38
DettagliMetodi e tecniche di analisi dei dati nella ricerca psico-educativa Parte III
Laboratorio Metodi e tecniche di analisi dei dati nella ricerca psico-educativa Parte III Laura Palmerio Università Tor Vergata A.A. 2005/2006 MISURAZIONE Misurare le variabili Assegnazione di valori numerici
DettagliCorso di Ingegneria del Software. Architetture in UML
Corso di Ingegneria del Software a.a. 2009/2010 Mario Vacca mario.vacca1@istruzione.it Deployment diagram Package diagram Component diagram Esempio Bibliografia Sommario Tipi di viste viste di tipo strutturale
Dettagli