Design Pattern. Ingegneria del Software parte II. Andrea Bei

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Design Pattern. Ingegneria del Software parte II. Andrea Bei"

Transcript

1 Design Pattern Ingegneria del Software parte II Andrea Bei

2 Progettazione a oggetti (OOD) Progettare a oggetti una funzionalità espressa da un requisito ( use case, SSD, ) significa Identificare gli oggetti, coerenti rispetto al modello di dominio e alla architettura applicativa, la cui collaborazione realizza la funzionalità Assegnare correttamente le responsabilità agli oggetti identificati applicando i Design Pattern Nell OOD l UML è usato per rappresentare le decisioni progettuali di identificazione di oggetti e classi e assegnazione di responsabilità (Class Diagram e Interaction Diagram) 2

3 Introduzione ai Design Pattern Chi progetta usa l esperienza (personale e di gruppo) nella progettazione di un nuovo sistema sw si riusano soluzioni progettuali già sperimentate in passato E importante Codificare e registrare l esperienza di soluzioni di progettazione per poterla riusare Comunicare l esperienza ad altri progettisti Apprendere dall esperienza di altri progettisti 3

4 Introduzione ai Design Pattern I Design Patterns sono emersi da alcuni anni come una delle tecniche più efficaci per registrare e trasferire la conoscenza e l'esperienza dei progettisti, rendendola disponibile in modo comprensibile Sono soluzioni comuni a problemi ricorrenti in un contesto specifico Aiutano a progettare in modo giusto e in minor tempo. Nascono nel 1977 nel campo delle architetture edili (Christopher Alexander) e si estendono alle architetture software nel 1994 con il testo di Gamma, Helm, Vlissides e Johnson Design Patterns, successivamente denominato Gang of Four (GoF) 4

5 Design Pattern: definizione/vantaggi Definizione: Un Pattern è costituito da Descrizione del problema Descrizione della soluzione in un contesto specifico Vantaggi: Facilitano il riuso di architetture e progetti validi Catturano l esperienza e la saggezza degli esperti Permettono di evitare perdite di tempo nella ricerca di soluzioni già esistenti Creano un linguaggio che semplifica la comunicazione e la comprensione tra gli addetti ai lavori (progettista-progettista, progettista-sviluppatore,.) Supportano il lavoro in team Incrementano la qualità del software: favoriscono il riuso, la manutenibilità, l estendibilità, la comprensibilità 5

6 Design Pattern: classificazione (1/2) Design Patterns per la progettazione e lo sviluppo del software (modelli di progetto) Analysis Patterns per definire modelli di analisi riutilizzabili per problemi ricorrenti (modelli di dominio) Organization Patterns per definire organizzazioni e progetti (modelli di dominio) Process Patterns per definire processi (modelli di dominio) 6

7 Design Pattern: classificazione (2/2) I Design Pattern possono essere classificati in funzione del loro livello di astrazione/dettaglio Architectural Design Patterns Descrivono l organizzazione strutturale fondamentale di un sistema software (architettura applicativa) in termini di sottosistemi loro responsabilità e modalità di interazione es: Uno dei design pattern architetturali classici prevede le archittetura a livelli Design Patterns Forniscono uno schema per raffinare i sottosistemi o componenti di un sistema software. In genere descrivono strutture di oggetti che collaborano per risolvere un generico problema di progettazione in un particolare contesto. Idioms o Coding Design Patterns Pattern di basso livello specifico di un linguaggio di programmazione. Un idioma descrive come implementare particolari aspetti dei componenti o le relazioni tra essi utilizzando caratteristiche del linguaggio di programmazione scelto. 7

8 Design Pattern: descrizione Generalmente la descrizione di un pattern include: Una descrizione del problema, tra cui: un esempio concreto di problema una soluzione specifica al problema concreto Considerazioni che guidano alla formulazione di una soluzione generica Una soluzione generica Le conseguenze, positive e negative, nell utilizzare una data soluzione per risolvere un problema Un elenco di pattern simili I cataloghi di pattern contengono schede contenenti le informazioni sopra elencate, per ogni pattern 8

9 Tipica scheda pattern Pattern Name Synopsis Esposizione sintetica e sistematica del pattern Context Descrizione del problema che il pattern risolve Forces Riassunto delle considerazioni che conducono alla soluzione generica presentata nella sezione Solutions Solution Descrizione di una soluzione generica al problema che il pattern risolve Consequences Spiegazione delle implicazioni, positive e negative, nell utilizzo del pattern Implementation Presentazione degli aspetti da considerare in fase di implementazione In alcuni casi, descrizioni di varianti e/o semplificazioni Code Example Codice di esempio che mostra un semplice utilizzo pratico del pattern Related Patterns Elenco di pattern in qualche modo correlati 9

10 Progettazione guidata dalle responsabilità Metafora OO-mondo reale: si pensi agli oggetti software come a delle persone che hanno delle responsabilità e che collaborano con altre persone per svolgere un lavoro (Responsibility Driven Design) gli oggetti software sono dotati di responsabilità (ciò che fanno o conoscono) 2 tipi di responsabilità: Di fare: effettuare una azione (creare un oggetto, eseguire un calcolo,...) di delegare una azione (provocare una azione in altri oggetti) Di conoscere: conoscere i propri dati privati conoscere oggetti correlati conoscere cose che può derivare o calcolare I Design Pattern GRASP descrivono dei principi di base per assegnare le responsabilità agli oggetti e sostenere 10

