Mini-Projets C++

Télécharger au format pdf ou txt
Télécharger au format pdf ou txt
Vous êtes sur la page 1sur 5

Mini Projet C++

Partie 1 : Travail demandé


1- Objectif
L’objectif de ces mini-projets est de développer une application permettant de mettre en
application toutes les notions que vous êtes en train de voir durant le cours et le TP de
Programmation Orienté Objet (appliquée au langage C++).
Vous êtes invité à utiliser toutes les notions vues à savoir : Classe, Objet, Constructeur,
Association, agrégation, composition, l’héritage, le polymorphisme, les Collections, les
Template, exceptions et les Fichiers... Notez qu’il sera essentiel de pratiquer la
programmation défensive c’est à dire utiliser les exceptions, prendre en compte tous les cas
particuliers et faire les tests unitaires.

2- Compte Rendu à rendre :


- Durant la séance réservée pour discuter vos sujets et qui aura lieu juste après les
vacances durant vos séances de TP
- un petit rapport qui contient la description du mini- projet, le diagramme de classes, et
un plan détaillé des tâches à accomplir pour réaliser le projet. Chaque trinôme doit
profiter des vacances pour répartir les tâches entre eux et de se contacter par email ou
en visioconférence pour préparer ensemble le rapport demandé.

- lors des soutenances qui auront lieu à la fin du semestre


Le compte rendu sera un document incluant :
 Description des acteurs du système et de leurs fonctionnalités.
 Description détaillée des classes utilisées ( un diagramme de classe).
Le code de l’application sera fourni sur un CD.

3- Evaluation du Projet
Le projet se fera par Trinôme (de même groupe et avec le même enseignant de TP),
chacun étudiant sera évalué individuellement. L’évaluation sera faite à la fin du semestre.
Toute tentative de fraude (copie) sera immédiatement sanctionnée par un Zéro.
A la fin du semestre avec les examens une séance de TP sera entièrement consacrée pour
l’évaluation de la totalité de l’application (la date vous sera communiquée par
l’enseignant(e) de TP). Cette évaluation se déroulera sous la forme d’une soutenance avec
une présentation sous forme de vidéo-projection. L’enseignant évaluateur jugera le travail
dans sa globalité (travail de développement, complexité de la tâche effectuée et
soutenance).
L'étudiant qui s'absente le jour de la soutenance aura un Zéro Il est inutile
d'envoyer son travail par mail ou d'aller contacter un autre enseignant de TP.

Partie 2 : Liste des sujets


Nous proposons dans cette partie la description de sujet pour lesquels vous avez été affecté.

Chaque Trinôme doit définir le diagramme de classe Général qu’il compte développer (vous
chercherez comment définir un diagramme de classe en UML, pour cela vous pouvez vous
aider d’internet). Vous aurez à faire au minimum deux classes par Etudiant. Le diagramme
de classe sera être validé et noté par l’enseignant de TP lors de la première séance de mini
projet juste après les vacances de Mars.

Sujet N°1 : Gestion d’un championnat de tennis


Les organisateurs d’un championnat de tennis vous demandent d’informatiser une
application en C++ pour planifier des parties tennis qui vont avoir lieu lors du championnat.
La compétition se déroulera sous la forme de partie (les éliminatoires, huitièmes, quarts et
demi finales, match pour la troisième place et finale). 32 participants seront acceptés pour
ce tournoi. Lors de la phase d’élimination, chaque joueur jouera trois matchs, les deux
joueurs seront choisis de façon aléatoire à chaque fois. Seront sélectionnés les joueurs qui
obtiennent les meilleurs scores (soit tous les matchs gagnés, soit deux matchs…).
Les parties se dérouleront sur plusieurs terrains. La commission d’organisation des parties
met à la disposition des supporters des tickets pour chaque match et ceux-ci peuvent
réserver à l’avance leurs tickets.
Les prix des tickets varient en fonction de l’avancement dans la compétition. Les billets de la
finale sont les plus chère. Un terrain contient un nombre limité de place, une capacité
maximale (nombre de chaises disponibles). Par conséquence, les supporteurs ne peuvent
réserver des tickets que si la capacité maximale n’est pas atteinte. Chaque joueur est
identifié par un numéro unique et est désigné par un nom, un prénom et une date de
naissance…
L’application devra posséder au minimum certaines fonctionnalité tel que :
 Permettre l’ajout et la suppression d’un joueur, d’un terrain, ….,
 Permettre la consultation et la rechercher d’un joueur, d’un score, d’un match…
 Permettre de sauvegarder et d’afficher les résultats…
 Permettre de faire une recherche à partir d’une information (nom, terrain…)

