UNIVERSITÀ DEGLI STUDI DELL INSUBRIA
|
|
|
- Maddalena Marino
- 10 anni fa
- Visualizzazioni
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
30 Regole DET per EI Viene conteggiato un DET per ogni campo non ripetuto che entra o esce dal confine applicativo. Non vengono conteggiati i DET per i campi che non vengono inseriti dall utente ma attraverso il processo EI vengono recuperati e mantenuti su un ILF. Viene conteggiato solo un DET per i campi logici formati da più campi. Viene conteggiato un DET per la capacità di mandare un messaggio di risposta all esterno del confine applicativo per confermare l avvenuta elaborazione del processo. Viene conteggiato un DET per la capacità di specificare un azione che l EI deve intraprendere anche se ci sono più modi per invocare lo stesso processo logico. Regole DET per EO e EQ Viene conteggiato un DET per ogni campo non ripetuto che entra nel confine applicativo ed è necessario per specificare cosa, come e quando i dati devono essere prelevati o generati dal processo elementare. Viene conteggiato un DET per ogni campo che esce dal confine applicativo. Viene conteggiato solo un DET sia se entra, sia se esce dal confine applicativo. Viene conteggiato un DET per la capacità di mandare un messaggio di risposta, avviso o sincronia all esterno del confine applicativo. 30
31 Non vengono conteggiati le variabili per la paginazione come numeri, campi dati, titoli di report, intestazioni di colonne e titoli di campi. Non vengono conteggiati i campi mantenuti su ILF, se questi campi non attraversano il confine applicativo. Viene conteggiato un DET per la capacità di specificare un azione che l EO o EQ deve intraprendere anche se ci sono più modi per invocare lo stesso processo logico. Complessità EI La valutazione del livello di complessità per un EI si basa sul numero di DET e FTR. Di seguito è riportata la tabella per la valutazione del grado di complessità. 1-4 DET 5-15 DET 16+ DET 0, 1 FTR BASSA BASSA MEDIA 2 FTR BASSA MEDIA ALTA 2+ FTR MEDIA ALTA ALTA Complessità EO e EQ La valutazione del livello di complessità per un EO e un EQ si basa sul numero di DET e FTR. Di seguito è riportata la tabella per la valutazione del grado di complessità. 31
32 1-5 DET 6-19 DET 20+ DET 0, 1FTR BASSA BASSA MEDIA 2, 3 FTR BASSA MEDIA ALTA 3+ FTR MEDIA ALTA ALTA Conteggio del numero di UFP In questa fase si procede al calcolo di Unadjusted FP sulla base delle tabelle di ponderazione IFPUG e del numero di componenti dati e transazionali. Per ottenere il numero di Function Point non pesati si utilizzano le seguenti tabelle che trasformano la complessitàin un determinato numero di Function Point. Calcolo Function Point Per ILF e EIF Complessità ILF EIF BASSA 7 5 MEDIA 10 7 ALTA
33 Calcolo Function Point Per EI Complessità Funzionale Function Point BASSA 3 MEDIA 4 ALTA 6 Calcolo Function Point per EO e EQ Complessità Funzionale Function Point BASSA 4 MEDIA 5 ALTA 7 Determinare il valore del VAF Il fattore di aggiustamento è un valore che viene moltiplicato per il numero di Function Point non pesati (UFP) e permette di ottenere il numero definitivo di Function Point. Questo fattore, come precedentemente accennato, è basato su 14 caratteristiche generali (GSC) che rappresentano le funzionalità generali che devono essere considerate e valutate in una applicazione. 33
34 La formula che permette di calcolare il valore di aggiustamento è la seguente ed evidenzia come le caratteristiche generali possano provocare una variazione del± 35%: 14 VAF = DI i i=1 Dove DI sta per Grado di Influenza dei singoli fattori. Ad ogni caratteristica viene fornita una precisa descrizione che consente di determinare il grado di influenza sulla base di una scale da 0 a 5 dove: nessuna influenza influenza poco significativa influenza moderata influenza media influenza significativa 5 influenza massima Le caratteristiche generali del sistema che vengono valutate sono: 1. Comunicazione dati 2. Distribuzione dell'elaborazione 34
35 3. Prestazioni 4. Utilizzo intensivo della configurazione 5. Frequenza delle transazioni 6. Inserimento dati interattivo 7. Efficienza per l'utente finale 8. Aggiornamento interattivo 9. Complessità elaborativa 10. Riusabilità 11. Facilità di installazione 12. Facilità di gestione operativa 13. Molteplicità di siti 14. Facilità di modifica 35
36 Conteggio del numero di AFP L ultima fase della procedura di conteggio dei FunctionPointconsiste nell unione tra i Function Point non Pesati e il valore di aggiustamento. FP = UFP * VAF Conteggio Enhancement Function Point Questa è una fase a parte in quanto è una procedura che viene effettuata per aggiornare una applicazione già ultimata. Gli EFP (Enhancement Function Point) si utilizzano infattiquando un progetto è già stato creato ma necessita di manutenzione, conversione e miglioramento. Le operazioni che si possono eseguire su di un progetto sono l aggiunta, la cancellazione, l aggiornamento e la conversione di dati. La formula è la seguente: EFP = (Aggiunti + Modificati + Convertiti) * * VAFNext + (Cancellati * VAFBefore) Dove: Aggiunti indica il numero di UFP delle funzioni aggiunte Modificati indica il numero di UFP delle funzioni modificate Convertiti indica il numero di UFP delle funzioni convertite Cancellati indica il numero di UFP delle funzioni cancellate 36
37 3.2 COSMIC FUNCTION POINT EVOLUZIONE Non solo l International Function Point Users Group decise di continuare e sviluppare il lavoro iniziato da Allan Albrecht. Uno di questi è il COSMIC Group (Common Software Measurement International Consortium) che nel 1998 raccolse il lavoro svolto dal FFP Group (Full Function Point) per realizzare una nuova metrica di misurazione del software basata su movimenti di dati. La necessità del Common Software Measurement International Consortium è di creare un proprio metodo di misurazione utilizzabile nei domini funzionali comunemente denotati come software applicativo aziendale, o di tipo MIS (Management Information System), e software real-time PROCEDURA DI MISURAZIONE 37
38 Il processo di misurazione COSMIC consiste in varie fasi: 1. Estrazione dei Requisiti Funzionali 2. Strategia di Misurazione 3. Fase di Mappatura 4. Fase di Misurazione ESTRAZIONE DEI REQUISITI FUNZIONALI Le funzionalità fornite dal software agli utenti (Functional User Requirements - FUR) descrivono cosa il software deve fare per gli utenti funzionali che sono i mittenti e i destinatari designati dei dati da e verso il software, escludendo qualsiasi requisito tecnico o qualitativo che affermi come il software deve svolgersi. STRATEGIA DI MISURAZIONE E necessario considerare quattro parametri fondamentali della misurazione funzionale del software da considerare prima di iniziare effettivamente la misurazione: 1. Scopo della misurazione Lo scopo della misurazione stabilisce perché essa viene effettuata e per cosa verranno usati i risultati. Questo a sua volta aiuta a determinare non solo gli altri tre parametri della Strategia di Misurazione, ma anche l accuratezza richiesta per la misurazione. 2. Ambito del software da misurare L ambito del software da sottoporre a misura deriva dallo scopo. L ambito stabilisce quali funzionalità del software saranno comprese nella misurazione. È dipendente dallo scopo e può essere suddiviso tra un 38
39 numero di porzioni di software, ognuno dei quali viene misurato separatamente entro il proprio ambito. 3. Utenti funzionali e confine di ogni porzione di software da misurare Gli utenti funzionali di ogni porzione di software possono essere identificati esaminando i flussi di dati che entrano ed escono dal software come stabilito, in maniera implicita o esplicita, dai suoi requisiti funzionali utente e tenendo conto dello scopo della misurazione. Gli utenti funzionali saranno i mittenti e/o i destinatari designati dei dati. 4. Livello di granularità della misurazione Il livello di granularità dei FUR di una porzione di software a cui dovrebbe essere effettuata la misurazione è quello in cui i processi funzionali sono identificati e scomposti nei loro movimenti di dati. Se lo scopo è misurare i FUR di un software completamente definito, il livello di granularità è di solito evidente, una volta che i processi funzionali siano stati identificati. Al contrario, nelle prime fasi dello sviluppo di un software, dove lo scopo della misurazione è quello di misurare dei FUR che sono continua evoluzione, i FUR sono misurati prima che i loro processi funzionali siano tutti identificati e i relativi movimenti di dati definiti. Può essere necessario effettuare una o più ripetizioni dopo aver completato almeno una volta tutti i punti precedenti. Ad esempio, se qualche requisito viene dettagliato maggiormente, si può avere la necessità di perfezionare l ambito del software da misurare. FASE DI MAPPATURA La Fase di Mappatura ha come dati in input i Requisiti Utente Funzionali di ogni porzione di software da misurare. Il risultato della Fase di Mappatura è un istanza specifica del Modello Generale del Software. I passi per definire un istanza del Modello Generale del Software sono i seguenti: 39
40 1. Identificare gli eventi nel mondo degli utenti funzionali a cui il software deve rispondere e di conseguenza identificare i processi funzionali. 2. Identificare i movimenti di dati (Entry, Exit, Read e Write) per ogni processo funzionale. L identificazione dei movimenti di dati a sua volta dipende dall identificazione dei gruppi di dati che vengono mossi. Processi Funzionali Un processo funzionale è una componente elementare di un insieme di Requisiti Utente Funzionali, comprendente un insieme di movimenti di dati unico ed indipendentemente eseguibile. E innescato da un movimento di dati (Entry) proveniente da un utente funzionale ed è completo quando ha eseguito tutto quello che si richiede di fare in risposta all evento innescato. FASE DI MISURAZIONE La Fase di Misurazione prende come dato di input un istanza del Modello Generale del Software e, utilizzando un insieme definito di regole, produce un valore numerico, direttamente proporzionale alla dimensione funzionale del Modello. Identificare i Movimenti di Dati Il principi fondamentale su cui si basa la misurazione COSMIC consiste nel fatto che la dimensione funzionale di una porzione di software è direttamente proporzionale al numero dei suoi movimenti di dati. Questa fase consiste nell identificare i movimenti di dati (Entry, Exit, Read e Write) di ogni processo funzionale. Movimento di Dati Un movimento di dati viene definito come una componente funzionale di base che muove un unico gruppo di dati. 40
41 Entry Un movimento di dati che muove un gruppo di dati da un utente funzionale attraverso il confine nel processo funzionale che lo richiede. Exit Un movimento di dati che muove un gruppo di dati da un processo funzionale attraverso il confine verso l utente funzionale che lo richiede. Read Un movimento di dati che muove un gruppo di dati dalla memoria persistente verso il processo funzionale che lo richiede. Write Un movimento di dati che muove un gruppo di dati situato all interno di un processo funzionale verso la memoria persistente. Data Group Una Data Group è un insieme distinto, non vuoto, non ordinato e non ridondante di dati che descrive un unico oggetto. Ogni Data Group è composto da uno o più attributi (Data Attributes) che descrivono differenti aspetti complementari del medesimo oggetto d interesse. Ad ogni Data Movement viene assegnato il Data Group corrispondente che memorizza i dati che vengono mossi dal processo. Data Attribute Un Data Attribute è la più piccola parte di informazione, formata da un singolo dato. 41
42 Regole Le caratteristiche dell insieme di regole e processi che guidano la produzione del valore numerico sono le seguenti: Unità di misura: l unità di misura standard, ovvero 1 CFP (COSMIC Function Point), è definito per convenzione come equivalente ad un singolo movimento di dati. Proprietà additiva: la dimensione di un processo funzionale è definita come la somma aritmetica del numero dei movimenti di dati che lo costituiscono. Per estensione, la dimensione funzionale di ogni porzione di software, entro un ambito di misurazione in uno strato qualunque, è la somma aritmetica delle dimensioni dei processi funzionali che lo costituiscono. Dimensione delle modifiche ad una porzione di software: la dimensione funzionale di ogni modifica ad una porzione di software è per convenzione la somma aritmetica dei movimenti di dati che vengono aggiunti, modificati o rimossi in conseguenza della modifica. La minima e massima dimensione di un processo funzionale: la dimensione funzionale minima di un singolo processo funzionale è di 2 CFP, perché il più piccolo processo funzionale deve avere almeno un Entry (come input) e o un Exit (come output) o un Write (in alternativa, come risultato del processo funzionale). Siccome una modifica può riguardare un solo movimento di dati, ne segue che la dimensione minima di un cambiamento ad un processo funzionale è di 1 CFP. Non esiste un limite superiore alla dimensione di un processo funzionale e quindi non esiste nemmeno un limite superiore alla dimensione funzionale di una qualunque porzione di software. 42
43 Capitolo 4 4. IL CASO DI STUDIO 4.1 INTRODUZIONE I n questa sezione si vuole analizzare un software dapprima con il metodo IFPUG e successivamente con il metodo COSMIC. Una volta calcolata la complessità funzionale con le due metodologie sarà possibile confrontare i risultati con i valori forniti dal software stesso. Il programma, infatti, ha lo scopo di calcolare la complessità funzionale di un progetto, avendo come input tutti i dati necessari al calcolo ovvero ILF, EIF, EI, EO, EQ, DET, RET, FTR per la metodologia IFPUG e Data Group, Processi Funzionali, Entry, Exit, Read, Write per la metodologia COSMIC. 43
44 4.2 DESCRIZIONE DEL PROGRAMMA Il programma che si vuole analizzare è stato realizzato da uno studente presso l Università degli Studi dell Insubria con lo scopo di gestire la manipolazione dei dati IFPUG Function Point e COSMIC Function Point. Per quanto riguarda la parte IFPUG Function Point è possibile inserire nel programma i dati raggruppati tramite tipologia. Si possono inserire i file logici rappresentati dagli ILF e dagli EIF (con al loro interno i RET, formati a loro volta dai DET) oppure i processi transazionali rappresentati da EI, EO ed EQ (con al loro interno DET ed FTR). Una volta creato un dato si può modificare, eliminare o visualizzare, e può contenere anche delle eventuali modifiche EFP. In questo caso si può specificare per ogni informazione se il dato è stato aggiunto, modificato oppure cancellato. Per quanto riguarda la parte COSMIC Function Points è possibile creare i DataGroup oppure i Processi Funzionali che sono formati da dati di tipo Entry, Exit, Read e Write. Una volta creato un dato si può modificare, eliminare o visualizzare 44
45 Una volta terminata la manipolazione dei dati è possibile calcolare il costo totale in unità funzionali del programma e visualizzare l'output con tutti i dati attraverso l utilizzo di tabelle riassuntive. 45
46 4.3 IFPUG ANALYSIS In questa sezione verranno analizzati i Function Points con il metodo IFPUG. Dapprima verranno calcolate le funzioni di tipo dati (Internal Logic File ed External Interface File) e successivamente le funzioni di tipo transizionali (External Input, External Output ed External InQuiry). In seguito verrà calcolato il fattore di aggiustamento, in modo da poter ottenere il numero di Adjusted Function Point FUNZIONI DI TIPO DATI INTERNAL LOGIC FILE PROGETTI Contiene i dati relativi ai progetti che vengono creati mediante l utilizzo del software. È composto da 4 DET: ID del progetto Nome del progetto Autore Anno di creazione La complessità di questo Internal Logic File è BASSA. ILF Contiene i dati relativi agli Internal Logic File. E composto da 2 RET: Progetto Informazioni ILF 46
47 Il RET Progetto è composto da un DET: ID del progetto a cui appartiene Il RET Informazioni ILF è composto da 3 DET: Id del file Nome del file Descrizione del file Cambiamento EFP La complessità di questo Internal Logic File è BASSA. EIF Contiene i dati relativi ai External Interface File. E composto da 2 RET: Progetto Informazioni EIF Il RET Progetto è composto da un DET: ID del progetto a cui appartiene Il RET Informazioni EIF è composto da 3 DET: Id del file Nome del file Descrizione del file Cambiamento EFP La complessità di questo Internal Logic File è BASSA. RET Contiene i dati relativi ai Record Element Type. E composto da 2 RET: Collegamento RET Informazioni RET Il RET Collegamento RET è composto da 2 DET: 47
48 ID del file ILF-EIF a cui appartiene Il RET Informazioni RET è composto da 3 DET: Id del file Nome del file Descrizione del file La complessità di questo Internal Logic File è BASSA. DET Contiene i dati relativi ai Data Element Type. E composto da 2 RET: Collegamento DET Informazioni DET Il RET Collegamento DET è composto da un DET: ID del file RET-EI-EO-EQ a cui appartiene Il RET Informazioni DET è composto da 5 DET: Id del file Nome del file Descrizione del file Entrante Uscente La complessità di questo Internal Logic File è BASSA. EI Contiene i dati relativi agli External Input. E composto da 2 RET: Progetto Informazioni EI Il RET Progetto è composto da un DET: ID del progetto a cui appartiene 48
49 Il RET Informazioni EI è composto da 3 DET: Id del file Nome del file Descrizione del file Cambiamento EFP La complessità di questo Internal Logic File è BASSA. EO Contiene i dati relativi agli External Output. E composto da 2 RET: Progetto Informazioni EO Il RET Progetto è composto da un DET: ID del progetto a cui appartiene Il RET Informazioni EO è composto da 3 DET: Id del file Nome del file Descrizione del file Cambiamento EFP La complessità di questo Internal Logic File è BASSA. EQ Contiene i dati relativi alle External InQuiry. E composto da 2 RET: Progetto Informazioni EQ Il RET Progetto è composto da un DET: ID del progetto a cui appartiene Il RET Informazioni EQ è composto da 3 DET: 49
50 Id del file Nome del file Descrizione del file Cambiamento EFP La complessità di questo Internal Logic File è BASSA. FTR Contiene i dati relativi ai File Type Referenced. E composto da 2 RET: Collegamento FTR Informazioni FTR Il RET Collegamento FTR è composto da un DET: ID del file EI a cui appartiene Il RET Informazioni FTR è composto da 3 DET: Id del file Nome del file Descrizione del file Aggiornato La complessità di questo Internal Logic File è BASSA. DATA GROUP Contiene i dati relativi ai Data Group. E composto da 2 RET: Progetto Informazioni Data Group Il RET Progetto è composto da un DET: ID del progetto a cui appartiene Il RET Informazioni Data Group è composto da 3 DET: Id del file 50
51 Nome del file Descrizione del file La complessità di questo Internal Logic File è BASSA. PROCESSO FUNZIONALE Contiene i dati relativi ai Processi Funzionali. E composto da 2 RET: Progetto Informazioni Processo Funzionale Il RET Progetto è composto da un DET: ID del progetto a cui appartiene Il RET Informazioni Processo Funzionale è composto da 3 DET: Id del file Nome del file Descrizione del file La complessità di questo Internal Logic File è BASSA. ENTRY Contiene i dati relativi ai file Entry. E composto da 2 RET: Collegamento Entry Informazioni Entry Il RET Collegamento Entry è composto da un DET: ID del processo funzionale a cui appartiene Il RET Informazioni Entry è composto da 3 DET: Id del file Nome del file Descrizione del file Cambiamento EFP 51
52 La complessità di questo Internal Logic File è BASSA. EXIT Contiene i dati relativi ai file Exit. E composto da 2 RET: Collegamento Exit Informazioni Exit Il RET Collegamento Exit è composto da un DET: ID del processo funzionale a cui appartiene Il RET Informazioni Exit è composto da 3 DET: Id del file Nome del file Descrizione del file Cambiamento EFP La complessità di questo Internal Logic File è BASSA. READ Contiene i dati relativi ai file Read. E composto da 2 RET: Collegamento Read Informazioni Read Il RET Collegamento Read è composto da un DET: ID del processo funzionale a cui appartiene Il RET Informazioni Read è composto da 3 DET: Id del file Nome del file Descrizione del file Cambiamento EFP La complessità di questo Internal Logic File è BASSA. 52
53 WRITE Contiene i dati relativi ai file Write. E composto da 2 RET: Collegamento Write Informazioni Write Il RET Collegamento Write è composto da un DET: ID del processo funzionale a cui appartiene Il RET Informazioni Write è composto da 3 DET: Id del file Nome del file Descrizione del file Cambiamento EFP La complessità di questo Internal Logic File è BASSA FUNZIONI DI TIPO TRANSIZIONALE EXTERNAL INPUT CREAZIONE PROGETTO Questa funzione permette di creare un nuovo progetto. I dati richiesti per l inserimento sono il Nome, Autore e Anno di creazione. Vengono conteggiati 3 DET per le informazioni che vengono inserite dall utente e in aggiunta 1 DET per l ID del file (per poterlo identificare univocamente) e 1 DET per il gruppo di bottoni che permettono di controllare il processo. Il file ILF che viene modificato è quello che contiene i dati ILF. Vengono conteggiati 5 DET e 1 FTR (Complessità BASSA). 53
54 MODIFICA PROGETTO Questa funzione permette di modificare i dati di un progetto. Vengono conteggiati 3 DET (nome, autore anno e il gruppo di bottoni) e 1 FTR (relativo all ILF contenente i dati dei progetti). La complessità di questo External Input è BASSA. INSERIMENTO ILF Questa funzione permette di inserire un nuovo ILF (Internal Logic File). I dati richiesti per l inserimento sono il Nome e la Descrizione del file. Vengono conteggiati 2 DET per le informazioni che vengono inserite dall utente e in aggiunta 1 DET per l ID del file (per poterlo identificare univocamente), 1 DET per il collegamento con il progetto a cui appartiene, 1 DET per il cambiamento EFP (se non è impostata la modalità EFP il valore viene automaticamente impostato a nessun cambiamento ) e 1 DET per il gruppo di bottoni che permettono di controllare il processo. Il file ILF che viene modificato è quello che contiene i dati ILF. Vengono conteggiati 6 DET e 1 FTR (Complessità BASSA). MODIFICA ILF Questa funzione permette di modificare un ILF (Internal Logic File) selezionato. Vengono conteggiati 4 DET (nome, descrizione, cambiamento EFP e il gruppo di bottoni) e 1 FTR (relativo all ILF contenente i dati ILF). La complessità di questo External Input è BASSA. CANCELLAZIONE ILF Questa funzione permette di cancellare un ILF (Internal Logic File) selezionato. Eliminando un ILF vengono cancellati tutti i dati ad esso correlati. Quindi vengono cancellati i 5 DET relativi al file ILF, i 4 DET relativi al file RET e i 6 file relativi al file DET. Ricapitolando vengono conteggiati 15 DET e 3 FTR (Complessità ALTA). 54
55 INSERIMENTO EIF Questa funzione permette di inserire un nuovo EIF (External Interface File). I dati richiesti per l inserimento sono il Nome e la Descrizione del file. Vengono conteggiati 2 DET per le informazioni che vengono inserite dall utente e in aggiunta 1 DET per l ID del file (per poterlo identificare univocamente), 1 DET per il collegamento con il progetto a cui appartiene, 1 DET per il cambiamento EFP (se non è impostata la modalità EFP il valore viene automaticamente impostato a nessun cambiamento ) e 1 DET per il gruppo di bottoni che permettono di controllare il processo. Il file ILF che viene modificato è quello che contiene i dati EIF. Vengono conteggiati 6 DET e 1 FTR (Complessità BASSA). MODIFICA EIF Questa funzione permette di modificare un EIF (External Interface File) selezionato. Vengono conteggiati 4 DET (nome, descrizione, cambiamento EFP e il gruppo di bottoni) e 1 FTR (relativo all ILF contenente i dati EIF). La complessità di questo External Input è BASSA. CANCELLAZIONE EIF Questa funzione permette di cancellare un EIF (External Interface File) selezionato. Eliminando un ILF vengono cancellati tutti i dati ad esso correlati. Quindi vengono cancellati i 5 DET relativi al file EIF, i 4 DET relativi al file RET e i 6 DET relativi al file DET. Ricapitolando vengono conteggiati 15 DET e 3 FTR (Complessità ALTA). INSERIMENTO RET Questa funzione permette di inserire un nuovo RET (Record Element Type). I dati richiesti per l inserimento sono il Nome e la Descrizione. Vengono inseriti 2 DET e in aggiunta 1 DET per il gruppo di bottoni che permettono di controllare il processo, 1 DET per l ID del file e 1 DET per l ID del file ILF/EIF a cui 55
56 appartiene. Il file ILF che viene modificato è quello che contiene i dati RET. Ricapitolando vengono conteggiati 5 DET e 1 FTR (Complessità BASSA). MODIFICA RET Questa funzione permette di modificare un RET (Record Element Type) selezionato. Viene manipolato l ILF contenente i dati RET e vengono conteggiati 2 DET (Nome, Descrizione) e in aggiunta 1 DET per il gruppo di bottoni. Vengono coinvolti 3 DET e 1 FTR (Complessità BASSA). CANCELLAZIONE RET Questa funzione permette di cancellare un RET (Record Element Type) selezionato. Nel momento in cui si decide di eliminare un RET vengono cancellati anche i DET associati. Vengono cancellati i 4 DET relativi al file RET e i 6 attributi relativi al file DET. Ricapitolando vengono conteggiati 10 DET e 2 FTR (Complessità MEDIA). INSERIMENTO DET Questa funzione permette di inserire un nuovo DET (Data Element Type). I dati richiesti per l inserimento sono il Nome e la Descrizione. Vengono manipolati 2 DET e in aggiunta 1 DET per il gruppo di bottoni che permettono di controllare il processo, 1 DET per l ID del file RET a cui appartiene, 1 DET per l ID del file e 2 DET per impostare gli attributi entrante ed uscente. Il file FTR utilizzato è quello che contiene i dati DET. Ricapitolando vengono conteggiati 7 DET e 1 FTR (Complessità BASSA). MODIFICA DET Questa funzione permette di modificare un DET (Data Element Type) selezionato. Viene manipolato l ILF contenente i dati DET e vengono modificati 2 DET (Nome e Descrizione) e in aggiunta 1 DET per il gruppo di bottoni. Ricapitolando vengono conteggiati 3 DET e 1 FTR (Complessità BASSA). 56
57 CANCELLAZIONE DET Questa funzione permette di cancellare un DET (Data Element Type) selezionato. Vengono cancellati i 6 DET relativi alle informazione del DET e viene considerato 1 FTR (ILF relativo ai dati DET). La complessità di questo External Input è BASSA. INSERIMENTO EI Questa funzione permette di inserire un nuovo EI (External Input). I dati richiesti per l inserimento sono il Nome e la Descrizione; vengono conteggiati 4 DET (ID, nome, descrizione e ID del progetto a cui appartiene) e in aggiunta 1 DET per il gruppo di bottoni e 1 DET per il cambiamento EFP (se non è impostata la modalità EFP il valore viene automaticamente impostato a nessun cambiamento ). Il file ILF che viene modificato è quello che contiene i dati EI. Vengono conteggiati 6 DET e 1 FTR (Complessità BASSA). MODIFICA EI Questa funzione permette di modificare un EI (External Input) selezionato. Vengono conteggiati 5 DET (nome, descrizione, cambiamento EFP e il gruppo di bottoni) e 1 FTR (relativo all ILF contenente i dati EI). La complessità di questo External Input è BASSA. CANCELLAZIONE EI Questa funzione permette di cancellare un EI (External Input) selezionato. Eliminando un EI vengono cancellati tutti i dati ad esso correlati. Quindi vengono cancellati i 5 DET relativi al file EI, i 5 DET relativi al file FTR e i 6 file relativi al file DET. Ricapitolando vengono conteggiati 16 DET e 3 FTR (Complessità ALTA). 57
58 INSERIMENTO EO Questa funzione permette di inserire un nuovo EO (External Output). I dati richiesti per l inserimento sono il Nome e la Descrizione; vengono conteggiati 4 DET (ID, nome, descrizione e ID del progetto a cui appartiene) e in aggiunta 1 DET per il gruppo di bottoni e 1 DET per il cambiamento EFP (se non è impostata la modalità EFP il valore viene automaticamente impostato a nessun cambiamento ). Il file ILF che viene modificato è quello che contiene i dati EO. Vengono conteggiati 6 DET e 1 FTR (Complessità BASSA). MODIFICA EO Questa funzione permette di modificare un EO (External Output) selezionato. Vengono conteggiati 5 DET (nome, descrizione, cambiamento EFP e il gruppo di bottoni) e 1 FTR (relativo all ILF contenente i dati EO).La complessità di questo External Input è BASSA. CANCELLAZIONE EO Questa funzione permette di cancellare un EO (External Output) selezionato. Eliminando un EI vengono cancellati tutti i dati ad esso correlati. Quindi vengono cancellati i 5 DET relativi al file EI, i 5 DET relativi al file FTR e i 6 file relativi al file DET. Ricapitolando vengono conteggiati 16 DET e 3 FTR (Complessità ALTA). INSERIMENTO EQ Questa funzione permette di inserire un nuovo EQ (External InQuiry). I dati richiesti per l inserimento sono il Nome e la Descrizione; vengono conteggiati 4 DET (ID, nome, descrizione e ID del progetto a cui appartiene) e in aggiunta 1 DET per il gruppo di bottoni e 1 DET per il cambiamento EFP (se non è impostata la modalità EFP il valore viene automaticamente impostato a nessun cambiamento ). Il file ILF che viene modificato è quello che contiene i dati EQ. Vengono conteggiati 6 DET e 1 FTR (Complessità BASSA). 58
59 MODIFICA EQ Questa funzione permette di modificare un EQ (External InQuiry) selezionato. Vengono conteggiati 5 DET (nome, descrizione, cambiamento EFP e il gruppo di bottoni) e 1 FTR (relativo all ILF contenente i dati EQ).La complessità di questo External Input è BASSA. CANCELLAZIONE EQ Questa funzione permette di cancellare un EQ (External InQuiry) selezionato. Eliminando un EI vengono cancellati tutti i dati ad esso correlati. Quindi vengono cancellati i 5 DET relativi al file EI, i 5 DET relativi al file FTR e i 6 file relativi al file DET. Ricapitolando vengono conteggiati 16 DET e 3 FTR (Complessità ALTA). INSERIMENTO FTR Questa funzione permette di inserire un FTR (File Type Reference) ad un EI. Vengono manipolati 6 DET (ID, nome, descrizione, aggiornamento, ID del file EI a cui è collegato e 1 DET in aggiunta per il gruppo di bottoni) e 1 FTR (relativo ai dati FTR). In questo caso abbiamo una complessità BASSA. MODIFICA FTR Questa funzione permette di modificare un FTR (File Type Reference) selezionato. Vengono conteggiati 4 DET (Nome, Descrizione, Aggiornamento e in aggiunta 1 DET per il gruppo di bottoni) e 1 FTR (ILF relativo ai dati FTR). La complessità di questo External Input è BASSA. CANCELLAZIONE FTR Questa funzione permette di cancellare un FTR (File Type Reference) selezionato. Vengono conteggiati 6 DET (ID, nome, descrizione, aggiornamento e collegamento al file EI a cui appartiene e 1 DET per il gruppo di bottoni) e 1 FTR (ILF relativo ai dati FTR). Ricapitolando 6 DET e 1 FTR (Complessità BASSA) 59
60 INSERIMENTO DATA GROUP Questa funzione permette di inserire un nuovo Data Group. I dati richiesti per l inserimento sono il Nome e la Descrizione; vengono conteggiati 2 DET per le informazioni che vengono inserite dall utente e in aggiunta 1 DET per l ID del file (per poterlo identificare univocamente), 1 DET per il collegamento con il progetto a cui appartiene e 1 DET per il gruppo di bottoni che permettono di controllare il processo. Il file ILF che viene modificato è quello che contiene i Data Group. Ricapitolando vengono conteggiati 5 DET e 1 FTR (Complessità BASSA). MODIFICA DATA GROUP Questa funzione permette di modificare un Data Group selezionato. Vengono conteggiati 3 DET (nome, descrizione e il gruppo di bottoni) e 1 FTR (relativo all ILF contenente i Data Group). La complessità di questo External Input è BASSA. CANCELLAZIONE DATA GROUP Questa funzione permette di cancellare un Data Group selezionato. Vengono cancellati 4 DET (Nome, Descrizione, ID e collegamento con il progetto a cui appartiene) e viene conteggiato 1 FTR (ILF relativo ai Data Group). La complessità di questo External Input è BASSA. INSERIMENTO PROCESSO FUNZIONALE Questa funzione permette di inserire un nuovo Processo Funzionale. I dati richiesti per l inserimento sono il Nome e la Descrizione. Vengono conteggiati 2 DET per le informazioni che vengono inserite dall utente e in aggiunta 1 DET per l ID del file (per poterlo identificare univocamente), 1 DET per il collegamento con il progetto a cui appartiene e 1 DET per il gruppo di bottoni che permettono di controllare il processo. Il file ILF che viene modificato è quello che contiene i 60
61 Processi Funzionali. Ricapitolando vengono conteggiati (Complessità BASSA). 5 DET e 1 FTR MODIFICA PROCESSO FUNZIONALE Questa funzione permette di modificare un Processo Funzionale selezionato. Vengono conteggiati 3 DET (nome, descrizione e il gruppo di bottoni) e 1 FTR (relativo all ILF contenente i Processi Funzionali). La complessità di questo External Input è BASSA. CANCELLAZIONE PROCESSO FUNZIONALE Questa funzione permette di cancellare un Processo selezionato. Nel momento in cui si decide di eliminare un Processo Funzionale vengono cancellati anche tutti i file ad esso associati. Vengono cancellati i 4 DET relativi al processo e i 5 DET relativi ad ogni Entry-Exit-Read-Write associato. Ricapitolando vengono conteggiati 24 DET e 5 FTR (Complessità ALTA). INSERIMENTO ENTRY Questa funzione permette di inserire un nuovo Entry all interno di un Processo Funzionale. I dati richiesti per l inserimento sono il Nome e la Descrizione. Vengono conteggiati 4 DET (ID, nome, descrizione e ID del processo a cui appartiene) e in aggiunta 1 DET per il gruppo di bottoni e 1 DET per il cambiamento EFP (se non è impostata la modalità EFP il valore viene automaticamente impostato a nessun cambiamento ). Il file ILF che viene modificato è quello che contiene i dati Entry. Vengono conteggiati 6 DET e 1 FTR (Complessità BASSA). MODIFICA ENTRY Questa funzione permette di modificare un Entry selezionato. Vengono conteggiati 4 DET (nome, descrizione, cambiamento EFP e il gruppo di bottoni) e 61
62 1 FTR (relativo all ILF contenente i dati Entry).La complessità di questo External Input è BASSA. CANCELLAZIONE ENTRY Questa funzione permette di cancellare un file Entry selezionato. Vengono cancellati i 5 DET relativi al file (ID, nome, descrizione, ID del processo a cui appartiene ed EFP) e viene conteggiato 1 FTR (ILF relativo ai dati Entry). La complessità di questo External Input è BASSA. INSERIMENTO EXIT Questa funzione permette di inserire un nuovo file Exit all interno di un Processo Funzionale. I dati richiesti per l inserimento sono il Nome e la Descrizione. Vengono conteggiati 4 DET (ID, nome, descrizione e ID del processo a cui appartiene) e in aggiunta 1 DET per il gruppo di bottoni e 1 DET per il cambiamento EFP (se non è impostata la modalità EFP il valore viene automaticamente impostato a nessun cambiamento ). Il file ILF che viene modificato è quello che contiene i dati Exit. Vengono conteggiati 6 DET e 1 FTR (Complessità BASSA). MODIFICA EXIT Questa funzione permette di modificare un file Exit selezionato. Vengono conteggiati 4 DET (nome, descrizione, cambiamento EFP e il gruppo di bottoni) e 1 FTR (relativo all ILF contenente i dati Exit).La complessità di questo External Input è BASSA. CANCELLAZIONE EXIT Questa funzione permette di cancellare un file Exit selezionato. Vengono cancellati i 5 DET relativi al file (ID, nome, descrizione, ID del processo a cui appartiene ed EFP) e viene conteggiato 1 FTR (ILF relativo ai dati Exit). La complessità di questo External Input è BASSA. 62
63 INSERIMENTO READ Questa funzione permette di inserire un nuovo file Read all interno di un Processo Funzionale. I dati richiesti per l inserimento sono il Nome e la Descrizione. Vengono conteggiati 4 DET (ID, nome, descrizione e ID del processo a cui appartiene) e in aggiunta 1 DET per il gruppo di bottoni e 1 DET per il cambiamento EFP (se non è impostata la modalità EFP il valore viene automaticamente impostato a nessun cambiamento ). Il file ILF che viene modificato è quello che contiene i dati Read. Vengono conteggiati 6 DET e 1 FTR (Complessità BASSA). MODIFICA READ Questa funzione permette di modificare un file Read selezionato. Vengono conteggiati 4 DET (nome, descrizione, cambiamento EFP e il gruppo di bottoni) e 1 FTR (relativo all ILF contenente i dati Read).La complessità di questo External Input è BASSA. CANCELLAZIONE READ Questa funzione permette di cancellare un file Read selezionato. Vengono cancellati i 5 DET relativi al file (ID, nome, descrizione, ID del processo a cui appartiene ed EFP) e viene conteggiato 1 FTR (ILF relativo ai dati Read). La complessità di questo External Input è BASSA. INSERIMENTO WRITE Questa funzione permette di inserire un nuovo file Write all interno di un Processo Funzionale. I dati richiesti per l inserimento sono il Nome e la Descrizione. Vengono conteggiati 4 DET (ID, nome, descrizione e ID del processo a cui appartiene) e in aggiunta 1 DET per il gruppo di bottoni e 1 DET per il cambiamento EFP (se non è impostata la modalità EFP il valore viene automaticamente impostato a nessun cambiamento ). Il file ILF che viene 63
64 modificato è quello che contiene i dati Write. Vengono conteggiati 6 DET e 1 FTR (Complessità BASSA). MODIFICA WRITE Questa funzione permette di modificare un file Write selezionato. Vengono conteggiati 4 DET (nome, descrizione, cambiamento EFP e il gruppo di bottoni) e 1 FTR (relativo all ILF contenente i dati Write).La complessità di questo External Input è BASSA. CANCELLAZIONE WRITE Questa funzione permette di cancellare un file Write selezionato. Vengono cancellati i 5 DET relativi al file (ID, nome, descrizione, ID del processo a cui appartiene ed EFP) e viene conteggiato 1 FTR (ILF relativo ai dati Write). La complessità di questo External Input è BASSA. EXTERNAL OUTPUT VISUALIZZAZIONE ILF Questa funzione permette di visualizzare un ILF (Internal Logic File) precedentemente creato. Sarà possibile visualizzare una schermata che contiene Nome, Descrizione, Numero FTR (in questo caso non vengono considerati), Numero DET, Numero RET, EFP e la Complessità. Vengono conteggiati 2 DET per i dati del file ILF (nome, descrizione), 1 DET per il conteggio dei DET, 1 DET per il conteggio dei RET, 1 DET per controllare se è un EFP, 1 DET per il calcolo della complessità e infine 1 DET per il gruppo di bottoni. Ricapitolando 7 DET e 3 FTR (ILF relativo a ILF, DET e RET). La complessità di questo External Output è MEDIA. 64
65 VISUALIZZAZIONE EIF Questa funzione permette di visualizzare un EIF (External Interface File) precedentemente creato. Sarà possibile visualizzare una schermata che contiene Nome, Descrizione, Numero FTR (in questo caso non vengono considerati), Numero DET, Numero RET, EFP e la Complessità. Vengono conteggiati 2 DET per i dati del file EIF (nome, descrizione), 1 DET per il conteggio dei DET, 1 DET per il conteggio dei RET, 1 DET per controllare se è un EFP, 1 DET per il calcolo della complessità e infine 1 DET per il gruppo di bottoni. Ricapitolando 7 DET e 3 FTR (ILF relativo a EIF, DET e RET). La complessità di questo External Output è MEDIA. VISUALIZZAZIONE EI Questa funzione permette di visualizzare un EI (External Input) precedentemente creato. Sarà possibile visualizzare una schermata che contiene Nome, Descrizione, Numero FTR, Numero DET, Numero RET (in questo caso non vengono considerati), EFP e la Complessità. Vengono conteggiati 2 DET per i dati del file EI (nome, descrizione), 1 DET per il conteggio dei DET, 1 DET per il conteggio dei FTR, 1 DET per controllare se è un EFP, 1 DET per il calcolo della complessità e infine 1 DET per il gruppo di bottoni. Ricapitolando 7 DET e 3 FTR (ILF relativo a EI, DET e FTR). La complessità di questo External Output è MEDIA. VISUALIZZAZIONE EO Questa funzione permette di visualizzare un EO (External Output) precedentemente creato. Sarà possibile visualizzare una schermata che contiene Nome, Descrizione, Numero FTR, Numero DET, Numero RET (in questo caso non vengono considerati), EFP e la Complessità. Vengono conteggiati 2 DET per i dati del file EO (nome, descrizione), 1 DET per il conteggio dei DET, 1 DET per il conteggio dei FTR, 1 DET per controllare se è un EFP, 1 DET per il calcolo della complessità e infine 1 DET per il gruppo di bottoni. Ricapitolando 7 DET e 65
66 3 FTR (ILF relativo a EO, DET e FTR). La complessità di questo External Output è MEDIA. VISUALIZZAZIONE EQ Questa funzione permette di visualizzare un EQ (External InQuiry) precedentemente creato. Sarà possibile visualizzare una schermata che contiene Nome, Descrizione, Numero FTR, Numero DET, Numero RET (in questo caso non vengono considerati), EFP e la Complessità. Vengono conteggiati 2 DET per i dati del file EQ (nome, descrizione), 1 DET per il conteggio dei DET, 1 DET per il conteggio dei FTR, 1 DET per controllare se è un EFP, 1 DET per il calcolo della complessità e infine 1 DET per il gruppo di bottoni. Ricapitolando 7 DET e 3 FTR (ILF relativo a EQ, DET e FTR). La complessità di questo External Output è MEDIA. VISUALIZZAZIONE PROCESSO FUNZIONALE Questa funzione permette di visualizzare un Processo Funzionale precedentemente creato. Permette di visualizzare una schermata che contiene Nome e Descrizione e conteggio di Entry, Exit, Read e Write. Vengono conteggiati 2 DET per i dati del file, 4 DET per il conteggio dei DataGroup Entry, Exit, Read, Write e in aggiunta 1 DET per il gruppo di bottoni. Ricapitolando 7 DET e 5 FTR (ILF relativo ai processi funzionali, ai dati Entry, Exit, Read e Write). La Complessità di questo External Output è ALTA. EXTERNAL INQUIRY VISUALIZZAZIONE RET Questa funzione permette di visualizzare un RET (Record Element Type) precedentemente creato. Permette di visualizzare una schermata che contiene Nome e Descrizione del file RET. Vengono conteggiati 3 DET (Nome, Descrizione e 1 in aggiunta per il gruppo di bottoni) e 1 FTR (ILF relativo ai dati RET). La complessità di questo External InQuiry è BASSA. 66
67 VISUALIZZAZIONE DET Questa funzione permette di visualizzare un DET (Data Element Type) precedentemente creato. Permette di visualizzare una schermata che contiene Nome e Descrizione del file DET. Vengono conteggiati 3 DET (Nome, Descrizione e 1 in aggiunta per il gruppo di bottoni) e 1 FTR (ILF relativo ai dati DET). La complessità di questo External InQuiry è BASSA. VISUALIZZAZIONE FTR Questa funzione permette di visualizzare un FTR (File Type Referenced) precedentemente creato. Permette di visualizzare una schermata che contiene Nome e Descrizione del file FTR. Vengono conteggiati 3 DET (Nome, Descrizione e 1 in aggiunta per il gruppo di bottoni) e 1 FTR (ILF relativo ai dati FTR). La complessità di questo External InQuiry è BASSA. VISUALIZZAZIONE DATA GROUP Questa funzione permette di visualizzare un Data Group precedentemente creato. Permette di visualizzare una schermata che contiene Nome e Descrizione. Vengono conteggiati 2 DET per i dati del file e in aggiunta 1 DET per il gruppo di bottoni. Ricapitolando 3 DET e 1 FTR (ILF relativo ai Data Group). La Complessità di questo External Inquiry è BASSA. VISUALIZZAZIONE ENTRY Questa funzione permette di visualizzare un file Entry precedentemente creato. Permette di visualizzare una schermata che contiene Nome e Descrizione. Vengono conteggiati 2 DET per i dati del file e in aggiunta 1 DET per il gruppo di bottoni. Ricapitolando 3 DET e 1 FTR (ILF relativo ai dati Entry). La Complessità di questo External Inquiry è BASSA. 67
68 VISUALIZZAZIONE EXIT Questa funzione permette di visualizzare un file Exit precedentemente creato. Permette di visualizzare una schermata che contiene Nome e Descrizione. Vengono conteggiati 2 DET per i dati del file e in aggiunta 1 DET per il gruppo di bottoni. Ricapitolando 3 DET e 1 FTR (ILF relativo ai dati Exit). La Complessità di questo External Inquiry è BASSA. VISUALIZZAZIONE WRITE Questa funzione permette di visualizzare un file Write precedentemente creato. Permette di visualizzare una schermata che contiene Nome e Descrizione. Vengono conteggiati 2 DET per i dati del file e in aggiunta 1 DET per il gruppo di bottoni. Ricapitolando 3 DET e 1 FTR (ILF relativo ai dati Write). La Complessità di questo External Inquiry è BASSA. VISUALIZZAZIONE READ Questa funzione permette di visualizzare un file Read precedentemente creato. Permette di visualizzare una schermata che contiene Nome e Descrizione. Vengono conteggiati 2 DET per i dati del file e in aggiunta 1 DET per il gruppo di bottoni. Ricapitolando 3 DET e 1 FTR (ILF relativo ai dati Read). La Complessità di questo External Inquiry è BASSA. 68
69 4.3.3 CALCOLO UFP INTERNAL LOGIC FILE COMPLESSITÀ PESO PROGETTI BASSA 7 ILF BASSA 7 EIF BASSA 7 RET BASSA 7 DET BASSA 7 EI BASSA 7 EO BASSA 7 EQ BASSA 7 FTR BASSA 7 DATAGROUP BASSA 7 PROCESSO FUNZIONALE BASSA 7 ENTRY BASSA 7 EXIT BASSA 7 READ BASSA 7 WRITE BASSA 7 Il numero di Unadjusted Function Point relativi agli Internal Logic File è 105 UFP. 69
70 EXTERNAL INPUT COMPLESSITÀ PESO CREAZIONE PROGETTO BASSA 3 MODIFICA PROGETTO BASSA 3 INSERIMENTO ILF BASSA 3 MODFICA ILF BASSA 3 CANCELLAZIONE ILF ALTA 6 INSERIMENTO EIF BASSA 3 MODIFICA EIF BASSA 3 CANCELLAZIONE EIF ALTA 6 INSERIMENTO RET BASSA 3 MODIFICA RET BASSA 3 CANCELLAZIONE RET MEDIA 4 INSERIMENTO DET BASSA 3 MODIFICA DET BASSA 3 CANCELLAZIONE DET BASSA 3 INSERIMENTO EI BASSA 3 MODIFICA EI BASSA 3 CANCELLAZIONE EI ALTA 6 INSERIMENTO EO BASSA 3 MODIFICA EO BASSA 3 CANCELLAZIONE EO ALTA 6 INSERIMENTO EQ BASSA 3 70
71 MODIFICA EQ BASSA 3 CANCELLAZIONE EQ ALTA 6 INSERIMENTO FTR BASSA 3 MODIFICA FTR BASSA 3 CANCELAZIONE BASSA 3 INSERIMENTO DATAGOUP BASSA 3 MODIFICA DATAGROUP BASSA 3 CANCELLAZIONE DATAGROUP INSERIMENTO PROC. FUNZIONALE MODIFICA PROC. FUNZIONALE CANCELLAZIONE PROC. FUNZIONALE BASSA 3 BASSA 3 BASSA 3 ALTA 6 INSERIMENTO ENTRY BASSA 3 MODIFICA ENTRY BASSA 3 CANCELLAZIONE ENTRY BASSA 3 INSERIMENTO EXIT BASSA 3 MODIFICA EXIT BASSA 3 CANCELLAZIONE EXIT BASSA 3 INSERIMENTO READ BASSA 3 MODIFICA READ BASSA 3 CANCELLAZIONE READ BASSA 3 INSERIMENTO WRITE BASSA 3 71
72 MODIFICA WRITE BASSA 3 CANCELLAZIONE WRITE BASSA 3 Il numero di Unadjusted Function Point relativi agli External Input è 151 UFP. EXTERNAL OUTPUT COMPLESSITÀ PESO VISUALIZZAZIONE ILF MEDIA 5 VISUALIZZAZIONE EIF MEDIA 5 VISUALIZZAZIONE EI MEDIA 5 VISUALIZZAZIONE EO MEDIA 5 VISUALIZZAZIONE EQ MEDIA 5 VISUALIZZAZIONE PROC. FUNZIONALE ALTA 7 Il numero di Unadjusted Function Point relativi agli Internal Logic File è 32 UFP. 72
73 EXTERNAL INQUIRY COMPLESSITÀ PESO VISUALIZZAZIONE RET BASSA 3 VISUALIZZAZIONE DET BASSA 3 VISUALIZZAZIONE FTR BASSA 3 VISUALIZZAZIONE DATAGROUP BASSA 3 VISUALIZZAZIONE ENTRY BASSA 3 VISUALIZZAZIONE EXIT BASSA 3 VISUALIZZAZIONE READ BASSA 3 VISUALIZZAZIONE WRITE BASSA 3 Il numero di Unadjusted Function Point relativi agli Internal Logic File è 24 UFP CALCOLO AFP CALCOLO VAF CARATTERISTICHE GENERALI DEL SISTEMA GRADO DI INFLUENZA Comunicazione dati Distribuzione dell elaborazione Prestazioni 1 73
74 Utilizzo intensivo della configurazione Frequenza delle transazioni Inserimento dati interattivo Efficienza per l'utente finale Aggiornamento interattivo Complessità elaborativa Riusabilità Facilità di installazione Facilità di gestione operativa Molteplicità di siti Facilità di modifica 1 Il grado totale di influenza è 14 e seguendo il calcolo spiegato precedentemente nel capitolo dedicato alla misurazione IFPUG, il Fattore di Aggiustamento (VAF) è dato da 0, x 14 = 0,79. CALCOLO AFP Il numero di Adjusted Function Point viene calcolato moltiplicando il numero di Unadjusted Function Point per il Fattore di Aggiustamento. AFP = 312 x 0,79 = 246,
75 4.4 COSMIC ANALYSIS In questa sezione verranno analizzati i Function Points con il metodo COSMIC. Dapprima verranno calcolati i gruppi di dati (Data Group) e successivamente i processi funzionali con rispettivi Entry, Exit, Read e Write. Al termine dell analisi verranno sommati i risultati precedentemente calcolati per ottenere il numero di Cosmic Function Point PROCESSI FUNZIONALI CREAZIONE PROGETTO Questa funzione permette di creare un nuovo progetto. I Data Movements necessari sono: 1 Entry (input del nome, autore e anno di creazione del progetto) 1 Write (scrittura in memoria dei dati in input) Totale del processo funzionale 2 Data Movements. MODIFICA PROGETTO Questa funzione permette di modificare i dati di un progetto. I Data Movements necessari sono: 1 Read (legge in memoria le informazioni relative al progetto) 1 Exit (i dati del file vengono visualizzati in output) 1 Entry (input del nome, autore e anno di creazione del progetto) 1 Write (scrittura in memoria dei dati in input) Totale del processo funzionale 4 Data Movements. 75
76 INSERIMENTO ILF Questa funzione permette di inserire un nuovo ILF (Internal Logic File). I Data Movements necessari sono: 1 Entry (input del nome, descrizione, ID, EFP e collegamento con il progetto a cui appartiene) 1 Write (scrittura in memoria dei dati in input) Totale del processo funzionale 2 Data Movements. MODIFICA ILF Questa funzione permette di modificare un ILF (Internal Logic File) selezionato. I Data Movements necessari sono: 1 Read (legge in memoria le informazioni relative al file) 1 Exit (i dati del file vengono visualizzati in output) 1 Entry (input del nome, descrizione, EFP) 1 Write (scrittura in memoria dei dati in input) Totale del processo funzionale 4 Data Movements. CANCELLAZIONE ILF Questa funzione permette di cancellare un ILF (Internal Logic File) selezionato. I Data Movements necessari sono: 1 Write (cancellazione in memoria dei dati relativi al file ILF) 1 Write (cancellazione in memoria dei dati relativi al file RET) 1 Write (cancellazione in memoria dei dati relativi al file DET) Totale del processo funzionale 3 Data Movement. 76
77 INSERIMENTO EIF Questa funzione permette di inserire un nuovo EIF (External Interface File). I Data Movements necessari sono: 1 Entry (input del nome, descrizione, ID, EFP e collegamento con il progetto a cui appartiene) 1 Write (scrittura in memoria dei dati in input) Totale del processo funzionale 2 Data Movements. MODIFICA EIF Questa funzione permette di modificare un EIF (External Interface File) selezionato. I Data Movements necessari sono: 1 Read (legge in memoria le informazioni relative al file) 1 Exit (i dati del file vengono visualizzati in output) 1 Entry (input del nome, descrizione, EFP) 1 Write (scrittura in memoria dei dati in input) Totale del processo funzionale 4 Data Movements. CANCELLAZIONE EIF Questa funzione permette di cancellare un EIF (External Interface File) selezionato. I Data Movements necessari sono: 1 Write (cancellazione in memoria dei dati relativi al file ILF) 1 Write (cancellazione in memoria dei dati relativi al file RET) 1 Write (cancellazione in memoria dei dati relativi al file DET) Totale del processo funzionale 3 Data Movement. 77
78 INSERIMENTO RET Questa funzione permette di inserire un nuovo RET (Record Element Type). I Data Movements necessari sono: 1 Entry (input del nome, descrizione, ID, EFP e collegamento con il file ILF o EIF a cui appartiene) 1 Write (scrittura in memoria dei dati in input) Totale del processo funzionale 2 Data Movements. MODIFICA RET Questa funzione permette di modificare un RET (Record Element Type) selezionato. I Data Movements necessari sono: 1 Read (legge in memoria le informazioni relative al file) 1 Exit (i dati del file vengono visualizzati in output) 1 Entry (input del nome e descrizione) 1 Write (scrittura in memoria dei dati in input) Totale del processo funzionale 4 Data Movements. CANCELLAZIONE RET Questa funzione permette di cancellare un RET (Record Element Type) selezionato. I Data Movements necessari sono: 1 Write (cancellazione in memoria dei dati relativi al file RET) 1 Write (cancellazione in memoria dei dati relativi al file DET) Totale del processo funzionale 2 Data Movement. 78
79 INSERIMENTO DET Questa funzione permette di inserire un nuovo DET (Data Element Type). I Data Movements necessari sono: 1 Entry (input del nome, descrizione, ID, collegamento con il file RET a cui appartiene, attributo entrante ed uscente) 1 Write (scrittura in memoria dei dati in input) Totale del processo funzionale 2 Data Movements. MODIFICA DET Questa funzione permette di modificare un DET (Data Element Type) selezionato. I Data Movements necessari sono: 1 Read (legge in memoria le informazioni relative al file) 1 Exit (i dati del file vengono visualizzati in output) 1 Entry (input del nome, descrizione, ID, collegamento con il file RET a cui appartiene, attributo entrante ed uscente) 1 Write (scrittura in memoria dei dati in input) Totale del processo funzionale 4 Data Movements. CANCELLAZIONE DET Questa funzione permette di cancellare un DET (Data Element Type) selezionato. I Data Movements necessari sono: 1 Write (cancellazione in memoria dei dati relativi al file DET) Totale del processo funzionale 1 Data Movement. 79
80 INSERIMENTO EI Questa funzione permette di inserire un nuovo EI (External Input). I Data Movements necessari sono: 1 Entry (input del nome, descrizione, ID, ID del progetto a cui appartiene, EFP) 1 Write (scrittura in memoria dei dati in input) Totale del processo funzionale 2 Data Movements. MODIFICA EI Questa funzione permette di modificare un EI (External Input) selezionato. I Data Movements necessari sono: 1 Read (legge in memoria le informazioni relative al file) 1 Exit (i dati del file vengono visualizzati in output) 1 Entry (input del nome, descrizione, EFP) 1 Write (scrittura in memoria dei dati in input) Totale del processo funzionale 4 Data Movements. CANCELLAZIONE EI Questa funzione permette di cancellare un EI (External Input) selezionato. I Data Movements necessari sono: 1 Write (cancellazione in memoria dei dati relativi al file EI) 1 Write (cancellazione in memoria dei dati relativi al file FTR) 1 Write (cancellazione in memoria dei dati relativi al file DET) Totale del processo funzionale 3 Data Movement. 80
81 INSERIMENTO EO Questa funzione permette di inserire un nuovo EO (External Output). I Data Movements necessari sono: 1 Entry (input del nome, descrizione, ID, ID del progetto a cui appartiene, EFP) 1 Write (scrittura in memoria dei dati in input) Totale del processo funzionale 2 Data Movements. MODIFICA EO Questa funzione permette di modificare un EO (External Output) selezionato. I Data Movements necessari sono: 1 Read (legge in memoria le informazioni relative al file) 1 Exit (i dati del file vengono visualizzati in output) 1 Entry (input del nome, descrizione, EFP) 1 Write (scrittura in memoria dei dati in input) Totale del processo funzionale 4 Data Movements. CANCELLAZIONE EO Questa funzione permette di cancellare un EO (External Output) selezionato. I Data Movements necessari sono: 1 Write (cancellazione in memoria dei dati relativi al file EO) 1 Write (cancellazione in memoria dei dati relativi al file FTR) 1 Write (cancellazione in memoria dei dati relativi al file DET) Totale del processo funzionale 3 Data Movement. 81
82 INSERIMENTO EQ Questa funzione permette di inserire un nuovo EQ (External InQuiry). I Data Movements necessari sono: 1 Entry (input del nome, descrizione, ID, ID del progetto a cui appartiene, EFP) 1 Write (scrittura in memoria dei dati in input) Totale del processo funzionale 2 Data Movements. MODIFICA EQ Questa funzione permette di modificare un EQ (External InQuiry) selezionato. I Data Movements necessari sono: 1 Read (legge in memoria le informazioni relative al file) 1 Exit (i dati del file vengono visualizzati in output) 1 Entry (input del nome, descrizione, EFP) 1 Write (scrittura in memoria dei dati in input) Totale del processo funzionale 4 Data Movements. CANCELLAZIONE EQ Questa funzione permette di cancellare un EQ (External InQuiry) selezionato. I Data Movements necessari sono: 1 Write (cancellazione in memoria dei dati relativi al file EQ) 1 Write (cancellazione in memoria dei dati relativi al file FTR) 1 Write (cancellazione in memoria dei dati relativi al file DET) Totale del processo funzionale 3 Data Movement. 82
83 INSERIMENTO FTR Questa funzione permette di inserire un FTR (File Type Reference) ad un EI. I Data Movements necessari sono: 1 Entry (input del nome, descrizione, ID, ID del file EI a cui appartiene, aggiornamento) 1 Write (scrittura in memoria dei dati in input) Totale del processo funzionale 2 Data Movements. MODIFICA FTR Questa funzione permette di modificare un FTR (File Type Reference) selezionato. I Data Movements necessari sono: 1 Read (legge in memoria le informazioni relative al file) 1 Exit (i dati del file vengono visualizzati in output) 1 Entry (input del nome, descrizione, aggiornamento) 1 Write (scrittura in memoria dei dati in input) Totale del processo funzionale 4 Data Movements. CANCELLAZIONE FTR Questa funzione permette di cancellare un FTR (File Type Reference) selezionato.. I Data Movements necessari sono: 1 Write (cancellazione in memoria dei dati relativi al file FTR) Totale del processo funzionale 1 Data Movement. 83
84 INSERIMENTO DATA GROUP Questa funzione permette di inserire un nuovo Data Group. I Data Movements necessari sono: 1 Entry (input del nome, descrizione, ID, ID del progetto a cui appartiene) 1 Write (scrittura in memoria dei dati in input) Totale del processo funzionale 2 Data Movements. MODIFICA DATA GROUP Questa funzione permette di modificare un Data Group selezionato. I Data Movements necessari sono: 1 Read (legge in memoria le informazioni relative al file) 1 Exit (i dati del file vengono visualizzati in output) 1 Entry (input del nome e descrizione) 1 Write (scrittura in memoria dei dati in input) Totale del processo funzionale 4 Data Movements. CANCELLAZIONE DATA GROUP Questa funzione permette di cancellare un Data Group selezionato. I Data Movements necessari sono: 1 Write (cancellazione in memoria dei dati relativi al DataGroup) Totale del processo funzionale 1 Data Movement. 84
85 INSERIMENTO PROCESSO FUNZIONALE Questa funzione permette di inserire un nuovo Processo Funzionale. I Data Movements necessari sono: 1 Entry (input del nome, descrizione, ID, ID del progetto a cui appartiene) 1 Write (scrittura in memoria dei dati in input) Totale del processo funzionale 2 Data Movements. MODIFICA PROCESSO FUNZIONALE Questa funzione permette di modificare un Processo Funzionale selezionato. I Data Movements necessari sono: 1 Read (legge in memoria le informazioni relative al file) 1 Exit (i dati del file vengono visualizzati in output) 1 Entry (input del nome e descrizione) 1 Write (scrittura in memoria dei dati in input) Totale del processo funzionale 4 Data Movements. CANCELLAZIONE PROCESSO FUNZIONALE Questa funzione permette di cancellare un Processo selezionato. I Data Movements necessari sono: 1 Write (cancellazione in memoria dei dati relativi al Processo Funzionale) 1 Write (cancellazione in memoria dei dati relativi al file Entry) 1 Write (cancellazione in memoria dei dati relativi al file Read) 1 Write (cancellazione in memoria dei dati relativi al file Write) 1 Write (cancellazione in memoria dei dati relativi al file Exit) Totale del processo funzionale 5 Data Movement. 85
86 INSERIMENTO ENTRY Questa funzione permette di inserire un nuovo Entry all interno di un Processo Funzionale. I Data Movements necessari sono: 1 Entry (input del nome, descrizione, ID, ID del processo funzionale a cui appartiene, EFP) 1 Write (scrittura in memoria dei dati in input) Totale del processo funzionale 2 Data Movements. MODIFICA ENTRY Questa funzione permette di modificare un Entry selezionato. I Data Movements necessari sono: 1 Read (legge in memoria le informazioni relative al file) 1 Exit (i dati del file vengono visualizzati in output) 1 Entry (input del nome, descrizione, EFP) 1 Write (scrittura in memoria dei dati in input) Totale del processo funzionale 4 Data Movements. CANCELLAZIONE ENTRY Questa funzione permette di cancellare un file Entry selezionato. I Data Movements necessari sono: 1 Write (cancellazione in memoria dei dati relativi al file Entry) Totale del processo funzionale 1 Data Movement. 86
87 INSERIMENTO EXIT Questa funzione permette di inserire un nuovo file Exit all interno di un Processo Funzionale. I Data Movements necessari sono: 1 Entry (input del nome, descrizione, ID, ID del processo funzionale a cui appartiene, EFP) 1 Write (scrittura in memoria dei dati in input) Totale del processo funzionale 2 Data Movements. MODIFICA EXIT Questa funzione permette di modificare un file Exit selezionato. I Data Movements necessari sono: 1 Read (legge in memoria le informazioni relative al file) 1 Exit (i dati del file vengono visualizzati in output) 1 Entry (input del nome, descrizione, EFP) 1 Write (scrittura in memoria dei dati in input) Totale del processo funzionale 4 Data Movements. CANCELLAZIONE EXIT Questa funzione permette di cancellare un file Exit selezionato. I Data Movements necessari sono: 1 Write (cancellazione in memoria dei dati relativi al file Exit) Totale del processo funzionale 1 Data Movement. 87
88 INSERIMENTO READ Questa funzione permette di inserire un nuovo file Read all interno di un Processo Funzionale. I Data Movements necessari sono: 1 Entry (input del nome, descrizione, ID, ID del processo funzionale a cui appartiene, EFP) 1 Write (scrittura in memoria dei dati in input) Totale del processo funzionale 2 Data Movements. MODIFICA READ Questa funzione permette di modificare un file Read selezionato. I Data Movements necessari sono: 1 Read (legge in memoria le informazioni relative al file) 1 Exit (i dati del file vengono visualizzati in output) 1 Entry (input del nome, descrizione, EFP) 1 Write (scrittura in memoria dei dati in input) Totale del processo funzionale 4 Data Movements. CANCELLAZIONE READ Questa funzione permette di cancellare un file Read selezionato. I Data Movements necessari sono: 1 Write (cancellazione in memoria dei dati relativi al file Read) Totale del processo funzionale 1 Data Movement. 88
89 INSERIMENTO WRITE Questa funzione permette di inserire un nuovo file Write all interno di un Processo Funzionale. I Data Movements necessari sono: 1 Entry (input del nome, descrizione, ID, ID del processo funzionale a cui appartiene, EFP) 1 Write (scrittura in memoria dei dati in input) Totale del processo funzionale 2 Data Movements. MODIFICA WRITE Questa funzione permette di modificare un file Write selezionato. I Data Movements necessari sono: 1 Read (legge in memoria le informazioni relative al file) 1 Exit (i dati del file vengono visualizzati in output) 1 Entry (input del nome, descrizione, EFP) 1 Write (scrittura in memoria dei dati in input) Totale del processo funzionale 4 Data Movements. CANCELLAZIONE WRITE Questa funzione permette di cancellare un file Write selezionato. I Data Movements necessari sono: 1 Write (cancellazione in memoria dei dati relativi al file Write) Totale del processo funzionale 1 Data Movement. 89
90 VISUALIZZAZIONE ILF Questa funzione permette di visualizzare un ILF (Internal Logic File) precedentemente creato. I Data Movements necessari sono: 1 Read (legge in memoria le informazioni relative al file ILF) 1 Read (conteggio DET) 1 Read (conteggio RET) 1 Read (calcolo complessità) 1 Exit (i dati del file vengono visualizzati in output) Totale del processo funzionale 5 Data Movements. VISUALIZZAZIONE EIF Questa funzione permette di visualizzare un EIF (External Interface File) precedentemente creato. I Data Movements necessari sono: 1 Read (legge in memoria le informazioni relative al file EIF) 1 Read (conteggio DET) 1 Read (conteggio RET) 1 Read (calcolo complessità) 1 Exit (i dati del file vengono visualizzati in output) Totale del processo funzionale 5 Data Movements. VISUALIZZAZIONE EI Questa funzione permette di visualizzare un EI (External Input) precedentemente creato. I Data Movements necessari sono: 1 Read (legge in memoria le informazioni relative al file EI) 1 Read (conteggio DET) 1 Read (conteggio FTR) 90
91 1 Read (calcolo complessità) 1 Exit (i dati del file vengono visualizzati in output) Totale del processo funzionale 5 Data Movements. VISUALIZZAZIONE EO Questa funzione permette di visualizzare un EO (External Output) precedentemente creato. I Data Movements necessari sono: 1 Read (legge in memoria le informazioni relative al file EO) 1 Read (conteggio DET) 1 Read (conteggio FTR) 1 Read (calcolo complessità) 1 Exit (i dati del file vengono visualizzati in output) Totale del processo funzionale 5 Data Movements. VISUALIZZAZIONE EQ Questa funzione permette di visualizzare un EQ (External InQuiry) precedentemente creato. I Data Movements necessari sono: 1 Read (legge in memoria le informazioni relative al file EQ) 1 Read (conteggio DET) 1 Read (conteggio FTR) 1 Read (calcolo complessità) 1 Exit (i dati del file vengono visualizzati in output) Totale del processo funzionale 5 Data Movements. 91
92 VISUALIZZAZIONE PROCESSO FUNZIONALE Questa funzione permette di visualizzare un Processo Funzionale precedentemente creato. I Data Movements necessari sono: 1 Read (legge in memoria le informazioni relative al processo funzionale) 1 Read (conteggio Entry) 1 Read (conteggio Exit) 1 Read (conteggio Read) 1 Read (conteggio Write) 1 Exit (i dati del file vengono visualizzati in output) Totale del processo funzionale 6 Data Movements. VISUALIZZAZIONE RET Questa funzione permette di visualizzare un RET (Record Element Type) precedentemente creato. I Data Movements necessari sono: 1 Read (legge in memoria le informazioni relative al file RET) 1 Exit (i dati del file vengono visualizzati in output) Totale del processo funzionale 2 Data Movements. VISUALIZZAZIONE DET Questa funzione permette di visualizzare un DET (Data Element Type) precedentemente creato. I Data Movements necessari sono: 1 Read (legge in memoria le informazioni relative al file DET) 1 Exit (i dati del file vengono visualizzati in output) Totale del processo funzionale 2 Data Movements. 92
93 VISUALIZZAZIONE FTR Questa funzione permette di visualizzare un FTR (File Type Referenced) precedentemente creato. I Data Movements necessari sono: 1 Read (legge in memoria le informazioni relative al file FTR) 1 Exit (i dati del file vengono visualizzati in output) Totale del processo funzionale 2 Data Movements. VISUALIZZAZIONE DATA GROUP Questa funzione permette di visualizzare un Data Group precedentemente creato. I Data Movements necessari sono: 1 Read (legge in memoria le informazioni relative al Data Group) 1 Exit (i dati del file vengono visualizzati in output) Totale del processo funzionale 2 Data Movements. VISUALIZZAZIONE ENTRY Questa funzione permette di visualizzare un file Entry precedentemente creato. I Data Movements necessari sono: 1 Read (legge in memoria le informazioni relative al file Entry) 1 Exit (i dati del file vengono visualizzati in output) Totale del processo funzionale 2 Data Movements. VISUALIZZAZIONE EXIT Questa funzione permette di visualizzare un file Exit precedentemente creato. I Data Movements necessari sono: 93
94 1 Read (legge in memoria le informazioni relative al file Exit) 1 Exit (i dati del file vengono visualizzati in output) Totale del processo funzionale 2 Data Movements. VISUALIZZAZIONE WRITE Questa funzione permette di visualizzare un file Write precedentemente creato. I Data Movements necessari sono: 1 Read (legge in memoria le informazioni relative al file Write) 1 Exit (i dati del file vengono visualizzati in output) Totale del processo funzionale 2 Data Movements. VISUALIZZAZIONE READ Questa funzione permette di visualizzare un file Read precedentemente creato. I Data Movements necessari sono: 1 Read (legge in memoria le informazioni relative al file Read) 1 Exit (i dati del file vengono visualizzati in output) Totale del processo funzionale 2 Data Movements CALCOLO COSMIC FP Come spiegato nella sezione dedicata ai Cosmic FP, il calcolo dei Function Point in questa metodologia è semplicemente la somma dei Data Movement relativi ad ogni singolo Processo Funzionale. Il numero di COSMIC FP di questo programma è
95 Capitolo 5 5. CONCLUSIONI N el momento in cui si decide di stimare la dimensione del software bisogna porsi alcune domande come ad esempio: Come si comporta il software?, Quali sono le parti che comunicano tra loro? Come vengono mostrati i risultati? ecc. In questo lavoro di tesi sono state dapprima affrontate le tematiche sulla misurazione del software, con particolare approfondimento sui metodi di valutazione funzionale (Function Point) analizzando in dettaglio il funzionamento del metodo IFPUG e COSMIC Function Point. Lo studio del Function Point è stata sicuramente un esperienza molto interessante. Questo lavoro mi ha permesso di capire come ci si deve porre nei confronti del software quando lo si va a misurare ed è stato utile per farmi vedere il software sotto un ottica differente. 95
96 Il lavoro di ricerca, principalmente sulla misurazione COSMIC non è stato semplice. I libri che trattano questi argomenti sono relativamente pochi e i principali siti sono quelli rispettivi ai relativi gruppi ( e che contengono manuali e articoli ufficiali riguardanti origini e pubblicazioni. Tra le due metodologie, il metodo IFPUG è quello che mi ha suscitato le migliori impressioni. I punti di debolezza del metodo IFPUG sono davvero minimi e sono focalizzati principalmente sul conteggio non particolarmente immediato. I punti di forza invece si notano molto specialmente se lo si utilizza prima del metodo COSMIC: il livello di dettaglio fornito dal manuale è molto alto e rende l identificazione degli attributi molto semplice ed immediata. Dall altra parte il metodo COSMIC permette un conteggio molto semplice e lineare ma il manuale, a differenza del metodo IFPUG, non presenta un livello di dettaglio tale da poterlo immaginare applicato a molteplici software. È inoltre molto complicato identificare le diverse parti richieste dal metodo (Enter, Exit, Read e Write su tutto il resto ). In conclusione direi che il metodo IFPUG è il più completo e facilmente utilizzabile ma in ogni caso è molto importante porre l attenzione sull esperienza che deve essere maturate di chi si pone l obiettivo di contare i Function Point di un software Per me è stata la prima esperienza e devo ammettere che non è stato un lavoro semplice ed immediato come credevo inizialmente. Con un buon livello di conoscenza dei metodi studiati e una discreta esperienza applicativa su diversi tipi di software penso che entrambi i metodi possano essere ritenuti efficaci e molto utili per la valutazione di un software, aspetto che ritengo debba essere sempre più ricercato dalle aziende che cercano di emergere in un mercato competitivo come quello dei giorni nostri. 96
97 BIBLIOGRAFIA 1. Function Point: Manuale delle Regole di Conteggio Versione 4.2 (IFPUG) 2. Il metodo COSMIC di Misurazione della Dimensione Funzionale Manuale di Misurazione Versione Misurare il software. Quantità, qualità, standards e miglioramento di processo nell'information & Communication Technology (Luigi Buglione) 4. Function Point Analysis Measurement Practices for successful Software Project (Garmus, Herron) 5. Practical Software Estimation: Function Point Methods for Insourced and Outsourced Projects (Parthasarathy) 6. Metrics and Models in Software Quality Engineering (H.Kan) 7. Metriche del software Esperienze e ricerche (GUFPI-ISMA) 97
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à:
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à
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
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
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
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
Manuale Amministratore Legalmail Enterprise. Manuale ad uso degli Amministratori del Servizio Legalmail Enterprise
Manuale Amministratore Legalmail Enterprise Manuale ad uso degli Amministratori del Servizio Legalmail Enterprise Pagina 2 di 16 Manuale Amministratore Legalmail Enterprise Introduzione a Legalmail Enterprise...3
IT Project Management
IT Project Management Lezione 5 Software Sizing Estimation - Esercitazione Federica Spiga [email protected] A.A. 2010-2011 1 Elementi Base Il metodo dei Function Point consiste nell identificare
Logistica magazzino: Inventari
Logistica magazzino: Inventari Indice Premessa 2 Scheda rilevazioni 2 Registrazione rilevazioni 3 Filtro 3 Ricerca 3 Cancella 3 Stampa 4 Creazione rettifiche 4 Creazione rettifiche inventario 4 Azzeramento
Procedura SMS. Manuale Utente
Procedura SMS Manuale Utente INDICE: 1 ACCESSO... 4 1.1 Messaggio di benvenuto... 4 2 UTENTI...4 2.1 Gestione utenti (utente di Livello 2)... 4 2.1.1 Creazione nuovo utente... 4 2.1.2 Modifica dati utente...
Organizzazione degli archivi
COSA E UN DATA-BASE (DB)? è l insieme di dati relativo ad un sistema informativo COSA CARATTERIZZA UN DB? la struttura dei dati le relazioni fra i dati I REQUISITI DI UN DB SONO: la ridondanza minima i
Manuale Utente Albo Pretorio GA
Manuale Utente Albo Pretorio GA IDENTIFICATIVO DOCUMENTO MU_ALBOPRETORIO-GA_1.4 Versione 1.4 Data edizione 04.04.2013 1 TABELLA DELLE VERSIONI Versione Data Paragrafo Descrizione delle modifiche apportate
Mon Ami 3000 Varianti articolo Gestione di varianti articoli
Prerequisiti Mon Ami 3000 Varianti articolo Gestione di varianti articoli L opzione Varianti articolo è disponibile per le versioni Azienda Light e Azienda Pro e include tre funzionalità distinte: 1. Gestione
Generazione Automatica di Asserzioni da Modelli di Specifica
UNIVERSITÀ DEGLI STUDI DI MILANO BICOCCA FACOLTÀ DI SCIENZE MATEMATICHE FISICHE E NATURALI Corso di Laurea Magistrale in Informatica Generazione Automatica di Asserzioni da Modelli di Specifica Relatore:
Automazione Industriale (scheduling+mms) scheduling+mms. [email protected]
Automazione Industriale (scheduling+mms) scheduling+mms [email protected] Introduzione Sistemi e Modelli Lo studio e l analisi di sistemi tramite una rappresentazione astratta o una sua formalizzazione
Airone Gestione Rifiuti Funzioni di Esportazione e Importazione
Airone Gestione Rifiuti Funzioni di Esportazione e Importazione Airone Funzioni di Esportazione Importazione 1 Indice AIRONE GESTIONE RIFIUTI... 1 FUNZIONI DI ESPORTAZIONE E IMPORTAZIONE... 1 INDICE...
GUIDA RAPIDA PER LA COMPILAZIONE DELLA SCHEDA CCNL GUIDA RAPIDA PER LA COMPILAZIONE DELLA SCHEDA CCNL
GUIDA RAPIDA BOZZA 23/07/2008 INDICE 1. PERCHÉ UNA NUOVA VERSIONE DEI MODULI DI RACCOLTA DATI... 3 2. INDICAZIONI GENERALI... 4 2.1. Non modificare la struttura dei fogli di lavoro... 4 2.2. Cosa significano
Database. Si ringrazia Marco Bertini per le slides
Database Si ringrazia Marco Bertini per le slides Obiettivo Concetti base dati e informazioni cos è un database terminologia Modelli organizzativi flat file database relazionali Principi e linee guida
Excel. A cura di Luigi Labonia. e-mail: [email protected]
Excel A cura di Luigi Labonia e-mail: [email protected] Introduzione Un foglio elettronico è un applicazione comunemente usata per bilanci, previsioni ed altri compiti tipici del campo amministrativo
CORSO ACCESS PARTE II. Esistono diversi tipi di aiuto forniti con Access, generalmente accessibili tramite la barra dei menu (?)
Ambiente Access La Guida di Access Esistono diversi tipi di aiuto forniti con Access, generalmente accessibili tramite la barra dei menu (?) Guida in linea Guida rapida Assistente di Office indicazioni
Manuale Utente Amministrazione Trasparente GA
Manuale Utente GA IDENTIFICATIVO DOCUMENTO MU_AMMINISTRAZIONETRASPARENTE-GA_1.0 Versione 1.0 Data edizione 03.05.2013 1 Albo Pretorio On Line TABELLA DELLE VERSIONI Versione Data Paragrafo Descrizione
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
Regione Toscana. ARPA Fonte Dati. Manuale Amministratore. L. Folchi (TAI) Redatto da
ARPA Fonte Dati Regione Toscana Redatto da L. Folchi (TAI) Rivisto da Approvato da Versione 1.0 Data emissione 06/08/13 Stato DRAFT 1 Versione Data Descrizione 1,0 06/08/13 Versione Iniziale 2 Sommario
In questo manuale sono indicate le procedure per utilizzare correttamente la gestione delle offerte dei fornitori.
Release 5.20 Manuale Operativo ORDINI PLUS Gestione delle richieste di acquisto In questo manuale sono indicate le procedure per utilizzare correttamente la gestione delle offerte dei fornitori. La gestione
Guida Compilazione Piani di Studio on-line
Guida Compilazione Piani di Studio on-line SIA (Sistemi Informativi d Ateneo) Visualizzazione e presentazione piani di studio ordinamento 509 e 270 Università della Calabria (Unità organizzativa complessa-
SOFTWARE A SUPPORTO DELLA GESTIONE AMMINISTRATIVA DELLO SPORTELLO UNICO SPECIFICA DEI REQUISITI UTENTE
Pag. 1 di 16 SOFTWARE A SUPPORTO DELLA (VERS. 3.1) Specifica dei Requisiti Utente Funzionalità di associazione di più Richiedenti ad un procedimento Codice Identificativo VERIFICHE ED APPROVAZIONI CONTROLLO
Gestione Risorse Umane Web
La gestione delle risorse umane Gestione Risorse Umane Web Generazione attestati di partecipazione ai corsi di formazione (Versione V03) Premessa... 2 Configurazione del sistema... 3 Estrattore dati...
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)
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
4.5 CONTROLLO DEI DOCUMENTI E DEI DATI
Unione Industriale 35 di 94 4.5 CONTROLLO DEI DOCUMENTI E DEI DATI 4.5.1 Generalità La documentazione, per una filatura conto terzi che opera nell ambito di un Sistema qualità, rappresenta l evidenza oggettiva
Piano di gestione della qualità
Piano di gestione della qualità Pianificazione della qualità Politica ed obiettivi della qualità Riferimento ad un eventuale modello di qualità adottato Controllo della qualità Procedure di controllo.
IL SOFTWARE SECONDO LA NORMA UNI EN ISO 13849-1:2008 (IIA PARTE) 1
Ernesto Cappelletti (ErnestoCappelletti) IL SOFTWARE SECONDO LA NORMA UNI EN ISO 13849-1:2008 (IIA PARTE) 6 April 2012 1. Requisiti per la scrittura del software secondo la norma UNI EN ISO 13849-1:2008
Introduzione alla teoria dei database relazionali. Come progettare un database
Introduzione alla teoria dei database relazionali Come progettare un database La struttura delle relazioni Dopo la prima fase di individuazione concettuale delle entità e degli attributi è necessario passare
Il database management system Access
Il database management system Access Corso di autoistruzione http://www.manualipc.it/manuali/ corso/manuali.php? idcap=00&idman=17&size=12&sid= INTRODUZIONE Il concetto di base di dati, database o archivio
Corso di Ingegneria del Software. Metriche Parte I
Corso di Ingegneria del Software a.a. 2009/2010 Mario Vacca [email protected] Concetti di base Metriche Sommario 1. Concetti di base 2. METRICHE DIMENSIONALI 3. 4. METRICHE STRUTTURALI 5. Bibliografia
BASI DI DATI per la gestione dell informazione. Angelo Chianese Vincenzo Moscato Antonio Picariello Lucio Sansone
BASI DI DATI per la gestione dell informazione Angelo Chianese Vincenzo Moscato Antonio Picariello Lucio Sansone Libro di Testo 22 Chianese, Moscato, Picariello e Sansone BASI DI DATI per la Gestione dell
Introduzione alle basi di dati. Gestione delle informazioni. Gestione delle informazioni. Sistema informatico
Introduzione alle basi di dati Introduzione alle basi di dati Gestione delle informazioni Base di dati Modello dei dati Indipendenza dei dati Accesso ai dati Vantaggi e svantaggi dei DBMS Gestione delle
Progetto: ARPA Fonte Dati. ARPA Fonte Dati. Regione Toscana. Manuale Amministratore
ARPA Fonte Dati Regione Toscana 1 Redatto da L. Folchi (TAI) Rivisto da Approvato da Versione 1.1 Data emissione 09/10/13 Stato FINAL 2 Versione Data Descrizione 1,0 06/08/13 Versione Iniziale 1.1 09/10/2013
Sostituto abilitato Entratel con più sedi: ricezione diretta e incarico ad intermediario abilitato
FAQ Flusso telematico dei modelli 730-4 D.M. 31 maggio 1999, n. 164 Comunicazione dei sostituti d imposta per la ricezione telematica, tramite l Agenzia delle entrate, dei dati dei 730-4 relativi ai mod.
Database 1 biblioteca universitaria. Testo del quesito
Database 1 biblioteca universitaria Testo del quesito Una biblioteca universitaria acquista testi didattici su indicazione dei professori e cura il prestito dei testi agli studenti. La biblioteca vuole
MANUALE MOODLE STUDENTI. Accesso al Materiale Didattico
MANUALE MOODLE STUDENTI Accesso al Materiale Didattico 1 INDICE 1. INTRODUZIONE ALLA PIATTAFORMA MOODLE... 3 1.1. Corso Moodle... 4 2. ACCESSO ALLA PIATTAFORMA... 7 2.1. Accesso diretto alla piattaforma...
Gestione Turni. Introduzione
Gestione Turni Introduzione La gestione dei turni di lavoro si rende necessaria quando, per garantire la continuità del servizio di una determinata struttura, è necessario che tutto il personale afferente
EXPLOit Content Management Data Base per documenti SGML/XML
EXPLOit Content Management Data Base per documenti SGML/XML Introduzione L applicazione EXPLOit gestisce i contenuti dei documenti strutturati in SGML o XML, utilizzando il prodotto Adobe FrameMaker per
Archivi e database. Prof. Michele Batocchi A.S. 2013/2014
Archivi e database Prof. Michele Batocchi A.S. 2013/2014 Introduzione L esigenza di archiviare (conservare documenti, immagini, ricordi, ecc.) è un attività senza tempo che è insita nell animo umano Primi
Indice generale. OOA Analisi Orientata agli Oggetti. Introduzione. Analisi
Indice generale OOA Analisi Orientata agli Oggetti Introduzione Analisi Metodi d' analisi Analisi funzionale Analisi del flusso dei dati Analisi delle informazioni Analisi Orientata agli Oggetti (OOA)
Dipartimento per le Libertà Civili e l Immigrazione
Dipartimento per le Libertà Civili e l Immigrazione SUI Sportello Unico Immigrazione Sistema inoltro telematico Manuale utente Versione 9 Data aggiornamento 19/11/2010 17.19.00 Pagina 1 (1) Sommario 1.
CP Customer Portal. Sistema di gestione ticket unificato
CP Customer Portal Sistema di gestione ticket unificato Sommario CP Customer Portal...1 Sistema di gestione ticket unificato...1 Sommario...2 Flusso gestione ticket...3 Modalità di apertura ticket...3
Manuale d'uso. Manuale d'uso... 1. Primo utilizzo... 2. Generale... 2. Gestione conti... 3. Indici di fatturazione... 3. Aliquote...
Manuale d'uso Sommario Manuale d'uso... 1 Primo utilizzo... 2 Generale... 2 Gestione conti... 3 Indici di fatturazione... 3 Aliquote... 4 Categorie di prodotti... 5 Prodotti... 5 Clienti... 6 Fornitori...
A intervalli regolari ogni router manda la sua tabella a tutti i vicini, e riceve quelle dei vicini.
Algoritmi di routing dinamici (pag.89) UdA2_L5 Nelle moderne reti si usano algoritmi dinamici, che si adattano automaticamente ai cambiamenti della rete. Questi algoritmi non sono eseguiti solo all'avvio
Mon Ami 3000 Centri di costo Contabilità analitica per centri di costo/ricavo e sub-attività
Prerequisiti Mon Ami 000 Centri di costo Contabilità analitica per centri di costo/ricavo e sub-attività L opzione Centri di costo è disponibile per le versioni Contabilità o Azienda Pro. Introduzione
LA GESTIONE DELLE VISITE CLIENTI VIA WEB
LA GESTIONE DELLE VISITE CLIENTI VIA WEB L applicazione realizzata ha lo scopo di consentire agli agenti l inserimento via web dei dati relativi alle visite effettuate alla clientela. I requisiti informatici
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
Progettazione di Basi di Dati
Progettazione di Basi di Dati Prof. Nicoletta D Alpaos & Prof. Andrea Borghesan Entità-Relazione Progettazione Logica 2 E il modo attraverso il quale i dati sono rappresentati : fa riferimento al modello
03. Il Modello Gestionale per Processi
03. Il Modello Gestionale per Processi Gli aspetti strutturali (vale a dire l organigramma e la descrizione delle funzioni, ruoli e responsabilità) da soli non bastano per gestire la performance; l organigramma
Dipartimento per le Libertà Civili e l Immigrazione
Dipartimento per le Libertà Civili e l Immigrazione Sistema inoltro telematico Manuale utente Versione 10 Data aggiornamento: 14/09/2012 Pagina 1 (25) Sommario 1. Il sistema di inoltro telematico delle
Progetto NoiPA per la gestione giuridicoeconomica del personale delle Aziende e degli Enti del Servizio Sanitario della Regione Lazio
Progetto NoiPA per la gestione giuridicoeconomica del personale delle Aziende e degli Enti del Servizio Sanitario della Regione Lazio Pillola operativa Integrazione Generazione Dettagli Contabili INFORMAZIONI
NOTE OPERATIVE. Prodotto Inaz Download Manager. Release 1.3.0
Prodotto Inaz Download Manager Release 1.3.0 Tipo release COMPLETA RIEPILOGO ARGOMENTI 1. Introduzione... 2 2. Architettura... 3 3. Configurazione... 4 3.1 Parametri di connessione a Internet... 4 3.2
CONTROLLO DI GESTIONE DELLO STUDIO
CONTROLLO DI GESTIONE DELLO STUDIO Con il controllo di gestione dello studio il commercialista può meglio controllare le attività svolte dai propri collaboratori dello studio nei confronti dei clienti
TFR On Line PREMESSA
PREMESSA Argo TFR on Line è un applicazione, finalizzata alla gestione del trattamento di fine rapporto, progettata e realizzata per operare sul WEB utilizzando la rete INTERNET pubblica ed il BROWSER
Progettaz. e sviluppo Data Base
Progettaz. e sviluppo Data Base! Progettazione Basi Dati: Metodologie e modelli!modello Entita -Relazione Progettazione Base Dati Introduzione alla Progettazione: Il ciclo di vita di un Sist. Informativo
Registratori di Cassa
modulo Registratori di Cassa Interfacciamento con Registratore di Cassa RCH Nucleo@light GDO BREVE GUIDA ( su logiche di funzionamento e modalità d uso ) www.impresa24.ilsole24ore.com 1 Sommario Introduzione...
Lezione 8. La macchina universale
Lezione 8 Algoritmi La macchina universale Un elaboratore o computer è una macchina digitale, elettronica, automatica capace di effettuare trasformazioni o elaborazioni su i dati digitale= l informazione
Banca dati Professioniste in rete per le P.A. Guida all uso per le Professioniste
Banca dati Professioniste in rete per le P.A. Guida all uso per le Professioniste versione 2.1 24/09/2015 aggiornamenti: 23-set-2015; 24-set-2015 Autore: Francesco Brunetta (http://www.francescobrunetta.it/)
Sistema Banca dati e Repertorio dei dispositivi medici Notifiche multiple di DM simili
Sistema Banca dati e Repertorio dei dispositivi medici Notifiche multiple di DM simili Questa presentazione intende illustrare brevemente la nuova funzionalità (Notifiche multiple di DM simili) predisposta
MODULO 5 Appunti ACCESS - Basi di dati
MODULO 5 Appunti ACCESS - Basi di dati Lezione 1 www.mondopcnet.com Modulo 5 basi di dati Richiede che il candidato dimostri di possedere la conoscenza relativa ad alcuni concetti fondamentali sui database.
Regione Piemonte Portale Rilevazioni Crediti EELL Manuale Utente
Pag. 1 di 15 VERS V01 REDAZIONE VERIFICHE E APPROVAZIONI CONTROLLO APPROVAZIONE AUTORIZZAZIONE EMISSIONE NOME DATA NOME DATA NOME DATA A. Marchisio C. Pernumian 29/12/2014 M. Molino 27/02/2015 M. Molino
Strutturazione logica dei dati: i file
Strutturazione logica dei dati: i file Informazioni più complesse possono essere composte a partire da informazioni elementari Esempio di una banca: supponiamo di voler mantenere all'interno di un computer
Capitolo 13. Interrogare una base di dati
Capitolo 13 Interrogare una base di dati Il database fisico La ridondanza è una cosa molto, molto, molto brutta Non si devono mai replicare informazioni scrivendole in più posti diversi nel database Per
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
Finalità della soluzione... 3. Schema generale e modalità d integrazione... 4. Gestione centralizzata in TeamPortal... 6
Finalità della soluzione... 3 Schema generale e modalità d integrazione... 4 Gestione centralizzata in TeamPortal... 6 Dati gestiti dall Anagrafica Unica... 8 Gestione anagrafica... 9 Storicizzazione...
Università Politecnica delle Marche. Progetto Didattico
Università Politecnica delle Marche Facoltà di Ingegneria Corso di Laurea in Ingegneria Informatica e dell Automazione Sede di Ancona Anno Accademico 2011-2012 Corso di Tecnologie WEB Docente prof. Alessandro
11. Evoluzione del Software
11. Evoluzione del Software Andrea Polini Ingegneria del Software Corso di Laurea in Informatica (Ingegneria del Software) 11. Evoluzione del Software 1 / 21 Evoluzione del Software - generalità Cosa,
Analisi sensitività. Strumenti per il supporto alle decisioni nel processo di Valutazione d azienda
Analisi sensitività. Strumenti per il supporto alle decisioni nel processo di Valutazione d azienda Premessa Con l analisi di sensitività il perito valutatore elabora un range di valori invece di un dato
COLLI. Gestione dei Colli di Spedizione. Release 5.20 Manuale Operativo
Release 5.20 Manuale Operativo COLLI Gestione dei Colli di Spedizione La funzione Gestione Colli consente di generare i colli di spedizione in cui imballare gli articoli presenti negli Ordini Clienti;
I casi d uso corrispondono ai compiti che l attore (che può essere una persona fisica e non) può svolgere.
UML e i Casi d USO I casi d uso specificano una sequenza di azioni che producono un risultato visibile agli attori del sistema. Essi nascono per fornire descrizioni delle capacità del sistema. I casi d
SOFTWARE PER LA RILEVAZIONE DEI TEMPI PER CENTRI DI COSTO
SOFTWARE PER LA RILEVAZIONE DEI TEMPI PER CENTRI DI COSTO Descrizione Nell ambito della rilevazione dei costi, Solari con l ambiente Start propone Time&Cost, una applicazione che contribuisce a fornire
EXCEL PER WINDOWS95. sfruttare le potenzialità di calcolo dei personal computer. Essi si basano su un area di lavoro, detta foglio di lavoro,
EXCEL PER WINDOWS95 1.Introduzione ai fogli elettronici I fogli elettronici sono delle applicazioni che permettono di sfruttare le potenzialità di calcolo dei personal computer. Essi si basano su un area
Siamo così arrivati all aritmetica modulare, ma anche a individuare alcuni aspetti di come funziona l aritmetica del calcolatore come vedremo.
DALLE PESATE ALL ARITMETICA FINITA IN BASE 2 Si è trovato, partendo da un problema concreto, che con la base 2, utilizzando alcune potenze della base, operando con solo addizioni, posso ottenere tutti
Soluzione dell esercizio del 2 Febbraio 2004
Soluzione dell esercizio del 2 Febbraio 2004 1. Casi d uso I casi d uso sono riportati in Figura 1. Figura 1: Diagramma dei casi d uso. E evidenziato un sotto caso di uso. 2. Modello concettuale Osserviamo
Centro Acquisti per la Pubblica Amministrazione EmPULIA. Linee guida per gli Enti Aderenti. Procedure Negoziate: Richiesta di Preventivo. Versione 2.
Centro Acquisti per la Pubblica Amministrazione EmPULIA Linee guida per gli Enti Aderenti Procedure Negoziate: Richiesta di Preventivo Versione 2.4 PROCEDURE NEGOZIATE - Richiesta di Preventivo E la funzione
RIFERIMENTI ATTORI GLOSSARIO. ERRORI COMUNI REV. REQUISITI INGEGNERIA DEL SOFTWARE Università degli Studi di Padova
RIFERIMENTI ERRORI COMUNI REV. REQUISITI INGEGNERIA DEL SOFTWARE Università degli Studi di Padova Dipartimento di Matematica Corso di Laurea in Informatica, A.A. 2014 2015 I riferimenti devono essere precisi
Gestione del workflow
Gestione del workflow Stefania Marrara Corso di Tecnologie dei Sistemi Informativi 2004/2005 Progettazione di un Sistema Informativo Analisi dei processi Per progettare un sistema informativo è necessario
Scheduling della CPU. Sistemi multiprocessori e real time Metodi di valutazione Esempi: Solaris 2 Windows 2000 Linux
Scheduling della CPU Sistemi multiprocessori e real time Metodi di valutazione Esempi: Solaris 2 Windows 2000 Linux Sistemi multiprocessori Fin qui si sono trattati i problemi di scheduling su singola
SISTEMA DI GESTIONE PER LA QUALITA Capitolo 4
1. REQUISITI GENERALI L Azienda DSU Toscana si è dotata di un Sistema di gestione per la qualità disegnato in accordo con la normativa UNI EN ISO 9001:2008. Tutto il personale del DSU Toscana è impegnato
Mon Ami 3000 Provvigioni agenti Calcolo delle provvigioni per agente / sub-agente
Prerequisiti Mon Ami 3000 Provvigioni agenti Calcolo delle provvigioni per agente / sub-agente L opzione Provvigioni agenti è disponibile per le versioni Vendite, Azienda Light e Azienda Pro. Introduzione
La progettazione centrata sull utente nei bandi di gara
Progetto PerformancePA Ambito A - Linea 1 - Una rete per la riforma della PA La progettazione centrata sull utente nei bandi di gara Autore: Maurizio Boscarol Creatore: Formez PA, Progetto Performance
UTILIZZATORI A VALLE: COME RENDERE NOTI GLI USI AI FORNITORI
UTILIZZATORI A VALLE: COME RENDERE NOTI GLI USI AI FORNITORI Un utilizzatore a valle di sostanze chimiche dovrebbe informare i propri fornitori riguardo al suo utilizzo delle sostanze (come tali o all
Informatica 3. Informatica 3. LEZIONE 10: Introduzione agli algoritmi e alle strutture dati. Lezione 10 - Modulo 1. Importanza delle strutture dati
Informatica 3 Informatica 3 LEZIONE 10: Introduzione agli algoritmi e alle strutture dati Modulo 1: Perchè studiare algoritmi e strutture dati Modulo 2: Definizioni di base Lezione 10 - Modulo 1 Perchè
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
GESTIONE CONTRATTI. Contratti clienti e contratti fornitori
SPRING - CONTRATTI La Gestione Contratti di SPRING, in un'azienda, risolve le esigenze relative alla rilevazione dei contratti e delle relative condizioni. In particolare è possibile definire i servizi
Tutte le interrogazioni possono essere condotte su qualsiasi campo della banca dati (ad esempio, Forma, Frequenza, Lunghezza, ecc...).
ESEMPIO DI QUERY SUL FILE Formario_minuscolo Tutte le interrogazioni possono essere condotte su qualsiasi campo della banca dati (ad esempio, Forma, Frequenza, Lunghezza, ecc...). Durante l interrogazione,
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
CONTENT MANAGEMENT SY STEM
CONTENT MANAGEMENT SY STEM I NDI CE I NTRODUZI ONE Accesso al CMS 1) CONTENUTI 1.1 I nserimento, modifica e cancellazione dei contenuti 1.2 Sezioni, categorie e sottocategorie 2) UTENTI 3) UP LOAD FILES
Funzioni in C. Violetta Lonati
Università degli studi di Milano Dipartimento di Scienze dell Informazione Laboratorio di algoritmi e strutture dati Corso di laurea in Informatica Funzioni - in breve: Funzioni Definizione di funzioni
ISTRUZIONI PER LA GESTIONE BUDGET
ISTRUZIONI PER LA GESTIONE BUDGET 1) OPERAZIONI PRELIMINARI PER LA GESTIONE BUDGET...1 2) INSERIMENTO E GESTIONE BUDGET PER LA PREVISIONE...4 3) STAMPA DIFFERENZE CAPITOLI/BUDGET.10 4) ANNULLAMENTO BUDGET
Progetto Campo Base. Università degli Studi di L Aquila. Facoltà di Ingegneria. Corso di Laurea in Ingegneria Elettronica Corso di Sistemi Informativi
Università degli Studi di L Aquila Facoltà di Ingegneria Corso di Laurea in Ingegneria Elettronica Corso di Sistemi Informativi Prof. Gaetanino Paolone Dott. Ottavio Pascale a.a.2003-2004 Progetto Campo
CHIUSURE di MAGAZZINO di FINE ANNO
CHIUSURE di MAGAZZINO di FINE ANNO Operazioni da svolgere per il riporto delle giacenze di fine esercizio Il documento che segue ha lo scopo di illustrare le operazioni che devono essere eseguite per:
Guida alla registrazione on-line di un DataLogger
NovaProject s.r.l. Guida alla registrazione on-line di un DataLogger Revisione 3.0 3/08/2010 Partita IVA / Codice Fiscale: 03034090542 pag. 1 di 17 Contenuti Il presente documento è una guida all accesso
