BiblioTech - Personal Digital Library



Похожие документы
Applicazione: SAI - Sistema di Audit Interno

Architetture Applicative

12. Evoluzione del Software

Gestione Turni. Introduzione

xmlegeseditor un editore open-source per la redazione di testi normativi

11. Evoluzione del Software

.EVERYWHERE LOGIN. entra nel futuro. partnership signed

Concetti di base di ingegneria del software

Base di dati e sistemi informativi

Provincia di Rimini Servizio Infrastrutture Territoriali e Tecnologiche Ufficio Sistemi Informativi. Scambio dati digitali Cittadini Provincia

ADEGUATEZZA O ADEGUAMENTO DEL SOFTWARE PRÊT-À-PORTER ALLE ESIGENZE DEGLI UTENTI PROF. FABIO A. SCHREIBER POLITECNICO DI MILANO

Automazione Industriale (scheduling+mms) scheduling+mms.

Sistemi avanzati di gestione dei Sistemi Informativi

Applicazione: GAS - Gestione AcceSsi

Giuseppe Capizzi. Ambienti di sviluppo Open Source

Organizzazione dell'interfaccia utente su Android

Con SIGNUM è possibile intervenire con diversi livelli di personalizzazione e controllo sui dati letti. In particolare SIGNUM può essere usato:

C4B Doc. Gestione Documentale, permette di. organizzare l archiviazione e, la gestione dei documenti

Progetto Virtualizzazione

Il CMS Moka. Giovanni Ciardi Regione Emilia Romagna

Conservazione dei Documenti Digitali. 22 settembre 2015

cin>>c8 s.r.l. Consuntivo Pagina 1 di 11 Consuntivo

Ciclo di vita dimensionale

PROGETTAZIONE DI UN SITO WEB

Indice generale. Gli autori...xiii. Prefazione...xv. Benvenuti nel cloud computing...1

Generazione Automatica di Asserzioni da Modelli di Specifica

Lezione 1. Introduzione e Modellazione Concettuale

Corso sul pacchetto R

ALLEGATO 8.1 DESCRIZIONE PROFILI PROFESSIONALI

InitZero s.r.l. Via P. Calamandrei, Arezzo

Dal software al CloudWare

J2EE (o JEE): Framework Java per lo sviluppo di applicazioni WEB Enterprise, che vivono in rete e che siano accessibili attraverso browser.

UML e (R)UP (an overview)

Ciclo di vita del software

MagiCum S.r.l. Progetto Inno-School

3 Automazione Web-based con Saia S-Web

Componenti Web: client-side e server-side

15 volte più veloce. per ridurre TCO e time-to-market

Scenario di Progettazione

Specifiche dello sviluppo di un progetto software e indicazioni sulla documentazione e sulle modalità di esercizio delle prestazioni

Software LMV per la gestione degli strumenti

REALIZZAZIONE LAN

CONTENT MANAGEMENT SYSTEM

Progetto di Applicazioni Software

Realizzazione di un prototipo di un software web based per la gestione di un inventario comunale

Grazie a Ipanema, Coopservice assicura le prestazioni delle applicazioni SAP & HR, aumentando la produttivita del 12%

Informatica. Prof. A. Longheu. Introduzione a Java

Il software impiegato su un computer si distingue in: Sistema Operativo Compilatori per produrre programmi

Gestione parte IIC. Diagrammi di Gantt. Esempio. Schemi di scomposizione delle attività

CREA IL CATALOGO DEI TUOI PRODOTTI SU IPAD E IPHONE CON UN APP. ANZI, CON UPP!

Sviluppo e Gestione dei Progetti. docente: Prof. Filippo Ghiraldo f.ghiraldo@bep.co.it

Gestione Forniture Telematiche

GHPPEditor è un software realizzato per produrre in modo rapido e guidato un part program per controlli numerici Heidenhain.

smartsign Firma. Inizia la rivoluzione. Start Pro Cloud

PROXYMA Contrà San Silvestro, Vicenza Tel Fax

la possibilità di usufruire di un sistema di gestione documentale.

Rotta verso il successo con la bihlership

Sistemi informativi secondo prospettive combinate

Software. Definizione, tipologie, progettazione

Una soluzione che guarda oltre l archiviazione documentale