11 Pattern GRASP GRASP (General Responsibility Assignment Software Patterns) Pattern GRASP di base Creator Expert Low Coupling Controller High Cohesion Altri pattern GRASP Polymorphism Pure Fabrication, Indirection Protected Variations 11

12 Creator Problema: Chi crea un oggetto A? Soluzione: Assegnare a B la responsabilità di creare un oggetto A se si verifica una delle seguenti condizioni. B contiene o aggrega oggetti di tipo A B registra A B utilizza A B possiede i dati per inizializzare A Nel caso non sia presente ancora nessuna classe ci si ispira al modello di dominio per ottenere una configurazione creatore-creato con LRG basso (Low-Representional-Gap) 12

13 Creator esempio 1 Studio di Caso Monopoly Modello di dominio Chi crea Square? Per Creator è Board Board contiene oggetti Square Per LRG si introducono le classi software Board e Square Modello di progetto 13

14 Creator esempio 2 Studio di Caso POS Chi crea SalesLineItem? time Sale 1 Contains Modello di dominio Per Creator è Sale Sale contiene oggetti SalesLineItem Per LRG si introducono le classi software Sale e SalesLineItem Sales LineItem quantity 1..* : Register : Sale makelineitem(quantity) * Described-by create(quantity) 1 Product Description description price itemid Modello di progetto : SalesLineItem 14

15 Creator vantaggi e controindicazioni Vantaggi Accoppiamento basso. L atto della creazione della classe A da parte della classe B non incrementa l accoppiamento in quanto la classe A deve essere già visibile dalla classe B Controindicazioni Può non essere conveniente applicarlo in alcuni casi. Es: si usano molte istanze di una stessa classe (es: una classe pacchetto IP ricevuto) e si riciclano oggetti già creati ma non più utilizzati invece di creare ulteriori istanze la creazione non è banale e serve una classe di supporto (helper) per eseguirla 15

16 Information Expert Problema: Come assegnare responsabilità agli oggetti? Soluzione: Assegnare una responsabilità alla classe che possiede le informazioni per soddisfarla (Expert) Ricerca dell Expert Si ricerca nel modello di progetto Si crea ex-novo dal modello di dominio 16

17 Information Expert: esempio 1 Studio di Caso Monopoly Chi ha la responsabilità di accedere ad una square dato un nome? Modello di dominio Per Expert è Board Board aggrega oggetti Square quindi Board ha le informazioni su tali oggetti (è l Expert) quindi Board ha la responsabilità di accedere a Square Modello di progetto 17

18 Information Expert: esempio 2 Studio di Caso Monopoly Chi ha la responsabilità di conoscere il totale della vendita? time Sale 1 Contains Modello di dominio Per Expert è Sale E necessario conoscere i totali parziali Per conoscere i totali parziali occorre conoscere i SalesLineItem Sale conosce i SalesLineItem (perchè li aggrega) quindi è l Expert Sales LineItem quantity 1..* * Described-by 1 Product Description description price itemid Modello di progetto t = gettotal :Sale Sale NUOVO METODO New method time... gettotal() 18

19 Information Expert: esempio 2 Studio di Caso Monopoly time Sale Modello di dominio Chi ha la responsabilità di conoscere i totali parziali? 1 Contains Per Expert è SalesItem E necessario conoscere quantity (SalesLineItem) e price (ProductDescription) SalesLineItem conosce quantity e ProductDescription quindi è l Expert Sales LineItem quantity iterazione this notation su will tutti imply gli we elementi are iterating della over collezione all elements of a collection 1..* t = gettotal : Sale 1 *: st = getsubtotal lineitems[ i ] : SalesLineItem * Described-by time... 1 Product Description description price itemid Modello di progetto Sale gettotal() SalesLineItem NUOVO METODO New method quantity getsubtotal() 19

20 Information Expert: esempio 2 Studio di Caso Monopoly Modello di progetto t = gettotal : Sale 1 *: st = getsubtotal lineitems[ i ] : SalesLineItem time... Sale gettotal() Chi ha la responsabilità di conoscere il prezzo di un prodotto? Per Expert è ProductDescription ProductDescription conosce price quindi è l Expert time Sale 1 Contains Modello di dominio 1.1: p := getprice() :Product Description NUOVO METODO New method SalesLineItem quantity getsubtotal() Product Description description price itemid getprice() Sales LineItem quantity 1..* * Described-by 1 Product Description description price itemid 20

21 Information Expert: il principio di animazione L assolvimento di una responsabilità spesso richiede informazioni sparse tra diversi oggetti (vedi es. precedente) Uno degli oggetti inizia una collaborazione con gli oggetti che possiedono le informazioni parziali (es: Sale con SalesLineItem e ProductDescription) per assolvere alla responsabilità complessiva Nel mondo reale una vendita non dice il proprio valore perchè è un oggetto inanimato.per il principio di animazione nella programmazione OO tutti gli oggetti sono vivi o animati e fanno cose relative alle informazioni di cui sono a conoscenza 21

