rapp port 22
Post on 21-Dec-2015
21 Views
Preview:
DESCRIPTION
TRANSCRIPT
Dédicace
Je dédie ce mémoire :
A celui qui m’a engagé face au défit et m’a appris les termes d’existence, de vouloir et
du bien être : mon père MNAOUER
A celle qui m’a claustré d’affection et de tendresse, celle qui m’attendue derrière sa
nostalgie cachée : ma mère DHRAIFA
Je leur dédie ce mémoire en reconnaissance de tous les sacrifices qu’ils ont consenti pour la réussite de leurs enfants et dont je suis à
jamais redevable.
A mes chers frères : Med Sghaier, Azzedine, Kamel,Walid, Chaouki
A mes chères sœurs : Hayat, Souad, Samia, hafsia
Avec qui j’ai partagé dès mon enfance toute mes haines, mes joies et mes succès.
Que ce travail soit l’expression de ma grande affection et un témoignage de mon profond amour et mon attachement. Que Dieu nous garde toujours unis, heureux et
sincères.
A tous mes amis (es) qui se reconnaître, tous ceux qui me sont chers.
Pour leur amour et leur sympathie qui ont été une aide précieuse, j’espère par ce
modeste travail avoir répondu à leur souhait de me voir réussir dans la voie que j’ai
choisie et à la confiance qu’ils ont reposé en moi.
REMERCIEMENT
je tenie à remercier mon encadrante
Madame :
Najla oueslati
Qui n’a profité aucun effort pour mon
encourager à mener ce travail malgré toutes
ses préoccupations, ainsi pour l’intérêt
qu’elle a porté à mon thème de recherche,
ses conseils et son aide qui m’a été très
utiles.
Mes remerciements s’étendent également à
tous les membres de jury pour l’amabilité
d’avoir accepter de juger ce travail.
Je suis redevable aussi au personnel de la
bibliothèque de l’Institut Supérieure
d’Informatique de MAHDIA , de la SNCPA et
tous les enseignants qui ont contribué à ma
formation.
Table des matières
Liste des figures.......................................................................................................................... i
Liste des tableaux...................................................................................................................... ii
Liste des Acronymes................................................................................................................. iii
Avant Propos............................................................................................................................ iii
Introduction Générale...............................................................................................................1
Chapitre I . Etude préliminaire...............................................................................................2
I.1 Introduction:..................................................................................................................2
I.2 Contexte général:...........................................................................................................2
I.3 Présentation de la société d’accueil:..............................................................................2
I.3.1 Historique de la compagnie SNCPA:........................................................................2
I.3.2 Composition:...........................................................................................................3
I.4 Présentation général du projet:.....................................................................................3
I.4.1 Sujet:.......................................................................................................................3
I.4.2 Description:.............................................................................................................3
I.4.3 Phases du projet :...................................................................................................4
I.5 Conclusion:.....................................................................................................................6
Chapitre II . Analyse et Spécification.......................................................................................7
II.1 Introduction:..................................................................................................................7
II.2 Analyse de l'existant:......................................................................................................7
II.2.1 Le principe d’un système biométrique :..............................................................7
II.2.2 La pointeuse SAFESCAN TA-855:........................................................................8
II.2.3 Attendance Management Software....................................................................8
II.3 Cahier des charges:........................................................................................................9
II.3.1 Problématiques :.................................................................................................9
II.3.2 Objectifs :............................................................................................................9
II.3.3 Les utilisateurs du produit :...............................................................................10
II.3.4 Besoins fonctionnels :........................................................................................10
II.3.5 Besoins non fonctionnels :................................................................................11
II.4 Conclusion :..................................................................................................................11
Chapitre III . Analyse et conception....................................................................................12
III.1 Introduction :................................................................................................................12
III.2 Choix d’une méthode :.................................................................................................12
III.2.1 Classification des méthodes de conception :.....................................................12
III.2.2 Choix d’une méthode objet :.............................................................................12
III.2.3 Le langage UML :...............................................................................................13
III.3 Conception et Analyse de notre application :...............................................................15
III.3.1 Diagramme des cas d’utilisation (DCU) :...........................................................15
III.3.2 Diagramme de classes:......................................................................................20
III.3.3 Diagramme de séquences:................................................................................22
III.4 Conception de la base de données :.............................................................................26
III.4.1 Réglage d’un passage d’un diagramme des classes vers BD relationnelle :.......26
III.4.2 La base de données relationnelle :....................................................................26
III.5 Conclusion :..................................................................................................................31
Chapitre IV . La réalisation..................................................................................................32
IV.1 Introduction :...............................................................................................................32
IV.2 Plate-forme matérielle et logicielle utilisée :................................................................32
IV.2.1 Plate-forme matérielle :....................................................................................32
IV.2.2 Plate-forme logicielle utilisée :..........................................................................32
IV.2.3 Langages et outils utilisés :................................................................................33
IV.3 Démarche de réalisation :............................................................................................34
IV.3.1 Splash Screen :...................................................................................................34
IV.3.2 Fenêtre d’authentification:...............................................................................34
IV.3.3 Menu principal :................................................................................................36
IV.3.4 Gestion des employés :.....................................................................................37
IV.3.5 Ajouter/modifier un employé :..........................................................................38
IV.3.6 Gestion des départements:...............................................................................39
IV.3.7 Consultation de pointage:.................................................................................40
IV.3.8 Gestion des vacances:.......................................................................................41
IV.4 Conclusion :..................................................................................................................41
Conclusion Générale et Perspectives.....................................................................................42
Bibliographie...........................................................................................................................43
i
Liste des figures
FIGURE I.1: DIAGRAMME DE GANTT "PHASES DU PROJET"..................................................................................4
FIGURE II.1 : POINTEUSE BIOMÉTRIQUE..........................................................................................................8
FIGURE II.2: LA POINTEUSE SAFESCAN TA-855............................................................................................8
FIGURE III.1 : DIAGRAMME GÉNÉRAL DES CAS D’UTILISATION............................................................................17
FIGURE III.2: DIAGRAMME DES CAS D'UTILISATION DE GESTION DES EMPLOYÉS.....................................................18
FIGURE III.3 : DIAGRAMME DES CAS D'UTILISATION: GESTION DES HORAIRES DE TRAVAIL........................................19
FIGURE III.4 : DIAGRAMME DE CLASSE..........................................................................................................21
FIGURE III.5 : SCÉNARIO « AJOUTER UN NOUVEAU EMPLOYÉ ».........................................................................23
FIGURE III.6 : SCÉNARIO « AFFICHER LE CALENDRIER DE TRAVAIL D'UN EMPLOYÉ »................................................24
FIGURE III.7 : SCÉNARIO « GÉRER LES POINTAGES »........................................................................................25
FIGURE IV.1: SPLASH SCREEN.....................................................................................................................34
FIGURE IV.2: FENÊTRE D’AUTHENTIFICATION..................................................................................................35
FIGURE IV.3: MENU PRINCIPAL DE L'APPLICATION...........................................................................................36
FIGURE IV.4 : MENU DE GESTION DES EMPLOYÉS...........................................................................................37
FIGURE IV.5 : MENU AJOUTER/MODIFIER UN EMPLOYÉ...................................................................................38
FIGURE IV.6: MENU GESTION DES DÉPARTEMENTS.........................................................................................39
FIGURE IV.7: MENU CONSULTATION DE POINTAGE..........................................................................................40
FIGURE IV.8: MENU GESTION DES VACANCES................................................................................................41
ii
Liste des tableaux
TABLEAU 1 : DESCRIPTION DES TÂCHES ET DES RESSOURCES...............................................................................5
TABLEAU 2 :TABLE EMPLOYE.......................................................................................................................26
TABLEAU 3 : TABLE APPAREIL......................................................................................................................27
TABLEAU 4 : TABLE DEPARTEMENT...............................................................................................................28
TABLEAU 5 : TABLE VACANCE......................................................................................................................28
TABLEAU 6 : TABLE POINTAGE....................................................................................................................29
TABLEAU 7 : TABLE EXCEPTION....................................................................................................................29
TABLEAU 8 : TABLE HORAIRETRAVAIL...........................................................................................................30
TABLEAU 9 : TABLE CALENDRIERTRAVAIL.......................................................................................................30
TABLEAU 10 : TABLE RAPPORT...................................................................................................................31
iii
Liste des AcronymesD
DCU : Diagramme des Cas d’Utilisation
I :
IP : Internet Protocol
ISIMA : l’Institut Supérieur d’Informatique Mahdia
M :
MAC : Media Access Control
O:
OMG: Object Management Group
OMT: Object Modeling Technique
OOSE: Object Oriented Software Engineering
S:
SADT: Standard Alphabet of Dhivehi Transliteratio
SGBD : Système de Gestion de Base de Données
SNCPA : La Société Nationale de Cellulose et de Papier Alfa
SQL Server : Structured Query Language
SNTC : Société Nationale Tunisienne de Cellulose
STPA : Société Tunisienne de Papier d’Alfa
U :
UML: Unified Modeling Language
iv
Avant Propos
ans le cadre de notre formation de Licence Appliquée au sein de l’Institut
Supérieur d’Informatique Mahdia (ISIMA), nous sommes menées à
effectuer et à réaliser un projet de fin d’études qui représente
l’accomplissement et le couronnent de notre premier cycle d’études
supérieures dans le cadre de la préparation de notre diplôme de Licence Appliquée en Réseau
Informatique .
DCe projet a été effectué en collaboration entre SNCPA (La Société Nationale de Cellulose et
de Papier Alfa) Kasserine et l’Institut Supérieur d’Informatique Mahdia (ISIMA).
L’objectif de ce projet est la conception et développement d’une application sécurisée de
gestion du temps de travail des employés.
1
Introduction Générale
De nos jours, savoir gérer de plus en plus d’informations, sous contrainte de délai est
un défi important pour chaque entreprise.
Pour relever de tels défis, plusieurs solutions ont été proposées tel que, l’utilisation d’une
pointeuse biométrique, capable de gérer le temps de travail (les présences et les absences de
leurs salariés). Ainsi, la gestion du temps de travail s'automatise pour optimiser les ressources
humaines. Dans ce but, des entreprises s'équipent de logiciels permettant une gestion fine du
temps de travail des salariés.
Mais ces logiciels posent généralement des défaillances. Ils ne peuvent pas s'interfacer avec
les machines de pointage afin de faire la gestion globale des accès des employés à l’entreprise
et assurer le calcul de présence et de paie : Ils ne sont pas généralement open source, ils sont
installés et utilisés telle qu'ils sont. Par conséquent ils ne peuvent pas être configurés pour
qu'ils soient utilisés ou intégrés au système de l'entreprise. Aussi, généralement ils
fonctionnent seulement avec le SGBD Access.
Dans ce cadre SNCPA (Société Nationale de Cellulose et de Papier Alfa) cherche à
concevoir un logiciel puissant qui permet de gérer la pointeuse biométrique. Dans ce contexte,
se situe ce projet de fin d’études qui consiste à concevoir et à réaliser une application de
gestion de temps de travail des employés dans SNCPA.
Cet ouvrage se divisera en quatre chapitres à savoir « Etude préliminaire » qui
présentera le contexte général du projet, sa description et ses phases ainsi qu'une
représentation fine de l’entreprise d’accueil.
Dans le second chapitre, intitulé « Analyse et spécification »on aborde l'analyse de l'existant
et une présentation générale des systèmes biométriques ainsi que le cahier des charges.
Ensuite, Dans le troisième chapitre, nous allons faire l’étude conceptuelle permettant de
préciser les critères des choix technologiques garantissant le succès de la réalisation de notre
solution à l'aide d’UML. Enfin, dans le dernier chapitre, on exposera l’environnement de
développement des outils logiciels et matériels à utiliser ainsi que quelques captures d’écrans
de notre application. Et finalement, nous couronnons ce rapport par une conclusion et
proposons quelques perspectives pour des améliorations éventuelles.
2
Chapitre I . Etude préliminaire
I.1 Introduction:
Ce chapitre a pour objectif de situer notre projet dans son contexte général à savoir
l'organisme d'accueil et le sujet à traiter. Dans la première section nous donnons une brève
présentation de l’entreprise SNCPA. Dans la deuxième section, nous décrivons le sujet à
traiter et les objectifs à atteindre.
I.2 Contexte général:
Ce travail se situe dans le cadre de notre Projet de Fin d’Etudes afin d’obtenir le
Diplôme License Appliquée en Réseau de l’Institut Supérieur d'Informatique Mahdia. Le but
de ce projet est de découvrir le monde de l’entreprise et l’application des connaissances
acquises lors de notre formation. Le projet s’est déroulé du 17 Février au 10 Mai 2014. Nous
avons opté par la SNCPA qui est une société relativement importante et qui nous a permis
d’effectuer des missions aussi variées qu’intéressantes.
I.3 Présentation de la société d’accueil:
I.3.1 Historique de la compagnie SNCPA:
La Société Nationale de Cellulose et de Papier Alfa (SNCPA) est une entreprise
publique qui a été créée en 1980 par la fusion des deux sociétés qui constituaient le complexe
industriel de Kasserine, à savoir, la Société Nationale Tunisienne de Cellulose ( SNTC), créée
en 1956 pour la fabrication de la cellulose à partir de la plante d'alfa qui couvre de grandes
superficies du gouvernorat de Kasserine et des gouvernorats limitrophes, et la Société
Tunisienne de Papier Alfa (STPA), créée en 1968 pour la fabrication du papier d'impression
et d'écriture.
La SNCPA est considérée comme le plus important pôle industriel du Centre-Ouest de
la Tunisie. Son capital est de 21,1 Million de Dinars Tunisiens.
Elle emploie actuellement 897 agents permanents et fait vivre environ 6 000 familles dans
les gouvernorats de Kasserine, Gafsa, Sidi Bouzid et Kairouan et ce par l'organisation de
compagne de collecte de la plante d'alfa.
3
Le chiffre d'affaires annuel de la SNCPA est de 60 Millions de Dinars Tunisiens.
I.3.2 Composition:
La SNCPA comprend :
SNTC : (Société Nationale Tunisienne de Cellulose) crée en 1956, entrée en
production en 1963 permettant la production de la pâte d’Alfa.
STPA : (Société Tunisienne de Papier d’Alfa) Crée en 1970 couvrant le marché
du papier d’impression et d’écriture.
Electrolyse : Production des produits chimiques.
ATELIERS Annexe : Traitement des eaux-Causatifs et Four à chaux-
Chaudières.
I.4 Présentation général du projet:
I.4.1 Sujet:
Conception et développement d’une application sécurisée de gestion du temps de travail des
employés.
I.4.2 Description:
Le but du projet de fin d'études est de développer une application agissant avec une
pointeuse biométrique pour la gestion de la présence du personnel. Cette application doit se
connecter à une ou plusieurs pointeuses pour en récupérer les informations de pointages
permettant le calcul des heures de travail, la détection des absences et l'établissement des
rapports des employés. L'application doit aussi permettre d'envoyer et de recevoir des données
diverses de la pointeuse, comme les données caractérisant la machine (numéro, adresse IP,
adresse MAC, nombre des employés enregistrés, etc.), les informations des employés (nom,
adresse, département, etc.). En outre le logiciel doit assurer la gestion des vacances, des
départements, et des calendriers de travail des employés ainsi que la gestion des exceptions de
travail comme la maladie, l'oubli de pointage et les heures supplémentaires. On plus
l'application doit fonctionner avec plusieurs SGBD que ce soit Oracle, Access ou SQL Server
vu qu'elle sera utilisée par plusieurs entreprises qui n'utilisent pas forcement le même serveur
de base de données.
4
I.4.3 Phases du projet :
Pour modéliser la planification de tâches nécessaires à la réalisation de notre projet nous
avons utilisé le diagramme de Gantt qui est représenté par la figure suivante :
Figure I.1: Diagramme de Gantt "phases du projet"
5
Le tableau suivant résume tous les tâches, leurs durées et leurs ressources.
Tableau 1 : Description des tâches et des ressources
Non de la tâche Date de
début
Date de fin Ressources
Choix du projet03/02/2014 07/02/2014
Gharrsalli
Med Hichem
(Ressource
humaine)
Lancement du projet
07/02/2014 18/02/2014
Gharrsalli
Med Hichem
(Ressource
humaine)
Documentation Organisation
du projet
Planning
des
tâches
Etude générale et étude détaillée
18/02/2014 08/03/2014
Gharrsalli
Med Hichem
(Ressource
humaine)Spécification des
Objectifs
Cahier des charges
Recherche et détermination des solutions05/03/2014 20/04/2014
Gharrsalli
Med Hichem
(Ressource
humaine)
Réalisation
20/03/2014 22/04/2014
Gharrsalli
Med Hichem
(Ressource
humaine)
Programmation Test
Test
unitaires
et
intégration
Test de
performance
Rédaction du rapport 20/02/2014 15/05/2014 Gharrsalli
Med Hichem
6
(Ressource
humaine)
I.5 Conclusion:
Ce chapitre a été le point de départ pour la présentation de mon projet, dans la mesure
où il décrit son contexte général en présentant l’organisme d’accueil SNCPA, le cadre du
projet et les étapes de sa mise en œuvre. On va détailler ces étapes dans les prochains
chapitres après qu'on fait l'étude de l'existant et l'élaboration du cahier des charges dans le
chapitre suivant.
7
Chapitre II . Analyse et Spécification
II.1 Introduction:
Ce chapitre décrit la phase de spécification et d’analyse du projet. on analyse, dans un
premier temps, l'application existante en mettant l'accent sur ses limites. Puis dans un
deuxième temps on identifie les besoins fonctionnels auxquels mon système doit répondre en
présentant les solutions proposées.
II.2 Analyse de l'existant:
II.2.1 Le principe d’un système biométrique :
Un système biométrique est un système automatique de mesure basé sur la
reconnaissance de caractéristiques propres à l'individu. Les techniques d’identification
biométriques jusqu’à récemment l’apanage des militaires ou des policiers, se retrouvent
désormais dans de nombreuses applications commerciales ou bancaires. En effet, ces
techniques fournissent des moyens d’identification et de fichage s’appuyant sur des propriétés
biologiques ou anthropométriques. Un système biométrique peut fonctionner en mode de
vérification ou mode d'identification.
Les mesures biométriques sont prises ou enregistrées par la pointeuse biométrique ou
chaque pointeuse est dotée d'un système d'exploitation et d'une base de données locale pour le
stockage des informations des employés (empreints, nom, etc.) et d'autres, permet d'identifier
l'employé et d'enregistrer le temps d'identification, ainsi lorsque celui-ci pointe à chaque
entrée et sortie de travail, ses heures de travail et son assiduité seront contrôlés et connus par
le chef. Cette identification pourra se faire de trois manières la plus utilisée est l'empreinte
digitale.
8
Figure II.2 : Pointeuse biométrique
II.2.2 La pointeuse SAFESCAN TA-855:
Le système d’enregistrement de temps SAFESCAN TA-855 est utilisé dans SNCPA.
Il offre un confort sans précédent au niveau de l’utilisation et répond aux standards les plus
stricts au niveau de qualité. La pointeuse SAFESCAN TA-855 intègre à la fois un lecteur
d’empreintes digitales ainsi qu’un lecteur de cartes de proximité.
Figure II.3: La pointeuse SAFESCAN TA-855
La technologie biométrique permet aux employés de s’identifier grâce à leurs empreintes
digitales, d'où :
L'élimination des fraudes relatives au pointage : un salarié agissant pour le compte d'un autre,
L'élimination des problèmes liés à l'utilisation d'un badge comme l'oubli, la perte (un doigt, ça
ne se perd pas ou ça ne s’oublie pas à la maison),
Empreinte digitale permet l’enregistrement des empreintes de quatre doigts par employé, ce
qui lui permet de pointer même si un de ces doigts est inutilisable pour une raison ou une
autre.
9
L'utilisation des cartes de proximité permet une identification rapide de l’employé et
augmente la durée de vie de la pointeuse, vu qu'il n'y a pas de contact direct entre cette
dernière et la carte.
II.2.3 Attendance Management Software
Attendance Management Software est une application de gestion de temps, développée
par le constructeur ZK Software, et livrée avec la pointeuse lors de sa livraison. Malgré cela
cette application pose beaucoup de problèmes.
Attendance Management Software n'est pas open source, elle est installée et utilisée telle qu'elle
est. Par conséquent elle ne peut pas être configurée pour qu'elle soit utilisée ou intégrée au
système de l'entreprise.
-Elle fonctionne seulement avec le SGBD Access.
-L'interface de l'application et trop complexe et difficile à gérer et surtout pour la version
française.
Toutes ces limites et ces contraintes rendent les systèmes biométriques très vulnérables et ont
besoin des améliorations. Dans ce contexte on va réaliser d’une application sécurisée de
gestion du temps de travail et du processus de formation des employés.
II.3 Cahier des charges:
II.3.1 Problématiques :
L'application Attendance Management Software arrive avec ses fonctionnalités à gérer
le temps de travail et à générer le rapport de présence permettant d'évaluer l'assiduité de
l'employé et par la suite de déterminer son salaire et de traiter ses demandes de formation.
Mais cette application a plusieurs limites :
Attendance Management Software n'est pas open source, elle est installée et utilisée
telle qu'elle est. Par conséquent elle ne peut pas être configurée pour qu'elle soit
utilisée ou intégrée au système de l'entreprise.
Elle fonctionne seulement avec le SGBD Access.
L'interface de l'application et trop complexe et difficile à gérer et surtout pour la
version française.
10
II.3.2 Objectifs :
Dans le cadre de l’amélioration que SNCPA (Société Nationale de Cellulose et de
Papier Alfa) veut apporter à son système d’information, nous allons concevoir et développer
une application sécurisée permettant une gestion fine du temps de travail des salariés (le
calcul des heures de travail, la détection des absences, mise à jour des données diverses de la
pointeuse, la gestion des vacances, des départements, et des calendriers de travail des
employés, la gestion des exceptions de travail comme la maladie, l'oubli de pointage et les
heures supplémentaires) en se basant sur les informations récupérées de la pointeuse
biométriques.
II.3.3 Les utilisateurs du produit :
Notre produit consiste à une application de gestion et de surveillance fine du temps de
travail des salariés ce qui montre bien que l’utilisateur principale est l’administrateur. Lui est
le seul utilisateur de l’application pour assurer la sécurité et la bonne gestion des ressources en
prenant les bonnes décisions et les traitements convenables.
Solutions proposées :
Vu les limites et les problèmes que posait l'Attendance Management Software, le
développement d'une application de gestion de temps devient une nécessité. La nouvelle
application devra conserver les fonctionnalités de l'application actuelle mais de plus elle doit
remédier à ses problèmes et fournir une fonctionnalité qui est l’informatisation du processus
de formation des employés.
L'application de gestion doit donc:
Fonctionner avec plusieurs SGBD (Access, Sql Server et Oracle).
Faciliter l’échange des informations entre l’administrateur et la pointeuse (ajouter,
modifier ou supprimer les employés ou les départements localement et au niveau de la
pointeuse).
Prendre en considération les vacances et les exceptions de travail comme la maladie,
l'oubli de pointage, les heures supplémentaires ou autres.
11
II.3.4 Besoins fonctionnels :
La gestion du temps de travail des employés est assurée par une pointeuse biométrique
qui se base soit sur les empreintes digitales soit sur le lecteur de cartes de proximité. Cette
pointeuse va faire des enregistrements permanents des données des employés.
L’administrateur doit toujours se connecter à la pointeuse pour recevoir également pour
envoyer des données. En se basant sur ces données il peut traiter des rapports, des demandes
de formation, les salaires…. L’application permet à l’administrateur de gérer tous ce qui est
lié au temps de travail.
II.3.5 Besoins non fonctionnels :
Les besoins non fonctionnels comportent les besoins d’utilisation, les besoins de
gestion ou bien les besoins administratifs, les besoins de performances, les besoins matériels,
les besoins de sécurité,...
Dans le cadre de ce travail, l'application devra être extensible, c'est-à-dire qu’il pourra
y avoir une possibilité d'ajouter ou de modifier de nouvelles fonctionnalités.
IL faudra aussi noter que l'application devra être hautement sécurisée car les
informations ne devront pas être accessibles à tout le monde.
L’application offre une interface conviviale facile à utiliser.
La disponibilité : l’application doit être disponible à tout instant pour être utiliser par
n’importe quel utilisateur.
La sécurité de l’accès aux informations critiques : le système devra gérer
l’authentification et les droits d’accès des différentes entités.
La fiabilité : les données fournies par l’application doivent être fiables.
Une solution ouverte et évoluée : l’application peut être améliorée par l’ajout d’autres
modules pour garantir la souplesse et l’évolutivité et l’ouverture de la solution.
La rapidité de traitement : le système doit assurer un temps de réponse aux requêtes
introduites par les internautes ainsi d’exécution de telle sorte que la qualité de service
reste assurée lors de la monté en charges.
La confidentialité : la confidentialité des données des employés : restreindre l’accès à
ces informations à l’administrateur.
12
II.4 Conclusion :
Pour atteindre l’objectif de notre projet, on doit faire une bonne étude de l'existant en
mettant l'accent sur les limites aussi bien il faut essayer d'élaborer un cahier des charges précis
qui traite bien les problématiques et présente les solutions proposées pour la réalisation d’un
système d’information efficace, qui seront détaillées dans le chapitre suivant.
Chapitre III .Analyse et conception
III.1 Introduction :
Dans tout projet informatique, la conception du système d’information forme une
étape primordiale et nécessaire. La conception doit prendre en considération les spécificités
du système à développer d’une part, et doit être basée sur une méthode appropriée à ces
spécificités d’autre part. Dans ce chapitre, nous allons présenter la méthode choisie pour la
conception de l’application ainsi que les étapes que nous avons suivies tout au long de cette
étape.
III.2 Choix d’une méthode :
III.2.1 Classification des méthodes de conception :
Compte tenu de la diversité des méthodes de conception, on est confronté, lors du
processus de conception d’un projet informatique, à choisir celle qui est la plus adaptée au
contexte de ce projet. Il existe trois types de méthodes de conception : les méthodes
analytiques ou cartésiennes (telles que la méthode Jackson ou SADT), les méthodes
systémiques (telles que la méthode merise ou encore la méthode axiale) et les méthodes
orientées-Objet (telles que la méthode BOOCH ou OMT) qui se basent sur l’approche objet.
13
III.2.2 Choix d’une méthode objet :
Nous avons choisi une méthode orientée-objet pour la conception de notre application.
En effet, nous allons implémenter le système en utilisant le langage JAVA qui est un langage
objet. Notre choix est également dû aux avantages que la méthode objet présente par rapport
aux autres méthodes, surtout que notre application ne dispose pas d’un système existant qui
pourrait contrarier le choix de la méthode.
III.2.3 Le langage UML :
Né de la fusion des méthodes objets dominantes (OMT, BOOCH et OOSE), puis
normalisé par l'OMG en 1997, UML est rapidement devenu un standard incontournable. UML
n'est pas à l'origine des concepts objets, mais il en donne une définition plus formelle et
apporte la dimension méthodologique qui faisait défaut à l'approche objet.
UML est un langage pseudo formel qui est fondé sur un méta modèle qui définit : les
éléments de modélisation (les concepts manipulés par le langage), et la sémantique de ces
éléments (leur définition et le sens de leur utilisation). Le méta modèle d'UML permet de
classer les concepts du langage (selon leur niveau d'abstraction ou domaine d'application) et
expose sa structure. UML propose aussi une notation, qui permet de représenter
graphiquement les éléments de modélisation du méta modèle.
III.2.3.1 Les diagrammes d’UML :
UML permet de définir et de visualiser un modèle, à l'aide de diagrammes. Un
diagramme est une représentation graphique, qui s'intéresse à un aspect précis du modèle et
chaque type de diagramme possède une structure (les types des éléments de modélisation qui
le composent sont prédéfinis). La structure des diagrammes UML et la notation graphique des
éléments de modélisation est normalisée. Chaque type de diagramme véhicule une sémantique
précise. Combinés, les différents types de diagrammes UML offrent une vue complète des
aspects statiques et dynamiques d'un système. Les différents diagrammes d’UML sont
présentés selon deux types de vues, les vues statiques et les vues dynamiques du système.
III.2.3.1.a Les vues statiques :
Le diagramme des cas d’utilisation :
14
Ce diagramme représente l’interaction des acteurs avec le système. Il permet de
structurer les besoins des utilisateurs et les objectifs correspondants d'un système. Il se limite
aux préoccupations "réelles" des utilisateurs et ne présente pas de solutions d'implémentation.
Le diagramme d’objets :
Il représente un ensemble d’objets en liaison les uns les autres. Il sert à identifier les objets.
Le diagramme de classes :
Il représente les différentes classes du système et les liens entre ces dernières. C’est
une collection d'éléments de modélisation statiques qui montre la structure d'un modèle. Il fait
abstraction des aspects dynamiques et temporels.
Le diagramme de composants :
Le diagramme de composant permet de décrire l'architecture physique et statique d'une
application en termes de modules : fichiers sources, librairies, exécutables, etc. Il montre la
mise en œuvre physique des modèles de la vue logique du système avec l'environnement de
développement.
Le diagramme de déploiement:
Le diagramme de déploiement montre la disposition physique des matériels qui composent le
système et la répartition des composants sur ces matériels.
III.2.3.1.b Les vues dynamique :
Le diagramme de collaboration :
Le diagramme de collaboration montre les interactions entre les objets et permet de
représenter le contexte d'une interaction, car on peut y préciser les états des objets qui
interagissent.
Le diagramme de séquence :
Le diagramme de séquence permet de représenter des collaborations entre objets selon
un point de vue temporel, on y met l'accent sur la chronologie des envois de messages. Dans
un diagramme de séquence, on se concentre surtout sur l’expression des interactions entre les
objets au dépit de leur état. Ces diagrammes sont souvent utilisés pour décrire un cas
d’utilisation.
Le diagramme d’états-transition :
Le diagramme d'états-transitions permet de décrire les changements d'états d'un objet
ou d'un composant, en réponse aux interactions avec d'autres objets/composants ou avec des
acteurs. Un état se caractérise par sa durée et sa stabilité, il représente une conjonction
15
instantanée des valeurs des attributs d'un objet. Une transition représente le passage instantané
d'un état vers un autre et est déclenchée par un événement.
Le diagramme d’activités :
C’est la représentation graphique du comportement d’une méthode ou du déroulement
d’un cas d’utilisation. Une activité représente un déroulement d’étapes séquentielles, et le
passage d’une activité vers une autre s’appelle transition. Notons toutefois que pour modéliser
un système informatique, il n’est pas obligatoire de passer par tous les diagrammes. En effet,
c’est selon le type du système qu’on choisit d’utiliser tel ou tel diagramme. Dans notre cas, on
a utilisé trois diagrammes : le diagramme des cas d’utilisation, le diagramme de séquence et le
diagramme de classes.
III.3 Conception et Analyse de notre application :
III.3.1 Diagramme des cas d’utilisation (DCU) :
III.3.1.1 Identification et présentation des cas d’utilisation :
III.3.1.1.aLes acteurs :
Le système interagit avec un seul acteur qui est l'administrateur ou le gestionnaire,
celui-ci s'occupera de tous les modules de l'application. Le rôle des employés de l'entreprise
est de pointer régulièrement dans la pointeuse. Ils n'agissent pas sur l'application.
Administrateur : c’est l’administrateur du réseau, celui qui gère l’application.
III.3.1.1.bLes cas d’utilisation :
Nous procéderons dans une première partie à spécifier chaque cas d’utilisation à part, ensuite nous
fournirons un diagramme global réunissant les cas d’utilisation de notre application.
Authentification : pour se connecter l’administrateur doit s’authentifier.
Gestion des employés: Consiste à ajouter, afficher, modifier, supprimer et chercher un
employé, envoyer les informations des employés à la pointeuse et afficher le calendrier de
travail.
Génération du rapport: Consiste à générer le rapport de chaque employé pour une période
donnée. Ce rapport présente les horaires officiels d'entrée et de sortie, les horaires réels
d'entrée et de sortie, les retards, les vacances et les exceptions et finalement le nombre des
heures travaillées.
16
Gestion des calendriers de travail: Le calendrier de travail représente l'emploi de temps de
travail (c'est-à-dire les horaires d'entrée et de sortie) pour une durée déterminée. La gestion
des calendriers regroupe la création d'un nouveau calendrier, la modification ou la
suppression d'un calendrier existant, ainsi que l'affectation des calendriers aux employés.
Gestion des horaires de travai l : Consiste à ajouter, afficher, modifier et supprimer un
horaire de travail. A noter que ces horaires seront utilisés pour préparer le calendrier de
travail. L'horaire continu (8h à 16h) est un exemple d'horaire, et dans ce cas un calendrier de
travail d'une semaine sera à titre d'illustration d'entrer pour tous les jours de travail à 8h et de
sortir à 16h.
Gestion des départements: Ce cas regroupe les scénarios: ajouter département, afficher les
départements, afficher les employés des départements, modifier et supprimer département.
Gestion des pointeuses: L'application doit pouvoir communiquer avec la pointeuse, d’où la
nécessité de pouvoir afficher les informations de cette pointeuse, les modifier, les supprimer
ou ajouter une nouvelle. La gestion de pointeuse qui comporte la recherche la consultation des
pointeuses pour pouvoir manipuler les données.
Gestion des vacances : Ce cas contient les scénarios suivant: ajouter vacance, afficher les
vacances, déterminer les employés concernés, modifier et supprimer une vacance.
Gestion des exceptions de travail: Le but de ce cas est de pouvoir déclarer une exception de
travail comme la maladie, l'oubli de pointage ou les heures supplémentaires, pour les prendre
en considération lors de la génération du rapport. La gestion consiste à afficher, ajouter,
modifier et supprimer une exception et l'affecter aux employés concernés.
17
III.3.1.2 Diagramme général des cas d'utilisation:
La figure 3.1 représente le diagramme général des cas d’utilisation :
18
Figure III.4 : Diagramme général des cas d’utilisation
On va détailler quelques cas d’utilisation:
19
III.3.1.2.aDiagramme des cas d'utilisation de gestion des employés
On peut simplifier la gestion des employés comme suit:
Figure III.5: Diagramme des cas d'utilisation de gestion des employés
Dans le diagramme des cas d'utilisation de gestion des employés, le cas " Gérer les données des
employés semble la plus intéressante. Il est général: on peut la spécifier en quatre cas
d'utilisation:
Ajouter un employé: l'administrateur peut ajouter un employé dans sa base de données local à
partir d'un formulaire qui contient tous les informations nécessaires.
Modifier les attributs d'un employé: l'administrateur peut modifier les attributs d'un employé
(par exemple l'adresse, la poste occupée, numéro de téléphone)
Supprimer un employé: l'administrateur peut supprimer un employé par exemple en cas de
retraite d'un employé.
Le cas d'utilisation "Afficher le calendrier du travail" a pour but de mettre en évidence l'horaire
de travail, les jours fériés et les vacances dont profitera l'employé.
Le cas d'utilisation " Envoyer des informations à la pointeuse": En cas d'ajout d'un nouvel
employé ou bien de modifier les attributs d'un employé déjà existe dans la base, l'administrateur
doit envoyer les nouvelles informations ou bien la mise à jour à la pointeuse.
Chercher un employé: l'administrateur peut faire une recherche d'un employé. Il entre son
numéro et la recherche dans la base lui affiche tous les données de l'employé recherché.
20
III.3.1.2.bDiagramme des cas d'utilisation: gestion des horaires de travail
On peut encore modéliser le cas d’utilisation « gestion des horaires de travail ». Dans ce
cas l’administrateur peut ajouter, afficher, modifier et supprimer un horaire de travail pour un
employé bien défini et ceci permet de préparer le calendrier du travail.
La figure suivante correspond au diagramme de cas d’utilisation de la gestion des
horaires de travail.
Figure III.6 : Diagramme des cas d'utilisation: gestion des horaires de travail
III.3.2 Diagramme de classes:
Le diagramme des classes est établi en identifiant les principales classes, leurs associations,
leurs attributs et leurs méthodes.
Nous identifions les principales classes de l’application.
21
Employé : Représente l'ensemble des employés de l'entreprise qui doivent marquer leurs
heures d'entrées et de sorties en pointant dans la pointeuse biométrique.
Appareil : Représente l'ensemble des appareils pointeuses. Elle regroupe les différentes
caractéristiques qui caractérisent une pointeuse comme le numéro, le nom, l'adresse IP et
MAC, le type de communication,
Département : Représente les différents départements de l'entreprise.
Vacance : Représente l'ensemble des vacances et des jours fériés dont bénéficieront les
employés.
Pointage : Représente les pointages des employés. Chaque pointage est caractérisé par le
numéro de l'employé concerné, la date et l'heure de pointage ainsi que le type de pointage
(empreinte digital, mot de passe ou carte magnétique).
Note: le pointage signifie l'identification
Exception : Représente les différentes exceptions de travail que peut rencontrer l'employé
comme la maladie, l'oubli de pointage, les heures supplémentaires,...
HoraireTravail : Représente l'ensemble des horaires de travail des employés durant les
différentes périodes de l'année. Un horaire de travail est caractérisé par un identifiant unique,
un nom, nombre de tranche qui peut être 1 ou 2 et les heures d'entrées/sorties de travail. Par
exemple l'horaire continu se caractérise d'une seule tranche qui commence à 8h de matin et se
termine à 16h
CalendrierTravail : Représente les différents calendriers de travail des employés durant les
différentes périodes de l'année. L'unité d'un calendrier est la semaine.
Pour créer un calendrier il faut tout d'abord déterminer l'horaire de travail de la semaine, puis
le nombre de fois qu'il faut le répéter.
Par exemple si l'horaire de travail ne va pas changer pour un mois, alors dans ce cas le
calendrier de ce mois sera fait comme suit:
1- Déterminer l'horaire d'une semaine
2- Répéter ces horaires cinq fois pour couvrir tout le mois.
Rapport : Cette classe est dédiée surtout au calcule. Elle présente des méthodes permettant de
récupérer les informations nécessaires, pour l'élaboration du rapport d'un employé donné,
pour une période bien précise.
La figure suivante représente le diagramme de classes relatif à notre l’application :
22
Employe
+num-emp: Integer+name-emp: String+date-naissance: Date+adresse: String+ville: String+code-poste: Integer+tel: String+email: String+date-recrutement: String+poste-occupe: String+password: String+numero-carte: Integer+status: String+idemp: Integer
Departement
+id+nom: String+description: String
1
1..*CalendrierTravail
+id: Integer+nom: String+jourd: Integer+moisd: Integer+anneed: Integer+occurance: Integer
Exception
+id: Integer+nom: String+jour: Integer+mois: Integer+annee: Integer+duree: Integer+detail: String
HoraireTravail
+id: Integer+nom: String+type: Integer+h-entrée1: Integer+m-entrée1: Integer+h-sortie1: Integer+m-sortie1: Integer+h-entrée2: Integer+m-entrée2: Integer+h-sortie2: Integer+m-sortie2: Integer
Rapport
+datedebut: Date+datefin: Date+etat: String+somme: Integer+retard: Integer+sortietot: Integer+h_travaile_par_jour: Integer
Pointage
+id: Integer+mode_verification: Integer+annee: Integer+mois: Integer+jour: Integer+heure: Integer+minute: Integer
Appareil
+num: Integer+nom: String+port: Integer+B_R: Integer+com: String+add_ip: String+nbr_user: Integer+nbr_admin: Integer+user_cap: Integer+Mac: String+pw: Integer
Vacances
+id: Integer+Nom: String+jour_debut: Integer+mois_debut: Integer+année: Integer+durée: Integer
1..*1
1..*
1..*
1
*
1
0..*
1..*
0..*
1..*
1..*
0..* 0..*
1
1..*
0..*
0..*
0..*0..*
0..*
0..*
0..*0..*
0..*0..*
1..*
0..*
1
1..*
Figure III.7 : Diagramme de classe
III.3.3 Diagramme de séquences:
Les diagrammes de séquences permettent de représenter les interactions entre les acteurs et le
système selon un ordre chronologique. La modélisation de ces interactions consiste à
l’identification des scénarios possibles des différents cas d’utilisation.
23
On prend comme exemples les cas d’utilisation suivants:
Ajouter un nouvel employé
Afficher le calendrier d'un employé
Gérer le pointage
III.3.3.1 Diagramme de séquence du scénario « Ajouter un nouveau employé »:
Pour ajouter un nouvel employé, l'administrateur de l'application passe par les étapes
suivantes:
Tout d'abord l'administrateur doit s'authentifier
Le système vérifie les données d'authentification saisies par l'administrateur, en cas de succès
il accepte l'accès.
L’administrateur accède à l'application et saisie les informations nécessaires dans le
formulaire "ajouter un employé" et valide l'ajout
Le système récupère les informations saisies. Il fait une vérification : si l’employé déjà existe
ou l’un des champs est erroné, il affiche un message d’erreur. En cas contraire, il fait appel
aux deux méthodes "ajouter_ emp" pour ajouter l'employé dans la base de données locale et
"ajoute_ emp_appareil" pour l'ajouter dans la base de la pointeuse. Enfin une boite de
dialogue s'affiche indiquant que l'opération s'est terminée avec succès.
La figure suivante montre le diagramme de séquence du scénario « Ajouter un nouveau
employé».
24
Figure III.8 : Scénario « Ajouter un nouveau employé »
III.3.3.2 Diagramme de séquence du scénario « Afficher le calendrier de travail d'un employé » :
Chaque employé a un calendrier de travail présentant ses heures d'entrées/sorties de travail
ainsi que les vacances programmées. Le scénario "Afficher le calendrier de travail d'un
employé" se déroule comme suit:
A partir du menu principal de l'application, l'administrateur choisie la gestion des employés
après l'authentification auprès le système.
25
Dans le formulaire d'affichage du calendrier, le gestionnaire précise les dates délimitant la période
qu'il l'intéresse puis confirme son choix.
Le système fait appel à la méthode "RemplirCal" de la classe "AgendaEmp" qui affiche à
l'administrateur un calendrier de travail. Ce dernier contient les journées de travail précisées
par une heure d'entré et une heure de sortie et les jours fériés.
La figure ci-dessous illustre le diagramme de séquence pour ce scénario:
Figure III.9 : scénario « Afficher le calendrier de travail d'un employé »
26
III.3.3.3 Diagramme de séquence du scénario « Gérer les pointages » :
Pour afficher des détails sur les pointages des employés, l'administrateur de l'application passe
par les étapes suivantes:
L’accès à l'application après l'authentification auprès le système.
L’administrateur choisie un employé pour lui afficher les détails de pointage.
Le système récupère les informations nécessaires de la pointeuse et les affiche à
l'administrateur.
La figure ci-dessous illustre le diagramme de séquence pour ce scénario:
Figure III.10 : scénario « Gérer les pointages »
27
III.4 Conception de la base de données :
Nous allons implémenter la base de données en utilisant un SGBDR : MySQL. Etant
donné que la modélisation a été faite avec UML, et que le code va être réalisé en utilisant
JAVA qui implémente la notion d’objet, nous allons concevoir les classes comme étant des
tables d’une base de données relationnelle. Pour ce fait nous allons énoncer les règles de
passage d’un diagramme de classes vers une base de données relationnelle.
III.4.1 Réglage d’un passage d’un diagramme des classes vers BD relationnelle :
Une classe est représentée par une table.
Une association « un à plusieurs » implique l’intégration de la clé de la table relative à
la classe portant la cardinalité « un » dans la table relative à la classe portant la
cardinalité « plusieurs ».
Une association « plusieurs à plusieurs » implique la création d’une nouvelle table
ayant comme clé la concaténation des clés des deux tables relatives aux classes
associés.
III.4.2 La base de données relationnelle :
Le tableau suivant représente la table « employe » :
Tableau 2 :Table Employe
Table Employe
Liste des attributs
Code Libellé Type
id_emp L'identificateur de l'employé Entier
Name_emp Le nom de l'employé Alphabétique
Date_naissance La date de naissance Date
adresse L'adresse de l'employéAlpha
numérique
ville La ville de l'employéAlpha
numériqueCode_poste Le code postal Entier
tel Le numéro du téléphone Entier
email L'adresse électroniqueAlpha
numériqueDate- La date de recrutement Date
28
recruttement
Poste_occupe La poste de l'employéAlpha
numérique
password Le mot de passe de l'employéAlpha
numérique
Num_carteLe numéro de la carte de
l'employéEntier
status Etat décrivant l’état de l'employéAlpha
numérique#num_ap Le numéro de la pointeuse Entier
#id_dep L'identificateur de département Entier
Le tableau suivant illustre la table « Appareil»
Tableau 3 : table Appareil
Table Appareil
Liste des attributs
Code Libellé Type
num_ApL'identificateur de la
pointeuseEntier
nom Le nom de la pointeuse Alpha numérique
portLe port au quel est
connectée la pointeuseAlpha numérique
add_IPL'adresse IP de la
pointeuseAlpha numérique
nbr_user
Le nombre des employés
enregistrés dans la
pointeuse
Entier
user_cap Administrateure generale Alpha numérique
MacL'adresse Mac de la
pointeuseAlpha numérique
pw Mot de passe d’appareil Alpha numérique
29
Le tableau suivant est la table « departement»:
Tableau 4 : Table departement
Table Departement
Liste des attributes
Code Libellé Type
IdL'identificateur de la
departmentEntier
nom Le nom de department Alpha numérique
descriptionUne petite description du
départementAlpha numérique
Le tableau suivant représente la table « vacance » :
Tableau 5 : Table vacance
Table Vacance
Liste des attributs
Code Libellé Type
id_vac L'identificateur de la vacance Entier
nom Le nom de la vacance Alpha numérique
Jour_debut Le jour de début de la vacance Entier
Mois_debut Le mois de début de la vacance Alpha numérique
annee L'année de la vacance Entier
durée La durée de la vacance Alpha numérique
30
Le tableau suivant illustre la table « pointage »
Tableau 6 : Table pointage
Table Pointage
Liste des attributs
Code Libellé Type
id_pointage L'identificateur du pointage EntierMode_verificati
onMode de vérification (empreintes
digitales ou lecteur de cartes de proximité)Alphabétique
annee Anneé de pointage Entier
mois Mois de pointage Entier
jour Jour de pointage Entier
heure Heure de pointage Entier
minute Minute de pointage Entier
#num_emp L'identificateur de l'employé Entier
#num_Ap L'identificateur de la pointeuse Entier
Le tableau suivant est la table « Exception » :
Tableau 7 : Table exception
Table Exception
Liste des attributs
Code Libellé Type
id_ Exception L'identificateur d’Exception Entier
Nom_ Exception Nom d’Exception Alphabétique
Date date d’Exception date
duree Durée d’exception Entier
detail détail d’exception Alphabétique
31
Le tableau suivant représente la table « HoraireTravail »
Tableau 8 : Table HoraireTravail
Table HoraireTravail
Liste des attributs
Code Libellé Type
id_horaire L'identificateur d' Horaire de Travail Entier
Nom_ horaire Le nom de l’horaire Alphabétique
Type_ horaire Le type d’hraire Alpha numérique
h-entrée1L’heure d’entré de la première
séanceEntier
m-entrée1La minute d’entré de la première
séanceEntier
h-sortie1L’heure de sortie de la première
séanceEntier
m-sortie1La minute de sortie de la première
séanceEntier
h-entrée2L’heure d’entré de la deuxième
séanceEntier
m-entrée2La minute d’entré de la deuxième
séanceEntier
h-sortie2L’heure de sortie de la deuxième
séanceEntier
m-sortie2La minute de sortie de la deuxième
séanceEntier
Le tableau suivant illustre table « CalendrierTravail »
Tableau 9 : Table CalendrierTravail
Table CalendrierTravail
Liste des attributs
Code Libellé Type
id_ calendrier L’identificateur de calendrier de Travail
Entier
32
Nom_ calendrier
Nom du calendrier Alphanumérique
Date _ debut date de debut de calendrier de Travail
date
occurance Occurance de calendrier de Travail Entier
Le tableau suivant illustre la dernière table de la base de données « Rapport »
Tableau 10 : Table rapport
Table Rapport
Liste des attributs
Code Libellé Type
Date_debut Date debut de travail Date
Date_fin Date fin de travail Date
Etat Etat de presence Alphabétique
Somme Somme d’heure de travail Entier
Retard Retard d’heure de travail Entier
Sortie_tot Sortie totale Entier
h_travaile_par_jour
Nombre d’heure de travail par jour Entier
#num_emp L'identificateur de l'employé entier
III.5 Conclusion :
Dans ce chapitre, nous avons présenté notre approche. Nous nous sommes basés sur la
conception UML pour modéliser notre application avec différents diagrammes de conception
qui permet d’exprimer les différentes fonctionnalités de l’application a pour but de rendra la
gestion du temps de travail plus aisé et clair
33
Chapitre IV . La réalisation
IV.1 Introduction :
Dans ce dernier chapitre du rapport nous décrivons la partie réalisation de notre
application, nous allons commencer par une description de la plateforme matérielle et
logicielle utilisée puis une description des outils de communication nécessaires.
IV.2 Plate-forme matérielle et logicielle utilisée :
IV.2.1 Plate-forme matérielle :
Un ordinateur est équipé de système d'exploitation Windows7
La pointeuse SAFESCAN TA-855 : est une pointeuse biométrique de conception
récente, connectée directe sur notre réseau Ethernet (câble droit pour un hub ou
Switch, câble croisé pour le port Ethernet de l'ordinateur). Une simple prise 220 v
suffit à la pointeuse SAFESCAN TA-855. Les empreintes digitales de deux doigts
par personne sont enregistrées sur l'appareil.
IV.2.2 Plate-forme logicielle utilisée :
IV.2.2.1 Staruml:
StarUML est un logiciel de modelage UML qui est entré récemment dans le monde de
l'OpenSource. Ecrit en Delphi, il est modulaire et propose plusieurs générateurs de code.
34
StarUML permet la création de diagrammes de cas d'utilisation, de classes, de séquences, de
collaboration (communication), d'états-transitions, d'activités, de composants, de déploiement
et de structure composite. Il permet le génération de code C#, C++ et JAVA (retro-ingénierie
de code dans ces langages), de documentation, etc. L'utilisateur peut créer ses templates de
génération.
IV.2.2.2 NetBeans :
NetBeans est un environnement de développement intégré (EDI), il permet également de
supporter différents autres langages, comme Python, C, C+
+, JavaScript, XML, Ruby, PHP et HTML, Il comprend toutes les caractéristiques d'un IDE
moderne (éditeur en couleur, projets multi-langage, refactoring, éditeur graphique d'interfaces
et de pages Web).
Conçu en Java, NetBeans est disponible
sous Windows, Linux, Solaris (sur x86 et SPARC), Mac OS X ou sous une version
indépendante des systèmes d'exploitation (requérant une machine virtuelle Java). Un
environnement Java Développement Kit (JDK) est requis pour les développements en Java.
IV.2.3 Langages et outils utilisés :
IV.2.3.1 Présentation de JAVA :
Java a été développée à partir de décembre 1990 par une équipe de Sun Microsystems dirigée
par James Gosling. C’est est un langage objet de la famille des langages de classe comme C+
+ ou SmallTalk. Le langage Java est un langage à classes. L'héritage est simple et permet de
redéfinir ou de surcharger des méthodes héritées. Le typage est statique. Une classe héritée est
en relation de sous-typage avec sa classe ancêtre. Java ne possède pas de classe paramétrée.
On obtient deux types de polymorphisme : ad hoc pour la surcharge et d'inclusion pour la
redéfinition. Java possède d'importantes bibliothèques de classes (environ 600 avec le JDK
auxquelles s'ajoutent les nombreux développements indépendants). Les principales
bibliothèques concernent les interfaces graphiques et les opérations d'entrées-sorties intégrant
la communication entre machines.
35
IV.2.3.2 Mysql :
MySQL est un système de gestion de base de données relationnelle (SGBDR). Il est distribué
sous une double licence GPL et propriétaire. Il fait partie des logiciels de gestion de base de
données les plus utilisés au monde, autant par le grand public (applications web
principalement) que par des professionnels, en concurrence
avec Oracle, Informix et Microsoft SQL Server. MySQL fonctionne sur un très grand nombre
de plate-formes et de systèmes d'exploitation.
IV.3 Démarche de réalisation :
Afin de mieux comprendre la structure de notre application, nous allons détailler les
différentes tâches que nous avons effectuées.
IV.3.1 Splash Screen :
En jargon informatique, un splash screen écran d'éclaboussure ; en français, (on devrait
dire page de garde ou fenêtre d'attente) est la toute première fenêtre affichée par un logiciel.
Notre application est débutée par une splash screenqui est une fenêtre incite l'utilisateur à
patienter pendant le chargement et l'installation de l’application comme illustré dans la figure
suivante :
Figure IV.11: Splash Screen
36
IV.3.2 Fenêtre d’authentification:
La première activité qui s’affiche est l’activité authentification. Cette activité permet a
l’utilisateur d’introduire leur login et mot de passe afin d’accéder aux fonctionnalités de
l’application. Cependant, il faut introduire un login et un mot de passe valides comme
indiqué dans la figure suivante :
Figure IV.12: Fenêtre d’authentification
Après une authentification réussie, on la fenêtre principale de notre application qui comporte
plusieurs actions comme l’indique la figure suivante :
37
IV.3.3 Menu principal :
Figure IV.13: Menu principal de l'application
Dans le menu principal on retrouve les différents cas d'utilisations cités précédemment, avec la
grille de données au milieu qui liste les informations des pointeuses connectées à l'application. Le
menu constitue le point d'entré à n'importe quelle gestion, notamment la gestion des employés qui
sera traitée dans le paragraphe suivant :
38
IV.3.4 Gestion des employés :
A partir du menu principal le gestionnaire pourra accéder au formulaire de gestion des employés
en cliquant sur l'icône lui correspondant après avoir sélectionner une pointeuse précise dans la
grille de données. Ainsi le résultat obtenu sera le formulaire dans la figure suivant :
Figure IV.14 : Menu de gestion des employés
A partir de cette interface, on pourra dérouler les différents scénarios de la gestion des
employés déjà traités dans la conception détaillée, mais avec un scénario en plus, il s'agit de "
téléchargement des données de la pointeuse". Le but de celui-ci est d'accéder à la base locale
de la pointeuse sélectionnée et d'en récupérer les données des employés, pour la synchroniser
avec la base locale de l'application.
39
IV.3.5 Ajouter/modifier un employé :
La figure ci-dessous présente l'interface pour l'ajout et la modification d'un employé:
Figure IV.15 : Menu Ajouter/modifier un employé
Ce formulaire se décompose en deux parties. La première regroupe les informations
personnelles de l'employé sauf le "IdControlAccès" qui représente son identifiant dans
l'appareil. Et la deuxième partie traite ses informations par rapport à la pointeuse où il est
enregistré.
40
IV.3.6 Gestion des départements:
La figure ci-dessous montre l'interface permettant la gestion des départements:
Figure IV.16: Menu Gestion des départements
A partir de cette interface on peut visualiser les différents départements et les employés qui y
appartiennent, ajouter, modifier, ou supprimer un département. Ainsi que la consultation du
calendrier de travail s'il est programmé. Ce qu'il faut noter est que la modification des employés
d'un département (ajouter, supprimer un employé d'un département) n'est pas prise en charge ici,
mais il faut aller au formulaire de modification des informations d'un employé pour effectuer cette
opération.
41
IV.3.7 Consultation de pointage:
Le gestionnaire pourra consulter les pointages des employés, et voir l'heure et la date de
pointage ainsi que le moyen de pointage (empreint digitale, mot de passe, carte magnétique)
pour une période qu'il a précisé à travers l'interface dans la figure suivante:
Figure IV.17: Menu consultation de pointage
42
IV.3.8 Gestion des vacances:
La figure ci-dessous illustre l'interface à partir de laquelle la gestion des vacances est faite:
Figure IV.18: Menu Gestion des vacances
Cette interface permet d'afficher les vacances programmées, ajouter, modifier, supprimer et affecter une vacance à un ou plusieurs employés ou départements.
IV.4 Conclusion :
Ce chapitre a été consacré à la description de la mise en œuvre du logiciel. Ainsi, j'ai présenté les outils de réalisation et les interfaces illustrant l’utilisation de l'application.
43
Conclusion Générale et PerspectivesDurant ce projet de fin d’études, nous avons conçu et réalisé un logiciel pour la
gestion de temps de travail des employés au sein des entreprises. Une telle application vise
principalement à aider les responsables à mesurer l'assiduité et le sérieux des employés et à
contrôler leurs présences et leurs absences.
Pour accomplir ma mission et répondre au besoin signalé, j'ai commencé par définir
les principales fonctionnalités attendues du système cible. Ensuite, j'ai abordé l’étude
fonctionnelle de l’application et l’étude conceptuelle dans laquelle j'ai élaboré la conception
de la solution en utilisant le formalisme UML. Enfin, j'ai abordé la phase réalisation qui
consiste à implémenter les fonctionnalités du système.
En guise de conclusion, la réalisation de ce projet nous a été bénéfique aussi bien sur
le plan technique que sur le plan professionnel. Ceci nous a permis d’enrichir et d’approfondir
nos connaissances théoriques sur les notions de bases des systèmes biométriques et des
systèmes d’informations
Ce projet nous a permis également d’approfondir nos connaissances pratiques. Nous
sommes parvenues à concevoir à l’aide des divers logiciels déployés lors de la conception de
cette application tels que le langage de développement orienté objet Java ; et nous avons eu
l’opportunité de maitriser les types de connexions dans un réseau (Connection directe sur le
réseau éthernet (câble droit pour un hub ou svitch, câble croisé pour le port ethernet de
l'ordinateur)).
Comme perspectives pour notre application ; nous proposons les possibilités
suivantes :
Cette réalisation peut être étendue sous divers axes. On peut par exemple réaliser :
On peut enrechir notre application en ajoutant un espace pour l’employé qui lui permet
d’accéder à l’application pour savoir son salaire, sesheures supplimentaires et ses
abscence. Aussi pour mettre des avis et des idéesde travail.
Amélioration de la visualisation en fournissant un ensemble de possibilités de suivis
des informations comme des alarmes, des graphiques.
Développer une interface graphique basée sur le Web de données et l'accès via le
serveur http.
44
Bibliographie
http://fr.wikipedia.org/wiki/MySQL
http://dev.mysql.com/downloads/
https://netbeans.org/downloads/
http://codes-sources.commentcamarche.net/
http://www.vedex.com/downloads/mode_a8.pdf
top related