REALIZZAZIONE DI UN LABORATORIO REMOTO PER ESPERIENZE DI ROBOTICA EDUCATIVA: LATO CLIENT

TIMESHARK: Uno strumento per la visualizzazione e l analisi delle supertimelines. Relatore: Federico Grattirio

INFORMAZIONI PERSONALI

Università degli Studi di Parma Facoltà di Scienze MM. FF. NN. Corso di Laurea in Informatica. Ingegneria del Software. La fase di Analisi

Presentazione della tesi di laurea di Flavio Casadei Della Chiesa. Newsletter: un framework per una redazione web

Piano di gestione della qualità

Strumenti di gestione del ciclo di vita del software

Eseguire velocemente operazioni complesse che in altri modi sarebbero lunghe e dispendiose in termini di risorse. Cosa proponiamo

Ciclo di vita del progetto

Un nuovo modo per fare analisi e generare documenti dinamici

Progetto di Applicazioni Software

Il modello di ottimizzazione SAM

Architettura di un sistema operativo

Il controllo qualità con GOM nel settore Automotive

Project Planning. Politecnico di Milano. Progetto di Ingegneria del Software novembre Elisabetta Di Nitto Raffaela Mirandola

Gestione documentale. Arxivar datasheet del Pag. 1

Docebo: la tua piattaforma E-Learning Google Ready.

Esercitazioni di PROGETTAZIONE DEL SOFTWARE A.A

ArcGIS Online & ArcGIS Server Un portale cartografico completo per la promozione del proprio patrimonio cartografico

Principi dell ingegneria del software Relazioni fra

ING SW. Progetto di Ingegneria del Software. e-travel. Requisiti Utente. Specifiche Funzionali del Sistema

La Metodologia adottata nel Corso

COME SVILUPPARE UN EFFICACE PIANO DI INTERNET MARKETING

Tecnologie dell informazione e della comunicazione per le aziende

GESTIONE OPERATIVA E LOGISTICA DEGLI APPROVVIGIONAMENTI. Come aumentare l efficienza attraverso una nuova gestione del processo di approvvigionamento

Applicazione: Share - Sistema per la gestione strutturata di documenti

MODULO 5 Appunti ACCESS - Basi di dati

Come usare P-touch Transfer Manager

Corso Analista Programmatore Web PHP Corso Online Analista Programmatore Web PHP

13. Ciclo di Vita e Processi di Sviluppo

PROTOTIPAZIONE DI UN TRADUTTORE DA SORGENTE PLC AD ASSEMBLY DI UNA MACCHINA VIRTUALE

Lezione 4 La Struttura dei Sistemi Operativi. Introduzione

Транскрипт:

Albana Gaba Alessandro Pegoraro Mirco Bocedi Fabio Giuseppe Strozzi Gruppo 8

Obiettivo Creare un software efficiente per la catalogazione di documenti digitali in categorie personalizzabili dall utente.

Funzionalità Scelte tecniche Architettura Funzionalità principali i documenti possono essere arricchiti da meta-dati. si possono creare delle relazioni navigabili tra i documenti. si possono effettuare delle ricerche sul catalogo o sul web. i doppioni vengono riconosciuti. supporto per qualunque tipo di file. portabile: funziona sia su OSs Windows che Linux. scalabile: ottime prestazioni anche con un elevato numero di documenti. le funzionalità possono essere estese e/o automatizzate tramite l uso di plugin.

Funzionalità Scelte tecniche Architettura Funzionalità principali i documenti possono essere arricchiti da meta-dati. si possono creare delle relazioni navigabili tra i documenti. si possono effettuare delle ricerche sul catalogo o sul web. i doppioni vengono riconosciuti. supporto per qualunque tipo di file. portabile: funziona sia su OSs Windows che Linux. scalabile: ottime prestazioni anche con un elevato numero di documenti. le funzionalità possono essere estese e/o automatizzate tramite l uso di plugin.

Funzionalità Scelte tecniche Architettura Funzionalità principali i documenti possono essere arricchiti da meta-dati. si possono creare delle relazioni navigabili tra i documenti. si possono effettuare delle ricerche sul catalogo o sul web. i doppioni vengono riconosciuti. supporto per qualunque tipo di file. portabile: funziona sia su OSs Windows che Linux. scalabile: ottime prestazioni anche con un elevato numero di documenti. le funzionalità possono essere estese e/o automatizzate tramite l uso di plugin.

