Vous êtes sur la page 1sur 18

Conception et Ralisation dune application de TaskTracking

Ralis par : Slimani Hamza El khiari Khalil RCHAM Omar El Ganbour Najib El bardai abderrahmane

Encadr par : Mr.A.Mezrioui

Anne Universitaire : 2011 /2012

Remerciements
Au terme de ce travail, nous tenons prsenter nos vifs remerciements Mr. Abdellatif Mezrioui de nous avoir donn cette opportunit de mettre en uvre nos connaissances acquis lors du cours du dveloppement logiciel.

Projet Gnie logiciel

Page 2

I-INTRODUCTION
Notre projet a pour but la conception et la ralisation dune application de timetracking en suivant la mthode agile Unified process , ainsi, comme pour une bonne partie des projets de ralisation des systmes dinformation, il a t retenu une architecture de type J2EE comprenant : Un niveau serveur web dinterface avec les utilisateurs. Un niveau serveur dapplications. Un niveau serveur de donnes. Larchitecture J2EE permet de bnficier dune infrastructure serveur dapplications offrant des populations divers (utilisateurs internes et externes) un accs personnalis. Facilement volutif, nimposant pratiquement aucun pr-requis au niveau des postes clients (uniquement un navigateur internet). Le processus que nous allons suivre et appliquer dans notre projet est : Conduit par les cas dutilisation comme UP. Relativement lger et restreint, comme les mthodes agiles, mais sans ngliger les activits de modlisation en analyse et conception. Fond sur lutilisation dun sous-ensemble ncessaire et suffisant du langage UML.

Projet Gnie logiciel

Page 3

II-Elaboration du cahier de charges


Exigences fonctionnelles: Lapplication aura deux interfaces ddies aux employs de la socit c'est-dire deux espaces de navigations le premier pour une utilisation personnelle et lautre pour une utilisation professionnelle. Espace mono utilisateur o Crer une nouvelle tche o Consulter la liste des tches o Supprimer une tche o Modifier une tche o Se connecter o Se dconnecter Espace multi utilisateur Pour un employ o Consulter les taches qui lui ont t affectes o Notifier le manager Pour un manager o o o o o o o o Consulter les taches de son projet Affecter des taches un employ Retirer une tache un employ Ajouter un employ son quipe Supprimer un employ de lquipe Ajouter une nouvelle tache Rejeter une tache Consulter le profil dun employ

Pour ladministration de la base de donnes le DBA aura une interface propre lui qui aura les fonctionnalits suivantes : Ajouter un nouvel utilisateur Supprimer un utilisateur Consulter la liste des utilisateurs
Projet Gnie logiciel Page 4

Mettre jour la liste des utilisateurs

III-Spcification des exigences


La deuxime tape de notre projet consiste spcifier les exigences laide des acteurs et des cas dutilisation. Les diagrammes de cas d'utilisation sont des diagrammes UML utiliss pour donner une vision globale du comportement fonctionnel d'un systme logiciel. Un cas d'utilisation reprsente une unit discrte d'interaction entre un utilisateur (humain ou machine) et un systme. Cest une unit significative de travail. Dans un diagramme de cas d'utilisation, les utilisateurs sont appels acteurs (actors), ils interagissent avec les cas d'utilisation (use cases). UML dfinit une notation graphique pour reprsenter les cas d'utilisation, cette notation est appele diagramme de cas d'utilisation. Le diagramme des cas d'utilisation a pour objectifs : la capture des fonctionnalits couvertes par le systme Permettre aussi de dfinir les frontires du systme avec son environnement. recenser comment lutilisateur interagit avec le systme Etablir les scnarios fonctionnels qui seront utiliss pour la recette du systme Servir de support de rfrence tout au long des phases de dveloppement du systme. 1-Identification des acteurs : Employ : La personne qui est travaille au sein de lentreprise. Manager : le chef hirarchique des employs. Administrateur : le responsable qui est en charge du bon fonctionnement et de la maintenance de lapplication. 2-Identification des cas dutilisation : Pour chaque acteur identifi prcdemment, nous allons identifier les diffrentes intentions mtiers selon lesquelles il utilise le systme.

Projet Gnie logiciel

Page 5

2.1-Les cas dutilisations relatifs lacteur Employ Consulter une tche. Crer une tche. Modifier une tche. Supprimer une tche. Notifier le manager. Sauthentifier.

2.2- Les cas dutilisation relatifs lacteur Manager Approuver une tche. Rejeter une tche. Affecter une tche. Enlever une tche. Consulter les tches affectes son quipe. Ajouter un employ son quipe. Supprimer un employ de son quipe. Sauthentifier.

2.3- Les cas dutilisation relatifs lacteur Administrateur Crer user. Consulter la liste des users. Mettre jour la liste des users. Supprimer user.

Le diagramme ci-dessous illustre le use case de notre projet :

