Home

Rapport de projet

image

Contents

1. b 4 1505 gt M BD FIGURE 3 4 Ajout et dition des entit s 18 e In the area a2 o the measurement unit passus has 88 72 of chance to be used o the measurement unit Actus has 84 59 96 of chance to be used o the measurement unit Yard has 78 94 96 of chance to be used o the measurement unit meter has 68 83 96 of chance to be used o Determinate new unit 2 99 has 87 68 96 of chance to be used e Inthe areaal o the measurement unit passus has 89 32 96 of chance to be used o the measurement unit Actus has 82 88 96 of chance to be used o the measurement unit Yard has 80 94 96 of chance to be used o the measurement unit meter has 76 58 96 of chance to be used o Determinate new unit 2 99 has 87 68 96 of chance to be used FIGURE 3 5 PopUP des resultats Generate report Cancel FIGURE 3 6 Informations sur le rapport 19 L ent te Cette tape permet d indiquer les informations de l ent te du rapport voir fig 3 6 titre auteur notes date Le contenu Select data sources to be included M GPS Points Lines M Areas M Analyse Results Map Generate report Cancel FIGURE 3 7 Le contenu du rapport Permet d ins rer ou d enlever des parties du rapport voir fig 3 7 Le format Select the type of document to be generated PDF O HTML Generate report
2. MeasuresService g re l ajout suppression et dition des unit s de mesures KMLService d finit les m thodes permettant d importer exporter des fichiers KML XML Service d finit les m thodes permettant de charger sauveg arder un projet au format XML AnalyseService g re le calcul des unit s de mesures utilis es dans une zone d finie par l utilisateur ReportService g n re des rapports dans diff rents formats dont le PDF pour permettre l utilisateur de sauvegarder les r sultats renvoy s par l AnalyseService 4 3 9 server Dans ce paquetage voir fig 4 12 se trouvent les impl mentations des diff rents services du paquetage client service ainsi que les servlets suivants 1 FileManager g re les t l chargements des fichiers entre le client et le serveur Ce servlet sera appel lors du chargement et de la sauvegarde de fichiers 2 PDFCreator g n re un fichier PDF partir d une page Html ce servlet est appel lors de la g n ration du rapport 34 getPreviousResults HashMap lt Area HashMap lt Measure Flost gt gt snalyse List lt Ares gt ListeMessure gt int HeshMap lt Ares HashMap lt Messure Float getNewUnit HashMap lt Area Flost gt determineNewUnit List lt Area gt HashMap lt Area Flost gt analyse List lt Area gt List lt Measure gt int Float gt gt gt void getNewUnit AsyncCallbacx lt HashMap lt A
3. 1 m tre pour une distance r el de 20 m tres soit 5 Test de validation Comparer les distances obtenues gr ce au logiciel avec celles obtenues sur le terrain Ergonomie Le logiciel doit tre simple utiliser et l utilisateur arch ologue doit se familiariser avec le logiciel rapidement Le logiciel doit tre accessible aux utilisateurs francophones anglophones et hispanophones Test de validation Demander des utilisateurs arch ologues tudiants et ou professeurs d effectuer un travail cf Tests sur notre logiciel L util isateur ne conna tra pas le logiciel l avance et devra apprendre l utiliser gr ce la documentation disponible en une demi heure Les r ponses des utilisateurs au questionnaire cf Annexes ainsi que leur commentaires seront les crit res de validation de ce test Portabilit Le logiciel doit tre accessible par l interm diaire des navigateurs Mozilla Firefox et Google Chrome et doit fonctionner sur les systemes d exploitation Linux Microsoft Windows XP Windows 7 et sur Mac OS X Test de validation Un scenario cf Tests sera r alis avec les navigateurs et syst mes d exploitation d crits ci dessus 2 1 3 Besoins fonctionnels Identifier les unit s de mesure utilis es Le logiciel doit identifier les unit s de mesures les plus probablement utilis es pour tracer les lignes d une zone Niveau de difficult Moyen Priorit lev e Test de validation C
4. String getValue float setDefinedBy String void setName String void setSymbol String void setValue flost void toStingArayl Stringi Tm epi IsSerializable GPSPoint IsSerializable Line pt GPSPoint p2 GPSPoint Line getP2 GPSPoint getP1 GPSPoint setP1 GPSPoint void setP2 GPSPoint void toStingAmay Stringl updateLength void setLength flost void getLength float length float Line String GPSPoint GPSPoint 44444 GPSPointi GPSPoint String double double GPSPoint String double double int getLongitude double getLatitude double setLatitude double void setLongitude double void toStringArray String distanceTo GPSPoint float IsSerializable Polyline points List lt GPSPoint gt Polyline Polyline String GPSPoint GPSPoint getPoints List lt GPSPoint gt updateLength void property set setpoints List lt GPSPoint gt void FIGURE 4 4 Diagramme de classes paquetage shared model 26 4 3 2 Ce paquetage contient les diff rentes exceptions utilis es par notre appli cation que nous avons h rit es de java lang Exception shared exception class exception Exception lsSerializable MeasurelnRelationDeleteException AlreadyUse
5. longueur unit de mesure et unit de mesure longueur unit de mesure Ensuite nous divisons cette moyenne par l unit de mesure et nous multiplions par cent pour obtenir la probabilit d utilisation de l unit de mesure dans la zone concern e 5 2 3 D termination d une nouvelle mesure L algorithme utilis pour d terminer une mesure ayant pu tre utilis est simple pour chaque zone pour chaque lignes de la zone nous divisons la longueur de la ligne par le nombre possible de r p tition de l unit de mesure Ensuite le calcul pr c dent est appliqu pour toutes les lignes de la zone 5 3 Choix techniques 5 3 1 La classe Entity la classe abstraite Entity est la classe dont d rivent les mod les GPS point Line et Area cette classe permet de d finir les m thodes et attributs communs ces classes 41 5 3 2 Definition d un id pour chaque entit Pour acc der rapidement une entit les objets qui h ritent de Entity et les Measure nous avons choisi plut t que de mettre tous ces objets dans une liste et de les comparer avec la m thode equals d ajouter un id un entier pour les Entity le symbole de l unit de mesure pour les Measure chaque objet et de les stocker sur le serveur dans des HashMap ayant pour cl l id de l objet et pour valeur l objet lui m me L id des Entity est g n r automatiquement via une simple incr mentation d un compteur dans la classe EntitiesServiceImp
6. pour que les vues concern es soient actualis es 4 3 6 client event Pour qu un pr senteur informe les autres qu il a modifi un mod le il lance un ev nement de ce paquet voir fig 4 9 De cette fa on un presenter ne s occupe pas de quel objet traite ces venements 4 3 7 client event handler Ce paquetage voir fig 4 10 regroupe les handlers des v nements du paquetage client event 30 EditAreaPresenter ReportsPresenter ReponSericeAsync EntitiesServiosAsync AnalyseServiosAsync String EditAreaPresenter cea sh Het Ee EEntleSenicchoro p eue ese boolean void riens Hen ndlerManages Display lt setMapUr String void fetchDstal void EditMessuresPresenter MessuresGerviosAsync HandlerManager Display String bindDisplay void felchData void n EditLinesPresenterEntitiesServioeAsync HandlerManager Display int bindDisplayl void fetchData void GPSPointsPresenter GPSPointsPresenterEntitiesServiceAsync HandlerMansger GridDisplay bindDisplayl void fetchData void EditGPSPointsPresenter EditGPSPointsPresenter EntitiesServioeAsync getP1Selectedld Sting setP1Selectedid String void HandlerManager Display int MessuresPresenterMessuresServiceAsync LESE void HandlerManager GridDisplay 4 b
7. un actus environ 35 5 m tres unit de mesure utilis e par les romains 7 2 Planning effectif RAE GANTT m M Janvier 2011 f vrier 2011 mars 2011 avril 2011 Semaine 4 Semaine 5 Semaine 6 Semaine 7 Semaine 8 Semaine 9 Semaine 10 Semaine 11 Semaine 12 Semaine 13 Ser EE Architecture IHM N h Interaction avec GoogleMaps Integration Calcul des distances et de probabilit s EL Import Export de fichiers KML El Sauvegarde Chargement au format XML 1 G n ration automatique de rapports gt Tests J internationalisation N R daction du manuel de l utilisateur Finalisation du m moire FIGURE 7 1 Planning effectif Le planning pr visionnel a t respect les premi res semaines avec m me un peu d avance concernant l int gration de GoogleMaps cependant cette avance t vite combl e par le temps perdu programmer certaines vues complexes notamment celle qui affiche les zones De la m me maniere la sauvegarde et chargement des fichiers XML pris tr s 51 peu de temps mais l import et l export des fichiers KML a pris plus de temps tre d velopp tant donn que la quantit et la vari t d informations pouvant tre contenue dans ce type de fichiers est lev e Globalement le planning t respect nous avons fini dans les temps m me si certaines parties de l application peuvent tre am lior es da
8. 1 1 1 Li 1 Li 1 1 1 1 1 1 1 1 1 1 g 1 wakeup the event handler doAddNewGPSPoint 1 L AppController cr e alors La vue EditGPSPointView et Le pr senteur associ de la m me mani re que pour la vue GridView Ce diagramme d crit comment l application r agit au clique de l utilisa teur sur un bouton qui demande l affichage d une nouvelle vue Nous avons pris comme exemple le clique sur le bouton pour ajouter un nouveau point GPS 39 Chapitre 5 Choix d impl mentations 5 1 Choix du langage utilis Une contrainte importante dans ce choix t la pr sence d une api dans ce langage qui permette l int gration de Google Maps dans un navigateur Il se trouve qu il existe une api li e GWT permettant de faire ceci GWT est un ensemble d outils d velopp s par Google permettant de compiler du code Java en JavaScript ex cutable par un navigateur et permet une interaction client serveur via des messages RPC Remote Procedure Call Google a aussi d velopp un plugin GWT pour Eclipse ce qui a d fini directement notre IDE 5 2 Choix algorithmigues 5 2 1 Calcul des distance Les distances des lignes sont calcul es en g om trie euclidienne en util isant la latitude et la longitude de chaque point Il existe plusieurs m thodes permettant d approximer la distance entre deux points GPS Les deux prin cipales sont d utiliser la distance du grand cercle et la distanc
9. Cancel FIGURE 3 8 Format du rapport Choisir le format de sortie HTML PDF voir fig 3 8 20 Chapitre 4 Architecture 4 1 Mod le MVP 4 1 1 Introduction au mod le MVP Le mod le MVP Model View Presenter voir fig 4 1 est un mod le d architecture d riv du mod le MVC Model View Controler Le principe est simple l architecture du programme est d vis e en 3 Mod le les mod les repr sentent les donn es de l application Vue Les vues repr sentent des ensembles d l ments graphiques Par exemple dans notre logiciel la carte GoogleMap la liste des points GPS la liste des lignes repr sentent chacun une vue Une vue impl mente une interface d finie par le pr senteur qui lui est associ e et ainsi l impl mentation de l interface graphique est ind pendante du pr senteur Pr senteur Un pr senteur est associ chaque vue Son r le est de g rer la synchronisation de la vue avec le serveur et de g rer tous les v nements provenants de widgets internes la vue laquelle il est associ Chaque pr senteur d crit une interface d crivant les actions qui sont associ es la vue De cette fa on le pr senteur ne sait pas comment est impl ment e la vue 21 Presenter Presenter reacts to the message send by the view by manipulating the model View sends messages to the presenter when an action occured A view describe how datas are displaye
10. Gr ce aux boutons on peut ajouter ou supprimer des points ou des lignes dans la carte voir fig 3 1 En cliquant sur une entit dans la carte une info bulle s affiche voir fig 3 2 3 1 2 Via les menus Vaide des panneaux d informations voir fig 3 3 on peut voir les entit s existantes en supprimer ajouter ou diter Le panneau affichant les zones permet de r aliser l analyse qui trouve les unit s de mesures utilis es dans la ou les zone s s lectionn e s L dition et l ajout d une entit se fait en ditant ses informations et son nom 3 1 3 Les calculs Les r sultats s affichent temporairement sur une PopUp voir fig 3 5 3 1 4 La g n ration du rapport La g n ration du rapport se fait en trois tape 14 New project Load project Saveproject ImportKMLfile ExporttoKML Generatereport User s guide H i E maarat Q GPS Points Latitude Longitude Choose a name for the point at coordinates 35 74274176867077 36 705467104911804 Esbart lo KML User s guide A I mu EH PIPPI os maarat O ces points Points Latitude Longitude Pt 35 74273306063209 36 70546710491 New project Load project Save project Import KML file Annonce de la page http 127 0 0 1 8888 K 4 1101 gt H Add Edit Remove sr gt FIGURE 3 1 Vue sur la carte 15 New project Load project Save project Import KML file Export to KML Generate repo
11. N measurement Select a unit of measure Select vector Label coordinate Save project as kml D Cor FIGURE 2 1 Diagramme de cas d utilisation Relation include Les cas d utilisation peuvent contenir les fonc tionnalit s d un autre cas d utilisation Quand un cas d utilisation est trait tous les cas d utilisation qui sont inclus doivent tre ex cut es afin de traiter le cas d utilisation pr vu 10 Dans le diagramme de cas d utilisation figure 2 1 la relation include est utilis par exemple quand un arch ologue veut effectuer un test d un en semble de vecteurs Pour ex cuter le test l arch ologue doit d finir les coor donn es les vecteurs et les mesures Par la suite l application doit r cup rer les longueurs correspondantes Toutes ces fonctionnalit s doivent tre r alis es afin d ex cuter le cas d utilisation demand Relation extend Un cas d utilisation peut tre utilis s pour tendre le comportement d un autre cas d utilisation En d autres termes relation extend donne un comportement suppl mentaire au cas d utilisation par ent Nous pouvons prendre la d finition de coordonn es par exemple En d finissant les coordonn es l arch ologue a la possibilit d ajouter de sup primer ou d tiqueter une coordonn e Relation generalization G n ralisation entre des cas d utilisation signifie en d autres termes que le cas d utilisation enfant h rite des propri t s et du
12. carte et la liste des points Le second graphique permet de voir la suite d v nements qui se pro duisent cot client ainsi que le ralentissement d l interface graphique Les v nements XMLHttpRequest pr c d s d un Resource Data Received correspondent la r ception de la r ponse du serveur par le client 48 On constate donc gue dans des conditions normales Pajout d un point via le menu prend 380ms et ceci sans prendre en compte le temps de latence entre le client et le serveur qui est suppos nul ici tant donn que les deux sont sur la m me machine La rapidit n tant pas une contrainte de notre application nous nous satisferons de ce temps d ex cution Mais on peut tout de m me se demander s il ne serait pas possible de r duire ce temps d ex cution par exemple en ne faisant qu un seul appel au serveur qui renvoie la liste des points liste qui serait alors utilis e par le MapPresenter et le GPSPointsPresenter pour actualiser leurs vues respectives au lieu de laisser chaque pr senteur faire ses appels au serveur 6 3 2 Conditions de stress 1 Ajout de cent points Pour r aliser ce test on ajoute un boucle for dans le EditGPSPointsP resenter pour qu il ajoute cent fois le m me point quand on clique sur le bouton Save En faisant diff rents tests avec ou sans l actualisation de la carte on se rend compte que l actualisation de la carte prend beaucoup de temps compa
13. comportement du cas d utilisation parent et peut modifier le comporte ment du parent Un cas d utilisation de base peut tre un cas d utilisation abstrait ou concret Si le cas d utilisation de base est abstrait il est n cessaire de d finir au moins un cas d utilisation sp cialis On peut prendre le cas d u tilisation Save project comme example Ce cas d utilisation est abstrait en d autres terme si l arch ologue veut enregistrer le projet il doit choisir un des cas d utilisation concret 11 2 3 Prototype d interface utilisateur main application frame application menu action buttons search bar GPS Points H lt 3 Measurement Units map area data panel FIGURE 2 2 Prototype de l interface utilisateur L interface utilisateur se compose de trois parties le menu la carte et le panneau d informations Les boutons du menu permettent respectivement de cr er un nouveau projet de charger un projet existant de sauvegarder le projet en cours d im porter et d exporter les fichiers KML de g n rer un rapport et d afficher le manuel en ligne La carte qui est contr lable avec la souris de la m me mani re qu une carte GoogleMaps classique molette de la souris pour zoomer cliquer glisser pour se d placer a galement une barre d outils associ e avec des boutons qui permettent d ajouter et supprimer des points et des lignes et un champ de recherche qui permet l utilisateur de centrer la carte sur un l
14. droite C est ici que le m canisme des Event est int ressant lorsqu une de ces entit s est modifi e le pr senteur associ la vue qui la modifie va envoyer un v nement sur le bus d v nements via la m thode 43 eventBus fireEvent et cet v nement va tre attrap par l objet AppCon troller Selon le type du pr senteur qui a envoy l v nement l AppController va ensuite appeler les pr senteurs concern s pour leur faire recharger la liste des entit s 5 3 7 La classe Server Call La classe ServerCall est une classe abstraite que nous avons cr qui impl mente l interface AsyncCallBack Cette interface contient deux m thodes OnSuccess et OnFailure qui sont appel lors du retour d un appel asyn chrone au serveur L usage en GWT est de pour chaque appel asynchrone de d finir une classe interne qui impl mente ces deux m thodes Cependant lors de tous nos appels au serveur en cas d chec une exception est lanc e qui contient le message d erreur afficher l utilisateur le traitement ef fectuer est donc toujours le m me Nous avons donc cr la classe ServerCall qui d fini la m thode OnFailure nous n avons donc plus qu red finir la m thode OnSuccess qui elle effectue un traitement diff rent chaque fois 5 3 8 G n ration du rapport Le logiciel permet de g n rer le rapport en format HTML et PDF Le format HTML est plus accessible dans le sens qu il donne l utilisate
15. est possible de quantifier la fluidit de l interface graphique et de visualiser les appels au serveur et l engorgement de ces appels ce qui nous a permis par la suite d optimiser certains points de notre programme 47 Notre application n tant pas d ploy e sur un serveur pour l instant ces tests de performances ne prennent pas en compte le temps de transmission des donn es entre le client et le serveur 6 3 1 Conditions d utilisation normales 1 Ajout d un point om tatai KE astros 10 15 AAA 127 0 0 1 8888 Meti v EP 279 2935 lanas 3 225 12365 Slugpistiness events Network resources nel ere TN fera estitlesservice 07 lt entitiesService ox 2 XMLHtpRequest Sluggishness events Network resources Il DOM mouseup EE DOM click En E Resource Data Received Ba D XMLHttpRequest o 102ms BI Timer Fire 2159 12ms BI Timer Fire 2161 F ims EE pain Bn EH Resource Data Received lims M XMLHttpRequest Bms IHI Resource Data Received Mi EE XMLHttpRequest 72ms N Timer Fire 2164 Al 22ms BI Timer Fire 2162 FIGURE 6 1 Speed Tracer Le premier graphique de la figure 6 1 nous permet de visualiser les appels l entitiesService Lors de l ajout d un point on constate que trois appels sont r alis s le premier pour ajouter le point sur le serveur et les deux autres pour actualiser respectivement la
16. measurelnRelationDeleteException String String multipleSymbolException String String nestedAresException String String String newLinePoint1 String String newLinePoint2 String String reportDocumentException String reportFileCreateException String String reportParsingException String reportPDFCrestionException String reportWriteToFileException String String unknownAddress String String FIGURE 4 14 Diagramme de classes paquetage 38 client i18n 4 4 Diagrammes de s guence eventBus HandlerManager EntitiesServiceAsync Metrology AppController MeasuresServiceAsync GPSPointsPresenter GridView T T T T T T T Ce diagramme d crit le lancement de l application la cr ation des objets de la classe AppController EventHandler la cr ation des services qui doivent tre disponible au d marrage de l application et l affichage de la premi re vue Pour simplifier nous avons choisi de montrer uniquement l affichage de la vue de la liste des points GPS et la cr ation des services associ s Enti tiesService AppController AddGPSPointEventHandler eventBus HandlerManager AddGPSPointEvent T T GPSPointsPresenter 1 i Click on addGPSPoint button 1 1 1 1 1 addGPSPoint button clicked Es T T
17. GPSPointEventHandler void EditLineEvent int getAssocistedTypel Type lt EditLineEventHandler gt dispatch EditLineEventHandler void EditMessureEvent String getid int dispatch EditMeasureEventHandler void getAssocistedTypel Type lt EditMeasureEventHandler gt getld String getAssocistedType Type lt ShowHelpEventHandler gt dispatch ShowHelpEventHandler void LineUpdatedEvent Presenter getAssociatedType TypesLineUpdetedEventHandler gt dispatch LineUpdatedEventHandler void setSender Presenter void getSender Presenter dispatch MeasureUpdatedEventHandler void getAssociatedType Type lt MeasureUpdatedEventHandler gt GPSPointUpdatedEvent Presenter boolean getAssocistedTypel Type lt GPSPointUpdatedEventHandler gt dispatch GPSPointUpdatedEventHandler void getSenderi Presenter isLineUpdated boolean dispatch GenerateReportEventHandler void getAsscciatedType Type lt GenersteReportEventHandler gt getAssocistedTypel Type lt NewProjectEventHandler gt dispatch NewProjectEventHandler void dispatch CancelReportEventHandler void getAssocistedType Type lt CancelReportEventHandler gt FIGURE 4 9 Diagramme de classes paquetage client event 32 class handler interface EventHandier onAresUpdsted AresUpdatedEvent void EventHandler in
18. HasValue lt Sting gt selectionModel Ey Area Vem EniltierSevicaAn nd MultiSelectionModel lt String gt readOnly asWidget Widget getAddButton HasClickHandlers i gba getEditButton HasClickHandlers A getDeleteButton HasClickHandlers Sle 23 getComputeButton HasClickHandlers reee EditLinesview gelSeleciedRows List lt integer gt ne asWidget Widget addAres Sting void nemen Deus getSaveButton HasClickHandlers SES lt A A deselectAIl void ES a getName HasValue lt String gt refresh void ee oranda voi gellatitudeP1 HasValue lt String gt or getlongitudeP1 HasValue lt String gt getlatitudeP2 HasValue lt Sting gt getLongitudeP2 HasValue lt String gt populeteLists List lt Stingl gt void Display Composite LORS getPt intertaces Wiese ng void A getP2List HasChangeHandlers fillUpSymbolList String List lt Stingl gt void ReportsView getP2Selededid String getCancelButton HasClickHandlers asWidget Widget setP2Selectedid String void getDefinition String getAdditionallnfe HasValue lt Sting gt addKeyDownHandler KeyDownHandler getNamel HasValue lt Sting gt getAnalyseResultsChediBox Boolean void getSaveButton HasClictHandlers getareesChed Box Boolean selFocus void getSymbol HasValue lt String gt gelAuthor HasValue lt String gt getvalue HasValue lt Str
19. Metrology of land plots Rapport de projet Arnaud AUJON Matthieu FOUCAULT Rachid HAFIANE Milan KABAC Encadr par M Pascal DESBARATS Sujet propos par M Hugo GIMBERT 5 avril 2011 Table des matieres Introduction Cahier des charges 2 1 t de d s besoins 2 isate dote vob hot oe HIMIN a de DA ey 2L D finitions e BEN ge D RU Mee ed EP de 2 1 2 Besoins non fonctionnels 2 1 3 Besoins fonctionnels 2 2 Cas d utilisation 2 3 Prototype d interface utilisateur 24 Planning pr visionnel vase date EUA AR Exemples d utilisation 3 1 Ajout Suppression et Edition 3 1 1 Apartirdelacarte 31 2 Via les menus A petro era Neo Sus odo Abes CALCULS ER RA eee dre s anna S 3 1 4 La g n ration durapport Architecture 4 1 Mod le MVP E AA AAA ec x Span fes 4 1 1 Introduction au mod le MVP 41 2 Extension du mod le ce aser arte 4 1 3 Avantages de ce mod le 4 2 Diagrammes de paquetages DSL 5 A NT N ID sis ee 4 2 2 Relatiomnel srt ODA sax ROS 4 3 Diagramanes de classes esse a ee 431 shared model 26 a A ee Lan ie 43 2 shared ereep OR ss uius Penta oa qi ica 4 3537 Cb eth uS A EE ea Lodo PUERMA au iieri e ute udo ud 14 14 14 14 14 14 4 3 5 client presenter Dana Lu eeu Dru eigens my 30 4 3 06 c
20. Model d fini une m thode getNodelnfo qui est appel pour chaque noeud de l arbre et qui d fini le traitement associ chaque niveau Le premier niveau corre spond la racine de l arbre repr sent e par un noeud null Le traitement associ est de r cup rer via un appel au serveur la liste de toutes les zones et de les inclure dans l arbre Le second niveau correspond au contenu d une zone Dans ce cas il faut appeler la m thode getLinesArea int id qui re tourne la liste des entit s contenues dans la zone Cette impl mentation est cependant probl matique par rapport au choix de noter architecture En ef fet l utilisation de TreeViewModel impose que la classe effectue des appels synchrone pour remplir l arbre ou si l on souhaite utiliser des appels asyn chrones comme c est la cas dans notre application client serveur impose le fait d utiliser directement les appels au serveur sans pouvoir passer par un pr senteur Ceci est du au fait que la classe Tree ViewModel ne poss de pas de moyen de rafraichissement en cas de modification externe de ses donn es Malgr cela nous avons d cid d utiliser un Tree ViewModel car aucun des autres widgets pr sents dans Gwt ne permet d afficher d une maniere efficace les zones 5 3 6 Synchronisation de la carte et des listes Les points et lignes peuvent comme vu dans l exemple d utilisation tre ajout s ou modifi s directement depuis la carte ou depuis les listes du panneau de
21. RemoteService interface 4 doGet HttpServletRequest HttpServietResponse void service XML Service A doPosiHttpServletRequest HtipServletResponse void imporiXML String List lt Entity gt exporXML String List lt Entity gt List lt Messure gt Stri getMeasuresi List lt Measure gt FileManager doPost HttpServietRequest HitpServletResponse void RemoteServiceServiet XML Servicelmpl A doGetHttpServietRequest HtipServietResponse void n XMLServicelmpl importXML String List lt Entity gt getMessuresi List lt Messure gt exportXML String List lt Entity gt List lt Measure gt String getTempFolderName String FIGURE 4 12 Diagramme de classes paquetage server 36 4 3 10 Ce paguetage regroupe les widgets gue nous avons cr66s pour permettre client ui de r aliser plus rapidement la r alisation des diff rents vues class ui om google gwt uzer client ui ListBox ListBox getSelectedValue String LbiListBox String LbiListBox String String setLabel String void getLabel String setDatas List lt Stringll gt void getListBox ListBox getSelectedEntity String getSelectedld String setSelectedValue String void AddEditButtons getAddButton Button getEditButton Button getRemoveButton Button disableEditButton void enableEditButton void SaveCancelButton
22. Value HasValue lt String gt void setColumnTitle String void setFocus boolean void getMapParameters String getName HasValue lt String gt setName String void getSelededRows Set lt Stringl gt setDatas List lt Stringll gt List lt Stringl gt void FIGURE 4 8 Diagramme de classes paguetage client presenter 31 class event getAssociatedType Type lt AresUpdatedEventHandler gt dispatch AresUpdatedEventHandler void CancelEditGP SPointEvent getAssociatedType Type lt CancelEditGPSPointEventHandler gt dispatch CancelEditGPSPointEventHandler void getAssccistedType Type lt CancelEditAresEventHandler gt dispatch CancelEditAresEventHandler void getAssociatedType Type lt CancelEditLineEventHandler gt dispatch CancelEditLineEventHandler void dispatch CancelEditMeasureEventHandler void ChangeLocsleEvent String getAssccistedType Type lt ChengeLocaleEventHsndler gt gt 2 jon getAssocistedTypel Type lt CancelEditMeasureEventHandler gt E ins dispatch ChangeLocaleEventHandler void EditGP SPointEvent EditAresEvent nt getld int getAssociatedType Type lt EditAreaEventHandler gt EditGPSPointEvent int dispatch EditAresEventHandler void getld int getAssociatedType Type lt EditGPSPointEventHandler gt dispatch Edit
23. ate XML 54 XMLServicelmpl xmlService new XMLServicelmpl String path xmlService exportXML testExportXML1 xml points n COMMENT Arnaud 22 03 2011 Load entities from XML List lt Entity gt points2 xmlService importXML path List lt Measure gt measures2 xmlService getMeasures if points size points2 size measures size measures2 size fail measures measures size and measures2 size catch XMLExportException e fail XMLExportException catch NullArgumentException e fail NullArgumentException catch XMLImportException e fail XMLImportException catch AlreadyUsedIdException e 4 fail AlreadyUsedIdException 99 Annexe B Ouestionnaire Goal The main goal of this guestionnary is to give us a feedback of our software to permit to improve it The best way to help us is to do a simple work with our sotware and then fill a short guestionnaire about the thing which have to be improved or changed Work to do Your first job is to read the user guide you shouldn t spend more than thirty minutes to read it Then you have to import a given KML file in the software which contains 8 points that represents the corner of two fields in Ruweiha a archeologic site in Syria You have to create lines in the border of these fields and to embeded them into 2 areas Next you have to create a super area that contains to two other Now just select the
24. ble Integer deleteGPSPoint int Boolean deleteGPSPointsList lt Integer gt Boolean sddGPSPoints List lt GPSPoint gt List lt Integer gt petPoints List lt GPSPoint gt getPointsAndLines List lt Entity gt PSPoint int Integer deleteLinesList lt integen Void getLines List lt Line gt getLinesAreas nt List lt Entity gt getLine int Line relnit void addArea int String List lt String gt Integer getareasiList lt integer gt List lt Ares gt get reasl List lt Area gt getArea int String deleteAreas List Integer Void getEntities List lt Entity gt addEntities List lt Entity gt void gelData boolean boolean boolean boolean PETT ListeList lt Entity gt gt entitiesExist booleani 1 L RemoteServiceServiet Entities Servicelmpl EntitiesServicelmpl entitiesExist boolesn getPoints List lt GPSPoint gt getGPSPointnt GPSPoint editGPSPoint nt String Double Double Integer deleteGPSPoint int Boolean deleteGPSPoints ListeInteger Boolean sddGPSPoints List lt GPSPoint gt List lt Integer gt gelLines List lt Line gt getLinesAreas int List lt Entity gt getLinelint Line editLine int String int int Integer deleteLine int Void deleteLinesList lt Integer gt Void EEES A processRequest HttpServle
25. cCallback lt String gt void getEntities AsyncCallback lt List lt Entity gt gt void addEntities List lt Entity gt AsyncCallbsck lt Void gt void getAreas List lt Integer gt AsyncCallback List Area 7 void getData boolean boolean boolean boolean AsyncCallback lt ListsList lt Entity gt gt gt void entitiesExist AsyncCallbacr lt boolean gt void relnit AsyncCallback Void void 4 4 44444 genersteReport List lt List lt Entity gt gt String boolean boolean String HashMap lt Ares HashMap Measure Float gt gt AsyncCallback String void generateReport List lt List lt Entity gt gt String boolean boolean String HashMap lt Area HashMap lt Measure Float String deleteMeasures List lt String gt List lt Messure gt getMessure String Measure getMeasureinMeters Measure String getMessures List lt cMeasure gt getNameAndSymbolListiString List lt String gt noDependencies List lt String gt void relnit void updateMeasure String Measure deleteMeasures List lt String gt AsyncCallback lt List lt Measure gt gt void getMeasure String AsyncCallback lt Measure gt void getMeasurelnMeters Measure AsyncCallback String void getMeasures AsyncCallback lt List lt Measure gt gt void getNameAndSymbolList Sting AsyncCallback lt List lt String gt gt void noDepen
26. d The models represents datas of the application FIGURE 4 1 Mod le MVP 4 1 2 Extension du modele Dans le cas de notre application Parchitecture doit prendre en compte le fait gue le logiciel est devise en une partie client et une autre serveur Les vues et pr senteurs seront ex cut es dynamiquement cot client et les pr senteurs feront des appels asynchrones au serveur pour manipuler les mod les L interaction entre les mod les les vues les pr senteurs et le serveur sera d taill e dans les diagrammes de s quences la fin de ce chapitre 4 1 3 Avantages de ce mod le Ce mod le de conception apporte deux avantages majeurs Le premier est qu il permet de s parer les fonctionnalit s et comporte ment de notre logiciel de fa on rendre ind pendants les donn es l interface graphique et le traitement des v nements et faciliter le travail collaboratif Le second avantage par rapport au mod le MVC et qu il ajoute une couche suppl mentaire entre les mod les et les vues les pr senteurs L utilisation de pr senteurs permet de simplifier l interaction entre les vues et les modeles et permet de modifier l interface graphique sans avoir modifier autre chose dans le code 22 4 2 Diagrammes de paguetages 4 2 1 Hierarchigue Ce diagramme de paguetage voir fig 4 2 montre le decoupage de notre architecture en pr sentant la hi rarchie des paquetages Le contenu de chaque paguetage est detaill
27. de valider les besoins fonctionnels associ s Tous les tests r alis s commencent par cr er un ensemble de donn e de les sauvegarder dans un fichier KML et XML puis nous importons ces donn es que nous comparons ensuite aux donn es d entr e Nous avons effectuer des tests aux limites en testant des ensembles de donn es vide des ensembles de donn es de taille sup rieure la limite de 1000 entit s g ographique Les fichiers XML sont v rifi s conforme la norme XML 1 0 par le v rificateur du W3C http www w3 org 2001 03 webdata xsv Les fichiers KML sont eux v rifi s conforme la norme KML 2 2 d fini par le OGC http www kmlvalidator com home htm 6 2 2 EntitiesServiceTest Cet ensemble de test permet de tester le fonctionnement du service de gestion des entit s g ographique Nous avons fait tr s attention r aliser de nombreux test de domaine et notamment des tests aux limites Les tests OutOfBoundsValues permettent de v rifier que les param tres de latitude et longitude des m thodes g rant les points GPS renvoient bien des exceptions OvertakenBoundsException en cas de valeurs qui sortent de leur domaine de d finition 90 90 pour la latitude et 180 180 pour la longitude 6 3 Tests de Performance Pour enregistrer les performances d une application cod e avec GWT Google a developp un plugin pour son navigateur Chrome appel Speed Tracer Gr ce ce plugin il
28. dencies List lt String gt AsyncCallback lt Void gt void relnit AsyncCallbacr lt Void gt void updsteMessure String Measure AsyncCallback Measure void FIGURE 4 11 Diagramme de classes paquetage client service 35 getPreviousResults HashMap lt Area HashMap lt Messure Float gt gt anslyse List lt Ares gt List lt Measure gt int HashMap lt Ares HashMap lt Messure Flost gt gt getNewUnit HashMap lt Ares Flost gt determineNewUnit List lt Ares gt HashMap lt Area Floati gt RemoteServiceServlet Analyse Servicelmpl AnalyseServicelmpl analyse List lt Ares gt List lt Measure gt int HashMap lt Ares HashMap lt Measure Flost gt gt determineNewUnit List lt Area gt HeshMap lt Area Flosti gt getPreviousResultsi HashMap lt Area HashMap lt Measure Float gt gt getNewUnit HashMap lt Area Floati gt interfaces service Measures Service deleteMeasures List String List lt Measure gt getMessure String Measure getMeasurelnMeters Measure String getMeasures List lt Measure gt getNameAndSymbolList String List lt Stringll gt noDependenciesiList lt String gt void relnik void UpdateMeasure String Measure Measure 44444444 RemoteServiceServlet Measures Servicelmpl interfaces service Entities Service editGPSPointint String Double Dou
29. didException AlreadyUsedidException int KMLExportException KMLExportException String KMLImportException KMLImportException String MeasurelnRelationDeleteException MeasurelnRelationDeleteException String getMessage String getMessage String getMessagel String getMessage Sting MultipleEntitiesException Exception IsSerializable MultipleMeasure SymbolException MeterDeleteException getMessage String Exception IsSerializable NoSelectionException NoSelectionExoeption getMessagel String UnknownldException UnknownldException UnknownldException int getMessage String MultipleEntitiesException MultipleEntitiesException String getMessage String Exception IsSerializable NoAnalyseResultException NoAnalyseResultException getMessage String SameLinePointsException SameLinePointsException getMessagel String MultipleMeasureSymbolExoeption String getMessage String Exception IsSerializable OvertakenBoundsException OvertakenBoundsException OvertakenBoundsException String int int getArgName String getLowerBound double getUpperBound double getMessage String Exception IsSerializable XMLExportException NestedAresException NestedAreaException String String getMesssge String NullArgumentExcepti
30. e euclidienne Dans la premi re formule la terre est approxim e une sph re et la distance calcul e correspond la plus petite distance entre deux points autour de cette sph re Dgc 2R arcsin sin ize cos lat1 cos lat2 sin om ou R est le rayon de la terre latl longl et lat2 long2 sont respective ment la latitude et longitude des deux points 40 La seconde formule permet de calculer la distance entre deux points dans un espace euclidien Le r sultat obtenu est donc la distance en ligne droite entre les deux points Deucl R sin lat2 lat1 cos lat1 x cos lat2 x sin lon2 lon1 tant donn que les distances mesur es sont relativement petites moins d un kilom tre l approximation euclidienne est suffisante pour obtenir une erreur inf rieure 1 m tre pour 20 m tres en effet si l on consid re les points GPS 35 741992 36 703734 et 35 7407730 36 703348 Dgc 144 6m Deucl 144 67m Dans cet exemple l erreur est inf rieure 107 m tre les distances cal cul es tant des longueurs de champs l approximation fournie par la g om trie euclidienne est suffisante pour avoir une marge d erreur inf rieure 1 metre 5 2 2 Calcul de la probabilit d utilisation d une unit de mesure Ce calcul est r alis en faisant une moyenne des modulo entre la longueur de chaque ligne et l unit de chaque ligne en r alit nous prenons pour mod ulo le minimum entre
31. e plus loin Une application GWT classique est s par e en trois paquetages Un paquetage client dont les classes seront compil es en JavaScript et ex cut es par le navigateur Un paquetage server qui sera compil en bytecode Java et ex cut par un serveur d applications Un paquetage shared qui contiendra toutes les classes utilis es la fois par le client et le serveur 4 2 2 Relationnel Ce diagramme de paquetage voir fig 4 3 montre la relation UML im port entre les diff rents paquetages c est dire les relations d utilisation entre les paquetages 23 AnalyseServicelmpl EntitiesServioelmpl FileManager KML Servioelmpl MeasuresServicelmpl PDFCreator ReportServicelmpl TempFolder XML Servioelmpl EU EN EH m EH AresUpdatedEvent CancelEditAreaEvent CancelEditGPSPointEvent CancelEditLineEvent CancelEditMessureEvent ChangeLocaleEvent EditAreaEvent EditGPSPointEvent EditLineEvent EditMessureEvent GenersteReportEvent GPSPointUpdatedEvent LineUpdatedEvent MeasureUpdatedEvent NewProjectEvent ReportCancelledEvent E ShowHelpEvent AE GET ET GED GED BET GET GED GED BT TE IET RETI GED GET Bg E amp R q AreaUpdatedEventHandler CancelEditAreaEventHandler o CancelEditGPSPointEventHandler eQ CancelEditLineEventHandler CancelEditMeasureEventHandler o CancelReportE
32. etage 18n pour internationalisation sert l internationalisation de notre application Les deux interfaces MetrologyConstants et Metrolo gyMessages d finissent respectivement les chaines constantes et celles prenant des param tres A chaque langue est associ deux fichiers textes contenants les traductions des chaines et c est l ex cution que le choix de la chaine afficher se fait client i18n en fonction de la langue choisie La langue par d faut de l application est Panglais class i18n com google gwt i18n client Constants add String addLine String addLineLabelPrompt String addPoint String snslyseResults String areaLine String areas String suthor String cancel String compute String date String definedBy String deleteLine String deletePoint String edit String entities Sting exportKML String fetchPointFailed String generateReport String li etc 4 444444 com google gwt i18n client Messages interface MetrologyMessages addGPSPointLabelPrompt String String String exportKMLFsilure String String exportXMLFailure String String fieldEmpty String String fieldNotBetweenBounds String String String String fieldNotNumber String String importKMLFailure String String importXMLFailure String String
33. g gt void onModuleLoad void refreshContainersSizes void FIGURE 4 6 Diagramme de classes paquetage client 4 3 4 client view Dans ce paquetage sont contenues toutes les vues Chaque vue herite de la classe Composite de GWT et est donc un ensemble de widgets Chaque vue impl mente galement une interface Display qui sera utilis e par le s pr senteur s correspondant Ces interfaces permettent aux pr senteurs de controler les vues sans connaitre le type d objets utilis es 28 DisplayView interfaces presenter AreaPresenter Display E g tComputeButton HasClidiHandlers addArea Stringl void ist lt integer gt void refresh void getSelectedRowsi List lt integer gt populsteLists List lt Stringl gt void getLstitudeP HasValue lt String gt getLongitudeP1 HasValue lt String gt getP1List HasChangeHandlers getPiSelectedid String setP1Selectedld String void getP2List HasChangeHandlers getNamef HasValue lt String gt setName Sting void getSelectedRows Set lt Stingl gt setDatasiList lt Stringll gt List lt Stingl gt void getP2Selectedid String SelP2Selectedid Sting void getLatitudeP2 HasValue lt String gt getLongitudeP2 HasValue lt String gt Composite 3 A getName
34. iBex ems XMLImportException g ListBox 8 Marker E Polyline kom shared 8 SaveCancelButtons FIGURE 4 3 Diagramme de paquetages relationnel 25 4 3 Diagrammes de classes 4 3 1 shared model Ce paguetage contient les mod les c est dire les donn es du logiciel Nous avons deux sortes de donn es les entit s que l on ajoute sur une carte et les unit s de mesure La classe abstraite Entity contient les informations communes aux classes GPSPoint Line et Area Une Area est un ensemble de Line et Area La classe Measure repr sente une unit de mesure elle contient son nom et sa valeur dans une autre unit de r f rence Toutes ces classes impl mentent l interface IsSerializable variante made in GWT de Serializable pour permettre aux objets d tre transf r s entre le client et le serveur class model IsSerializable IsSerializable Entity Measure name Sting id int Areal Messurel Ares String Measure String String float String getName String Ares String int getDefinedBy String getid int setName String void setld int void toStringAmay Stringi setEntities List lt Entity gt void getEntities List lt Entity gt addEntity Entity void deleteEntity Entity void extractLines List lt Line gt extractLines Set lt Line gt void toStringArray Stringl getNamel Sting getSymbol
35. ieu dont il a entr le nom La partie droite de l interface graphique est compos d un panneau con tenant les donn es de l application les entit s g ographiques et les unit s de mesures et permettant d diter ces donn es 12 2 4 Planning pr visionnel Le diagramme de Gantt suivant montre les nombres de d veloppeurs as soci s chaque t che et la succession de celles ci ainsi que leurs dur es La semaine 1 correspond la semaine du 31 janvier au 6 f vrier A la fin de la semaine 5 une version alpha du logiciel accompagn e d une bauche du manuel d utilisateur sera pr sent e au client afin de valider l ergonomie de l interface G ANTT coe P 2 project y E Dw f vrier 2011 Architecture IHM Interaction avec GoogleMaps Integration Calcul des distances et de probabilit s 14 personnes 2 personnes 12 personnes 4 personnes 4 personnes 12 personnes Import Export de fichiers KML 42 personnes Sauvegarde Chargement au format XML 12 personnes G n ration automatique de rapports 12 personnes Tests Internationalisation R daction du manuel de l utilisateur Finalisation du m moire 42 personnes 42 personnes 42 personnes 42 personnes FIGURE 2 3 Diagramme de Gantt du planning pr visionnel 13 Chapitre 3 Exemples d utilisation 3 1 Ajout Suppression et Edition 3 1 1 A partir de la carte
36. indDisplayl void deleteSelectedMeasures GridDisplay void fetohData void LinesPresenter EntitiesServiceAsync HandlerManager GridDisplay DisplayEditView getSaveButton HasClioiHandlers getCancelButton HasCliciHandlers getAdditionslinfo HasValue lt String gt addKeyDownHandler KeyDownHandler id voi selFocus void getCancelButton HasClicHandlers getGenersteButton HasClickHandlers Cosa intsCheckBox Boolear getAddButton HesClickHandlers getEditButton HasClicHandlers _ getDeleteButton setData Stringl void deleteAress Listeint Mer void refresh void gelSelectedRows List lt Integer gt deselectAlll void getReportTitle HasValue lt String gt getXHTMLDocumentButton s Boolean showHelpButton HasClickHandlers resetTabPanel void frLangButton HasClickHandlers setChecBoxes boolean boolean esLangButton HasClioiHandlers boolean boolean boolean void enLangButtoni HasClickHandlers eu ListeStringll gt can noelButton HasCliotHandlers getDefinition Sting getName HasValue lt String gt getSaveButton HasCliciHandlers setData List lt String gt void getSymbol HasValue lt String gt addSeachTextBoxKeyHandier KeyDownHandler getSelectedids Set lt String gt get
37. ing gt getCancelButton HasClicHandlers setFocus boolean void getDateChedBox Boolean Display getGenerateButton HasCliciHandlers getGPSPointsChedBox Boolean interfaces i geiLinesChecBox Boolean L E getMapCheaBox cr ene getAdditionalinfoi HasValue lt String gt Composite 98tPDFDocumentButton Boolean getAnalyseResultsChectBox Boolean ia getReportTitle HasValue lt String gt gt getareasChecBoxi Boolean getXHTMLDocumentButton Boolean getAuthorl HasValue lt Sting gt resetTabPanel void getCancelButton HasClictHandlers EdilMeasuresView setChedBoxes boolean boolean boolean getGenerateButton HasClioiHandlers asWidget Widget boolean boolean void J getGPSPointsChedBox Boolean fillUpSymbolList String List lt Stringl gt void geiLinesCheckBox Boolean geiCancelButton HasClickHandlers getMapChedBox Boolean getDefinition String getDateCheckBox Boolean getName HasValue lt String gt getPDFDocumentBution Boolean getSsveButton HasClictHandlers getReponTitiel HasValue lt String gt getSymbol HasValue lt String gt getXHTMLDocumentButton Boolean getValue HasValue lt String gt resetTabPanel void setFocus boolean void setCheaBoxes boolesn boolean boolean Display interface loadProjectButton HasClickHandlers ssvePr
38. instant o il a t sauvegard Exporter et importer les entit s au format KML Le logiciel doit pouvoir exporter et importer des fichiers KML format utilis pour d crire des informations g ographiques dans GoogleMaps en respectant la norme KML 2 2 d finie par le OGC Open Geospatial Consor tium Niveau de difficult lev e Priorit Moyenne Test de validation Les fichiers g n r s doivent tre lisibles par Google Earth GoogleMaps ainsi qu ArcView diter la liste d unit s de mesure L utilisateur pourra diter la liste d unit s de mesure Ces unit s de mesure pourront tre d finies par rapport aux unit s existantes Niveau de difficult Faible Priorit Moyenne Test de validation Il est possible de cr er une liste d au moins 100 unit s de mesure diff rentes G n rer un rapport Le logiciel devra permettre la g n ration d un rapport en PDF contenant les r sultats obtenus ainsi qu une visualisation de la carte Niveau de difficult Moyen Priorit Faible Avoir un manuel en ligne Le logiciel devra fournir un acc s rapide une documentation Un tu toriel en ligne devra galement expliquer pas pas les diff rentes tapes de l utilisation du logiciel Niveau de difficult Faible Priorit Faible 2 2 Cas d utilisation Compute possible units of ER N N extend N N N y Modify a unit of TENS s include measurement Delete
39. l et Vid des Measure est d fini par l utilisateur l unicit de cet id est v rifi lors de l ajout ou de l dition d une unit de mesure 5 3 3 Les unit s de mesure Le logiciel permet l utilisateur de g rer les unit s de mesure Chaque unit de mesure est repr sent e par une instance de la classe Measure Une unit de mesure valide doit avoir un nom un symbole une valeur et elle doit tre d finie par une autre unit de mesure Les unit s de mesure sont g r s par le MeasureServicelmpl servlet Ce service impl mente une HashMap qui contient les unit s de mesure L avantage de l utilisation d une HashMap est qu en utilisant le symbole de l unit comme cl nous sommes s r de Punicit de ce symbole Comme chaque nouvelle unit de mesure doit tre d fini par une autre il doit y avoir une unit de mesure par d faut Dans notre cas l unit de mesure par d faut est le m tre Le m tre est de cette fa on intouchable Il n est pas possible de modifier ou de supprimer cette unit de mesure Il y a aussi des restrictions lorsqu il s agit de mesures d finies par l utilisateur L utilisateur ne peut pas supprimer une unit de mesure qui d finit une autre unit de mesure Lorsque l utilisateur modifie une unit de mesure le changement va tre appliqu toutes les unit s de mesure qui sont d finies par l unit qui a t modifi 5 3 4 La vue Grid View Apres quelques temps pass d ve
40. lient event SS SS 30 4 3 7 client event handler ouch uuu We ER 30 4 3 8 clientservice 34 DID SERVOT s 26 ne D SED ANTI EVEN ree ib N 34 A SLO elientot OO An erat Saez Qu Gh Os PE ET mP 3T 43 11 client id8n 38 4 4 Diagrammes de s quence 39 Choix d impl mentations 40 51 Choix du langage utilis A Te EOS 208 40 52 Choix algorithmiques i YI pa due had sahat a 40 52 1 Calcul des distance 40 5 2 2 Calcul de la probabilit d utilisation d une unit de MESU Coes cic a tet rits dD GAT ata ide de ot m Eu N 41 5 2 3 D termination d une nouvelle mesure 41 53 Choix techniques A 50 Sale Nas naa nr 41 531 LaclasseEntity Sa ee Es gs 41 5 3 2 Definition d un id pour chaque entit 42 5 3 3 Les unit s de mesure 42 534 La vue GridView Josia Je A IG 42 5 3 5 Repr sentation des zones 43 5 8 6 Synchronisation de la carte et des listes 43 53 7 La classe ServerCall za dusk amp AE AA mu vs ad 44 5 3 8 G n ration du rapport beard RES d n vi 44 Tests 46 61 Tests SC NATTOSI uds v it Ava v h ka v h Ie Ss EARS 46 0 2 lests Unitaires gt 1 2 kala eue era G imite 41 47 6 2 1 XMLServiceTest et KMLServicesTest 47 6 2 2 EntitiesServiceTest 47 63 TestsdePerformance 47 6 3 1 Conditions d
41. lopper ind pendamment les diff rentes vues qui affichent respectivement les points GPS les lignes et les unit s de mesure nous avons remarqu que celles ci taient en tout point identiques ceci pr s qu elles n utilisaient les m mes types d objets Pour rem dier cela nous avons ajout nos mod les une m thode toStringArray qui ren voie les informations affich es sous forme d un tableau de String l l ment 0 tant dans tous les cas l id de l objet La seule diff rence restante entre ces 42 vues tant le nombre de colonnes il a suffit d ajouter la m thode setColum n Title String titles qui prend donc un nombre de param tres variable d finissant le nombre de colonnes affich es Cette factorisation des vues est possible gr ce l architecture MVP de notre application Nous avons donc ici tir profit du mod le de conception en utilisant l ind pendance entre les vues et les mod les pour factoriser et r utiliser du code 5 3 5 Repr sentation des zones Nous avons choisi pour afficher les zones d utiliser un arbre Cet arbre est constitu de noeuds qui repr sentent les zones et de feuilles qui repr sentent les lignes et autres zones L utilisation d une arborescence permet de se d placer tr s rapidement dans les zones incluant de nombreuses autres zones L impl mentation est cet arbre est d crite dans la classe Area TreeModel qui est une extension de la classe Tree ViewModel La classe Tree
42. lt Sting gt setData Stringll void addkeyDownHandler KeyDownHandler void Composite DisplayEditView BR interfaces presenter EditGP SPointsPresenter GridView pr asWidgeti Widget getLatitude HasValue lt String gt getAddButton HasClickHandlers getLorgitude HasValue lt String gt getEditButton KasClioHandlers getName HasValue lt Sting gt geiDeleteButton HasClickHandlers setData String void selData List lt Stingl gt void getSelectedi s Set lt Sting gt setColumnTitle String void Display View interfaces presenter GridDisplay setData List lt Stringlf gt void getSelectedids Set lt String gt setColumnTitle String FIGURE 4 7 Diagramme de classes paguetage client view 29 4 3 5 client presenter Ce paquetage voir fig 4 8 contient les pr senteurs ce sont eux qui don nent vie aux vues en associant des actions aux boutons etc comme dis ci dessus Chaque pr senteur contient une interface qui h rite de Display impl ment e par une vue De cette facon le pr senteur sait quels l ments sont dans chaque vue sans savoir exactement quels widgets sont utilis es Ce sont les pr senteurs qui r alisent les appels asynchrones au serveur pour obtenir les modeles points GPS lignes etc Ce sont galement ces pr senteurs dui informent l AppController qu un mod le t modifi
43. nel 25 Diagramme de classes paquetage shared model 26 Diagramme de classes paquetage shared exception 27 Diagramme de classes paquetage client 28 Diagramme de classes paquetage client view 29 Diagramme de classes paquetage client presenter 31 Diagramme de classes paquetage client event 32 Diagramme de classes paquetage client event handler 33 Diagramme de classes paquetage client service 35 Diagramme de classes paquetage server 36 Diagramme de classes paquetage client ui 37 Diagramme de classes paquetage client 118n 38 Speed Tracer Ea ale SU RE E 48 Planta efiectif us uu Seu d Ni mk Ned DRR diodes 51 Chapitre 1 Introduction La m trologie est la science des mesures et ses applications L tude m trologique des structures agraires permet de retracer l histoire d une ville ou d une r gion en identifiant gr ce aux unit s de mesure utilis es pour tracer les champs quel civilisation a occup une r gion sur une p riode donn e L objectif de ce projet est de construire un outil informatique pour la m trologie sur plans g ographiques en arch ologie permettant de d terminer quel unit de mesure aurait pu tre utilis pour tracer les champs partir des coordonn es GPS de ceux ci et ensuite d duire la civilisation occupante de la r gion l
44. ns le futur 7 3 Exp rience personnelle Au niveau de l exp rience personnelle ce projet nous a permis d aborder les probl matiques li es au travail en quipe et au partage du travail Nous avons aussi t confront de nombreux impr vus et difficult s pendant toute la dur e du projet que ce soit la difficult de comprendre les besoins r els du client non informaticien ou la complexit du format KML Malgr cela nous avons su mener bien ce projet 7 4 Perspectives 7 4 1 Futur de l application D aux contraintes de temps l application bien que fonctionnelle n est toujours pas en ligne Nous n avons donc pas encore de retour du client et il se peut que des modifications soit demand es pour le m me raison les tests d ergonomie n ont pas encore t r alis s Nous avons vu dans la section 6 3 que l import des gros fichiers KML tait grandement ralenti par la mise jour de la carte c est donc un point qui pourra tre am lior dans le futur par exemple en ajoutant une option la carte qui permettrait de choisir d afficher ou non les points GPS ce qui r duirait le nombre d entit s charger en m me temps sur la carte Une autre am lioration future est li e aux donn es fournis par client D apres le cahier des charges un point GPS est d fini par sa latitude et sa longitude cependant les donn es fournis par le client possede des infor mations d altitude L utilisation de ces donn es
45. oid addArea int String List lt String gt Integer get reas ListeInteger List lt Ares gt getAreas List lt Ares gt getArea int String deleteAreas List lt Integer gt Void getEntities List lt Entity gt addEntities List lt Entity gt void getData boolean boolean boolean boolean List lt List lt Entity gt gt entitiesExist boolean 4 4444 getPointsAndLines AsyncCallback List Entity void sddGPSPoints List lt GPSPoint gt AsyncCallbacr lt List lt integer gt gt void editGPSPoint int String Double Double AsyncCallbsck lt Integer gt void getPoints AsyncCallback lt List lt GPSPoint gt gt void getGPSPoint int AsyncCallback lt GPSPoint gt void deleteGPSPoint int AsyncCallback lt Boolean gt void deleteGPSPoints List lt Integer gt AsyncCallback lt Boolean gt void editline int String int int AsyncCallbsck lt Integer gt void getLines AsyncCallback ListeLine void getLinesAreas int AsyncCallback lt List lt Entity gt gt void getLinelint AsyncCallback lt Line gt void deletelines List lt Integer gt AsyncCallback lt Void gt void deleteLine int AsyncCallback lt Void gt void addArea int String List lt String gt AsyncCallback lt integer gt void getAress AsyncCallback lt List lt Ares gt gt void deleteAreas List lt Integer gt AsyncCallback Void void getArea int Asyn
46. ojectButton HasClictHandlers newProjectButton HasClidiHandlers getDeleteGPSPointButton ToggleButton exportKMLButton HasCliciHandlers getAddLineButton ToggleButton importkMLButton HasClidHandlers geiDeleteLineButton ToggleButton genersteReportButton HasClioiHandlers getLocation HasValue lt String gt showHelpButton HasClickHandlers getSearchLocationButton HasClickHandlers fiLangButton HasClickHandlers HasClickHandlers enLangBution HasClictHandless 1 Composite MenuView MenuViewfnt int MapViewint int loadProjectuttoni HasClickHandlers asWidget Widget saveProjecButton HasClickHandlers getMap MapWidget exporiKMLEutton HasClictHandlers getAddGPSPointButton ToggleButton importkMLButton HasClictHandlers getDeleteGPSPointButton ToggleButton generateReportButton HesClickHandlers getAddLineButton ToggleButton showHelpButton HasClickHandlers getLocation HasValue lt String gt newProjedButton HasClictHandlers addSeschTexiBoxKeyHandlerKeyDownHandler void ssWidget Widget getSearchLocationButton HasClictHandlers frLangButton HasClickHandlers getDeleteLineButton ToggleButton esLangButton HasCliciHandlers getMapParameters String EditSPSPointsView asWidget getlatitude HasValue lt String gt getLongitude HasValue lt String gt getName HasValue
47. omparer les r sultats obtenus par notre logiciel avec ceux de sites d j connus D terminer une nouvelle unit de mesure Il sera possible de calculer la longueur d une nouvelle unit de mesure probablement plus utilis e que les unit s de mesure d j connues Niveau de difficult Moyen Priorit lev e Int grer Papplication dans un navigateur L interface devra tre int gr e dans un navigateur Niveau de difficult Faible Priorit Elev e Int grer GoogleMaps L utilisateur doit pouvoir visualiser les entit s g ographiques cr es sur une carte GoogleMaps et ajouter celles ci directement sur la carte Niveau de difficult Moyen Priorit lev e Limitation N cessite une connexion Internet Risques et parades Un risque important est pr sent sur l utilisation de GoogleMaps il n est pas garanti qu il existe une API pour int grer GoogleMaps un site web ou que la licence soit compatible celle de notre logiciel Dans ce cas il faudrait utiliser un autre syst me de cartographie en ligne comme par exemple Mappy Sauvegarder et charger un projet au format XML Le logiciel doit pouvoir charger et sauvegarder des fichiers de projet au format XML tout en respectant la norme XML 1 0 d finie par le W3C http www w3 org 2001 03 webdata xsv Niveau de difficult Faible Priorit Moyenne Test de validation Le projet une fois charg doit tre dans le m me tat qu l
48. on NullArgumentException String getMesssge String XMLExportException XMLExportException String getMesssge String XMLImportException XMLImportException Sting getMessage String FIGURE 4 5 Diagramme de classes paquetage 2T shared exception 4 3 3 client Ce paguetage contient deux classes 1 AppController C est cette classe qui se charge de cr er les diff rents pr senteurs et vues et qui place ces derni res dans les diff rents con teneurs qui s parent la fen tre du navigateur C est galement cette classe qui se chargera de rafra chir ces vues lorsque les mod les seront modifi s 2 Metrology Point de lancement de l application elle impl mente pour cela la classe EntryPoint c est cette classe qui cr e l objet AppCon troller Un certain nombre de variables statiques utilis es cot client seront dans cette classe class client ValueChangeHandler EntryPoint AppController Metrology constants MetrologyConstants messages MetrologyMessages maxLat int 90 freadOnly minLat int 90 resdOnly minLng int 180 fresdOnly headerHeight int eastContainerWidth int mapWidth int etc AppController EntitiesServiceAsync MeasuresServiceAsync ReportServiceAsync AnalyseServiceAsync HandlerManager go HasWidgets void getHeader String String HorizontalPanel onValueChange ValueChangeEvent lt Strin
49. ors de la construction de ces champs Pour cela nous comparerons les dimensions des champs tudi es dans une r gion avec les unit s de mesure utilis es l poque La difficult est que nous ne connaissons pas toutes les mesures utilis es notre travail consistera alors essayer de trouver une nouvelle unit de mesure commune aux champs et ayant pu tre utilis e Ce probl me de reconnaissance a d j t trait mais les moyens d acqu rir les donn es taient diff rents Par exemple en 2006 Bescoby publie un ar ticle intitul Detecting Roman land boundaries in aerial photographs using Radon transforms 1 Dans cet article Bescoby propose un moyen d acquisi tion des donn es et surtout un moyen d interpr tation des r sultats obtenus Chapitre 2 Cahier des charges 2 1 Etude des besoins 2 1 1 Definitions 1 Entit Une entit repr sente un l ment g ographique soit un point GPS une ligne ou une zone 2 Point GPS Un point GPS est identifi par deux coordonn es la latitude comprise entre 90 et 90 et la longitude comprise entre 180 et 180 3 Ligne Une ligne est compos e de deux points GPS les extr mit s 4 Zone Une zone est un regroupement de lignes et ou d autres zones 2 1 2 Besoins non fonctionnels Pr cision des distances calcul es Les distances calcul es par le logiciel doivent tre pr cises par rapport aux distances r elles l erreur doit tre inf rieure
50. permettrait d am liorer la pr cision de nos calculs de distance et donc d am liorer le calcul de proba bilit d utilisation d une unit de mesure 7 4 2 Et si on recommen ait Un choix que nous avons fait et dont nous sommes satisfaits est l lection de GWT comme api pour programmer cette application En revanche les 52 widgets inclus dans GWT sont assez sommaires et nous avons pass beau coup de temps d velopper les vues c est pourquoi l utilisation d une bib lioth que tierce d finissant des widgets plus avanc s comme Ext GWT par exemple nous permettrait de gagner beaucoup de temps 1 http www sencha com products extgwt 93 Annexe A Le code des Tests A l Test Analyse Service Test try public void thousandPointsMeasuresTest List lt Entity gt points new ArrayList lt Entity gt List lt Measure gt measures new ArrayList lt Measure gt Measure meter new Measure Meter m 1f m measures add meter Random random new Random COMMENT Arnaud 21 03 2011 Created measures for int i 0 i lt 1000 i d Measure m new Measure Measure i smb i random nextFloat measures add m gt COMMENT Arnaud 21 03 2011 Created points for int i 0 i lt 1000 i GPSPoint p new GPSPoint point Integer toString i random nextDouble random nextDouble p setld i points add p I 00MMENT rnaud 23 03 2011 Cre
51. r l actualisation de la liste des points Ajout de cent lignes La m thode utilis e pour ajouter une ligne tant similaire l ajout d un point les r sultats des tests sont plus ou moins les m mes et on constate ici aussi que l actualisation de la carte est plus lente que le reste Ajout de cent unit s de mesure L ajout de cent unit s de mesure fonctionne et prend environ 150 sec ondes Import d un fichier KML Nous avons galement test l import d un fichier KML contenant un grand nombre de lignes plus de 1000 et il s av re encore une fois que la carte est la partie la plus lente de notre application et qu elle gagnerait tre optimis e 6 3 3 Conclusion des tests Ces tests de performance nous ont permis de tester la partie client de notre application ce qui n a pas t fait avec les tests unitaire qui ne testaient que 49 la partie serveur et 6galement d optimiser certains points et de voir guels points peuvent tre optimis s dans le futur 90 Chapitre 7 Bilan 7 1 Resultats Le premier bilan de ce projet est de pouvoir r pondre la question pos par le client qui est de savoir si les champs situ es dans la r gion de Ruweiha en Syrie sont ou non des champs datant de l poque romaine En analysant les donn es fournis par le client gr ce notre application nous pouvons r pondre qu une grande partie des champs pr sents autour de Ruweiha ont des dimensions multiples d
52. rea Float gt gt void interface Entities Service editGPSPoint int Sting Double Double Integer deleteGPSPoint int Boolean deleteGPSPoints List lt integer gt Boolean sddGPSPoints List lt GPSPoint gt List lt Integer gt getPoints List lt GPSPoint gt getPointsAndLines List lt Entity gt getGPSPoint int GPSPoint editLinelint String int int Integer deleteLine int Void deleteLines List Integer Void getLines List lt Line gt 3 AsyncCallback lt HashMap lt Area HashMap Measure Float void getPreviousResults AsyncCallback lt HashMap lt Ares HashMap lt Messure importKMLISting AsyncCallback lt List lt Entity gt gt void exportKML String List lt Entity gt AsyncCallback String void importKML String List lt Entity gt exportKML String List lt Entity gt String determineNewUnit List lt Ares gt AsyncCallback lt HashMap lt Aves Flost gt gt void importXML String List lt Entity gt exportXML String List lt Entity gt List lt Measure gt Sting getMeasures List lt Messure gt importXML String AsyncCsllbeck lt List lt Entity gt gt void exportXML String List lt Entity gt List lt Measure gt AsyncCallback lt String gt getMessures AsneCallbeckeList Messure gt gt void interface ReportServiceAsync getLinesAreas int List lt Entity gt getLinelint Line relnit v
53. rt User s guide A H Pr ees points Points Latitude 11 p2 35 74273741465156 12 p2 35 741531342158716 13 pl 35 741422489951766 Longitude pti 35 74274176867077 36 705467104 36 705912351t 36 705402731t 36 705805063 Lines Areas Measurement Units New project Load project Saveproject Import KML file Export toKML Generate report User s guide A H mm E ore O ces Points eY eYe o4 Points Latitude Longitude Pta 35 74274176867077 36 7054671049 11 p2 35 74273741465156 36 7059123516 12 p2 35 741531342158716 36 7054027318 13 p1 35 741422489951766 36 7058050632 FIGURE 3 2 Vue sur la carte 16 Points Latitude Longitude Lime Point Point Length in LE EE 1 2 meter Pt 35 74274176867077 36 7054671049 11 p2 35 74273741465156 36 7059123516 ll e NE _ ti 12 p2 35 741531342158716 36 7054027318 EB EER 14 B p n 146 53 13 pl 35 741422489951766 36 7058050632 P a W 4 1404 H M 4 1303 gt Add Edit Remove Measurement Unit Symbol Value In meter m 1 0 v a2 val 12 11 14 Add Edit Remove W 1101 gt M Compute Add Edit Remove FIGURE 3 3 Les panneaux d informations 17 pane 701 Poma Latitude 35 74274176867077 Longitude 36 705467104911804 point 2 Latitude 35 74274176867077 Longitude 36 705467104911804 _Save Cancel
54. s getSaveButton Button getCancelButton Button Composite SaveCancelButtons 1 gt j AreaTreeModel getNodelnfo T Nodelnfo lt gt isLeaf Object boolean isRoot Object boolesn addArea Stringl void deselectAll void refresh void getSelectedAreas List lt Integer gt removeAreas List lt Integer gt void TreeViewModel AreaTreeModel EntitiesServiceAsync com google gwt maps client overlay Marker Marker Marker LatLng Marker Latl ng int setld int void getild int com googie gwt maps client overlay Polyline Polyline Pelyline LstLng Polyline LatLngl int setld int void getld int AbstractCell AreaTreeModel AreaCell render com google gut String SafeHtmlBuilder vo LbITextBox String LbiTextBox String String setLabel String void getLebel String addValueChangeHandler ValueChangeHandler lt String gt HandlerRegistration getValue String setFocus boolean void selValue String void setValue String boolean void setEnabled boolean void addKeyDownHandler KeyDownHandler HandlerRegistration FileChooserDialogBox String adoSubmitHandler FormPanel SubmitHandler void addSubmitCompleteHandler FormPanel SubmitCompleteHandler void getFileNamel String FIGURE 4 13 Diagramme de classes paguetage client ui 37 4 3 11 Le paqu
55. super area and compute the possible measures used After that generate a pdf report Ouestions Please answer the next guetions to help us to improve our software How much time have you spent on learning how to use the software 96 What do you think about the graphical interface 57 Bibliographie 1 DJ Bescoby Detecting roman land boundaries in aerial photographs using radon transforms Journal of Archaeological Science 33 5 735 743 2006 2 Francois Favory et J P Vallat M Clavel L v que Structures agraires en Italie centro meridionale volume 100 Cadastres et paysages ruraux collection de l Ecole fran aise de Rome Paris Rome 1987 3 J B Campbell The writings of the Roman land surveyors Society for the Promotion of Roman Studies in London London 2000 4 O W Dilke The Roman land surveyors An introduction to the Agrimen sores Newton Abbot David and Charles London 1971 5 Open Geospatial Consortium OGC KML Sp cifications tim wilson edi tion 04 2008 6 Mike Potel MVP Model View Presenter The Taligent Programming Model for C and Java 1996 58
56. tRequest HtipServletResponse void MeasuresServicslmpll deleteMessures List lt String gt List lt Measure gt get reas List lt Area gt getMeasure Sting Measure getAreatint String getMeasurelnMeters Measure String addArea int String List lt Stringl gt Integer getMeasures List lt Measure gt deleteAreas List lt integer gt Void getNameAndSymbolListiString List lt Stringl gt getPointsandLinesi List lt Entity gt noDependenciesiList lt String gt void relnit void relnit void getEntities List lt Entity gt updateMeasure String Measure Measure getData boolean boolean boolean boolean updateRelatedMeasures String Measure void ListeList lt Entity gt gt addEntities List lt Entity gt void A RemoleService A interface interface service KML Service service ReportService importKMLISting List lt Entity gt generateReportiList lt List lt Entity gt gt Stringl boolean boolean String exportKML Sting List lt Entity gt Sting HashMap lt Aves HashMap lt Measure Flost gt gt String i 1 RemoteService Servet KML Servicelmpl RemoteServiceServiet importKML String List lt Entity gt ReportServioelmpl exportKML String List lt Entity gt String generateReport List lt List lt Entity gt gt Stingl boolean boolean String HashMap lt Ares HashMap lt Messure Flost gt gt String HitpServiet
57. terDeleteExoeption MultipleEntitiesExoeption MultipleMeasureSymbolException NestedAresExoeption NoAnalyseResultException NoSelectionException NullArgumentException OvertskenBoundsException SameLinePointsException UnknownldException XMLExportException E XMLImportException from shared FIGURE 4 2 Diagramme de paquetages hierarchique 24 importe cl l par 7 BEA AreaUpdatedEvent i18n AresPresenter CancelEditAresEvent a MetrologyConsiants EditAreaPresenter B CancelEditGPSPointEvent 0 MelrologyMessages B EditGPSPointsPresenter 8 CancelEditLineEvent E EditLinesPresenter 8 CancelEditMessureEvent E EditMeasuresPresenter 8 ChangeLocaleEvent n B GPSPointsPresenter E EsitiresEvent jam chiens E LinesPresenter EditGPSPointEvent import MapPresenter E EditLineEvent B MeasuresPresenter 8 EditMeasureEvent g raa B MenuPresenter El SenerateReportEvent a B Presenter B GPSPointUpdstedEvent 8 LEEN ogy import B ReportsPresenter 8 LineUpdatedEvent EO B ServerCall MessureUpdstedEvent import impor o DisplayEditView NewProjectEvent Ks S a 0 DisplayView ReportCancelledEvent 1 CU om GridDisplay E ShowHelpEvent em s S r handler T from client N importe import i 8 EditAreaView EditGPSPointsView AreaUpdatedE
58. terface CancelEditLineEventHandier onCancelEditLine CancelEditLineEvent void EventHandier EventHandler interface CancelEditAreaEventHandler onCancelEditArea CancelEditAresEvent void interface CancelEditGP SPointEventHandler onCancelEditGPSPoint CancelEditGPSPointEvent void EventHandler interface CancelEditMeasureEventHandler onCancelEditMessure CancelEditMeasureEvent void onCsncelReport ReportCancelledEvent void EventHandler interface ChangeLocaleEventHandler EventHandler interface EditGP SPointEventHandler onChangeLocale ChangeLocaleEvent void onEditGPSPoint EditGPSPointEvent void AA interface EventHandler interface NewProjectEventHandier F onNewProject NewProjectEvent void onShowHelp ShowHelpEvent void FIGURE 4 10 Diagramme de classes paguetage client event handler 33 4 3 8 client service Ce paquetage voir fig 4 11 regroupe les interfaces des diff rents services On constate la pr sence de classes Service et ServiceAsync ceci est une convention de GWT les interfaces Service seront impl ment es cot serveur et les Service Async permettent au cot client de r aliser des appels asyn chrones au serveur 1 EntitiesService g re l ajout suppression et dition des points GPS lignes et zones
59. tream du servlet afin que le document puisse tre affich imm diatement dans une nouvelle fen tre du navigateur internet 45 Chapitre 6 Tests 6 1 Tests sc narios Le sc nario suivant a t r alis sur diff rents navigateurs et syst me d exploitations afin de prouver la portabilit de notre logiciel 1 2 ODN OO P O Zoomer avec la molette de la souris sur le site qui vous int resse Ajouter des points sur la carte en appuyant sur le bouton correspon dant diter quelques points Ajouter des points GPS via le bouton add de la liste des points Cr er et diter des lignes de la m me mani re Cr er des zones contenant des lignes et ou d autres zones Ajouter des unit s de mesure Sauvegarder le projet Supprimer des points et des lignes via la carte et les listes 10 11 12 13 14 15 16 17 18 Supprimer des zones via la liste Cr er un nouveau projet Charger le projet pr alablement sauvegard S lectionner plusieurs zones et y effectuer le calcul G n rer un rapport avec diff rents param tres en HTML et en PDF Exporter le projet en KML Ouvrir le fichier KML avec GoogleEarth Importer un fichier KML Tester toutes les langues disponibles 46 6 2 Tests Unitaires 6 2 1 XMLServiceTest et KMLServicesTest Les tests r alis s sur les services qui g rent l importation et l exporta tion de donn es au format XML et KML permettent
60. ur une possibilit de faire de nouvelles modifications en fournissant des changements dans le code HTML si n cessaire L implementation de cette fonctionnalit est fournie par le ReportServicelmpl sur le c t serveur Le service cr e un fichier HTML avec des styles CSS Par la suite il remplit le fichier avec les donn es choisies par l utilisateur Le r sultat est affich imm diatement dans une nouvelle fen tre du navigateur internet Le format PDF peut tre le choix de l utilisateur quand il ya un besoin de pr senter ou de conserver les informations g n r es Pour l impl mentation de cette fonctionnalit nous avons utilis une bibliothegue Java pour le rendu XML XHTML et CSS 2 1 Flying Saucer Flying Saucer est souvent utilis comme une biblioth que c t serveur pour g n rer des documents PDF car il est capable de convertir un fichier XHTML au format PDF De cette fa on nous pouvons utiliser le fichier HTML cr par le ReportServiceImpl pour g n rer le document PDF Nous avons cr le sevlet PDFCreator qui parse le fichier HTML dans un document DOM l aide de l api Java XML Par la suite le servlet d finit le document DOM en tant que document de l objet ITextRenderer L objet ITertRenderer est d fini par une biblioth que qui vient avec Flying Saucer Cet objet est donc responsable de la cr ation du document PDF La derni re chose faire 44 est d envoyer le document PDF cr l objet OutputS
61. utilisation normales 48 63 2 Conditions de stress 0 49 6 3 3 Conclusion des tests olla ae 49 Bilan 51 Tae Resultats ne ef oec med m A m KA D ae Doen 51 T Planning effectif a piros s Nee Pres n Vie DE a n u Ea 51 7 3 Exp rience personnelle 52 TA Perspectives darte ues dego tas i eoe ete ad a EG 52 7 4 1 Futur de l application ss 1 542828 Pi as uns 144 74 2 Etsionrecommen ait iE es Se es ES A Le code des Tests A 1 Analyse Service Test er ook qlee 6 LS ada B Questionnaire Bibliographie 54 54 56 58 Table des figures 2 1 2 2 2 3 3 1 3 2 3 3 3 4 3 5 3 6 3 7 3 8 4 1 4 2 4 3 4 4 4 5 4 6 4 7 4 8 4 9 4 10 4 11 4 12 4 13 4 14 6 1 7 1 Diagramme de cas d utilisation 10 Prototype de l interface utilisateur 12 Diagramme de Gantt du planning pr visionnel 13 Miesies ACA da A A E A R 15 Vuela Gate EL we A A Re ne 16 Les panneaux d informations ue dus eve ala ne e 17 Ajout et dition des entit s 4k d Coe EX es fed 18 PopUP des resultats 2 re AM dul py od ase 19 Informations sur le rapport 19 Le contenu du rapport se sd Ken Ode EN N HD A Ee 20 Format dir tapport ate ee ee teh rre de dee trt 20 Models MVP Sos SR Jer deg te ME te eS BU eh ET n 22 Diagramme de paquetages hierarchique 24 Diagramme de paquetages relation
62. ventHandler ChangeLocaleEventHandler o EditAreaEventHandler EditGPSPointEventHandler o EditLineEventHandler eQ EditMeasureEventHandler o GenerateReportEventHandler GPSPointUpdatedEventHandler q LineUpdatedEventHandler eQ MeasureUpdatedEventHandler NewProjectEventHandler q ShowHelpEventHandler from event MetrologyConstants o MetrologyMessages o AnalyseService AnalyseServiceAsync EntitiesService oo EntitiesServiceAsync 9 KMLService 9 KMLServiceAsync oo MeasuresService MeasuresServiceAsync ReportService 0 ReportServiceAsync 9 XMLService o XMLServiceAsync from client 8 AddEditButtons from client AreaTreeModel Bj FileChooserDialogBox 8 LblListBox m g LbiTextBox SEV B ListBox Area View B Marker Y E Polyline a E ieget gj SaveCancelButtons a ts B EditLinesView from client B EditMessuresView GridView B MapView MenuView a ReportsView EditAresPresenter from client EditGPSPointsPresenter EditLinesPresenter EditMessuresPresenter GPSPointsPresenter LinesPresenter eQ DisplayEditView o DisplayView GridDisplay from client Area Na Entity N Bj SPSPoint B Line E Messure E Polyline AlresdyUsedldException KMLExportExoeption KMLImportExoeption MeasurelnRelationDeleteException Me
63. ventHandler Re EditLinesView eQ CancelEditAreaEventHandler EditMessuresView import a N CancelEditGPSPointEventHandler E GridView o CancelEditLineEventHandler Mun ic E MapView o CancelEditMeasureEventHandler MenuView o CancelReportEventHandler ChangeLocaleEventHandler o EditAreaEventHandler 8 ReportsView from client LI rA bi VI VI A 9 EditGPSPointEventHandler sms REFER exception 9 EditLineEventHandler i model o EditMeasureEventHandler iy q GenersteReportEventHandler 0 GPSPointUpdatedEventHandler H i EE aa OK assi ETR sain x o LineUpdatedEventHandler i i KMLImportException OR re sa 111 MessurelnRelationDeleteException o NewProjectEventHandler i i MeterDeleteException AnalyseServicelmpl ShowHelpEventHandler 11 8 MultipleEntitiesException B EntitiesServicelmpl E MultipleMeasureSymbolException E FileManager from event 11 NestedAresException B KMLServicelmpl i NoAnalyseResultException MeasuresServicelmpl Bl NoSelectionException SEL EE R icelmpl 11 NullArgumentException eportServicelmpl AddEditButtons i a OvertakenBoundsExoeption TempFolder El AreaTreeModel i a SameLinePointsException B XMLServicelmpl 8 FileChooserDialogBox Pea UnknownldException O 3 XMLExportException E LbiTex

Download Pdf Manuals

image

Related Search

Related Contents

LEPA B1000-MB power supply unit  Mostrar - Siemens  Carbon footprint user guide - 07.05.2011  XM Direct Home Tuner User Guide  Hampton Bay L-GZ804PST Instructions / Assembly  Sony DSC-W350/P Marketing Specifications  1734-UM013 - Rockwell Automation  

Copyright © All rights reserved.
Failed to retrieve file