Upload
sidahmed-benkhaoua
View
800
Download
1
Embed Size (px)
Citation preview
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 Redha Mohamed sidamou
Encadreur: Mr BOUSSEBAT Khaled
Organisme d’accueil : Icon software
Mémoire présenté par : Mr Sidahmed BENKHAOUA
Mr Hammad Amoukrane
Soutenu le : Devant le jury composé
Examinateur : ................................
2012/2013
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)
2
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é
3
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é.
4
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,
5
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.
6
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
7
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
8
Conclusion
Conclusion générale
Perspectif
Bibliographie
Chapitre 1: Analyse
9
1.1. Approche et culture de l’entreprise :
Icon Software® est une société de services en Ingénierie Informatique (SSII) à forte valeur ajoutée, en
plein croissance avec un réseau de compétences important. Grace à une expertise technologique
dans le domaine des technologies de l’information autour des environnements ouverts et standards
(Java, Linux, Android, iOS, Windows Phone), du fait de ses expériences d’intégration et de
développement propose une offre de services innovantes et complémentaires permettant aux
entreprises de développer et de déployer en toute sérénité leurs projets informatique.
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
10
• 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
11
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.
12
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 est chargée de veiller à la mise en application de la 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
13
• É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
14
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.
15
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.
16
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.
17
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
18
FIGURE- 4: cas d'utilisation chef projet
FIGURE- 5: cas d'utilisation chef d'équipe
19
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 :
20
FIGURE- 7: diagramme de séquence d’authentification
FIGURE- 8: diagramme de séquence créer projet
21
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
22
FIGURE- 12: diagramme de séquence choisir une tache
FIGURE- 13: diagramme de séquence retirer une tache
23
FIGURE- 14: diagramme de séquence affecter tache
FIGURE- 15: diagramme de séquence donner l'état d'avancement
24
FIGURE- 16: diagramme de séquence contrôler l'état d'avancement
Chapitre 3: Outils technologiques
25
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. Java26
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
27
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.
1- Le modèle :
28
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.
FIGURE- 17: l’architecture MVC
29
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.
30
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 est une interface de programmation Java permettant aux développeurs d’organiser des données
relationnelles dans des applications utilisant la plateforme Java, il est basé sur ORM (Objecte relation
mapping) il transforme le modèle relationnelle (les tables de base de donnée) en classes java ce qui
facilite l’utilisation de modèle relationnelle, en utilisant les notations @entity, @id et @column …
etc.
3.12. SQL
C’est un langage qui permet d’effectuer des opérations sur les bases de données relationnelles, en
manipulant les données, il permet d’effecteur des recherches ou de supprimer des données
éventuellement d’ajouter et de modifier ces données.
3.13. MySQL
C’est un serveur de base de données relationnelle, un SGBD
(système de gestion de base de données) c’est un logiciel de
gestion de données supportant le langage SQL.
31
3.14. MySQL Workbench :
C’est un logiciel de gestion et d’administration de bases de données
MySQL via une interface graphique, il dispose des opérations qui son
déjà connue comme créer, modifier ou supprimer des tables et des
compte utilisateurs…etc.
Certain caractéristique qui le favorise comme :
- Il permet de générer et de gérer visuellement les bases de données
- Il permet de générer des modèles entité-relation
- Il offre une console visuelle, qui permet une meilleure visibilité pour pouvoir administrer les
utilisateurs et surveiller l’intégralité de la base 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 est un plugin JVM (java virtuelle machine) qui permet aux
développeurs Java de voir instantanément tout changement de
code apporté es à une application sans redéployer.
Comment ça !!
JRebel est une solution alternative à la mise à jour des classes qui ne nécessite pas une session de
débogage à démarrer. Au contraire, elle surveille le système de fichiers pour les changements et les
32
mises à jour des classes en mémoire. Cela signifie que seules les classes compilées pour ". Classe"
fichiers seront mis à jour et les changements de classes dans les fichiers JAR seront ignorés.
JRebel est basé sur Java et utilisable sur n'importe quel système d'exploitation supportant Java, en
s'intégrant aux différentes normes Java EE et les serveurs d'applications Java.
Chapitre 4: Mise en œuvre et test
33
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
34
Figure 19 : liste de projets
Figure 20 : Création de Projet
35
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.
36
Figure 23 : les détailles du projet
Figure 24 : Liste historique
37
Figure 25 : Ajouter un historique
Figure 26 : Ajouter une tache dans un historique
38
Figure 27 : Liste des sprints
Figure 28 : le Time Line
39
Figure 29 : burndown chart
4.3. Les membres :
40
Figure 30 : Ajouter un membre
Figure 31 : Liste des membres
41
4.4. Les taches et les membres :
Figure 32 : List des taches pour un membre
Figure 33 : Liste d’évolution des taches par membre
42
Figure 34: backlog
4.4. Espace membre
Figure 35: Les taches de chaque membre43
Figure 36: Espace d’échange et de collaboration
44
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
45
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
46
47