libro

59
Università degli studi di Catania Facoltà di Scienze Matematiche, Fisiche e Naturali Corso di laurea in Informatica applicata Relazione ingegneria del software prof. Giuseppe Scollo U U U L L L M M M S S S U U U N N N i i i V V V E E E R R R S S S i i i T T T Y Y Y L L L i i i B B B R R R A A A R R R Y Y Y M M M A A A N N N A A A G G G E E E M M M E E E N N N T T T S S S Y Y Y S S S T T T E E E M M M di Canzonieri Matteo, Giummarra Andrea, Roberto Fabiano matr. A40/000030, A40/000061, A40/000081 A.A. 2007/2008

description

libro

Transcript of libro

  • Universit degli studi di Catania

    Facolt di Scienze Matematiche, Fisiche e Naturali Corso di laurea in Informatica applicata

    Relazione ingegneria del software

    prof. Giuseppe Scollo

    UUULLLMMMSSS UUUNNNiiiVVVEEERRRSSSiiiTTTYYY LLLiiiBBBRRRAAARRRYYY MMMAAANNNAAAGGGEEEMMMEEENNNTTT SSSYYYSSSTTTEEEMMM

    di Canzonieri Matteo, Giummarra Andrea, Roberto Fabiano matr. A40/000030, A40/000061, A40/000081

    A.A. 2007/2008

  • Relazione Ingegneria del Software

    ULMS University Library Management System

    - 2 -

  • Relazione Ingegneria del Software

    ULMS University Library Management System

    - 3 -

    Sommario

    1. Introduzione 5

    2. Progettazione e piano operativo 6

    2.1 Analisi dei requisiti 6

    2.2 Progettazione 6

    2.2.1 Sviluppo 6

    2.3 Collaudo 7

    2.4 Manutenzione 7

    3. Principi di accessibilit di siti web 8

    4. Principi per la qualit di un sito web culturale 11

    5. Specifiche di qualit dei siti web pubblici culturali 12

    6. Usabilit per la comunicazione pubblica 13

    6.1 La definizione ISO 13

    6.2 I tre settori dellusabilit 13

    6.2.1 Larchitettura informativa 14

    6.2.2 La progettazione dellinterfaccia grafica 14

    6.2.3 Lanalisi dei flussi interattivi 14

    6.3 Principi del buon design 15

    7. Pianificazione di risorse per la produzione software 16

    7.1 Studio di fattibilit 16

    7.1.1 Obiettivi del prodotto 17

    7.1.2 Strategie e politiche di UMLS: ciclo di vita del processo 18

    7.1.3 Identificazione e allocazione delle risorse 19

    7.1.4 Stima di massima di tempi e mesi-uomo 20

    7.1.1 Stima di massima dei costi 22

    7.2 Piano operativo 23

    7.2.1 Scheduling delle attivit 23

    7.2.2 Diagramma PERT 25

    8. Evoluzione del software 26

    8.1 Stima e valutazione dei rischi di ULMS 26

    9. Analisi, modellazione e specifica dei requisiti 27

    9.1 Sistema corrente 27

    9.2 Requisiti funzionali 27

    9.3 Requisiti non funzionali 28

    9.3.1 Interfaccia utente e fattore umano 28

    9.3.2 Documentazione 28

    9.3.3 Considerazioni Hardware 28

  • Relazione Ingegneria del Software

    ULMS University Library Management System

    - 4 -

    9.3.4 Prestazioni Hardware 29

    9.3.5 Interfaccia del sistema 29

    10. Analisi dei requisiti funzionali 30

    10.1 Diagramma di contesto del sistema 30

    10.2 Diagramma delle funzionalit offerte dal sistema 31

    10.3 Diagramma della funzionalit di impiegato 34

    11. Architettura software 38

    11.1 Tipi e caratteristiche degli stili di architetture software 38

    11.1.1 Architettura dataflow 38

    11.1.2 Architettura ad astrazione di dati (od orientata agli oggetti) 39

    11.1.3 Architettura event-driven (oppure ad invocazione implicita) 40

    11.1.4 Architettura stratificata 41

    11.1.5 Architettura basata su repository 43

    11.1.6 Architettura basata su interprete 44

    12. Accenni al collaudo software 45

    13. Modello di stima dei costi e tempo di produzione del software 46

    13.1 Modello base 46

    13.2 Modello intermedio 47

    13.3 Metodo dei punti funzione (Albrecht) 47

    14. Progettazione dellArchitettura del software 49

    14.1 Diagramma delle classi 49

    14.2 Diagrammi di sequenza 53

    14.3 Diagrammi degli stati 55

    14.4 Diagrammi delle attivit 56

    15. Conclusioni 57

    16. Bibliografia 58

  • Relazione Ingegneria del Software

    ULMS University Library Management System

    - 5 -

    1. Introduzione (Canzonieri Matteo, Giummarra Andrea, Roberto Fabiano)

    LIngegneria del Software una branca dellingegneria che ha come oggetto di studio lo

    sviluppo delle migliori metodologie da utilizzare come metodo di sviluppo di sistemi

    software di ogni genere, a partire da un semplice sito web fino ad arrivare agli applicativi

    pi complessi.

    ULMS si propone di supportare la gestione di una libreria universitaria al fine di

    migliorarne lefficienza in tutte le sue attivit cio nella:

    Vendita dei libri

    Gestione del magazzino

    Acquisizione dei libri

    Le tre figure fondamentali per la sua gestione sono:

    Addetto alle vendite (commesso) che consulta le disponibilit in magazzino,

    registra le vendite ed effettua le prenotazioni dei libri in funzione delle esigenze dei

    clienti

    Addetto al magazzino (magazziniere) il quale deve poter registrare le consegne dei

    libri specificandone lordine

    Addetto agli ordini (gestore ordini) che si occupa di generare ed inoltrare gli ordini

    in funzione del periodo e delle previsioni di vendita e di gestire il database dei libri

    inserendo alloccorrenza nuovi testi e rimuovendo quelli non pi prodotti. Inoltre si

    occupa di associare ai libri i corsi universitari che li adottano in modo da avere

    sempre una visione di quando pi utile incrementare la scorta di magazzino.

  • Relazione Ingegneria del Software

    ULMS University Library Management System

    - 6 -

    2. Progettazione e piano operativo (Roberto Fabiano)

    Lo sviluppo di ogni applicativo o sistema web-based passa da quattro fasi fondamentali

    definite dallingegneria del software:

    Analisi dei requisiti

    Progettazione

    o Sviluppo

    Collaudo

    Manutenzione

    A volte si parla pi comunemente di ciclo di vita del software.

    2.1 Analisi dei requisiti

    In una prima fase opportuno domandarsi cosa lutente cerca dal nostro software, quali

    risultati voglia ottenere e come verr impiegato una volta che il software sar completato.

    Al termine di questa prima fase, si andr a produrre una documentazione dettagliata sulle

    specifiche dei dati ed un manuale duso. Andando a produrre questa documentazione si

    eviter il problema di dimenticare dettagli importanti utili alle fasi successive.

    2.2 Progettazione

    In questa seconda fase si vuole cercare un mezzo per poter soddisfare a pieno tutte le

    specifiche derivanti allanalisi dei requisiti. Durante tale fase si andranno a ricercare gli

    elementi generali per la realizzazione dellobiettivo, mentre nella fase successiva di

    sviluppo, si andr a raffinare il codice derivante da questa fase.

    2.2.1 Sviluppo

    La fase di sviluppo (o detta anche coding) quella dove si iniziano a tradurre le idee in

    codice. Molto spesso per la complessit del progetto preferibile dividere questa fase in

    due sottofasi:

    fase di creazione di moduli base

    fase di integrazione dei moduli creati

  • Relazione Ingegneria del Software

    ULMS University Library Management System

    - 7 -

    Nella fase di creazione di moduli, il codice viene spezzato in pi parti indipendenti in

    modo da avere una panoramica delle porzioni di codice ottenendo applicativi semplici e

    funzionali.

    Nella fase di integrazione dei moduli andremo ad unire i vari blocchi creati per ottenere

    cos il progetto finale.

    2.3 Collaudo

    In questa fase che vengono eseguiti i test di conformit del progetto e la verifica del

    rispetto delle specifiche iniziali. In questo momento possibile verificare se la richiesta da

    parte dellutente finale (fatta nellanalisi dei requisiti) fattibile in pratica.

    I test da effettuare si propongono di:

    confermare la correttezza del software creato

    verificare che tutto sia conforme alle specifiche fornite dal cliente.

    Ancora in fase di collaudo possono essere rilasciate alfa test e beta test. Mentre il primo

    rilasciato allinterno dellazienda stessa (e i programmatori fungono da utenti finali), il

    secondo rilasciato in modalit gratuita al grande pubblico con lo scopo di andare ad

    individuare errori non pervenuti nella fase di collaudo interna. Spesso queste ultime

    possono contenere vicoli di usabilit come date di scadenza.

    2.4 Manutenzione

    La fase pi lunga questultima, quella di manutenzione, dove lazienda rilascia

    aggiornamenti e nuove versioni al fine di andare a migliorare il programma, correggerne

    bug, implementarlo su altre piattaforme, aggiungerne nuove funzionalit.

    Questultima fase, incide sul 60% dei costi totali del progetto in quanto ad ogni modifica

    del codice dovr essere rieseguita la fase di testing sul prodotto semi-finito.

  • Relazione Ingegneria del Software

    ULMS University Library Management System

    - 8 -

    3. Principi di accessibilit dei siti web (Roberto Fabiano)

    "The power of the Web is in its universality.

    Access by everyone regardless of disability is an essential aspect."

    (Tim Berners-Lee, direttore del Consorzio W3C e ideatore del World Wide Web)

    L'accessibilit uno strumento fondamentale affinch un sito web sia usabile da parte di

    tutti. Tale requisito regolamentato dalla legge Stanca (conosciuta anche come Legge

    sull'Usabilit) approvata dal governo Italiano il 17 Dicembre 2003 col titolo Disposizioni

    per favorire l'accesso dei soggetti disabili agli strumenti informatici (cf. Gazzetta ufficiale,

    legge 9 Gennaio 2004, n. 4).

    La presente legge si applica alle pubbliche amministrazioni, agli enti pubblici economici,

    alle aziende private concessionarie di servizi pubblici, alle aziende municipalizzate

    regionali, agli enti di assistenza e di riabilitazione pubblici, alle aziende di trasporto e di

    telecomunicazione e alle aziende appaltatrici di servizi informatici. Alla data di entrata in

    vigore del decreto, in caso di rinnovo, modifica o creazione tutti i siti che non rispettano le

    disposizioni della presente legge circa il rispetto dei requisiti di accessibilit verranno

    annullati.

    Allegato al decreto legge Stanca vi una documentazione specificante le Linee Guida da

    seguire per la realizzazione di siti web accessibili.

    Allo scopo di accertare la conformit della pagina Web o della applicazione Web-based si

    suggerisce una metodologia di valutazione che fa ricorso dei seguenti passi:

    1. Verifica con sistemi di validazione automatica attraverso il servizio di validazione

    delle grammatiche formali fornito dal W3C (http://validator.w3.org/)

    2. Esame della pagina con diversi browser grafici, in differenti versioni e in diversi

    sistemi operativi per verificare che contenuto e funzionalit presenti in una pagina

    siano gli stessi nei vari browser, che disattivando il caricamento delle immagini,

    fogli di stile, script, applet, contenuto e funzionalit siano ancora fruibili, che

    disattivando il suono, i contenuti di eventuali file audio siano fruibili in altra forma;

    Diverse agevolazioni sono previste per utenti disabili in maniera da non compromettere la

  • Relazione Ingegneria del Software

    ULMS University Library Management System

    - 9 -

    loro permanenza su internet. Si tratta di strumenti come lenti di ingrandimento, speaker

    vocali che leggono il testo a schermo, sistemi di puntamento alternativi a mouse o tastiera.

    Quindi i due punti cardine dell'accessibilit sono i seguenti:

    capacit di trasformazione dei documenti secondo le caratteristiche proprie del

    browser o fissate dall'autore per la lettura.

    facilit di orientamento, di navigazione e di comprensione all'interno dei

    documenti.

    La prima delle due linee guida indica la propriet insita in una pagina di potersi adeguare

    alle diverse modalit di rilettura rendendo le pagine auto-adattanti alle diverse

    piattaforme dell'utente. I principi di base sono:

    fornire testo alternativo ad immagini, applet e mappe immagini

    fornire una descrizione pi accurata per grafici, script o applet importanti se risulta

    inadeguata quella fatta per mezzo del testo alternativo o dal contesto del

    documento

    fornire l'equivalente testuale (didascalie) per le componenti audio la cui conoscenza

    indispensabile per la comprensione del documento. Si pu aggiungere una frase

    di testo sulla pagina che collega ad una trascrizione o descrizione dell'audio. In

    questo caso il link alla trascrizione dovrebbe apparire in una locazione altamente

    visibile come l'inizio della pagina.

    fornire descrizioni verbali dell'informazione visuale in movimento (filmati,

    animazioni, ecc)

    assicurarsi che testo e grafica siano percepibili e comprensibili anche se visualizzati

    senza colori.

    indicare l'architettura del documento con elementi strutturali e la visualizzazione

    con elementi di presentazione e style sheet.

    assicurarsi che le tabelle siano strutturate correttamente.

    assicurarsi che le pagine che usano le tecniche pi nuove, come gli style sheet ad

    esempio, si trasformino adeguatamente in un formato accessibile se quella tecnica

    non gestita o stata disabilitata.

    assicurarsi che gli oggetti o pagine in movimento (immagini animate), testo che

    scorre, o che si aggiornano automaticamente possano essere bloccate o poste in

    pausa.

    gli elementi che contengono delle proprie interfacce dovrebbero avere una propria

  • Relazione Ingegneria del Software

    ULMS University Library Management System

    - 10 -

    accessibilit costruita all'interno.

    usare caratteristiche che abilitino l'attivazione degli elementi della pagina attraverso

    dispositivi d'input diversi dal mouse (ad es. via tastiera o via voce).

    usare soluzioni temporanee di accessibilit finch la tecnologia assistiva ed i

    browser non si siano adeguati agli sviluppi del linguaggio HTML ed operino

    correttamente.

    fin dove possibile, usare le tecnologie W3C (specifiche e tecniche raccomandate e

    certificate dal consorzio W3C) in accordo con le linee guida. Laddove questo non

    possibile usare una versione alternativa del documento che risulti accessibile.

    La seconda linea guida invita a rendere massima la possibilit di utilizzo fornendo

    informazioni sul contesto e l'orientamento e semplificando la presentazione delle

    informazioni.

    In presenza di pagine complesse fornire informazioni sul contesto e

    sull'orientamento.

    Provvedere meccanismi che facilitino la navigazione all'interno del sito.

  • Relazione Ingegneria del Software

    ULMS University Library Management System

    - 11 -

    4. Principi per la qualit di un sito web culturale (Roberto Fabiano)

    Un sito Web di qualit deve:

    essere trasparente, definendo chiaramente sia l'identit e gli obiettivi del sito Web

    sia l'organismo responsabile della sua gestione;

    selezionare, digitalizzare, indicizzare, presentare e controllare i contenuti per creare

    un sito Web efficace per tutti gli utenti;

    implementare linee guida per le politiche di qualit del servizio per assicurare che il

    sito Web venga adeguatamente mantenuto e aggiornato;

    essere accessibile a tutti gli utenti, indipendentemente dalla tecnologie utilizzata o

    dalle loro disabilit, inclusi gli strumenti di navigazione, il contenuto e gli elementi

    interattivi;

    essere centrato sull'utente, tenendo conto delle sue esigenze, garantendo

    pertinenza della risposta e facilit d'uso attraverso meccanismi di valutazione e

    feedback;

    essere reattivo, consentendo agli utenti di contattare il sito e ricevere un'adeguata

    risposta. Se necessario, incoraggiare i quesiti, la condivisione dei dati e la

    discussione con e tra gli utenti;

    essere consapevoli dell'importanza del multilinguismo fornendo un livello minimo

    di accesso in pi di una lingua;

    impegnarsi a essere interoperabile all'interno delle reti culturali per consentire agli

    utenti di localizzare facilmente i contenuti e i servizi che rispondono alle loro

    necessit;

    essere gestito nel rispetto delle norme legali come il diritto di propriet intellettuale e la riservatezza e indicare chiaramente i termini e le condizioni di utilizzo del sito

    Web e dei suoi contenuti; adottare strategie e standard per assicurare che il sito Web e i suoi contenuti

    vengano conservati a lungo termine.

  • Relazione Ingegneria del Software

    ULMS University Library Management System

    - 12 -

    5. Specifiche di qualit dei siti web pubblici culturali (Roberto Fabiano)

    Il Web, con proprie espressioni concettuali, strumentali e di linguaggio si confronta con il

    settore della cultura, nel suo aspetto pubblico e specifico della tutela e valorizzazione del

    patrimonio culturale. Prima di addentrarci nel contesto utile specificare le entit

    partecipanti, chiarendo concetti, ambiti e soggetti.

    Soggetto culturale pubblico: ente, istituzione con la finalit di andare a produrre,

    conservare, tutelare e diffondere la cultura su ogni settore. Sono di interesse

    generale la sua storia, le finalit istituzionali, i contenuti culturali da esso prodotti.

    Applicazione Web culturale pubblica: realizzazione web di contenuti che

    riguardino il patrimonio culturale e scientifico, rappresentando adeguatamente

    lidentit e lattivit di un soggetto culturale pubblico, fornendo informazioni

    culturali e scientifiche, diventando strumento di formazione per leducazione e la

    ricerca scientifica.

    Utente: soggetto qualificato o meno che vada ad usufruire dellapplicazione web

    culturale pubblica. E una figura molto importante (in fase preliminare) al fine di

    definire gli aspetti cruciali della realizzazione web.

    I principi generali che deve avere unapplicazione Web nel settore della cultura sono quelli

    di:

    Adoperarsi per unampia diffusione della cultura

    Far parte di una comunit di soggetti culturali

    Approfittare dellefficacia dei nuovi canali di comunicazione

    Adottare un uso consapevole del Web

    Considerare la qualit come risultato del processo di incontro tra soggetti culturali e

    utenti.

  • Relazione Ingegneria del Software

    ULMS University Library Management System

    - 13 -

    6. Usabilit per la comunicazione pubblica (Roberto Fabiano)

    Per essere usabile un prodotto interattivo dovr:

    essere adeguato ai bisogni e alle aspettative di specifici utenti che lo utilizzano in

    specifici contesti d'uso;

    risultare facile da capire, da imparare, da usare ed essere gradevole;

    consentire di eseguire le specifiche attivit lavorative in maniera corretta, veloce e

    con soddisfazione;

    generare pochi errori non critici.

    6.1 La definizione ISO

    Lo standard ISO/IEC 9126 "Information technology - Software product evaluation -

    Quality characteristics and guidelines for their use" definisce l'usabilit come "la capacit

    del software di essere compreso, appreso, usato e gradito dall'utente quando usato in

    determinate condizioni".

    Lo standard ISO 9241-11 "Ergonomic requirements for office work with visual display terminals -

    Guidance on usability" invece, definisce l'usabilit come "il grado in cui un prodotto pu

    essere usato da classi di utenti per raggiungere specifici obiettivi con efficacia, efficienza e

    soddisfazione in un contesto d'uso determinato".

    6.2 I tre settori dellusabilit

    Figura 1: I tre settori dell'usabilit

  • Relazione Ingegneria del Software

    ULMS University Library Management System

    - 14 -

    L'usabilit racchiude tre grandi settori di analisi:

    l'architettura informativa;

    la progettazione dell'interfaccia grafica;

    l'analisi dei flussi interattivi.

    6.2.1 Larchitettura informativa

    L'architettura informativa chiarisce lobiettivo del prodotto, bilanciando le esigenze della

    produzione con quelle degli utenti, determinando quali contenuti e funzioni deve avere il

    prodotto, specificando come gli utenti saranno in grado di raggiungere le informazioni

    all'interno del prodotto, prevedendo come il prodotto possa evolvere e crescere nel corso

    del tempo.

    6.2.2 La progettazione dell'interfaccia grafica

    Il design di un prodotto informatico interattivo deve tenere conto soprattutto delle regole

    grafiche di usabilit. Nella progettazione dell'interfaccia grafica convogliano competenze e

    discipline di studio che svariano dal design alla psicologia percettiva, dai linguaggi e tool

    di sviluppo (Html, Flash, ecc), al tipo font utilizzato.

    6.2.3 L'analisi dei flussi interattivi Lo studio delle interazioni uomo-macchina mette in relazione l'usabilit con lergonomia.

    L'ergonomia lo studio dell'interazione uomo-strumenti-ambiente nel suo complesso.

    Pu essere riassunta come

    "un corpus di conoscenze interdisciplinari in grado di analizzare, progettare e valutare sistemi

    semplici o complessi in cui l'uomo figura come operatore o utente. Persegue coerenza e compatibilit

    tra il mondo che ci circonda - oggetti, servizi, ambienti di vita e di lavoro - ed esigenze di natura

    psicofisica e sociale, anche con l'obiettivo di migliorare l'efficienza e l'affidabilit dei sistemi"

    (Societ Italiana di Ergonomia).

    "L'interazione uomo-calcolatore una disciplina che riguarda la progettazione, la valutazione e

    l'implementazione di sistemi interattivi per l'uso da parte degli esseri umani e lo studio dei pi

    importanti fenomeni ad essi collegati".

  • Relazione Ingegneria del Software

    ULMS University Library Management System

    - 15 -

    6.3 Principi del buon design

    Figura 2: Modello progettuale e modello dellutente

    I principi di un buon design possono essere riassunti come:

    fornire buon modello concettuale (permette di prevedere gli effetti delle azioni;

    utile quando sorgono imprevisti o situazioni nuove)

    rendere visibili le cose (rendere quanto pi intuitivi i comandi e le loro funzioni)

    mapping (relazione tra azione e risultato finale)

    presenza del feedback (informazione di ritorno che dice all'utente quale azione ha

    effettivamente eseguito e quale risultato si realizzato).

  • Relazione Ingegneria del Software

    ULMS University Library Management System

    - 16 -

    7. Pianificazione di risorse per la produzione software (Giummarra Andrea)

    Al fine di valutare attentamente le risorse a disposizione per il raggiungimento degli

    obiettivi di qualit per la produzione di software e, dati determinati requisiti di sistema,

    importante conoscere inizialmente i prodotti e i processi coinvolti nel sistema ULMS.

    Nella seguente fase, dopo una breve definizione per la corretta distinzione dei termini

    prodotti e processi, vedremo come si articola lo studio di fattibilit per la

    pianificazione delle risorse.

    7.1 Studio di fattibilit

    I Prodotti sono il risultato di una determinata attivit di sviluppo; costituiscono ci che

    viene consegnato allutente finale, quindi linsieme delle opere fornite dallattivit stessa

    (applicativo software, documentazione, etc...). ULMS fornisce all'utente un software per la

    gestione di una libreria universitaria con la relativa documentazione. Il costo del software

    dominante sugli altri costi nello sviluppo di un sistema informatico. Nella vita di un

    prodotto software la manutenzione costa molto di pi dello sviluppo.

    ULMS si propone di poter garantire i seguenti requisiti del prodotto fornito:

    Manutenibilit: Deve essere possibile modificare il software in modo da soddisfare

    nuovi requisiti. Le sotto caratteristiche correlate sono:

    Analizzabilit: capacit di limitare impegno richiesto per diagnosticare

    carenze o cause di malfunzionamenti, o per identificare parti da modificare.

    Modificabilit: capacit di limitare limpegno richiesto per modificare,

    rimuovere errori o sostituire componenti.

    Stabilit: capacit di ridurre il rischio di comportamenti inaspettati a seguito

    della effettuazione di modifiche.

    Testabilit: capacit di essere facilmente testato per validare le modifiche

    apportate.

    Funzionalit: capacit di fornire servizi tali da soddisfare, in determinate

    condizioni, requisiti funzionali espliciti o impliciti (il software fa ci per fare il quale

    stato acquistato). Le sotto caratteristiche correlate sono:

    Adeguatezza: presenza di funzioni appropriate per compiti specifici che

    supportano obiettivi dellutente.

  • Relazione Ingegneria del Software

    ULMS University Library Management System

    - 17 -

    Accuratezza: capacit di fornire risultati corretti in accordo con i requisiti dati

    dallutente.

    Interoperabilit: capacit di interagire con altri sistemi.

    Sicurezza: capacit di proteggere programmi e dati da accessi non autorizzati

    e di consentire quelli autorizzati.

    Affidabilit: Nel caso di guasto, il software non deve produrre danni fisici od

    economici.

    Efficienza: Il software non deve fare un uso indiscriminato di memoria e tempo di

    calcolo.

    Facilit di utilizzo: Il software deve essere corredato di uninterfaccia utente e della

    documentazione appropriate. Le sotto caratteristiche correlate sono:

    Comprensibilit: capacit di ridurre limpegno richiesto agli utenti per capirne

    il funzionamento e le modalit di utilizzo.

    Apprendibilit: capacit di ridurre limpegno richiesto agli utenti per

    impararlo ad usare.

    Operabilit: capacit di mettere in condizione gli utenti di farne uso per i

    propri scopi e controllarne luso.

    Attrattivit/Piacevolezza: capacit di essere piacevole per lutente che ne fa

    uso.

    I Processi comprendono tutte le attivit che portano allo sviluppo di un certo prodotto; tra

    queste ci sono le scelte che caratterizzano il prodotto finale (scelta del supporto hardware,

    di metodologia di programmazione come il linguaggio da usare e il sistema operativo di

    supporto, etc...).

    7.1.1 Obiettivi del prodotto

    ULMS propone di realizzare un software che guidi gli impiegati della libreria nel loro

    lavoro.

    Il sistema si basa sulla gestione di un unico database cui ci si pu interfacciare in modo

    diverso in funzione del ruolo che lutilizzatore ha nella libreria.

    Questo database conterr:

    dati relativi al magazzino per gestire i suoi movimenti e per avere sempre una

    visione aggiornata della giacenze;

    dati relativi ai corsi universitari quali nome, numero di studenti, moduli di

  • Relazione Ingegneria del Software

    ULMS University Library Management System

    - 18 -

    svolgimento, testi consigliati o richiesti;

    dati circa la storia dellacquisto/vendita dei libri;

    dati relativi ai clienti per gestire le prenotazioni;

    dati statistici di vendita per facilitare gli ordini dei libri nei periodi di

    maggiore richiesta.

    7.1.2 Strategie e politiche di ULMS: ciclo di vita del processo

    Il processo di sviluppo del software integra i tre principali processi di sviluppo tra cui

    lIterative and Incremental; pertanto la realizzazione del sistema avviene attraverso cicli di

    iterazioni controllate, ognuna delle quali termina con la produzione di una nuova versione

    del sistema.

    Ogni ciclo costituito da quattro fasi: iniziale, elaborazione, costruzione e transizione,

    ognuna delle quali , a sua volta, suddivisa in iterazioni. Risultato di ogni ciclo la

    produzione di una nuova versione di ULMS virtualmente pronta per la consegna.

    Grosso vantaggio di questo criterio che anche il processo di verifica iterativo e

    incrementale: ogni volta che una nuova versione disponibile viene sottoposta a relativa

    fase di test. Ci dovrebbe favorire la produzione di sistemi di migliore qualit.

    Nel mondo dellideale, ogni versione dovrebbe consistere in codice incapsulato in

    opportuni componenti eseguibili, corredati da manuali, documentazione e cos via.

    Sebbene dal punto di vista del cliente i componenti eseguibili siano i manufatti pi

    importanti, essi da soli non sono sufficienti. Ci dovuto al fatto che lambiente

    tipicamente destinato a variare: espansione dei sistemi hardware, aggiornamenti di

    sistemi operativi e database manager, ecc.

    Gli stessi requisiti cliente diventano pi chiari e precisi con il procedere nel ciclo di vita del

    software e pertanto sono soggetti anchessi ad aggiornamenti. Non a caso unidea che

    spesso si ingenera nei team di sviluppo a consegna avvenuta, di essere in grado di poter

    rifare lintero sistema pi adeguatamente e in minor tempo. I prodotti che devono

    accompagnare la versione finale sono:

    il modello dei casi duso, con evidenziate tutte le relazioni tra i diversi use case e i

    relativi attori e gli scenari;

    il modello di analisi che dovrebbe conseguire, principalmente, due obiettivi:

    a. definire i casi duso in maggior dettaglio;

    b. orientare un iniziale disegno del comportamento del sistema per mezzo

  • Relazione Ingegneria del Software

    ULMS University Library Management System

    - 19 -

    dellindividuazione degli oggetti basilari che lo caratterizzano;

    il modello di disegno che definisce:

    a. la struttura statica del sistema in termini di sottosistemi, classi, interfacce;

    b. la realizzazione dei casi duso per mezzo di collaborazioni attraverso i

    sottosistemi, le classi , ecc. evidenziati nella proiezione statica al punto

    precedente;

    il modello di implementazione che include i componenti (raggruppamento di

    codice) e il mapping degli stessi con le relative classi;

    il modello di dispiegamento (deployment) che definisce come i componenti

    software vadano allocati sui nodi fisici (computer, server, reti, ecc.) previsti

    dallarchitettura hardware;

    il modello di test il quale definisce i casi di test (Test Case) che verificano gli Use-

    Case;

    la rappresentazione dellarchitettura.

    La totalit di questi manufatti rappresenta ULMS nel suo insieme.

    Un'alternativa alla variazione del ciclo di vita da valutare l'outsourcing, metodo di

    affidamento di attivit giudicate non critiche a fornitori esterni .

    7.1.3 Identificazione e allocazione delle risorse

    In questa fase oltre a studiare la fattibilit del sistema, attraverso l'identificazione delle

    risorse, entreremo nel piano operativo del progetto con l'allocazione delle risorse, le scelte

    operative e lo scheduling delle attivit, nonch con la creazione del gruppo di lavoro

    definendo ruoli, responsabilit, direzioni e coordinamento delle attivit.

    Per la realizzazione di ULMS sono richieste un gruppo di risorse umane (risorse a

    disponibilit limitata) e risorse di tipo materiale.

    Si prevede l'utilizzazione di circa 4 unit di personale divisi, in base alle rispettive

    competenze, in ruoli. In particolare in ULMS vengono impiegati 2 sviluppatori, che si

    occupano della parte implementativa del progetto. I requisiti necessari richiesti per questi

    soggetti sono la conoscenza di linguaggi di programmazione orientata ad oggetti, la

    capacit di gestione di un DBMS per lo storage dei dati e la facilit ad adattarsi a

    qualunque ambiente di sviluppo, quindi alle relative applicazioni.

    Oltre a questi soggetti necessaria la presenza di un'unit di personale per l'analisi in

    itinere e finale del prodotto, nonch per il coordinamento generale del lavoro. Un ulteriore

  • Relazione Ingegneria del Software

    ULMS University Library Management System

    - 20 -

    soggetto viene impiegato per la diffusione di ULMS nel mercato, nonch nella gestione

    dei bilanci circa l' approvvigionamento e l'utilizzo delle risorse finanziarie destinate alla

    realizzazione del prodotto. Le conoscenze richieste per quest'ultimo soggetto sono

    principalmente l'abilit nella consulenza e nel marketing.

    Per quanto riguarda invece le risorse di tipo materiale occorre fornirsi di un numero di

    workstation con adeguate prestazioni pari al numero di unit fisiche componenti il gruppo

    di lavoro. E' inoltre necessario fornirsi di un locale in cui svolgere le attivit di sviluppo,

    analisi e gestione del progetto. Altri tipi di risorse, relativamente significative in quanto

    classificabili a disponibilit illimitata, sono materiali di cancelleria e in generale materiali

    di consumo.

    Per quanto riguarda, invece, le risorse finanziarie come ad esempio spese di viaggio e

    soggiorno all'estero compito dell'addetto alla consulenza e al marketing svolgere

    periodicamente un bilancio circa le disponibilit temporanee e la stima di quelle future.

    7.1.4 Stima di massima di tempi e mesi-uomo Al fine di calcolare una stima di massima di alcuni parametri fondamentali come il tempo

    di consegna e i mesi-uomo necessari per lo sviluppo di ULMS, esiste un metodo chiamato

    COnstructive COst Mode (COCOMO), definito da B. Boehm all'inizio anni 80.

    Tale metodo, radicato su un modello algoritmico, si basa sul waterfall model e consente di

    calcolare, tramite una serie di formule ed in base a parametri quantificanti le

    caratteristiche del software da sviluppare, una stima di:

    quantit di lavoro M (espressa in mesi/uomo - MM)

    tempo di sviluppo T (in mesi)

    dove 1 MM = 152 ore

    Le due formule utilizzate da questo modello sono le seguenti:

    Sforzo: =

    Tempo di sviluppo: =

    dove, E (effort) indica la quantit di lavoro (espressa in Mesi/Persona), D (duration)

    rappresenta il tempo di sviluppo (espresso in Mesi) e S rappresenta il numero di linee di

    codice previste (espresse in migliaia).

  • Relazione Ingegneria del Software

    ULMS University Library Management System

    - 21 -

    Esistono tre diversi modelli di COCOMO che si differenziano per la raffinatezza e la

    precisione con cui vengono stimati i diversi valori: Basic, Intermediate e Advanced,

    chiamato anche Detailed.

    Basic COCOMO - il pi facile da calcolare ma anche il meno preciso, la stima viene

    fatta partendo dalla dimensione del software da sviluppare calcolata in numero di

    linee di codice esclusi i commenti.

    Intermediate COCOMO - calcola lo sforzo di sviluppo del software come funzione

    della grandezza del programma, espressa sempre in linee di codice, e su un insieme

    di "indici di costi", detti Cost-driver, che includono l'assegnazione soggettiva di

    valutazioni di prodotti, hardware, attributi di progetto e personali.

    Advanced/Detailed COCOMO - incorpora tutte le caratteristiche del COCOMO

    intermedio con una valutazione dell'impatto dei vari costi per ogni passo (analisi,

    progettazione, ecc.) del processo di ingegneria del software.

    Per ciascun livello di COCOMO esistono tre diverse tipologie di progetto, Organic, Semi-

    detached e Embbedded, che possono essere utilizzate come modello a seconda dei vincoli

    che si hanno:

    Organic: il progetto che si sta sviluppando piccolo, si ha gi esperienza su questa

    tipologia, si hanno pochi vincoli esterni.

    Embedded: l'opposto dell'organic, il progetto di grandi dimensioni, sia ha poca

    esperienza su questa tipologia di prodotti, ci sono forti vincoli esterni sui costi e sui

    tempi.

    Semi-detached: a met via tra organic e embedded.

    Una delle osservazioni importanti nel modello che considerazioni soggettive affiancano

    tutti gli altri parametri. Ci significa che le abilit del team e dell'individuo incaricato di

    tale valutazione influenzano grandemente il modello.

    Per ULMS si prevede una produzione approssimata di circa 10.000 righe di codice.

    Applicando l'algoritmo(Baker) del modello base di COCOMO vengono restituiti in output

    i seguenti valori:

  • Relazione Ingegneria del Software

    ULMS University Library Management System

    - 22 -

    Organic Values

    Number of Months Needed: 8.738165793274268

    (numero di mesi necessari)

    Number of People Needed: 3

    (numero di personale necessario)

    SemiDetached Values

    Number of Months Needed: 9.055917300087549

    (numero di mesi necessari)

    Number of People Needed: 4

    (numero di personale necessario)

    Embedded Values

    Number of Months Needed: 9.119201433458992

    (numero di mesi necessari)

    Number of People Needed: 6

    (numero di personale necessario)

    Considerando i valori della tipologia SemiDetached per ULMS si prevede l'impiego di 4

    unit fisiche per quanto riguarda i componenti del gruppo di lavoro per un totale di circa

    9 mesi di tempo necessario per coprire tutte le fasi del ciclo di vita del processo produttivo.

    7.1.5 Stima di massima dei costi

    Questa fase prevede la pianificazione dei costi a cui l'azienda deve far fronte durante il

    periodo produttivo.

    Si prevede la spesa destinata all'affitto dei locali in cui si svolgeranno le attivit di

    sviluppo, analisi e gestione del progetto di un ammontare di circa 250,00 al mese. Per

    tutto il periodo di attivit occorreranno dunque solo per l'affitto 2.250,00. Si prevede

    inoltre l'acquisto di 4 pc di circa 1.000,00 cadauno per un ammontare di 4.000,00. Altre

    spese saranno destinate per i consumi di luce e connessione a internet per una media di

    120,00 mensili e quindi un totale di 1.080,00. Supposto che occorrer assumere un

    esperto in consulenza e marketing, si dovranno spendere circa 7.200,00 in totale per la

    retribuzione, considerando una mensilit di circa 800. Considerando che verr utilizzato

    un ambiente di sviluppo opensource non si prevedono ulteriori spese eccessive. Il totale

    quindi ammonter per l'intero ciclo di vita a circa 14.530,00.

  • Relazione Ingegneria del Software

    ULMS University Library Management System

    - 23 -

    7.2 Piano operativo

    7.2.1 Scheduling delle attivit

    Il seguente schema rappresenta la collocazione temporale delle attivit previste per la

    realizzazione di ULMS.

    Figura 3: Pianificazione delle attivit per la realizzazione di ULMS

  • Relazione Ingegneria del Software

    ULMS University Library Management System

    - 24 -

    Definita come carta di Gantt, tale rappresentazione descrive l'andamento di ogni attivit

    durante l'intera durata del ciclo di vita (9 mesi circa).

    Come citato nella Legenda della carta di Gantt, viene inizialmente creato il gruppo di

    lavoro in seguito ad unaccurata selezione, formazione e valutazione per definire ruoli e

    responsabilit. Questa fase preliminare, della durata di qualche giorno,

    immediatamente seguita da altre attivit; tuttavia non viene svolta in concomitanza di

    altre attivit in quanto risulta necessaria la definizione dei ruoli prima dello svolgimento

    di tutte le altre attivit. Proprio per questa motivazione possiamo definire un legame di

    precedenza di tipo f-to-s (finish-to-start) tra questa attivit e tutte le altre in quanto queste

    ultime non possono avere inizio prima del completamento della prima.

    Dopo i primi giorni dall'inizio e quindi, dopo la prima attivit, iniziano simultaneamente

    altre tre attivit: lo sviluppo del software, una prima gestione delle configurazioni

    (opzionale) nel caso in cui si parta da software di base preesistente e un bilancio sulle

    risorse. Le parti delle attivit in cui sviluppo del software e gestione delle configurazioni

    sono in concomitanza sono esclusive nel senso che, se vi una gestione delle

    configurazioni non pu esserci sviluppo del software in quanto tra di esse c' un legame di

    precedenza di tipo f-to-s e viceversa se non vi una gestione delle configurazioni iniziale si

    pu iniziare a sviluppare software. Per tutti i successivi casi di concomitanza tra queste

    due attivit non ci sar mutua esclusione in quanto gli sviluppatori potranno continuare il

    loro lavoro, magari testando, collaudando o revisionando ci che stato fatto fino a quel

    momento, nonostante in quel momento sia in atto la fase di gestione delle configurazioni.

    Per questo secondo caso possiamo attribuire un legame di precedenza tra queste due

    attivit di tipo s-to-s (start-to-start) in quanto la gestione delle configurazioni non pu avere

    inizio prima dell'inizio della fase di sviluppo. La terza attivit svolta dopo la fine della

    formazione del gruppo di lavoro quella in cui avviene un bilancio delle risorse. Questa

    attivit non tiene conto del caso opzionale dell'attivit di gestione delle configurazioni, per

    cui possiamo dire che tra di esse non esiste mutua esclusione. Possiamo attribuire un

    legame di precedenza tra questa attivit e quelle di sviluppo del software e gestione delle

    configurazioni, esclusa la prima parte, del tipo s-to-s in quanto il bilancio delle risorse non

    pu avere inizio prima che inizi lo sviluppo del software e la gestione delle configurazioni.

    Un'ultima attivit prevista quella di collaudo finale. Lo svolgimento di tale attivit si

    riconduce nella fase conclusiva del processo di produzione di ULMS, pi precisamente tra

    la fine dell'ottavo mese e l'inizio del nono. Attribuiremo un legame di precedenza tra

    questa attivit e tutte le altre di tipo f-to-s in quanto non possibile iniziare il collaudo di

    ULMS prima che non vengano completate tutte le altre operazioni, soprattutto quella di

    sviluppo.

  • Relazione Ingegneria del Software

    ULMS University Library Management System

    - 25 -

    7.2.2 Diagramma PERT

    Valutando i legami di precedenza esistenti tra le varie attivit per la progettazione di

    ULMS possibile raffigurarle nel seguente schema, detto diagramma PERT (acronimo di

    Program Evaluation and Review Technique, una tecnica di controllo dello stato di

    avanzamento di progetti adoperata dalla Lockheed negli anni '50, in cui venne per la

    prima volta fatto uso di questo genere di diagrammi).

    Figura 4: Pianificazione delle attivit per la realizzazione di ULMS

    Si pu notare che le tre attivit centrali (s sviluppo software; a analisi delle versioni;

    b bilancio sulle risorse) vengono svolte in parallelo. Esse tuttavia non possono avere

    inizio se prima non viene completata l'attivit di formazione del gruppo (g). La quinta

    attivit (c collaudo finale di ULMS) chiude l'intero ciclo di vita. Essa non pu iniziare se

    prima non terminano tutte le altre operazioni.

    Lo scheduling delle attivit deve tener conto non solo dei legami di precedenza ma anche

    dei conflitti di allocazione di risorse, e risolvere questi ultimi operando sulle date delle

    attivit. Il resource leveling consiste nell'applicazione di questo principio.

  • Relazione Ingegneria del Software

    ULMS University Library Management System

    - 26 -

    8. Evoluzione del Software (Giummarra Andrea)

    8.1 Stima e valutazione dei rischi di ULMS

    I principali rischi a cui soggetto ULMS sono da ricercare soprattutto nella fase di

    pianificazione in quanto proprio in questa fase in cui si improntano le basi del progetto;

    risulta dunque indispensabile fare attenzione alla definizione delle previsioni proprio

    nelle prime battute dell'intero ciclo di vita.

    Il primo rischio da evitare consiste nella indeterminatezza, ambiguit, indefinizione o

    genericit degli obiettivi da raggiungere. In altre parole bisogna assolutamente evitare che

    la formulazione degli obiettivi sia di scarsa qualit. Per formulare adeguatamente gli

    obiettivi, occorre che siano il pi possibile chiari, cio espressi in un linguaggio

    comprensibile, specifici e soprattutto misurabili. La misurabilit di un obiettivo, infatti,

    associata alla definizione dei valori attesi, permetter di riconoscerne il raggiungimento e,

    in definitiva, di garantire il successo stesso del progetto.

    Un altro importante rischio a cui potrebbe essere esposto ULMS riguarda la fase di

    strutturazione del gruppo di lavoro. E' importante selezionare, formare e valutare per bene

    i soggetti fisici che operano attivamente nella produzione del software per poi definire in

    maniera chiara e corretta ruoli e responsabilit. Una buona selezione del gruppo di lavoro

    evita, o per lo meno aiuta a eludere, possibili rischi in fase di sviluppo di ULMS che a loro

    volta porterebbero ad ulteriori errori, bug e malfunzionamenti del prodotto finale.

    Esiste ancora un altro rischio dovuto alla inadeguata allocazione delle risorse. Questo

    porta ad un problema piuttosto comune che riguarda la fuoriuscita dai budget assegnati e

    al superamento del tempo di scadenza precalcolato. Le cause possibili che conducono a

    questo tipo di problema sono principalmente di due tipi: unadeguata allocazione delle

    risorse che tuttavia verranno poi gestite inappropriatamente; oppure una scarsa

    allocazione di risorse dovuta ad unimprecisa stima iniziale.

    Un ultimo rischio si pu presentare in fase di gestione delle configurazioni ed in

    particolare quando si effettua per la prima volta l'attivit di gestione di configurazione.

    Osservando lo schema in cui rappresentato lo scheduling delle attivit di ULMS si pu

    notare che se si parte da un modello di software gi esistente e quindi, prima che ancora

    inizi la fase di sviluppo del software, viene eseguita un'attivit di gestione delle

    configurazioni non adeguatamente corretta, si pu correre il rischio di importare difetti da

    software preesistenti.

  • Relazione Ingegneria del Software

    ULMS University Library Management System

    - 27 -

    9. Analisi, modellazione e specifica dei requisiti (Giummarra Andrea)

    Utilizzeremo il termine impiegato come soggetto di azioni comuni alle tre figure che sono i

    possibili utilizzatori del sistema:

    commesso

    magazziniere

    gestore ordini

    Distingueremo fra i termini prenotazione e ordine intendendo con il primo la richiesta di

    uno o pi libri da parte di un cliente alla libreria e, con il secondo, quella della libreria ad

    un rappresentante o fornitore.

    9.1 Sistema corrente

    Attualmente possiamo supporre che la libreria sia gestita totalmente in maniera manuale

    anche se basata su una divisione logica dei compiti analoga a quella identificata per il

    sistema. Questo causa problemi di comunicazione tra le diverse figure che operano

    allinterno della libreria e che si ripercuotono nella qualit del servizio offerto ai clienti.

    Con tale approccio, infatti, non agevole prevedere le future vendite n tanto meno

    gestirle nel modo adeguato facendo un ordine preventivo. Inoltre si hanno difficolt nella

    gestione di casi eccezionali.

    9.2 Requisiti funzionali

    Il sistema prevede la possibilit di accedervi in tre modalit:

    Vendita dei libri

    Gestione del magazzino

    Acquisizione dei libri

    Si accede al sistema tramite uno qualunque dei terminali (non necessariamente tre). Tutti i

    terminali sono in grado di funzionare in qualunque modalit sopra menzionata, previa

    abilitazione o durante la fase di avvio del sistema o durante lutilizzo in una modalit

    differente. Queste si differenziano per linterfaccia utente ma soprattutto per le operazioni

    che loperatore pu effettuare.

  • Relazione Ingegneria del Software

    ULMS University Library Management System

    - 28 -

    9.3 Requisiti non funzionali

    9.3.1 Interfaccia utente e fattore umano

    ULMS presenta uninterfaccia utente di tipo intuitivo. Questo permette una sua

    utilizzazione da parte di utenti anche non esperti con lausilio di un addestramento

    minimo, inoltre la distinzione delle tre modalit permette di limitare il campo di azione

    dellutente preservando il sistema da perdite e/o modifiche accidentali di dati.

    9.3.2 Documentazione

    Durante la progettazione di ULMS saranno prodotti e rilasciati i seguenti

    documenti:

    Documento Utenti del documento

    Documento di analisi dei requisiti (RAD) Sviluppatori, clienti

    Documento del piano di sviluppo del

    progetto

    Sviluppatori, clienti

    Documento dell'architettura software Sviluppatori,

    analisti

    Documento del progetto esecutivo Sviluppatori

    9.3.3 Considerazioni Hardware

    ULMS verr installato su ununica macchina nella quale sar anche allocato il database.

    Poich il sistema si interfaccia con il database facilmente si pu estendere il suo utilizzo ad

    una generica rete di computer eventualmente dedicando ununica macchina, che funger

    da server, per il database. Lutilizzo di questo approccio non pone un limite massimo al

    numero di terminali collegabili.

    Si supporr di utilizzare macchine dotate di processori Intel o AMD.

  • Relazione Ingegneria del Software

    ULMS University Library Management System

    - 29 -

    9.3.4 Prestazioni Hardware

    Si prevede che i requisiti minimi imposti da ULMS siano quelli relativi al

    corretto funzionamento del sistema operativo.

    9.3.5 Interfaccia del sistema

    ULMS prevede lutilizzo di dispositivi di interfacciamento tradizionali di un personal

    computer (monitor, tastiera e mouse).

  • Relazione Ingegneria del Software

    ULMS University Library Management System

    - 30 -

    10. Analisi dei requisiti funzionali (Canzonieri Matteo)

    Descriviamo i requisiti funzionali attraverso il modello dei casi d'uso, comprensivo di

    diagramma/i di casi d'uso, scenari e package di casi d'uso.

    Di seguito essi verranno mostrati. Inizialmente presentiamo un diagramma che presenti il

    sistema in maniera generica, man mano il livello di astrazione andr scendendo.

    10.1 Diagramma di contesto del sistema

    Figura 5: Diagramma di contesto del sistema

  • Relazione Ingegneria del Software

    ULMS University Library Management System

    - 31 -

    10.2 Diagramma delle funzionalit offerte dal sistema

    Il seguente diagramma mostra le funzionalit offerte ai singoli attori mantenendo,

    comunque, un alto livello di astrazione. I casi duso pi complessi verranno dettagliati con

    ulteriori diagrammi dei casi duso.

    Figura 6: Diagramma delle funzionalit offerte dal sistema

    verranno mostrati una serie di casi duso che sono stati uniformati perch comuni a pi

    figure. Ad esempio, osserviamo che le operazioni di ricerca, riguardano sia i libri, che i

    clienti, o le prenotazioni dei libri ecc.

  • Relazione Ingegneria del Software

    ULMS University Library Management System

    - 32 -

    Caso d'uso: Cerca

    Attori partecipanti Inizializzato da IMPIEGATO

    Flusso d'eventi:

    Condizione

    d'ingresso:

    L' IMPIEGATO, trovandosi in una finestra che permette la

    ricerca riempie gli appositi campi presenti nel form con i dati

    da ricercare (non necessariamente tutti) e clicca sul tasto

    Cerca

    Condizione d'uscita: Il SISTEMA riordina la lista nella finestra mostrando

    quelli che soddisfano i requisiti

    Caso d'uso: Mostra tutti

    Attori partecipanti Inizializzato da IMPIEGATO

    Flusso di eventi:

    Condizione

    d'ingresso:

    L' IMPIEGATO, trovandosi in una finestra che permette la

    ricerca dopo aver effettuato una ricerca, volendo visualizzare

    tutto l'elenco (in funzione della finestra in cui si trova) clicca

    sul tasto Mostra tutti

    Condizione d'uscita: Il SISTEMA mostra tutto l'elenco.

    Caso d'uso: Indietro

    Attori partecipanti Inizializzato da IMPIEGATO

    Flusso di eventi:

    Condizione

    d'ingresso:

    L' IMPIEGATO, trovandosi in una finestra qualsiasi clicca sul

    tasto indietro.

    Condizione d'uscita: Il SISTEMA visualizza la finestra immediatamente superiore

  • Relazione Ingegneria del Software

    ULMS University Library Management System

    - 33 -

    Caso d'uso: Nuovo

    Attori partecipanti Inizializzato da IMPIEGATO

    Flusso di eventi:

    Condizione

    d'ingresso:

    l'IMPIEGATO, trovandosi in una finestra che

    permette l'immissione di una nuova voce, riempie gli

    appositi campi presenti nel form con i nuovi dati e clicca sul

    tasto Nuovo

    Condizione d'uscita: Il SISTEMA riordina la lista nella finestra

    evidenziando nella lista il nuovo dato inserito

    Caso d'uso: Cancella

    Attori partecipanti Inizializzato da IMPIEGATO

    Flusso di eventi:

    Condizione

    d'ingresso:

    L' IMPIEGATO, trovandosi in una finestra che

    permette la cancellazione di una voce del database, seleziona

    una voce dalla lista e clicca sul tasto Cancella

    Il SISTEMA chiede conferma per la cancellazione del dato.

    L'IMPIEGATO fa la sua scelta

    Condizione d'uscita: Il SISTEMA se necessario aggiorna il database

    Caso d'uso: Modifica

    Attori partecipanti Inizializzato da IMPIEGATO

    Flusso di eventi:

    Condizione

    d'ingresso:

    L' IMPIEGATO, trovandosi in una finestra che

    permette la modifica di una voce del database, seleziona la

    voce, ne modifica i dati e clicca sul tasto Modifica

    Il SISTEMA chiede conferma della modifica del dato.

    L'IMPIEGATO fa la sua scelta

    Condizione d'uscita: Il SISTEMA se necessario aggiorna il database, evidenziando

    il dato modificato nella lista

  • Relazione Ingegneria del Software

    ULMS University Library Management System

    - 34 -

    10.3 Diagramma delle funzionalit di impiegato

    Queste funzionalit sono comuni a tutte e tre le figure (commesso, gestore ordini,

    magazziniere) operanti nella libreria e per questo vengono generalizzate tramite la figura

    di impiegato. Di seguito vengono riportati i casi duso relativi.

    Figura 7: Diagramma delle funzionalit di impiegato

    Caso d'uso: Selezione_modalita_vendita_libri

    Attori partecipanti Inizializzato da IMPIEGATO

    Flusso di eventi:

    Condizione

    d'ingresso:

    L' IMPIEGATO, avvia il programma di gestione della

    libreria

    Il SISTEMA visualizza la finestra di scelta della modalit di

    utilizzo

    L'IMPIEGATO clicca sul tasto vendita libri

    Condizione d'uscita: Il SISTEMA visualizza la finestra vendita libri

  • Relazione Ingegneria del Software

    ULMS University Library Management System

    - 35 -

    Caso d'uso: Selezione_modalita_gestione_ordini

    Attori partecipanti Inizializzato da IMPIEGATO

    Flusso di eventi:

    Condizione

    d'ingresso:

    L' IMPIEGATO, avvia il programma di gestione della

    libreria

    Il SISTEMA visualizza la finestra di scelta della modalit di

    utilizzo

    L'IMPIEGATO clicca sul tasto gestione ordini

    Condizione d'uscita: Il SISTEMA visualizza la finestra di gestione ordini

    Caso d'uso: Selezione_modalita_magazzino

    Attori partecipanti Inizializzato da IMPIEGATO

    Flusso di eventi:

    Condizione

    d'ingresso:

    L' IMPIEGATO, avvia il programma di gestione della

    libreria

    Il SISTEMA visualizza la finestra di scelta della modalit di

    utilizzo

    L'IMPIEGATO clicca sul tasto magazzino

    Condizione d'uscita: Il SISTEMA visualizza la finestra magazzino

    Caso d'uso: Selezione_modalita_di utilizzo

    Attori partecipanti Inizializzato da IMPIEGATO

    Flusso di eventi:

    Condizione

    d'ingresso:

    L' IMPIEGATO, trovandosi nella finestra iniziale di una

    qualunque modalit , clicca sul tasto Modifica modalit.

    Il SISTEMA visualizza una finestra con scritto "Sei

    sicuro di voler cambiare modalit?"

  • Relazione Ingegneria del Software

    ULMS University Library Management System

    - 36 -

    L'IMPIEGATO seleziona Si

    Il SISTEMA visualizza la finestra scelta della modalit di

    utilizzo

    L'IMPIEGATO seleziona una nuova modalit di

    utilizzo tra quelle disponibili (vendita libri, gestione ordini,

    magazzino)

    Condizione d'uscita: Il SISTEMA visualizza la finestra della modalit selezionata

    Caso d'uso: Esci

    Attori partecipanti Inizializzato da IMPIEGATO

    Flusso di eventi:

    Condizione

    d'ingresso:

    L' IMPIEGATO, trovandosi nella finestra scelta della

    modalit di utilizzo o in una qualunque finestra iniziale

    clicca sul tasto Esci

    Il SISTEMA visualizza una finestra con scritto Sei sicuro di

    voler uscire?

    L'IMPIEGATO risponde alla domanda

    Condizione d'uscita: Il SISTEMA se necessario chiude il programma

    Vediamo adesso tre scenari che vedono come attore l'impiegato

    Nome dello scenario: Selezione iniziale modalit di utilizzo

    Attori partecipanti Ugo: commesso

    Flusso di eventi: Ugo avvia il programma di gestione della libreria

    Ugo seleziona la modalit di utilizzo vendita tra quelle

    disponibili (vendita, magazzino, gestione_ordini)

    Compare la finestra di gestione delle vendite

  • Relazione Ingegneria del Software

    ULMS University Library Management System

    - 37 -

    Nome dello scenario: Modifica modalit di utilizzo

    Attori partecipanti Ugo: commesso

    Pippo : magazziniere

    Flusso di eventi: Ugo sta lavorando al suo terminale in modalit vendita

    Arriva Pippo che ha la necessita di lavorare in modalit

    magazzino. Chiede ad Ugo di cedergli momentaneamente la

    postazione.

    Pippo clicca sul tasto Modifica Modalit

    Compare la finestra che chiede Sei sicuro di voler cambiare

    la modalit di utilizzo e Pippo seleziona Si

    Appare il form di selezione modalit e Pippo seleziona

    Magazzino

    Nome dello scenario: Cerca libro

    Attori partecipanti Ugo: commesso

    Ciccio : cliente

    Flusso di eventi: Ciccio chiede la disponibilit di un libro

    Ugo riempie gli appositi campi presenti nel form con i dati

    del libro (non necessariamente tutti) e clicca sul tasto Cerca

    libro

    Il sistema riordina la lista dei libri mostrando quelli

    che soddisfano i requisiti

    Ugo osserva il numero di copie disponibili in magazzino

    nella colonna apposita e risponde a Ciccio

  • Relazione Ingegneria del Software

    ULMS University Library Management System

    - 38 -

    11. Architettura software (Canzonieri Matteo)

    L'enorme sviluppo del software ha creato la necessit di affrontare problemi che non

    riguardano, semplicemente, gli algoritmi o le strutture dati, ma sono concentrati sulla

    organizzazione generale del sistema l'architettura software. Il design del software

    quindi si provvede di diagrammi descrittivi (talvolta anche informali), moduli di

    interconnessione tra linguaggi eterogenei, che servono per i modelli formali di

    integrazione tra i componenti del software stesso.

    11.1 Tipi e caratteristiche degli stili di architetture software

    Adesso passeremo in rassegna le diverse tipologie di scelte architetturali, concentrandoci

    inoltre sui compromessi che le varie scelte ci obbligano ad affrontare.

    11.1.1 Architettura dataflow

    L'architettura dataflow oppure a canali e filtri (pipes and filter) composta da elementi

    chiamati appunto filtri che modificano un flusso di dati, proveniente dal canale d'ingresso,

    e lo ripongono nel canale di uscita.

    Figura 8: Schema architettura dataflow

    Le connessioni tra i vari filtri servono per condurre i dati da un filtro allaltro. Ogni filtro

    unentit indipendente che non condivide lo stato con altri filtri, quindi le trasformazioni

    sono effettuate localmente in ogni filtro.

    Canale in Canale out Filtro

  • Relazione Ingegneria del Software

    ULMS University Library Management System

    - 39 -

    Vantaggi e svantaggi

    Tra i vantaggi del dataflow ne notiamo due :

    Il comportamento globale dato dal comportamento locale dei singoli filtri.

    Garantisce facilit di manutenzione in quanto i filtri possono essere modificati,

    aggiunti o cancellati senza sconvolgere la struttura del sistema.

    Gli svantaggi invece sono i seguenti:

    I filtri non sono adatti a gestire applicazioni interattive, rappresentano solo un

    flusso di informazioni.

    Ogni filtro pu iniziare a lavorare solamente quando il filtro precedente ha concluso

    la generazione del suo output.

    11.1.2 Architettura ad astrazione di dati (od orientata agli oggetti)

    Un' alternativa l'architettura di un sistema basata su oggetti e classi; in questo contesto

    un oggetto corrisponde generalmente ad un concetto presente nel dominio del problema o

    nello spazio della soluzione, mentre una classe corrisponde ad un insieme di oggetti simili.

    Ogni oggetto caratterizzato da unidentit, da uno stato e da un comportamento. Ogni oggetto

    deve garantire l'integrit dell'operato di cui responsabile, e tale operato celato agli occhi degli

    altri oggetti.

    Vantaggi e svantaggi

    Tra i vantaggi dellarchitettura ad astrazione di dati notiamo:

    Conduce allo sviluppo di sistemi pi piccoli e semplici perch consente di applicare

    meglio il riutilizzo di componenti preesistenti;

    Conduce allo sviluppo di sistemi pi piccoli e semplici perch consente di applicare

    meglio il riutilizzo di componenti preesistenti;

    Consente di descrivere il sistema in un modo pi comprensibile per gli utenti finali

    e pi vicino al dominio applicativo nel quale il sistema si colloca.

  • Relazione Ingegneria del Software

    ULMS University Library Management System

    - 40 -

    Gli svantaggi invece sono i seguenti:

    Se un oggetto deve interagire con un altro ha bisogno di conoscerne lidentit. Ci

    implica che se un oggetto viene modificato, tutti gli altri oggetti dovranno essere

    modificati.

    11.1.3 Architettura event-driven (oppure ad invocazione implicita)

    Questo stile di design del software si basa sul fatto che un componente non invia

    uninvocazione esplicita a procedura, ma trasmette un evento; Intanto gli altri

    componenti associano una o pi procedure a uno specifico evento tramite il sistema. Una

    volta che un componente invia l'evento, il sistema si preoccupa di eseguire tutte le

    procedure ad esso associate.

    Figura 9: Schema architettura event-driven

    Il principale vantaggio di questo stile che un componente pu essere inserito o sostituito

    senza alcuna modifica dell'intero sistema, necessario soltanto registrarsi per gli eventi di

    quel sistema.

  • Relazione Ingegneria del Software

    ULMS University Library Management System

    - 41 -

    Figura 10: Schema di gestione degli eventi

    Uno svantaggio invece, che come abbiamo visto, un componente lascia la responsabilit

    dell'esecuzione al sistema; ci implica che il componente in questione non ha idea di cosa

    accade successivamente alla sua emissione dell'evento. Il componente non pu sapere cosa

    gli viene risposto dagli altri componenti; inoltre non pu tenere traccia dell'ordine in cui le

    risposte gli sono state inviate, e nemmeno se le risposte sono finite. Infine uno svantaggio

    sicuramente la difficolt di analizzare il sistema, in quanto l'analisi degli eventi dipende

    soprattutto dai tipi di evento invocato.

    11.1.4 Architettura stratificata

    Questo tipo di architettura, detta anche layered, rappresentabile in livelli. Ogni livello

    pu comunicare solo con i livelli adiacenti, ed usa il livello sottostante per creare le sue

    funzioni. Alcuni sistemi sono implementati in maniera che i livelli pi bassi possano essere

    visti solo dai livelli adiacenti.

    Figura 11: Schema di architettura a strati

    Sottosistema

    1

    Sottosistema

    2

    Sottosistema

    3

    Gestore eventi e messaggi

  • Relazione Ingegneria del Software

    ULMS University Library Management System

    - 42 -

    Tra i pro notiamo, proprio dalla struttura di questa architettura, la possibilit di

    implementare sistemi che esigono una struttura astratta a livelli gerarchici incrementali.

    Essi permettono inoltre di scindere macro-problemi in sotto-problemi, rendendone pi

    agevole la risoluzione. La foto mostra inoltre che possono esistere moduli separati ma che

    risiedono sullo stesso livello, ci fa in modo che livelli adiacenti siano interagenti e

    interscambiabili.

    Purtroppo questo tipo di architettura presenta diversi svantaggi:

    Non sempre facile stabilire il giusto livello di astrazione in cui va inserito un

    modulo.

    Una funzione ad alto livello potrebbe voler interagire con un livello molto basso.

    Ci diventa problematico quanto i livelli d'astrazione sono protocolli.

    Figura 12: Schema stratificato dellinterprete dei comandi

    Un esempio esplicativo di questo tipo di architettura sicuramente il protocollo di

    comunicazione stratificato, quale ad esempio quello presente tra l'interprete dei comandi e

    il kernel.

    Interprete Comandi

    Input/Output

    Gestione Periferiche

    Gestione Memoria

    Nucleo

  • Relazione Ingegneria del Software

    ULMS University Library Management System

    - 43 -

    11.1.5 Architettura basata su repository

    Tale modello presenta due sottoinsiemi, un repository centrale che rappresenta lo stato

    corrente, e molti elementi decentrati.

    I sottoinsiemi devono scambiare dati. Questo pu essere fatto in due modi:

    I dati condivisi sono mantenuti in un data base centrale o repository e possono

    essere acceduti da tutti i sottosistemi.

    Ogni sottosistema mantiene il proprio database e passa esplicitamente i dati agli

    altri sottosistemi.

    Figura 13: Schema di architettura basata su repository

    Quando grandi quantit di dati devono essere condivisi, il modello repository il pi

    usato. In questo modello, il repository, pu essere passivo nel caso in cui ripone la

    responsabilit, di eseguire le operazioni su di esso, ai client; viceversa si dice attivo

    quando si incarica in prima persona di notificare ai client le avvenute modifiche sui dati.

    Vantaggi:

    E' un modo efficiente per condividere grandi quantit di dati.

    I sottosistemi (client) non necessitano di sapere in che modo i dati sono condivisi.

    La gestione dei dati centralizzata (backup, sicurezza...).

    Lo schema dei dati pu venire pubblicato nel repository condiviso.

  • Relazione Ingegneria del Software

    ULMS University Library Management System

    - 44 -

    Svantaggi:

    I sottosistemi (client) devono basarsi sulla stessa struttura dei dati condivisi. Ossia,

    tutti i client devono usare la stessa rappresentazione dei dati.

    Modificare la struttura (schema) dei dati difficile e costoso.

    Difficile impostare delle politiche diverse di accesso ai dati.

    Bassa scalabilit: il repository centrale un buon candidato ad essere un collo di

    bottiglia.

    11.1.6 Architettura basata su interprete

    In unorganizzazione ad interprete in genere si implementa una macchina virtuale via

    software. Un interprete contiene quattro elementi:

    1) Un motore di interpretazione che svolge il grosso del lavoro.

    2) Una memoria che contiene lo pseudo-codice da interpretare.

    3) Un controllo di stato del motore di interpretazione (in memoria)

    4) Una rappresentazione dello stato corrente del programma simulato.

    Questa architettura in genere usata per colmare il vuoto tra ci che si vuole

    semanticamente ottenere e ci che invece possibile ottenere in hardware.

  • Relazione Ingegneria del Software

    ULMS University Library Management System

    - 45 -

    12. Accenni al collaudo software (Canzonieri Matteo)

    Come, in precedenza, abbiamo discusso, l'utilizzo del software ha subito un forte

    incremento negli ultimi decenni. Tale sviluppo ne ha implicato l'uso anche in ambienti in

    cui errori computazionali possono portare a seri rischi, si pensi ad esempio agli ospedali.

    Proprio per questo nato l'interesse a incrementare quella parte dello sviluppo software

    atta a minimizzare gli errori. Tale branca chiamata collaudo del software o software

    testing.

    Il software testing deve tenere in debita considerazione alcuni punti chiave:

    Il collaudo deve essere basato sui requisiti specificati.

    Il tempo e le risorse dedicabili al collaudo sono limitate.

    Non possibile (purtroppo) testare tutto.

    Le risorse usate per il collaudo devono essere valide (sia i collaudatori che i metodi

    di collaudo).

    Il collaudo non inizia quando il codice pronto, ma alla specifica dei requisiti.

    Si inizia a collaudare dai singoli moduli, e via via risalendo alla totalit del codice,

    con il metodo bottom-up.

  • Relazione Ingegneria del Software

    ULMS University Library Management System

    - 46 -

    13. Modello di stima dei costi e tempo di produzione del

    software (Canzonieri Matteo)

    Le metriche del software sono delle misure che servono principalmente a:

    Migliorare il processo software

    Pianificare seguire e controllare l'andamento di un progetto

    Valutare la qualit del prodotto

    Effettuare una stima dello sforzo richiesto per implementare e mantenere il sistema

    software

    Un ottimo metodo per calcolare i costi del software il modello COCOMO nato anche

    dalla fusione delle esperienze acquisite dall'uso di altri metodi.

    La stima viene effettuata considerando come unica variabile indipendente la dimensione

    del programma da sviluppare in KLOC (migliaia di line of code righe di codice).

    13.1 Modello base

    Per avere una stima si usano, in questo modello, due formule (S = dimensione del

    programma):

    = =

    Dove:

    Tipo dell applicazione Ab Bb Cb Db

    Organic 2,4 1,05 2,5 0,38

    Semi-detached 3,0 1,12 2,5 0,35

    Embedded 3,6 1,20 2,5 0,32

    Nel modello base si usano anche tabelle che indicano per ogni classe la suddivisione

    percentuale per le varie fasi del ciclo di vita esse sono parametrizzate in funzione della

    dimensione del programma.

  • Relazione Ingegneria del Software

    ULMS University Library Management System

    - 47 -

    Per esempio le varie percentuali di quantit di lavoro nella classe di applicazioni semplici

    sono:

    Dimensione in KDSI (del modo organic)

    Fasi 2 8 32 128 512

    Pianificaz. 6 6 6 6

    Progetto 16 16 16 16

    Sviluppo 68 65 62 59

    Integr. test 16 19 22 25

    All'aumentare della dimensione del sistema i tempi per la pianificazione ed il progetto

    restano pressoch invariati mentre il tempo per lo sviluppo diminuisce a scapito

    dell'integrazione e test.

    All'aumentare della complessit del sistema (applicazioni intermedie, complesse) i tempi

    aumentano tranne quello dello sviluppo che addirittura uguaglia quello del progetto.

    13.2 Modello intermedio

    Si calcola un M fondamentalmente identico a quello del modello base, con altri coefficienti.

    =

    = =1..15

    A questo punto nasce il problema della corretta valutazione della dimensione del

    prodotto.

    Per risolvere tale problema, ci si affida alla stima dei punti di funzione PF.

    13.3 Metodo dei Punti Funzione (Albrecht)

    Il metodo dei Punti Funzione (Function Point), utilizzabile soprattutto nell'ambito delle

    applicazioni di tipo EDP (applicazioni commerciali tipo Basi di Dati).

  • Relazione Ingegneria del Software

    ULMS University Library Management System

    - 48 -

    Il valore del Punto Funzione (FP) viene calcolato a partire da alcune caratteristiche

    funzionali del programma. In particolare vengono considerati cinque indici :

    1) Numero di input: il numero di informazioni distinte fornite dall'utente e utilizzate

    dal programma come dati di ingresso.

    2) Numero di output: il numero di output distinti che il programma ritorna all'utente

    come risultato delle proprie elaborazioni.

    3) Numero di richieste: il numero di interrogazioni in linea che producono una

    risposta immediata del sistema.

    4) Numero di file: numero di file creati ed utilizzati internamente dal programma.

    5) Numero di interfacce esterne: il numero dei file o di altri insiemi di dati scambiati dal

    programma con altri programmi.

    Il valore di FP viene poi ottenuto attraverso la seguente formula (empirica):

    = (0,65 + 0,01 =1..14

    )

    =1..5

    I valori Fi sono 14 parametri di aggiustamento che vengono calcolati in base al

    questionario e ai valori (compresi tra 0 e 5) descritti nella tabella seguente, a seconda dell'

    influenza che il fattore i-esimo (i = 1...14) ha nello sviluppo del programma.

    0 1 2 3 4 5

    Ininfluente Incidenza

    scarsa

    Incidenza

    moderata

    Incidenza

    media

    Incidenza

    significativa

    Incidenza

    essenziale

    I calcoli esatti per la stima dei costi per la produzione del software di ULMS riportato in

    precedenza.

  • Relazione Ingegneria del Software

    ULMS University Library Management System

    - 49 -

    14. Progettazione dellArchitettura del software (Canzonieri Matteo, Giummarra Andrea, Roberto Fabiano)

    14.1 Diagrammi delle classi Seguiranno quattro diagrammi, ognuno relativo ad un particolare attore di ULMS.

    Diagramma 1: Diagramma delle classi del dominio di Impiegato

  • Relazione Ingegneria del Software

    ULMS University Library Management System

    - 50 -

    Diagramma 2: Diagramma delle classi del dominio di Commesso

  • Relazione Ingegneria del Software

    ULMS University Library Management System

    - 51 -

    Diagramma 3: Diagramma delle classi del dominio di Gestore ordini

  • Relazione Ingegneria del Software

    ULMS University Library Management System

    - 52 -

    Diagramma 4: Diagramma delle classi del dominio di Magazziniere

  • Relazione Ingegneria del Software

    ULMS University Library Management System

    - 53 -

    14.2 Diagrammi di sequenza

    I seguenti diagrammi di sequenza descrivono casi duso analoghi ma compiuti da attori

    differenti.

    a b

    c

    Diagramma 5: Scelta modalit di utilizzo da parte dellimpiegato (a),

    modifica modalit di utilizzo (b),

    esci dal sistema (c).

  • Relazione Ingegneria del Software

    ULMS University Library Management System

    - 54 -

    Diagramma 6: Vendita da prenotazione da parte del commesso.

    Diagramma 7: Visualizza ordine da parte del Gestore Ordini.

  • Relazione Ingegneria del Software

    ULMS University Library Management System

    - 55 -

    Diagramma 8: Visualizza ordine da parte del Magazziniere.

    14.3 Diagrammi degli stati

    Questi diagrammi illustrano come avviene la transizione di stato delle classi Prenotazione e

    Ordine utilizzando per entrambi lattributo evaso (boolean che assume valori TRUE o

    FALSE).

    Diagramma 9: Diagramma degli stati per prenotazione e ordine.

  • Relazione Ingegneria del Software

    ULMS University Library Management System

    - 56 -

    14.4 Diagrammi delle attivit

    Questi diagrammi illustrano le transizioni che avvengono in ULMS in seguito a

    sollecitazioni esterne.

    Diagramma 10: Diagramma di selezione modalit di utilizzo.

  • Relazione Ingegneria del Software

    ULMS University Library Management System

    - 57 -

    15. Conclusioni (Canzonieri Matteo, Giummarra Andrea, Roberto Fabiano)

    ULMS, grazie alle sue funzionalit e alla sua semplicit d'utilizzo, trova larga applicazione

    in tutti i contesti in cui importante una gestione ordinata di materiale cartaceo e in

    particolare di libri.

    Svolgendo operazioni di acquisizione e vendita di libri, nonch di gestione di magazzino,

    ULMS permette la globale amministrazione centralizzata, sostituendo il ruolo fin'ora

    svolto da pi soggetti fisici.

    Inoltre, grazie alla funzionalit di associare ad ogni libro il corso universitario che lo

    adotta, facilita all'interno stesso di un Ateneo la fruizione da parte di studenti e docenti dei

    libri di testo, sia per gli acquisti che per la consultazione.

    Vista l'esigenza, sempre pi in continuo accrescimento, dello scambio di materiale

    didattico digitale, ULMS si propone nell'immediato futuro di aggiornare le proprie

    funzionalit proiettando i suoi obiettivi verso le applicazioni dello sviluppo tecnologico.

  • Relazione Ingegneria del Software

    ULMS University Library Management System

    - 58 -

    16. Bibliografia

    [1] Ingegneria del Software - Prof. G. Scollo

    http://www.ippari.unict.it/~scollo/corsi/2006-7/is1/gsids1/it/class/html/unit_programma.html

    [2] Legge Stanca http://www.diodati.org/scritti/2004/legge4_2004/

    [3] Progettazioni siti web - Giacomo Coccolini www.coccolinigiacomo.it/files/strumenti_e_metodi.pdf

    [4] Accessibilit di siti web - Laura Burzagli e Paolo Graziani http://www.ifac.cnr.it/smid/accesso/accesso.htm

    [5] Manuale per la qualit dei siti Web pubblici culturali - Progetto MINERVA http://www.minervaeurope.org/publications/qualitycriteria-i/indice0512.html

    [6] Usabilit per la comunicazione pubblica http://www.urp.it/cpusabile/index95ee.html

    [7] Ingegneria del Software - Prof. G. A. Di Lucca - Dip. di Ingegneria, Univ. del Sannio http://www.ing.unisannio.it/dilucca/LSISW/materiale0405/Cocomo.pdf

    [8] Ingegneria del Software - Prof.ssa Stefania Gnesi http://fmt.isti.cnr.it/~gnesi/matdid/IngSoftCap1_4.pdf

    [9] Rischi, requisiti e stima di un progetto software - Roberto Meli www.dpo.it/resources/papers/1999-escom-risks-it.pdf

    [10] I modelli di qualit del software - Gianluigi Raiss http://www2.cnipa.gov.it/site/_contentfiles/01379900/1379951_ISO%209126.pdf

    [11] Sviluppo del SW - Scozzari http://www.sci.unich.it/~scozzari/ingsw/ingsw.pdf

    [12] SSIS Ingegneria del Software - G.A. Cignoni - Dip. Di Informatica, Universit di Pisa http://www.sci.unich.it/~scozzari/ingsw/ingsw.pdf

    [13] Analisi e progettazione object-oriented - Giacomo Piscitelli http://www-ictserv.poliba.it/piscitelli/doc/appunti_fi/OO_UML.pdf

    [14] An Introduction to Software Architecture - David Garlan and Mary Shaw http://www.cs.cmu.edu/afs/cs/project/able/ftp/intro_softarch/intro_softarch.pdf

  • Relazione Ingegneria del Software

    ULMS University Library Management System

    - 59 -

    [15] An Introduction to Implicit Invocation Architectures - Benjamin Edwards http://www.mach-ii.com/resources/intro_to_implicit_invocation.pdf

    [16] Software Engineering, 5th edition. Chapter 13 - Ian Sommerville http://www.mfn.unipmn.it/~giannini/ING_SW100/Lucidi/Ch_13.pdf

    [17] Architetture - Ing. E. Tramontana http://www.dmi.unict.it/~tramonta/se/L9_Architetture.pdf

    [18] Il metodo COCOMO per la stima dei costi di sviluppo del software - Luigi Lavazza http://webbook.cefriel.it/download/COCOMO.pdf

    [19] Principi di misurazione del software - Prof.ssa Stefania Gnesi http://fmt.isti.cnr.it/~gnesi/matdid/metriche.pdf