Ingegneria del Software

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Ingegneria del Software"

Transcript

1 Università degli Studi di Napoli Federico II Ingegneria del Software a.a. 2013/14 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 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

Dettagli

Statechart Diagrams. Ing. Orazio Tomarchio Orazio.Tomarchio@diit.unict.it

Statechart 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

Dettagli

UML. Il linguaggio UML e ArgoUML. Ingegneria dei sistemi software 2009/ /09/2009

UML. Il linguaggio UML e ArgoUML. Ingegneria dei sistemi software 2009/ /09/2009 UML Il linguaggio UML e ArgoUML 30/09/2009 Ingegneria dei sistemi software 2009/2010 manuel.comparetti@iet.unipi.it UML Unified Modeling Language una famiglia di notazioni grafiche standardizzate* orientata

Dettagli

Avete capito fino in fondo il concetto di nodo fine flusso? Che differenza c e tra fine flusso e fine attività? MODEL DIFFERENCES AND EVOLUTION

Avete capito fino in fondo il concetto di nodo fine flusso? Che differenza c e tra fine flusso e fine attività? MODEL DIFFERENCES AND EVOLUTION 1 Avete capito fino in fondo il concetto di nodo fine flusso? Che differenza c e tra fine flusso e fine attività? MODEL DIFFERENCES AND EVOLUTION 2 Rivediamo questo esempio di activity diagram Università

Dettagli

2. Simulazione discreta: entità ed operazioni

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

Dettagli

Diagrammi a blocchi 1

Diagrammi 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

Dettagli

Diagrammi di stato Statechart Diagrams

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

Dettagli

Simulazione di sistemi non lineari Implementazione di Automi Ibridi con Stateflow

Simulazione 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

Dettagli

Fondamenti VBA. Che cos è VBA

Fondamenti 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

Dettagli

Gestione del workflow

Gestione 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

Dettagli

Ingegneria del Software

Ingegneria 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

Dettagli

Modulo 13. Diagrammi degli stati

Modulo 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

Dettagli

FSM: Macchine a Stati Finiti

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

Dettagli

Sequence Diagram e Collaboration Diagram

Sequence 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

Dettagli

Cos è un algoritmo. Si dice algoritmo la descrizione di un metodo di soluzione di un problema che sia

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

Dettagli

Lab 1: Java Multithreading

Lab 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

Dettagli

DISPENSE DI PROGRAMMAZIONE

DISPENSE 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

Dettagli

Definizione di metodi

Definizione 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

Dettagli

La rappresentazione dell algoritmo Diagrammi di flusso

La 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

Dettagli

Activity Diagrams. Ing. Orazio Tomarchio Orazio.Tomarchio@diit.unict.it

Activity 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

Dettagli

Ingegneria del Software T. 2. Analisi orientata agli oggetti

Ingegneria 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

Dettagli

Il calcolatore. Architettura di un calcolatore (Hardware)

Il 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

Dettagli

Introduzione alle macchine a stati (non definitivo)

Introduzione 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

Dettagli

UML: DIAGRAMMA DI SEQUENZA

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

Dettagli

CONCETTI E ARCHITETTURA DI UN SISTEMA DI BASI DI DATI

CONCETTI E ARCHITETTURA DI UN SISTEMA DI BASI DI DATI CONCETTI E ARCHITETTURA DI UN SISTEMA DI BASI DI DATI Introduzione alle basi di dati (2) 2 Modelli dei dati, schemi e istanze (1) Nell approccio con basi di dati è fondamentale avere un certo livello di

Dettagli

Progettazione del Software. Emiliano Casalicchio. Dipartimento di Informatica e Sistemistica SAPIENZA Università di Roma Sede di Rieti

Progettazione 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

Dettagli

Alcune idee sui sistemi software e la loro architettura

Alcune 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

Dettagli

Modellazione di sistema

Modellazione di sistema Corso di Laurea Specialistica in Ingegneria Informatica Corso di Ingegneria del Software A. A. 2008 - Modellazione di sistema E. TINELLI Contenuti Approcci di analisi Linguaggi di specifica Modelli di

Dettagli

Laboratorio di Progettazione di Sistemi Software Progetto: modellazione di un dominio e sue attività

Laboratorio di Progettazione di Sistemi Software Progetto: modellazione di un dominio e sue attività Laboratorio di Progettazione di Sistemi Software Progetto: modellazione di un dominio e sue attività Valentina Presutti (A-L) Riccardo Solmi (M-Z) Definizione del problema Modello di un dominio Si vuole