22 Information Expert: vantaggi e controindicazioni Vantaggi Supporta High Coesion e Low Coupling Controindicazioni In alcuni casi si può avere un conflitto con altri 2 principi: High Coesion e Low Coupling. Es: Chi è responsabile di salvare in un database le informazioni di una Sale? Per Expert è la classe Sale ma in questo modo si diminuisce la coesione funzionale di Sale (Sale si occupa di aspetti tecnici come il salvataggio su un DB) e si aumenta il suo accoppiamento (cfr. più avanti nelle slide) In tali casi non va applicato 22

23 Coupling Coupling (Accoppiamento) E una misura di quanto un elemento (classe, package, sottosistema, strato) sia connesso, abbia conoscenza e sia dipendente da altri elementi L accoppiamento va ridotto al minimo necessario per aumentare La manutenibilità (ridurre l impatto dei cambiamenti) La riusabilità Comprensibilità dei singoli elementi indipendentemente La classe A è accoppiata alla classe B. Infatti: A dipende da B (l operazione dox di A dipende dalle operazioni doa,dob,doc di B) Cambiamenti di comportamento delle operazioni doa, dob o doc provocano cambiamenti di comportamento di dox Il riuso della sola classe A non è possibile, è necessaria anche la classe B A B 23

24 Coupling Coupling (Accoppiamento) In un sistema software gli elementi collaborano tra loro (per il principio di animazione) quindi è normale che dipendano gli uni dagli altri. In conclusione: l accoppiamento è necessario ma va mantenuto il più basso possibile Nella programmazione OO le forme più comuni di accoppiamento tra due tipi TypeX e TypeY sono: TypeX ha un attributo TypeY o referenzia un istanza TypeY Un oggetto TypeX richiama servizi di un oggetto TypeY TypeX ha un metodo che referenzia oggetti di tipo TypeY (variabili locali, parametri o tipi ritornati) TypeX è una sottoclasse diretta o indiretta TypeY è un interfaccia e TypeX implementa direttamente o indirettamente questa interfaccia 24

25 Low Coupling (accoppiamento basso) Problema: come ridurre l impatto dei cambiamenti, aumentare manutenibilità e riusabilità? Soluzione: Assegnare la responsabilità in modo che l accoppiamento rimanga basso. Usare questo principio per valutare le alternative progettuali. A parità di altre condizioni si consideri il progetto con minore accoppiamento 25

26 Low Coupling: esempio 1 Studio di Caso Monopoly Problema: dato un nome di una Square chi deve avere la responsabilità di restituire la Square corrispondente? 1 Soluzione (Poor Design) Si crea una classe arbitraria (Dog) a cui si da questa responsabilità Dog è accoppiato sia a Board che a Square. (accoppiamento a 2 classi) 2 Soluzione Si applica Expert. Chi ha le informazioni per assolvere alla responsabilità? Board. Board è accoppiato a Square (accoppiamento a 1 classe) 26

27 Low Coupling: esempio 2 Studio di Caso POS Problema: Chi deve creare un Payment? 1 Soluzione Per Creator è Register. Register risulta accoppiato a 2 classi (Payment e Sale) makepayment() 1: create() : Register p : Payment 2: addpayment(p) :Sale 2 Soluzione Tale soluzione sostiene Low Coupling e quindi è migliore makepayment() 1: makepayment() : Register :Sale 1.1. create() :Payment 27

28 Low Coupling: vantaggi e controindicazioni Vantaggi (di un elemento con Low Coupling) Riusabilità Indipendenza dai cambiamenti di altri elementi Comprensibilità indipendentemente da altri elementi Controindicazioni Un accoppiamento alto di un elemento A con B non è un problema se A è consolidato (non instabile) e pervasivo (es: classi java.util) Applicare Low Coupling principalmente con gli elementi inerentemente instabili (es: UI) 28

29 Controller Problema: Qual è il primo oggetto oltre allo strato UI a ricevere e coordinare ( controllare ) una operazione di sistema? 1) Modello dei casi d uso, SSD per il gioco del monopoly 2) Dal Modello dei Casi d Uso al Modello di Progetto ( zoom su System per playgame): Per il principio di separazione modellovista gli oggetti dell UI Layer non devono avere logica applicativa ma delegare le richieste al domain layer. Qual è il primo oggetto del domain layer che riceve la richiesta? Board? Square?... :System 29

30 Controller Soluzione:Assegnare la responsabilità ad un oggetto che rappresenta una delle seguenti scelte: Facade Controller: L oggetto deve rappresentare il sistema complessivo, un oggetto radice o un dispositivo fisico nel quale viene eseguito il software. il sistema complessivo Controller di caso d uso o di sessione: L oggetto deve rappresentare uno scenario di caso d uso all interno del quale è presente l operazione di sistema. L oggetto viene chiamato <nome>handler, <nome>coordinator o <nome>session. Es: il caso d uso in cui si verifica playgame e chiamato PlayMonopolyGame. Il Controller sarà PlayMonopolyGameHandler o PlayMonopolyGameSession 30

