Caratteristiche dei sistemi real-time

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Caratteristiche dei sistemi real-time"

Transcript

1 Mod 1 1

2 Mod 1 2

3 Caratteristiche dei sistemi real-time Le caratteristiche più rilevanti da un punto di vista software sono: Prestazioni elevate Il tempo di risposta richiesto ai sistemi real-time è un fattore di notevole criticità: la risoluzione temporale con la quale si debbono susseguire cause ed effetti, è a volte dell ordine delle frazioni di millisecondo. Variabilità del carico di elaborazione L elaborazione eseguita dai sistemi real-time è molto spesso condizionata dal verificarsi di eventi esterni a fronte dei quali devono, in tempi ridotti, intraprendere azioni opportune. Questo comporta una disomogenea distribuzione del carico di elaborazione e il dimensionamento del sistema sulle condizioni di picco. Mod 1 3

4 Caratteristiche dei sistemi real-time Interferenze temporali Eventi significativi possono verificarsi in finestre temporali critiche: per esempio può verificarsi, durante l esecuzione di una routine di risposta ad un evento, un altro evento, magari di natura diversa. Difficoltà di riproduzione del campo in laboratorio Spesso le grandi dimensioni della macchina che dovrà essere controllata dal sistema real-time, o la non disponibilità di alcune sue parti (sovente progetto e sviluppo di software, elettronica e meccanica procedono in parallelo), obbligano ad eseguire il collaudo del software con un impianto ridotto o con un simulatore. La simulazione dei segnali può essere, d altra parte, complessa e di difficile realizzazione soprattutto per quanto riguarda il loro comportamento dinamico. La realizzazione dei simulatori può comportare a volte il progetto e lo sviluppo di sistemi real-time di complessità pari a quella del sistema da collaudare. Mod 1 4

5 Caratteristiche dei sistemi real-time Difficoltà di misura delle prestazioni In molti casi le prestazioni di un sistema real-time sono talmente spinte da rendere oggettivamente difficile la misura dei tempi di risposta effettivi. Robustezza e Affidabilità I sistemi real-time sono usualmente mission critical. Essi debbono quindi spesso fornire un livello minimo di funzionalità anche in condizioni, interne o esterne al sistema, fortemente degradate. Questo implica, a volte, la realizzazione di architetture hw/sw ridondate o comunque con livelli plurimi di funzionalità (funzioni automatiche, semiautomatiche o manuali). Facilità d uso Spesso i sistemi real-time sono embedded in oggetti di uso comune, il che richiede la possibilità di operare in modo fortemente userfriendly. Mod 1 5

6 Caratteristiche dei sistemi real-time Architetture software a processi concorrenti Il software dei sistemi real-time è generalmente costituito da più processi o task eseguiti simultaneamente dal sistema, il quale, a sua volta, può presentare una struttura a processore singolo o multiplo. Nasce quindi l esigenza di coordinare l azione svolta dai singoli processi; a tale scopo vengono usati strumenti di sincronizzazione (interblocco fra processi) e comunicazione (scambio di informazioni fra processi), messi normalmente a disposizione dalle primitive dei sistemi operativi real-time multitasking. D altra parte il progetto, lo sviluppo e il collaudo di architetture a processi concorrenti sono particolarmente difficoltosi anche per la carenza di tool adeguati. Mod 1 6

7 Caratteristiche dei sistemi real-time Prestazioni elevate Variabilità del carico Interferenze temporali Difficoltà di riprod. del campo Architettura a processi concor. Robustezza-Affidabilità Facilità d'uso PROGETTO SVILUPPO COLLAUDO Impatto forte Impatto medio Mod 1 7

8 Sistemi operativi real-time Un buon sistema operativo real-time deve garantire le seguenti funzionalità: Multitasking Schedulazione basata sulla priorità Logica di pre-emption: ovvero possibilità di interruzione di una task da parte di un altra (più prioritaria) Gestione dei sincronismi fra processi (eventualmente anche su processori differenti) Gestione dello scambio dati fra processi (eventualmente anche su processori differenti) Gestione degli interrupt a livello user. In alcuni casi l esigenza di massimizzare le prestazioni obbliga a rinunciare ai vantaggi del supporto di un sistema operativo (situazione frequente per i sistemi embedded). In altri casi l esigenza di aderire a standard commerciali impone l uso di sistemi operativi non real-time per lo sviluppo di applicazioni real-time. Mod 1 8

9 Esempi di sistemi real-time Sistemi di controllo di macchine e impianti industriali Sistemi militari Telefoni cellulari Apparecchi diagnostici e di monitoraggio pazienti Sistemi di prenotazione delle compagnie aeree Sistemi di emissione televisiva Sistemi di visione Sistemi di sicurezza Sistemi di regolazione Elettrodomestici Contatori di energia Sistemi a bordo di aerei, treni, auto Supervisori di reti di gas, acqua, elettricità Casse dei supermercati Monitor ambientali Mod 1 9

10 Mod 1 10

11 Criteri generali di progettazione Il primo criterio di progettazione di un sistema, è quello della Funzionalità ovvero, date le specifiche di funzionamento, ci si preoccupa del fatto che il sistema faccia quanto prescritto. Mod 1 11

12 Criteri generali di progettazione Un progetto real-time sviluppato solo per funzionalità può portare alla realizzazione di un sistema che teoricamente risponde ai requisiti richiesti, ma che, nella realtà, presenta anomalie o limitazioni. E necessario quindi tenere conto di più aspetti, tra i quali sono di notevole importanza le Prestazioni in quanto esiste la necessità di garantire tempi di risposta adeguati rispetto ad eventi asincroni esterni. Mod 1 12

13 Criteri generali di progettazione Tenere in considerazione le prestazioni significa operare innanzitutto opportune scelte di: ARCHITETTURA HW Ad esempio impiego di CPU più veloci, utilizzo di più CPU individuando un fast RT subsystem, ecc. ARCHITETTURA SW Ad esempio non utilizzare SO nel fast RT subsystem, gestire eventi in interrupt piuttosto che in polling, ecc. Un errore frequente è proprio quello di affrontare il problema prestazionale nella fase di tuning del sistema, ovvero quando le scelte HW e SW sono già state fatte. Mod 1 13

14 Criteri generali di progettazione D altra parte il progetto per sole funzionalità e prestazioni può portare alla realizzazione di un oggetto che: si comporta nel modo richiesto solo se sottoposto alle sollecitazioni previste (ovvero risponde bene ai test positivi, ma non altrettanto a quelli negativi); è di scarsa manutenibilità; è difficilmente collaudabile; ecc Queste carenze evidenziano la necessità di altri criteri da rispettare nel progetto di un sistema. Mod 1 14

15 Criteri generali di progettazione MODIFICABILITA /MANUTENIBILITA La manutenzione di un sistema implica costi superiori a quelli di sviluppo (modello iceberg): in fase di progetto o di sviluppo si possono adottare accorgimenti che facilitino le modifiche da apportarsi durante il ciclo di vita del sistema. APPLICAZIONE FUNZIONE A FUNZIONE B FUNZIONE C MODIFICHE Per esempio gli algoritmi di elaborazione associati ad un particolare ciclo lavorativo della macchina sotto controllo dovrebbero essere incapsulati in routines facilmente modificabili o totalmente rimpiazzabili senza necessità di ulteriori modifiche, nel caso in cui cambi il ciclo lavorativo stesso. Mod 1 15

16 Criteri generali di progettazione LEGGIBILITA DEL CODICE Un notevole apporto alla manutenibilità del software è dato dalla chiarezza del codice: rendere il codice leggibile significa fare un uso appropriato di: Commenti Pseudo codice Indentazioni Nomi di costanti e variabili espressivi Documentazione Il codice prodotto non deve essere ad uso esclusivo di chi lo ha sviluppato ma, al contrario, è necessario fornire ad altri specialisti software gli strumenti per acquisirne il dominio, nel più breve tempo possibile (nella new economy il software è un asset aziendale strategico). Mod 1 16

17 Criteri generali di progettazione LEGGIBILITA DEL CODICE La scarsa leggibilità del codice, abbinata ad una cattiva documentazione di progetto, può perfino comportare, nel tempo, la perdita del Know how sugli algoritmi di controllo implementati dal sistema. Mod 1 17

18 Criteri generali di progettazione VALIDABILITA / VERIFICABILITA Identifica il livello di collaudabilità funzionale (esterna) e topologica (interna) del sistema. Quanto più un sistema è modificabile (quindi strutturato e modulare) e leggibile, tanto più esso è verificabile. Mod 1 18

19 Criteri generali di progettazione ROBUSTEZZA Il sistema deve superare bene sia i test positivi, sia quelli negativi: TEST POSITIVI TEST NEGATIVI SISTEMA FUNZIONA E ROBUSTO E quindi necessario prevedere nel codice una buona copertura delle possibili sollecitazioni esterne anomale. L esecuzione dei test negativi è a volte resa ardua dalla difficoltà incontrata nel riprodurre in laboratorio (in house testing) le svariate dinamiche dei segnali esterni. L esigenza di robustezza può quindi portare anche a modificare le scelte di progetto dei simulatori. Mod 1 19

20 Criteri generali di progettazione FACILITA D USO L interazione di un sistema real-time con l utente finale deve spesso essere estremamente agevole, perché l operatore può avere un basso livello di specializzazione professionale o essere impegnato in attività manuali, oppure perché il sistema è embedded in oggetti di uso comune. Nasce quindi l esigenza di realizzare interfacce uomo-macchina che garantiscano la maggior ergonomicità e che siano il più possibile userfriendly, operando scelte che coinvolgono tanto l operatività (ad esempio numero di tasti e loro dislocazione) quanto la gestione software. In taluni casi è anche opportuno prevedere più livelli di utente: system administrator, super-user, user. Mod 1 20

21 Criteri generali di progettazione PORTABILITA Equivale a salvaguardare l investimento software rispetto all evoluzione tecnologica (non solo SO, ma anche I/O, reti, ecc.) e funzionale: allungando quindi il ciclo di vita del prodotto software. APPLICAZIONE IN C INTERFACCIA INTERFACCIA S. O. #1 S. O. #2 Mod 1 21

22 Criteri generali di progettazione SEMPLICITA /ELEGANZA ARCHITETTURALE Un sistema elegante è semplice; se il sistema non è semplice creerà più problemi del necessario. PUNTATORE 3000 A100 10FF 10FF FUNZIONE A100 A VETTORE DI PUNTATORI A200 AF00 Era necessario? A200 AF00 FUNZIONE B FUNZIONE n Fai le cose nel modo più semplice possibile, ma non più semplice (A. Einstein) Mod 1 22

23 Criteri generali di progettazione I criteri esaminati sono normalmente in conflitto fra loro: Un sistema altamente portabile sarà poco prestazionale (le interfacce software rallentano l esecuzione). D altra parte non è sempre richiesto il pieno rispetto di tutti i criteri visti: La manutenibilità è quasi sempre strategica, ma non per un SW che serve per un esperimento e poi viene abbandonato (ad esempio un simulatore). Mod 1 23

