SlideShare a Scribd company logo
Università degli studi dell’Aquila
                                      Facoltà di Ingegneria
                             Laurea in Ingegneria Informatica e Automatica




                   REFACTORING MEDIANTE PATTERN MVC
                     DI UN’APPLICAZIONE WEB-BASED
                 A SUPPORTO DI UNA RESEARCH COMMUNITY


          Relatore                                                                    Laureando
          Prof. Serafino Cicerone                                            Stefano Giansante



                                    Anno accademico 2008-2009

sabato 18 giugno 2011                                                                             1
Dipartimento universitario

     Organizzazione di uno o più settori di ricerca omogenei che ha
     il compito di coordinare l’attività di ricerca dei suoi membri



         Differenti tipologie di utenti con differenti diritti e doveri
         Differenti tipologie di risorse
         Differenti settori all’interno dell’organizzazione
         Condivisione dei documenti da parte dei membri
         Collocazione geografica differente dei membri




sabato 18 giugno 2011                                                      2
Groupware
     Software collaborativo, insieme di tecnologie pensate per
     supportare il lavoro cooperativo da parte di gruppi di persone.

                        ‘Collocazione geografica differente dei membri’




      (W)CMS
      Strumento software studiato per facilitare la gestione dei
      contenuti di portali web, svincolando l'amministratore da
      conoscenze tecniche di programmazione


sabato 18 giugno 2011                                                     3
Joomla!

    Content Management System personalizzabile attraverso estensioni
    disponibili (50.000 sviluppatori nella comunità)

      Componenti
      Moduli
      Altre estensioni: Template, Plugin, Lingue




                           Contesto ed esigenze specifiche?


                        Utilizzo del Framework Joomla!

sabato 18 giugno 2011                                                  4
Framework di sviluppo
    Struttura sulla quale basare la progettazione e lo sviluppo di un
    applicativo software

         Librerie di codice utilizzabili

         Soluzioni solide ed efficienti a problemi ricorrenti

         Velocità e qualità del prodotto finale elevate

     Svantaggi

         Possiede una propria architettura e logica che vanno studiate


sabato 18 giugno 2011                                                     5
Situazione di partenza
      Tool software a supporto delle attività del dipartimento di ricerca
      Sviluppo basato sul Framework Joomla!
      Sviluppato in due periodo differenti




                                                   Co
                           Com                                                com
      Gestione      Gestione   Gestione    Gestione      Gestione      Gestione     Gestione   Gestione
      Temi          Progetti   Contratti   Pubblicazio   Modulistica   Convocazio   Beni       Report

                    Joomla 1.0                                         Joomla 1.5.8



sabato 18 giugno 2011                                                                                     6
Release a confronto
                    Joomla 1.0                            Joomla 1.5.8


       Assenza di una struttura ben definita
                                                   Separazione tra logica e presentazione
       Difficoltà nell’estensione                 Introduzione del pattern MVC




sabato 18 giugno 2011                                                                        7
Problema
                               Qualità del software

         Leggibilità del codice
         Manutenibilità
         Evolvibilità
         Riusabilità



                    Incompatibilità delle estensioni 1.0 su 1.5.x

         Plugin Legacy Mode aumenta l’occupazione di memoria
         Joomla!1.6 : Legacy Mode solo per estensioni 1.5 native




            Necessità di intervenire su Community Research 1.0

sabato 18 giugno 2011                                               8
Soluzione
                              REFACTORING
            processo di modifica della struttura interna di un’applicazione
                  eseguito senza modificarne le funzionalità esistenti




          DESIGN REFACTORING                 IMPLEMENTATION REFACTORING

     •    Finalizzato a migliorare il    •    Orientato verso la manutenzione
          design dell’applicazione
                                         •    Insieme di tecniche standard per la
     •    Mediante pattern                    modifica del codice
          (es. pattern arch. MVC)


sabato 18 giugno 2011                                                               9
MVC nel Framework Joomla! 1.5.x




        il model fornisce i metodi per accedere ai dati
        il view visualizza i dati si occupa dell'interazione con utenti
        il controller riceve i comandi dell'utente e li attua modificando
         lo stato degli altri due componenti

sabato 18 giugno 2011                                                        10
Requisiti – Use Cases



                                            Membro c.r.




                                                                               Invio News
        Gestione Temi


                                                                        Ges. Home
               Ges. Progetti                                              Page


                           Ges. Contratti          Ges. Pubblicazioni




sabato 18 giugno 2011                                                                       11
Es. UC Inserimento Tema di Ricerca(1/2)
     componente: com_gestionericerca