31 Controller: esempio 1 Studio di Caso POS Problema: chi è il controller dell operazione di sistema enteritem? : Cashier presses button actionperformed( actionevent ) UI Layer :SaleJFrame enteritem(itemid, qty) Operazione di sistema system operation message 1 Soluzione: Register, un dispositivo fisico su cui viene eseguito il sw Domain Layer :??? enteritem(id, quantity) Qual è la responsabile di ricevere questo messaggio? Which class of object should be responsible for receiving this system event message? It is sometimes called the controller or coordinator. It does not normally do the work, but delegates it to other objects. Il controller non esegue il lavoro ma delega a sua volta The controller is a kind of "facade" onto the domain layer from the interface layer. E una sorta di Facade :Register 2 Soluzione: ProcessSaleHandler, un controller di caso d uso enteritem(id, quantity) :ProcessSaleHandler 31

32 Controller: esempio 1 System endsale() enteritem() makenewsale() makepayment() makenewreturn() enterreturnitem() Register endsale() enteritem() makenewsale() makepayment() makenewreturn() enterreturnitem()... Studio di Caso POS Controindicazioni: se le operazioni sono troppe si ha un conflitto con High Coesion. Da usare se ci sono poche operazioni! Operazione di sistema identificate durante l analisi degli SSD system operations discovered during system behavior analysis 1 Soluzione: Facade Controller allocation of system operations during design, using one facade controller System ProcessSale Handler HandleReturns Handler endsale() enteritem() makenewsale() makepayment() enterreturnitem() makenewreturn() endsale() enteritem() makenewsale() makepayment() 2 Soluzione: Controller di caso d uso allocation of system operations during design, using several use case controllers... enterreturnitem() makenewreturn()... Attenzione: non corrisponde a nessuna classe concettuale ( Pure Fabrication ) 32

33 Coesion Coesion (Coesione) E una misura di quanto sono correlate le operazioni di un elemento (classe, package, sottosistema, strato) dal punto di vista funzionale. Es: Oggetto Big, 100 metodi molto diversi per tipo di responsabilità (es: accesso ai db, log, calcoli matematici) è poco coeso ovvero poco focalizzato dal punto di vista funzionale Oggetto Small, 10 metodi con un solo tipo di responsabilità (calcoli matematici) è molto coeso 33

34 High Coesion Problema: Come mantenere gli oggetti focalizzati, comprensibili e gestibili e, come effetto collaterale, sostenere Low Coupling Soluzione: Assegnare le responsabilità in modo che la coesione rimanga alta. Usare questo principio per valutare alternative di progetto 34

35 Coesione, Accoppiamento e Modularità Modularità La modularità è la proprietà di un sistema decomposto in un insieme di moduli coesi e debolmente accoppiati Mutua influenza di coesione e accoppiamento Generalmente alta coesione produce basso accoppiamento e viceversa 35

Ingegneria del Software. Introduzione ai pattern

Ingegneria del Software. Introduzione ai pattern Ingegneria del Software Introduzione ai pattern 1 Definizione di pattern [dal [dal vocabolario vocabolario Garzanti] Garzanti] Alcuni esempi: Pattern architetturale Pattern di circuito stampato Pattern

Dettagli

Responsibility Driven Design

Responsibility Driven Design Responsibility Driven Design Laboratorio di Ingegneria del Software Andrea Bei Progettazione a oggetti (OOD) Progettare a oggetti una funzionalità espressa da un requisito ( use case, SSD, ) significa

Dettagli

design patterns e GRASP

design patterns e GRASP design patterns e GRASP 1 design patterns una coppia / particolarmente importante a cui viene dato un nome vengono espressi in un formato molto rigido, ad es. nome descrizione sintetica della descrizione

Dettagli

Se un oggetto A aggrega oggetti B allora avrà informazioni su di loro

Se un oggetto A aggrega oggetti B allora avrà informazioni su di loro Concetto di responsabilità nella progettazione guidata dalle responsabilità (RRD) si pensa in termini di responsabilità del software. Le responsabilità vengono assegnate agli oggetti durante la progettazione.

Dettagli

Questo capitolo esemplifica la progettazione di oggetti responsabilità e collaborazioni applicazione dei pattern GRASP applicazione di UML

Questo capitolo esemplifica la progettazione di oggetti responsabilità e collaborazioni applicazione dei pattern GRASP applicazione di UML Luca Cabibbo Analisi e Progettazione del Software Esempi di progettazione a oggetti con i pattern GRASP Capitolo 18 marzo 2013 Ogni cosa dovrebbe essere fatta nel modo più semplice possibile, ma non più

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

L ambizione dei design pattern (letteralmente schemi di programmazione) è quella di offrire soluzioni a problemi ricorrenti che facilitano lo

L ambizione dei design pattern (letteralmente schemi di programmazione) è quella di offrire soluzioni a problemi ricorrenti che facilitano lo Design Pattern L ambizione dei design pattern (letteralmente schemi di programmazione) è quella di offrire soluzioni a problemi ricorrenti che facilitano lo sviluppo dei programmi, il loro mantenimento,

Dettagli

!"#$%&&'()#*%+%+!"#$"',,'()#*%+ -")%*&'&'+'$.)+-$$%&&) !"#$%&&'(%)'*+%",#-%"#.'%&'#/0)-+#12"+3,)4+56#7+#.')8'9