Funzionalità Scelte tecniche Architettura Funzionalità principali i documenti possono essere arricchiti da meta-dati. si possono creare delle relazioni navigabili tra i documenti. si possono effettuare delle ricerche sul catalogo o sul web. i doppioni vengono riconosciuti. supporto per qualunque tipo di file. portabile: funziona sia su OSs Windows che Linux. scalabile: ottime prestazioni anche con un elevato numero di documenti. le funzionalità possono essere estese e/o automatizzate tramite l uso di plugin.

Funzionalità Scelte tecniche Architettura Funzionalità principali i documenti possono essere arricchiti da meta-dati. si possono creare delle relazioni navigabili tra i documenti. si possono effettuare delle ricerche sul catalogo o sul web. i doppioni vengono riconosciuti. supporto per qualunque tipo di file. portabile: funziona sia su OSs Windows che Linux. scalabile: ottime prestazioni anche con un elevato numero di documenti. le funzionalità possono essere estese e/o automatizzate tramite l uso di plugin.

Funzionalità Scelte tecniche Architettura Funzionalità principali i documenti possono essere arricchiti da meta-dati. si possono creare delle relazioni navigabili tra i documenti. si possono effettuare delle ricerche sul catalogo o sul web. i doppioni vengono riconosciuti. supporto per qualunque tipo di file. portabile: funziona sia su OSs Windows che Linux. scalabile: ottime prestazioni anche con un elevato numero di documenti. le funzionalità possono essere estese e/o automatizzate tramite l uso di plugin.

Funzionalità Scelte tecniche Architettura Funzionalità principali i documenti possono essere arricchiti da meta-dati. si possono creare delle relazioni navigabili tra i documenti. si possono effettuare delle ricerche sul catalogo o sul web. i doppioni vengono riconosciuti. supporto per qualunque tipo di file. portabile: funziona sia su OSs Windows che Linux. scalabile: ottime prestazioni anche con un elevato numero di documenti. le funzionalità possono essere estese e/o automatizzate tramite l uso di plugin.

Funzionalità Scelte tecniche Architettura Funzionalità principali i documenti possono essere arricchiti da meta-dati. si possono creare delle relazioni navigabili tra i documenti. si possono effettuare delle ricerche sul catalogo o sul web. i doppioni vengono riconosciuti. supporto per qualunque tipo di file. portabile: funziona sia su OSs Windows che Linux. scalabile: ottime prestazioni anche con un elevato numero di documenti. le funzionalità possono essere estese e/o automatizzate tramite l uso di plugin.

Funzionalità Scelte tecniche Architettura Funzionalità principali i documenti possono essere arricchiti da meta-dati. si possono creare delle relazioni navigabili tra i documenti. si possono effettuare delle ricerche sul catalogo o sul web. i doppioni vengono riconosciuti. supporto per qualunque tipo di file. portabile: funziona sia su OSs Windows che Linux. scalabile: ottime prestazioni anche con un elevato numero di documenti. le funzionalità possono essere estese e/o automatizzate tramite l uso di plugin.

Funzionalità Scelte tecniche Architettura Scelte tecniche linguaggio di programmazione Java. librerie grafiche SWT. tools di sviluppo: Eclipse, CVS, Inkscape, Umbrello e LaTex. largo utilizzo di componenti esistenti: Hsqldb, JUnit, JDom, Google API, Fast MD5, ecc.

Funzionalità Scelte tecniche Architettura Architettura

Funzionalità Scelte tecniche Architettura Vantaggi La modularità dell architettura comporta i seguenti vantaggi: è possibile sostituire la GUI senza perdere le funzionalità, ad esempio con: servlet Java o PHP e HTML. UI testuale (console Linux). Java Swing. lo sviluppatore della GUI utilizza delle primitive molto semplici del Core e del cercatore: non deve preoccuparsi dello stable storage, astrazione dei documenti simile agli Entity EJB. facilità di manutenzione. suddivisione più semplice delle responsabilità dei membri del team e possibilità di sviluppo concorrente.

