DevII ProjectDev2 UML Diagram - dudleydehenau/Ephec GitHub Wiki

vydch

Analyse du Diagramme UML :

Le diagramme UML représente un système de gestion de parking, avec des classes telles que Parking, Etage, Place, CSVManager et UserInterface. Chaque classe possède des attributs et des méthodes définissant son comportement dans le système. Analysons et justifions les choix de modélisation qui ont été faits.

1. Parking :

  • Attributs : name, floors, et etages.
  • Méthodes : get_name, set_name, get_floors, set_floors, get_etages, set_etages, to_csv, from_csv, reserve_place, display_available_places.

Justification : La classe Parking est la classe principale du système, représentant un parking. Les attributs name et floors décrivent le nom et le nombre d'étages du parking respectivement. La liste d'objets Etage est utilisée pour modéliser la relation d'agrégation entre Parking et Etage, car un parking est composé de plusieurs étages.

2. Etage :

  • Attributs : level et places.
  • Méthodes : get_level, set_level, get_places, set_places, to_csv, from_csv.

Justification : La classe Etage représente un étage du parking. L'attribut level indique le niveau de l'étage. La liste d'objets Place modélise la relation de composition entre Etage et Place, car un étage est composé de plusieurs places, et ces places dépendent de l'existence de l'étage.

3. Place :

  • Attributs : number, is_handicapped, commentaire, et reserved.
  • Méthodes : get_number, set_number, is_handicapped, set_handicapped, get_commentaire, set_commentaire, is_reserved, reserve, release, to_csv, from_csv.

Justification : La classe Place représente une place de parking. Les attributs number, is_handicapped, commentaire, et reserved décrivent respectivement le numéro de place, la disponibilité pour les personnes handicapées, un commentaire associé et l'état de réservation de la place.

4. CSVManager :

  • Méthodes : set_current_file, get_current_file, get_data, set_data, choose_file, save_to_csv, load_from_csv.

Justification : La classe CSVManager est utilisée pour gérer la lecture et l'écriture des données au format CSV. Elle utilise des méthodes telles que save_to_csv et load_from_csv pour sauvegarder et charger les données depuis un fichier CSV. La méthode choose_file permet à l'utilisateur de choisir un fichier CSV.

5. UserInterface :

  • Méthodes : choose_file, reserve_place, release_place, display_available_places, main_menu.

Justification : La classe UserInterface représente l'interface utilisateur du système de gestion de parking. Les méthodes telles que reserve_place et display_available_places permettent à l'utilisateur d'interagir avec le système.

Relations :

  • L'agrégation entre Parking et Etage représente le fait qu'un parking est composé de plusieurs étages.
  • La composition entre Etage et Place indique qu'un étage est composé de plusieurs places.
  • L'association entre Parking, UserInterface et CSVManager montre que la classe Parking utilise ces deux classes pour gérer les interactions utilisateur et la gestion des fichiers CSV.