72
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

Rapp Port 22

Embed Size (px)

DESCRIPTION

c'est un rapport de projet de fin d'étude qui consiste à la conception et développement d'une application de gestion d'une pointeuse biométrique

Citation preview

Page 1: Rapp Port 22

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.

Page 2: Rapp Port 22

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.

Page 3: Rapp Port 22

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.

Page 4: Rapp Port 22

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

Page 5: Rapp Port 22

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

Page 6: Rapp Port 22
Page 7: Rapp Port 22

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

Page 8: Rapp Port 22

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

Page 9: Rapp Port 22

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 

Page 10: Rapp Port 22

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.

Page 11: Rapp Port 22

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.

Page 12: Rapp Port 22

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.

Page 13: Rapp Port 22

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.

Page 14: Rapp Port 22

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"

Page 15: Rapp Port 22

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

Page 16: Rapp Port 22

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.

Page 17: Rapp Port 22

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.

Page 18: Rapp Port 22

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.

Page 19: Rapp Port 22

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.

Page 20: Rapp Port 22

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.

Page 21: Rapp Port 22

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.

Page 22: Rapp Port 22

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.

Page 23: Rapp Port 22

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 :

Page 24: Rapp Port 22

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

Page 25: Rapp Port 22

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.

Page 26: Rapp Port 22

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.

Page 27: Rapp Port 22

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 :

Page 28: Rapp Port 22

18

Figure III.4 : Diagramme général des cas d’utilisation

On va détailler quelques cas d’utilisation:

Page 29: Rapp Port 22

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é.

Page 30: Rapp Port 22

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.

Page 31: Rapp Port 22

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 :

Page 32: Rapp Port 22

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.

Page 33: Rapp Port 22

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é».

Page 34: Rapp Port 22

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.

Page 35: Rapp Port 22

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é »

Page 36: Rapp Port 22

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 »

Page 37: Rapp Port 22

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

Page 38: Rapp Port 22

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

Page 39: Rapp Port 22

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

Page 40: Rapp Port 22

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

Page 41: Rapp Port 22

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

Page 42: Rapp Port 22

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

Page 43: Rapp Port 22

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.

Page 44: Rapp Port 22

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.

Page 45: Rapp Port 22

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

Page 46: Rapp Port 22

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 :

Page 47: Rapp Port 22

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 :

Page 48: Rapp Port 22

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.

Page 49: Rapp Port 22

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é.

Page 50: Rapp Port 22

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.

Page 51: Rapp Port 22

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

Page 52: Rapp Port 22

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.

Page 53: Rapp Port 22

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.

Page 54: Rapp Port 22

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