Skip to content

BenAfonso/Piscine

Repository files navigation

Piscine

A FAIRE

Mehdi:

  • EnsReservations (+Structure de données)
  • Reservation

Jean:

  • EnsEmprunts (+Structure de données)
  • Emprunt

Rahim:

  • EnsExtensions (+Structure de données)

Vincent:

  • Extension (+Spécification fonctionnelle)

==>Extension

  • On peut reserver une extension sans avoir reservé le jeu de base
  • On peut reserver une extension et un jeu (SEULEMENT si l'extension lui appartient)
  • On peut reserver une seule extension
  • Recuperer le nombre d'extension d'un jeu
  • Recuperer le nombre d'extensions disponibles
  • Recuperer une Extension
  • Ajouter une extension
  • Supprimer une extension
  • Modifier une extension

Projet Piscine IG3

Gestion d'une ludothèque


#Class Connexion

Structure de données:

  • username: string
  • password: string

Spécification fonctionnelle:
est_valide: Connexion -> Bool
creer_session: Connexion -> Session
(1) creer_session <=> est_valide(Connexion)


#Class Session

Structure de données:

  • User: Utilisateur
  • admin: Bool

Spécification fonctionnelle:
est_admin: Session -> Bool
set_admin: Session x Bool -> Session
get_id: Session -> Int


#Class Utilisateur

Structure de données:

  • user_id: Int
  • username: STRING
  • password: STRING
  • abonnementValide: Bool
  • empruntEnCours: Bool
  • reservationEnCours: Bool
  • nbRetard: Int

Spécification fonctionnelle:
get_user_id: Utilisateur -> String
get_username: Utilisateur -> String
get_password: Utilisateur -> String
get_abonnementValide: Utilisateur -> Bool
get_empruntEnCours: Utilisateur -> Bool
get_reservationEnCours: Utilisateur -> Bool
get_nbRetard: Utilisateur -> Int

set_username: Utilisateur x String -> Utilisateur
set_password: Utilisateur x String -> Utilisateur
set_abonnementValide: Utilisateur x Bool -> Utilisateur
set_empruntEnCours: Utilisateur x Bool -> Utilisateur
set_reservationEnCours: Utilisateur x Bool -> Utilisateur
set_nbRetard: Utilisateur x Int -> Utilisateur

est_admin: Utilisateur -> Bool
make_admin: Utilisateur ->
delete_user: Utilisateur ->
save: Utilisateur ->


#Class Jeu

Structure de données:

  • Jeu_id: Int
  • Nom_jeu: STRING
  • Annee: STRING
  • Editeur: STRING
  • AgeMini: STRING
  • NombreJoueur: STRING
  • Description: TEXT

Spécification fonctionnelle:
get_Nom_jeu: Jeu -> String
get_AgeMini: Jeu -> String
get_Description: Jeu -> String
get_Jeu_id: Jeu -> Int
get_nombre_exemplaires: Jeu -> Int
get_nombre_exemplaires_dispo: Jeu -> Int
get_NombreJoueurs: Jeu -> String
get_Editeur: Jeu -> String
get_Annee: Jeu -> String

set_Nom_jeu: Jeu x String -> Jeu
set_AgeMini: Jeu x String -> Jeu
set_Description: Jeu x Text -> Jeu
set_NombreJoueurs: Jeu x String -> Jeu
set_Editeur: Jeu x String -> Jeu
set_Annee: Jeu x String -> Jeu

save: Jeu ->


#Class Exemplaire

Structure de données:

  • Exemplaire_id: Int
  • Jeu_id: Int
  • Est_disponible: Bool

Spécification fonctionnelle:


get_Jeu_id: Exemplaire -> Int
get_Exemplaire_id: Exemplaire -> Int
get_Est_disponible: Exemplaire -> Bool



set_Jeu_id: Exemplaire x Int -> Exemplaire
set_Est_disponible: Exemplaire x Bool -> Exemplaire

save: Exemplaire ->

#Class Reservation

Structure de données:

  • Reservation_id = int
  • user_id = int
  • Jeu_id = int
  • Extension_id = int
  • Exemplaire_id = int
  • date_Reservation = date
  • Terminer = bool

Spécification fonctionnelle:


get_Reservation_id: Reservation -> Int
get_user_id: Utilisateur -> Int
get_Jeu_id: Jeu -> Int
get_Extension_id: Extension -> Int
get_Exemplaire_id: Exemplaire -> Bool
get_date_Reservation: Reservation-> date
get_Terminer: Reservation -> Bool


set_Reservation_id: Reservation x int-> Reservation
set_user_id: Utilisateur x int -> Utilisateur
set_Jeu_id: Jeu x int -> Jeu
set_Extension_id: Extension x int -> Extension
set_Exemplaire_id: Exemplaire x int -> Exemplaire
set_date_Reservation: Reservation x date -> Reservation
set_Terminer: Reservation x Bool -> Reservation


Modules

EnsUtilisateurs

Fonctions:

  • createTable(): Crée la table EnsUtilisateurs
  • destroyTable(): Detruit la table EnsUtilisateurs
  • has_username(username): Renvoie True si un utilisateur est enregistré au même nom
  • is_password(password,User): Renvoie True si c'est le mot de passe de User
  • get_nombre_utilisateurs(): Renvoie le nombre d'utilisateurs
  • get_user(user_id=None,username=None): Renvoie un type Utilisateur à partir de l'id et/ou de l'username
  • delete_user(User): Supprime un utilisateur de la base de données
    (1) Si un utilisateur est admin, le supprime aussi de EnsAdmins
  • user_to_table(User): Renvoie une liste avec les attributs d'un type Utilisateur
  • insert(User): Insert un type Utilisateur dans la base de données
  • printAll(): Renvoie un tableau avec tous les utilisateurs

EnsAdmins

Fonctions:

  • createTable(): Crée la table EnsAdmins
  • destroyTable(): Detruit la table EnsAdmins
  • est_admin(User): Renvoie True si l'Utilisateur est admin
  • delete_admin(User): Supprime un statut admin de la base de données
    (1) Ne supprime pas l'utilisateur associé
  • insert(User): Insert un type Admin dans la base de données
  • printAll(): Renvoie un tableau avec tous les admins

EnsJeux

Fonctions:

  • createTable(): Crée la table EnsJeux
  • destroyTable(): Detruit la table EnsJeux
  • jeu_to_table(Jeu): Renvoie les attributs d'un Jeu sous forme de liste
  • get_Jeu(Jeu_id=None,Nom_jeu=None): Renvoie un jeu associé au Jeu_id et/ou au Nom_jeu
  • delete_jeu(Jeu): Supprime un type Jeu de la base de données
    (1) Supprime les exemplaires associés (2) Vérifie si un exemplaire est emprunté
  • insert(Jeu): Insert un type Jeu dans la base de données
  • rechercher(Nom_jeu): Recherche type Jeu dans la base de données
  • update(Jeu): Update un type Jeu dans la base de données
  • printAll(): Renvoie un tableau avec tous les Jeux

EnsExemplaires

Fonctions:

  • createTable(): Crée la table EnsExemplaires
  • destroyTable(): Detruit la table EnsExemplaires
  • exemplaire_to_table(Jeu): Renvoie les attributs d'un Exemplaire sous forme de liste
  • get_nombre_exemplaires(Jeu,disponible): Renvoie le nombre d'exemplaire
    Tous: disponible = 2, Disponibles: disponible=1, Indisponibles: disponible=0
  • get_Exemplaire_dispo(Jeu): Renvoie un exemplaire disponible associé à un Type Jeu
  • delete_Exemplaire(Exemplaire): Supprime un type Exemplaire de la base de données
  • insert(Exemplaire): Insert un type Exemplaire dans la base de données
  • printAll(): Renvoie un tableau avec tous les Exemplaires

EnsReservation

Fonctions: - createTable(): Crée la table EnsReservation - destroyTable(): Detruit la table EnsReservation - Reservation_EnCours(User) : Prend en paramètre un utilisateur et renvoie si il a une reservation en cours. - get_Reservation(User) : Renvoie une reservation associé à un Type Utilisateur - Ajouter_Reservation(Reservation) : Créer une reservation pour un utilisateur - supprimer_Reservation(Reservation) : Supprime une réservation pour un utilisateur - Nombre_De_Reservation() : renvoie le nombre de Reservation - rechercher_Reservation_User(User) Trouver la reservation en cours de l'utilisateur entré en paramètre - Reservation_to_table(Reservation) Renvoie une liste avec les attributs d'un type Reservation

About

Projet Piscine IG3

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages