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

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

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

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

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

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

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

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

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

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

Metriche del Software

Metriche del Software Il controllo di qualità del software deve classificare i programmi a riguardo di caratteristiche quali leggibilità, modificabilità, affidabilità etc. Obiettivi: - Confrontare vari programmi che realizzano

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

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

ALLEGATO 1.2 METODOLOGIA E LINEE GUIDA DI MISURA DEI FUNCTION POINT

ALLEGATO 1.2 METODOLOGIA E LINEE GUIDA DI MISURA DEI FUNCTION POINT ALLEGATO 1.2 METODOLOGIA E LINEE GUIDA DI MISURA DEI FUNCTION POINT Allegato 1.2 Metodologia e linee guida di misura dei Function Point Pagina 1 di 73 Indice 1 Introduzione... 4 1.1 Obiettivo e ambito

Dettagli

CONTRATTO di E-LEARNING. Corso EL-SM02 DISPOSIZIONI GENERALI

CONTRATTO di E-LEARNING. Corso EL-SM02 DISPOSIZIONI GENERALI CONTRATTO di E-LEARNING Corso EL-SM02 DISPOSIZIONI GENERALI Sommario 1. DEFINIZIONI... 2 2. FORNITORE DEI SERVIZI... 2 3. OGGETTO DEL CONTRATTO... 2 4. OBBLIGHI DEL FORNITORE... 3 5. ACCESSO ALLA PIATTAFORMA

Dettagli

Introduzione al Project Management. AIPA Area Monitoraggio e Verifiche

Introduzione al Project Management. AIPA Area Monitoraggio e Verifiche Introduzione al Project Management AIPA Area Monitoraggio e Verifiche Contenuti del corso Impostazione del progetto; Pianificazione delle attività, risorse e costi; Coordinamento e controllo durante le

Dettagli

7. La Qualità del Software

7. La Qualità del Software Cosa è la qualità 7. La del Software Diversi enti di standardizzazione (es. ISO) hanno cercato di integrare vari approcci alla definizione della qualita, partendo dalla consapevolezza che la qualità è

Dettagli

Database. Organizzazione di archivi mediante basi di dati. ing. Alfredo Cozzi 1

Database. Organizzazione di archivi mediante basi di dati. ing. Alfredo Cozzi 1 Database Organizzazione di archivi mediante basi di dati ing. Alfredo Cozzi 1 Il database è una collezione di dati logicamente correlati e condivisi, che ha lo scopo di soddisfare i fabbisogni informativi

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

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

υ 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

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

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

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

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

Ingegneria del Software Progettazione

Ingegneria del Software Progettazione Ingegneria del Software Progettazione Obiettivi. Approfondire la fase di progettazione dettagliata che precede la fase di realizzazione e codifica. Definire il concetto di qualità del software. Presentare

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

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

70555 Informatica 3 70777 Sicurezza 2. 70555 Mario Rossi 70777 Anna Bianchi. Esempio istanza:

70555 Informatica 3 70777 Sicurezza 2. 70555 Mario Rossi 70777 Anna Bianchi. Esempio istanza: DOMANDE 1) Definire i concetti di schema e istanza di una base di dati, fornendo anche un esempio. Si definisce schema di una base di dati, quella parte della base di dati stessa che resta sostanzialmente

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

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

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

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

Basi di Dati. Introduzione ai sistemi di basi di dati. K.Donno - Introduzione ai sistemi di basi di dati

Basi di Dati. Introduzione ai sistemi di basi di dati. K.Donno - Introduzione ai sistemi di basi di dati Basi di Dati Introduzione ai sistemi di basi di dati Introduzione ai sistemi di basi di dati Gestione dei Dati Una prospettiva storica File system verso DBSM Vantaggi di un DBMS Modelli dei dati Utenti

Dettagli

Introduzione ai sistemi di basi di dati

Introduzione ai sistemi di basi di dati Basi di Dati Introduzione ai sistemi di basi di dati Alessandro.bardine@gmail.com alessandro.bardine@iet.unipi.it Introduzione ai sistemi di basi di dati Gestione dei Dati Una prospettiva storica File

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

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

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

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

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

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