Funzionalità Scelte tecniche Architettura Vantaggi La modularità dell architettura comporta i seguenti vantaggi: è possibile sostituire la GUI senza perdere le funzionalità, ad esempio con: servlet Java o PHP e HTML. UI testuale (console Linux). Java Swing. lo sviluppatore della GUI utilizza delle primitive molto semplici del Core e del cercatore: non deve preoccuparsi dello stable storage, astrazione dei documenti simile agli Entity EJB. facilità di manutenzione. suddivisione più semplice delle responsabilità dei membri del team e possibilità di sviluppo concorrente.

Funzionalità Scelte tecniche Architettura Vantaggi La modularità dell architettura comporta i seguenti vantaggi: è possibile sostituire la GUI senza perdere le funzionalità, ad esempio con: servlet Java o PHP e HTML. UI testuale (console Linux). Java Swing. lo sviluppatore della GUI utilizza delle primitive molto semplici del Core e del cercatore: non deve preoccuparsi dello stable storage, astrazione dei documenti simile agli Entity EJB. facilità di manutenzione. suddivisione più semplice delle responsabilità dei membri del team e possibilità di sviluppo concorrente.

Funzionalità Scelte tecniche Architettura Vantaggi La modularità dell architettura comporta i seguenti vantaggi: è possibile sostituire la GUI senza perdere le funzionalità, ad esempio con: servlet Java o PHP e HTML. UI testuale (console Linux). Java Swing. lo sviluppatore della GUI utilizza delle primitive molto semplici del Core e del cercatore: non deve preoccuparsi dello stable storage, astrazione dei documenti simile agli Entity EJB. facilità di manutenzione. suddivisione più semplice delle responsabilità dei membri del team e possibilità di sviluppo concorrente.

Funzionalità Scelte tecniche Architettura Vantaggi La modularità dell architettura comporta i seguenti vantaggi: è possibile sostituire la GUI senza perdere le funzionalità, ad esempio con: servlet Java o PHP e HTML. UI testuale (console Linux). Java Swing. lo sviluppatore della GUI utilizza delle primitive molto semplici del Core e del cercatore: non deve preoccuparsi dello stable storage, astrazione dei documenti simile agli Entity EJB. facilità di manutenzione. suddivisione più semplice delle responsabilità dei membri del team e possibilità di sviluppo concorrente.

Modello di sviluppo Modifiche al piano Waterfall con prototipazione Avvio Elaborazione Costruzione Transizione Flusso di lavoro: revisione e analisi dei requisiti inizio del prototipo stesura di un piano operativo stime dei costi e dei rischi

Modello di sviluppo Modifiche al piano Waterfall con prototipazione Avvio Elaborazione Costruzione Flusso di lavoro: progettazione prime implementazioni Transizione

Modello di sviluppo Modifiche al piano Waterfall con prototipazione Avvio Elaborazione Costruzione Transizione Flusso di lavoro: implementazione del Core il prototipo si evolve nella GUI test delle unità

Modello di sviluppo Modifiche al piano Waterfall con prototipazione Avvio Elaborazione Costruzione Transizione Flusso di lavoro: test finali, validazione completamento della documentazione pubblicazione

Modello di sviluppo Modifiche al piano Modifiche al piano di processo Ragioni che hanno portato al ritardo nello sviluppo: LOC richieste per implementare il progetto maggiori di quelle previste, quindi molte ore dedicate ai test (evitare l integration hell), più di quante ne aveva previste COCOMO. errata pianificazione temporale dei task, in data 31/1 non erano ancora ultimati: alcuni dei plugin previsti nelle specifiche. il componente cercatore. l interfaccia grafica: l inesperienza con le librerie SWT era tra i principali rischi previsti.

Sforzo e costo Crescita del software Sforzo e costo in base a COCOMO II Previsione iniziale Circa 5000 LOC per uno sforzo totale di 12 mp e un costo tra 12000 e 27000 $. Risultato finale Circa 12000 LOC (inclusi i plugin ma esclusi i test e la documentazione), 714 ore totali di lavoro. Se 1 mp equivale a 152 ore di lavoro (secondo COCOMO), lo sforzo complessivo è di 4,7 mp.

Sforzo e costo Crescita del software Sforzo e costo in base a COCOMO II Previsione iniziale Circa 5000 LOC per uno sforzo totale di 12 mp e un costo tra 12000 e 27000 $. Risultato finale Circa 12000 LOC (inclusi i plugin ma esclusi i test e la documentazione), 714 ore totali di lavoro. Se 1 mp equivale a 152 ore di lavoro (secondo COCOMO), lo sforzo complessivo è di 4,7 mp.

Sforzo e costo Crescita del software A posteriori... Terminato il progetto abbiamo ricalcolato lo sforzo con COCOMO II usando dei parametri più ottimistici e in particolare: ridotta l influenza dei rischi; aumentata la flessibilità e l esperienza del team; ridotta la complessità del progetto (da alta a normale); Anche se le linee di codice ora sono 12000... Il coefficiente di sforzo si riduce da 0,65 a 0,15 e lo sforzo finale è stimato a 4,5 mp.

Sforzo e costo Crescita del software Crescita del software in termini di LOC 55% LOC del sistema, 24% LOC dei test, 21% LOC della documentazione.

SourceForge Correzioni al processo Modifiche e nuove funzionalità Il ciclo di vita del software non è terminato Il progetto è stato registrato su SourceForge, verrà rilasciato con licenza GPL: http://yadoda.sourceforge.net Yet Another Document Oriented Desktop Application

SourceForge Correzioni al processo Modifiche e nuove funzionalità Correzioni al processo di sviluppo ripetere il modello a cascata per l introduzione di ogni nuova funzionalità: il processo nell insieme diventa a spirale. pianificare delle revisioni tecniche formali. utilizzare JML e il design by contract per generare automaticamente i test di tipo black-box. utilizzare il servizio di bug tracking di SourceForge. migliorare la pianificazione dei rilasci.

SourceForge Correzioni al processo Modifiche e nuove funzionalità Correzioni al processo di sviluppo ripetere il modello a cascata per l introduzione di ogni nuova funzionalità: il processo nell insieme diventa a spirale. pianificare delle revisioni tecniche formali. utilizzare JML e il design by contract per generare automaticamente i test di tipo black-box. utilizzare il servizio di bug tracking di SourceForge. migliorare la pianificazione dei rilasci.

SourceForge Correzioni al processo Modifiche e nuove funzionalità Correzioni al processo di sviluppo ripetere il modello a cascata per l introduzione di ogni nuova funzionalità: il processo nell insieme diventa a spirale. pianificare delle revisioni tecniche formali. utilizzare JML e il design by contract per generare automaticamente i test di tipo black-box. utilizzare il servizio di bug tracking di SourceForge. migliorare la pianificazione dei rilasci.

SourceForge Correzioni al processo Modifiche e nuove funzionalità Correzioni al processo di sviluppo ripetere il modello a cascata per l introduzione di ogni nuova funzionalità: il processo nell insieme diventa a spirale. pianificare delle revisioni tecniche formali. utilizzare JML e il design by contract per generare automaticamente i test di tipo black-box. utilizzare il servizio di bug tracking di SourceForge. migliorare la pianificazione dei rilasci.

SourceForge Correzioni al processo Modifiche e nuove funzionalità Correzioni al processo di sviluppo ripetere il modello a cascata per l introduzione di ogni nuova funzionalità: il processo nell insieme diventa a spirale. pianificare delle revisioni tecniche formali. utilizzare JML e il design by contract per generare automaticamente i test di tipo black-box. utilizzare il servizio di bug tracking di SourceForge. migliorare la pianificazione dei rilasci.

SourceForge Correzioni al processo Modifiche e nuove funzionalità Correzioni al processo di sviluppo ripetere il modello a cascata per l introduzione di ogni nuova funzionalità: il processo nell insieme diventa a spirale. pianificare delle revisioni tecniche formali. utilizzare JML e il design by contract per generare automaticamente i test di tipo black-box. utilizzare il servizio di bug tracking di SourceForge. migliorare la pianificazione dei rilasci.

SourceForge Correzioni al processo Modifiche e nuove funzionalità Modifiche e nuove funzionalità migliorare il meccanismo di ricerca, ad esempio permettendo l utilizzo di shell pattern (o regular expression) sui meta-value. migliorare il meccanismo di deduzione dei tipi di file (abbandonare il mime-type). creare nuovi plugin per dedurre le categorie di catalogazione, eventuali relazioni. creare plugin intelligienti per la ricerca dei doppioni, sfruttando ad esempio le teniche usate per combattere lo spam. creare nuove viste grafiche, ad esempio per mezzo di grafi.