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.

