Projet
Projet
Pointage automatique
I. Présentation du projet
1 Introduction
Dans le but de contrôler le travail ; les entreprises doivent disposer un système de
pointeuse avec un téléphone mobile. Cette solution de géolocalisation par GSM
dispose comme fonctionnalité de réaliser un acte de pointage au moment de l’arrivée et
du départ des salariés de l’entreprise grâce à son smartphone ou d’une tablette ou de
tout autre équipement connecté à internet.
2 Solution proposée
Les applications mobiles offrent une meilleure expérience utilisateur, chargent du
contenu plus rapide que les sites web et sont plus faciles à utiliser. Et pour bien réparer
les problèmes cités, nous avons opté une solution mobile dénommée « CheckIn » qui
permet de pointer automatiquement les heures d’entrée et de sortie des employés.
3 Objectifs
L’objectif de ce projet est de proposer une solution de pointage des employés en
utilisant leurs smartphones connectés à internet via Wifi, 3G ou 4G. Elle permet de réaliser
un acte de pointage au moment de l’arrivée et du départ du site de travail. A travers cette
solution, l’utilisateur peut :
Aussi l’entreprise doit disposer d’un système (backoffice) avec le quelle elle peut :
1
• Gérer les horaires, les utilisateurs,
4 Méthodologie adoptée
• Scrum
• Crystal
2
achevé. Avant de démarrer un nouveau sprint, l’équipe réalise une rétrospective. Cette
technique analyse le déroulement du sprint achevé, afin d’améliorer ses pratiques. Le flux de
travail de l’équipe de développement est facilité par son auto-organisation, il n’y aura donc pas
de gestionnaire de projet.
Le Product Owner :
L’Équipe de Développement :
Le Scrum Master :
• Le Scrum Master est responsable de s’assurer que Scrum est compris et mis en
œuvre
• Les Scrum Masters remplissent leur rôle en s’assurant que l’Équipe Scrum adhère
à la théorie, aux pratiques et aux règles de Scrum
3
II. Analyse et Conception
1 Introduction
La spécification des besoins est la base de notre travail qui permettra de dresser la
problématique et les objectifs de notre projet afin de produire le backlog initial comme
une première planification des sprints et nous allons traiter la phase la plus importante
dans le cycle de développement Scrum « planification » et puis la conception.
4
2.1 Sprint 0 : Capture des besoins
C’est une phase très importante et obligatoire elle doit permettre aux utilisateurs
finaux, de bien exprimer leurs besoins et de bien comprendre les fonctionnalités que le
système va fournir et doit aussi respecter les exigences non fonctionnelles à prendre en
considération dans la phase de développement.
La première des missions est de bien identifier les acteurs qui vont interagir avec le
système. Dans notre cas nous avons typiquement des acteurs humains qui sont :
• Les employés : Utilisateur aux rôles et permissions restreints, n’a pas beaucoup
de privilèges au sein du système. Il peut demander de pointer dès l’arrivée au lieu
de travail en cas de problème à la phase de pointage automatique, et il peut faire
une demande de congé, accéder à son profile..
Il s’agit d’analyser les acteurs acteur par acteur et de vérifier pour chacun qu’il dis-
pose de toutes les fonctionnalités qui lui seront utiles au regard de sa mission et du
périmètre du projet.
9
3. Gérer profil : L’administrateur a le droit de consulter son compte, le modifier
et gérer les autres profils.
10
3 Pilotage du projet avec Scrum
Le backlog de produit est la liste des fonctionnalités attendues par notre module. Il
contient toutes les tâches qui seront développées par l’équipe. Les tâches ainsi que ses
priorités sont dégagées suite à des réunions avec le client et le chef de projet. Ce Tableau
résume le backlog produit de notre module :
11
Fonctionnalité Acteur Description priorité
s’authentifier Administrateur, l’administrateur et 1
employé employé doivent
s’authentifier pour
accéder à ses ses-
sions
Gérer employée administrateur l’administrateur 3
peut ajouter mo-
difier et supprimer
employée.
Gérer les horaires administrateur Administrateur peut 5
gérer et consulter
l’horaire de travail
et de pointage des
employés
Gérer profile Administrateur, Administrateur et 2
employé employé peuvent
consulter leurs
profils
Effectuer une employé Employé peut effec- 4
demande de pré- tuer une demande de
sence manuelle présence manuelle
en cas où l’employé
n’a pas pu se pointer
ce jour-là.
Gérer les de- administrateur l’administrateur 4
mandes de peut accepter ou re-
présence ma- fuser le demande de
nuelle présence manuelle
Le diagramme de cas d’utilisation est l’un des diagrammes UML utilisé pour donner
une vision globale du comportement fonctionnel d’un système logiciel Un cas
d’utilisation représente une unité d’interaction entre un utilisateur et un système. Dans
notre
12
cas l’administrateur n’utilise pas l’application mobile pour effectuer sa mission, il utilise
une plateforme Odoo qui utilise la même base de donnée avec notre application. c’est
pour cela le diagramme de cas d’utilisation globale sera diviser en deux partie ; une pour
la plateforme Odoo dédiée pour l’administrateur et une autre pour l’application mobile.
13
Figure 2.2 – Diagramme de cas d’utilisation global partie 2
La planification des sprints est l’une des réunions qui rythment un projet Scrum. Elle
est indispensable au bon déroulement de chaque itération et détermine en grande partie
la réussite ou l’échec d’un sprint (c’est l’ensemble des user story inclus dans le sprint).
Une release est une période de temps à l’issue de laquelle une version du livrable est
proposée. Elle est constituée de plusieurs Sprints, leur nombre étant dépendant de leur
durée et de celle fixée pour la release. Pour notre projet nous avons choisi de développer
un release qui sera divisé en deux sprints, le premier est la gestion des paramétrages
(d’administration) et le second sera la gestion de demande de présence manuelle. Ce
tableau résume notre planning de travail :
14
Sprint 1 Sprint 2
- S’authentifier - Effectuer une demande de présence manuelle
- Gérer employée - Gérer les demandes de présence manuelle
- Gérer les horaires - Effectuer une demande de congés
- Gérer profile - Gérer les demandes de congés
- Consulter pointage
15
Figure 2.3 – Diagramme de classe
5 Le premier sprint
16
Fonctionnalité ID User story Acteur Priorité
- En tant que Administrateur je
peux m’identifier pour accéder
à ma session. Administrateur,
S’authentifier 1.1 1
- En tant qu’employé je peux employé
m’identifier
pour accéder à mon compte.
- En tant qu’administrateur je
peux modifier mon compte. Administrateur,
4.2
- En tant qu’employé je peux employé
modifier mon compte.
17
5.2 Spécification fonctionnelles
Dans cette activité, nous développerons les cas d’utilisation du sprint 1 en décrivant
les préconditions et postconditions dans chaque cas, ainsi que les principaux scénarios
et exceptions qui peuvent être liés à ce cas.
18
Nom C.U Ajouter employé
Acteur Administrateur
Objectif l’administrateur a la possibilité d’ajouter un employé.
précondition Une authentification préalable
Postcondition Un nouvel contact ajouté à la liste des contacts
Scénario de base 1. L’administrateur clique sur le bouton « Créer nouvelle
employées».
2. L’administrateur saisi les données du employé.
3. Le système vérifie les données saisies.
4. Le système enregistre le nouvel employé dans la liste des
employés.
4.a. L’employé existe déjà
4.a.1 Le système demande à l’administrateur modifier les
données.
4.a.2 Reprise de l’étape 2 du scénario nominal
4.b. L’administrateur saisi des données manquantes
4.b.1 Le système affiche un message d’erreur
4.b.2 Reprise de l’étape 2 du scénario nominal
19
Nom C.U Modifier employé
Acteur Administrateur
Objectif l’administrateur a la possibilité de modifier les données re-
latives à un employé
précondition Une authentification préalable « include» consulté employé.
20
5.2.2 Gérer horaire
21
Nom C.U Ajouter horaire
Acteur Administrateur
Objectif l’administrateur a la possibilité d’ajouter l’horaire de travail
des employés
précondition Une authentification préalable « include» ajouter horaire
Postcondition Horaire de travail des employés ajouté
Scénario de base 1) L’administrateur clique sur le bouton «ajouter horaire» 2)
l’administrateur ajoute un horaire 3) l’administrateur clique
sur «valider» 4) Le système ajoute les horaires
22
Nom C.U Supprimer horaire
Acteur Administrateur
Objectif l’administrateur a la possibilité de supprimer l’horaire de
travail des employés
précondition Une authentification préalable « include» supprimer l’ho-
raire
Postcondition Horaire de travail des employés supprimé
Scénario de base 1) L’administrateur clique sur le bouton «supprimer ho-
raire» 2) Le système supprime l’horaire cliqué
23
5.2.4 Gérer profile
24
Nom C.U Modifier profile
Acteur Administrateur et employé
précondition Une authentification préalable « include» consulter profil
Postcondition profil modifié
Scénario de base 1) L’acteur clique sur le bouton "Modifier". 2) L’acteur a
modifié le champ des informations personnelles. 3) L’ac-
teur clique sur le bouton «Soumettre». 4) Vérification des
données d’inspection du système 5) Le système enregistre
les données
Scénario d’ex- 1) Modification non valide 2) Le système retour à l’étape 2
ception du système.
5.2.5 S’authentifier
25
6 Le deuxieme sprint
- En tant qu’administrateur
3.2 je peux accepter les Administrateur
demandes de conge..
- En tant qu’administrateur
3.3 je peux refuser les
demandes de conge.
Effectuer une -En tant que employé je
demande 4 peux effectuer une demande Employé 3
de conge. de conge.
26
6.2 Spécification fonctionnelle
Figure 2.7 – Raffinement de cas d’utilisation repondre aux demande de pointage manuel
27
Nom C.U Refuser demande de pointage
Acteur Administrateur
Objectif l’administrateur a la possibilité de refuser les demandes de
présence manuelle.
Précondition Une authentification préalable
Postcondition La demande de présence manuelle est refusée.
Scénario de base 1) L’administrateur clique sur le bouton « refuser». 2) Le
système refuse la demande de présence manuelle.
28
Nom C.U Refuser demande de congé
Acteur Administrateur
Objectif l’administrateur a la possibilité de refuser le demande de
congé.
Précondition Une authentification préalable
Postcondition La demande de congé est refusée.
Scénario de base 1) L’administrateur clique sur le bouton « refuser». 2) Le
système refuse la demande de congé.
29
Nom C.U demander un pointage manuel
Acteur employé
précondition Une authentification préalable
Postcondition Demande de présence manuelle effectuer
Scénario de base 1) L’acteur clique sur le bouton "demande ". 2) L’acteur
remplit les champs. 3) L’acteur clique sur le bouton «en-
registrer». 4) Le système verfie le saisie 5) Le système en-
registre les données.
Scénario d’ex- 1) Données non valide : 2) Le système affiche un message
ception d’erreur. 3) Retour à l’étape 2 de Scenarios de base.
30
Nom C.U Demander un congé
Acteur employé
précondition Une authentification préalable
Postcondition Demande de congé effectuer
Scénario de base 1) L’acteur clique sur le bouton "demande ".
2) L’acteur remplit les champs.
3) L’acteur clique sur le bouton «enregistrer».
4) Le système verfie le saisie
5) Le système enregistre les données.
31
notre application s’appuie sur l’architecture MVC (Modèle-Vue-Contrôleur) qui est une
architecture destinée ‘a répondre aux besoins des applications interactives en séparant
les problématiques liées aux différents composants en les regroupant par couches.
Comme son nom l’indique, MVC regroupe les fonctions nécessaires en trois
catégories: Modèle, Vue et Contrôleur.
32
Figure 2.10 – Diagramme de séquence Demande de pointage
33