Cahier des Charges
CDC-PH 1124 JFX-VFINAL
Plateforme de Gestion de Projets Éducatifs
Version: 1.0
Auteur: BILAL EL KHATABI
Date: 25/12/2024
Introduction
Bienvenue ! ProjectHub est une plateforme que nous avons conçue pour vous aider à gérer les projets étudiants, évaluer les travaux et distribuer les sujets de manière plus efficace. L'idée est de simplifier et d'optimiser le travail, que vous soyez étudiant ou enseignant. Nous utilisons JavaFX, Spring Boot et PostgreSQL pour cela.
Objectifs
- Gestion de projet simplifiée : Nous voulons vous offrir des outils faciles à utiliser pour créer, modifier et suivre vos projets.
- Tâches organisées : La plateforme vous permet de répartir les tâches et de suivre leur avancement avec précision.
- Ressources bien gérées : Nous nous assurons que les ressources sont utilisées de manière optimale.
- Comptes sécurisés : La gestion des comptes utilisateurs est basée sur les rôles pour garantir la sécurité et la confidentialité.
Portée du Projet
Voici les grands axes que nous allons couvrir :
- Gestion des Projets : Création, suivi, etc.
- Gestion des Tâches : Assignation, suivi d'avancement, etc.
- Gestion des Ressources : Allocation, suivi d'utilisation, etc.
- Gestion des Comptes : Inscription, rôles, permissions, etc.
1. Gestion des Projets
Fonctionnalités
-
Éditer un Projet
- Description : Les enseignants peuvent créer et modifier les détails des projets.
- Actions :
- Créer un nouveau projet avec des infos comme le nom, la description, les dates limites et les critères d'évaluation.
- Modifier les détails d'un projet existant.
- Supprimer un projet si besoin.
-
Lister les Projets
- Description : Une liste de tous les projets disponibles.
- Actions :
- Voir les projets en cours et ceux qui sont terminés.
- Filtrer les projets par statut, date ou autres critères.
-
Consulter les Détails d'un Projet
- Description : Accéder aux détails complets d'un projet spécifique.
- Actions :
- Voir la description, les dates limites, les équipes assignées et les tâches associées.
- Accéder aux documents et ressources liés au projet.
Tableau des Règles de Gestion
Règle ID | Description de la Règle | Conditions | Actions |
---|---|---|---|
RG-001 | Chaque projet doit avoir un nom unique. | Lors de la création d'un projet. | Vérifier que le nom n'existe pas déjà avant de sauvegarder. |
RG-002 | Les dates limites des projets doivent être dans le futur. | Lors de la création ou modification. | S'assurer que les dates limites ne sont pas passées. |
RG-003 | Seuls les enseignants peuvent créer ou modifier les projets. | Contrôle d'accès. | Restreindre les modifications aux utilisateurs autorisés. |
RG-004 | Un projet peut avoir plusieurs équipes assignées. | Lors de l'assignation des équipes. | Permettre l'ajout et la suppression d'équipes pour un projet. |
2. Gestion des Tâches
Fonctionnalités
-
Créer et Assigner des Tâches
- Description : Créer des tâches et les assigner aux membres de l'équipe.
- Actions :
- Définir le titre, la description, la priorité et les dates limites des tâches.
- Assigner des tâches aux membres de l'équipe.
-
Suivre l'Avancement des Tâches
- Description : Voir l'état d'avancement des différentes tâches.
- Actions :
- Mettre à jour le statut des tâches (À faire, En cours, Terminé).
- Générer des rapports d'avancement.
-
Notifier les Membres des Équipes
- Description : Envoyer des notifications lors de la création ou de la mise à jour des tâches.
- Actions :
- Envoyer des emails ou des notifications in-app.
Tableau des Règles de Gestion
Règle ID | Description de la Règle | Conditions | Actions |
---|---|---|---|
RG-005 | Chaque tâche doit être assignée à au moins un membre. | Lors de la création d'une tâche. | Obliger la sélection d'un membre lors de l'assignation. |
RG-006 | Les dates limites des tâches doivent être dans le cadre du projet. | Lors de la définition des dates limites. | S'assurer que la date limite d'une tâche est avant celle du projet. |
RG-007 | Les priorités des tâches doivent être définies (Haute, Moyenne, Basse). | Lors de la création ou modification des tâches. | Restreindre les options de priorité à celles proposées. |
RG-008 | Seuls les membres assignés peuvent modifier le statut des tâches. | Contrôle d'accès. | Autoriser uniquement les membres assignés à mettre à jour les statuts. |
3. Gestion des Ressources
Fonctionnalités
-
Ajouter et Gérer les Ressources
- Description : Ajouter les ressources nécessaires pour les projets.
- Actions :
- Ajouter des ressources matérielles et logicielles.
- Gérer la disponibilité et l'allocation des ressources.
-
Suivre l'Utilisation des Ressources
- Description : Suivre l'utilisation des ressources allouées aux projets.
- Actions :
- Générer des rapports sur l'utilisation des ressources.
- Identifier les ressources sur-utilisées ou sous-utilisées.
-
Optimiser l'Allocation des Ressources
- Description : Allouer efficacement les ressources en fonction des besoins des projets.
- Actions :
- Réassigner les ressources en cas de déséquilibre.
- Planifier l'acquisition de nouvelles ressources si nécessaire.
Tableau des Règles de Gestion
Règle ID | Description de la Règle | Conditions | Actions |
---|---|---|---|
RG-009 | Une ressource ne peut être allouée qu'à un seul projet à la fois. | Lors de l'allocation des ressources. | Vérifier la disponibilité avant l'allocation. |
RG-010 | Les ressources doivent être enregistrées avec des détails complets. | Lors de l'ajout des ressources. | Obliger la saisie des informations (type, quantité, etc.). |
RG-011 | Les rapports d'utilisation doivent être générés mensuellement. | Génération des rapports. | Automatiser la création et la distribution des rapports. |
RG-012 | Seuls les administrateurs peuvent ajouter ou supprimer des ressources. | Contrôle d'accès. | Restreindre la gestion des ressources aux administrateurs. |
4. Gestion des Comptes
Fonctionnalités
-
Inscription et Authentification des Utilisateurs
- Description : Permettre aux utilisateurs de s'inscrire et de se connecter à la plateforme.
- Actions :
- Créer un compte avec les informations personnelles.
- S'authentifier avec un nom d'utilisateur et un mot de passe.
-
Gestion des Rôles et Permissions
- Description : Assurer que chaque utilisateur a les permissions appropriées selon son rôle.
- Actions :
- Attribuer des rôles (Administrateur, Enseignant, Étudiant).
- Définir des permissions spécifiques pour chaque rôle.
-
Gestion des Profils Utilisateurs
- Description : Permettre aux utilisateurs de gérer leurs profils.
- Actions :
- Modifier les informations du profil.
- Réinitialiser le mot de passe.
- Mettre à jour les préférences de notification.
Tableau des Règles de Gestion
Règle ID | Description de la Règle | Conditions | Actions |
---|---|---|---|
RG-013 | Les mots de passe doivent respecter une politique de sécurité. | Lors de la création ou modification du mot de passe. | Exiger des règles de complexité (longueur, caractères spéciaux, etc.). |
RG-014 | Les utilisateurs doivent confirmer leur email lors de l'inscription. | Lors de l'inscription. | Envoyer un email de confirmation et vérifier avant d'activer le compte. |
RG-015 | Seuls les administrateurs peuvent attribuer ou modifier les rôles. | Gestion des rôles. | Restreindre l'accès à la gestion des rôles aux administrateurs. |
RG-016 | Les sessions utilisateurs doivent expirer après une période d'inactivité. | Sécurité des sessions. | Configurer l'expiration automatique des sessions. |
RG-017 | Les critères d'évaluation des projets doivent être définis à la création. | Configuration du projet. | Exiger une grille d'évaluation avant l'activation du projet. |
RG-018 | Les notes finales doivent être approuvées par au moins deux enseignants. | Soumission des notes. | Bloquer la finalisation des notes jusqu'à une deuxième approbation. |
RG-019 | Les étudiants peuvent faire appel des notes dans un délai de 5 jours. | Publication des notes. | Activer une fenêtre d'appel avec un système de notification. |
RG-020 | Les équipes doivent avoir entre 2 et 6 membres. | Formation des équipes. | Valider la taille de l'équipe lors de la création et des modifications. |
RG-021 | Les étudiants ne peuvent être que dans une seule équipe par projet. | Assignation des équipes. | Vérifier les appartenances existantes avant d'ajouter à une équipe. |
RG-022 | Les chefs d'équipe doivent être élus par les membres de l'équipe. | Configuration de l'équipe. | Exiger un vote majoritaire pour la sélection du chef d'équipe. |
RG-023 | Les soumissions de projet doivent être dans des formats approuvés. | Téléchargement des fichiers. | Valider les types de fichiers par rapport à une liste blanche. |
RG-024 | Limite de taille des fichiers de 100MB par soumission. | Validation des téléchargements. | Appliquer une limite de taille avec une option de compression. |
RG-025 | Conserver l'historique des versions des fichiers pendant 30 jours. | Gestion du stockage. | Mettre en œuvre un système de contrôle de version. |
RG-026 | Avertissement des échéances critiques 48 heures à l'avance. | Suivi du temps. | Envoyer des rappels automatisés. |
RG-027 | Les membres de l'équipe sont notifiés de tous les changements de statut des tâches. | Mises à jour des tâches. | Envoyer des notifications aux utilisateurs concernés. |
RG-028 | Rapports d'avancement hebdomadaires aux enseignants. | Rapports. | Générer et envoyer des rapports automatisés. |
5. Planning des Sprints
Sprint | Dates | Objectifs | User Stories | Règles de Gestion |
---|---|---|---|---|
Sprint 1 | 17/12/2024 - 31/12/2024 |
|
|
RG-013, RG-014, RG-015, RG-016 |
Sprint 2 | 01/01/2025 - 14/01/2025 |
|
|
RG-001, RG-002, RG-003, RG-004, RG-017, RG-020, RG-021 |
Sprint 3 | 15/01/2025 - 29/01/2025 |
|
|
RG-005, RG-006, RG-007, RG-008, RG-026, RG-027, RG-028 |
6. Architecture du Système
7. Gestion des Risques
Stratégies de Mitigation
Pour chaque risque identifié, nous avons défini des stratégies de mitigation appropriées afin de réduire l'impact potentiel sur le projet.
Tableau des Risques
Risque | Impact | Probabilité | Mitigation |
---|---|---|---|
Perte de données | Critique | Moyenne |
|
Faille de sécurité | Critique | Faible |
|
Performance | Modéré | Moyenne |
|
Indisponibilité | Élevé | Faible |
|
Intégration | Modéré | Moyenne |
|
Adoption | Élevé | Moyenne |
|
Conclusion
Voilà, ce cahier des charges vous donne les grandes lignes de ProjectHub. En gérant efficacement les projets, les tâches, les ressources et les comptes, nous voulons que cette plateforme soit un outil facile à utiliser et sécurisé pour tout le monde.
Ce document est susceptible d'être mis à jour et ajusté en fonction de l'évolution du projet et de vos retours.