UNIVERSITÀ DEGLI STUDI DELL INSUBRIA

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "UNIVERSITÀ DEGLI STUDI DELL INSUBRIA"

Transcript

1 UNIVERSITÀ DEGLI STUDI DELL INSUBRIA Facoltà Di Scienze Matematiche, Fisiche e Naturali Sede di Como Laurea Triennale in Scienze e Tecnologie dell Informazione I FUNCTION POINT E LE METRICHE FUNZIONALI: UN CASO DI STUDIO REALE Relatore: Prof. DAVIDE TAIBI Relatore Esterno: Dott. VIERI DEL BIANCO Laureando: Simone BERNASCONI matricola Anno Accademico

2 INDICE 2

3 RINGRAZIAMENTI Un sincero ringraziamento va a tutti coloro che, in momenti diversi e in vari modi, mi hanno prestato il loro aiuto e la loro assistenza nella realizzazione di questo lavoro. Ringrazio i miei genitori per avermi dato la possibilità di compiere questo ciclo di studi e per aver sempre avuto fiducia nelle mie capacità. Ringrazio i miei nonni per essere stati i primi ad aver sempre creduto in me. Ringrazio Arianna per avermi sopportato durante questo corso di studi ed essermi sempre stata vicina condividendo con me gioie e difficoltà. Ringrazio i miei colleghi di studi con cui ho condiviso preoccupazioni e speranze. In particolare Daniele, Marco e Gianni con i quali sono certo di continuare la forte e sincera amicizia che ci lega. Ringrazio l Università degli Studi dell Insubria, il Dipartimento di Scienze Matematiche e Fisiche di Como e tutti i Professori dei corsi di studio che ho seguito. Ringrazio il mio relatore Dott. Davide Taibi ed il mio correlatore Dott. Vieri Del Bianco per la disponibilità dimostrata nello sviluppo di questo lavoro. Ringrazio me stesso per avercela fatta. 3

4 Capitolo 1 1. INTRODUZIONE La misurazione permette ad ogni attività della nostra vita, dalla determinazione dei prezzi del sistema economico, alle rilevazioni mediche, allo scandire del tempo, non esiste attività che non richieda l utilizzo della misurazione. È possibile definire la misurazione come il processo di assegnazione di simboli, normalmente numeri, per rappresentare un attributo dell entità di interesse, secondo le regole definite. Per entità si intende l oggetto sul quale va effettuata l indagine, per attributo dell entità si intende l oggetto puntuale ed ultimo dell attività di misurazione. La forma usata per rappresentare l attributo è normalmente numerica e le regole sono necessarie per arrivare a determinare il valore dell attributo, la misura. Si esegue una misurazione per ottenere ulteriori informazioni relative alla realtà di interesse e poter agire con lo scopo di: Valutazione e miglioramento Previsione 4

5 1.1 MISURARE IL SOFTWARE Così, come per molte altre cose, anche per il software venne il momento di introdurre un unità di misura che permettesse di valutare il lavoro dei programmatori e di quantificare anche economicamente gli sforzi profusi da team di sviluppo e ingegneri del software. Inizialmente si pensò di utilizzare il calcolo delle LOC ( Lines Of Code) per la misurazione e la valutazione di un software ma questa unità di misura risultò avere numerose imperfezioni e impedimenti: basti pensare al fatto che si avevano numerose difficoltà a spostare le valutazioni da un linguaggio di programmazione all altro rendendo difficoltoso e talvolta impossibile, far confronti diretti tra software simili. Così nel corso degli anni si è sviluppato un nuovo modo di valutare il software, il Function Point. 1.2 OBBIETIVO DELLA TESI Scopo di questa tesi è analizzare le principali metriche di misurazione della dimensione funzionale del software. Verranno analizzati nel dettaglio il calcolo dei Function Point con il metodo IFPUG e con il metodo COSMIC, approfondendone analogie e differenze. Successivamente verrà analizzato un caso di studio reale, confrontando i dati ottenuti tramite l applicazione della metodologia IFPUG con i risultati ottenuti tramite l applicazione della metodologia COSMIC. 5

6 1.3 STRUTTURA DELLA TESI Nel primo capitolo sono state chiarite le motivazioni per le quali viene svolto il lavoro di tesi ponendo particolare attenzione sulle difficoltà che si possono incontrare nella misurazione del software. Nel secondo capitolo vengono analizzate le caratteristiche di qualità del sofware descritte dalla ISO 9126 e vengono introdotte le metriche di misurazione a partire dalle linee di codice, per poi analizzare la complessità ciclomatica ed infine arrivare alle metriche funzionali. Nel terzo capitolo vengono descritte nel dettaglio la IFPUG Function Points Analysis e la COSMIC Function Points Analysis, partendo dalle origini storiche fino ad approfondire ogni singolo aspetto necessario al calcolo della complessità funzionale. Il quarto capitolo è dedicato all analisi del caso di studio reale, ovvero al calcolo della complessità funzionale del software dedicato al calcolo dei function points. L ultimo capitolo è dedicato alle conclusioni. 6

7 Capitolo 2 2. METRICHE E QUALITÁ DEL SOFTWARE P er qualità si intende qualsiasi caratteristica, proprietà o condizione di una persona o di una cosa che serva a determinarne la natura e a distinguerla dalle altre. Nell ambito dell ingegneria del software, la qualità del software è qualsiasi caratteristica, proprietà o condizione di un prodotto o processo di sviluppo che serva a determinarne la natura e a distinguerlo da altri prodotti software. In generale non tutte le qualità possono essere misurate in modo semplice e assoluto. Possono invece dipendere da fattori esterni quali il contesto d uso o da valutazioni soggettive che fa l attore che esegue la misurazione. Le qualità del software si possono classificare a seconda della percezione che ne hanno gli utenti (qualità esterne) o gli sviluppatori (qualità interne). Le varie qualità possono comunque essere interrelate e mostrare contemporaneamente aspetti esterni ed interni. 7

8 Negli anni sono stati definiti molti modelli della qualità del software. Le norme ISO 9126 [Figura 1] descrivono un modello di qualità del software, definiscono le caratteristiche che la determinano e propongono metriche per la misurazione. Il modello definisce sei caratteristiche, suddivise a loro volta in sotto-caratteristiche, come mostrato nella figura seguente. Figura 1:Il modello di qualità ISO-IEC 9126 FUNZIONALITÀ La funzionalità rappresenta la capacità di fornire funzioni tali da soddisfare, in determinate condizioni, requisiti funzionali espliciti o impliciti. Gli attributi del software richiesti da questa caratteristica sono: Adeguatezza: presenza di funzioni appropriate per compiti specifici; Accuratezza: capacità di fornire risultati od effetti in accordo con i requisiti; Interoperabilità: capacità di interagire con altri sistemi; 8

9 Sicurezza: capacità di evitare accessi non autorizzati a programmi e dati; Aderenza alla funzionalità: capacità di aderire a standard e convenzioni relative alla funzionalità. AFFIDABILITÀ Per affidabilità si intende la capacità di mantenere le prestazioni stabilite nelle condizioni e nei tempi stabiliti. Le sotto-caratteristiche sono: Maturità: capacità di evitare che si verifichino errori o siano prodotti risultati incorretti in fase di esecuzione; Tolleranza ai guasti: capacità di mantenere livelli di prestazioni predeterminati in caso di fallimenti o di violazione delle regole di interfacciamento; Recuperabilità: capacità di ripristinare livelli di prestazione predeterminati e di recuperare I dati a seguito di errori; Aderenza all affidabilità: capacità di aderire a standard e convenzioni relative all affidabilità. USABILITÀ L usabilità è la capacità del software di essere compreso ed usato con soddisfazione dall utente in determinate condizioni d uso. Gli attributi del software richiesti da questa caratteristica sono: Comprensibilità: impegno richiesto agli utenti per capire il funzionamento del software; Apprendibilità: impegno richiesto agli utenti per imparare ad usare il software; 9