La liste des besoins exprimés ci-dessus n’est pas exhaustive. Vous devez ajouter les
fonctionnalités que vous jugez nécessaires pour pouvoir organiser correctement ce
championnat, afficher les résultats obtenus, les joueurs éliminés, le gagnant du
championnat…

Sujet N°2 : Gestion du matériel informatique dans une société


On vous demande de développer une application qui permet de gérer le matériel
informatique dans une société en C++. L’application va devoir permettre de gérer le
différent matériel disponible : serveurs, ordinateurs, tablettes, ordinateur portable, les
câbles, les périphériques… (à vous de finir une liste qui seront pris en compte par votre
application…).
L’application devra posséder au minimum certaines fonctionnalités telles que :
 Permettre l’ajout et la suppression d’un nouveau matériel,
 Permettre la consultation et de rechercher un matériel (liste, informations détaillées),
 Permettre de sauvegarder, et d’afficher tout ce qui appartient à la société,
 Permettre de faire une recherche à partir d’une information (nom, référence etc.),

La liste des besoins exprimés ci-dessus n’est pas exhaustive. Vous devez ajouter les
fonctionnalités que vous jugez nécessaires.
Sujet N°3 : Gestion des vols d’une compagnie aérienne
On vous demande de définir une application complète qui offre les fonctions standards de
gestion des vols d’une compagnie aérienne. Il existe plusieurs vols vers différentes
destinations possibles (ville départ et ville d’arrivée). Pour chaque destination la compagnie
propose différents trajets à différents prix. Un trajet est ouvert à la réservation et refermé
sur ordre de la compagnie. Un client peut réserver un ou plusieurs trajets, pour un ou
plusieurs passagers. Un client ne peut être que sur un seul vol à la fois à une date donnée. Il
peut par contre enchaîner plusieurs trajets les un après les autres en respectant les horaires
de départ et d’arrivée.
L’application devra posséder au minimum les fonctionnalités suivantes :
 Ajout une nouvelle destination pour une compagnie,
 Réservation d’un trajet pour un client, dans ce cas il faut vérifier les disponibilités, le
nombre de places...
 Supprimer un trajet, dans ce cas il faut prévenir l’ensemble des passagers qui ont réservé.
 Afficher la liste des passagers pour un trajet donné.
 Rechercher, ajouter, supprimer… un passager.

La liste des besoins exprimés ci-dessus n’est pas exhaustive. Vous devez ajouter les
fonctionnalités que vous jugez nécessaires.

Sujet N°4 : Gestion du parc des voitures d’un ministère


On vous demande de développer une solution complète de Gestion du parc des voitures
d’un ministère. Les voitures peuvent être soit réservées par un fonctionnaire qui doit
effectuer une mission, soit affecté à un fonctionnaire pour une longue durée (voiture de
fonction) dans ce cas elle apparait comme un avantage en nature sur sa fiche de paie, soit
enfin elles sont utilisées par les chauffeurs du ministère qui les restituent chaque soir.
Chaque voiture a un emplacement précis sur un des parkings du ministère. Un centre de
réservation permet de recevoir les demandes de chacun. L'application devra permettre de
visualiser les voitures disponibles et leurs emplacements sur le parking du ministère. Les
voitures peuvent être réservées pour une courte ou une longue durée. Seules les voitures
disponibles peuvent être réservées.
L’application devra posséder au minimum les fonctionnalités suivantes :
 Permettre l’ajout et la suppression d’une réservation,
 Permettre la consultation des caractéristiques d’une voiture, l’emplacement de la voiture,
 Insertion d’une nouvelle voiture achetée par le ministère, supprimer une voiture
accidentée…
 Permettre de sauvegarder ou consulter une réservation à partir d’un fichier,

La liste des besoins exprimés ci-dessus n’est pas exhaustive. Vous devez ajouter les
fonctionnalités que vous jugez nécessaires.

Sujet N°5 : Gestion d’une chaîne d’hôtel


Une chaîne d’hôtel (plusieurs hôtels) vous demande de développer une application C++ pour
gérer tous ces hôtels. Il s’agit de gérer la réservation des chambres, des salles de congrès, et
des salles de mariage… que la chaîne d’hôtel possède.
Seuls les personnels du service réservation est habilité à effectuer les réservations (sous
réserve de disponibilité). Il existe pour chaque entité à réserver certaines caractéristiques
telles que la capacité (nombre de place assises, nombre de lits), prix, date de disponibilité...
Un client peut réserver différentes entités pour une même date à différents endroits.
 Pour chaque client il faut vérifier la disponibilité, prendre en considération la taille de la