!#$%&&'()#*%+%+!#$',,'()#*%+ -)%*&'&'+'$.)+-$$%&&) !#$%&&'(%)'*+%,#-%#.'%&'#/0)-+#12+3,)4+56#7+#.')8'9 !"#$%&&'()#*%+%+!"#$"',,'()#*%+ -")%*&'&'+'$.)+-$$%&&)!"#$%&&'(%)'*+%",#-%"#.'%&'#/0)-+#12"+3,)4+56#7+#.')8'9 Slide 1 Paradigmi di Programmazione! Un linguaggio supporta uno stile di programmazione se

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

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

Ingegneria del Software. Presentazione del pattern Proxy

Ingegneria del Software. Presentazione del pattern Proxy Ingegneria del Software Presentazione del pattern Proxy 1 Il pattern Proxy (1/6) Nome Proxy Synopsis Pattern molto generale che occorre in molti altri pattern, ma raramente nella sua forma pura. Il pattern

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

Ingegneria del Software. Introduzione al pattern

Ingegneria del Software. Introduzione al pattern Ingegneria del Software Introduzione al pattern 1 Esempio introduttivo (1/3) Si pensi ad un modello di oggetti che rappresenta gli impiegati (Employee) di una azienda. Tra gli impiegati esistono, ad esempio,

Dettagli

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

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

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

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

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

Ingegneria del Software 12. Progettazione. Dipartimento di Informatica Università di Pisa A.A. 2014/15

Ingegneria del Software 12. Progettazione. Dipartimento di Informatica Università di Pisa A.A. 2014/15 Ingegneria del Software 12. Progettazione Dipartimento di Informatica Università di Pisa A.A. 2014/15 progettare prima di produrre Tipico della produzione industriale sul tavolo da disegno si usa la gomma,

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

Corso di Amministrazione di Reti A.A. 2002/2003

Corso di Amministrazione di Reti A.A. 2002/2003 Struttura di Active Directory Corso di Amministrazione di Reti A.A. 2002/2003 Materiale preparato utilizzando dove possibile materiale AIPA http://www.aipa.it/attivita[2/formazione[6/corsi[2/materiali/reti%20di%20calcolatori/welcome.htm

Dettagli

SCENARIO. Personas. 2010 ALICE Lucchin / BENITO Condemi de Felice. All rights reserved.

SCENARIO. Personas. 2010 ALICE Lucchin / BENITO Condemi de Felice. All rights reserved. SCENARIO Personas SCENARIO È una delle tecniche che aiuta il designer a far emergere le esigente dell utente e il contesto d uso. Gli scenari hanno un ambientazione, attori (personas) con degli obiettivi,

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

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

Finalità della soluzione... 3. Schema generale e modalità d integrazione... 4. Gestione centralizzata in TeamPortal... 6

Finalità della soluzione... 3. Schema generale e modalità d integrazione... 4. Gestione centralizzata in TeamPortal... 6 Finalità della soluzione... 3 Schema generale e modalità d integrazione... 4 Gestione centralizzata in TeamPortal... 6 Dati gestiti dall Anagrafica Unica... 8 Gestione anagrafica... 9 Storicizzazione...

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

Fasi di creazione di un programma

Fasi di creazione di un programma Fasi di creazione di un programma 1. Studio Preliminare 2. Analisi del Sistema 6. Manutenzione e Test 3. Progettazione 5. Implementazione 4. Sviluppo 41 Sviluppo di programmi Per la costruzione di un programma

Dettagli

Progettazione di Basi di Dati

Progettazione di Basi di Dati Progettazione di Basi di Dati Prof. Nicoletta D Alpaos & Prof. Andrea Borghesan Entità-Relazione Progettazione Logica 2 E il modo attraverso il quale i dati sono rappresentati : fa riferimento al modello

Dettagli

ALLINEARSI: IL DRIVER PER UNA INNOVAZIONE DI SUCCESSO!

ALLINEARSI: IL DRIVER PER UNA INNOVAZIONE DI SUCCESSO! ALLINEARSI: IL DRIVER PER UNA INNOVAZIONE DI SUCCESSO! L allineamento del team esecutivo è definibile come l accordo dei membri del team in merito a: 1. Allineamento personale -consapevolezza dell impatto

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

12. Evoluzione del Software

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

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

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

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

object oriented analysis

object oriented analysis object oriented analysis 1 attività di analisi l obiettivo dell analisi è raggiungere la piena comprensione del dominio di interesse lo strumento è la descrizione di un modello di dominio mediante un opportuno

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

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

Oggetti Lezione 3. aspetti generali e definizione di classi I

Oggetti Lezione 3. aspetti generali e definizione di classi I Programmazione a Oggetti Lezione 3 Il linguaggio Java: aspetti generali e definizione di classi I Sommario Storia e Motivazioni Definizione di Classi Campi e Metodi Istanziazione di oggetti Introduzione

Dettagli

Sommario. Definizione di informatica. Definizione di un calcolatore come esecutore. Gli algoritmi.

Sommario. Definizione di informatica. Definizione di un calcolatore come esecutore. Gli algoritmi. Algoritmi 1 Sommario Definizione di informatica. Definizione di un calcolatore come esecutore. Gli algoritmi. 2 Informatica Nome Informatica=informazione+automatica. Definizione Scienza che si occupa dell

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

Programmazione a Oggetti Modulo B

Programmazione a Oggetti Modulo B Programmazione a Oggetti Modulo B Progetto Dott. Alessandro Roncato 4/10/2011 Progetto Da svolgere singolarmente Scadenza consegna: una settimana prima dello scritto; Valutazione in base a: Corretta compilazione

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