sabato 18 giugno 2011                          12
Es. UC Inserimento Tema di Ricerca(2/2)
     componente: com_gestionericerca




sabato 18 giugno 2011                          13
Situazione dopo il Refactoring



                                                   Co
                           com                                                com
      Gestione      Gestione   Gestione    Gestione      Gestione      Gestione     Gestione   Gestione
      Temi          Progetti   Contratti   Pubblicazio   Modulistica   Convocazio   Beni       Report

                                           Joomla 1.5.8




sabato 18 giugno 2011                                                                                     14
Conclusioni
      Obiettivo: REFACTORING DELL’APPLICAZIONE ESISTENTE

      Risultati:

          Componente basato su MVC completamente compatibile con la release
           1.5 : com_gestionericerca

          Funzionalità principali di Community Research 1.0 implementate

          150 files prodotti

          Ampia documentazione di progetto (Documento dei Requisiti, Use Case
           Diagram…)

          Ulteriore estensione successivamente al testing


sabato 18 giugno 2011                                                            15
D
 E
 M
 O




sabato 18 giugno 2011   16
Grazie per l’attenzione


  Stefano Giansante
sabato 18 giugno 2011             17

More Related Content

PDF
Stato di avanzamento dei lavori e roadmap del progetto CMDBuild - CMDBuild Da...
PDF
FE@R2B - Workshop Public eProcurement: nuovi scenari e sviluppi
PPS
Safety Driving
PDF
AIM Offshoring Business Oportunity
PPS
How to Succeed
PDF
Cartridge Manufacturing Oportunity
PPS
How to Succeed
PDF
Unleashing the Arab Imagination
Stato di avanzamento dei lavori e roadmap del progetto CMDBuild - CMDBuild Da...
FE@R2B - Workshop Public eProcurement: nuovi scenari e sviluppi
Safety Driving
AIM Offshoring Business Oportunity
How to Succeed
Cartridge Manufacturing Oportunity
How to Succeed
Unleashing the Arab Imagination

Similar to Refactoring mediante pattern mvc 
di un’applicazione web-based
 a supporto di una research community (20)

PDF
FE@OpenPA2011er
PDF
workshop lab cross tec_r2b1
PPT
Joomla
PDF
Struttin' on, novità in casa Struts
PDF
S354 php-5.x-e-my sql-5.x
PDF
Smart api
PDF
workshop ciri meccanica avanzata e materiali_faldella
PPT
B Human Progetti di Stage 2009
PPTX
Silverlight in Action
PDF
BPM e Cloud: la partnership ideale
PDF
Le novità in Joomla! 1.6
PDF
Corso Unified Modeling Language (UML)
PDF
Le 7 sfide da affrontare nella migrazione da monolite a miniservizi
PPT
Bachelor Thesis presentation
PPTX
Tesi3
KEY
Joomla! 2.5 - Presentazione al PUG Friuli
PPT
Slides marcosabatini
PDF
Curriculum Vitae Morello Orfeo
PPTX
Presentazione esperienza PSOF
PDF
Open sourcer
FE@OpenPA2011er
workshop lab cross tec_r2b1
Joomla
Struttin' on, novità in casa Struts
S354 php-5.x-e-my sql-5.x
Smart api
workshop ciri meccanica avanzata e materiali_faldella
B Human Progetti di Stage 2009
Silverlight in Action
BPM e Cloud: la partnership ideale
Le novità in Joomla! 1.6
Corso Unified Modeling Language (UML)
Le 7 sfide da affrontare nella migrazione da monolite a miniservizi
Bachelor Thesis presentation
Tesi3
Joomla! 2.5 - Presentazione al PUG Friuli
Slides marcosabatini
Curriculum Vitae Morello Orfeo
Presentazione esperienza PSOF
Open sourcer
Ad