10 Operabilità: impegno richiesto agli utenti per imparare ad usare il software; Attrattività: capacità del software di risultare attraente per l utente. Aderenza all usabilità: capacità di aderire a standard e convenzioni relative all usabilità. EFFICIENZA Per efficienza si intende il rapporto fra prestazioni e quantità di risorse utilizzate, in condizioni normali di funzionamento. Le sotto-caratteristiche sono: Comportamento rispetto al tempo: capacità di fornire appropriati tempi di risposta, tempi di elaborazione e quantità di lavoro eseguendo le funzionalità previste sotto determinate condizioni di utilizzo; Utilizzo delle risorse: quantità e tipo di risorse usate per eseguire le funzioni richieste in determinate condizioni: Aderenza all efficienza: capacità di aderire a standard e convenzioni relative all efficienza. MANUTENIBILITÀ La manutenibilità è la capacità del software di essere modificato con un impegno contenuto. Le sotto-caratteristiche sono: Analizzabilità: capacità di poter effettuare la diagnosi sul software ed individuare le cause di errori o malfunzionamenti; Modificabilità: impegno richiesto per modificare, rimuovere errori o sostituire componenti; 10

11 Stabilità: capacità di ridurre il rischio di comportamenti inaspettati a seguito di modifiche; Provabilità: impegno richiesto per validare le modifiche apportate al software; Aderenza alla manutenibilità: capacità di aderire a standard e convenzioni relative alla manutenibilità. PORTABILITÀ Per portabilità si intende la facilita con cui il software può essere trasferito da un ambiente operativo ad un altro. Gli attributi del software richiesti da questa caratteristica sono: Adattabilità: capacità di essere adattato a differenti ambienti senza richiedere azioni specifiche diverse da quelle previste dal software per tali attività; Installabilità: impegno richiesto per installare il software in un particolare ambiente; Coesistenza: capacità di coesistere con altre applicazioni indipendenti in ambienti comuni e di condividere le risorse; Sostituibilità: capacità di sostituire un altro software specifico indipendente, per lo stesso scopo e nello stesso ambiente; Aderenza alla portabilità: capacità di aderire a standard e convenzioni relative alla portabilità. 11

12 2.1 ORIGINI DELLA MISURAZIONE DEL SOFTWARE Così, come per molte altre cose, anche per il software venne il momento di introdurre un unità di misura che permettesse di valutare il lavoro dei programmatori e di quantificare anche economicamente gli sforzi profusi da team di sviluppo e ingegneri del software. La prima occasione ufficiale di discussione sulla misurazione del software, fu la prima conferenza NATO sul Software Engineering nel La prima, misura del software è storicamente rappresentata dal numero di linee di codice (LOC, Lines Of Code); il primo tentativo di calcolo della produttività dei programmatori in termini di numero di LOC per mese-persona risale al Dagli anni 70 sono nate proposte specifiche per la misurazione della dimensione tecnica e della complessità del software quali il coefficiente ciclomatico di McCabe (1976) e la software science di Halstead (1977). Tra la fine degli anni 70 e la prima metà degli anni 80 sono dunque sorte varie proposte di misura funzionale, intesa come misura indipendente dal linguaggio di programmazione e da altri aspetti tecnico-implementativi come la misura FFP (Files, Flows, Processes) nel 1983 e la prima versione dei Function Point nel Nel corso di un ventennio la Function Point Analysis, standardizzata dall IFPUG a partire dal 1986, è evoluta generando molte varianti e proposte di miglioramento, più o meno diffuse. Nel 1998 è nato il Common Software Measurement Consortium Group, da cui venne pubblicato il metodo dei COSMIC Full Function Point. 12

13 2.2 LINEE DI CODICE Le Linee di Codice, (LOC) sono una metrica del software che viene utilizzata per misurare la grandezza di un programma tramite il conteggio del numero di line di codice sorgente. Uno dei principali inconvenienti nell utilizzo di questo metodo riguarda l usabilità in particolari situazioni: è infatti molto difficile confrontare software con un numero di line di codice diverso tra loro. La misura delle LOC si divide in due tipi: Physical LOC: si contano tutte le righe di testo del codice sorgente includendo anche i commenti e le linee bianche se la loro percentuale non supera il 25% delle linee. Logical LOC: si contano gli "statements", ovvero le effettive istruzioni Un aspetto controverso è legato all utilizzo di questo metodo di misurazione e i programmi che va a valutare: il metodo si utile per misurare con efficienza il costo per la realizzazione di un software ma non tiene conto di una variabile importante: l abilità dello sviluppatore. 2.3 COMPLESSITÀ CICLOMATICA La Complessità Ciclomatica è una metrica software utilizzata per valutare la complessità di un algoritmo in un metodo, ed è basata unicamente sulla struttura del grafo che rappresenta l algoritmo. È calcolata utilizzando il grafo di controllo di flusso del programma in cui I nodi corrispondono a gruppi indivisibili di istruzioni, mentre gli archi connettono due nodi se il secondo gruppo di istruzioni può essere eseguito immediatamente dopo il primo gruppo. 13

14 Può essere definita come il numero di casi di test necessari per testare esaurientemente il metodo. Riferendosi ad un grafo che rappresenta l algoritmo e posti: v(g) = numero ciclomatico relativo al grafo G e = numero di archi nel grafo n = numero di nodi del grafo si ha: p = numero dei componenti connesse v(g) = e n + 2p In un grafo G fortemente connesso, il numero ciclomatico v(g) è uguale al numero di percorsi linearmente indipendenti. In generale sono presenti tanti If loop e quindi saranno presenti tante scelte che generano dei percorsi multipli, ad ognuno dei quali è associato un caso di test. Generalmente viene ritenuto migliore un metodo con complessità ciclomatica bassa, sebbene a volte questo non è dovuto ad una bassa complessità del metodo bensì al fatto che il metodo differisce le decisioni inviando un messaggio. 14

15 A causa dell eredità non può essere usata per misurare la complessità di una classe; tuttavia la complessità di una classe può essere valutata usando la complessità di un singolo metodo combinata con altre metriche. 2.4 MISURAZIONE FUNZIONALE Il metodo di misurazione della dimensione funzionale (FSM) misura la visione logica esterna del software dal punto di vista degli utenti, valutando la quantità di funzionalità da consegnare. La capacità di quantificare in maniera precisa le dimensioni del software, sia nella fase iniziale che in quella finale del ciclo di vita evolutivo del software, è determinante per chi gestisce i progetti di software e deve assicurare una valutazione dei rischi, lo sviluppo delle stime (per esempio, impegno lavorativo, costo del progetto) e la possibilità di disporre anticipatamente degli indicatori del progetto (es. produttività). Il metodo di misurazione della dimensione funzionale più usato è quello noto come IFPUG Analisi dei Function Point (IFPUG FPA) che si basa su un metodo proposto da Alan Albrecht. Questo metodo può essere considerato il precursore dei metodi FSM. Questa tecnica venne messa a punto per misurare la quantità di dati a cui accede una singola funzione come indicatore della dimensione funzionale. Sebbene l IFPUG, Analisi dei Function Point, abbia ottenuto una fama crescente nell industria, la mancata applicabilità a tutti i tipi di software e la rapida evoluzione dei paradigmi di sviluppo hanno portato alla nascita di numerose variazioni in questo metodo. Per superare queste diversità il COSMIC- FFP ha introdotto la seconda generazione di metodi FSM, applicabile a diversi domini di software, ai moderni concetti di ingegneria di software. Nel prossimo capitolo verranno descritte in modo approfondito le modalità di misurazione funzionale più diffuse. 15

16 Capitolo 3 3. FUNCTION POINT I Function Point sono un unità di misura utilizzata nell ambito dell ingegneria del software utilizzata per definire le dimensioni del prodotto in termini di funzionalità fornite dall utilizzatore e basata sul numero e tipo delle informazioni in entrata, in uscita e in memorizzazione. L idea di misurare le funzionalità di un applicazione software solo dal punto di vista dell utente finale, senza tener conto degli aspetti tecnici e implementativi, appare affascinante a chiunque abbia avuto a che fare con lo sviluppo di software. Questa metrica è stata introdotta a partire dal 1975 presso IBM da Allan Albrecht, il quale ha pubblicato per la prima volta le sue idee nel 1979, quando i computers erano ancora considerati macchine misteriose. Albrecht suggeriva di misurare un applicazione solo sulla base delle funzionalità visibili dall esterno, come se fosse una black box. 16