Progettazione : Design Pattern Creazionali

Progettazione : Design Pattern Creazionali Progettazione : Design Pattern Creazionali Alessandro Martinelli alessandro.martinelli@unipv.it 30 Novembre 2010 Progettazione : Design Pattern Creazionali Aspetti generali dei Design Pattern Creazionali

Dettagli

Programmazione Orientata agli Oggetti in Linguaggio Java

Programmazione Orientata agli Oggetti in Linguaggio Java Programmazione Orientata agli Oggetti in Linguaggio Java Design Pattern: Storia Parte b versione 2.1 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima pagina)

Dettagli

Gestione Turni. Introduzione

Gestione Turni. Introduzione Gestione Turni Introduzione La gestione dei turni di lavoro si rende necessaria quando, per garantire la continuità del servizio di una determinata struttura, è necessario che tutto il personale afferente

Dettagli

Modello di Implementazione

Modello di Implementazione Modello di Implementazione Laboratorio di Ingegneria del Software Andrea Bei Modello di implementazione Un è costituito dall insieme dei sorgenti che implementano un Modello di Progetto Linee guida per

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

GenLApp Generazione Lista di Applicazioni. Design Patterns. Classi Essenziali. Modellazione Dati. Progettazione della Linea di Prodotti

GenLApp Generazione Lista di Applicazioni. Design Patterns. Classi Essenziali. Modellazione Dati. Progettazione della Linea di Prodotti Progettazione della Linea di Prodotti GenLApp Generazione Lista di Applicazioni Progettazione della Linea di Prodotti Classi Essenziali Responsabilità sui 3 Livelli Architetturali Descrizione delle Responsabilità

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

Alcuni Design Pattern in Java

Alcuni Design Pattern in Java Marco Faella Alcuni Design Pattern in Java basato su Progettazione del Software e Design Pattern in Java, di Cay Horstmann Pattern ITERATOR Contesto: 1) Un oggetto (aggregato) contiene altri oggetti (elementi)

Dettagli

3. Introduzione all'internetworking

3. Introduzione all'internetworking 3. Introduzione all'internetworking Abbiamo visto i dettagli di due reti di comunicazione: ma ce ne sono decine di tipo diverso! Occorre poter far comunicare calcolatori che si trovano su reti di tecnologia

Dettagli

Programmazione Orientata agli Oggetti in Linguaggio Java

Programmazione Orientata agli Oggetti in Linguaggio Java Programmazione Orientata agli Oggetti in Linguaggio Java Ruoli e Responsabilità: Introduzione versione 2.3 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima

Dettagli

Esercitazioni di PROGETTAZIONE DEL SOFTWARE A.A. 2011-2012

Esercitazioni di PROGETTAZIONE DEL SOFTWARE A.A. 2011-2012 Sapienza Università di Roma Facoltà di Ingegneria dell Informazione, Informatica e Statistica Corso di Laurea in Ingegneria Informatica ed Automatica Corso di Laurea in Ingegneria dei Sistemi Informatici

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

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

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

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

Diagrammi dei package

Diagrammi dei package Diagrammi dei package Package Meccanismo di raggruppamento di più classi (riferito al momento della compilazione) in unità di livello più alto, al fine di dominare la complessità strutturale di un sistema

Dettagli

Esercitazioni di Progettazione del Software. Esercitazione (Prova al calcolatore del 17 settembre 2010)

Esercitazioni di Progettazione del Software. Esercitazione (Prova al calcolatore del 17 settembre 2010) Sapienza - Università di Roma Facoltà di Ingegneria dell Informazione, Informatica e Statistica Corso di Laurea in Ingegneria Informatica ed Automatica, Ingegneria dei Sistemi Informatici Esercitazioni

Dettagli

Lezione 10: Il problema del consumatore: Preferenze e scelta ottimale

Lezione 10: Il problema del consumatore: Preferenze e scelta ottimale Corso di Scienza Economica (Economia Politica) prof. G. Di Bartolomeo Lezione 10: Il problema del consumatore: Preferenze e scelta ottimale Facoltà di Scienze della Comunicazione Università di Teramo Scelta

Dettagli

La gestione manageriale dei progetti

La gestione manageriale dei progetti PROGETTAZIONE Pianificazione, programmazione temporale, gestione delle risorse umane: l organizzazione generale del progetto Dimitri Grigoriadis La gestione manageriale dei progetti Per organizzare il

Dettagli

La Leadership efficace

La Leadership efficace La Leadership efficace 1 La Leadership: definizione e principi 3 2 Le pre-condizioni della Leadership 3 3 Le qualità del Leader 4 3.1 Comunicazione... 4 3.1.1 Visione... 4 3.1.2 Relazione... 4 pagina 2

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

Corso: Sistemi di elaborazione delle informazioni 2. Anno Accademico: 2007/2008. Docente: Mauro Giacomini

Corso: Sistemi di elaborazione delle informazioni 2. Anno Accademico: 2007/2008. Docente: Mauro Giacomini Corso: Sistemi di elaborazione delle informazioni 2. Anno Accademico: 2007/2008. Docente: Mauro Giacomini Organizzazione no-profit per lo sviluppo di standard che fornisce linee guida per: lo scambio la

Dettagli

