Beruflich Dokumente
Kultur Dokumente
Conclusion ......................................................................................................................... 14 Chapitre 2 : Analyse et spcification des besoins .......................................................... 15 Introduction ....................................................................................................................... 15
2.1. 2.2. 2.3. 2.4. Etude prliminaire ......................................................................................................... 15 Capture des besoins fonctionnels .................................................................................. 16 Capture des besoins techniques ..................................................................................... 25 Capture des besoins non fonctionnels ........................................................................... 29
ESPRIT
Page 1
Sommaire
4.4. 4.5. Evaluation ...................................................................................................................... 58 Problmes rencontrs..................................................................................................... 60
ESPRIT
Page 2
ESPRIT
Page 3
ESPRIT
Page 4
ESPRIT
Page 5
Introduction gnrale
Introduction gnrale
Face lvolution de la recherche scientifique agricole et laccroissement de la complexit des projets envisags dans ce domaine, les tches de gestions et dadministrations sont devenues de plus en plus complexes. Cest dans ce sens que lInstitution de la Recherche et de lEnseignement Suprieur Agricole vise mettre en place un portail web afin doffrir un canal dinformation unique et personnalis pour les diffrentes organisations sur le plan national. En effet, un portail web permet de centraliser laccs linformation pour les utilisateurs dune part et offre un point unique de contrle et dadministration aux personnels dautre part. De mme, un portail web offre un systme de publication de contenu facile utiliser mme pour des auteurs non-informaticiens. Sans oublier les moyens de collaborations qui peuvent tre offerts par un portail dont lobjectif est de susciter la collaboration, de permettre le partage de linformation et le dveloppement des connaissances. Dans le cadre de notre formation dingnieurs lEcole Suprieure Prive dIngnierie et de Technologie, nous avons eu loccasion de faire notre projet de fin dtudes au sein de lInstitution de la Recherche et de lEnseignement Suprieur Agricole. Le prsent document est organis comme suit : Le premier chapitre contiendra une description de notre projet, une tude de lexistant avec la solution propose. Dans le deuxime chapitre, nous prsenterons la phase danalyse et de capture des besoins fonctionnels, non fonctionnels et techniques. En ce qui concerne le troisime chapitre, il sera rserv la formulation de la phase de conception de la solution dj dcrite dans le premier chapitre selon une tude statique et dynamique. Enfin, dans le dernier chapitre, nous exposerons la phase de ralisation avec la description des tapes de mise en uvre et lenvironnement de travail
ESPRIT
Page 6
ESPRIT
Page 7
Prsentation du cadre de projet Centre Rgional de Recherche en Agriculture Oasienne de Degueche (Tozeur) Centre Rgional de Recherche en Horticulture et Agriculture Biologique de Chott Mariem (Sousse). Centre rgional des recherches agricoles (Sidi Bouzid). Centre rgional des recherches en grandes cultures (Bja). PRRDA du Nord Est (Mornag). PRRDA du Nord Ouest semi-aride (Le Kef). [1] La figure ci-dessous indique comment est organis lIRESA
ESPRIT
Page 8
Prsentation du cadre de projet actuelle pour grer ces tablissements avec leurs projets est une application nomme NAIS (National Agricultural Information System) qui est une application web bas sur le base principe de systme de gestion de contenu (CMS). Lapplication NAIS est compose de deux parties : Une partie prive : P Permettant aux administrateurs, aprs lauthen lauthentification et avec des droits daccs bien prcis, de grer le contenu (les publications, les projets de recherche, les tablissements). Ladministration se fait selon un processus daffaire, en effet, chaque publication ou projet ajout ne sera pas directement publi quaprs directement une validation. Une partie publique : qui permet aux visiteurs de consulter les publications et les informations sur les projets. La figure ci-dessous prsente larc dessous larchitecture de lapplication NAIS:
Administrateur
Front office
Back office
Visiteurs
Entrept de donnes
ESPRIT
Page 9
Prsentation du cadre de projet Absence des moyens de collaboration : Manque des moyens qui permettent de faciliter le travail en quipe. Administration centralise : Dans ce cas, les tablissements ne peuvent pas avoir leurs propres espaces personnalisables et ne peuvent pas grer leurs propres contenus partir dun espace dadministration. De ce fait, tout est gr au niveau de ltablissement mre (IRESA). Absence des outils de suivi des projets : Rsultat de projet, Etat de projet, avancement des projets. Absence des outils de gestion de matriel scientifique : Rservation matriel, Demande matriel, Suivi de matriel, Maintenance, Pannes Absence dun gestionnaire des ressources documentaires.
dveloppement, ensuite une explication de notre choix mthodologique et enfin une description de la mthodologie choisie.
ESPRIT
Page 10
Les phases sont droules Distingue clairement les -Non Itratif dune manire phases projet. squentielle. -Ne propose pas des modles pour les documents. - Itratif. -couteux RUP (Rational -Elabor par rational. personnaliser : Unified Process) -Le RUP est la fois une -Intragir les diffrents Batterie de mthodologie et un outil intervenant du projet (Les consultants. prt lemploi livrable, les plannings, les prototypes ) -Peu de place pour le -Cible de projet : Plus de dveloppement et la 10 personnes. -propose des modles de technologie. documents pour des projets type. -Assez flou dans sa XP (eXtreme -Ensemble des bonnes -Itratif pratiques de mise en uvre Programming) dveloppement (Travail -Donne une importance en quipe, transfert de aux aspects techniques : -Ne couvre pas les comptence ). Rgles de dveloppement. phases en amont et en aval au -Cible : Moins de 10 -Innovant : dveloppement : personnes. Programmation en duo Capture des besoins, maintenance -Plutt superficiel -Propose un cycle de -Itratif 2TUP(Two sur les phases dveloppement en Y. Truck Unified -Fait un large place la situes en amont et aval du -Cible des projets de technologie et la en Process) dveloppement : toutes tailles gestion des risques. capture des besoins, support, maintenance, -Dfinit les profils des gestion du intervenants, les changement
ESPRIT
Page 11
La figure ci-dessous montre une projection de ces mthodologies sur les diffrentes phases dans un projet.
En effet, Le RUP couvre lensemble du processus (Spcification des besoins, la conception, le dveloppement et les tests) en spcifiant les interactions entre chacun des phases, XP se concentre sur la phase de dveloppement, tandis que 2TUP fait une large place lanalyse et larchitecture. Aprs ltude comparative faite sur quelques processus de dveloppement, nous avons opts dliminer le RUP car il ne donne pas une importance la technologie et aux contraintes techniques ce qui prsente une grande partie de notre projet. Aussi nous inhibons lutilisation de CASCADE car cest un processus squentiel et non itratif, par consquence si une fonctionnalit ajoute ou un besoin technique qui se prsente, il y aura des problmes dintgration. De mme, nous liminons lXP qui nglige, de sa part, la phase de capture des besoins fonctionnels et techniques. De plus XP donne une grande importance la phase de dveloppement contrairement la phase de conception.
ESPRIT
Page 12
Daprs la figure 4, on remarque que 2TUP est compos essentiellement de trois tapes :
ESPRIT
Page 13
Prsentation du cadre de projet Une branche fonctionnelle ( gauche) : Capture des besoins fonctionnels, qui produit les modles des besoins en se basant sur le mtier des utilisateurs. Cette tape limine le risque davoir un systme inadapt aux besoins des utilisateurs. Lanalyse qui consiste tudier les besoins fonctionnels de manire obtenir une ide de ce que va raliser le systme en terme mtier. Une branche technique ( droite) : Capture des besoins techniques, cette tape permet de recenser les contraintes de choix de dimensionnement et de conception du systme. Les outils selectionns ainsi que les contraintes dintgration avec lexistant(pr requis darchitecture technique). Ltape conception gnrique dfinit ensuite les composants ncessaires la construction de larchitecture technique. Cette conception est compltement indpendante des aspects fonctionnels. Une branche de ralisation (au mileu) : La conception prliminaire, cest une tape un peut dlicate, car elle intgre le modle danalyse fonctionnel dans larchitecture technique de manire tracer la cartographie des composants du systme dvelopper. La conception dtaille, qui permet dtudier comment raliser chaque composant. Ltape de codage, qui est ensuite ltape de production de ces composants ainsi que les tests unitaires au fur et msure sur chaque composant. Ltape de recette, qui consiste enfin la validation des diffrentes fonctionnalites du systme.
Conclusion
Dans ce chapitre, nous avons prsents le cadre de projet, cits les limites du systme actuelle, la solution que nous proposons ainsi que le processus de dveloppement que nous allons utiliser. Dans le chapitre suivant, nous allons spcifier et analyser les besoins fonctionnels et techniques de systme raliser.
ESPRIT
Page 14
ESPRIT
Page 15
Administrateur organisation
Fonctionnaire
Chercheur
Administrateur
ESPRIT
Page 16
Grer les publications Grer les projets Administrateur organisation Crer projet Grer matriel organisation Grer demandes matriels Grer publications Fonctionnaire Crer projet Affecter chercheur Affecter matriel Suivi projet Dposer document Chercheur Crer CV Rserver matriel Signaler panne matriel Consulter projets associs
Tableau 3 : Identification des cas dutilisation
2.2.2. Analyse
2.2.2.1. Diagramme des cas dutilisation Les fonctionnalits globales sont illustres dans le diagramme des cas dutilisation, qui est prsent dans la figure ci-dessous :
ESPRIT
Page 17
2.2.2.2. Description des cas dutilisation Cette partie contient une description textuelle avec des diagrammes de squence systme des cas dutilisation les plus importants de notre projet. a. Description du scnario cration dun projet SOMMAIRE DE CREATION DES PROJETS Titre Crer un projet
ESPRIT
Page 18
Analyse et spcification des besoins But La cration des projets La cration des projets est une tche partage entre lAdministrateur organisation et le fonctionnaire. En effet, le fonctionnaire peut ajouter un Rsum projet en affectant des ressources matriel et des chercheurs.
lAdministrateur organisation, il peut consulter ces projets, supprimer un projet et choisir de publier ou de rejeter un projet. Acteur Administrateur organisation, fonctionnaire DESCRIPTION DES ENCHAINEMENTS Pr conditions Ladministrateur organisation ainsi que fonctionnaire doivent sauthentifier Choisir le service gestion des projets Pour lajout dun projet au moins un chercheur doit tre affect. Scnario principal Choisir une action faire Opration effectu Le projet ajout est par dfaut non publi Post conditions
1. Le fonctionnaire choisit dajouter un projet et remplit le formulaire 2. Le systme valide le formulaire et effectue lopration dajout 3. Le fonctionnaire affecte lensemble des chercheurs au projet 4. Le systme retourne un message de satisfaction 5. Ladministrateur organisation choisit de consulter la liste des projets 6. Il choisit de publier un projet 7. Le systme effectue lopration et retourne un message de satisfaction Enchainnements alternatifs E1 : Projet nexiste pas 1. Le systme affiche un message derreur 2. Ladministrateur corrige les erreurs et valide E2 : Affectation matriel 1. Le fonctionnnaire choisit daffecter un matriel un projet
ESPRIT
Page 19
Analyse et spcification des besoins 2. Chercher le matriel dsir 3. Le systme vrifie la disponibilit du matriel 4. Le systme effectue lopration et retourne un message de satisfaction E3 : Matriel non disponible 1. Le systme retoune un message de non satisfaction 2. Le fonctionnaire contacte ladministrateur de lorganisation
Tableau 4 : Description textuelle de cas crer projet
b. Description de scnario consulter matriel SOMMAIRE DE CONSULTATION MATERIEL ORGANISATION Titre Consulter matriel Consultation de la liste des quipements scientifiques propre une organisation. Ladministrateur organisation peut consulter les fiches dinventaires pour un quipement choisit. Une fiche dinventaire contient toutes les rservations
But
Rsum
ESPRIT
Page 20
Analyse et spcification des besoins sur un quipement avec les pannes associes cet quipement sil existe Acteur Administrateur organisation DESCRIPTION DES ENCHAINEMENTS Pr conditions Ladministrateur sauthentifier Choisir le service de consultation matriel Scnario principal organisation doit Post conditions Choisir une action faire Opration effectu
1. Ladministrateur organisation choisit le service de consultation de matriel 2. Le systme lui retourne la liste des quipements propre lorganisation 3. Ladministrateur organisation choisit de consulter la fiche dinventaire 4. Le systme lui retourne la fiche pour le matriel choisit Enchainnements alternatifs E1 : Matriel nexiste pas 1. Le systme affiche un message derreur 2. Ladministrateur corrige les erreurs et valide
Tableau 5 : Description textuelle de cas consulter matriel
La figure ci-dessous correspond au diagramme de squence systme de cas dutilisation grer matriel scientifique :
ESPRIT
Page 21
Analyse et spcification des besoins c. Description de scnario crer CV SOMMAIRE CREATION DES CVs Titre But Crer CV La cration dun CV Le chercheur peut crer un CV. Un CV peut tre publique visible par tout les utilisateurs ou prive. Chercheur DESCRIPTION DES ENCHAINEMENTS Pr conditions Le chercheur doit sauthentifier Consulter le service crateur de CV Post conditions Choisir une action faire Opration effectu Scnario principal
Rsum
Acteur
1. Le chercheur choisit dafficher la liste de ces CV. 2. Le systme retourne la liste des CV 3. Le chercheur choisit un CV 4. Le systme retourne le CV choisit 5. Le chercheur choisit dajouter des informations son CV 6. Vrification systme 7. Le systme met le CV jour et retourne un message de satisfaction Enchainnements alternatifs E1 : Champs obligatoires invalides et/ou vides 1. Le systme affiche un message derreur 2. Lutilisateur corrige les erreurs et valide
Tableau 6 : Description textuelle de scnario crer CV
ESPRIT
Page 22
Analyse et spcification des besoins La figure ci-dessous illustre le diagramme de squence systme pour le cas dutilisation grer CV :
d. Description de scnario consulter projet associ SOMMAIRE DE CONSULTATION PORTEFEUILLE Titre But Consulter projets associs La consultation de ses propres projets Un portefeuille contient tous les projets affects un utilisateur. Rsum L'utilisateur consulter ces propres projets et ajouter des notifications pour un projet choisit Acteur Chercheur DESCRIPTION DES ENCHAINEMENTS Pr conditions Lutilisateur doit sauthentifier Consulter le service portefeuille Post conditions
ESPRIT
Page 23
1. Lutilisateur consulte son portefeuille 2. Il choisit dajouter une notification 3. Remplir le formulaire 4. Vrification Systme 5. Retourner un message de satisfaction Enchainnements alternatifs E1 : Champs obligatoires invalides et/ou vides 1. Le systme affiche un message derreur 2. Lutilisateur corrige les erreurs et valide
Tableau 7 : Description textuelle de cas dutilisation consulter projets associs
La figure ci-dessous illustre le diagramme de squence systme de cas dutilisation consulter portefeuille :
ESPRIT
Page 24
Les couches de ce modle communiquent entre elles via un modle dchange bien dfinit. En effet, chaque couche propose un ensemble de services rendus, les services dune couche sont mis disposition de la couche suprieure. Par consquent, il est interdit quune couche invoque les services dune couche plus basse que la couche immdiatement infrieure ou plus haute que la couche immdiatement suprieure. Ainsi, chaque niveau communique seulement avec ses voisins immdiats. Chaque couche de ce modle a un rle bien prcis : La couche prsentation associ au client qui est dit lger car il nest responsable daucun traitement la diffrence de larchitecture 2-tiers. La couche de traitement des donnes, cest la partie fonctionnelle ou dite mtier de lapplication. Elle contient toutes les rgles de gestion et de mise en uvre. Cette couche est dans des nombreux cas un serveur web muni dextension applicative. La couche daccs aux donnes li au serveur base de donnes (SGBD). Parmi les avantages de larchitecture 3-tiers on peut citer:
ESPRIT
Page 25
Analyse et spcification des besoins Allgement du poste de travail client : On parle de client lger contrairement aux applications classiques client/serveur. Prise en charge de lhtrognit des plates-formes (serveurs, clients, langage). Amlioration de la scurit des donnes : en supprimant la relation directe entre le client et les donnes. La modularit : En effet, les modifications dans une application 3-tiers se font couche par couche. On peut donc modifier dans une couche sans toucher aux autres, en particulier la couche prsentation (IHM ou interface homme machine) nest pas intrique dans le traitement. [3]
Prise en charge de linjection Supporte linjection de quoi que Injection de dpendance des types primitifs via le se soit JNDI Persistence Par defaut, il utilise le JPA Bas sur JDBC, JPA, iBatis et mais il peut utiliser dautres Hibernate. JTA, JDBC et
ESPRIT
Page 26
Analyse et spcification des besoins XML et annotation Support de la configuration avec XML et les annotations Prsence de stateful session Support indirect qui dpend de Gestion des tats beans. conteneur web Spring met
laccent sur ltat stateless AOP Limit aux intercepteurs Supporte alliance Conteneur lourd : Prsence Conteneur lger : Il suffit davoir Conteneur dun conteneur dEJB. un conteneur de servlet. AspectJ et AOP
Aprs cette tude comparative, nous avons choisit le Framework spring pour le dveloppement de la couche mtier car il est le plus adopt pour notre projet. La raison la plus importante cest que SPRING est un conterneur lger. 2.3.2.2. La couche prsentation Le tableau ci-dessous prsente une tude comparative entre Struts et JSF [5] Critre Un Flxibilit de contrleur seul Struts vnement par Peut avoir JSF plusieurs
requte utilisateur
Navigation
JSF propose un dispositif de navigation plus flexible que celui de Struts Struts est extensible via la Dispose dune fonctionnalit
classe RequestProcessor qui similaire que struts. De plus il a Extensibilit implmente ncessaires les qux appels lavantage de dcoupler la phase mthodes de rendement de contrleur.
surant le cycle de vie dune requte. - Par comparaison avec une application JSF, la configuration est plus complexe. - Le module de validation est plus efficace. - JSF facilite la combinaison des GUIs complexe aux seins dun seul composant. - JSF fait partie de J2EE donc il bnfice dune spcification standard. - Le dveloppement ne
Dveloppement
ESPRIT
Page 27
Analyse et spcification des besoins ncessite pas dtendre des classes ou dimplmenter des interfaces spcifiques. Intgration JSF nest pas limit HTML et http mais aussi dautre aussi dautre technologies et protocoles.
Tableau 9 : Tableau comparatif entre JSF et STRUTS
Aprs ltude faite dans ce tableau comparatif, on peut dgager que JSF nous intresse pour dvelopper la couche prsentation de notre application. 2.3.2.3. Choix de la solution portail a. Jahia : [6] Jahia est un portail J2EE qui dispose dune licence collaborative payante. Jahia intgre laspect des modules applicatifs appells webbapps, qui respectent lAPI des portlets sous la norme JSR 168 (Java specification request : cest une norme java pour le dveloppement des portlets). Jahia contient plusieurs webbapps qui sont prte lmploi. Sans oublier que Jahia offre toutes les fonctionnalits classiques de gestion de contenu : gestion de larborcence, des contributions, des workflow, des templates et des droits. Parmi les points forts de portail Jahia, on peut citer : Lintgration proprement dite de la notion dECM (Entreprise Content Management). Une ergonomie performante. Une gestion de workflow, des droits et de personnalisation fines et puissantes Neau moins Jahia des inconvnients : License payante. Jahia possde une faible communaut : seule la socit Jahia dveloppe le projet. La solution ne gre pas les imports XML ni les mtadonnes. b. Liferay : [6] Liferay est un portail J2EE base dune license libre (open source). Liferay respecte les principaux standards dintroprabilit, ce qui permet un deploiement facile sur diverse serveurs dapplications et bases de donnes.
ESPRIT
Page 28
Analyse et spcification des besoins Liferay fournit des nombreux modules qui sont prtes tre utiliss : Calendrier, agenda, messagerie instantanne, messagerie, flux RSS, gestionnaire des documents Dans ces nouvelles versions, Liferay propose son propre outil de gestion de contenu WCM (Web Content Management) qui est un systme de gestion de contenu bas sur le principe de workflow et de versionning. De mme liferay donne la mains aux administrateurs de crer des sous-portail totalement personnalisable. En effet, liferay permet davoir plusieurs espaces personnalisables pour plusieurs organisations sur un mme serveur. Lauthentification entre ces diverses portails seffectue en SSO (Single Sign On) grce lintgration du connecteur CAS (Central Authentification Service). Diffrents connecteurs peuvent permettre une synchronisation avec les annuaires LDAP et Exchange ce qui permet une intgration facile de ces dernires. On peut citer parmi les points forts de liferay : Installation et dploiement facile. La simplicit dutilisation des portlets. Respect des plusieurs standards : JSR 168, 170, Web services Outils de gestion de contenu trs utile. Parmi les points faibles de liferay : Documentation insuffisante pour certaines fonctionnalits. Aprs cette tude comparatif entre jahia et liferay, nous avons opt de choisir liferay comme un portail J2EE open source pour dvelopper notre application.
ESPRIT
Page 29
2.4.1. Scurit
La scurit en informatique est lensemble des techniques mettre en uvre dans le but de sassurer que les ressources du systme dinformation matriel ou logiciel sont utilises dans le cadre ou il est prvu quelles le soient. Parmi ces techniques on peut citer
lauthentification et lautorisation (ou la disponibilit). Se sont ces deux techniques qui nous intressent pour la mise en place de notre systme. 2.4.1.1. Authentification Lauthentification est le mcanisme de vrification de lidentit dont une entit (personne ou machine) se rclame. Elle vise essentiellement : Contrler laccs des ressources ou des services dun systme dinformation. Garantir une imputabilit avec vrification de lidentit. La figure ci-dessous illustre les tats constitutifs dune authentification 3.4.1.1.
La figure montre que lauthentification tourne autour de quatres tats : Etat initial : Non authentifi, dans ce cas le systme doit interdire les actions qui ncessitent une authentification Phase de connexion : Cest la phase douverture du canal (session). Elle se rsume dans le contrle de lidentit dun acteur Etat authentifi : Cet tat a une dure bien dtermine, elle constitue la session authentifie pendant laquelle lacteur a laccs aux ressources et aux services. La
ESPRIT
Page 30
Analyse et spcification des besoins session peut tre ferm la demande de lutilisateur ou automatiquement par le systme aprs un temps bien dtermin dinactivit. Phase de dconnexion : Cest la phase de retour ltat initial. Tous les tats peuvent potentiellement engendrer une erreur qui peut gnrer une alarme. [7] 2.4.1.2. Autorisation Lautorisation est le mcanisme qui dfinit comment les utilisateurs ont le droit daccder certaines ressources ou services. En effet, la gestion des rles permet de grer les autorisations, en spcifiant les ressources auxquelles les utilisateurs peuvent accder. Chaque rle contient un ensemble des rgles daccs ou des permissions qui permettent de prciser quelle sont les droits dun utilisateur sur un service ou sur des ressources. Ainsi grce aux rles, la gestion de droits daccs se fait indpendamment des utilisateurs. Ainsi, se prsente lobjectif de lutilisation des rles qui consistent faciliter la gestion des rgles daccs pour les utilisateurs.[8]
2.4.2. Ergonomie
Parmi les critres de succs dune application web, se trouve un critre qui ne doit pas tres nglig, cest lergonomie de lapplication. Plusieurs tudes et enqutes sont faites concernant ce sujet. On peut citer lenqute effectue par Forrester Research auprs des utilisateurs web, montre limportance de ce critre comme lillustre la figure ci-dessous :[9]
Figure 13 : Les critres de succs dun site web selon les utilisateurs
ESPRIT
Page 31
Analyse et spcification des besoins Pour quun site web soit ergonomique, il doit tre la fois utile, c'est--dire il rpond aux besoins des utilisateurs, et utilisable, c'est--dire facile apprendre et utiliser. Le critre dutilit reste le critre le plus fondamental de succs dun site web. En effet un site qui est utile et qui prsente des problmes sur le plan de son utilisabilit sera comme mme utilis sil rpond dune faon adquate et unique aux besoins des utilisateurs. Sans oublier quun site qui est peut utilisable qui prsente des lacunes sur le plan de conception (une mauvaise architecture de linformation) ou sur le plan technologique (tlchargement trop long) et dont le contenu nest pas unique risque trop dtre ignor par les utilisateurs. Une dmarche ergonomique est base sur une philosophie de conception qui se concentre essentiellement sur les utilisateurs, les tches et les besoins. Ce qui implique que la perspective ergonomique doit tre integre dans tous les phases de processus de dveloppement dans le but de garantir lamlioration dune faon significative le degr dutilit et dutilisabilit de lapplication mettre en uvre.
Conclusion
Dans ce chapitre, nous avons essay de faire ltude fonctionnelle et technique de notre projet afin de dterminer les diffrents intervenants de lapplication ainsi que les services que nous devons fournir. Ainsi, grce ltude technique nous avons reussit dgager le composant techniques qui vont intervernir dans notre projet. Et enfin nous avons essays de faire la capture des besoins non fonctionnels de notre projet. Le chapitre suivant contiendra la phase de conception de notre application. Cette phase se dvise en deux grandes parties : conception prliminaire et conception dtaille.
ESPRIT
Page 32
Conception
Chapitre 3 : Conception
Introduction
A ce niveau, la conception est dcompose essentiellement de deux tapes : la conception prliminaire qui est la phase de croisement entre la branche fonctionnelle et technique. Elle contient essenetiellement le diagramme de classe danalyse et le prototype dinterface de notre application, et la conception dtaille qui contient une description des patrons de conception avec une tude statique et dynamique de notre application.
ESPRIT
Page 33
Conception Afin de construire le diagramme de classe, nous avons identifi les classes candidates par cas dutilisation. Aussi, nous avons procd par retro-ingnierie pour dcrire les classes User et Organization Le tableau ci-dessous prsente les classes candidates par cas dutilisation. Cas dutilisation Crer projet Classes candidates User : cette classe est extraite de la base de donnes Liferay Resume : La classe qui contient les CV dun chercheur Diplome : Ncessaire pour la cration dun CV, un CV contient plusieurs diplmes. Experience : Un CV contient plusieurs expriences Project : Cest la classe responsable des projets scientifiques Organization : Cette classe est extraite de La base de donnes de Liferay, une organisation contient plusieurs projets Equipment : Cest la classe responsable de matriel scientifique Fournisseur : Un fournisseur peut fournir plusieurs quipements scientifiques Panne : Cette classe sert dclarer une ou plusieurs pannes dans un quipement Demande : La classe Demande sert ajouter des demandes concernant les quipements scientifiques.
Crer CV
ESPRIT
Page 34
Conception
La partie menu de linterface contient le menu relatif lutilisateur connect. Ce menu lui permet daccder aux diffrentes pages dans la partie contenu de page. La disposition de contenu de la page diffre dun utilisateur un autre. En outre, Le menu permet un utilisateur daccder des pages dans le contenu de page.
ESPRIT
Page 35
Conception Dans cette partie, nous allons citer et dcrire les design pattern que nous allons crire appliquer durant notre projet. Singleton : Lobjectif de ce patron de conception est de restreindre linstanciation dune classe un seul objet. Il est utile lorsque nous avons besoin dun seul objet pour coordonner des oprations dans un systme. La figure ci dessous illustre le diagramme de c ci-dessous classe du pattern singleton : [10]
DAO : Le pattern DAO (Data Access Object) est un pattern qui permet de f faire le lient entre la couche mtier contenant les services et la couche persistante. En effet, le pattern DAO permet tier de centraliser les mcanismes de mapping entre le systme de stockage (Base de donnes) et les objets. Ainsi un changement dun systme de stockage un autre est facile grce ce pattern. La figure ci-dessous prsente le diagramme de classe de pattern DAO : [10] DAO
ESPRIT
Page 36
Conception MVC (Model-View View-Controller) : Le modle vue contrleur est un modle de conception responsable de lorganisation de linterface homme machine (IHM) dun logiciel. Le principe de ce modle de conception est de dviser lIHM en trois parties comme lillustre la figure ci ci-dessous :
En rsume, lorsquun utilisateur envoie une requte, elle va tre envoye par la vue et analyse par le contrleur. Ensuite, le contrleur demande au modle appropri deffectuer lensemble des traitements necessaires et notifie la vue que la requte est effectue. Enfin la vue notifie va faire une notification vers le modle pour se mettre jour. La figure ci ci-dessous illustre les diffrentes intraction entre la vue, le modle et le contrleur. [10] raction
ESPRIT
Page 37
Conception Invesion de control (IoC) et injection de dpendance (ID) : Linversion de contrle est un patron de conception commun tous les Framework. Il garantit que le flot dxcution nest plus sous le contrle direct de lapplication mais du Framework ou de la couche logicielle sous-jacente . En faite, linversion de contrle est un terme gnrique qui peut tre appliqu selon plusieurs formes. Le plus connu de ces formes et ce qui nous interesse le plus est linjection de dpendances. Linjection de dpendances (en anglais Dependancy Injection) consiste la cration dynamique ou linjection des dependances entre les diffrentes classes en se basant sur une description (fichier de configuration). De ce fait, les dependances seront dtermines dynamiquement lexcution sans avoir recours les declarer statiquement. [10]
ESPRIT
Page 38
Conception Cette dcomposition des paquets est dgage partir de modle de dveloppement en couche propos par larchitecture 3-tiers. Ainsi, notre application est compose essentiellement de quatre paquets : Le paquet persistance contient les classes qui sont en relation direct avec la base de donnes, cette relation est gre par lAPI JPA. Hibernate permet de grer la communication de ce paquet avec la base de donnes quelque soit le type de cette dernire. Le paquet DAO contient des classes composs des mthodes daccs la base de donnes. Le troisime paquet est le paquet service qui contient les classes des services qui manipulent les mthodes daccs aux donnes. Le dernier paquet presentation et le paquet responsable de linterface graphique. Il importe des lments du paquet service pour les utiliser dans la vue. Les autres packages sont des dpendances des Framework utiliss. 3.2.2.2. Diagramme de classe par package a. Diagramme de classe de package persistence :
ESPRIT
Page 39
Conception Le package persistence contient les entits qui sont en relation avec la base de donnes. Ces entits servent au mapping relationnel-objet. b. Diagramme de classe de package service : Le paquet Service contient les classes des services offerts par notre application. Ces classes ont besoins des classes du paquet DAO afin dinvoquer les mthodes ncessaires pour limplmentation des diffrents services. Ce qui prouve la relation de dpendance entre ces classes. La figure ci-dessous illustre le diagramme de classe de package service.
ESPRIT
Page 40
Conception c. Diagramme de classe de package DAO : Le paquet DAO contient les classes dimplmentation des mthodes qui sont responsable de laccs la base de donnes (Les mthodes CRUD). Pour pouvoir implmenter ces mthodes, nous avons recours une sessionFactory partir de Hibernate. Ainsi, nous expliquons la dpendance entre les diffrentes classes de notre paquet DAO et la classe SessionFactory de Hibernate. La figure ci-dessous prsente le diagramme de classe de package DAO.
ESPRIT
Page 41
Conception d. Diagramme de classe de package prsentation Ce package contient les diffrents contrleur dont le rle est essentiellement lappelle des mthodes du package service. Pour cela, les contleurs ont besoins des classes du package service afin dassurer lappelle des diffrentes mthodes. Ainsi nous expliquons la dpendance entre les classes illustr dans la figure ci-dessous :
ESPRIT
Page 42
Conception
Le chercheur accde au formulaire dajout CV FormulaireCV et le re remplit. Les donnes sont envoyes vers le contrleur ResumeBean. Le contrleur, va son tour, . vrifier les donnes : Sils sont errons un message derreur va tre affich au chercheur. Sinon le contrleur va assurer lenregistrement de ce CV dans la table Resume. Ensuite, le chercheur va tre redirig vers linterface formulaireComplete qui est linterface responsable dajout des diplmes et des expriences. Le chercheur saisi les informations de .
ESPRIT
Page 43
Conception diplme et valide, ces informations vont tre envoyes au contleur qui va les vrifier. Sil sont valides il va assurer lenregistrement du diplme associ au CV ajout prcdement dans la table diplme. De mme pour lajout dune exprience. 3.2.3.2. Scnario de cration de projet La figure ci-dessous dcrit le diagramme de squence dajout dun projet :
Le fonctionnaire choisit dajouter un projet, le contrleur fait une vrification des donnes si les donnes sont valides il contacte lentit Project sinon le systme affiche un message derreur. Si le fonctionnaire choisit daffecter des chercheurs un projet, le contrleur ProjectBean lui retourne la liste des utilisateurs par organisation. Ainsi, il peut associer des chercheurs. Ces projets qui sont ajouts de la part du fonctionnaire sont par dfaut ltat non publi. Cest ladministrateur organisation qui choisit de les publier ou non. Si un projet passe ltat publi, ladministrateur organisation peut dans ce cas ajouter les rsultats atteintes par ce projet.
ESPRIT
Page 44
Conception Pour mieux comprendre les tats dun projet nous avons fait un diagramme dtat transision pour ce scnario qui est prsent dans la figure ci-dessous
3.2.3.3. Scnario de consultation des projets associs : La figure ci-dessous illustre le diagramme de squence de consultation des projets associs (portefeuille) et dajout dune notification un projet :
ESPRIT
Page 45
Conception Le chercheur consulte linterface InterfaceProfil pour afficher ces propres projets, le contrleur envoie lidentifiant de lutilisateur vers lentit Project afin de retourner la liste des projets appropris. Puis, il retourne le rsultat vers le chercheur. Le chercheur choisit un projet parmi la liste et consulte linterface dajout notification FormulaireNotification remplit le formulaire et valide. Les donnes sont envoyes par linterface vers le contrleur NotificationBean , ensuite ce dernier contacte lentit Notification afin denregistrer la notification. 3.2.3.4. Diagramme dactivit scnario rserver matriel : La figure ci-dessous montre le diagramme dactivit de scnario rsarvation matriel
Le fonctionnaire choisit un quipement parmi la liste, ensuite, il peut rserver un matriel pour un projet. Le contrleur ReservationBean va effectuer une vrification de disponibilit sur lquipement choisit de point de vue date et stock. Si lquipement est disponible, alors le contrleur contacte lentit Reservation pour effectuer lopration. Sinon, le fonctionnaire peut faire une sur un quipement.
ESPRIT
Page 46
Conception
Conclusion
Dans le but davoir une image prte fabriquer de notre systme, nous avons essays dans ce chapitre tout dabord de produir le modle de conception systme afin dorganiser notre application en composants. Ensuite, nous avons essays de dcrire comment raliser chaquun de ces composants. Il nous reste maintenant dexpliquer comment nous avons raliss notre systme, ceci est lobjectif de chapitre suivant.
ESPRIT
Page 47
Ralisation
Chapitre 4 : Ralisation
Introduction
Nous terminerons notre rapport par le chapitre ralisation qui a pour objectif de dcrire comment nous avons raliss notre projet et dexposer le travail achevs. Pour cela, nous commencerons par une tude sur le lenvironnement de travail. Ensuite nous citerons les tapes de mise en uvre de notre application, puis nous allons faire des captures dcrans pour quelques scnarios des services offerts par notre application. Aprs, on va valuer notre application selon les fonctionnalits attendues et les besoins non fonctionnels qui ont t cits dans le chapitre analyse et spcification des besoins. Enfin, nous citerons les problmes que nous avons rencontrs tout le long de notre projet.
ESPRIT
Page 48
Ralisation application web appart. Les portlets se basent sur un API dfinie selon la spcification JSR 168 support par le portail Liferay. Liferay contient plusieurs portlets prdfinis prtes tre utilises. Les Hooks : Un hook est une action qui peut tre excute aprs un vnement bien prcis. Liferay donne la possibilit de dvelopper des Hooks de plusieurs types par exemple : Hook avant ou aprs authentification, un vnement aprs lexcution dun service Les thmes : Liferay donne la possibilit de cration des thmes qui permettent de contrler linterface IHM vues par lutilisateur. De ce fait, linterface de portail peut tre compltement personnalise. Aussi, liferay permet chaque organisation davoir son propre thme personnalis. Layout templates : Liferay permet de dvelopper des plugins qui permettent de contrler la disposition de la page. Sans oublier quil fournit des layouts par dfaut qui peuvent tre utiliss. [11] 4.1.1.3. Apache Ant Ant est un projet open source de la fondation apache ecrit en java. Ant est labrviation de Another Neat Tool en franais un autre chouette outil . Ant est essentiellement utilis pour Lautomatisation des oprations rpttives au cours de dveloppement (ntoyage de projet, compilation, gnration de la documentation, versionning, test, deploiement ).[13] 4.1.1.4. Outil de test unitaire :JUnit Dans la vie dun logiciel, les tests unitaires interviennent dans deux priodes : dune part, tout le long de construction des fonctionnalits de lapplication et dautre part lor de lajout dun service. Parmi les outils de test unitaires, on trouve le framework libre JUnit qui permet dcrire et dxcuter des tests en langage java facilement. [17] 4.1.1.5. StarUML StarUML est un logiciel de modlisation UML qui est devenu open source aprs son exploitation commertiale sous une license modifi de GNU GPL. StarUML permet de crer la plupart de diagramme UML 2.0 et propose plusieurs gnrateurs de codes. Il est ecrit en Delphi, pour cela, il dpend des composants Delphi propritaires, ce qui explique peut tre quil nest plus mis jour. [18]
ESPRIT
Page 49
Ralisation
4.1.1.6. MySQL 5.0 MySQL est un systme de gestion de base de donnes qui a une licence libre qui peut tre propritaire selon le type de lapplication. Il est parmi les logiciels de gestion de base de donnes le plus utiliss au monde autant par le grand public travers les applications web principalement que par de professionnels. MySQL est un serveur de base de donnes relationnelles SQL multi-thread et multiutilisateur dvelopp afin daugmenter la performance de lecture des donnes. Ainsi il est orient vers le service de donnes dj en place que vers celui de mise jour frquentes et scurises. [16]
4.1.2.2. Hibernate Hibernate est un Framework libre permettant de grer la persistance des objets en base de donnes relationnelle. Il est un Framework adaptable qui peut tre utilis aussi bien dans ESPRIT
Page 50
Ralisation un dveloppement client lourd, que dans un environnement web lger. Hibernate peut tre utilis pour crer la couche daccs aux donnes (DAO) ainsi que pour grer la persistance des objets. [15] 4.1.2.3. JPA Java Persistence API (JPA) est un Framework qui permet aux dveloppeurs dorganiser les donnes relationnelles dans les applications utilisant la plateforme java. JPA est issue de travail du groupe dexpert dans la spcification JSR 220. La persistance dans le contexte de JPA tourne autour de trois zones : LAPI elle-mme, dfinie dans le package javax.persistence. Le langage Java Persistence JQuery (JPQL). Le/les objet(s) mtadonnes relationnelles. [14]
4.1.2.4. Java Server Faces Java Server Faces (JSF) est un Framework java ayant pour objectif le dveloppement des applications web. JSF est un Framework MVC bas sur la notion des composants, c'est-dire que ltat dun composant est enregistr lors de rendu de la page, pour tre ensuite restaur au retour de la requte. Il est constitu essentiellement de : Un ensemble dAPIs pour la reprsentation et la gestion des composants, de leurs tats, des vnements, de la validation des entres, la conversion des sorties et linternationalisation et laccessibilit ainsi que la navigation entre les vues. Deux jeux de composants standards HTML et Core. Deux bibliothques de balises JSP pour la construction de vues JSF. Un modle vnementiel cot serveur. Les Managed-Beans qui prsentent la couche de contrle de JSF. Langage dexpression Unifi (EL) qui sert la liaison entre la vue et les managedbeans. Il existe plusieurs composants additionnels qui peuvent tre utiliss avec JSF on peut citer JBOSS Richfaces et Ajax4JSF qui sont composs dun ensemble de composants riches libre et supportant Ajax. [12]
ESPRIT
Page 51
Ralisation
Page 52
Ralisation Cest durant cette phase que nous avons integrs notre projets dans liferay. Pour cela, nous avons configurs nos portlets selon la spcification JSR168 et les rgles de Liferay.Ceci est assur grce aux fichiers de configuration que propose Liferay pour le dveloppement des plugins de type portlet. 6. Dveloppement dun HooK : Durant notre projet, nous avons eu recourt developper un HOOK qui permet de faire la redirection dun utilisateur vers sa propre organisation. Ce Hook se prsente comme une action qui sxcute aprs lauthentification de lutilisateur. 7. Dveloppement dun thme : Aprs lintgration du projet dans liferay, nous avons dvelopp un thme selon la spcification des thmes de Liferay (velocity). 8. Deploiement des plugins avec ANT : Nous avons utiliss dans cette phase le plugin de ANT prsent dans Eclipse et le plugin SDK de liferay pour le deploiement des diffrents plugins dvelopps dans les tapes prcdentes.
organisations sont ajoutes par le super administrateur. Ensuite, chaque organisation peut tre administre par ladministrateur qui lui appartient. Ladministrateur organisation peut crer les pages de son organisation avec des permissions, choisir un thme pour son organisation, il peut mme affecter des utilisateurs. La figure ci-dessous prsente le panneau de commande dadministration dune organisation :
ESPRIT
Page 53
Ralisation
ESPRIT
Page 54
Ralisation La figure ci-dessous illustre linterface dadministration des projets. A partir de cet interface, ladministrateur organisation peut visualiser toutes les informations concernant le projet et de choisir de le valider ou non.
ESPRIT
Page 55
Ralisation
ESPRIT
Page 56
Ralisation
Les rservations des quipements scientifiques sont faites par le fonctionnaire qui peut aprs la cration dun projet rserver des quipements propres son organisation. Notons bien que le stock est gr automatiquement et que lajout dune rservation ne sera valid que lorsque le systme vrifie la disponibilit de lquipement. La figure ci-dessous illustre linterface dajout des rservations :
ESPRIT
Page 57
Ralisation
4.4. Evaluation
Cette partie contiendra une valuation de notre application selon les besoins non fonctionnels et les fonctionnalits attendues dcritent dans le chapitre danalyse et spcification des besoins.
4.4.1. Scurit
Pour assurer la scurit notre portail, nous avons utiliss le plugin de lauthentification et de gestion des utilisateurs de Liferay. En effet, un utilisateur qui veut accder au backoffice de portail, il doit avoir un compte dans liferay avec un rle qui groupe un ensemble des droits daccs. Ainsi, lespace dadministration de portail ne peut tre accessible que par des utilisateurs qui sont authenetifis et qui ont des droits daccs sur les applications prsentes dans cet espace. La figure ci-dessous prsente le panneau de commande de gestion des utilisateurs dans Liferay :
ESPRIT
Page 58
Ralisation
4.4.2. Ergonomie
Parmi les tapes de mise en uvre de notre projet, nous avons essay de dvelopper un thme selon la spcification de Liferay pour pouvoir garantir lergonomie notre portail. De mme, nous avons utilis les layouts pr-installs dans Liferay dans le but davoir des interfaces ordonnes et faciles utiliser. Notons bien quavec liferay chaque organisation peut avoir son propre thme.
ESPRIT
Page 59
Ralisation
Conclusion
Au cours de ce chapitre nous avons prsent lensemble des tapes de mise en uvre de la solution portail ainsi que quelques captures dcrans IHM. Ensuite, nous avons effectu une valuation de notre solution et ce en se basant sur les besoins fonctionnels et non fonctionnels.
ESPRIT
Page 60
Conclusion gnrale
Conclusion gnrale
Lobjectif de ce projet de fin dtudes consiste la conception et la ralisation dun portail pour la recherche scientifique agricole. Afin datteindre cet objectif, nous avons fait une tude des besoins fonctionnels et techniques. Ainsi nous avons pu dgager larchitecture de notre application, les outils ncessaires pour la ralisation et la mise en uvre. Au cours de ce projet, nous avons rencontr plusieurs problmes lis la comprhension du contexte. Sans doute, cette exprience nous a t bel et bien fructueuse sur plusieurs plans. Dune part, nous avons pu activement contribuer lactivit de dveloppement au sein de fournisseur des services informatiques lIRESA. Dautre part, elle nous a permis dappliquer et de consolider nos connaissances acquises durant nos annes dtudes. De plus, nous avons pu nous familiariser avec plusieurs nouvelles technologies et approches, essentiellement, Les portlets, Les portail web, SPRING, JSF-RichFaces... Enfin, travers ce projet, nous avons eu la chance damliorer nos aptitudes communiquer et travailler en collaboration ce qui nous aidera, sans doute, bien nous intgrer dans le milieu professionnel. Les perspectives pour ce projet sont diverses. En effet, nous projetons de mettre en place un portail qui engloberait toutes les applications de FSI avec un rseau social professionnel.
ESPRIT
Page 61
Rfrences
Rfrences
Neto graphie [1] : http://iresa.agrinet.tn/index.jsp?pg=02&rub=01 [2] : http://www.freewebs.com/fresma/Formation/UML/Processus%20Unifie.pdf [3] : http://fr.wikipedia.org/wiki/Architecture_trois_tiers [5] : http://soaj2ee.blogspirit.com/archive/2005/05/18/comparatif_jsf_struts.html [6] : Core-Techs, Livre Blanc de 11 solutions de gestion de la connaissance.pdf [7]:http://www.ssi.gouv.fr/archive/fr/politique_produit/catalogue/pdf/authentification_robuste sse_standard_v0-13.pdf [8] : http://msdn.microsoft.com/fr-fr/library/5k850zwb%28v=vs.80%29.aspx [9] : http://www.crim.ca/fr/r-d/documents/GuideErgonomique.pdf [10] : http://fr.wikipedia.org/wiki/Patron_de_conception [12] : http://fr.wikipedia.org/wiki/JavaServer_Faces#Constituants_de_JSF [13] : http://fr.wikipedia.org/wiki/Apache_Ant [14] : http://fr.wikipedia.org/wiki/Java_Persistence_API [15] : http://fr.wikipedia.org/wiki/Hibernate [16] : http://fr.wikipedia.org/wiki/MySQL [17] : http://www.iut-orsay.fr/dptinfo/Pedagogie/Roger.Astier/app_java/javaTest.html [18] : http://fr.wikipedia.org/wiki/StarUML [19] : http://fr.wikipedia.org/wiki/Spring_framework Bibliographie
[4] : Priya Thinagar, EJB3.0 vs Spring
ESPRIT
Page 62
Rfrences Livre blanc, le portail dintgration lifray version 1.0. Arnaud Cogolugnes,Thierry Templier,Julien Dubois, Jean-Philippe Retaill, Spring par la pratique 2me dition. Lotfi Mellouk Dvelopper des applications RIA avec richfaces.
ESPRIT
Page 63