Dettagli

PLC Sistemi a Logica Programmabile Il linguaggio Ladder-Parte

PLC 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

Dettagli

Analisi. Ingegneria del Software L-A. Analisi. Analisi. Ingegneria del Software L-A 2.1. 2. Analisi orientata agli oggetti

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

Dettagli

Analisi. Ingegneria del Software L-A. Analisi. Analisi. Analisi e gestione dei rischi. Analisi e gestione dei rischi. Ingegneria del Software L-A 2.

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

Dettagli

Algoritmi e Linguaggi

Algoritmi 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

Dettagli

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

Dettagli

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

Dettagli

PROCESSI NON SEQUENZIALI E TIPI DI INTERAZIONE

PROCESSI 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

Dettagli

DIAGRAMMI DI SEQUENZA

DIAGRAMMI 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

Dettagli

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

Dettagli

Sistemi Web per il turismo - lezione 3 -

Sistemi 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

Dettagli

AXO - Architettura dei Calcolatori e Sistema Operativo. organizzazione strutturata dei calcolatori

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

Dettagli

NAT: Network Address Translation

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

Dettagli

Progetto. Struttura del documento di specifica dei requisiti, Casi d uso. manuel.comparetti@iet.unipi.it

Progetto. Struttura del documento di specifica dei requisiti, Casi d uso. manuel.comparetti@iet.unipi.it Progetto Struttura del documento di specifica dei requisiti, Casi d uso manuel.comparetti@iet.unipi.it 1 Documenti da produrre Il progetto deve comprendere i seguenti documenti: Documento di specifica

Dettagli

COSA SONO I FLOW CHART

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

Dettagli

LEZIONE 7 - STATE MACHINE DIAGRAM

LEZIONE 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

Dettagli

ESERCIZI DI MODELLAZIONE E-R

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

Dettagli

Esame Laboratorio di Sistemi Operativi Cognome Nome Mat.

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

Dettagli

Scenario-based Design

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

Dettagli

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

Dettagli

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

Dettagli

I database. Introduzione alla teoria delle basi di dati

I 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

Dettagli

Anagrafe Nazionale Studenti aggiornamento sincronizzato. Guida Operativa

Anagrafe 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

Dettagli

Codice binario. Codice. Codifica - numeri naturali. Codifica - numeri naturali. Alfabeto binario: costituito da due simboli

Codice 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

Dettagli

PROGETTAZIONE DEL SOFTWARE

PROGETTAZIONE DEL SOFTWARE PROGETTAZIONE DEL SOFTWARE EMILIANO CASALICCHIO DIPARTIMENTO DI INFORMATICA E SISTEMISTICA SAPIENZA UNIVERSITÀ DI ROMA SEDE DI RIETI HTTP://WWW.CE.UNIROMA2.IT/COURSES/PSW! Cos è UML UNIFIED MODELING LANGUAGE!

Dettagli

Tecnica basata su Relazioni I/O Circuito di Clock

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

Dettagli

Il significato di (quasi) tutte le icone dei nuovi Lumia

Il 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

Dettagli

Sistemi Operativi. Gianluca Della Vedova. Sistemi Operativi. Gianluca Della Vedova. Sistemi Operativi. Gianluca Della Vedova.

Sistemi 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

Dettagli

Materiale didattico. Sommario

Materiale didattico. Sommario Diploma Universitario in Ingegneria Informatica Corso di Ingegneria del Software Docente: ing. Anna Rita Fasolino Dipartimento di Informatica e Sistemistica Università degli Studi di Napoli Federico II

Dettagli

Modulo 1. Concetti base della Tecnologia dell informazione. Prof. Nicolello Cristiano. Modulo 1

Modulo 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

Dettagli

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

Dettagli

Le aree dell informatica

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

Dettagli

SISTEMI OPERATIVI. Nucleo di un SO. Il Nucleo. Il nucleo di un SO Gestione delle interruzioni Sincronizzazione tra processi Dispatcher. 06.

SISTEMI 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

Dettagli

Gestione Commissioni Esami

Gestione 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

Dettagli

Corso di BIOINFORMATICA Applicazioni BIO-Mediche

Corso 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

Dettagli

Introduzione ad UML. Perché modelliamo

Introduzione ad UML. Perché modelliamo Introduzione ad UML Pag. 1 Perché modelliamo Un modello è una semplificazione della realtà I modelli ci aiutano a visualizzare un sistema come è o come vorremmo che fosse ci permettono di specificare la

Dettagli

Heap e code di priorità

Heap 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

Dettagli