17 I principali motivi che hanno spinto Albrecht a creare questo nuovo approccio di misurazione, e che spingono attualmente i programmatori ad utilizzare i Function Point, sono: Stima Il Function Point consente di fare confronti tra tecnologie diverse e quindi di poter fare valutazioni chiare e precise su quale tecnologia è preferibile impiegare nella realizzazione di un progetto e cosa fare per poter migliorare la qualità del lavoro. E importante considerare le risorse umane per stimare il costo in termini di forza lavoro e non solamente in termini di fattori fisici e tecnologici da impiegare nello sviluppo. Predizione Il Function Point consente di effettuare previsioni sulle tempistiche e quindi sui costi necessari allo sviluppo del progetto. Questo motivo è utile sia per effettuare previsioni interne all azienda sia per effettuare preventivi. Pianificazione Dopo aver stimato le dimensioni del progetto e aver definito le tempistiche e l impiego delle risorse è necessario pianificare il lavoro per evitare problemi relativi a ritardi sui tempi di consegna e in fase di sviluppo tra coloro che sviluppano il progetto. Controllo L ultimo punto consiste nel verificare il rispetto dei tempi di consegna, dei tempi previsti per la realizzazione delle variefasi del progetto e permette di valutare quanto la pianificazione, la stima e le previsioni fossero accurate. Le idee di Allan Albrecht furono prese in considerazione da alcuni gruppi di utenti che fondarono nel 1986 l IFPUG (International Function Point Users Group). Alcune delle idee iniziali di Albrecht sono state migliorate, altre abbandonate e col passare degli anni sono state sviluppate varianti del metodo 17

18 originario tra cui la variante COSMIC, sviluppata dal Common Software Measurement International Consortium. 18

19 3.1 IFPUG FUNCTION POINT EVOLUZIONE Come precedentemente accennato, l International Function Point Users Group (IFPUG) ha sviluppato le idee iniziali di Allan Albrecht e sono stati pubblicati vari documenti tra cui il Manuale di Conteggio (Counting Practices Manual, CPM), il quale ha raggiunto nel 2004 la versione 4.2. La soluzione che inizialmente ideò Albrecht per risolvere i problemi comportati dall uso delle LOC (Line Of Code) nel calcolo della produttività e stima dell effort di progetto, teneva conto di quattro componenti funzionali suddivisi in due tipologie: Dati: espressi dalla componente originariamente denominata Master File (MF); Transazioni: espressi da tre diverse tipologie di componenti: o External Input (EI): un processo elementare nel quale i dati attraversano il confine dall esterno verso l interno; o External Output (EO): un processo elementare nel quale dati derivati passano attraverso il confine dall interno verso l esterno; o External InQuiry (EQ): un processo elementare con entrambe le componenti di input e output, il quale a fronte di un interrogazione dell utente al sistema restituisce il risultato della query. Ogni componente veniva soppesato con l attribuzione di un numero di punti funzionali (UFP Unadjusted Function Point) ottenendo un valore che poteva essere corretto in base a 10 fattori detti GSC (General System Characteristics), ognuno con un peso pari a +- 5%, con un aggiustamento pari al 50% sugli UFP. 19

20 La somma delle GSC prende il nome di VAF (Value Adjustement Factor). 10 VAF = DI i i=1 FP = UFP * VAF Dove DI sta per Grado di Influenza dei singoli fattori, valutati su una scala 0-5 dove 0 indica nessuna influenza e 5 indica influenza massima. L evoluzione del metodo, nel 1984, ha comportato ad un allargamento da 4 a 5 componenti suddividendo la voce Master File in: Internal Logical File (ILF): gruppo di dati o di informazioni di controllo che vengono mantenuti all interno del confine applicativo; External Interface File (EIF): gruppo di dati o di informazioni di controllo che vengono mantenuti all esterno del confine applicativo. Un altra modifica al modello del 1979 consiste nella ponderazione dei singoli componenti assegnando un livello di complessità (bassa, media e alta) e l allargamento da 10 a 14 fattori correttivi che permettono una modifica della precedente formula: 20

21 14 VAF = DI i i=1 Nel 1990 venne costituito in Italia il Gruppo Utenti Function Point Italia (GUFPI) il quale si dedicò alla pubblicazione di documenti interpretativi e alla traduzione delle versioni del Manuale di Conteggio a partire dalla versione 4.0. Proprio la versione 4.0, pubblicata nel 1994, viene considerata una svolta storica rispetto alle precedenti e le pubblicazioni successive, le versioni e 4.2 variano solamente per alcuni dettagli. Uno degli elementi che il CPM dell IFPUG ha formalizzato è stata la procedura di conteggio con la lista di sette passi necessari per giungere a determinare il numero di Adjusted Function Point. La versione venne pubblicata nell anno 2000 ed è molto simile alla versione attuale. In seguito alla pubblicazione di tale documento, l IFPUG si è resa conto di alcune imprecisioni nelle definizioni di ILF e EIF ed è stato diffuso nel settembre 2001 un aggiornamento (Addendum) del manuale. La versione 4.2 è semplicemente la versione integrata con l Addendum, e le definizione fornite in tale documento sono talmente precise da poter essere formalizzate. 21

22 3.1.2 PROCEDURA DI MISURAZIONE Come precedentemente accennato esistono varie fasi per arrivare a determinare il numero di Function Point di un progetto software. Determinare il tipo di conteggio Il primo passo consiste nell identificare il tipo di conteggio tra tre tipi di progetto misurabili con la Function Point Analysis: Development: misura le funzionalità di un nuovo progetto quando questo è ultimato. Enhancement: misura le funzionalità aggiunte, cancellate o modificate da un progetto esistente. Application: misura le funzionalità di un applicazione già installata che viene indicata quale baseline per i conteggi successivi. 22

23 Individuare l ambito del conteggio e il confine applicativo Identificare l ambito del conteggio significa individuare le funzionalità che devono essere considerate nel conteggio. Per confine applicativo si intende la linea di separazione tra le applicazioniche si stanno misurando e le applicazioni esterne o l utente. Contare le funzioni di tipo dati In questa fase si procede all identificazione del numero di funzioni di tipo dati. Esistono due tipi di file: File Interni Logici ILF File Esterni di Interfaccia EIF Internal Logic File Un Internal Logic File è un gruppo di dati logicamente collegati o di informazioni di controllo che vengono mantenuti all interno del confine applicativo. L intento primario di un File Interno Logico è contenere dati mantenuti da uno o più processi elementari dell applicazione sottoposta al conteggio. Regole per identificare un ILF Devono essere verificate le seguenti regole per far si che un gruppo di dati o informazioni di controllo possa essere considerato un File Interno Logico: Il gruppo di dati o informazioni di controllo deve poter essere identificabile dall utente. Il gruppo di dati o informazioni di controllo è mantenuto all interno del confine applicativo. 23

24 External Interface File Un External Interface File è un gruppo di dati logicamente collegati che vengono mantenuti all esterno del confine applicativo. L intento primario di un File Esterno d Interfaccia è contenere dati referenziati da uno o più processi elementari situati nei confini dell applicazione sottoposta al conteggio. Un EIF rappresenta un ILF in un altra applicazione. Regole per identificare un EIF Devono essere verificate le seguenti regole per far si che un gruppo di dati o informazioni di controllo possa essere considerato un File Esterno di Interfaccia: Il gruppo di dati o informazioni di controllo deve poter essere identificabile dall utente. Il gruppo di dati o informazioni di controllo è referenziato dall applicazione che si sta misurando ed è ad essa esterno. Il gruppo di dati o informazioni di controllo non è mantenuto all interno del confine applicativo. Il gruppo di dati o informazioni di controllo è mantenuto in un ILF di un altra applicazione. Per determinare la complessità funzionale, e di conseguenza il numero di Unadjusted Function Point, è necessario considerare il numero di elementi di tipo dati (DET) ed elementi di tipo record (RET) associati. Data Element Type Un DET (Data Element Type) è definito come un campo unico riconoscibile dall utente, non ricorsivo. 24

