56
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 : ................................

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

Embed Size (px)

Citation preview

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Conclusion

Conclusion générale

Perspectif

Bibliographie

Chapitre 1: Analyse

9

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

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

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

• 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

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

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

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

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

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

• É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

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

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

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

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

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

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

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

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

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

FIGURE- 4: cas d'utilisation chef projet

FIGURE- 5: cas d'utilisation chef d'équipe

19

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

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

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

FIGURE- 7: diagramme de séquence d’authentification

FIGURE- 8: diagramme de séquence créer projet

21

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

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

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

FIGURE- 12: diagramme de séquence choisir une tache

FIGURE- 13: diagramme de séquence retirer une tache

23

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

FIGURE- 14: diagramme de séquence affecter tache

FIGURE- 15: diagramme de séquence donner l'état d'avancement

24

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

FIGURE- 16: diagramme de séquence contrôler l'état d'avancement

Chapitre 3: Outils technologiques

25

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Figure 19 : liste de projets

Figure 20 : Création de Projet

35

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

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

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

Figure 23 : les détailles du projet

Figure 24 : Liste historique

37

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

Figure 25 : Ajouter un historique

Figure 26 : Ajouter une tache dans un historique

38

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

Figure 27 : Liste des sprints

Figure 28 : le Time Line

39

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

Figure 29 : burndown chart

4.3. Les membres :

40

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

Figure 30 : Ajouter un membre

Figure 31 : Liste des membres

41

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

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

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

Figure 34: backlog

4.4. Espace membre

Figure 35: Les taches de chaque membre43

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

Figure 36: Espace d’échange et de collaboration

44

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

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

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

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

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

47