24 Criteri generali di progettazione MODIFICABILITA ROBUSTEZZA FACILITA D USO FUNZIONALITA MODELLO DEL SISTEMA PRESTAZIONI PORTABILITA LEGGIBILITA SEMPLICITA Si affina il modello osservandolo da più punti di vista... Mod 1 24

25 Criteri generali di progettazione quando il modello sarà armoniosamente accordato rispetto a tutti i fattori rilevanti per lo specifico progetto, il sistema avrà preso corpo. Allora si potrà ridurre il livello di astrazione (procedendo top-down) e ricominciare da capo il processo. Mod 1 25

26 Mod 1 26

27 Principi dell OOD L OOD è una filosofia di progettazione dei sistemi risultante da una decennale evoluzione storica della cultura del SW design. Mod 1 27

28 Principi dell OOD DEFINIZIONE Un progetto orientato agli oggetti è basato su entità (oggetti) che hanno uno stato e operazioni su di esso, che non risultano visibili dall esterno (information hiding). Il progetto è espresso in termini di servizi richiesti e forniti da oggetti interagenti. Le principali caratteristiche del progetto sono: la eliminazione di aree dati condivise (le interazioni avvengono per scambio di messaggi); gli oggetti sono entità indipendenti (incapsulate), facilmente modificabili a condizione di mantenerne le interfacce; gli oggetti possono essere distribuiti e possono eseguire le elaborazioni sequenzialmente o in parallelo. Mod 1 28

29 Principi dell OOD La definizione precedente evidenzia che l OOD impiega nel SW design principi generali di organizzazione dei processi industriali. Mod 1 29

30 Principi dell OOD DEFINIZIONE Un progetto orientato agli oggetti è basato su entità (oggetti) che hanno uno stato e operazioni su di esso, che non risultano visibili dall esterno (information hiding). Il progetto è espresso in termini di servizi richiesti e forniti da oggetti interagenti. Le principali caratteristiche del progetto sono: la eliminazione di aree dati condivise (le interazioni avvengono per scambio di messaggi); gli oggetti sono entità indipendenti (incapsulate), facilmente modificabili a condizione di mantenerne le interfacce; gli oggetti possono essere distribuiti e possono eseguire le elaborazioni sequenzialmente o in parallelo. Su questo principio si basano sia il packaging dei circuiti integrati nella produzione di componenti elettronici, sia il modello ISO-OSI nella progettazione di reti di comunicazione dati. Mod 1 30

31 Principi dell OOD DEFINIZIONE Un progetto orientato agli oggetti è basato su entità (oggetti) che hanno uno stato e operazioni su di esso, che non risultano visibili dall esterno (information hiding). Il progetto è espresso in termini di servizi richiesti e forniti da oggetti interagenti. Le principali caratteristiche del progetto sono: la eliminazione di aree dati condivise (le interazioni avvengono per scambio di messaggi); gli oggetti sono entità indipendenti (incapsulate), facilmente modificabili a condizione di mantenerne le interfacce; gli oggetti possono essere distribuiti e possono eseguire le elaborazioni sequenzialmente o in parallelo. Questo è il principio generale di standardizzazione dei componenti su cui si basa la maggioranza degli interventi di razionalizzazione dei processi produttivi Mod 1 31

32 Principi dell OOD DEFINIZIONE Un progetto orientato agli oggetti è basato su entità (oggetti) che hanno uno stato e operazioni su di esso, che non risultano visibili dall esterno (information hiding). Il progetto è espresso in termini di servizi richiesti e forniti da oggetti interagenti. Le principali caratteristiche del progetto sono: la eliminazione di aree dati condivise (le interazioni avvengono per scambio di messaggi); gli oggetti sono entità indipendenti (incapsulate), facilmente modificabili a condizione di mantenerne le interfacce; gli oggetti possono essere distribuiti e possono eseguire le elaborazioni sequenzialmente o in parallelo. Questi principi sono di normale utilizzo nella progettazione delle strutture organizzate. Mod 1 32

33 Principi dell OOD DEFINIZIONE Un progetto orientato agli oggetti è basato su entità (oggetti) che hanno uno stato e operazioni su di esso, che non risultano visibili dall esterno (information hiding). Il progetto è espresso in termini di servizi richiesti e forniti da oggetti interagenti. Le principali caratteristiche del progetto sono: la eliminazione di aree dati condivise (le interazioni avvengono per scambio di messaggi); gli oggetti sono entità indipendenti (incapsulate), facilmente modificabili a condizione di mantenerne le interfacce; gli oggetti possono essere distribuiti e possono eseguire le elaborazioni sequenzialmente o in parallelo. Ecc., Ecc., Ecc. L OOD è figlio naturale della cultura industriale. Mod 1 33

34 Principi dell OOD - Evoluzione storica Linguaggio macchina (operandi/operatori) C++ -VisualStudio Assembler Smaltalk - Ada Linguaggi di terza generazione Astrazione-Information hiding - Inheritance Programmazione modulare Librerie Mod 1 34

35 Principi dell OOD La metafora dei SW IC s Gli oggetti equivalgono metaforicamente ai circuiti integrati (IC s) usati nella ingegneria HW. Gli IC s a grande integrazione (VLSI) hanno prodotto una formidabile accelerazione nel progresso della progettazione circuitale. La non fisicità del software consente di potenziare l approccio attraverso meccanismi impossibili nel mondo fisico: istanza dinamica degli oggetti inheritance. Mod 1 35

36 Principi dell OOD OOD e progettazione di sistemi real-time Le architetture software dei sistemi real-time sono state storicamente progettate strutturando il sistema in più task concorrenti (sovente gestori di fenomeni fisici) che scambiano dati e sincronizzazioni mediante un area dati condivisa. TASK A DB Memory Resident TASK B Mod 1 36

37 Principi dell OOD OOD e progettazione di sistemi real-time Quindi l impiego di alcuni principi dell ODD, in particolare quello di architettare il software mediante oggetti concorrenti che svolgono servizi su evento (notificato mediante l inoltro di messaggi), fa parte della tradizione storica della progettazione real-time. Tuttavia l esigenza di tempi di risposta all evento ridotti, combinata spesso alla disponibilità di potenze di elaborazione limitate (si pensi ai microcontrollori usati nelle applicazioni embedded), ha indotto, e induce in molti casi tuttora, a sostituire lo scambio di messaggi con interazioni implicite in aree di memoria condivise, contraddicendo, almeno dal punto di vista realizzativo se non dal punto di vista concettuale, il principio focale dell OOD, ovvero l information hiding. Mod 1 37

38 Principi dell OOD OOD e progettazione di sistemi real-time La crescente potenza di elaborazione disponibile anche per alcune applicazioni embedded (ad esempio i telefoni cellulari) crea le premesse per un impiego molto più ampio dell OOD e dell OOP nella progettazione di sistemi real- time. Questo consentirà molto presto il superamento della tradizionale frattura fra disegno logico e disegno fisico dei sistemi real-time. Mod 1 38

39 Principi dell OOD OOD e OOP Va notato, per inciso, che la progettazione OOD e la programmazione OOP, non necessariamente debbono essere coniugate. Ovvero è possibile realizzare un sistema progettato con approccio OOD, ma non sviluppato con linguaggi di programmazione ad oggetti (quindi senza supporto da parte del linguaggio di oggetti e meccanismi associati, come l inheritance). Questo può essere un ragionevole compromesso per la progettazione di sistemi che debbono operare su piattaforme di potenza e capacità limitate. Mod 1 39

40 Classe Principi dell OOD Alcune definizioni Identifica un insieme di oggetti che condividono gli stessi attributi, operazioni, metodi, relazioni e comportamenti. Essa rappresenta un concetto nel sistema da modellare. Oggetto Una entità discreta con confini ben precisi che incapsula stato e comportamento: è un istanza di una classe. Gli oggetti possono essere passivi (i cambiamenti di stato derivano da operazioni indotte dall arrivo di messaggi dall esterno) oppure attivi (capaci di cambiare stato anche in funzione di operazioni eseguite internamente - non sollecitate dall esterno). Mod 1 40

41 Principi dell OOD Alcune definizioni Messaggio Il passaggio di informazione da un oggetto ad un altro, con l aspettativa che venga eseguita un attività. Ereditarietà Il meccanismo attraverso il quale elementi più specifici incorporano struttura e comportamenti definiti da elementi più generali. L ereditarietà multipla indica la possibilità di ereditare attributi da più di un elemento più generale. Mod 1 41

42 Principi dell OOD Vantaggi dell ODD I principali vantaggi sono: Facilità di manutenzione: un cambiamento della implementazione di un oggetto o l aggiunta di servizi, non provocano alcun impatto sugli altri oggetti del sistema. Riusabilità dei componenti: l indipendenza degli oggetti consente il loro riutilizzo in nuovi progetti. Affidabilità: l information hiding permette di eliminare bugs subdoli dovuti a modifiche indesiderate alle strutture dati. Mod 1 42

43 Principi dell OOD Identificazione degli oggetti Uno dei problemi di maggior complessità e importanza nell OOD è la accurata ed efficace identificazione degli oggetti: identificazione degli oggetti e dei loro attributi; identificazione delle operazioni che possono essere applicate agli oggetti; definizione delle interfacce mediante la identificazione delle relazioni fra oggetti e operazioni. Mod 1 43

44 Principi dell OOD Identificazione degli oggetti Secondo Booch un approccio molto semplice per la soluzione di questo problema consiste nello stendere una sintetica descrizione del problema ed evidenziare nel testo i nomi comuni (normalmente indicatori di classi: ad esempio veicolo ) e i nomi propri (normalmente indicatori di oggetti: ad esempio Ferrari Testa Rossa ). Il testo deve essere scritto: in linguaggio semplice, mantenendo sempre lo stesso livello di astrazione, focalizzandosi su cosa deve essere fatto e non su come deve essere fatto, eliminando i dettagli superflui, usando ripetitivamente gli stessi termini, evitando i sinonimi. Mod 1 44

45 Principi dell OOD Identificazione degli oggetti Vediamo un esempio. Un computer centrale trasmette blocchi NC a un controllo numerico che contiene un software che legge ciascun blocconc e lo memorizza in un NC program file. I blocchi NC sono letti dal NC program file e decomposti in istruzioni per funzioni di posizionamento e speciali. Le istruzioni sono processate e codificate in comandi di controllo di posizione e comandi speciali che sono inviati agli azionamenti della macchina. I comandi dell Operatore sono inviati al software NC attraverso una interfaccia a tastiera. I comandi dell Operatore consentono all Operatore di inserire un blocco NC in un NC program file esistente, di presentare un NC program file su CRT e di eseguire un NC program. Mod 1 45

