Skip to content

Fonctionnalités

linadu2 edited this page Dec 9, 2024 · 3 revisions

Fonctionnalités SMART

1. Chargement et fusion de fichiers CSV

  • Spécifique : Permet de charger des fichiers CSV dans le programme et de fusionner leurs contenus en une seule table.
  • Mesurable : Le programme vérifie que les en-têtes des fichiers sont identiques avant la fusion et rejette ceux qui ne correspondent pas.
  • Atteignable : La fusion est possible uniquement si les en-têtes sont strictement identiques ou compatibles.
  • Réaliste : Les fichiers CSV du répertoire courant sont listés, et l’utilisateur peut choisir celui à ajouter par un numéro.
  • Temporellement définie : Cette opération se fait en temps réel avec un retour immédiat.

2. Visualisation des données

  • Spécifique : Permet d’afficher les données actuelles sous une forme alignée pour faciliter la lecture.
  • Mesurable : Toutes les colonnes du CSV et leurs données sont affichées avec une largeur prédéfinie pour chaque colonne.
  • Atteignable : Accessible à l’utilisateur via la commande view.
  • Réaliste : Basé sur un alignement dynamique des colonnes pour une présentation propre.
  • Temporellement définie : Les données sont affichées instantanément après l’exécution de la commande.

3. Tri des données

  • Spécifique : Permet de trier les données actuelles selon une colonne spécifiée par l'utilisateur, avec une option pour un tri inversé.
  • Mesurable : L’utilisateur choisit une colonne par numéro, et les données sont triées selon cette colonne en ordre croissant ou décroissant.
  • Atteignable : Implémenté à l’aide de fonctions de tri standard sur les listes en Python.
  • Réaliste : Fonction accessible même pour de grands datasets, dans la limite des capacités de la mémoire.
  • Temporellement définie : Le tri est effectué dès que la colonne et l’ordre sont confirmés par l’utilisateur.

4. Exportation des données

  • Spécifique : Les données actuelles peuvent être exportées dans un fichier CSV avec un nom donné par l'utilisateur.
  • Mesurable : L’utilisateur est invité à entrer un nom de fichier, et le programme écrit les données et les en-têtes dans ce fichier.
  • Atteignable : Fonction implémentée via des bibliothèques standards Python pour la manipulation des fichiers CSV.
  • Réaliste : Compatible avec tous les systèmes d'exploitation où Python est installé.
  • Temporellement définie : L’exportation se fait en une seule étape, immédiatement après confirmation.

5. Gestion des erreurs

  • Spécifique : Le programme inclut des vérifications pour éviter les erreurs courantes (ex. : incompatibilité des en-têtes, colonnes inexistantes, entrées invalides).
  • Mesurable : Les erreurs sont affichées à l'utilisateur avec des messages clairs (par ex., "L'en-tête ne correspond pas").
  • Atteignable : Fonction basée sur des exceptions Python et des contrôles conditionnels.
  • Réaliste : Gestion simple et robuste pour des erreurs courantes liées aux données ou aux entrées utilisateur.
  • Temporellement définie : Les erreurs sont détectées et signalées immédiatement pendant l'exécution.

6. Interaction conviviale en ligne de commande

  • Spécifique : Le programme fournit une interface interactive pour saisir des commandes comme add, view, sort, et export.
  • Mesurable : Les utilisateurs peuvent voir un message d'introduction, des invites claires, et taper des commandes intuitives.
  • Atteignable : Utilise la bibliothèque cmd de Python pour une expérience interactive.
  • Réaliste : Fonction simple pour les utilisateurs ayant des compétences de base en ligne de commande.
  • Temporellement définie : L'interaction est immédiate et continue tant que le programme est actif.

7. Extensibilité pour des fonctionnalités futures

  • Spécifique : Le code est structuré pour permettre l’ajout facile de nouvelles fonctionnalités (par ex., statistiques, visualisations).
  • Mesurable : Une nouvelle commande peut être ajoutée en créant une méthode dans la classe CsvNexusShell.
  • Atteignable : S'appuie sur une architecture modulaire.
  • Réaliste : Encourage la maintenance et l’évolution du programme.
  • Temporellement définie : Peut être fait rapidement, en respectant les standards de codage existants.