salle ou de la chambre, vérifier le nombre de place dans la salle …
 Mettre à jour au fur et à mesure chaque réservation faite, pour ne pas réserver deux fois
une même salle ou une même chambre pour deux clients différents à une même date.
 Editer et afficher toutes les réservations d’une journée, d’une semaine, d’un mois... selon
un critère ou plusieurs critères de choix.

La liste des besoins exprimés ci-dessus n’est pas exhaustive. Vous devez ajouter les
fonctionnalités que vous jugez nécessaires.

Sujet N°6: Gestion d'un jardin d'enfants


Un jardin d’enfant vous demande de développer une application C++ pour gérer son
administration.
Ce jardin d'enfants emploie plusieurs employés (instituteurs, ouvriers, etc.) et gère
plusieurs élèves inscrits à des différents niveaux (préparatoire, crèche, etc.). Son local
comporte un nombre de salles destinées : aux clubs (musique, danse, anglais,
informatique, etc.), à l'administration, aux études, la cantine, etc. Les activités, les études,
les vacances, les fêtes, les menus de repas proposés aux élèves, ainsi que le paiement des
salaires des employés, suivent un calendrier préparé d'avance.
L’application devra posséder au minimum les fonctionnalités suivantes :
 telles que : la gestion des inscriptions des élèves avec leurs différents niveaux et clubs,
- la gestion des salles, des employés, la fête de fin d'année avec son programme, etc.
- Permettre de sauvegarder ou consulter une réservation à partir d’un fichier,

La liste des besoins exprimés ci-dessus n’est pas exhaustive. Vous devez ajouter les
fonctionnalités que vous jugez nécessaires.

Sujet 7 : Gestion d'une agence immobilière


Une agence immobilière vous demande de développer une application C++. Cette agence
met en relation les personnes qui sont à la recherche d'un logement à acheter ou à louer
et celles qui en ont de disponibles soit à la vente soit à la location. L'agence peut aussi
gérer les problèmes quotidiens (des réclamations / des suggestions) des propriétaires et
des locataires en leur servant d'intermédiaire. Dans le cadre de la gestion locative, la
mission de l'agence est de : rechercher un locataire, rechercher un logement, établir les
contrats, les quittances de loyer, etc. En contre partie du temps gagné par les clients,
pour une vente ou une location d'un bien immobilier (maison, dépôt, appartement,
terrain, immeuble, etc.), l'agence perçoit un pourcentage sur la valeur du bien ou du
loyer à la signature de l'acte notarié ou du contrat de location.
L’application devra posséder au minimum les fonctionnalités suivantes :
 telles que : la gestion des biens disponibles,
- la gestion de ces clients, des loyers, des commissions perçues...
- Permettre de sauvegarder ou consulter une réservation à partir d’un fichier,

La liste des besoins exprimés ci-dessus n’est pas exhaustive. Vous devez ajouter les
fonctionnalités que vous jugez nécessaires.
Sujet 8: Gestion d'une usine de menuiserie de bois
Une usine de menuiserie de bois vous demande de développer, en C++, une application
pour gérer les commandes des clients et des fournisseurs, ainsi que les divers ateliers.
Cette usine conçoit, fabrique et pose des aménagements extérieurs (fenêtres, portes,
vitrines, vérandas, etc.) et intérieurs (escaliers, portes, placards, cloisons, etc.). Dans
cette usine, les employés sont répartis sur des ateliers de travail pour assurer :
- Le traçage des plans des éléments de menuiseries sur mesure ou en série.
- La découpe, assemblage et montage des éléments de menuiserie fabriqués avec du PVC,
BLC (Bois Lamellé-Collé), etc.
- Le vitrage et la fermeture des éléments de menuiseries fabriqués.
- La peinture et la pose des éléments sur les chantiers.
Dans cette usine, on utilise des machines de découpe et d'assemblage à commande
numérique, mais aussi des outils plus traditionnels (scie, perceuse, visseuse, fraiseuse,
etc.).
Définir les classes et les méthodes nécessaires pour élaborer ce système ; tel que : la
gestion : des commandes des matières premières, des commandes des clients, des
employés (salaires, congés, etc.), des ateliers de travail, des dépenses et des bénéfices de
l'usine.

La liste des besoins exprimés ci-dessus n’est pas exhaustive. Vous devez ajouter les
fonctionnalités que vous jugez nécessaires.

Vous aimerez peut-être aussi

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy