Tecniche di riuso del software: applicazione ad un caso di studio reale



Documenti analoghi
Titolo della tesi Testing Black Box di un Web Service : sperimentazione su di un servizio con stato

Il sistema operativo TinyOS

con ANTLR tesi di laurea Anno Accademico Relatore Ch.mo prof. Porfirio Tramontana Candidato Fabio Canova Matr

Strumenti per la gestione della configurazione del software

Un sistema di identificazione basato su tecnologia RFID

Sistemi informativi secondo prospettive combinate

Anagrafica. Check-List. Autocomposizione guidata

Analisi e sviluppo di un componente per un ESB open source

Casi di studio sulla migrazione di applicazioni web verso servizi REST Anno Accademico 2008/2009

SOFTWARE A SUPPORTO DELLA GESTIONE AMMINISTRATIVA DELLO SPORTELLO UNICO SPECIFICA DEI REQUISITI UTENTE

LA SOLUZIONE. EVOLUTION, con la E LA TECNOLOGIA TRASPARENTE IL SOFTWARE INVISIBILE INVISIBILE ANCHE NEL PREZZO R.O.I. IMMEDIATO OFFERTA IN PROVA

Applicazione: GPE - Gestione Prenotazione Eventi

Intesa Spa Ottobre 2015

Un Sistema Informativo per il Monitoraggio di Apparati Radar mediante l uso di Griglie Computazionali

Service Oriented Architecture what and why? QuickTime and a decompressor are needed to see this picture.

tesi di laurea Anno Accademico 2009/2010 relatore Ch.mo prof. Porfirio Tramontana candidato Pasquale Ludi Matr. 534\000438

L architettura del sistema può essere schematizzata in modo semplificato dalla figura che segue.

Realizzazione di Web Service per l estrazione di informazioni da siti web enciclopedici

Introduzione alla teoria dei database relazionali. Come progettare un database

Progetto e sviluppo di un applicazione per il pilotaggio remoto di reti

Progettazione ed implementazione di un tool per lo sviluppo di applicazioni in Esperanto

Analisi e sperimentazione della piattaforma Web Service Notification nell ambito del controllo del traffico aereo

Progetto ed implementazione di un tool di supporto allo sviluppo di applicazioni per Linux LibeRTOS

Una Soluzione di NAT Traversal per un sistema di comunicazione VOIP per una PMI

Introduzione alle basi di dati. Gestione delle informazioni. Gestione delle informazioni. Sistema informatico

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

Dispensa di Informatica I.1

LA FORMAZIONE E LA CONSERVAZIONE DELLA MEMORIA DIGITALE

Database. Si ringrazia Marco Bertini per le slides

MONITORAGGIO UNITARIO PROGETTI 2007/2013 PROTOCOLLO DI COLLOQUI ANALISI ATTIVAZIONE SERVIZIO IGRUE IN SPCOOP. Link.it srl - Analisi Servizio IGRUE 1

Centro Tecnico per la Rete Unitaria della Pubblica Amministrazione

Università Politecnica delle Marche. Progetto Didattico

12. Evoluzione del Software

Università degli studi Roma Tre Dipartimento di informatica ed automazione. Tesi di laurea

Regione Piemonte Portale Rilevazioni Crediti EELL Manuale Utente

Power-Studio è un semplice, veloce potente ed intuitivo applicativo software di monitoraggio e supervisione energetica che consente di realizzare:

Obiettivi d esame PHP Developer Fundamentals on MySQL Environment

11. Evoluzione del Software

Istituto Centrale per il Catalogo Unico delle Biblioteche Italiane. e per le Informazioni bibliografiche. Manuali utente per SBN WEB. Versione 1.

2 Gli elementi del sistema di Gestione dei Flussi di Utenza

Allegato A al CCNL 2006/2009 comparto Ministeri

INTEGRATA OTTIMIZZAZIONE DEI PROCESSI AZIENDALI

Realizzazione di un Tool per l iniezione automatica di difetti all interno di codice Javascript

Il glossario della Posta Elettronica Certificata (PEC) Diamo una definizione ai termini tecnici relativi al mondo della PEC.

IL SOFTWARE SECONDO LA NORMA UNI EN ISO :2008 (IIA PARTE) 1

Università degli Studi Roma Tre

Presentazione di Cedac Software

Software di interfacciamento sistemi gestionali Manuale di installazione, configurazione ed utilizzo

Modulo 3 - Elaborazione Testi 3.5 Stampa unione

UNIVERSITA DEGLI STUDI ROMA TRE

Manuale di Aggiornamento BOLLETTINO. Rel H4. DATALOG Soluzioni Integrate a 32 Bit

INTEGRATA OTTIMIZZAZIONE DEI PROCESSI AZIENDALI

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

Realizzazione di un applicazione per la stesura di un Business Plan

Archivio CD. Fondamenti di Programmazione

SCHEDA PRODOTTO PAG. 1 J O B T I M E W F. Variazioni mensili al cartellino presenze. Versione 6.1. JOBTIME Work Flow

Direzione Centrale per le Politiche dell Immigrazione e dell Asilo

SAP BusinessObjects Versione del documento: Manuale di installazione di Dashboards LiveCycle Data Services Gateway

Un architettura di servizi integrati di comunicazione su rete IP per una PMI

Tesi Di Laurea. Anno Accademico 2010/2011. relatore Ch.mo prof. Cinque Marcello. correlatore Ch.mo Ing. Catello Cacace

Concetti di base di ingegneria del software

Test in automatico di programmi Android

Consente alle aziende di raggiungere l obiettivo di totale dematerializzazione della documentazione aziendale. Distribuzione documentale

La Metodologia adottata nel Corso

CORSO ACCESS PARTE II. Esistono diversi tipi di aiuto forniti con Access, generalmente accessibili tramite la barra dei menu (?)

Gestione in qualità degli strumenti di misura

Liberare la memoria allocata dinamicamente.

Al giorno d oggi, i sistemi per la gestione di database

Archivi e database. Prof. Michele Batocchi A.S. 2013/2014

Sviluppo e manutenzione di un applicazione CAD tramite le WPF e l MV-VM

crazybrain snc Presentazione_VisualFTP.pdf Pag. 1 VisualFTP Presentazione del prodotto Web partner:

Mail Cube Guida utente

Progetto IRIDE Automazione Iter atti amministrativi. Geri Patrizio - Sistema Informativo

MANUALE ESSE3 Gestione Registro delle lezioni

Guida all utilizzo di Moodle per gli studenti

Organizzazione delle informazioni: Database

Università degli Studi "Roma Tre" Dipartimento di Informatica ed automazione. Facoltà di Ingegneria

2010 Ing. Punzenberger COPA-DATA Srl. Tutti i diritti riservati.

E 2 T 2 ENTERPRISE ENGINE FOR TROUBLE TICKETING

Allegato) all art.4 punto 5 Informatizzazione del Magazzino

Implementazione di un servizio VoIP in ambienti SOA per mobile computing

Gestione della posta elettronica e della rubrica.

Guida all installazione di Easy

Cosa è un foglio elettronico

Realizzazione di interazioni sincrone e asincrone tra applicazioni Web 2.0

MANUALE UTENTE Profilo Azienda Partecipata. APPLICATIVO CAFWeb

Analisi e sviluppo di un portale di e-commerce

LA GESTIONE DELLE VISITE CLIENTI VIA WEB

11/02/2015 MANUALE DI INSTALLAZIONE DELL APPLICAZIONE DESKTOP TELEMATICO VERSIONE 1.0

L apposizione di firme e informazioni su documenti firmati

BDCC : Guida rapida all utilizzo

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

SUAP. Per gli operatori SUAP/amministratori. Per il richiedente

Memorizzazione affidabile di dati in un ambiente di Griglia

Manuale Utente Amministrazione Trasparente GA

Politecnico di Bari Corso di Laurea Specialistica in Ingegneria Informatica A.A Casi di Studio. Traccia n 1

Manuale di utilizzo del sito ASUWEB

POSTECERT POST CERTIFICATA GUIDA ALL USO DELLA WEBMAIL

Un Sistema per il Monitoraggio di Reti di Sensori da Terminali Mobili

Transcript:

tesi di laurea Tecniche di riuso del software: applicazione ad un caso di studio reale Anno Accademico 2005-2006 relatore Ch.mo prof. Porfirio Tramontana correlatore Sig. Mario Polverino candidato Luigi Gagliardo Matr. 534/1767

Per riuso si intende la possibilità di riusare pezzi di software Riuso e riusabilità Per riusabilità si intende la possibilità di sviluppare pezzi di software che siano riusabili L obiettivo è di evidenziare i vantaggi e le tecniche del riuso, e discutere circa la riusabilità dei componenti Individuazione di componenti e operazioni atte alla componentizzazione di Mail Hotel, software sviluppato nell Alpha Service