46 Principi dell OOD Identificazione degli oggetti Vediamo un esempio. Un computer centrale trasmette blocchi NC a un controllo numerico che contiene un software che legge ciascun blocconc e lo memorizza in un NC program file. I blocchi NC sono letti dal NC program file e decomposti in istruzioni per funzioni di posizionamento e speciali. Le istruzioni sono processate e codificate in comandi di controllo di posizione e comandi speciali che sono inviati agli azionamenti della macchina. I comandi dell Operatore sono inviati al software NC attraverso una interfaccia a tastiera. I comandi dell Operatore consentono all Operatore di inserire un blocco NC in un NC program file esistente, di presentare un NC program file su CRT e di eseguire un NC program. Mod 1 46

47 Principi dell OOD Identificazione degli oggetti L esempio consente di definire la seguente tabella di oggetti. Oggetto Dominio Commento Computer centrale P Blocco NC S Controllo numerico P Software S Per NC NC program file S Composto di blocchi NC Istruzioni S Per funzioni di posizionamento e speciali Funzioni P Attività eseguite dagli azionamenti Comandi di controllo posizione S Comandi speciali S Azionamenti della macchina P Comandi Operatore S Interfaccia a tastiera S Operatore P CRT P NC program S Sinonimo di NC program file P: dominio del problema (oggetti esterni al SW del controllo numerico) S: dominio della soluzione (oggetti direttamente creati/gestiti dal SW del controllo Mod 1 numerico) 47

48 Principi dell OOD Identificazione degli oggetti Considerando solo gli oggetti pertinenti al dominio S ed esaminando le operazioni associate ai nomi nel testo, possiamo infine definire la seguente tabella di oggetti e relative operazioni. Oggetto Blocco NC NC program file Istruzioni Comandi di controllo posizione Comandi speciali Comandi Operatore Operazioni Leggi dal computer centrale Leggi dall'nc program file Inserisci in un NC program file esistente Memorizza Carica Presenta su CRT Esegui Processa Codifica Manda agli azionamenti Manda agli azionamenti Inserisci da tastiera Mod 1 48

49 Mod 1 49

50 Mod 1 50

51 Cosa è UML? UML è un linguaggio di modellazione visuale general-purpose. UML è un linguaggio di modellazione e non una metodologia di sviluppo, esso non impone alcuna regola relativamente al processo di sviluppo adottato. UML è quindi inteso per l impiego con tutte le metodologie di sviluppo, in tutti le fasi di progetto, in tutti i domini applicativi della progettazione di sistemi discreti (no sistemi continui), per tutte le piattaforme di sistema target, con tutti gli strumenti di supporto. Uno dei propositi fondamentali dell UML è quello di fornire una sintassi grafica standard che serva come ampia base per lo sviluppo di strumenti di progettazione assistita da calcolatore. Mod 1 51

52 Cosa è UML? E importante ribadire che UML e il processo di sviluppo che usa UML sono due cose distinte. Scelto UML è quindi necessario definire il processo che lo supporta. Mod 1 52

53 Mod 1 53

54 Quale è lo scopo di un modello? Un modello consente: di definire con precisione i requisiti di sistema, di sperimentare varie soluzioni con costi contenuti, di mantenere sotto controllo la complessità dell attività di progettazione, di esaminare una soluzione di progetto da più punti di vista (strutturale, dinamico, ecc.), di trasmettere agevolmente a più persone con competenze diverse la conoscenza sul sistema progettato (documentazione grafica), di simulare con un calcolatore il comportamento del sistema da sviluppare. Mod 1 54

55 Mod 1 55

56 Genesi di UML UML è il risultato di uno sforzo di unificazione di tutti i precedenti linguaggi per la modellazione di sistemi realizzati con OOD. Mod 1 56

57 Genesi di UML Nel 1994 Rumbaugh si unisce a Booch in Rational Software Corp. Essi cominciano a combinare i concetti dell OMT (Rumbaugh) con il metodo di Booch. Nel 1995 anche Jacobson entra in Rational Software Corp., il che porta ad uno sforzo congiunto dei tre principali metodologi del momento. Vengono quindi sviluppate le prime proposte di UML. Nel 1996 l Object Management Group (OMG) lancia il progetto di un approccio standard alla modellazione object-oriented. Un gruppo di lavoro che include i tre metodologi di Rational ed altri specialisti di altre società lavora insieme per proporre un linguaggio standard a costruttori di tool e sviluppatori di SW. La versione di UML predisposta dal gruppo diviene uno standard OMG nel Novembre Mod 1 57

58 Genesi di UML Lo scopo dello standard OMG è quello di favorire un ampio uso della modellazione OO fra i progettisti SW e di promuovere un mercato robusto di strumenti di progettazione assistita e di formazione, facendo sì che né gli utenti, né i produttori debbano più interrogarsi su quale approccio usare e supportare. Mod 1 58

59 Mod 1 59

60 Classifier Ulteriori definizioni Un elemento del modello che descrive caratteristiche comportamentali e strutturali (classi, ma anche componenti, interfacce, sottosistemi). Message La trasmissione di informazione da un oggetto ad un altro, per richiedere la esecuzione di attività. Può essere una signal (richiesta asincrona) o la chiamata di una operazione (richiesta sincrona). Il ricevimento di un message equivale all istanza di un evento. Mod 1 60

61 Ulteriori definizioni Method E la implementazione di un operazione (un comportamento di una classe). Specifica l algoritmo che produce il risultato di un operazione. Signal E una comunicazione asincrona fra oggetti. Le signal possono avere parametri espressi come attributi. Mod 1 61

62 Mod 1 62

63 La struttura di UML Dominio View Strutturale Use Case View Static View Phisical View Dinamico State machine View Activity View Interaction View Model Management Model management View Mod 1 63

64 La struttura di UML L impiego di View diverse consente di definire aspetti diversi del comportamento di un sistema (in sintesi offre punti di vista diversi del sistema) Mod 1 64

65 Use case View La struttura di UML Dominio strutturale Rappresenta il comportamento del sistema visto dall esterno (utenti o altri sistemi). Static View E la vista fondamentale; rappresenta la struttura degli oggetti. Si occupa di tutte le problematiche relative alle strutture dati e alle operazioni eseguite su di essi. Gli elementi chiave della vista sono i classifier e le loro relazioni. Phisical View Rappresenta la struttura fisica (implementativa) del sistema. Mod 1 65

66 State machine View La struttura di UML Dominio Dinamico Rappresenta il comportamento dinamico degli oggetti, mediante la modellazione del ciclo di vita degli oggetti di ciascuna classe. Activity View E la vista che modella le elaborazioni e i flussi dati, mediante pseudo reti di Petri. Interaction View Rappresenta le modalità di interazione fra oggetti. Mod 1 66

67 La struttura di UML Dominio di Model Management Model management View Divide il modello in sotto-modelli che possono essere realizzati da gruppi di lavoro diversi. Identifica quindi i package e le relazioni fra essi. Mod 1 67

68 La struttura di UML Sinottico dei formalismi grafici (diagrammi) Dominio View Formalismi grafici Strutturale Use Case View Use case Diagram Static View Class Diagram Physical View Component Diagram/Deployment Diagram Dinamico State machine View Statechart Diagram Activity View Activity Diagram Interaction View Sequence Diagram/Collaboration Diagram Model Management Model management View Class Diagram Mod 1 68

69 Mod 1 69

70 Use Case View Mostra il comportamento di un sistema, di un sottosistema o di una classe come appare dal mondo esterno Evidenzia le interazioni fra attori (utenti o sistemi esterni) e pezzi di funzionalità interattive denominate use case Ogni attore può partecipare a più use case, scambiando messaggi con essi La finalità degli use case è la identificazione dei requisiti funzionali di sistema Mod 1 70

71 Use case Diagram Allarmistica/Supervisione Manutenzione <<extend> Gestione dati di manutenzione Mgmt della manutenzione Ingegneria Sistema di raccolta dati di stabilimento Gestione dati analitici di produzione Produzione Gestione dati analitici di Controllo Qualità (scarti) CQ Gestione dati di misura su pezzi prodotti e carte di qualità Clienti ABB Mod 1 Presentazione dati sintetici sullo 71 stabilimento Top Mgmt

72 Use Case View Tipi di relazioni fra use case Relazione Funzione Notazione Associazione Estensione Generalizzazione del use case Inclusione La linea di comunicazione tra un attore e un use case che partecipa ad essa L inserimento di funzioni aggiuntive in un use case base, che non è consapevole di esse Una relazione fra un use case generale e uno più specifico che eredita e aggiunge funzioni ad esso L inserimento di funzioni aggiuntive in un use case base, che è consapevole di esse <<extend>> <<include>> Mod 1 72

73 Use Case View Tipi di relazioni fra use case Nome del sistema Use case Comunicazione tra attori use case Vendita telefonica Controlla lo stato Piazza l ordine Attore Venditore Cliente Nome use case Esegue l ordine Stabilisce il credito Addetto alla spedizione Confine di sistema Supervisore Mod 1 73

74 Use Case View Esempio di relazione fra use case Use case base Piazza l ordine <<extend>> Richiede catalogo <<include>> <<include>> <<include>> Estensione use case Inserisce dati del cliente Ordina il prodotto Stabilisce il pagamento Use case padre Use case inclusi Paga in contanti Accorda un credito Use case figlio Mod 1 74

75 Mod 1 75

76 Static View E il fondamento dell UML. La dynamic view la presuppone, in quanto non è possibile descrivere come qualcosa interagisce, se non si è prima definito cosa deve interagire Definisce la struttura degli oggetti Copre tutte le problematiche associate alle strutture dati e alle operazioni eseguite su esse Mod 1 76

77 Static View Gli elementi chiave della static view sono i classifier e le loro relazioni Mod 1 77

78 Static View Tipi di classifier Classificatore Funzione Notazione Attore Un utente esterno del sistema Classe Classe in stato Un concetto nel sistema modellato Una classe in un certo stato Nome Nome(S) Ruolo di un classificatore Un classifier in un certo ruolo Role:Nome Componente Un pezzo fisico del sistema Mod 1 78

79 Static View Tipi di classifier Classificatore Funzione Notazione Interfaccia Nodo Un insieme di operazioni Una risorsa di elaborazione I-nome Segnale Comunicazione asincrona fra oggetti <<signal>> Sottosistema Un package implementativo <<subsystem>> Use case Una funzionalità di una entità Mod 1 79

80 Static View Notazione grafica di una classe Abbonamento Serie: Stringa Categoria-di-prezzo: Categoria Numero: Intero Acquista() Prenota(Serie, Livello di posto) Cancella() Nome di classe Attributi Operazioni Mod 1 80

81 Static View Tipi di relazioni fra classifier Relazione Funzione Notazione Associazione Connessione fra istanze di classi Dipendenza Dipendenza consumatore/fornitore Flusso Flusso fra due stati diversi di un oggetto in due istanti diversi Mod 1 81