Il linguaggio del calcolatore: linguaggio macchina e linguaggio assembly

Il 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

Dettagli

L analisi dei processi

L 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

Dettagli

UML. 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à.. 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

Dettagli

Informatica e calcolatori

Informatica 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

Dettagli

Corso di Informatica

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

Dettagli

diagramma funzionale sequenziale Sequential functional chart (SFC)

diagramma 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

Dettagli

Introduzione. Modellazione visuale. Perché UML. cont.) Perché UML (cont( Contributi principali

Introduzione. Modellazione visuale. Perché UML. cont.) Perché UML (cont( Contributi principali Unified Modeling Language Introduzione Davide Frey Corso di Ingegneria del Software Tratto dal materiale di Luciano aresi Politecnico di Milano Modellazione visuale Perché UML richiesta ordine consegna

Dettagli

Ingegneria del Software UML - Unified Modeling Language

Ingegneria del Software UML - Unified Modeling Language Ingegneria del Software UML - Unified Modeling Language Obiettivi. Presentare un approccio visuale alla progettazione. Illustrare i vantaggi dell utilizzo di diagrammi nella fase di progettazione. Rispondere

Dettagli

Lezione 4. Sommario. L artimetica binaria: I numeri relativi e frazionari. I numeri relativi I numeri frazionari

Lezione 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

Dettagli

LE RETI DI COMPUTER. Il modello ISO/OSI Prima parte

LE 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

Dettagli

Unified Modeling Language UML 2.0 -Sequence, Communication and Interaction Overview diagrams -

Unified 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

Dettagli

Ingegneria del Software I. UML - Use Case Diagram

Ingegneria del Software I. UML - Use Case Diagram Requisiti e casi d uso Unified Modeling Language Use Case Diagram 1 Il primo passo di qualsiasi processo di sviluppo è la definizione dei requisiti Definizione del Business Model Solitamente informale

Dettagli

Esame di INFORMATICA (*) Operazioni Aritmetiche: Somma. Lezione 3. Operazioni Aritmetiche: Somma. Operazioni Aritmetiche: Somma

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

Dettagli

Un esempio di if annidati

Un 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

Dettagli

Linguaggio C: introduzione

Linguaggio 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

Dettagli

I Bistabili. Maurizio Palesi. Maurizio Palesi 1

I 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

Dettagli

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

Dettagli

CORSO DI DISEGNO TECNICO EDILE LEZIONE 2 TEORIA DELLE OMBRE

CORSO 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

Dettagli

Modulo 1: Le I.C.T. UD 1.2a: Analogico/Digitale

Modulo 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

Dettagli

RETI DI TELECOMUNICAZIONE

RETI 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

Dettagli

Il diagramma dei casi d uso

Il 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

Dettagli

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

Dettagli

CURRICOLO DI MATEMATICA CLASSE PRIMA

CURRICOLO 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

Dettagli

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

Dettagli

Il concetto di calcolatore e di algoritmo

Il 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

Dettagli

La specifica del problema

La 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

Dettagli

Ingegneria del Software 4. Introduzione a UML. Dipartimento di Informatica Università di Pisa A.A. 2014/15

Ingegneria del Software 4. Introduzione a UML. Dipartimento di Informatica Università di Pisa A.A. 2014/15 Ingegneria del Software 4. Introduzione a UML Dipartimento di Informatica Università di Pisa A.A. 2014/15 e per i modelli iterativi analisi peliminare analisi e progettazione realizzazione Necessità di

Dettagli

UniRoma2 - Ingegneria del Software 1 1

UniRoma2 - Ingegneria del Software 1 1 Object Oriented Analysis - OOA La fase di OOA definisce, secondo un approccio ad oggetti, COSA un prodotto software deve fare (mentre la fase di OOD definisce, sempre secondo un approccio ad oggetti, COME

Dettagli

Parte 6 Esercitazione sull accesso ai file

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

Dettagli

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

Dettagli

PROGRAMMAZIONE STRUTTURATA

PROGRAMMAZIONE STRUTTURATA PROGRAMMAZIONE STRUTTURATA Programmazione strutturata 2 La programmazione strutturata nasce come proposta per regolamentare e standardizzare le metodologie di programmazione (Dijkstra, 1965) Obiettivo:

Dettagli

Le comunicazioni ordinate

Le 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

Dettagli

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

Dettagli

Metodi e tecniche di analisi dei dati nella ricerca psico-educativa Parte III

Metodi 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

Dettagli

Corso di Ingegneria del Software. Architetture in UML

Corso 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