Demo.mp4
Le diagramme de cas d'utilisation décrit les fonctionnalités de l'application de gestion de projet. Il est composé de 2 acteurs : l'administrateur et l'employé.
- Administrateur
- Employé
- Ajouter un utilisateur
- Supprimer un utilisateur
- Modifier un utilisateur
- Consulter un utilisateur
- Ajouter un projet
- Supprimer un projet
- Modifier un projet
- Consulter un projet
- Ajouter une tâche
- Supprimer une tâche
- Modifier une tâche
- Consulter une tâche
- Modifier ses informations personnelles
- s'authentifier
- se déconnecter
Classes principales :
Project_info
: représente un projetProject_task
: représente une tâche qui dépend d'un projet et attribuée à un employéEmployee
: représente un employéClient
: représente un client
Classes secondaires :
Admin
: représente un administrateurEmployee_auth
: représente un utilisateur de l'applicationAdmin_auth
: représente un administrateur de l'application
-
Project_info
: 1 - N -Project_task
-
Project_task
: 1 - N -Employee
-
Client
: 1 - N -Project_info
-
Employee
: 1 - N -Project_task
-
Admin
: 1 - N -Admin_auth
-
Employee
: 1 - 1 -Employee_auth
-
Admin
: 1 - 1 -Admin_auth
(la séparation entre les deux classes est faite pour éviter de stocker le mot de passe en clair dans la base de données. On pourra le crypter par la suite.)
Project_info
: id
, project_name
, start_date
, end_date
, estimated_time
, client_id
id
: identifiant unique du projetproject_name
: nom du projetstart_date
: date de début du projetend_date
: date de fin du projetestimated_time
: temps estimé pour le projet (en jours)client_id
: identifiant du client qui a commandé le projet
Project_task
: id
,task_name
,task_time
, task_start_date
,task_end_date
, progress
, color
, progress
, dependancy
, assigned
id
: identifiant unique de la tâchetask_name
: nom de la tâchetask_time
: temps estimé pour la tâche (en jours)task_start_date
: date de début de la tâchetask_end_date
: date de fin de la tâcheprogress
: pourcentage de progression de la tâchecolor
: couleur de la tâche (pour représenter le pourcentage de progression dans le diagramme de Gantt)dependancy
: identifiant de la tâche dont dépend la tâcheassigned
: identifiant de l'employé qui est attribué à la tâche
Employee
: id
, name
, designation
, department
, contact
, email
, gender
id
: identifiant unique de l'employéname
: nom de l'employédesignation
: poste occupé par l'employédepartment
: département de l'employécontact
: numéro de téléphone de l'employéemail
: adresse mail de l'employégender
: sexe de l'employé (Male, Female)
Client
: id
, name
, contact_person
, phone
, address
id
: identifiant unique du clientname
: nom du client (ou raison sociale)contact_person
: nom de la personne de contactphone
: numéro de téléphone du clientaddress
: adresse du client
Login
: permet à un utilisateur de se connecter à l'applicationLogout
: permet à un utilisateur de se déconnecter de l'applicationAdd project
: permet à un administrateur d'ajouter un projetAdd task
: permet à un administrateur d'ajouter une tâcheAdd employee
: permet à un administrateur d'ajouter un employéAdd client
: permet à un administrateur d'ajouter un clientDelete project
: permet à un administrateur de supprimer un projetDelete task
: permet à un administrateur de supprimer une tâcheDelete employee
: permet à un administrateur de supprimer un employéDelete client
: permet à un administrateur de supprimer un clientUpdate project
: permet à un administrateur de modifier un projetUpdate task
: permet à un administrateur de modifier une tâcheUpdate employee
: permet à un administrateur de modifier un employéUpdate client
: permet à un administrateur de modifier un clientView project
: permet à un administrateur de visualiser un projetView task
: permet à un administrateur de visualiser une tâcheView employee
: permet à un administrateur de visualiser un employéView client
: permet à un administrateur de visualiser un clientView all projects
: permet à un administrateur de visualiser tous les projetsView all tasks
: permet à un administrateur de visualiser toutes les tâchesView all employees
: permet à un administrateur de visualiser tous les employésView all clients
: permet à un administrateur de visualiser tous les clients
To do
: tâches à faireIn progress
: tâches en coursDone
: tâches terminéesReview
: tâches à vérifier
La méthode Kanban a été choisie pour le développement de l'application, car elle permet de visualiser les tâches à faire, en cours et terminées. Elle permet également de suivre l'avancement du projet et de s'organiser. Elle est donc adaptée à notre projet. Cette méthode a été très optimale pour 3 raisons principales :
- Taille du projet : le projet est assez petit et ne comporte pas beaucoup de tâches.
- Equipe de travail : le projet est développé par deux personnes.
- Durée du projet : le projet est développé en 2 semaines.