82 Static View Tipi di relazioni fra classifier Relazione Funzione Notazione Generalizzazione Relazione figlio-padre Realizzazione Relazione specifica-implementazione Utilizzo Un oggetto richiede un altro per il suo corretto funzionamento Mod 1 82

83 Static View Associazione Successivo Classe di allarme 1..n Precedente (ruolo) Priorità (nome dell associazione) * Allarme Priorità (auto-associazione) Mod 1 83

84 Static View Classe di associazione Reparto 1..n * Linee di produzione Prodotto annuo Pezzi prodotti: intero Pezzi scartati: intero (attributi dell associazione) Serve per fornire attributi ad una associazione Mod 1 84

85 Static View Qualificatore di una associazione (Qualificatore) Sensore Data evento: data orario evento: orario Evento (Attributi del qualificatore) Serve per identificare un unico oggetto in un insieme di oggetti correlati da una associazione Mod 1 85

86 Static View Aggregazione Abbonamento Aggregato * * Performance Parti E una associazione che aggrega le parti ad un tutto Mod 1 86

87 Static View Composizione Composto Ordine * Parti Dati del cliente Linea d ordine E una forma di associazione più forte nella quale il composto gestisce le parti (i.e. le alloca/dealloca) Mod 1 87

88 Static View Generalizzazione Evento Data Evento: Data Acknowledge () Super classe (padre) Allarme Tipo Procedura: Intero Esegui Procedura () Guasto Codice Impianto: Intero Richiesta Manutenzione () Sottoclasse (figlio) Mod 1 88

89 Static View Generalizzazione E una relazione tassonomica fra una descrizione più generale e una più specifica che è costruita su di essa e la estende Permette la descrizione incrementale di un elemento mediante condivisione delle descrizioni dei predecessori (ereditarietà, eventualmente multipla) Mod 1 89

90 Static View Realizzazione <<Interface>> Blocco di scelta setdefault (scelta:scelta) getchoice():scelta Scelta 1..* scelta Relazione di realizzazione specifica Vettore di Radio Button setdefault (scelta:bottone) getchoice():bottone 1..* scelta implementazione PopUpMenu setdefault (scelta:bottone) getchoice():bottone scelta 1..* Stringa Bottone Mod 1 90

91 Static View Realizzazione Sia la generalizzazione sia la realizzazione correlano una descrizione più generale ad una più dettagliata; la generalizzazione correla elementi allo stesso livello semantico, la realizzazione a diversi livelli semantici. Mod 1 91

92 Static View Dipendenze Esistono vari altri tipi di relazioni di dipendenza, normalmente caratterizzati da Keyword: call friend instantiate use Mod 1 92

93 Static View Vincoli Persona Membro di * * sottoinsieme 1 * Presidente di costrizione tra associazioni Comitato Un vincolo è espresso da un testo fra parentesi graffe. Mod 1 93

94 Static View Conclusione Un modello è la descrizione di una potenzialità, del possibile insieme di oggetti che possono esistere e del possibile insieme di comportamenti attraverso i quali essi possono evolvere. La static view definisce e vincola le possibili configurazioni statiche del modello (snapshot). La dynamic view definisce come il modello può evolvere da uno snapshot ad un altro. Mod 1 94

95 Mod 1 95

96 State machine View La state machine view descrive il comportamento dinamico di oggetti nel tempo, modellando il ciclo di vita degli oggetti di ciascuna classe Qualunque cosa che influenzi un oggetto è caratterizzata come un evento Le macchine a stati descrivono il comportamento dinamico di oggetti, ma anche di use case, collaborazioni e metodi Una macchina a stati è un grafo di stati e transizioni Mod 1 96

97 State machine View Eventi Gli eventi non hanno durata Gli eventi possono avere parametri che caratterizzano ciascuna loro istanza Mod 1 97

98 State machine View Tipi di eventi Tipo di evento Descrizione Sintassi Evento di chiamata Evento di cambiamento Richiesta sincrona da un oggetto che attende risposta Un cambiamento nel valore di una espressione booleana op (a:t) when (exp) Signal Richiesta asincrona da un oggetto sname (a:t) Evento a tempo Evento a tempo assoluto o relativo after (tempo) Mod 1 98

99 State machine View Eventi <<signal>> InputEvent tempo Segnale astratto <<signal>> UserInput device <<signal>> Tasto del Mouse locazione <<signal>> Carattere della Tastiera carattere Un evento può essere descritto da un class diagram Mod 1 99

100 State machine View Transizioni Definiscono la risposta dell oggetto, in uno stato, all occorrenza di un evento In generale sono caratterizzate da un evento scatenante, una guard condition, un azione e uno stato target La guard condition è una espressione che condiziona il firing di una transizione, essa è quindi valutata quando si presenta l evento scatenante (da non confondersi con evento di cambiamento che è valutato continuamente) Mod 1 100

101 Tipo di transazione Azioni in entrata State machine View Tipi di transizioni Descrizione Normalmente azioni di set-up Sintassi entry/azione Azioni in uscita Normalmente azioni di clean-up exit/azione Transizione esterna Azione associata a una transizione di stato e (a:t) exp /azione Transizione interna Risposta ad un evento che non produce una transizione di stato e (a:t) exp /azione Mod 1 101

102 State machine View Esempio di state machine semplice Riceve ordine Importo>$25 Attesa Riceve ordine Importo>$25 Evento Guard Condition Conferma Credito rifiutato Transizione Approvato/addebito-conto() Evento/Azione Esegui Ordine Cancella Ordine Mod 1 102

103 State machine View Tipi particolari di transizioni Completion transition: non ha un evento scatenante esplicito, si verifica al completamento dell attività nello stato lasciato Internal transition: manca di stato target, perché non implica l abbandono dello stato corrente (ad esempio entry per le operazioni di set-up e exit per quelle di clean-up) Self-transition: in questo caso lo stato target è quello corrente, ma la transizione esterna avviene e quindi si attivano i meccanismi di exit/entry Mod 1 103

104 State machine View Esempio di stato con internal transition nome Immetti Password azioni di entrata e uscita transizioni interne entry/set echo to star;password.reset() exit/set echo normal digit/handle character clear/password.reset() help/display help Mod 1 104

105 State machine View Stati composti Sono uno degli elementi più innovativi del formalismo UML, rispetto al formalismo classico degli automi a stati di Mealy Uno stato composto può essere decomposto in sottostati sequenziali o concorrenti Mod 1 105

106 State machine View Tipi di stati Tipo di stato Descrizione Notazione Stato semplice Stato con nessuna sottostruttura Stato composto concorrente E composto da più sottostati che risultano simultaneamente attivi, quando lo stato composto è attivo Stato composto sequenziale E composto da più sottostati, uno solo dei quali è attivo, quando lo stato composto è attivo Stato iniziale Pseudostato che indica lo stato iniziale per lo stato che lo contiene Mod 1 106

107 State machine View Tipi di stati Tipo di stato Descrizione Sintassi Stato finale La sua attivazione indica che lo stato che lo contiene ha terminato l attività Stato di giunzione Stato storico Referenza a sottomacchina Pseudostato usato per collegare le frecce di transizione Permette di tornare allo stato precedente, se si rientra in uno stato composto Indica una intera sotto-macchina a stati da includere nell automa H Include S Stato Stub Usato per ingressi e uscite da referenze a sottomacchine Mod T

108 Idle Inserim. carta State machine View Esempio di state machine con stato composto Transazione completata Acquisto Exit/espulsione carta Stato iniziale Transizione interna Referenza sottomacchina Include Identificazione fallisce Uscita forzata Uscita normale /reset selezione Seleziona Prende(posto) / aggiunge alla selezione(posto) Stato finale Una transizione esterna annulla un attività interna Tasto cancella Azione atomica Tasto resume Conferma Tasto compra Tasto conferma Transazione Vende completata Entry/vende() Mod 1 108

109 State machine View Regole per la gestione di stati composti La transizione dentro o fuori da uno stato composto implica l esecuzione di azioni di entry o exit. Se ci sono molti stati composti (nesting multiplo), la transizione attraverso vari livelli implica azioni multiple di entry (prima la più esterna) o di exit (prima la più interna) Una transizione sul confine di uno stato composto è implicitamente una transizione al suo stato iniziale Una transizione allo stato finale attiva una completion transition per uno stato composto Mod 1 109

110 State machine View Esempio di state machine con stato composto concorrente Acquisizione misure Entry/inizializza ADC e timer di campionamento Attesa Fine DT Elaborazione misura Entry/reinizializza timer Confronto soglia normale allarme Notifica allarme Aggiornamento log misure Mod 1 110

111 Mod 1 111

112 Activity View Un activity graph è una forma speciale di macchina a stati impiegata per modellare elaborazioni e flussi di lavoro Strutturalmente è simile a una rete di Petri o a un SFC (IEC 61131) Un activity graph è simile a un flow-chart tradizionale a parte che consente un controllo concorrente oltre al controllo sequenziale: questa è una differenza notevole Mod 1 112

113 BoxOffice::ElaboraOrdine Activity View Esempio di activity diagram branch abbonamento Inizial. ordine Guard condition Ordine singolo barra (biforcazione) Assegna posti Assegna posti Thread concorrenti Addebito conto Merge (unbranch) Assegna bonus barra (associazione) Vie alternative Addeb. carta di credito Invio Mod 1 biglietti 113

114 Activity View Esempio di activity diagram con corsie Cliente Venditore Magazzino Richiesta servizio Paga Ordine consegnato Ordine piazzato Prende l ordine Ordine inserito Consegna l ordine Ordine entrato Inserisce l ordine Raccolta ordine Le corsie (swimlanes) sono usate per raggruppare le attività per unità organizzativa, risorsa di elaborazione, layer di architettura, ecc. Mod 1 114

115 Activity View L activity graph è un punto iniziale del design Le attività debbono essere espanse in una o più operazioni, che debbono essere attribuite a particolari classi che debbono implementarle Tale assegnazione implica il progetto di collaborazioni (rappresentate da collaboration diagram) che implementano la sequenza evidenziata dall activity graph Mod 1 115

116 Mod 1 116

117 Interaction View Gli oggetti interagiscono fra loro per implementare un comportamento Una macchina a stati è una specifica precisa che consente agevolmente la generazione del codice Una macchina a stati è però un formalismo che può rendere ardua la comprensione delle interazioni fra oggetti; questa problematica è modellata dalle collaborazioni Mod 1 117

118 Interaction View Collaborazioni Una collaborazione è la descrizione di un insieme di oggetti che interagiscono per implementare un certo comportamento in un certo contesto Una collaborazione si compone di classifier role (classifier che svolgono un certo ruolo nello scenario) e association role (link che contribuiscono alla esecuzione della collaborazione) Un oggetto può partecipare a più di una collaborazione (scenari, contesti) Le collaborazioni evidenziano strutture dati, flussi di controllo e flussi dati Mod 1 118