Diagrammi di Interazione

Diagrammi di Interazione Corso di Laurea Specialistica in Ingegneria Informatica Corso di Ingegneria del Software A. A. 2008 - Diagrammi di Interazione Definizioni Diagrammi di Interazione una interazione specifica i dettagli

Dettagli

I database relazionali sono il tipo di database attualmente piu diffuso. I motivi di questo successo sono fondamentalmente due:

I database relazionali sono il tipo di database attualmente piu diffuso. I motivi di questo successo sono fondamentalmente due: Il modello relazionale I database relazionali sono il tipo di database attualmente piu diffuso. I motivi di questo successo sono fondamentalmente due: 1. forniscono sistemi semplici ed efficienti per rappresentare

Dettagli

Programmazione A.A. 2002-03. Programmazione Orientata agli Oggetti: Lavorare con gli oggetti ( Lezione XXVII)

Programmazione A.A. 2002-03. Programmazione Orientata agli Oggetti: Lavorare con gli oggetti ( Lezione XXVII) Programmazione A.A. 2002-03 I Programmazione Orientata agli Oggetti: Lavorare con gli oggetti ( Lezione XXVII) Prof. Giovanni Gallo Dr. Gianluca Cincotti Dipartimento di Matematica e Informatica Università

Dettagli

Guida all uso del web service SDMX

Guida all uso del web service SDMX Guida all uso del web service SDMX Introduzione L obiettivo di questo documento è l illustrazione sintetica degli step che tecnicamente bisogna compiere affinché un generico client sia in grado di interagire

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

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

Testo Esercizio. Un modello è ragionevole quando contiene queste tre caratteristiche. Testo Esercizio Si consideri la realizzazione di un semplice programma grafico per il disegno di figure geometriche in due dimensioni. Si analizzino i requisiti e se ne rappresentino i risultati in UML

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

Regione Toscana. ARPA Fonte Dati. Manuale Amministratore. L. Folchi (TAI) Redatto da

Regione Toscana. ARPA Fonte Dati. Manuale Amministratore. L. Folchi (TAI) Redatto da ARPA Fonte Dati Regione Toscana Redatto da L. Folchi (TAI) Rivisto da Approvato da Versione 1.0 Data emissione 06/08/13 Stato DRAFT 1 Versione Data Descrizione 1,0 06/08/13 Versione Iniziale 2 Sommario

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

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

Lezione 2. Il modello entità relazione

Lezione 2. Il modello entità relazione Lezione 2 Il modello entità relazione Pag.1 Introduzione alla progettazione delle basi di dati 1. Analisi dei requisiti Quali sono le entità e le relazioni dell organizzazione? Quali informazioni su queste

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

CORSO BUSINESS CONTINUITY AND DISASTER RECOVERY MANAGEMENT LE 10 PROFESSIONAL PRACTICES

CORSO BUSINESS CONTINUITY AND DISASTER RECOVERY MANAGEMENT LE 10 PROFESSIONAL PRACTICES 1 CORSO BUSINESS CONTINUITY AND DISASTER RECOVERY MANAGEMENT Il corso è finalizzato a illustrare in dettaglio le competenze richieste al Business Continuity Manager per guidare un progetto BCM e/o gestire

Dettagli

Corso di Informatica

Corso di Informatica Corso di Informatica Modulo T3 1-Sottoprogrammi 1 Prerequisiti Tecnica top-down Programmazione elementare 2 1 Introduzione Lo scopo di questa Unità è utilizzare la metodologia di progettazione top-down

Dettagli

Principi e schemi di progettazione object oriented (design pattern elementari)

Principi e schemi di progettazione object oriented (design pattern elementari) Principi e schemi di progettazione object oriented (design pattern elementari) Prof. Paolo Ciancarini! Corso di Ingegneria del Software! CdL Informatica! Università di Bologna 1 Scopo della lezione Introduzione

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

Appendice III. Competenza e definizione della competenza

Appendice III. Competenza e definizione della competenza Appendice III. Competenza e definizione della competenza Competenze degli psicologi Lo scopo complessivo dell esercizio della professione di psicologo è di sviluppare e applicare i principi, le conoscenze,

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

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

Capitolo 13. Interrogare una base di dati

Capitolo 13. Interrogare una base di dati Capitolo 13 Interrogare una base di dati Il database fisico La ridondanza è una cosa molto, molto, molto brutta Non si devono mai replicare informazioni scrivendole in più posti diversi nel database Per

Dettagli

Light CRM. Documento Tecnico. Descrizione delle funzionalità del servizio

Light CRM. Documento Tecnico. Descrizione delle funzionalità del servizio Documento Tecnico Light CRM Descrizione delle funzionalità del servizio Prosa S.r.l. - www.prosa.com Versione documento: 1, del 11 Luglio 2006. Redatto da: Michela Michielan, michielan@prosa.com Revisionato

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

Object Oriented Software Design

