Ministère de l’Enseignement Supérieur et de la Recherche Scientifique
Université Saad Dahleb de Blida
Faculté des sciences...
2
Plateforme de développement collaboratif
des logiciels à base des méthodes
Agile/Scrum
Conception et réalisation d’une p...
3
Introduction générale:
Le logiciel est devenu un facteur de succès pour toutes les entreprises, ces derniers passent
à u...
4
Problématique :
Icon Software® dans son domaine d’expertise sur l’intégration et le développement
spécifique des applica...
5
Objectifs :
Icon Software ® souhaite de mettre en place à ces développeurs une plateforme complète
de développement coll...
6
Organisation de travail :
Notre mémoire est organisé en quatre chapitres :
Chapitre 1 : Analyse
Chapitre 2 : Conception
...
7
Sommaire
Titre
Introduction générale
Chapitre 1 : Analyse
1.1. Approche et culture de l’entreprise
1.2. Présentation d’A...
8
3.2. Environnement de travail
3.3. Java
3.4. Java Entreprise Edition (JEE)
3.5. JBoss Developer Studio 6
3.6. JBoss serv...
9
Conclusion
Conclusion générale
Perspectif
Bibliographie
Chapitre 1: Analyse
10
1.1. Approche et culture de l’entreprise :
Icon Software® estune société de servicesenIngénierie Informatique (SSII) àf...
11
• Collaboration sociale
Pour éviter certain problèmes comme la multiplication des outils qui provoque le non
intégratio...
12
itératif basé sur une écoute du client qui va assurer une grande réactivité à ses demandes et
des tests tout au long du...
13
FIGURE-1 : les étapes de la méthode Scrum
1.5. 1. Les rôles dans Scrum :
Chef de projet (Product Owner) :
C’est le dire...
14
• Élimine les obstacles
• S'assure que l'équipe est complètement fonctionnelle et productive
• Facilite une coopération...
15
Chacun répond à 3 questions:
1- Qu’est ce que t’as fait hier ?
2- Que vas-tu faire aujourd’hui ?
3- Y’a-t’il des obstac...
16
Chapitre 2: Conception
La phase de conception consiste à donner une idée plus claire de l’analyse de notre solution
env...
17
FIGURE-2 : Diagramme de classe de l’application aykonScrum
2.3. Cas d’utilisation (Use case) :
Un cas d’utilisation rep...
18
Pour avoir une idées détailler et claire de notre système on a met un cas d’utilisation
globale, avec tous les acteurs ...
19
FIGURE- 4: cas d'utilisation chef projet
FIGURE- 5: cas d'utilisation chef d'équipe
20
FIGURE- 6: cas d'utilisation développeur
2.4. Diagramme de séquence:
Il représente graphiquement la chronologie des éch...
21
FIGURE- 7: diagramme de séquence d’authentification
FIGURE- 8: diagramme de séquence créer projet
22
FIGURE- 9: diagramme de séquence créer un historique
FIGURE- 10: diagramme de séquence créer tache
FIGURE- 11: diagramm...
23
FIGURE- 12: diagramme de séquence choisir une tache
FIGURE- 13: diagramme de séquence retirer une tache
24
FIGURE- 14: diagramme de séquence affecter tache
FIGURE- 15: diagramme de séquence donner l'état d'avancement
25
FIGURE- 16: diagramme de séquence contrôler l'état d'avancement
Chapitre 3: Outils technologiques
26
On va parler des déférents outils et langage qu’on a utilisé dans notre Systems
3.1. Visual Paradigme for UML 10.1 :
Vi...
27
Java est un langage de programmation orienté objet développer par la société Sun
Microsystems il est basé sur un grand ...
28
conduits à le choisir dans notre contexte.
3.5. JBoss Developer Studio 6
C’est un IDE (Integrated development environme...
29
1- Le modèle :
C’est la partie traitement de données qui interagit avec la base de données, il
comporte des méthodes st...
30
FIGURE- 17: l’architecture MVC
3.8. Java Server Faces ( JSF ) :
Java server faces est un Framework pour les application...
31
La version 3 des EJB (EJB3) vise à faciliter le développement qui été juger trop complexes,
elle a apporte de très nomb...
32
3.14. MySQL Workbench:
C’estunlogiciel de gestionetd’administrationde basesde données
MySQL via une interface graphique...
33
misesà jourdesclassesenmémoire.Celasignifieque seuleslesclassescompiléespour".Classe"
fichiersserontmisàjouret leschang...
34
Dans ce chapitre on va présenter la mise en œuvre de notre application en se basant sur des
illustrations.
4.1. Authent...
35
Figure 19 : liste de projets
Figure 20 : Création de Projet
36
Figure 21 : Modification d’un projet
Figure 22 : suppression d’un projet
4.2. Composants du projet :
Le bouton « détail...
37
Figure 23 : les détailles du projet
Figure 24 : Liste historique
38
Figure 25 : Ajouter un historique
Figure 26 : Ajouter une tache dans un historique
39
Figure 27 : Liste des sprints
Figure 28 : le Time Line
40
Figure 29 : burndown chart
4.3. Les membres :
41
Figure 30 : Ajouter un membre
Figure 31 : Liste des membres
42
4.4. Les taches et les membres :
Figure 32 : List des taches pour un membre
Figure 33 : Liste d’évolution des taches pa...
43
Figure 34: backlog
4.4. Espace membre
Figure 35: Les taches de chaque membre
44
Figure 36: Espace d’échange et de collaboration
45
Conclusion
Conclusion générale :
Notre projet nous a permet d’approcher l’environnement de l’entreprise, et de comprend...
46
développement JSF, JPA et les EJB et d‘autre composant, et les manier de sécuriser les
applications.
Perspectif :
Les p...
47
Prochain SlideShare
Chargement dans…5
×

conception et réalisation plateforme collaboratif basant sur la methode agile scrum

729 vues

Publié le

conception et réalisation plateforme collaboratif basant sur la methode agile scrum

Publié dans : Logiciels
0 commentaire
0 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

  • Soyez le premier à aimer ceci

Aucun téléchargement
Vues
Nombre de vues
729
Sur SlideShare
0
Issues des intégrations
0
Intégrations
6
Actions
Partages
0
Téléchargements
27
Commentaires
0
J’aime
0
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive

conception et réalisation plateforme collaboratif basant sur la methode agile scrum

  1. 1. Ministère de l’Enseignement Supérieur et de la Recherche Scientifique Université Saad Dahleb de Blida Faculté des sciences Département d’informatique Mémoire de fin d’études Pour l’obtention du diplôme de Licence en informatique Option : Génie des Systèmes informatiques Thème Conception et realisation platfomre collaboratife basant sur la methode (agile/scrum) Promoteur:Mr RedhaMohamedsidamou Encadreur:Mr BOUSSEBAT Khaled Organisme d’accueil :Iconsoftware Mémoire présenté par:Mr SidahmedBENKHAOUA Mr Hammad Amoukrane Soutenu le : Devant le jury composé Examinateur : ................................ 2012/2013
  2. 2. 2 Plateforme de développement collaboratif des logiciels à base des méthodes Agile/Scrum Conception et réalisation d’une plateforme de développement collaboratif des applications métiers d’entreprise en se basant sur les méthodes agile (Scrum)
  3. 3. 3 Introduction générale: Le logiciel est devenu un facteur de succès pour toutes les entreprises, ces derniers passent à une fabrication ou le composant logiciel est primordial dans leurs environnements, ils imposent certain critères pour le développement de leur logiciel qui est devenue leur projet initial, ou il faut bien gérer leur budget pour un bon rendement. Les entreprises de développements cherchent toujours la meilleure façon de gérer leur projet, en intégrant un environnement sain est idéal pour ses développeurs et leur limiter tout interruption inutile pendant leurs travail pour gagner en temps et en performance. L’entreprise présente la collaboration entre ses employées, se qui pousse leurs chefs à penser sérieusement à limiter les conflits entre les employées se qui infecte fortement le rendement de ces entreprises, alors on essaye toujours de trouver un système qui assure une bonne entente, pour assurer le rendement exiger, se qui assure la survie de l’entreprise. Contexte : Le développement collaboratif de logiciel rentre dans les concepts liés à l’industrialisation de la production et la fabrication des applicatives informatiques. La Gestion du cycle de vie des Application - ou ALM pour Application Lifecycle Management en anglais – peut être définie de plusieurs façons : ● La gestion coordonnée du cycle de développement d’une application logicielle… ● …. De son idée initiale à sa livraison et sa maintenance… ● ..impliquant tous les acteurs participant de prés ou de loin au projet... ● … ou qu’ils soient… ● …tout en appliquant les processus propres à l’entreprise et politiques de sécurité
  4. 4. 4 Problématique : Icon Software® dans son domaine d’expertise sur l’intégration et le développement spécifique des applications métiers d’entreprise confronte à des problèmes de collaboration et de coordination entre les acteurs du projet (maitre d’ouvrage, maitre d’œuvre) dans son cycle de vie (de définition des besoins jusqu'au déploiement et la maintenance). Les principales difficultés auxquelles elle fait face sont : • Collaboration et coordination entre acteurs qui participent sur le cycle de vie de réalisation logiciel (analyse, concepteur, développeur, testeur, intégrateur, validateur, police de qualité…), • Enrichissement des modèles (version) et le retour en arrière (itération), • Validation et approbation des itérations, • Planification et suivi des taches, • Maitrise des méthodes agile de développement collaboratif des logiciels, De plus partout dans le monde Les projets informatique avait connue des échecs récurrents, ces échecs son du au mauvais pilotage de ces projets, si un projet est livrés en retard ou que ce dernier à dépasser son budget et considérer comme un projet échouer. On introduisant des nouvelles méthodes on limite ces échec récemment le taux de la réussite a un peu augmenter même si les cause de ces échec son bien connues comme : le besoin mal exprimer, le manque de communication ou encore le manque de réactivité.
  5. 5. 5 Objectifs : Icon Software ® souhaite de mettre en place à ces développeurs une plateforme complète de développement collaboratif pour la conception et la réalisation des projets logiciel selon la méthode agile Scrum. L’objectif de ce projet est de : • Etude sur les méthodes Agile et Scrum, • La spécification des métadonnées de chaque étape dans le cycle de vie, • Conception et modélisation de la plateforme, • Réalisation d’un prototype applicatif sous forme d’une application web,
  6. 6. 6 Organisation de travail : Notre mémoire est organisé en quatre chapitres : Chapitre 1 : Analyse Chapitre 2 : Conception Chapitre 3 : Outils technologiques Chapitre 4 : Mise en œuvre et test Et à la fin une conclusion.
  7. 7. 7 Sommaire Titre Introduction générale Chapitre 1 : Analyse 1.1. Approche et culture de l’entreprise 1.2. Présentation d’ALM (Application Lifecycle Management) 1.3. Méthodologie 1.4. Introduction aux méthodes Agiles 1.5. La méthode Scrum 1.5.1. Les rôles dans Scrum 1.5.2. Déroulement de Scrum Chapitre 2 : Conception 2.1. UML 2.2. Diagramme de classe 2.3. Cas d’utilisation 2.4. Diagramme de séquence Chapitre 3 : Outils technologiques 3.1. Visual Paradigme for UML 10.1
  8. 8. 8 3.2. Environnement de travail 3.3. Java 3.4. Java Entreprise Edition (JEE) 3.5. JBoss Developer Studio 6 3.6. JBoss server 3.7. Le modèle MVC 3.8. Java Server Faces (JSF) 3.9. Primefaces 3.10. EJB (Entreprise Java Beans) 3.11. JPA 3.12. SQL 3.13. MySQL 3.14. MySQL Workbench 3.15. Apach Shiro 3.16. JRebel Chapitre 4 : Mise en œuvre et test 4.1. Authentification et création de projet 4.2. Composants de projet 4.3. Les membres 4.4. Les taches et les membres
  9. 9. 9 Conclusion Conclusion générale Perspectif Bibliographie Chapitre 1: Analyse
  10. 10. 10 1.1. Approche et culture de l’entreprise : Icon Software® estune société de servicesenIngénierie Informatique (SSII) àforte valeurajoutée,en pleincroissance avecunréseaude compétencesimportant.Grace àune expertise technologique dans le domaine destechnologiesde l’informationautourdesenvironnementsouvertsetstandards (Java,Linux,Android,iOS,WindowsPhone),dufaitde sesexpériencesd’intégrationetde développementpropose une offre de servicesinnovantesetcomplémentairespermettant aux entreprisesde développeretde déployerentoute sérénité leurs projetsinformatique. 1.2. Présentation d’ALM (Application Lifecycle Management) : ALM consiste la gestion du Cycle de vie des applications, et leur pilotage depuis son idée initial à sa livraison et sa maintenance pendants tout la vie de l’application, il rapproche les acteurs participant de près ou de loin donc il fourni des outils adaptés pour tous les personnes impliquées dans le projet. ALM recouvre plusieurs grandes étapes : • Gestion des exigences • Gestion des changements • Gestion de version • Gestion de projet • Gestion de la qualité • Gestion des livrables • Gestion Documentaire
  11. 11. 11 • Collaboration sociale Pour éviter certain problèmes comme la multiplication des outils qui provoque le non intégration ou non compatibilités des logiciels qui vont donner un manque des liens, ALM à regrouper tous ces outils dans une seule application pour que tous ces outils arrivent à travailler ensemble d’une façon directe, avec une communication souple entre tous les services, avec un accès au données qui sont centralisées et partager pour éviter les échange de fichier manuel qui peuvent provoquer des pertes de données ou qui peuvent prendre beaucoup de temps pour arriver à destination, ainsi on évite toutes les installations et configuration des outils dans les différents postes par une seule installation et ça va faciliter l’administration de l’application, en cas d’un nouveau projet il suffit juste de créer ce dernier et ajouter des membres depuis l’annuaire de l’entreprise, maintenant on peut travailler dans un environnement ou la distance na pas d’importance tous les membres son connecter a la plate forme ou qu’ils sont, et peuvent être ajoure par l’outil de suivi d’avancement des projets. Chaque entreprise a ça façon de travailler mais elle doit suivre une méthode pour être en conformité avec les normes, il existe plusieurs méthodes de gestion de projet qui peuvent être mises en place avec ALM comme : Cycle en V, CMMI, Cobit, ITIL, et les Méthodes agiles. Dans notre projet on va parler des méthodes agiles/Scrum 1.3. Méthodologies : Pour cette partie nous nous intéresserons à donner un aperçu sur les méthodologies agiles en général. Puis, on va entamer une étude détaillée sur la méthodologie Scrum, celle utilisée dans le présent projet. 1.4. Introduction aux méthodes Agile: C’est des méthodes de développement, qui arrive a réduit le cycle de vie de logiciel pour développer une version minimal, puis en intégrant les fonctionnalités par un processus
  12. 12. 12 itératif basé sur une écoute du client qui va assurer une grande réactivité à ses demandes et des tests tout au long du cycle de développement pour assuré que le logiciel répond au besoin réel du client. Principe des méthodes Agile : • La communication de l’équipe avant les processus et les outils. • Le fonctionnement du projet est plus prioritaire que sa documentation technique. • L’implication du client plutôt qu’un contrat. • La planification et flexible et soumise a des changements. 1.5. La méthode Agile Scrum : Scrum est une méthode agile de gestion de projet, utilisé pour organiser les équipes pour produire une grande valeur métier dans un temps court avec une meilleure qualité, elle découpe le projet en itérations nommées Sprints, un sprint peut avoir une durée de 2 a 4 semaines. On donne l’estimation des taches avant chaque sprint, pour permettre une sélection des taches qu’on va inclure dans un sprint, cette liste des taches choisi pour un sprint s’appel le backlog, on peut éventuellement ajouter de nouvelle taches en cours de projet en dehors des sprints, un sprint se compose par des mêlée quotidienne, dans laquelle les collaborateurs indiquent les taches effectuées la veille, les difficultés rencontré, et les taches a entamer prochainement, cela permet d’évaluer l’avancement, et de partager les ressources selon les besoins.
  13. 13. 13 FIGURE-1 : les étapes de la méthode Scrum 1.5. 1. Les rôles dans Scrum : Chef de projet (Product Owner) : C’est le directeur de produit, il représente les clients et les utilisateurs. • Définit les fonctionnalités du produit • Responsable du retour sur investissement • Définit les priorités dans le backlog en fonction de la valeur « métier » • Ajuste les fonctionnalités et les priorités à chaque sprint si nécessaire • Accepte ou rejette les résultats Chef d’équipe (Scrum master): C’est l’intermédiaire entre le chef de projet et l’équipe et joue le rôle de coache de l’équipe, il estchargée de veiller à la miseen application dela méthode et au respect de ses objectifs. • Représente le management du projet • Responsable de faire appliquer par l’équipe les valeurs et les pratiques de Scrum • Surveille l’application des et des valeurs Scrum par l’équipe
  14. 14. 14 • Élimine les obstacles • S'assure que l'équipe est complètement fonctionnelle et productive • Facilite une coopération poussée entre tous les rôles et fonctions • Protège l'équipe des interférences extérieures Equipe Scrum (Development Team) : Composer de 5 a 10 personnes (Architecte, concepteur, développeur, spécialiste IHM, testeur, etc.) • A pleine temps sur le projet • L’équipe s’organise par elle-même • La composition de l’équipe ne doit pas changer pendant un sprint 1.5. 2. Déroulement de Scrum : Planification du sprint : • L’équipe choisit, à partir de backlog de produit les éléments qu’elle s’engage à finir. • La liste des taches est créée : o Les taches son identifier et estimées (en jours-homme) o Collectivement, pas seulement le chef d’équipe La mêlée (Scrum quotidien) : • Paramètres o Tous les jours o 15 minutes o Debout • Il n’est pas fait pour résoudre les problèmes o Tous le monde est invité o Seuls les membres d’équipe peuvent parler • Il permet d’éviter d’organiser d’autres réunions
  15. 15. 15 Chacun répond à 3 questions: 1- Qu’est ce que t’as fait hier ? 2- Que vas-tu faire aujourd’hui ? 3- Y’a-t’il des obstacles qui te freine ? Revue de sprint (La démo) : A la fin de chaque sprint on fait une démo, elle pousse l’équipe à terminer leur travail et le livrer • L’équipe présente se qu’elle a fait pendant le sprint • Toute l’équipe participe • On invite les autre à découvrir se que l’équipe fait Rétrospective du sprint: C’est une réunion qui vise a amélioré les sprints et ne plu faire les mêmes erreurs • Se fait a la fin de chaque sprint • Tout l’équipe participe même le chef de projet éventuellement client et autre intervenant • Chacun donne son avis o ce qu’il pense être bien o ce qu’il pense qui peut être mieux o ou ce qu’il devrait être différent pour le prochain sprint À la fin on garde les suggestions qui peuvent améliorer le prochain sprint.
  16. 16. 16 Chapitre 2: Conception La phase de conception consiste à donner une idée plus claire de l’analyse de notre solution envisagée a travers des diagrammes UML. 2.1. UML (Unified Modeling Language) : UML est un langage de modélisation graphique, il est apparu dans le cadre de la conception orientée objet, couramment utilisé dans les projets logiciels, UML est utilisé pour spécifier, visualiser et construire les documents nécessaires au bon développement d'un logiciel orienté objet. Il offre un standard de modélisation, pour représenter l'architecture logicielle. 2.2. Diagramme de classe : Le diagramme de classes est un schéma utilisé en génie logiciel pour présenter les classes et les interfaces des systèmes ainsi que les différentes relations qui lie c’est dernier, on trouve comme lien l’association, généralisation, dépendance…etc.
  17. 17. 17 FIGURE-2 : Diagramme de classe de l’application aykonScrum 2.3. Cas d’utilisation (Use case) : Un cas d’utilisation représente les relations fonctionnelles entre les acteurs et le système, il permet de représenter visuellement une séquence d’actions réalisées par un système, représenté par une boite rectangulaire, produisant un résultat sur un acteur, l’acteur représente le rôle d’une entité externe (utilisateur humain dans notre cas) qui interagit avec le système, il est noter qu’un utilisateur peut jouer plusieurs rôles vis-à-vis du système ce qui amène a le modélisé par plusieurs acteurs. UML propose des conceptions issus de bonne pratique qui permet de décrire, dans des documents lisibles par tous, la finalité des interactions système et de ses utilisateurs.
  18. 18. 18 Pour avoir une idées détailler et claire de notre système on a met un cas d’utilisation globale, avec tous les acteurs du système ainsi que des cas d’utilisation de chaque acteur. FIGURE-3 : cas d'utilisation globale d’Aykona Scrum
  19. 19. 19 FIGURE- 4: cas d'utilisation chef projet FIGURE- 5: cas d'utilisation chef d'équipe
  20. 20. 20 FIGURE- 6: cas d'utilisation développeur 2.4. Diagramme de séquence: Il représente graphiquement la chronologie des échanges de message avec le système ou au sein du système, ces éléments sont : - Acteurs - Objets (instances) - Message (cas d’utilisation, appels d’opération) Il permet de décrire la réalisation d’un cas d’utilisation sur le système décrit par le diagramme de classes Les diagrammes de séquence de notre application sont les suivant :
  21. 21. 21 FIGURE- 7: diagramme de séquence d’authentification FIGURE- 8: diagramme de séquence créer projet
  22. 22. 22 FIGURE- 9: diagramme de séquence créer un historique FIGURE- 10: diagramme de séquence créer tache FIGURE- 11: diagramme de séquence planifier un sprint
  23. 23. 23 FIGURE- 12: diagramme de séquence choisir une tache FIGURE- 13: diagramme de séquence retirer une tache
  24. 24. 24 FIGURE- 14: diagramme de séquence affecter tache FIGURE- 15: diagramme de séquence donner l'état d'avancement
  25. 25. 25 FIGURE- 16: diagramme de séquence contrôler l'état d'avancement Chapitre 3: Outils technologiques
  26. 26. 26 On va parler des déférents outils et langage qu’on a utilisé dans notre Systems 3.1. Visual Paradigme for UML 10.1 : Visual Paradigme for UML est un outil de conception et de modélisation, conçu pour faciliter le développement de logiciels, il offre une faciliter d’utilisation et une grande portée sur les outils d’UML, on peut réaliser tout les diagrammes est autre vue dans un seul projet, se qui nous donne une bonne visualisation du travail qu’on fait. 3.2. Environnement de travail Pour l’environnement de travaille, on a utilisé: Un ordinateur portable utilisé comme un serveur - 4 GO ram - 512 GO DDR - Intel® Core(TM) i5-2410M CPU 2.30 GHz - Système: win7 64bit Ordinateur de client : - une configuration minimale de 512 MO ram - l’application est supportée sur tous les systèmes d’exploitation 3.3. Java
  27. 27. 27 Java est un langage de programmation orienté objet développer par la société Sun Microsystems il est basé sur un grand impact « multiplateforme » grâce a JVM « java virtuelle machine » on peut crée des applications compatible avec des nombreux systèmes des d’exploitation (Windows, Solaris, Linux), java donne aussi la possibilité de développer des applications sur mobile, desktop et sur le web. Java et à la fois un Langage de programmation et un environnement d ‘exécution. Le langage de programmation java est devenu un référence pour les développeurs du monde entier pour les innombrables qualités et services qu'il fournit, et parmi lesquelles nous pouvons citer: _ La portabilité du code (conçu essentiellement pour le web, et vu que notre application est une application web). _ La gratuité d'utilisation (notre application doit être développée avec le moindre coût). _ Permet l'intégration avec la majorité des SGBDR propriétaires et Open Source du marché grâce aux drivers JDBC fournies par ces derniers. _ La disponibilité de l'aide en ligne. Choix de standard de développement 3.4. Java Entreprise Edition (JEE) Java EE est un enivrement de développement et de déploiement des applications web, la plateforme JEE est constitue des services, d’interfaces de programmation d’application et des protocoles qui fournissant les fonctionnalités nécessaire de développement d’application basé sur le web. JEE utilisé des nombreux API qui existe déjà dans JAVA: JNDI, JDBC, L’architecteur d’une application JEE est découpé sur 3 tiers: 1- La partie client: c’est la partie de dialogue avec l’utilisateur. 2- La partie métier: c’est une partie qui fait les traitements (dans l’EJB ou le Bean). 3- La partie de donnée: c’est la partie de persistance des données. La plateforme J2EE permet un meilleur paramétrage que les autres standards de développement. Puisque nous avons choisi java comme langage de programmation, il nous a
  28. 28. 28 conduits à le choisir dans notre contexte. 3.5. JBoss Developer Studio 6 C’est un IDE (Integrated development environment) ensemble d’outils de développement basé sur éclipse qui sont préconfigurés pour JBoss Entreprise Middleware et la Plateforme Red Hat Entreprise Linux, il contient des API pour le développement JSF qui sont inclut dans notre application se qui facilite le développement de ces outils. 3.6. JBoss JBoss est un serveur d’application Java JEE open sources écrit en java, il peut être utilisé sur tous les systèmes d’exportation fournissant une machine virtuelle. JBoss server inclus les conteneurs EJB et les Servlet a la fois, par contre les autres serveurs comme Tomcat port que des conteneurs Servlet est ne supporte pas les EJB qu’on a utilisé dans notre application. 3.7. Le modèle MVC : Dans notre application on a c’est baser sur le modèle MVC, Le modèle MVC (Model-View-Controller) est un modèle destiné à répondre aux besoins des applications interactives en séparant les problématiques liées aux différents composants au sein de leur architecture respective, l’idée de l’architecture est de bien séparer les données, la présentation et les traitements.
  29. 29. 29 1- Le modèle : C’est la partie traitement de données qui interagit avec la base de données, il comporte des méthodes standards pour manipuler les données (insertion, suppression, changement de valeur) et d’autre méthode pour récupérer les données. 2- La vue : C’est la partie avec qui l’utilisateur interagit avec le système, ça tache est de présenter les résultats envoyer pas le modèle et de recevoir tout action de l’utilisateur (comme : clic de souris, sélection d’un bouton radio…etc.) et de les envoyer au contrôleur. 3- Le contrôleur : Il prend en charge la gestion des événements pour mettre à jour la vue ou le modèle et de les synchroniser, il reçoit les événements de l’utilisateur est lance des actions correspondant, si l’événement reçu ne concerne pas les données mais seulement la vue le contrôleur demande a la vue de se changer, sinon il demande la modification des données au modèle et notifie la vue que les données on changer pour qu’elle se mette à jour.
  30. 30. 30 FIGURE- 17: l’architecture MVC 3.8. Java Server Faces ( JSF ) : Java server faces est un Framework pour les application web java « JEE » ,JSF est une technologie utilisée côté serveur dont le but est de faciliter le développement de l'interface utilisateur en séparant clairement la partie « interface » de la partie « métier » d'autant que la partie interface n'est souvent pas la plus compliquée mais la plus fastidieuse à réaliser, plus que ça JSF utilisé les requête Ajax « asynchrone JavaScript and XML» qui jouent un grand rôle dans notre application on peut changé des donnée sont rafraichir la page ainsi utilisé les validateur… 3.9. Primfaces : Primefaces est une bibliothèque riche en composants prédéfinie baser sur le Framework JSF pour le coté utilisateur il inclut les bibliothèques comme JavaScript, Css, jQuery, Ajax, ces bibliothèque on les met dans les balises avec les tags de Primefaces dans les pages Html. 3.10. EJB (Entreprise Java Beans) : Les EJB sont un élément très important de la plate forme Java EE pour le développement des applications distribuer. La plate forme Java EE propose de mettre en ouvre les couche métiers et persistance avec les EJB, qui sont particulièrement intéressants dans les environnements distribués, leur mise en œuvre est assez lourde jusqu’à la version 3.
  31. 31. 31 La version 3 des EJB (EJB3) vise à faciliter le développement qui été juger trop complexes, elle a apporte de très nombreuse fonctionnalités, ça simplification est rendu possible notamment par : - L’utilisation des notations - La mise en œuvre de valeurs par défaut qui répond à la plupart des besoins (configuration par exception) - l’injection de dépendances coté serveur mis aussi coté client, le cycle de vie est gérait directement par l’utilisation de JNDI - L’utilisation de JPA pour les beans de type entity - ... 3.11. JPA (Java Persistence API) : JPA estune interface de programmationJavapermettantaux développeursd’organiserdesdonnées relationnellesdansdesapplicationsutilisantlaplateforme Java,il estbasé surORM(Objecte relation mapping) il transforme le modèle relationnelle (lestablesde base de donnée) enclassesjava ce qui facilite l’utilisationde modèle relationnelle,enutilisantlesnotations@entity,@idet @column …etc. 3.12. SQL C’estunlangage qui permetd’effectuerdesopérationssurlesbasesde donnéesrelationnelles,en manipulantlesdonnées,il permetd’effecteurdesrecherchesoude supprimerdesdonnées éventuellementd’ajouteretde modifiercesdonnées. 3.13. MySQL C’estunserveurde base de donnéesrelationnelle,unSGBD (système de gestionde base de données) c’estunlogiciel de gestionde donnéessupportantle langage SQL.
  32. 32. 32 3.14. MySQL Workbench: C’estunlogiciel de gestionetd’administrationde basesde données MySQL via une interface graphique,il dispose desopérationsqui son déjàconnue comme créer,modifierousupprimerdestablesetdes compte utilisateurs…etc. Certaincaractéristique qui le favorise comme : - Il permetde généreretde gérervisuellement lesbasesde données - Il permetde générerdesmodèlesentité-relation - Il offre une console visuelle,qui permetune meilleure visibilité pourpouvoiradministrerles utilisateursetsurveillerl’intégralité de labase de données. 3.15. Apache Shiro : Apache Shiro est un cadre de sécurité Java puissant et facile à utiliser, qui effectue l'authentification, l'autorisation, la cryptographie et la gestion des sessions. L’architecture de Shiro est facile a comprendre se qui nous aide à implémenter rapidement la sécurité de n’import quelle application, quelle soit une petite application mobile ou une grande application d’entreprise web. 3.16. JRebel : JRebel estunpluginJVM(java virtuellemachine) qui permetaux développeursJavade voirinstantanémenttoutchangementde code apporté esà une applicationsansredéployer. Commentça !! JRebel estune solutionalternative àlamise àjour desclassesqui ne nécessite pasune sessionde débogage àdémarrer.Aucontraire,elle surveille le systèmede fichierspourleschangementsetles
  33. 33. 33 misesà jourdesclassesenmémoire.Celasignifieque seuleslesclassescompiléespour".Classe" fichiersserontmisàjouret leschangementsde classesdanslesfichiersJARserontignorés. JRebel estbasé surJava etutilisablesurn'importe quel systèmed'exploitationsupportantJava,en s'intégrantaux différentesnormesJavaEEet lesserveursd'applicationsJava. Chapitre 4: Mise en œuvre et test
  34. 34. 34 Dans ce chapitre on va présenter la mise en œuvre de notre application en se basant sur des illustrations. 4.1. Authentification et création de Projet: La figure suivante illustre l’interface graphique web d’Aykona Scum : Figure 18 : authentification Aykona Scrum
  35. 35. 35 Figure 19 : liste de projets Figure 20 : Création de Projet
  36. 36. 36 Figure 21 : Modification d’un projet Figure 22 : suppression d’un projet 4.2. Composants du projet : Le bouton « détaillée » nous donne une vue sur le projet et ses composants.
  37. 37. 37 Figure 23 : les détailles du projet Figure 24 : Liste historique
  38. 38. 38 Figure 25 : Ajouter un historique Figure 26 : Ajouter une tache dans un historique
  39. 39. 39 Figure 27 : Liste des sprints Figure 28 : le Time Line
  40. 40. 40 Figure 29 : burndown chart 4.3. Les membres :
  41. 41. 41 Figure 30 : Ajouter un membre Figure 31 : Liste des membres
  42. 42. 42 4.4. Les taches et les membres : Figure 32 : List des taches pour un membre Figure 33 : Liste d’évolution des taches par membre
  43. 43. 43 Figure 34: backlog 4.4. Espace membre Figure 35: Les taches de chaque membre
  44. 44. 44 Figure 36: Espace d’échange et de collaboration
  45. 45. 45 Conclusion Conclusion générale : Notre projet nous a permet d’approcher l’environnement de l’entreprise, et de comprendre les rôles de chacun dans une entreprise, plus précisément dans le développement informatique , ça nous a permet d’avoir une idée sur les problèmes, qui peuvent bien infecter l’environnement de travail, les conflit entre les membre, ou les problèmes qui peuvent bien retarder ou échoué des projets informatique, tout ces informations nous ont aider a comprendre des techniques employer pour minimiser les pertes , et de bien gériez les projet, dans une équipe qui travail en collaboration pour produire un résultat satisfaisant, le travail collaboratif est une source de créativité il permet d’améliorer et de rendre le travail flexible pour un meilleur résultat, ces étude nous ont permet d’apprendre des nouveaux concept pour planifier des projets en minimisant leur cout. Dans le coté technique on a vu la méthodologie pour développer des applications pour les entreprises avec l’architecture JEE, en améliorant nous connaissance avec les outils de
  46. 46. 46 développement JSF, JPA et les EJB et d‘autre composant, et les manier de sécuriser les applications. Perspectif : Les point qu’on peut ajouter dans notre application pour l’améliorer serra de pouvoir générer des rapports de chaque projet, et dans le future on souhaite qu’elle devient une application complète pour la gestion de cycle de vie des logiciel en lui implémentant tout ses fonctionnalité, par exemple la gestion des changements qui consiste a stoker et tracer tous les changement effectués par les membres dans l’évolution de leur travail, et la gestion de version pour permettre aux ingénieurs de développer ensemble et fusionner leur travail en tout sécurité, gestion documentaire et d’apporter de nouveaux approche qui améliore le travail collaboratif. Bibliographie : [juin 2012] Smile Gestion du cycle de vie des applications (ALM) le meilleur des solutions de l’open source [2007] Henrik Kniberg : Scrum et XP depuis les Tranchées –comment nous appliquons Scrum- [CollabNet 2013] Scrum Methodology http://scrummethodology.com/ [Scrum.org 2013] Scrum http://www.scrum.org/Scrum-Guides
  47. 47. 47

×