119 Interaction View Interazioni Una interazione è un insieme di messaggi entro una collaborazione che sono scambiati da classifier role attraverso association role Un messaggio può essere una signal (comunicazione asincrona) o una call (chiamata sincrona con un meccanismo di ritorno del controllo al mittente) La sequenzializzazione di messaggi può essere rappresentata da due tipi di diagrammi: Sequence diagram : focalizzati sulla sequenza temporale dei messaggi Collaboration diagram: focalizzati sulla interrelazione fra oggetti che scambiano messaggi Mod 1 119

120 Attore esterno Interaction View Sequence Diagram Oggetto attivo :Chiosco :Server :Servizio Credito Carta inserita (cliente) Data scelta(data) Offerta (posti disp.) Selezione (posti) Stampa (ordine) Messaggio sottomissione (ordine) OK Addebito (cliente, importo) Autorizza Lifeline(attivo) Il tempo evolve dall alto verso il basso Mod 1 120

121 Interaction View Collaboration Diagram Richiedente Richiesta (ordine, cliente) Flusso dei messaggi :Collezione ordini 2:costo:=prenota(ordine) Ruolo del classifier :BigliettiDB 1:Controllo-credito(cliente) 3:addebito(cliente,costo) Numero di sequenza :Ufficio Crediti Navigazione one-way In questo caso la sequenza è rappresentata dal numero progressivo Mod 1 121

122 Interaction View Aree di impiego Un Sequence diagram è usato prevalentemente per descrivere scenari (sequenze di collaudo, transazioni, ecc.) Un Collaboration diagram è più utile nella progettazione di dettaglio, ad esempio delle interfacce. Si ricordi però che una collaborazione è circoscritta a un contesto e quindi il progetto è completo solo quando si è analizzato l insieme di tutti i possibili contesti. Mod 1 122

123 Interaction View Pattern E una collaborazione parametrizzata che rappresenta un insieme di classifier, relazioni e comportamenti parametrici. E un template di collaborazione astratto e riusabile, mediante attribuzione di classi del modello ai ruoli del pattern. In sostanza è una forte astrazione, un modello concettuale riusabile Mod 1 123

124 Sensore analogico Interaction View Pattern Trend Sorgente dati Oggetto HMI Presentazione misure La misura può essere presentata con più oggetti grafici che evidenziano il valore istantaneo o la sua evoluzione Nel pattern Presentazione misure si ha Sensore analogico nel ruolo di Sorgente dati e Trend nel ruolo di Oggetto HMI Mod 1 124

125 Mod 1 125

126 Physical View La Physical view descrive la struttura implementativa del sistema Essa evidenzia i componenti con cui si vuole realizzare il sistema E una view importante perché i componenti sono i pezzi riusabili con cui i sistemi possono essere costruiti; un buon repositorio di componenti è quindi un asset aziendale strategico Essa include una descrizione dei componenti (e delle relative interfacce), delle relazioni fra componenti e della dislocazione dei componenti sui nodi di elaborazione Mod 1 126

127 Physical View Componente ed interfacce esposte Componente Dizionario Spell-check Sinonimi interfacce Mod 1 127

128 Physical View Component Diagram <<database>> Conto Componente stereotipato Transazioni Aggiornamento interfaccia Componente Dipendenza di realizzazione ATM-GUI Dipendenza d uso Mod 1 128

129 Physical View Deployment diagram Istanza di componente Istanza di nodo server:bankserver :Transazioni Linea di comunicazione client:atmkiosk <<database>> contodb: Conto aggiornamento :ATM-GUI dipendenza Interfaccia Mod 1 129

130 Mod 1 130

131 Model management View Qualunque grande sistema deve essere diviso in unità più piccole in modo che le persone possano lavorare in ogni istante con una limitato ammontare di informazioni, rendendo possibile che il lavoro dei vari team non interferisca Il sistema viene quindi diviso in package La model management view consiste quindi di package e relazioni di dipendenza fra essi Mod 1 131

132 Model management View Package Ogni parte di un modello deve appartenere ad un package L allocazione delle parti deve però seguire principi rigorosi: funzionalità comuni, implementazione fortemente accoppiata, ecc. Una buona decomposizione in package è cruciale per incrementare la manutenibilità del modello/sistema I package possono essere innestati I package sono la base anche per il SCM Mod 1 132

133 Model management View Dipendenze fra Package Le dipendenze fra package sono derivabili dalle dipendenze fra i componenti che li costituiscono Normalmente un package non ha accesso ai contenuti di un altro package Le dipendenze sono rappresentate da frecce tratteggiate Mod 1 133

134 Model management View Package e relative relazioni <<subsystem>> Biglietteria Package Sottosistema fatto di packages Ordinare Packages fuori del sottosistema Servizio credito Prezzare Package astratto selezione del chiosco Queste sono variazioni del package di selezione posto Selezione del posto Dipendenza Generalizzazione di package Selezione dell operatore Dipendenza con package esterni DB posti Si noti che un subsystem è uno stereotipo di package Mod 1 134

135 Mod 1 135

136 Meccanismi di estensione Sono pensati per personalizzare il linguaggio di modellazione, in modo da agevolarne l ampio utilizzo I tool UML manipolano queste estensioni senza comprenderne la semantica (che deve essere comprensibile per il progettista e/o per opportuni postprocessori) Per questo motivo le estensioni sono memorizzate e manipolate come stringhe Mod 1 136

137 Meccanismi di estensione I meccanismi di estensione sono tre: Vincoli Tagged value Stereotipi Mod 1 137

138 Meccanismi di estensione Vincoli I vincoli sono espressi da un testo messo fra parentesi graffe {l accesso ai record deve essere sequenziale} Mod 1 138

139 Meccanismi di estensione Tagged value Sono coppie attributo/valore, usate per associare ai diagrammi informazioni per il project management, per la generazione di codice, ecc. Transazione di chiosco Author=Mike Pike, requirement=14.52, due=12/31/1999, status=designed Server tagged value di gestione progetto Form=standalone, optimize=time, search=random, library=rw, index=both tagged values di generazione codice Mod 1 139

140 Meccanismi di estensione Stereotipi Sono elementi di modellazione custom, essi possono essere associati a specifiche icone ed avere quindi un particolare simbolismo grafico <<database>> Prenotazioni Icona stereotipo Schedulatore di attività Chiosco Stereotipo di comunicazione <<ethernet>> Server Mod 1 140

141 Mod 1 141

142 Mod 1 142