Object Oriented Software Design Dipartimento di Informatica e Sistemistica Antonio Ruberti Sapienza Università di Roma Object Oriented Software Design Corso di Tecniche di Programmazione Laurea in Ingegneria Informatica (Canale di Ingegneria

Dettagli

Mon Ami 3000 Varianti articolo Gestione di varianti articoli

Mon Ami 3000 Varianti articolo Gestione di varianti articoli Prerequisiti Mon Ami 3000 Varianti articolo Gestione di varianti articoli L opzione Varianti articolo è disponibile per le versioni Azienda Light e Azienda Pro e include tre funzionalità distinte: 1. Gestione

Dettagli

I database. Cosa sono e a cosa servono i Database

I database. Cosa sono e a cosa servono i Database I database Estratto dal Modulo 1 - I database Prof. Piero GALLO 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

Dettagli

Gestione Risorse Umane Web Work-flow Selezione

Gestione Risorse Umane Web Work-flow Selezione Gestione Risorse Umane Web Work-flow Selezione Premessa... 2 Richieste di personale create con le precedenti versioni... 3 Configurazioni necessarie... 3 Particolarità... 3 Status delle richieste... 5

Dettagli

modelli casi d uso diagrammi di sequenza di sistema contratti delle operazioni di sistema Capitolo 11

modelli casi d uso diagrammi di sequenza di sistema contratti delle operazioni di sistema Capitolo 11 Luca Cabibbo Analisi e Progettazione del Software Diagrammi di sequenza di sistema Capitolo 10 marzo 2013 In teoria, non c è differenza tra teoria e pratica. Ma, in pratica, c è. Jan L.A. van de Snepscheut

Dettagli

03. Il Modello Gestionale per Processi

03. Il Modello Gestionale per Processi 03. Il Modello Gestionale per Processi Gli aspetti strutturali (vale a dire l organigramma e la descrizione delle funzioni, ruoli e responsabilità) da soli non bastano per gestire la performance; l organigramma

Dettagli

INDIRIZZI IP ARCHITETTURA GENERALE DEGLI INDIRIZZI IP FORME DI INDIRIZZI IP CINQUE FORME DI INDIRIZZI IP

INDIRIZZI IP ARCHITETTURA GENERALE DEGLI INDIRIZZI IP FORME DI INDIRIZZI IP CINQUE FORME DI INDIRIZZI IP INDIRIZZI IP ARCHITETTURA GENERALE DEGLI INDIRIZZI IP Un indirizzo IP è composto da 32 bit. Generalmente, per convenienza, è presentato in decimale: 4 ottetti (bytes) separati da un punto. Ogni rete fisica

Dettagli

Strutturazione logica dei dati: i file

Strutturazione logica dei dati: i file Strutturazione logica dei dati: i file Informazioni più complesse possono essere composte a partire da informazioni elementari Esempio di una banca: supponiamo di voler mantenere all'interno di un computer

Dettagli

Gestione Iter Manuale Sistemista. Gestione Iter Manuale Sistemista

Gestione Iter Manuale Sistemista. Gestione Iter Manuale Sistemista Gestione Iter Manuale Sistemista Paragrafo-Pagina di Pagine 1-1 di 8 Versione 3 del 24/02/2010 SOMMARIO 1 A Chi è destinato... 1-3 2 Pre requisiti... 2-3 3 Obiettivi... 3-3 4 Durata della formazione...

Dettagli

Dispensa di database Access

Dispensa di database Access Dispensa di database Access Indice: Database come tabelle; fogli di lavoro e tabelle...2 Database con più tabelle; relazioni tra tabelle...2 Motore di database, complessità di un database; concetto di

Dettagli

Fare Efficienza Energetica attraverso l automazione degli edifici

Fare Efficienza Energetica attraverso l automazione degli edifici Fare Efficienza Energetica attraverso l automazione degli edifici Grazie alla rapida diffusione di tecnologie intelligenti a buon mercato la gestione efficiente degli edifici è ormai diventata uno standard

Dettagli

Database. Appunti di Amaranto Oronzo e Giancane Diego Lezione dell Ing. Lucia Vaira 24/04/2014

Database. Appunti di Amaranto Oronzo e Giancane Diego Lezione dell Ing. Lucia Vaira 24/04/2014 Database Appunti di Amaranto Oronzo e Giancane Diego Lezione dell Ing. Lucia Vaira 24/04/2014 Cos'è un database? È una struttura di dati composta da tabelle a loro volta composte da campi. Caratteristiche

Dettagli

APPROVVIGIONARE APPROVVIGIONARE. Rev. Data Causale Redazione Verifica Approvazione. 00 xx/xx/xxxx Prima emissione

APPROVVIGIONARE APPROVVIGIONARE. Rev. Data Causale Redazione Verifica Approvazione. 00 xx/xx/xxxx Prima emissione APPROVVIGIONARE Rev. Data Causale Redazione Verifica Approvazione 00 xx/xx/xxxx Prima emissione INDICE SCOPO DELLA PROCEDURA RESPONSABILITÀ CAMPO DI APPLICAZIONE MODALITÀ OPERATIVE MONITORAGGIO E MISURAZIONE

Dettagli

CORSO ACCESS PARTE II. Esistono diversi tipi di aiuto forniti con Access, generalmente accessibili tramite la barra dei menu (?)

CORSO ACCESS PARTE II. Esistono diversi tipi di aiuto forniti con Access, generalmente accessibili tramite la barra dei menu (?) Ambiente Access La Guida di Access Esistono diversi tipi di aiuto forniti con Access, generalmente accessibili tramite la barra dei menu (?) Guida in linea Guida rapida Assistente di Office indicazioni

Dettagli