25 Regole di conteggio DET Viene conteggiato un DET per ogni campo unico riconoscibile dall utente, non ricorsivo che viene mantenuto o recuperato da un ILF o da un EIF. Quando due applicazioni prendono in considerazione lo stesso ILF/EIF ma mantengono o referenziano DET separati, vengono conteggiati solamente i DET utilizzati da ciascuna applicazione. Viene conteggiato un DET per ogni dato richiesto dall utente per stabilire una relazione con un altro ILF o EIF. E importante considerare il progetto logico dei dati perché è necessario considerare anche le chiavi esterne come DET. Record Element Type Un RET (Record Element Type) viene definito come un sottogruppo di elementi dati in un ILF o EIF, riconoscibile dall utente. Regole di Conteggio dei RET Viene conteggiato un obbligatorio) di un ILF o EIF. RET per ciascun sottogruppo (opzionale o Se non ci sono sottogruppi, viene conteggiato come RET il ILF o EIF. Complessità ILF-EIF La valutazione del livello di complessità per un ILF o un EIF si basa sul numero di RET e DET. Di seguito è riportata la tabella per la valutazione del grado di complessità. 25

26 1-19 DET DET 51 + DET 1 RET BASSA BASSA MEDIA 2 5 RET BASSA MEDIA ALTA 6 + RET MEDIA ALTA ALTA Contare le funzioni di tipo transizionale In questa fase si procede all identificazione del numero di funzioni di tipo transizionale. Esistono tre tipi di file: External Input (Input Esterni) External Output (Output Esterni) ExternalInQuiry (Interrogazioni Esterne) External Input Un Input Esterno è un processo elementare che permette di elaborare dati o informazioni di controllo provenienti dall esterno del confine dell applicazione. L intento primario di un Input Esterno è quello di manutenere uno o più ILF oppure alterare il comportamento del sistema. Regole di conteggio EI I dati devono essere ricevuti dall esterno del confine applicativo. Deve essere mantenuto almeno un ILF attraverso un processo elementare dell applicazione. Il processo deve essere autonomo e lasciare l applicazione in uno stato consistente. 26

27 Deve essere verificata una delle seguenti affermazioni: o Il processo logico è lo stesso di altri processi logici eseguiti da altri EI. o Il gruppo di dati identificati deve essere diverso da quelli di altri EI. o Gli ILF o EIF referenziati sono differenti dai file referenziati da altri EI. External Output Un Output Esterno è un processo elementare che genera dati o informazioni di controllo, le quali vengono inviate all esterno del confine dell applicazione. L intento primario di un Output Esterno è quello di presentare all utente l informazione attraverso una logica elaborativa differente. Regole di conteggio EO I dati devono uscire dal confine applicativo. Il processo deve essere autonomo e lasciare l applicazione in uno stato consistente. Deve essere verificata una delle seguenti affermazioni: o Il processo logico è lo stesso di altri processi logici eseguiti da altri EO. o Il gruppo di dati identificati deve essere diverso da quelli di altri EO. o Gli ILF o EIF referenziati sono differenti dai file referenziati da altri EO. 27

28 External InQuiry Per ExternalInQuirysi intende un processo elementare composto da una combinazione di input ed output che manda dati o informazioni di controllo all esterno del confine di applicazione. L intento primario di un Interrogazione Esterna è quello di presentare all utente l informazione attraverso il recupero dati o informazioni di controllo. Regole di conteggio EQ I dati devono uscire dal confine applicativo. Il processo deve essere autonomoe lasciare l applicazione in uno stato consistente. I dati devono essere prelevati da uno o più ILF/EIF. Il processo non deve manutenere un ILF. Deve essere verificata una delle seguenti affermazioni: o Il processo logico è lo stesso di altri processi logici eseguiti da altri EQ. o Il gruppo di dati identificati deve essere diverso da quelli di altri EQ. o Gli ILF o EIF referenziati sono differenti dai file referenziati da altri EQ. Complessità transazionale Per determinare la complessità funzionale, e di conseguenza il numero di Unadjusted Function Point, è necessario considerare il numero di tipi di file referenziati (FTR) ed elementi di tipo dati (DET) associati. 28

29 File Type Referenced Un FTR (File Type Referenced) è un ILF o EIF letto o mantenuto da una funzione di tipo transazionale. Quindi un FTR può assumere due forme: Un ILF letto o mantenuto da una funzione di tipo transazione. Un EIF letto da una funzione di tipo transazione. Regole FTR per EI Viene conteggiato un FTR per ogni ILF mantenuto. Viene conteggiato un FTR per ogni ILF o EIF letto. Viene conteggiato solo un FTR per ogni ILF sia letto che mantenuto. Regole FTR per EO Viene conteggiato un FTR per ogni ILF mantenuto. Viene conteggiato un FTR per ogni ILF o EIF letto. Viene conteggiato solo un FTR per ogni ILF sia letto che mantenuto. Regole FTR per EQ Viene conteggiato un FTR per ogni ILF o EIF letto. Data ElementType Un DET (Data ElementType) è definito come un campo unico riconoscibile dall utente, non ricorsivo. 29

Sistemi Informativi I Function Point Analisys

Sistemi Informativi I Function Point Analisys 7. Stima dei costi. Nelle diverse fasi del progetto di sviluppo del software si possono individuare quattro principali voci di costo, corrispondenti alle fasi del ciclo posteriori allo studio di fattibilità:

Dettagli

Ingegneria del Software MINR Giuseppe Santucci. 05 - Il metodo dei FP

Ingegneria del Software MINR Giuseppe Santucci. 05 - Il metodo dei FP Ingegneria del Software MINR Giuseppe Santucci 05 - Il metodo dei FP 05fp.1 Metriche relative al sw Dirette misure effettuabili direttamente sul codice LOC (Line Of Code) Indice di McCabe... misure effettuabili

Dettagli

Corso di Ingegneria del Software. Metriche Parte I

Corso di Ingegneria del Software. Metriche Parte I Corso di Ingegneria del Software a.a. 2009/2010 Mario Vacca mario.vacca1@istruzione.it Concetti di base Metriche Sommario 1. Concetti di base 2. METRICHE DIMENSIONALI 3. 4. METRICHE STRUTTURALI 5. Bibliografia

Dettagli

Stima della size- Esercitazioni

Stima della size- Esercitazioni IT Project Management Lezione 5 Software Sizing Estimation - Esercitazione Federica Spiga A.A. 2009-2010 1 Elementi Base Il metodo dei Function Point consiste nell identificare e contare le funzionalità

Dettagli

Calcolo della Dimensione Funzionale e della Produttività con il metodo IFPUG (CPM 4.3.1) L esperienza DDway con WebRatio

Calcolo della Dimensione Funzionale e della Produttività con il metodo IFPUG (CPM 4.3.1) L esperienza DDway con WebRatio Calcolo della Dimensione Funzionale e della Produttività con il metodo IFPUG (CPM 4.3.1) Questo documento contiene materiale estratto dal manuale IFPUG sulle Regole di Conteggio. È stato riprodotto in

Dettagli

Software. Engineering

Software. Engineering Software Metrica: Function Point Engineering Contenuti Misurazione del software Metriche basate sulla funzionalità Punto Funzione (Function Point) Esempio di calcolo di FP Rieferimenti: 1. Roger S. Pressman

Dettagli

Software Size Estimation

Software Size Estimation IT Project Management Lezione 4 Software Sizing Estimation Federica Spiga A.A. 2009-2010 1 Stima del software Concezione Analisi & Design Implementazione Test Rilascio Prima Stima Raffinamento della Stima

Dettagli

Analisi a Function Points Ing. Thimoty Barbieri, thimoty@thimoty.it 1/1

Analisi a Function Points Ing. Thimoty Barbieri, thimoty@thimoty.it 1/1 Function Point Analysis (IFPUG 4.1.1) Ing. Thimoty Barbieri settembre 2002 Ing. Thimoty Barbieri, thimoty@thimoty.it 1/1 Indice INTRODUZIONE... 5 I FUNCTION POINT... 6 OBIETTIVI E PRINCIPI CARDINE DELLA

Dettagli

IT Project Management

IT Project Management IT Project Management Lezione 5 Software Sizing Estimation - Esercitazione Federica Spiga federica_spiga@yahoo.it A.A. 2010-2011 1 Elementi Base Il metodo dei Function Point consiste nell identificare

Dettagli

Ricerca e Sviluppo. Simple Function Point. Metrica funzionale del software completamente. Data Processing Organization Srl

Ricerca e Sviluppo. Simple Function Point. Metrica funzionale del software completamente. Data Processing Organization Srl 2011 Ricerca e Sviluppo Simple Function Point Metrica funzionale del software completamente compatibile con IFPUG FP Data Processing Organization Srl INDICE DEI CONTENUTI STORIA DELLE MODIFICHE... 3 ACRONIMI

Dettagli

Introduzione. La misurazione dei sistemi di Data Warehouse. Definizioni & Modelli. Sommario. Data Warehousing. Introduzione. Luca Santillo (CFPS)

Introduzione. La misurazione dei sistemi di Data Warehouse. Definizioni & Modelli. Sommario. Data Warehousing. Introduzione. Luca Santillo (CFPS) Introduzione La misurazione dei sistemi di Data Warehouse Luca Santillo (CFPS) AIPA, 17/5/01 In pratica I concetti generali, le definizioni e le regole di conteggio possono essere difficili da applicare

Dettagli

STIMA DEI COSTI DI SVILUPPO DEL SOFTWARE

STIMA DEI COSTI DI SVILUPPO DEL SOFTWARE STIMA DEI COSTI DI SVILUPPO DEL SOFTWARE Classificazione dei costi per tipo di risorsa Hardware Mainframe Sistemi intermedi Personal computer Altre componenti Cablaggi Classificazione dei costi per tipo

Dettagli

FUNCTION POINT, SIMPLE FUNCTION POINT E SIFPA LEADERSHIP& LM MANAGEMENT

FUNCTION POINT, SIMPLE FUNCTION POINT E SIFPA LEADERSHIP& LM MANAGEMENT LEADERSHIP& LM MANAGEMENT FUNCTION POINT, SIMPLE FUNCTION POINT E SIFPA Uno dei temi più interessanti nel cambiamento aziendale nell area ICT riguarda le metriche funzionali del software, meglio note come

Dettagli

GUFPI-ISMA. Evoluzione delle Linee Guida: l utilizzo contrattuale dei Function Points. Roberto Meli

GUFPI-ISMA. Evoluzione delle Linee Guida: l utilizzo contrattuale dei Function Points. Roberto Meli GUFPI-ISMA Evoluzione delle Linee Guida: l utilizzo contrattuale dei Function Points Roberto Meli Coordinatore Consiglio Direttivo GUFPI-ISMA 2 Perché era necessario intervenire? I contratti per il software

Dettagli

Informatica Documentale

Informatica Documentale Informatica Documentale Ivan Scagnetto (scagnett@dimi.uniud.it) Stanza 3, Nodo Sud Dipartimento di Matematica e Informatica Via delle Scienze, n. 206 33100 Udine Tel. 0432 558451 Ricevimento: giovedì,

Dettagli

TEORIA sulle BASI DI DATI

TEORIA sulle BASI DI DATI TEORIA sulle BASI DI DATI A cura del Prof. Enea Ferri Cos è un DATA BASE E un insieme di archivi legati tra loro da relazioni. Vengono memorizzati su memorie di massa come un unico insieme, e possono essere

Dettagli

Verifica e Validazione (V & V) Software e difetti. Processo di V & V. Test

Verifica e Validazione (V & V) Software e difetti. Processo di V & V. Test Software e difetti Il software con difetti è un grande problema I difetti nel software sono comuni Come sappiamo che il software ha qualche difetto? Conosciamo tramite qualcosa, che non è il codice, cosa

Dettagli

Metriche del software

Metriche del software Sviluppo di Software Applicativo Metriche del software Come misurare le diverse caratteristiche del software: dimensioni, qualità, impegno richiesto per lo sviluppo, ecc. Ercole Colonese IBM Global Services

Dettagli

UNA SOLUZIONE PER IL PERFORMANCE MANAGEMENT

UNA SOLUZIONE PER IL PERFORMANCE MANAGEMENT IT PROFESSIONAL SERVICES UNA SOLUZIONE PER IL PERFORMANCE MANAGEMENT Gestire il portfolio applicativo monitorando qualità, produttività e costi dello sviluppo software Overview ARGOMENTI: Overview A chi

Dettagli

Sistemi Informativi I

Sistemi Informativi I Sistemi Informativi I Modalità di Esame L esame consta in una prova orale, durante la quale viene discusso un progetto approntato individualmente dallo studente. Il progetto consiste nella elaborazione

Dettagli

Linguaggi di programmazione

Linguaggi di programmazione Linguaggi di programmazione Programmazione L attività con cui si predispone l elaboratore ad eseguire un particolare insieme di azioni su particolari dati, allo scopo di risolvere un problema Dati Input

Dettagli

IL PERFORMANCE MANAGEMENT

IL PERFORMANCE MANAGEMENT IT PROFESSIONAL SERVICES UNA SOLUZIONE PER IL PERFORMANCE MANAGEMENT for Enterprise Gestire il portfolio applicativo monitorando qualità, produttività e costi dello sviluppo applicativo Overview ARGOMENTI:

Dettagli

Introduzione ai database I concetti fondamentali Database e DBMS Per comprendere appieno cos'è un Database e quali sono i vantaggi legati al suo impiego, soprattutto nel settore gestionale, è necessario

Dettagli

υ Verifica della completezza di una definizione υ Identificazione dei requisiti del software υ Identificazione degli obiettivi del progetto

υ Verifica della completezza di una definizione υ Identificazione dei requisiti del software υ Identificazione degli obiettivi del progetto La Norma ISO/IEC 9126 Luigi Lavazza, 2001 ISO/IEC 9126 1 υ Standard di valutazione della qualità di prodotti software dell International Organisation for Standardisation e dell International Electrotechnical

Dettagli

ALLEGATO 4 AL CAPITOLATO TECNICO. Requisiti di qualità specifici della fornitura

ALLEGATO 4 AL CAPITOLATO TECNICO. Requisiti di qualità specifici della fornitura CONSIP S.p.A. ALLEGATO 4 AL CAPITOLATO TECNICO Requisiti di qualità specifici della fornitura Capitolato relativo all affidamento dei servizi di Sviluppo, Manutenzione, Assistenza e Servizi intellettivi

Dettagli

Le Basi di dati: generalità. Unità di Apprendimento A1 1

Le Basi di dati: generalità. Unità di Apprendimento A1 1 Le Basi di dati: generalità Unità di Apprendimento A1 1 1 Cosa è una base di dati In ogni modello di organizzazione della vita dell uomo vengono trattate informazioni Una volta individuate e raccolte devono

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

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

Analisi dei Requisiti

Analisi dei Requisiti Analisi dei Requisiti Pagina 1 di 16 Analisi dei Requisiti Indice 1 - INTRODUZIONE... 4 1.1 - OBIETTIVO DEL DOCUMENTO...4 1.2 - STRUTTURA DEL DOCUMENTO...4 1.3 - RIFERIMENTI...4 1.4 - STORIA DEL DOCUMENTO...4

Dettagli

Il diagramma dei casi d uso

Il diagramma dei casi d uso Il diagramma dei casi d uso Laboratorio di Ingegneria del Software Prof. Paolo Ciancarini Dott. Sara Zuppiroli A.A. 2010/2011 Lab di Ingegneria del Software () Il diagramma dei casi d uso A.A. 2010/2011

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

Software project management. www.vincenzocalabro.it

Software project management. www.vincenzocalabro.it Software project management Software project management Sono le attività necessarie per assicurare che un prodotto software sia sviluppato rispettando le scadenze fissate rispondendo a determinati standard

Dettagli

Struttura logica di un programma

Struttura logica di un programma Struttura logica di un programma Tutti i programmi per computer prevedono tre operazioni principali: l input di dati (cioè l inserimento delle informazioni da elaborare) il calcolo dei risultati cercati

Dettagli

SCP: SCHEDULER LAYER. a cura di. Alberto Boccato

SCP: SCHEDULER LAYER. a cura di. Alberto Boccato SCP: SCHEDULER LAYER a cura di Alberto Boccato PREMESSA: Negli ultimi tre anni la nostra scuola ha portato avanti un progetto al quale ho partecipato chiamato SCP (Scuola di Calcolo Parallelo). Di fatto

Dettagli

ALLEGATO 1.2 METODOLOGIE E LINEE GUIDA DI MISURA DEI FUNCTION POINT

ALLEGATO 1.2 METODOLOGIE E LINEE GUIDA DI MISURA DEI FUNCTION POINT ALLEGATO 1.2 METODOLOGIE E LINEE GUIDA DI MISURA DEI FUNCTION POINT Pagina 1 di 64 Sommario 1 INTRODUZIONE... 4 1.1 Obiettivo e ambito di applicazione del documento... 4 1.2 Terminologia specifica e abbreviazioni...

Dettagli

Introduzione al data base

Introduzione al data base Introduzione al data base L Informatica è quella disciplina che si occupa del trattamento automatico dei dati con l ausilio del computer. Trattare i dati significa: raccoglierli, elaborarli e conservarli

Dettagli

Base Dati Introduzione

Base Dati Introduzione Università di Cassino Facoltà di Ingegneria Modulo di Alfabetizzazione Informatica Base Dati Introduzione Si ringrazia l ing. Francesco Colace dell Università di Salerno Gli archivi costituiscono una memoria

Dettagli

LABORATORIO. 2 Lezioni su Basi di Dati Contatti:

LABORATORIO. 2 Lezioni su Basi di Dati Contatti: PRINCIPI DI INFORMATICA CORSO DI LAUREA IN SCIENZE BIOLOGICHE Gennaro Cordasco e Rosario De Chiara {cordasco,dechiara}@dia.unisa.it Dipartimento di Informatica ed Applicazioni R.M. Capocelli Laboratorio

Dettagli

ARCHIVI E LORO ORGANIZZAZIONI

ARCHIVI E LORO ORGANIZZAZIONI ARCHIVI E LORO ORGANIZZAZIONI Archivio: - insieme di registrazioni (record), ciascuna costituita da un insieme prefissato di informazioni elementari dette attributi (campi) - insieme di informazioni relative

Dettagli

Organizzazione delle informazioni: Database

Organizzazione delle informazioni: Database Organizzazione delle informazioni: Database Laboratorio Informatico di base A.A. 2013/2014 Dipartimento di Scienze Aziendali e Giuridiche Università della Calabria Dott. Pierluigi Muoio (pierluigi.muoio@unical.it)

Dettagli

Gestione Requisiti. Ingegneria dei Requisiti. Requisito. Tipi di Requisiti e Relativi Documenti. La gestione requisiti consiste in

Gestione Requisiti. Ingegneria dei Requisiti. Requisito. Tipi di Requisiti e Relativi Documenti. La gestione requisiti consiste in Ingegneria dei Requisiti Il processo che stabilisce i servizi che il cliente richiede I requisiti sono la descrizione dei servizi del sistema Funzionalità astratte che il sistema deve fornire Le proprietà

Dettagli

Università degli Studi dell Insubria

Università degli Studi dell Insubria Università degli Studi dell Insubria FACOLTA DI SCIENZE MM.FF.NN. - VARESE Corso di Laurea Magistrale in INFORMATICA Open BQR: una proposta per la valutazione del software Open Source Tesi di Laurea di:

Dettagli

Gestione di progetto: pianificazione. Introduzione: dove siamo? Introduzione: pianificazione. Simona Bernardi

Gestione di progetto: pianificazione. Introduzione: dove siamo? Introduzione: pianificazione. Simona Bernardi Gestione di progetto: pianificazione Simona Bernardi Corso di Ingegneria del Software 04/ 05 Prof.Susanna Donatelli Introduzione: dove siamo? Gestione di progetto: Pianificazione Monitoraggio e controllo

Dettagli

Requisiti sulla qualità del software secondo lo standard ISO/IEC 25010

Requisiti sulla qualità del software secondo lo standard ISO/IEC 25010 1. Premessa. Requisiti sulla qualità del software secondo lo standard ISO/IEC 25010 Domenico Natale AB Medica Versione 1 Riunione delle Commissione UNINFO Informatica Medica Milano, 30 settembre 2013 La

Dettagli

Qualità del software. Tecniche di Programmazione 2009/10. Giovanni A. Cignoni - http://www.di.unipi.it/~giovanni/ 1. contenuti. definizione di qualità

Qualità del software. Tecniche di Programmazione 2009/10. Giovanni A. Cignoni - http://www.di.unipi.it/~giovanni/ 1. contenuti. definizione di qualità Qualità del software Tecniche di Programmazione Lez. 05 Università di Firenze a.a. 2009/10, I semestre 1/33 contenuti Qualità? Definizioni Il prodotto software Modelli della qualità per il sw: ISO/IEC

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

Cultura Tecnologica di Progetto

Cultura Tecnologica di Progetto Cultura Tecnologica di Progetto Politecnico di Milano Facoltà di Disegno Industriale - DATABASE - A.A. 2003-2004 2004 DataBase DB e DataBase Management System DBMS - I database sono archivi che costituiscono

Dettagli

Università degli Studi di Salerno GPS: Gestione Progetti Software. Project Proposal Versione 1.1

Università degli Studi di Salerno GPS: Gestione Progetti Software. Project Proposal Versione 1.1 Università degli Studi di Salerno GPS: Gestione Progetti Software Project Proposal Versione 1.1 Data 27/03/2009 Project Manager: D Amato Angelo 0521000698 Partecipanti: Nome Andrea Cesaro Giuseppe Russo

Dettagli

DATABASE RELAZIONALI

DATABASE RELAZIONALI 1 di 54 UNIVERSITA DEGLI STUDI DI NAPOLI FEDERICO II DIPARTIMENTO DI DISCIPLINE STORICHE ETTORE LEPORE DATABASE RELAZIONALI Dott. Simone Sammartino Istituto per l Ambiente l Marino Costiero I.A.M.C. C.N.R.

Dettagli

Linguaggi e Paradigmi di Programmazione

Linguaggi e Paradigmi di Programmazione Linguaggi e Paradigmi di Programmazione Cos è un linguaggio Definizione 1 Un linguaggio è un insieme di parole e di metodi di combinazione delle parole usati e compresi da una comunità di persone. È una

Dettagli

A3_1 V2.2 Analisi dei Requisiti e Specifica Significato, motivazioni e processi

A3_1 V2.2 Analisi dei Requisiti e Specifica Significato, motivazioni e processi Università di Bergamo Facoltà di Ingegneria INGEGNERIA DEL SOFTWARE Paolo Salvaneschi A3_1 V2.2 Analisi dei Requisiti e Specifica Significato, motivazioni e processi Il contenuto del documento è liberamente

Dettagli

Software Applicativo. Hardware. Sistema Operativo Software di Base Traduttori e Linguaggi

Software Applicativo. Hardware. Sistema Operativo Software di Base Traduttori e Linguaggi : di base e applicativo L HardWare (monitor, tastiera, circuiti, stampante, ) è il nucleo fondamentale del calcolatore ma da solo non serve a nulla. Bisogna utilizzare il software per poterlo fare funzionare.

Dettagli

Ciclo di Vita Evolutivo

Ciclo di Vita Evolutivo Ciclo di Vita Evolutivo Prof.ssa Enrica Gentile a.a. 2011-2012 Modello del ciclo di vita Stabiliti gli obiettivi ed i requisiti Si procede: All analisi del sistema nella sua interezza Alla progettazione

Dettagli

SVILUPPO ONTOLOGIE PER LA GESTIONE DOCUMENTALE E LORO INTEGRAZIONE ALL INTERNO DI UNA PIATTAFORMA WEB

SVILUPPO ONTOLOGIE PER LA GESTIONE DOCUMENTALE E LORO INTEGRAZIONE ALL INTERNO DI UNA PIATTAFORMA WEB Facoltà di Ingegneria Corso di Laurea Specialistica in Ingegneria Informatica SVILUPPO ONTOLOGIE PER LA GESTIONE DOCUMENTALE E LORO INTEGRAZIONE ALL INTERNO DI UNA PIATTAFORMA WEB Relatore Chiarissimo

Dettagli

Progetto Gennaio 2013: Social Chat Internazionale

Progetto Gennaio 2013: Social Chat Internazionale UNIVERSITÀ DEGLI STUDI DI MILANO, DIPARTIMENTO DI INFORMATICA LAUREA TRIENNALE IN COMUNICAZIONE DIGITALE CORSO DI RETI DI CALCOLATORI ANNO ACCADEMICO 2011/2012 Progetto Gennaio 2013: Social Chat Internazionale

Dettagli

Principi dell ingegneria del software Relazioni fra

Principi dell ingegneria del software Relazioni fra Sommario Principi dell ingegneria del software Leggere Cap. 3 Ghezzi et al. Principi dell ingegneria del software Relazioni fra Principi Metodi e tecniche Metodologie Strumenti Descrizione dei principi

Dettagli

INFORMATICA. Applicazioni WEB a tre livelli con approfondimento della loro manutenzione e memorizzazione dati e del DATABASE.

INFORMATICA. Applicazioni WEB a tre livelli con approfondimento della loro manutenzione e memorizzazione dati e del DATABASE. INFORMATICA Applicazioni WEB a tre livelli con approfondimento della loro manutenzione e memorizzazione dati e del DATABASE. APPLICAZIONI WEB L architettura di riferimento è quella ampiamente diffusa ed

Dettagli

L ARCHIVIAZIONE E LA GESTIONE DATI ATTRAVERSO L INTERAZIONE TRA MICROSOFT ACCESS ED EXCEL 1 INTRODUZIONE

L ARCHIVIAZIONE E LA GESTIONE DATI ATTRAVERSO L INTERAZIONE TRA MICROSOFT ACCESS ED EXCEL 1 INTRODUZIONE Roccatello Ing. Eduard L ARCHIVIAZIONE E LA GESTIONE DATI ATTRAVERSO L INTERAZIONE TRA MICROSOFT ACCESS ED EXCEL 1 INTRODUZIONE Agenda Presentazione docente Definizione calendario Questionario pre corso

Dettagli

I livelli di progettazione possono essere così schematizzati: Esistono tre tipi diversi di modelli logici: Modello gerarchico: Esempio SPECIFICHE

I livelli di progettazione possono essere così schematizzati: Esistono tre tipi diversi di modelli logici: Modello gerarchico: Esempio SPECIFICHE I DATABASE o basi di dati possono essere definiti come una collezione di dati gestita dai DBMS. Tali basi di dati devono possedere determinati requisiti, definiti come specifiche, necessarie per il processo

Dettagli

LABORATORIO di INFORMATICA

LABORATORIO di INFORMATICA Università degli Studi di Cagliari Corso di Laurea Magistrale in Ingegneria per l Ambiente ed il Territorio LABORATORIO di INFORMATICA A.A. 2010/2011 Prof. Giorgio Giacinto INTRODUZIONE AI SISTEMI DI BASI

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

Corso di Informatica (Basi di Dati)

Corso di Informatica (Basi di Dati) Corso di Informatica (Basi di Dati) Lezione 1 (12 dicembre 2008) Introduzione alle Basi di Dati Da: Atzeni, Ceri, Paraboschi, Torlone - Basi di Dati Lucidi del Corso di Basi di Dati 1, Prof. Carlo Batini,

Dettagli

Basi di Dati Relazionali

Basi di Dati Relazionali Corso di Laurea in Informatica Basi di Dati Relazionali a.a. 2009-2010 PROGETTAZIONE DI UNA BASE DI DATI Raccolta e Analisi dei requisiti Progettazione concettuale Schema concettuale Progettazione logica

Dettagli

Interfaccia del file system

Interfaccia del file system Interfaccia del file system Concetto di file Modalità di accesso Struttura delle directory Montaggio di un file system Condivisione di file Protezione 9.1 File E un insieme di informazioni correlate e

Dettagli

Facoltà di Farmacia - Corso di Informatica

Facoltà di Farmacia - Corso di Informatica Basi di dati Riferimenti: Curtin cap. 8 Versione: 13/03/2007 1 Basi di dati (Database, DB) Una delle applicazioni informatiche più utilizzate, ma meno conosciute dai non informatici Avete già interagito

Dettagli

GESTIONE DEI PROGETTI. Inizio

GESTIONE DEI PROGETTI. Inizio GESTIONE DEI PROGETTI Problema del management Fallimento negli anni 60, inizio 70 Non tanto dovuto alla competenza Un buon management non garantisce il successo ma un cattivo management risulta spesso

Dettagli

Questua: aste online social

Questua: aste online social UNIVESITÁ DEGLI STUDI DI MILANO LAUREA TRIENNALE IN COMUNICAZIONE DIGITALE RETI DI CALCOLATORI Questua: aste online social Matteo Zignani 14 giugno 2013 1 PRESENTAZIONE DEL PROBLEMA Lo studente deve sviluppare

Dettagli

130.1 Conto corrente di corrispondenza

130.1 Conto corrente di corrispondenza 139 Capitolo 130 Conti correnti 130.1 Conto corrente di corrispondenza..........................................139 130.1.1 Conto corrente attivo per il cliente................................... 139 130.1.2

Dettagli

Progetto interregionale ICAR Interoperabilità e Cooperazione Applicativa tra le Regioni.

Progetto interregionale ICAR Interoperabilità e Cooperazione Applicativa tra le Regioni. <Task AP3> Progetto interregionale ICAR Interoperabilità e Cooperazione Applicativa tra le Regioni AP3-Documento Descrittivo degli Accordi di Servizio Versione AP3-specificaADSv1.2.1.doc Pag. 1

Dettagli

Ingegneria del Software MINR. Esercitazione: esempi di esercizi di esame

Ingegneria del Software MINR. Esercitazione: esempi di esercizi di esame Ingegneria del Software MINR Esercitazione: esempi di esercizi di esame EserciziEsame.1 Struttura del compito 2/3 ore di tempo esercizi su Function point Test scatola nera Test scatola bianca Pianificazione

Dettagli

Database Modulo 3 DEFINIRE LE CHIAVI

Database Modulo 3 DEFINIRE LE CHIAVI Database Modulo 3 DEFINIRE LE CHIAVI Nell organizzazione di un archivio informatizzato è indispensabile poter definire univocamente le informazioni in esso inserite. Tale esigenza è abbastanza ovvia se

Dettagli

Per ulteriori informazioni, vedere l'articolo Nozioni fondamentali della progettazione di database.

Per ulteriori informazioni, vedere l'articolo Nozioni fondamentali della progettazione di database. 1 di 13 22/04/2012 250 Supporto / Access / Guida e procedure di Access 2007 / Tabelle Guida alle relazioni tra tabelle Si applica a: Microsoft Office Access 2007 Uno degli obiettivi di una buona strutturazione

Dettagli

ATTUAZIONE DEL PROGETTO E IL MANAGEMENT: alcune definizioni e indicazioni generali

ATTUAZIONE DEL PROGETTO E IL MANAGEMENT: alcune definizioni e indicazioni generali ATTUAZIONE DEL PROGETTO E IL MANAGEMENT: alcune definizioni e indicazioni generali Cos è un progetto? Un iniziativa temporanea intrapresa per creare un prodotto o un servizio univoco (PMI - Project Management

Dettagli

Sistemi Informativi e WWW

Sistemi Informativi e WWW Premesse Sistemi Informativi e WWW WWW: introduce un nuovo paradigma di diffusione (per i fornitori) e acquisizione (per gli utilizzatori) delle informazioni, con facilità d uso, flessibilità ed economicità

Dettagli

Conti correnti. 130.1 Conto corrente di corrispondenza. 130.1.1 Conto corrente attivo per il cliente. TXT HTM PDF pdf

Conti correnti. 130.1 Conto corrente di corrispondenza. 130.1.1 Conto corrente attivo per il cliente. TXT HTM PDF pdf TXT HTM PDF pdf P1 P2 P3 P4 313 Conti correnti Capitolo 130 130.1 Conto corrente di corrispondenza..........................................313 130.1.1 Conto corrente attivo per il cliente...................................

Dettagli

TECNICO SUPERIORE PER LO SVILUPPO DEL SOFTWARE

TECNICO SUPERIORE PER LO SVILUPPO DEL SOFTWARE ISTRUZIONE E FORMAZIONE TECNICA SUPERIORE SETTORE I.C.T. Information and Communication Technology TECNICO SUPERIORE PER LO SVILUPPO DEL SOFTWARE STANDARD MINIMI DELLE COMPETENZE TECNICO PROFESSIONALI DESCRIZIONE

Dettagli

Lezione 10 Business Process Modeling

Lezione 10 Business Process Modeling Lezione 10 Business Process Modeling Ingegneria dei Processi Aziendali Modulo 1 - Servizi Web Unità didattica 1 Protocolli Web Ernesto Damiani Università di Milano Step dell evoluzione del business process

Dettagli

Versione 3.2 Dicembre,2013. MAIN OFFICE Via al Porto Antico 7 - Edificio Millo 16128 GENOVA Phone. 010 5954946 Fax. 010 8680159

Versione 3.2 Dicembre,2013. MAIN OFFICE Via al Porto Antico 7 - Edificio Millo 16128 GENOVA Phone. 010 5954946 Fax. 010 8680159 MAIN OFFICE Via al Porto Antico 7 - Edificio Millo 16128 GENOVA Phone. 010 5954946 Fax. 010 8680159 OPERATIONAL OFFICES GENOVA MILANO ROMA TORINO NETWORK INTEGRATION and SOLUTIONS srl www.nispro.it Per

Dettagli

Lezione n.19 Processori RISC e CISC

Lezione n.19 Processori RISC e CISC Lezione n.19 Processori RISC e CISC 1 Processori RISC e Superscalari Motivazioni che hanno portato alla realizzazione di queste architetture Sommario: Confronto tra le architetture CISC e RISC Prestazioni

Dettagli

Progettazione del Software A.A.2008/09

Progettazione del Software A.A.2008/09 Laurea in Ing. Informatica ed Ing. dell Informazione Sede di latina Progettazione del Software A.A.2008/09 Domenico Lembo* Dipartimento di Informatica e Sistemistica A. Ruberti SAPIENZA Università di Roma

Dettagli

Software testing. Lezione 3 Functional Testing Federica Spiga federica_spiga@yahoo.it. A.A. 2010-2011 Autori: A.Bei/F.Rabini/F.

Software testing. Lezione 3 Functional Testing Federica Spiga federica_spiga@yahoo.it. A.A. 2010-2011 Autori: A.Bei/F.Rabini/F. 1 Software testing Lezione 3 Functional Testing Federica Spiga federica_spiga@yahoo.it A.A. 2010-2011 Autori: A.Bei/F.Rabini/F.Spiga 2 Functional Testing Sotto la dicitura funzionale si raccolgono i criteri

Dettagli

Sondaggi OnLine. Documento Tecnico. Descrizione delle funzionalità del servizio

Sondaggi OnLine. Documento Tecnico. Descrizione delle funzionalità del servizio Documento Tecnico Sondaggi OnLine Descrizione delle funzionalità del servizio Prosa S.r.l. - www.prosa.com Versione documento: 1, del 30 Maggio 2005. Redatto da: Michela Michielan, michielan@prosa.com

Dettagli

INFORMATICA PER LE APPLICAZIONI ECONOMICHE PROF.SSA BICE CAVALLO

INFORMATICA PER LE APPLICAZIONI ECONOMICHE PROF.SSA BICE CAVALLO Basi di dati: Microsoft Access INFORMATICA PER LE APPLICAZIONI ECONOMICHE PROF.SSA BICE CAVALLO Database e DBMS Il termine database (banca dati, base di dati) indica un archivio, strutturato in modo tale

Dettagli

Sintesi di Reti Sequenziali Sincrone

Sintesi di Reti Sequenziali Sincrone LABORATORIO DI ARCHITETTURA DEI CALCOLATORI lezione n 9 Prof. Rosario Cerbone rosario.cerbone@uniparthenope.it a.a. 2007-2008 http://digilander.libero.it/rosario.cerbone Sintesi di Reti Sequenziali Sincrone

Dettagli

Capitolo 2. Un introduzione all analisi dinamica dei sistemi

Capitolo 2. Un introduzione all analisi dinamica dei sistemi Capitolo 2 Un introduzione all analisi dinamica dei sistemi Obiettivo: presentare una modellistica di applicazione generale per l analisi delle caratteristiche dinamiche di sistemi, nota come system dynamics,

Dettagli

PIANIFICAZIONE E REALIZZAZIONE DI UN SISTEMA INFORMATIVO 147 6/001.0

PIANIFICAZIONE E REALIZZAZIONE DI UN SISTEMA INFORMATIVO 147 6/001.0 PIANIFICAZIONE E REALIZZAZIONE DI UN SISTEMA INFORMATIVO 147 6/001.0 PIANIFICAZIONE E REALIZZAZIONE DI UN SISTEMA INFORMATIVO ELEMENTI FONDAMENTALI PER LO SVILUPPO DI SISTEMI INFORMATIVI ELABORAZIONE DI

Dettagli

Progettazione concettuale

Progettazione concettuale Progettazione concettuale Strategie top-down A partire da uno schema che descrive le specifiche mediante pochi concetti molto astratti, si produce uno schema concettuale mediante raffinamenti successivi

Dettagli

Progetto Febbraio 2013 - Appello 1: Diffusione di tweets sul grafo di Twitter

Progetto Febbraio 2013 - Appello 1: Diffusione di tweets sul grafo di Twitter UNIVERSITÀ DEGLI STUDI DI MILANO, DIPARTIMENTO DI INFORMATICA LAUREA TRIENNALE IN COMUNICAZIONE DIGITALE CORSO DI RETI DI CALCOLATORI ANNO ACCADEMICO 2011/2012 Progetto Febbraio 2013 - Appello 1: Diffusione

Dettagli

Introduzione. Perché è stato scritto questo libro

Introduzione. Perché è stato scritto questo libro Introduzione Perché è stato scritto questo libro Sul mercato sono presenti molti libri introduttivi a Visual C# 2005, tuttavia l autore ha deciso di scrivere il presente volume perché è convinto che possa

Dettagli

Informatica (Basi di Dati)

Informatica (Basi di Dati) Corso di Laurea in Biotecnologie Informatica (Basi di Dati) Introduzione alle Basi di Dati Anno Accademico 2009/2010 Da: Atzeni, Ceri, Paraboschi, Torlone - Basi di Dati Lucidi del Corso di Basi di Dati

Dettagli

Il software: natura e qualità

Il software: natura e qualità Sommario Il software: natura e qualità Leggere Cap. 2 Ghezzi et al. Natura e peculiarità del software Classificazione delle qualità del software Qualità del prodotto e del processo Qualità interne ed esterne

Dettagli

SCHEDA DI PROGRAMMAZIONE DISCIPLINARE DA RIPORTARE SUL P.O.F. A.S. 2014-2015. Ripasso programmazione ad oggetti. Basi di dati: premesse introduttive

SCHEDA DI PROGRAMMAZIONE DISCIPLINARE DA RIPORTARE SUL P.O.F. A.S. 2014-2015. Ripasso programmazione ad oggetti. Basi di dati: premesse introduttive SCHEDA DI PROGRAMMAZIONE DISCIPLINARE DA RIPORTARE SUL P.O.F. A.S. 2014-2015 ASSE DISCIPLINA DOCENTE MATEMATICO INFORMATICA Cattani Barbara monoennio CLASSE: quinta CORSO D SEZIONE LICEO SCIENZE APPLICATE

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

Sistemi Informativi e Basi di Dati

Sistemi Informativi e Basi di Dati Sistemi Informativi e Basi di Dati Laurea Specialistica in Tecnologie di Analisi degli Impatti Ecotossicologici Docente: Francesco Geri Dipartimento di Scienze Ambientali G. Sarfatti Via P.A. Mattioli

Dettagli

DATABASE IN RETE E PROGRAMMAZIONE LATO SERVER

DATABASE IN RETE E PROGRAMMAZIONE LATO SERVER DATABASE IN RETE E PROGRAMMAZIONE LATO SERVER L architettura CLIENT SERVER è l architettura standard dei sistemi di rete, dove i computer detti SERVER forniscono servizi, e computer detti CLIENT, richiedono

Dettagli

Data Base. Prof. Filippo TROTTA

Data Base. Prof. Filippo TROTTA Data Base Definizione di DataBase Un Database può essere definito come un insieme di informazioni strettamente correlate, memorizzate su un supporto di memoria di massa, costituenti un tutt uno, che possono

Dettagli

Introduzione alla Simulazione Numerica

Introduzione alla Simulazione Numerica Introduzione alla Simulazione Numerica Daniele Vigo D.E.I.S. - Università di Bologna dvigo@deis.unibo.it rev. 1.0 - Novembre 2001 Simulazione numerica Tecnica che permette di eseguire esperimenti su un

Dettagli

Analisi dei punti funzione

Analisi dei punti funzione Analisi dei punti funzione FPA è un metodo per suddividere i sistemi in componenti più piccole in modo che questi possano essere capiti e analizzati meglio I punti funzione sono un tipo di misura funzionale,

Dettagli

Le funzionalità di un DBMS

Le funzionalità di un DBMS Le funzionalità di un DBMS Sistemi Informativi L-A Home Page del corso: http://www-db.deis.unibo.it/courses/sil-a/ Versione elettronica: DBMS.pdf Sistemi Informativi L-A DBMS: principali funzionalità Le

Dettagli

LABORATORIO DI TELEMATICA

LABORATORIO DI TELEMATICA LABORATORIO DI TELEMATICA COGNOME: Ronchi NOME: Valerio NUMERO MATRICOLA: 41210 CORSO DI LAUREA: Ingegneria Informatica TEMA: Analisi del protocollo FTP File Transfer Protocol File Transfer Protocol (FTP)

Dettagli