Projet Gnie logiciel

Page 6

uc Use Case Model

Consulter une tche

Consulter ses tches

Consulter les tches affects par le manager Supprimer une tche Employ

Notifier le manager

include

Crer une tche

include

Modifier une tche

include

include

include

S'authentifier Approuv er une tche include

include

Rej eter une tche

include

include include Consulter les tches affects son quipe include Manager include

Affecter une tche

Supprimer un employ de son quipe

Aj outer un employ son quipe

Enlev er une tche

Crer User Consulter liste des user

Mettre j our la liste des user

Supprimer user Administrateur

Diagramme de cas dutilisation

Projet Gnie logiciel

Page 7

IV-Spcification dtaille des exigences


Dans cette partie, nous allons dcrire de faon dtaille les cas dutilisation que nous avons identifis prcdemment en laborant le diagramme de squence.

sd Class Model resource Task Employ user_Interface task_manager account Persist_manager

clicklogin()

display()

return()

entrer login et mot de passe()

click_OK()

validate_login()

notify()

login_notify()

create_task()

create_request()

create()

setOptions()

Persist()

Destruct() End_Task

notify()

user_notify()

Diagramme de squence

Projet Gnie logiciel

Page 8

sd Class Model

Task_manager Manager user_interface

Authentication

click_AssignTask()

Fill_Form()

Form_Filled()

click_OK()

Task_request()

assignTask()

Notify()

Diagramme de squence

Projet Gnie logiciel

Page 9

V-Conception objet dtaille


Diagramme de classe

Ce diagramme reprsente une entre la partie statique d'UML car il fait abstraction des aspects temporels et dynamiques et les reprsente sous formes de classes. Chacune delles permet de dcrire les responsabilits, le comportement et le type d'un ensemble d'objets. Les lments de cet ensemble sont les instances de la classe. Celle-ci est un ensemble de fonctions et de donnes (attributs), lies ensembles par un champ smantique, sont utilises dans la programmation oriente objet. Elles permettent de modliser un programme et ainsi de dcouper une tche complexe en plusieurs petits travaux simples. Une classe dcrit les responsabilits, le comportement et le type d'un ensemble d'objets. Les lments de cet ensemble sont les instances de la classe. Une classe est un ensemble de fonctions et de donnes (attributs) qui sont lies ensembles par un champ smantique. Les classes sont utilises dans la programmation orient objet. Elles permettent de modliser un programme et ainsi de dcouper une tche complexe en plusieurs petits travaux simples. Les classes peuvent tre lies entre elles grce au mcanisme d'hritage qui permet de mettre en vidence des relations de parent. D'autres relations sont possibles entre des classes, chacune de ces relations est reprsente par un arc spcifique dans le diagramme de classes. Elles sont finalement instancies pour crer des objets (une classe est un moule objet : elle dcrit les caractristiques des objets, les objets contiennent leurs valeurs propres pour chacune de ces caractristiques lorsqu'ils sont instancis).

Projet Gnie logiciel

Page 10

class Class Model

Employe + + + + + + CIN: String date_embauche: String departement: String id_employe: int nom_employe: String poste: String prenom_employe: String 0..* m_Admin: Admin Employe() finalize() : void ajout_tache() : void modifier_tache() : void supprimer_tache() : void 0..1 1 + + + + +

Admin id_admin: int nom_admin: String prenom_admin: String singletonData: int uniqueInstance: int

Admin() finalize() : void ajout_employe() : void GetSingletonData() Instance() return uniqueInstance + SingletonOperation() + supprimer_employe() : void

0..* Tache + date_debut_t: String date_fin_t: String id_tache: int nom_tache: String priorite: String projet: Projet m_Employe: Employe Manager id_manager: int nom_manager: String prenom_manager: String

+ Manager() + finalize() : void + affecter_tache() : void

+ Tache() + finalize() : void -projet Proj et date_debut_p: String date_fin_p: int id_projet: int titre: String

+ Projet() + finalize() : void

Diagramme de classe

Projet Gnie logiciel

Page 11

Schma de la base de donnes Le modle entit-association (le terme entit-relation est une traduction errone largement rpandue), ou diagramme entit-association ou (en anglais entity-relationship diagram , abrg en ERD), est un modle de donnes ou diagramme pour des descriptions de haut niveau de modles conceptuels de donnes. Il fournit une description graphique pour reprsenter de tels modles de donnes sous la forme de diagrammes contenant des entits et des associations. De tels modles sont utiliss dans les phases amont de conception des systmes informatiques.

Schma de la BDD
Projet Gnie logiciel Page 12

VI- Outils et descriptif de lapplication


Dans cette partie, nous allons prsenter un descriptif de la solution ainsi que les outils utiliss.

1-Descriptif de lapplication Page daccueil Cette page offre deux espaces pour lauthentification : un espace personnel et un espace professionnel, permettant ainsi la cration et la consultation des tches dans les deux espaces.

Projet Gnie logiciel

Page 13

Page cration des tches Cette page prsente le formulaire pour la cration dune tche (personnelle ou professionnelle).

Projet Gnie logiciel

Page 14

Page des listes des tches : Cette page prsente la liste des tches prsentant le nom de lemploy et son manager, ainsi la priorit de la tche et la date dbut et la date fin de chaque tche.

Projet Gnie logiciel

Page 15

2-Outils : 2.1 Netbeans :


Lenvironnement de dveloppement(IDE) est bas sur Netbeans. NetBeans est un environnement de dveloppement intgr (EDI), plac en open source par Sun en juin 2000 sous licence CDDL et GPLv2 (Common Development and Distribution License). En plus de Java, NetBeans permet galement de supporter diffrents autres langages, comme Python, C, C++,JavaScript, XML, Ruby, PHP et HTML. Il comprend toutes les caractristiques d'un IDE moderne (diteur en couleur, projets, diteur graphique d'interfaces et de pages Web). NetBeans est disponible sous Windows, Linux, Solaris (sur x86 et SPARC), Mac OS X ou sous une version indpendante des systmes d'exploitation (requrant une machine virtuelle Java). Un environnement Java Development Kit JDK est requis pour les dveloppements en Java. NetBeans constitue par ailleurs une plate forme qui permet le dveloppement d'applications spcifiques (bibliothque Swing (Java)). L'IDE NetBeans s'appuie sur cette plate forme. L'IDE Netbeans s'enrichit l'aide de plugins. 2.2 GlassFish : GlassFish est le nom du serveur d'applications Open Source Java EE 5 et dsormais Java EE 6 avec la version 3 qui sert de socle au produit Oracle GlassFish Server1 (anciennement Sun Java System Application Server2 de Sun Microsystems). Sa partie Toplink persistance provient d'Oracle. C'est la rponse aux dveloppeurs Java dsireux d'accder aux sources et de contribuer au dveloppement des serveurs d'applications de nouvelle gnration

2.3 Base de donnes :


La base de donnes utilise dans ce projet est une base MySQL. Et avec une utilisation de loutil Mysql Workbench afin de gnrer le script de cration des tables a partir du MCD .MySQL, le plus populaire des serveurs de bases de donnes SQL Open Source, est dvelopp, distribu et support par MySQL AB. MySQL AB est une socit commerciale, rachete depuis peut par SUN, fonde par les dveloppeurs de MySQL, qui dveloppent leur activit en fournissant
Projet Gnie logiciel Page 16

des services autour de MySQL. MySQL est, la fois, un systme de gestion de bases de donnes, et un serveur de bases de donnes relationnelles. Le serveur de bases de donnes MySQL est trs rapide, fiable et facile utiliser. Le serveur MySQL a t dvelopp l'origine pour grer de grandes bases de donnes plus rapidement que les solutions existantes, et a t utilis avec succs dans des environnements de production trs contraints et trs exigeants. Bien que toujours en dveloppement, le serveur MySQL offre des fonctions nombreuses et puissantes. Ses possibilits de connexions, sa rapidit et sa scurit font du serveur MySQL un serveur hautement adapt au web.

2.4 Les Framework


JSF Java Server Faces (abrg en JSF) est un Framework d'interface utilisateur pour les applications web, bas sur les technologies JSP et Servlets. Il existe plusieurs frameworks web Java ddis au dveloppement d'interfaces utilisateur mais aucun n'est un standard et va aussi loin que JSF. En effet, JSF permet : une sparation nette entre la couche de prsentation et les autres couches un modle riche de composants graphiques rutilisables une gestion de l'tat de l'interface entre les diffrentes requtes une liaison simple entre les actions ct client de l'utilisateur et le code Java correspondant Ct serveur : le support de diffrents clients (HTML, WML, XML, ...) grce la sparation des problmatiques de construction de l'interface et du rendu de cette interface Cette architecture implmente le patron de conception MVC (Modle, Vue, Contrleur). Le traitement d'une demande d'un client se droule selon les quatre tapes suivantes : Demande, traitement navigation et rponse.

Projet Gnie logiciel

Page 17

VII-CONCLUSION :

La conduite d'un projet utilisant larchitecture j2EE, et en suivant une mthode agile bien prcise a t une exprience trs particulire et cela sur de nombreux niveaux. En effet, nous avons eu loccasion de mettre en uvre nos acquis au niveau du cours du gnie logiciel, tout en amliorant notre savoir faire dans le dveloppement informatique en suivant la dmarche dcrite dans notre cours. Par ailleurs, lintrt technique du projet, pour nous, en tant quinformaticiens est consquent, notamment avec lapprentissage du Framework JSF, et lauthentification par JAAS.

Projet Gnie logiciel

Page 18