143 Fasi di progetto Il modello classico (waterfall( waterfall) SYSTEM ENGINEERING REQUISITI E CONFIGURAZIONE DEL SISTEMA ANALISI MODELLO FUNZIONALE PROGETTO REALIZZAZIONE COLLAUDO MODELLO IMPLEMENTATIVO PRIMA RELEASE DI SISTEMA RELEASE FINALE DI SISTEMA USO E RITORNO Mod 1 MANUTENZIONE DELL INVESTIMENTO 143

Concetti di base di ingegneria del software

Concetti di base di ingegneria del software Concetti di base di ingegneria del software [Dalle dispense del corso «Ingegneria del software» del prof. A. Furfaro (UNICAL)] Principali qualità del software Correttezza Affidabilità Robustezza Efficienza

Dettagli

Considera tutti i requisiti funzionali (use cases) NON deve necessariamente modellare i requisiti non funzionali

Considera tutti i requisiti funzionali (use cases) NON deve necessariamente modellare i requisiti non funzionali Corso di Laurea Specialistica in Ingegneria Informatica Corso di Ingegneria del Software A. A. 2008 - Progettazione OO E. TINELLI Punto di Partenza Il modello di analisi E una rappresentazione minima del

Dettagli

La gestione di un calcolatore. Sistemi Operativi primo modulo Introduzione. Sistema operativo (2) Sistema operativo (1)

La gestione di un calcolatore. Sistemi Operativi primo modulo Introduzione. Sistema operativo (2) Sistema operativo (1) La gestione di un calcolatore Sistemi Operativi primo modulo Introduzione Augusto Celentano Università Ca Foscari Venezia Corso di Laurea in Informatica Un calcolatore (sistema di elaborazione) è un sistema

Dettagli

FONDAMENTI di INFORMATICA L. Mezzalira

FONDAMENTI di INFORMATICA L. Mezzalira FONDAMENTI di INFORMATICA L. Mezzalira Possibili domande 1 --- Caratteristiche delle macchine tipiche dell informatica Componenti hardware del modello funzionale di sistema informatico Componenti software

Dettagli

BASI DI DATI per la gestione dell informazione. Angelo Chianese Vincenzo Moscato Antonio Picariello Lucio Sansone

BASI DI DATI per la gestione dell informazione. Angelo Chianese Vincenzo Moscato Antonio Picariello Lucio Sansone BASI DI DATI per la gestione dell informazione Angelo Chianese Vincenzo Moscato Antonio Picariello Lucio Sansone Libro di Testo 22 Chianese, Moscato, Picariello e Sansone BASI DI DATI per la Gestione dell

Dettagli

La Metodologia adottata nel Corso

La Metodologia adottata nel Corso La Metodologia adottata nel Corso 1 Mission Statement + Glossario + Lista Funzionalià 3 Descrizione 6 Funzionalità 2 Schema 4 Schema 5 concettuale Logico EA Relazionale Codice Transazioni In PL/SQL Schema

Dettagli

Modellazione dei dati in UML

Modellazione dei dati in UML Corso di Basi di Dati e Sistemi Informativi Modellazione dei dati in UML Angelo Montanari Dipartimento di Matematica e Informatica Università degli Studi di Udine Introduzione UML (Unified Modeling Language):

Dettagli

Raccolta dei Requisiti con i Casi D'uso. Corso di Ingegneria del Software Anno Accademico 2012/13

Raccolta dei Requisiti con i Casi D'uso. Corso di Ingegneria del Software Anno Accademico 2012/13 Raccolta dei Requisiti con i Casi D'uso Corso di Ingegneria del Software Anno Accademico 2012/13 I casi d uso I casi d'uso (use case) sono una tecnica utilizzata per identificare i requisiti funzionali

Dettagli

La Progettazione Concettuale

La Progettazione Concettuale La Progettazione Concettuale Università degli Studi del Sannio Facoltà di Ingegneria Corso di Laurea in Ingegneria Informatica CorsodiBasidiDati Anno Accademico 2006/2007 docente: ing. Corrado Aaron Visaggio

Dettagli

Introduzione alle basi di dati. Gestione delle informazioni. Gestione delle informazioni. Sistema informatico

Introduzione alle basi di dati. Gestione delle informazioni. Gestione delle informazioni. Sistema informatico Introduzione alle basi di dati Introduzione alle basi di dati Gestione delle informazioni Base di dati Modello dei dati Indipendenza dei dati Accesso ai dati Vantaggi e svantaggi dei DBMS Gestione delle

Dettagli

Indice generale. OOA Analisi Orientata agli Oggetti. Introduzione. Analisi

Indice generale. OOA Analisi Orientata agli Oggetti. Introduzione. Analisi Indice generale OOA Analisi Orientata agli Oggetti Introduzione Analisi Metodi d' analisi Analisi funzionale Analisi del flusso dei dati Analisi delle informazioni Analisi Orientata agli Oggetti (OOA)

Dettagli

Progettaz. e sviluppo Data Base

Progettaz. e sviluppo Data Base Progettaz. e sviluppo Data Base! Introduzione ai Database! Tipologie di DB (gerarchici, reticolari, relazionali, oodb) Introduzione ai database Cos è un Database Cos e un Data Base Management System (DBMS)

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

TECNICO SUPERIORE PER L AUTOMAZIONE INDUSTRIALE

TECNICO SUPERIORE PER L AUTOMAZIONE INDUSTRIALE ISTRUZIONE E FORMAZIONE TECNICA SUPERIORE SETTORE INDUSTRIA E ARTIGIANATO TECNICO SUPERIORE PER L AUTOMAZIONE INDUSTRIALE STANDARD MINIMI DELLE COMPETENZE TECNICO PROFESSIONALI DESCRIZIONE DELLA FIGURA

Dettagli

Con il termine Sistema operativo si fa riferimento all insieme dei moduli software di un sistema di elaborazione dati dedicati alla sua gestione.

Con il termine Sistema operativo si fa riferimento all insieme dei moduli software di un sistema di elaborazione dati dedicati alla sua gestione. Con il termine Sistema operativo si fa riferimento all insieme dei moduli software di un sistema di elaborazione dati dedicati alla sua gestione. Compito fondamentale di un S.O. è infatti la gestione dell

Dettagli

Organizzazione degli archivi

Organizzazione degli archivi COSA E UN DATA-BASE (DB)? è l insieme di dati relativo ad un sistema informativo COSA CARATTERIZZA UN DB? la struttura dei dati le relazioni fra i dati I REQUISITI DI UN DB SONO: la ridondanza minima i

Dettagli

Soluzione dell esercizio del 2 Febbraio 2004

Soluzione dell esercizio del 2 Febbraio 2004 Soluzione dell esercizio del 2 Febbraio 2004 1. Casi d uso I casi d uso sono riportati in Figura 1. Figura 1: Diagramma dei casi d uso. E evidenziato un sotto caso di uso. 2. Modello concettuale Osserviamo

Dettagli

Progettaz. e sviluppo Data Base

Progettaz. e sviluppo Data Base Progettaz. e sviluppo Data Base! Progettazione Basi Dati: Metodologie e modelli!modello Entita -Relazione Progettazione Base Dati Introduzione alla Progettazione: Il ciclo di vita di un Sist. Informativo

Dettagli

Sistema Operativo. Fondamenti di Informatica 1. Il Sistema Operativo

Sistema Operativo. Fondamenti di Informatica 1. Il Sistema Operativo Sistema Operativo Fondamenti di Informatica 1 Il Sistema Operativo Il Sistema Operativo (S.O.) è un insieme di programmi interagenti che consente agli utenti e ai programmi applicativi di utilizzare al

Dettagli

Strumenti di modellazione. Gabriella Trucco

Strumenti di modellazione. Gabriella Trucco Strumenti di modellazione Gabriella Trucco Linguaggio di modellazione Linguaggio formale che può essere utilizzato per descrivere (modellare) un sistema Il concetto trova applicazione soprattutto nell

Dettagli

Ciclo di vita dimensionale

Ciclo di vita dimensionale aprile 2012 1 Il ciclo di vita dimensionale Business Dimensional Lifecycle, chiamato anche Kimball Lifecycle descrive il framework complessivo che lega le diverse attività dello sviluppo di un sistema

Dettagli

Automazione Industriale (scheduling+mms) scheduling+mms. adacher@dia.uniroma3.it

Automazione Industriale (scheduling+mms) scheduling+mms. adacher@dia.uniroma3.it Automazione Industriale (scheduling+mms) scheduling+mms adacher@dia.uniroma3.it Introduzione Sistemi e Modelli Lo studio e l analisi di sistemi tramite una rappresentazione astratta o una sua formalizzazione

Dettagli

Il Sistema Operativo

Il Sistema Operativo Il Sistema Operativo Il Sistema Operativo Il Sistema Operativo (S.O.) è un insieme di programmi interagenti che consente agli utenti e ai programmi applicativi di utilizzare al meglio le risorse del Sistema

Dettagli

Sistemi Informativi I Caso di studio con applicazione di UML

Sistemi Informativi I Caso di studio con applicazione di UML 9 CASO DI STUDIO CON APPLICAZIONE DI UML...2 9.1 IL CASO DI STUDIO...2 9.1.1 Il sistema attuale...2 9.2 IL PROBLEM STATEMENT...3 9.2.1 Formulazione del Problem statement per il caso proposto...3 9.3 USE

Dettagli

leaders in engineering excellence

leaders in engineering excellence leaders in engineering excellence engineering excellence Il mondo di oggi, in rapida trasformazione, impone alle imprese di dotarsi di impianti e macchinari più affidabili e sicuri, e di più lunga durata.

Dettagli

Automazione Industriale 4- Ingegneria del Software

Automazione Industriale 4- Ingegneria del Software Automation Robotics and System CONTROL Università degli Studi di Modena e Reggio Emilia Automazione Industriale 4- Ingegneria del Software Cesare Fantuzzi (cesare.fantuzzi@unimore.it) Ingegneria Meccatronica

Dettagli

MService La soluzione per ottimizzare le prestazioni dell impianto

MService La soluzione per ottimizzare le prestazioni dell impianto MService La soluzione per ottimizzare le prestazioni dell impianto Il segreto del successo di un azienda sta nel tenere sotto controllo lo stato di salute delle apparecchiature degli impianti. Dati industriali

Dettagli

Il Sistema Operativo. C. Marrocco. Università degli Studi di Cassino

Il Sistema Operativo. C. Marrocco. Università degli Studi di Cassino Il Sistema Operativo Il Sistema Operativo è uno strato software che: opera direttamente sull hardware; isola dai dettagli dell architettura hardware; fornisce un insieme di funzionalità di alto livello.

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

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

UML - Unified Modeling Language

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

Dettagli

TECNICHE DI SIMULAZIONE

TECNICHE DI SIMULAZIONE TECNICHE DI SIMULAZIONE INTRODUZIONE Francesca Mazzia Dipartimento di Matematica Università di Bari a.a. 2004/2005 TECNICHE DI SIMULAZIONE p. 1 Introduzione alla simulazione Una simulazione è l imitazione

Dettagli

Cosa è un foglio elettronico

Cosa è un foglio elettronico Cosa è un foglio elettronico Versione informatica del foglio contabile Strumento per l elaborazione di numeri (ma non solo...) I valori inseriti possono essere modificati, analizzati, elaborati, ripetuti

Dettagli

Dispensa di Informatica I.1

Dispensa di Informatica I.1 IL COMPUTER: CONCETTI GENERALI Il Computer (o elaboratore) è un insieme di dispositivi di diversa natura in grado di acquisire dall'esterno dati e algoritmi e produrre in uscita i risultati dell'elaborazione.

Dettagli

Business Process Management

Business Process Management Business Process Management Comprendere, gestire, organizzare e migliorare i processi di business Caso di studio a cura della dott. Danzi Francesca e della prof. Cecilia Rossignoli 1 Business process Un

Dettagli

UML e (R)UP (an overview)

UML e (R)UP (an overview) Lo sviluppo di sistemi OO UML e (R)UP (an overview) http://www.rational.com http://www.omg.org 1 Riassumento UML E un insieme di notazioni diagrammatiche che, utilizzate congiuntamente, consentono di descrivere/modellare

Dettagli

Software di sistema e software applicativo. I programmi che fanno funzionare il computer e quelli che gli permettono di svolgere attività specifiche

Software di sistema e software applicativo. I programmi che fanno funzionare il computer e quelli che gli permettono di svolgere attività specifiche Software di sistema e software applicativo I programmi che fanno funzionare il computer e quelli che gli permettono di svolgere attività specifiche Software soft ware soffice componente è la parte logica

Dettagli

Piano di gestione della qualità

Piano di gestione della qualità Piano di gestione della qualità Pianificazione della qualità Politica ed obiettivi della qualità Riferimento ad un eventuale modello di qualità adottato Controllo della qualità Procedure di controllo.

Dettagli

Rational Unified Process Introduzione

Rational Unified Process Introduzione Rational Unified Process Introduzione G.Raiss - A.Apolloni - 4 maggio 2001 1 Cosa è E un processo di sviluppo definito da Booch, Rumbaugh, Jacobson (autori dell Unified Modeling Language). Il RUP è un

Dettagli

7. Architetture Software

7. Architetture Software 7. Architetture Software progettare la struttura Andrea Polini Ingegneria del Software Corso di Laurea in Informatica (Ingegneria del Software) 7. Architetture Software 1 / 20 Scopo della fase di design

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

Telerilevamento e GIS Prof. Ing. Giuseppe Mussumeci

Telerilevamento e GIS Prof. Ing. Giuseppe Mussumeci Corso di Laurea Magistrale in Ingegneria per l Ambiente e il Territorio A.A. 2014-2015 Telerilevamento e GIS Prof. Ing. Giuseppe Mussumeci Strutture di dati: DB e DBMS DATO E INFORMAZIONE Dato: insieme

Dettagli

Database. Si ringrazia Marco Bertini per le slides

Database. Si ringrazia Marco Bertini per le slides Database Si ringrazia Marco Bertini per le slides Obiettivo Concetti base dati e informazioni cos è un database terminologia Modelli organizzativi flat file database relazionali Principi e linee guida

Dettagli

Il sistema di I/O. Hardware di I/O Interfacce di I/O Software di I/O. Introduzione

Il sistema di I/O. Hardware di I/O Interfacce di I/O Software di I/O. Introduzione Il sistema di I/O Hardware di I/O Interfacce di I/O Software di I/O Introduzione 1 Sotto-sistema di I/O Insieme di metodi per controllare i dispositivi di I/O Obiettivo: Fornire ai processi utente un interfaccia

Dettagli

Manuale Amministratore Legalmail Enterprise. Manuale ad uso degli Amministratori del Servizio Legalmail Enterprise

Manuale Amministratore Legalmail Enterprise. Manuale ad uso degli Amministratori del Servizio Legalmail Enterprise Manuale Amministratore Legalmail Enterprise Manuale ad uso degli Amministratori del Servizio Legalmail Enterprise Pagina 2 di 16 Manuale Amministratore Legalmail Enterprise Introduzione a Legalmail Enterprise...3

Dettagli

Architetture software

Architetture software Corso di Laurea Magistrale in Ingegneria Informatica Corso di Ingegneria del A. A. 2013-2014 Architettura software 1 Architetture software Sommario Definizioni 2 Architettura Definizione. L architettura

Dettagli

Università degli Studi di Parma Facoltà di Scienze MM. FF. NN. Corso di Laurea in Informatica. Ingegneria del Software. La fase di Analisi

Università degli Studi di Parma Facoltà di Scienze MM. FF. NN. Corso di Laurea in Informatica. Ingegneria del Software. La fase di Analisi Università degli Studi di Parma Facoltà di Scienze MM. FF. NN. Corso di Laurea in Informatica Ingegneria del Software La fase di Analisi Giulio Destri Ing. del software: Analisi - 1 Scopo del modulo Definire

Dettagli

1. BASI DI DATI: GENERALITÀ

1. BASI DI DATI: GENERALITÀ 1. BASI DI DATI: GENERALITÀ BASE DI DATI (DATABASE, DB) Raccolta di informazioni o dati strutturati, correlati tra loro in modo da risultare fruibili in maniera ottimale. Una base di dati è usualmente

Dettagli

Object Oriented Programming

Object Oriented Programming OOP Object Oriented Programming Programmazione orientata agli oggetti La programmazione orientata agli oggetti (Object Oriented Programming) è un paradigma di programmazione Permette di raggruppare in

Dettagli

I casi d uso corrispondono ai compiti che l attore (che può essere una persona fisica e non) può svolgere.

I casi d uso corrispondono ai compiti che l attore (che può essere una persona fisica e non) può svolgere. UML e i Casi d USO I casi d uso specificano una sequenza di azioni che producono un risultato visibile agli attori del sistema. Essi nascono per fornire descrizioni delle capacità del sistema. I casi d

Dettagli

Lezione 1. Introduzione e Modellazione Concettuale

Lezione 1. Introduzione e Modellazione Concettuale Lezione 1 Introduzione e Modellazione Concettuale 1 Tipi di Database ed Applicazioni Database Numerici e Testuali Database Multimediali Geographic Information Systems (GIS) Data Warehouses Real-time and

Dettagli

Scheduling della CPU. Sistemi multiprocessori e real time Metodi di valutazione Esempi: Solaris 2 Windows 2000 Linux

Scheduling della CPU. Sistemi multiprocessori e real time Metodi di valutazione Esempi: Solaris 2 Windows 2000 Linux Scheduling della CPU Sistemi multiprocessori e real time Metodi di valutazione Esempi: Solaris 2 Windows 2000 Linux Sistemi multiprocessori Fin qui si sono trattati i problemi di scheduling su singola

Dettagli

ISTITUTO TECNICO ECONOMICO MOSSOTTI

ISTITUTO TECNICO ECONOMICO MOSSOTTI CLASSE III INDIRIZZO S.I.A. UdA n. 1 Titolo: conoscenze di base Conoscenza delle caratteristiche dell informatica e degli strumenti utilizzati Informatica e sistemi di elaborazione Conoscenza delle caratteristiche

Dettagli

Ti consente di ricevere velocemente tutte le informazioni inviate dal personale, in maniera assolutamente puntuale, controllata ed organizzata.

Ti consente di ricevere velocemente tutte le informazioni inviate dal personale, in maniera assolutamente puntuale, controllata ed organizzata. Sommario A cosa serve InfoWEB?... 3 Quali informazioni posso comunicare o ricevere?... 3 Cosa significa visualizzare le informazioni in maniera differenziata in base al livello dell utente?... 4 Cosa significa

Dettagli

Processo parte VII. Strumenti. Maggiore integrazione. Sviluppo tecnologico

Processo parte VII. Strumenti. Maggiore integrazione. Sviluppo tecnologico Strumenti Processo parte VII Leggere Cap. 9 Ghezzi et al. Strumenti software che assistono gli ingegneri del software in tutte le fasi del progetto; in particolare progettazione codifica test Evoluzione

Dettagli

11. Evoluzione del Software

11. Evoluzione del Software 11. Evoluzione del Software Andrea Polini Ingegneria del Software Corso di Laurea in Informatica (Ingegneria del Software) 11. Evoluzione del Software 1 / 21 Evoluzione del Software - generalità Cosa,

Dettagli

Liceo Tecnologico. Indirizzo Informatico e Comunicazione. Indicazioni nazionali per Piani di Studi Personalizzati

Liceo Tecnologico. Indirizzo Informatico e Comunicazione. Indicazioni nazionali per Piani di Studi Personalizzati Indirizzo Informatico e Comunicazione Indicazioni nazionali per Piani di Studi Personalizzati Indirizzo Informatico e Comunicazione Discipline con attività di laboratorio 3 4 5 Fisica 132 Gestione di progetto

Dettagli

Alessandra Raffaetà. Basi di Dati

Alessandra Raffaetà. Basi di Dati Lezione 2 S.I.T. PER LA VALUTAZIONE E GESTIONE DEL TERRITORIO Corso di Laurea Magistrale in Scienze Ambientali Alessandra Raffaetà Dipartimento di Informatica Università Ca Foscari Venezia Basi di Dati

Dettagli

esales Forza Ordini per Abbigliamento

esales Forza Ordini per Abbigliamento esales Rel. 2012 Forza Ordini per Abbigliamento Scopo di questo documento è fornire la descrizione di una piattaforma di Raccolta Ordini via Web e la successiva loro elaborazione in ambiente ERP Aziendale.

Dettagli

Corso di Laurea Specialistica in Ingegneria Informatica. Corso di Ingegneria del Software A. A. 2008-2009. Class Discovery E.

Corso di Laurea Specialistica in Ingegneria Informatica. Corso di Ingegneria del Software A. A. 2008-2009. Class Discovery E. Corso di Laurea Specialistica in Ingegneria Informatica Corso di Ingegneria del Software A. A. 2008 - Class Discovery E. TINELLI Contenuti Classi di analisi: definizione ed esempi Tecniche per la definizione

Dettagli

UML Component and Deployment diagram

UML Component and Deployment diagram UML Component and Deployment diagram Ing. Orazio Tomarchio Orazio.Tomarchio@diit.unict.it Dipartimento di Ingegneria Informatica e delle Telecomunicazioni Università di Catania I diagrammi UML Classificazione

Dettagli

Sistemi Informativi e Sistemi ERP

Sistemi Informativi e Sistemi ERP Sistemi Informativi e Sistemi Trasformare i dati in conoscenza per supportare le decisioni CAPODAGLIO E ASSOCIATI 1 I SISTEMI INFORMATIVI LI - E IMPRESA SISTEMA DI OPERAZIONI ECONOMICHE SVOLTE DA UN DATO

Dettagli

Il glossario della Posta Elettronica Certificata (PEC) Diamo una definizione ai termini tecnici relativi al mondo della PEC.

Il glossario della Posta Elettronica Certificata (PEC) Diamo una definizione ai termini tecnici relativi al mondo della PEC. Il glossario della Posta Elettronica Certificata (PEC) Diamo una definizione ai termini tecnici relativi al mondo della PEC. Avviso di mancata consegna L avviso, emesso dal sistema, per indicare l anomalia

Dettagli

Sistemi informativi secondo prospettive combinate

Sistemi informativi secondo prospettive combinate Sistemi informativi secondo prospettive combinate direz acquisti direz produz. direz vendite processo acquisti produzione vendite INTEGRAZIONE TRA PROSPETTIVE Informazioni e attività sono condivise da

Dettagli

Gestione delle informazioni necessarie all attività di validazione degli studi di settore. Trasmissione degli esempi da valutare.

Gestione delle informazioni necessarie all attività di validazione degli studi di settore. Trasmissione degli esempi da valutare. Gestione delle informazioni necessarie all attività di validazione degli studi di settore. Trasmissione degli esempi da valutare. E stato previsto l utilizzo di uno specifico prodotto informatico (denominato

Dettagli

MODELLO CLIENT/SERVER. Gianluca Daino Dipartimento di Ingegneria dell Informazione Università degli Studi di Siena daino@unisi.it

MODELLO CLIENT/SERVER. Gianluca Daino Dipartimento di Ingegneria dell Informazione Università degli Studi di Siena daino@unisi.it MODELLO CLIENT/SERVER Gianluca Daino Dipartimento di Ingegneria dell Informazione Università degli Studi di Siena daino@unisi.it POSSIBILI STRUTTURE DEL SISTEMA INFORMATIVO La struttura di un sistema informativo

Dettagli

Il sistema di rilevazione dati per il controllo globale delle macchine di produzione

Il sistema di rilevazione dati per il controllo globale delle macchine di produzione 1 Il sistema di rilevazione dati per il controllo globale delle macchine di produzione Per automatizzare Ia raccolta dati di produzione e monitorare in tempo reale il funzionamento delle macchine, Meta

Dettagli

Introduzione Ai Data Bases. Prof. Francesco Accarino IIS Altiero Spinelli Via Leopardi 132 Sesto San giovanni

Introduzione Ai Data Bases. Prof. Francesco Accarino IIS Altiero Spinelli Via Leopardi 132 Sesto San giovanni Introduzione Ai Data Bases Prof. Francesco Accarino IIS Altiero Spinelli Via Leopardi 132 Sesto San giovanni I Limiti Degli Archivi E Il Loro Superamento Le tecniche di gestione delle basi di dati nascono

Dettagli

Gestione del workflow

Gestione del workflow Gestione del workflow Stefania Marrara Corso di Tecnologie dei Sistemi Informativi 2004/2005 Progettazione di un Sistema Informativo Analisi dei processi Per progettare un sistema informativo è necessario

Dettagli

Basi di dati. (Sistemi Informativi) teoria e pratica con Microsoft Access. Basi di dati. Basi di dati. Basi di dati e DBMS DBMS DBMS

Basi di dati. (Sistemi Informativi) teoria e pratica con Microsoft Access. Basi di dati. Basi di dati. Basi di dati e DBMS DBMS DBMS Basi di Basi di (Sistemi Informativi) Sono una delle applicazioni informatiche che hanno avuto il maggiore utilizzo in uffici, aziende, servizi (e oggi anche sul web) Avete già interagito (magari inconsapevolmente)

Dettagli

Approccio stratificato

Approccio stratificato Approccio stratificato Il sistema operativo è suddiviso in strati (livelli), ciascuno costruito sopra quelli inferiori. Il livello più basso (strato 0) è l hardware, il più alto (strato N) è l interfaccia

Dettagli

Testo Esercizio. Un modello è ragionevole quando contiene queste tre caratteristiche.

Testo Esercizio. Un modello è ragionevole quando contiene queste tre caratteristiche. Testo Esercizio Un negozio di musica vende anche libri e riviste musicali. Si intende automatizzare l intero processo, dall approvvigionamento alla vendita. Si analizzino i requisiti e se ne rappresentino

Dettagli

SOLUZIONE Web.Orders online

SOLUZIONE Web.Orders online SOLUZIONE Web.Orders online Gennaio 2005 1 INDICE SOLUZIONE Web.Orders online Introduzione Pag. 3 Obiettivi generali Pag. 4 Modulo di gestione sistema Pag. 5 Modulo di navigazione prodotti Pag. 7 Modulo

Dettagli

Gestione dei documenti e delle registrazioni Rev. 00 del 11.11.08

Gestione dei documenti e delle registrazioni Rev. 00 del 11.11.08 1. DISTRIBUZIONE A tutti i membri dell organizzazione ING. TOMMASO 2. SCOPO Descrivere la gestione della documentazione e delle registrazioni del sistema di gestione 3. APPLICABILITÀ La presente procedura

Dettagli

Corso di Laurea Triennale in Ingegneria Informatica. Corso di Ingegneria del software A. A. 2004-2005. Marina Mongiello

Corso di Laurea Triennale in Ingegneria Informatica. Corso di Ingegneria del software A. A. 2004-2005. Marina Mongiello Corso di Laurea Triennale in Ingegneria Informatica Corso di Ingegneria del A. A. 2004-2005 1 La progettazione È applicata indipendentemente dal modello di processo utilizzato. Parte dal punto in cui sono

Dettagli

Il Sistema Operativo (1)

Il Sistema Operativo (1) E il software fondamentale del computer, gestisce tutto il suo funzionamento e crea un interfaccia con l utente. Le sue funzioni principali sono: Il Sistema Operativo (1) La gestione dell unità centrale

Dettagli

Coordinazione Distribuita

Coordinazione Distribuita Coordinazione Distribuita Ordinamento degli eventi Mutua esclusione Atomicità Controllo della Concorrenza 21.1 Introduzione Tutte le questioni relative alla concorrenza che si incontrano in sistemi centralizzati,

Dettagli

GESTIONE DEI PROCESSI

GESTIONE DEI PROCESSI Sistemi Operativi GESTIONE DEI PROCESSI Processi Concetto di Processo Scheduling di Processi Operazioni su Processi Processi Cooperanti Concetto di Thread Modelli Multithread I thread in Java Concetto

Dettagli

2.0 Gli archivi. 2.1 Inserire gli archivi. 2.2 Archivio Clienti, Fornitori, Materiali, Noleggi ed Altri Costi. Impresa Edile Guida all uso

2.0 Gli archivi. 2.1 Inserire gli archivi. 2.2 Archivio Clienti, Fornitori, Materiali, Noleggi ed Altri Costi. Impresa Edile Guida all uso 2.0 Gli archivi All interno della sezione archivi sono inserite le anagrafiche. In pratica si stratta di tutti quei dati che ricorreranno costantemente all interno dei documenti. 2.1 Inserire gli archivi

Dettagli

Tecniche di Simulazione: Introduzione. N. Del Buono:

Tecniche di Simulazione: Introduzione. N. Del Buono: Tecniche di Simulazione: Introduzione N. Del Buono: 2 Che cosa è la simulazione La SIMULAZIONE dovrebbe essere considerata una forma di COGNIZIONE (COGNIZIONE qualunque azione o processo per acquisire

Dettagli

Soluzione dell esercizio del 12 Febbraio 2004

Soluzione dell esercizio del 12 Febbraio 2004 Soluzione dell esercizio del 12/2/2004 1 Soluzione dell esercizio del 12 Febbraio 2004 1. Casi d uso I casi d uso sono riportati in Figura 1. Figura 1: Diagramma dei casi d uso. 2. Modello concettuale

Dettagli

4.5 CONTROLLO DEI DOCUMENTI E DEI DATI

4.5 CONTROLLO DEI DOCUMENTI E DEI DATI Unione Industriale 35 di 94 4.5 CONTROLLO DEI DOCUMENTI E DEI DATI 4.5.1 Generalità La documentazione, per una filatura conto terzi che opera nell ambito di un Sistema qualità, rappresenta l evidenza oggettiva

Dettagli

AMMINISTRARE I PROCESSI

AMMINISTRARE I PROCESSI LE SOLUZIONI AXIOMA PER LE AZIENDE DI SERVIZI AMMINISTRARE I PROCESSI (ERP) Axioma Value Application Servizi Axioma, che dal 1979 offre prodotti software e servizi per le azienda italiane, presenta Axioma

Dettagli

Esercitazione di Basi di Dati

Esercitazione di Basi di Dati Esercitazione di Basi di Dati Corso di Fondamenti di Informatica 6 Maggio 2004 Come costruire una ontologia Marco Pennacchiotti pennacchiotti@info.uniroma2.it Tel. 0672597334 Ing.dell Informazione, stanza

Dettagli

SOFTWARE A SUPPORTO DELLA GESTIONE AMMINISTRATIVA DELLO SPORTELLO UNICO SPECIFICA DEI REQUISITI UTENTE

SOFTWARE A SUPPORTO DELLA GESTIONE AMMINISTRATIVA DELLO SPORTELLO UNICO SPECIFICA DEI REQUISITI UTENTE Pag. 1 di 16 SOFTWARE A SUPPORTO DELLA (VERS. 3.1) Specifica dei Requisiti Utente Funzionalità di associazione di più Richiedenti ad un procedimento Codice Identificativo VERIFICHE ED APPROVAZIONI CONTROLLO

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

ARCHITETTURE DI SISTEMI INTEGRATI PER APPLICAZIONI SPECIFICHE. Design Flow

ARCHITETTURE DI SISTEMI INTEGRATI PER APPLICAZIONI SPECIFICHE. Design Flow ARCHITETTURE DI SISTEMI INTEGRATI PER APPLICAZIONI SPECIFICHE Design Flow Prof. Luigi Raffo Dipartimento di ingegneria elettrica ed elettronica Università di Cagliari Flusso di progetto classico su silicio

Dettagli

IL SOFTWARE SECONDO LA NORMA UNI EN ISO 13849-1:2008 (IIA PARTE) 1

IL SOFTWARE SECONDO LA NORMA UNI EN ISO 13849-1:2008 (IIA PARTE) 1 Ernesto Cappelletti (ErnestoCappelletti) IL SOFTWARE SECONDO LA NORMA UNI EN ISO 13849-1:2008 (IIA PARTE) 6 April 2012 1. Requisiti per la scrittura del software secondo la norma UNI EN ISO 13849-1:2008

Dettagli

Riccardo Dutto, Paolo Garza Politecnico di Torino. Riccardo Dutto, Paolo Garza Politecnico di Torino

Riccardo Dutto, Paolo Garza Politecnico di Torino. Riccardo Dutto, Paolo Garza Politecnico di Torino Integration Services Project SQL Server 2005 Integration Services Permette di gestire tutti i processi di ETL Basato sui progetti di Business Intelligence di tipo Integration services Project SQL Server

Dettagli

Base di dati e sistemi informativi

Base di dati e sistemi informativi Base di dati e sistemi informativi Una base di dati è un insieme organizzato di dati opportunamente strutturato per lo svolgimento di determinate attività La base di dati è un elemento fondamentale per

Dettagli

GESTIONE AVANZATA DEI MATERIALI

GESTIONE AVANZATA DEI MATERIALI GESTIONE AVANZATA DEI MATERIALI Divulgazione Implementazione/Modifica Software SW0003784 Creazione 23/01/2014 Revisione del 25/06/2014 Numero 1 Una gestione avanzata dei materiali strategici e delle materie

Dettagli

IDENTIFICAZIONE DEI BISOGNI DEL CLIENTE

IDENTIFICAZIONE DEI BISOGNI DEL CLIENTE IDENTIFICAZIONE DEI BISOGNI DEL CLIENTE 51 Dichiarazione d intenti (mission statement) La dichiarazione d intenti ha il compito di stabilire degli obiettivi dal punto di vista del mercato, e in parte dal

Dettagli

Riepilogo delle modifiche di PA-DSS dalla versione 2.0 alla 3.0

Riepilogo delle modifiche di PA-DSS dalla versione 2.0 alla 3.0 Settore delle carte di pagamento (PCI) Standard di protezione dei dati per le applicazioni di pagamento () Riepilogo delle modifiche di dalla versione 2.0 alla 3.0 Novembre 2013 Introduzione Il presente

Dettagli

Generazione Automatica di Asserzioni da Modelli di Specifica

Generazione Automatica di Asserzioni da Modelli di Specifica UNIVERSITÀ DEGLI STUDI DI MILANO BICOCCA FACOLTÀ DI SCIENZE MATEMATICHE FISICHE E NATURALI Corso di Laurea Magistrale in Informatica Generazione Automatica di Asserzioni da Modelli di Specifica Relatore:

Dettagli

LA GESTIONE DELLE VISITE CLIENTI VIA WEB

LA GESTIONE DELLE VISITE CLIENTI VIA WEB LA GESTIONE DELLE VISITE CLIENTI VIA WEB L applicazione realizzata ha lo scopo di consentire agli agenti l inserimento via web dei dati relativi alle visite effettuate alla clientela. I requisiti informatici

Dettagli

Basi di dati. Concetti introduttivi ESEMPIO. INSEGNAMENTI Fisica, Analisi, Aule. Docenti. Entità Relazioni Interrogazioni. Ultima modifica: 26/02/2007

Basi di dati. Concetti introduttivi ESEMPIO. INSEGNAMENTI Fisica, Analisi, Aule. Docenti. Entità Relazioni Interrogazioni. Ultima modifica: 26/02/2007 Basi di dati Concetti introduttivi Ultima modifica: 26/02/2007 ESEMPIO INSEGNAMENTI Fisica, Analisi, Informatica Aule Docenti Entità Relazioni Interrogazioni St udent i Database 2 Tabella (I) STUDENTE

Dettagli

BASE DI DATI: introduzione. Informatica 5BSA Febbraio 2015

BASE DI DATI: introduzione. Informatica 5BSA Febbraio 2015 BASE DI DATI: introduzione Informatica 5BSA Febbraio 2015 Di cosa parleremo? Base di dati relazionali, modelli e linguaggi: verranno presentate le caratteristiche fondamentali della basi di dati. In particolare

Dettagli

cin>>c8 s.r.l. Analisi del Dominio Pagina 1 di 7 Analisi del Dominio

cin>>c8 s.r.l. Analisi del Dominio Pagina 1 di 7 Analisi del Dominio Analisi del Dominio Pagina 1 di 7 Analisi del Dominio Indice 1 - INTRODUZIONE... 3 1.1 - OBIETTIVO DEL DOCUMENTO...3 1.2 - STRUTTURA DEL DOCUMENTO...3 1.3 - STORIA DEL DOCUMENTO...3 2 - SITUAZIONE ATTUALE

Dettagli

Lezione 8. La macchina universale

Lezione 8. La macchina universale Lezione 8 Algoritmi La macchina universale Un elaboratore o computer è una macchina digitale, elettronica, automatica capace di effettuare trasformazioni o elaborazioni su i dati digitale= l informazione

Dettagli

Infrastruttura di produzione INFN-GRID

Infrastruttura di produzione INFN-GRID Infrastruttura di produzione INFN-GRID Introduzione Infrastruttura condivisa Multi-VO Modello Organizzativo Conclusioni 1 Introduzione Dopo circa tre anni dall inizio dei progetti GRID, lo stato del middleware

Dettagli