Corso di Laurea in Ingegneria Informatica Algoritmi e basi di dati Modulo Basi di dati a.a. 2010-2011

Corso di Laurea in Ingegneria Informatica Algoritmi e basi di dati Modulo Basi di dati a.a. 2010-2011 Corso di Laurea in Ingegneria Informatica Algoritmi e basi di dati Modulo Basi di dati a.a. 2010-2011 2011 Docente: Gigliola Vaglini Docente laboratorio: Alessandro Lori 1 Obiettivi del corso Imparare

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

TECNOLOGIE DELL INFORMAZIONE E DELLA COMUNICAZIONE PER LE AZIENDE

TECNOLOGIE DELL INFORMAZIONE E DELLA COMUNICAZIONE PER LE AZIENDE TECNOLOGIE DELL INFORMAZIONE E DELLA COMUNICAZIONE PER LE AZIENDE Materiale di supporto alla didattica Tecnologie dell informazione e della comunicazione per le aziende CAPITOLO 3: Progettazione e sviluppo

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

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

Ingegneria dei Requisiti

Ingegneria dei Requisiti Corso di Laurea Specialistica in Ingegneria Informatica Corso di Ingegneria del Software A. A. 2008 - Ingegneria dei Requisiti E. TINELLI Contenuti I requisiti del software Documento dei requisiti I processi

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

E&QFP Early & Quick Function Points

E&QFP Early & Quick Function Points E&QFP Early & Quick Function Points per il metodo IFPUG Versione 3.1 Manuale di Riferimento 1.0 Riferimenti: Manuale di Riferimento ver. 1.0 per il metodo E&QFP-IFPUG ver. 3.1 EQ&FP-IFPUG-30-RM-10, Ottobre

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

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 DBMS Oracle. Express Edition. Donatella Gubiani e Angelo Montanari