Tecniche di riuso dei componenti e legacy Szyperski: : un componente è un unità di composizione con interfacce specificate ed esplicite che può essere installato indipendentemente ente ed assemblato insieme ad altri componenti provenienti da terze parti Sviluppo software CBD (Component( Component-based-development) Prelevare componenti da uno scaffale Aggiungere componenti custom Rispettare i principi di progettazione Integrare i componenti Architettura COTS-based Wrapper Glue Tailoring

Dai componenti ai servizi: web services Funzionalità di business realizzata tramite un componente che rispetta un interfaccia Unità elementare: riuso dei web services affine a quello delle funzioni Regole architettura SOA Servizi ricercabili e recuperabili dinamicamente Servizi autocontenuti,, modulari, e stateless Servizi con interfacce esplicite e indipendenti dall implementazione ione Servizi loosely-copled Servizi accessibili trasparentemente rispetto all allocazione Servizi con interfacce a grana grossa Servizi componibili

Mail Hotel: overview Requisiti Gestione e-mail e e allegati Download e upload dei messaggi di posta Filtraggio delle e-maile Gestione delle prenotazioni e ospiti Gestione delle risposte delle e-maile Gestione degli operatori

Verifiche per l identificazione Verificare che all interno del progetto esistano delle parti (componenti, classi, variabili) che appartengano allo stesso livello logico o area del l dominio Verificare, dopo aver individuato le parti, che non esistano dipendenze ineliminabili con funzionalità (o dati) appartenenti ad altre aree del dominio Verificare che le parti candidate alla componentizzazione siano autosufficienti, ovvero che il componente sia indipendente dallo specifico contesto operativo Verificare che sia possibile definire un interfaccia specifica, in modo da rendere più semplice l assemblaggio del componente insieme ad altri

Uno sguardo di insieme secondo Vidger

Componentizzazione di Mail Manipulation Inserire in un componente le classi clsmail, clsmailpart,, i moduli per la codifica e decodifica dei messaggi MIME, e per la visualizzazione e creazione di e-mail. e Eliminare le dipendenze che sussistono con il modulo che gestisce e la comunicazione con il DB. Aggiungere nel componente una proprietà che identifichi l oggetto o mail visualizzato, in modo da poterlo manipolare e modificare a prescindere dall interfaccia grafica. Implementare l evento: MailScritta (in cui è possibile manipolare la mail che l utente ha scritto). Fare in modo che il componente comunichi con l ambiente esterno o soltanto tramite lo scambio di stringhe in formato MIME: le funzioni devono accettare e come parametri di ingresso stringhe in formato MIME e restituire in uscita stringhe e in formato MIME. Inserire un metodo per la visualizzazione di una mail in formato o MIME: ad esempio public function VisualizzaMail(MailMIME MailMIME As String) Effettuare un wrapping con tecnologia OCX

Modello 3C di Tracz di Mail Manipulation Concetto: Il componente serve ad effettuare la lettura e la scrittura di e-mail e con eventuali allegati Contenuto: Il componente effettua, per quanto riguarda la lettura, il parsing del messaggio in formato MIME, e traduce il suo contenuto, tramite i moduli aggiuntivi per la codifica e la decodifica del testo in quoted-printable (o UU) e degli allegati scritti in base64. Per quanto concerne la scrittura, il componente formatta i campi inseriti dall utente secondo il formato MIME. È organizzato in una libreria per la decodifica base64, le classi clsmail e clsmailpart,, e due moduli per la decodifica UU e quoted-printable Contesto: Il componente si può utilizzare su macchine dotate di sistema operativo Windows. È possibile usare il componente per leggere dei messaggi MIME: ad esempio da un file, oppure da una variabile di tipo stringa. È anche possibile utilizzare il componente in concomitanza con un modulo per la scrittura di file di testo, per r salvare i messaggi di posta

Glue tra DB e Mail Manipulation Funge da ponte Flusso di controllo

Conclusioni e sviluppi futuri L obiettivo è evidenziare che lo sviluppo di software con il riuso rappresenta una risposta efficace ed efficiente alla richiesta di software di qualità Il riuso e la riusabilità sono obiettivi complicati La componentizzazione di Mail Hotel è un esempio di come effettuare un reenginering dei componenti Guardare a nuovi standard e tecnologie che permettano l interoperabilità Implementare le modifiche progettate ed effettuare la migrazione tra VB6 e VB.net per una maggiore interoperabilità, portabilità e riusabilità Ed uno sguardo ai web services: : il problema della semantica