Refactoring mediante pattern mvc 
di un’applicazione web-based
 a supporto di una research community

  • 1. Università degli studi dell’Aquila Facoltà di Ingegneria Laurea in Ingegneria Informatica e Automatica REFACTORING MEDIANTE PATTERN MVC DI UN’APPLICAZIONE WEB-BASED A SUPPORTO DI UNA RESEARCH COMMUNITY Relatore Laureando Prof. Serafino Cicerone Stefano Giansante Anno accademico 2008-2009 sabato 18 giugno 2011 1
  • 2. Dipartimento universitario Organizzazione di uno o più settori di ricerca omogenei che ha il compito di coordinare l’attività di ricerca dei suoi membri  Differenti tipologie di utenti con differenti diritti e doveri  Differenti tipologie di risorse  Differenti settori all’interno dell’organizzazione  Condivisione dei documenti da parte dei membri  Collocazione geografica differente dei membri sabato 18 giugno 2011 2
  • 3. Groupware Software collaborativo, insieme di tecnologie pensate per supportare il lavoro cooperativo da parte di gruppi di persone. ‘Collocazione geografica differente dei membri’ (W)CMS Strumento software studiato per facilitare la gestione dei contenuti di portali web, svincolando l'amministratore da conoscenze tecniche di programmazione sabato 18 giugno 2011 3
  • 4. Joomla! Content Management System personalizzabile attraverso estensioni disponibili (50.000 sviluppatori nella comunità)  Componenti  Moduli  Altre estensioni: Template, Plugin, Lingue Contesto ed esigenze specifiche? Utilizzo del Framework Joomla! sabato 18 giugno 2011 4
  • 5. Framework di sviluppo Struttura sulla quale basare la progettazione e lo sviluppo di un applicativo software  Librerie di codice utilizzabili  Soluzioni solide ed efficienti a problemi ricorrenti  Velocità e qualità del prodotto finale elevate Svantaggi  Possiede una propria architettura e logica che vanno studiate sabato 18 giugno 2011 5
  • 6. Situazione di partenza  Tool software a supporto delle attività del dipartimento di ricerca  Sviluppo basato sul Framework Joomla!  Sviluppato in due periodo differenti Co Com com Gestione Gestione Gestione Gestione Gestione Gestione Gestione Gestione Temi Progetti Contratti Pubblicazio Modulistica Convocazio Beni Report Joomla 1.0 Joomla 1.5.8 sabato 18 giugno 2011 6
  • 7. Release a confronto Joomla 1.0 Joomla 1.5.8  Assenza di una struttura ben definita  Separazione tra logica e presentazione  Difficoltà nell’estensione  Introduzione del pattern MVC sabato 18 giugno 2011 7
  • 8. Problema Qualità del software  Leggibilità del codice  Manutenibilità  Evolvibilità  Riusabilità Incompatibilità delle estensioni 1.0 su 1.5.x  Plugin Legacy Mode aumenta l’occupazione di memoria  Joomla!1.6 : Legacy Mode solo per estensioni 1.5 native Necessità di intervenire su Community Research 1.0 sabato 18 giugno 2011 8
  • 9. Soluzione REFACTORING processo di modifica della struttura interna di un’applicazione eseguito senza modificarne le funzionalità esistenti DESIGN REFACTORING IMPLEMENTATION REFACTORING • Finalizzato a migliorare il • Orientato verso la manutenzione design dell’applicazione • Insieme di tecniche standard per la • Mediante pattern modifica del codice (es. pattern arch. MVC) sabato 18 giugno 2011 9
  • 10. MVC nel Framework Joomla! 1.5.x  il model fornisce i metodi per accedere ai dati  il view visualizza i dati si occupa dell'interazione con utenti  il controller riceve i comandi dell'utente e li attua modificando lo stato degli altri due componenti sabato 18 giugno 2011 10
  • 11. Requisiti – Use Cases Membro c.r. Invio News Gestione Temi Ges. Home Ges. Progetti Page Ges. Contratti Ges. Pubblicazioni sabato 18 giugno 2011 11
  • 12. Es. UC Inserimento Tema di Ricerca(1/2) componente: com_gestionericerca sabato 18 giugno 2011 12
  • 13. Es. UC Inserimento Tema di Ricerca(2/2) componente: com_gestionericerca sabato 18 giugno 2011 13
  • 14. Situazione dopo il Refactoring Co com com Gestione Gestione Gestione Gestione Gestione Gestione Gestione Gestione Temi Progetti Contratti Pubblicazio Modulistica Convocazio Beni Report Joomla 1.5.8 sabato 18 giugno 2011 14
  • 15. Conclusioni Obiettivo: REFACTORING DELL’APPLICAZIONE ESISTENTE Risultati:  Componente basato su MVC completamente compatibile con la release 1.5 : com_gestionericerca  Funzionalità principali di Community Research 1.0 implementate  150 files prodotti  Ampia documentazione di progetto (Documento dei Requisiti, Use Case Diagram…)  Ulteriore estensione successivamente al testing sabato 18 giugno 2011 15
  • 16. D E M O sabato 18 giugno 2011 16
  • 17. Grazie per l’attenzione Stefano Giansante sabato 18 giugno 2011 17