Il DBMS Oracle. Express Edition. Donatella Gubiani e Angelo Montanari Gubiani & Montanari Il DBMS Oracle 1 Il DBMS Oracle Express Edition Donatella Gubiani e Angelo Montanari Il DBMS Oracle Il DBMS Oracle Oracle 10g Express Edition Il DBMS Oracle (nelle sue versioni più

Dettagli

Fondamenti di Informatica 7. Linguaggi di programmazione

Fondamenti di Informatica 7. Linguaggi di programmazione I linguaggi di alto livello Fondamenti di Informatica 7. Linguaggi di programmazione Introduzione alla programmazione Caratteristiche dei linguaggi di programmazione I linguaggi di programmazione di alto

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

10. Interfaccia del File System

10. Interfaccia del File System 10. Interfaccia del File System 10.1 Il concetto di File 10.2 Metodi di accesso 10.3 Struttura delle Directory 10.4 Protezione (Leggere) 10.5 Semantica della Consistenza (Leggere) Un File System consiste

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

Domenico Clerici Luigi Petruzzelli La gestione quantitativa di progetti software

Domenico Clerici Luigi Petruzzelli La gestione quantitativa di progetti software Domenico Clerici Luigi Petruzzelli La gestione quantitativa di progetti software Edizioni Della Vigna Indice PREFAZIONE... XIII RICHIAMI DI PROJECT MANAGEMENT... 19 1.1 - Introduzione al project management...

Dettagli

Basi di Dati. Programmazione e gestione di sistemi telematici

Basi di Dati. Programmazione e gestione di sistemi telematici Basi di Dati. Programmazione e gestione di sistemi telematici Coordinatore: Prof. Paolo Nesi Docenti: Prof. Paolo Nesi Dr.sa Michela Paolucci Dr. Emanuele Bellini Cosa e l informatica? Scienza del trattamento

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

Indice. settembre 2008 Il File System 2

Indice. settembre 2008 Il File System 2 Il File System Indice 4. Il File System 5. Vantaggi del FS 6. Protezione 7. Condivisione 8. I file - 1 9. I file - 2 10. Attributi dei file 11. Directory 12. Livelli di astrazione - 1 13. Livelli di astrazione

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

Progettazione: Tecnologie e ambienti di sviluppo

Progettazione: Tecnologie e ambienti di sviluppo Contratto per l acquisizione di servizi di Assistenza specialistica per la gestione e l evoluzione del patrimonio software della Regione Basilicata. Repertorio n. 11016 del 25/09/2009 Progettazione: Tecnologie

Dettagli

Tecniche di DM: Link analysis e Association discovery

Tecniche di DM: Link analysis e Association discovery Tecniche di DM: Link analysis e Association discovery Vincenzo Antonio Manganaro vincenzomang@virgilio.it, www.statistica.too.it Indice 1 Architettura di un generico algoritmo di DM. 2 2 Regole di associazione:

Dettagli

IT Project Management

IT Project Management 1 IT Project Management Lezione 10 Ciclo vita del progetto & deliverables Federica Spiga federica_spiga@yahoo.it A.A. 2010-2011 2 Ciclo di vita del progetto Initiating Analisi dei requisiti Riunione di

Dettagli

Appunti lezione Database del 07/10/2015

Appunti lezione Database del 07/10/2015 Appunti lezione Database del 07/10/2015 Nelle lezioni precedenti si è visto come qualunque applicazione informativa è almeno formata da tre livelli o layers che ogni progettista conosce e sa gestire: Livello

Dettagli

OBIETTIVI SPECIFICI DI APPRENDIMENTO

OBIETTIVI SPECIFICI DI APPRENDIMENTO Disciplina:... Anno scolastico: 20.../20... Classe/i :... Docente:... DI APPRENDIMENTO SEZIONE 1 Premesse matematiche Nozioni fondamentali sui sistemi di numerazione Sistemi di numerazione in base diversa

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

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

1. BASI DI DATI: GENERALITÀ

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

Dettagli

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

Esercizi di Ingegneria del Software

Esercizi di Ingegneria del Software Esercizi di Ingegneria del Software Il caso della Grande Distribuzione V. Ambriola, C. Montangero e L. Semini Corso di Laurea in Informatica Corso di Laurea in Informatica Applicata Dipartimento di Informatica

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

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

Esercizi di Ingegneria del Software

Esercizi di Ingegneria del Software Esercizi di Ingegneria del Software Il caso della Grande Distribuzione V. Ambriola, C. Montangero e L. Semini Corso di Laurea in Informatica Corso di Laurea in Informatica Applicata Dipartimento di Informatica

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

Alessandra Raffaetà. Basi di Dati

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

Dettagli

Basi di dati. Informatica. Prof. Pierpaolo Vittorini pierpaolo.vittorini@cc.univaq.it

Basi di dati. Informatica. Prof. Pierpaolo Vittorini pierpaolo.vittorini@cc.univaq.it pierpaolo.vittorini@cc.univaq.it Università degli Studi dell Aquila Facoltà di Medicina e Chirurgia 18 marzo 2010 Un esempio di (semplice) database Quando si pensa ad un database, generalmente si immagina

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

Fondamenti di Informatica Ingegneria Clinica Lezione 19/11/2009. Prof. Raffaele Nicolussi

Fondamenti di Informatica Ingegneria Clinica Lezione 19/11/2009. Prof. Raffaele Nicolussi Fondamenti di Informatica Ingegneria Clinica Lezione 19/11/2009 Prof. Raffaele Nicolussi FUB - Fondazione Ugo Bordoni Via B. Castiglione 59-00142 Roma Docente Raffaele Nicolussi rnicolussi@fub.it Lezioni

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

Università di Bergamo Facoltà di Ingegneria GESTIONE DEI SISTEMI ICT. Paolo Salvaneschi A9_1 V1.3. Misura

Università di Bergamo Facoltà di Ingegneria GESTIONE DEI SISTEMI ICT. Paolo Salvaneschi A9_1 V1.3. Misura Università di Bergamo Facoltà di Ingegneria GESTIONE DEI SISTEMI ICT Paolo Salvaneschi A9_1 V1.3 Misura Il contenuto del documento è liberamente utilizzabile dagli studenti, per studio personale e per

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

Utilizzare UML nella Function Point Analysis

Utilizzare UML nella Function Point Analysis Utilizzare UML nella Function Point Analysis 2 Function Point 1 e UML come elementi comuni che prescindono dalla tecnologia I Function Point sono la metrica funzionale più diffusa al mondo (per una introduzione

Dettagli

Modellazione di sistema

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

Dettagli

Sistema di Gestione di Basi di Dati DataBase Management System DBMS

Sistema di Gestione di Basi di Dati DataBase Management System DBMS Base di dati (accezione generica) collezione di dati, utilizzati per rappresentare le informazioni di interesse per una o più applicazioni di una organizzazione (accezione specifica) collezione di dati

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

ALLEGATO 1 AL PQ LIVELLI DI SERVIZIO

ALLEGATO 1 AL PQ LIVELLI DI SERVIZIO ALLEGATO 1 AL PQ LIVELLI DI SERVIZIO Allegato 1- PQ Livelli di Servizio Pagina 1 di 28 Indice 1. Generalità: Livelli di Servizio... 3 2. Livelli di servizio generali... 4 3. Livelli di servizio specifici...

Dettagli

Il.NET Framework. By Dario Maggiari. L architettura del.net Framework è riassunta, nel complesso, nella figura seguente:

Il.NET Framework. By Dario Maggiari. L architettura del.net Framework è riassunta, nel complesso, nella figura seguente: Il.NET Framework By Dario Maggiari L architettura del.net Framework è riassunta, nel complesso, nella figura seguente: Il cuore del.net Framework è costituito dal CLR (Common Language Runtime) che, secondo

Dettagli

DBMS (Data Base Management System)

DBMS (Data Base Management System) Cos'è un Database I database o banche dati o base dati sono collezioni di dati, tra loro correlati, utilizzati per rappresentare una porzione del mondo reale. Sono strutturati in modo tale da consentire

Dettagli

STIMA DEI COSTI DI SVILUPPO DEL SOFTWARE

STIMA DEI COSTI DI SVILUPPO DEL SOFTWARE STIMA DEI COSTI DI SVILUPPO DEL SOFTWARE Di 1. Generalità Uno dei passi fondamentali dello sviluppo di un sistema software è la valutazione del suo impatto sociale (macroeconomico) ed aziendale (microeconomico).

Dettagli

INGEGNERIA DEL SOFTWARE

INGEGNERIA DEL SOFTWARE INGEGNERIA DEL SOFTWARE SPECIFICA DEI REQUISITI Avvertenza: gli appunti si basano sul corso di Ingegneria del Software tenuto dal prof. Picco della facoltà di Ingegneria del Politecnico di Milano (che

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

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

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

Dettagli

Feedback report ISTITUTO D ISTRUZIONE SUPERIORE ISTITUTO TECNICO AGRARIO E PROFESSIONALE FIRENZE

Feedback report ISTITUTO D ISTRUZIONE SUPERIORE ISTITUTO TECNICO AGRARIO E PROFESSIONALE FIRENZE Feedback report ISTITUTO D ISTRUZIONE SUPERIORE ISTITUTO TECNICO AGRARIO E PROFESSIONALE FIRENZE 4 GIUGNO 2014 Feedback report Nome dell organizzazione: Indirizzo: Referente: ISTITUTO D ISTRUZIONE SUPERIORE

Dettagli

Basi di dati. Concetti Introduttivi ESEMPIO. Fisica, Analisi, Informatica. Entità Relazioni Interrogazioni. Database 2

Basi di dati. Concetti Introduttivi ESEMPIO. Fisica, Analisi, Informatica. Entità Relazioni Interrogazioni. Database 2 Basi di dati Concetti Introduttivi ESEMPIO Fisica, Analisi, Informatica Entità Relazioni Interrogazioni Database 2 Tabella (I) STUDENTE Attributi Data di Nascita Indirizzo Matricola Luca Neri 27/10/1980

Dettagli

3. SOFTWARE MANAGEMENT

3. SOFTWARE MANAGEMENT 3. SOFTWARE MANAGEMENT Introdurre caratteristiche e problematiche della direzione di progetto software (software management) Discutere la pianificazione di un progetto e la temporizzazione (scheduling)

Dettagli