Université de la Méditerranée Académie d Aix Marseille École Supérieure d Ingénieur de Luminy Département ES2I Projet POO Plan de Gestion du Projet Population de Bugs en évolution Réalisé par: Encadré par: Mr Marc Daniel et Mr Sébastien Mavromatis
Sommaire I Contexte du projet...3 II Découpage modulaire...4 III Risques du projet...5 1) Les risques du projet...5 2) Les mesures de prévention des risques...5 V Description du cycle de développement...7 1) Description des principales phases...7 2) Liste des tâches pour chaque phase...7 VI Estimation du projet...9 1) Ressources logicielles et matérielles du logiciel...9 2) Planification des coûts...9 2
I Contexte du projet L objet de ce projet est la réalisation d une simulation d évolution pour une population de créatures vivantes appelées bugs. Le jeu se déroule dans un environnement présentant des obstacles, et dans lequel plusieurs équipes de bugs sont en compétition. Il s agit d un projet universitaire. (étant entendu que l université conserve les droits sur les productions des étudiants.) Ce document s'inscrit dans le cadre de la mise en oeuvre du projet de Programmation Orienté Objet. Il nous permet de détailler le plan qu on s est fixé pour gérer notre projet. L objectif est de développer un logiciel ayant pour origine un projet de Programmation Orientée Objet en utilisant le langage de programmation C++, les méthodes de Conception Orientée Objet ainsi que les documents nécessaires au suivi (mentionnés dans la section livrable.) Le Besoin exprimé est donc de réaliser le projet en suivant les méthodes vues dans les cours de Programmation, Génie Logiciel et Conception Orientée Objet. Le But premier est de faire travailler les étudiants, plus que de développer un logiciel compétitif, car le marché actuel comporte déjà de nombreux équivalents, très complets, en libre téléchargement sur Internet. 3
II découpage modulaire Le diagramme suivant représente les interactions entre les différents éléments du jeu : L environnement extérieur L environnement du jeu. Il y a essentiellement 3 types d interaction : L affichage graphique, L intervention de l utilisateur La simulation entre les différents éléments du jeu. Interface graphique et Sonore en 3D Affichage Intervention Utilisateur Environnement du jeu Bugs, Ressource et Obstacles 4
III Risques du projet 1) Les risques du projet Les principaux risques que nous avons identifiés durant la réalisation de notre projet sont les suivants : Connaissances techniques : o Utilisation d'apis complexes et difficiles à prendre en main o L'organisation de l'architecture o Problème de portabilité suite à l'utilisation de bibliothèques performances : o Interface graphique surchargé par trop de polygones o Lenteur des algorithmes d'interaction (vision des bugs) o Gestion des collisions Organisation : o Manque de temps pour réaliser tous les objectifs du projet 2) Les mesures de prévention des risques Pour mieux traiter les risques rencontrés, nous avons commencé le travail sur le projet le plus tôt possible. Nous avons commencé par séparer le travail d une façon cohérente en essayant de coder les modules les plus critiques le plus rapidement possible. Nous avons également testé avec beaucoup d attention les différents modules, en mettant en place des tests rigoureux. Pour mieux traiter les risques en rapport avec les Connaissances techniques, nous avons programmé étape par étape, avant d'intégrer les API et exploiter les exemples disponibles. Nous avons également analysé les conceptions des années précédentes. Pour ce qui concerne le problème de portabilité, nous avons choisi d utiliser des bibliothèques OpenSource et 100% portable. Pour mieux traiter les risques en rapport avec les Performances nous avons utilisé des modèles consommant le moins de polygones possible et exclusivement des terrains plats. Pour la question de lenteur des algorithmes d'interaction nous avons essayé de réduire la vision de bugs et segmenter l'espace avec une matrice. 5
Pour la gestion des collisions, nous avons utilisé une structure de donnée matrice pour gérer les collisions rapidement et simplement. Finalement, pour mieux traiter les problèmes d organisation, nous avons suivi le système de développement par étape, en intégrant les modules non prioritaires en dernier. 6
V Description du cycle de développement 1) Description des principales phases La création des structures de données est la première phase de développement par laquelle nous avons commencé notre projet. A l étape d après, nous avons traité l ajout et la suppression des bugs dans l espace, puis la mise en place d une interface graphique sommaire. Ensuite nous avons traité l ajout et la suppression d éléments divers dans l espace, essentiellement la nourriture et le décor. Finalement, nous avons intégré des stratégies et des interactions complexes au niveau des bugs. Au fur et à mesure de notre avancement dans le projet, nous avons essayé d améliorer l interface graphique et sonore. 2) Liste des tâches pour chaque phase Voici, ci-dessous la liste des tâches pour chaque phase : o Création des structures de données : o Développement de la classe List o Développement de la classe Matrix o Détermination des boucles principales dans le programme o L ajout et la suppression des bugs : o Création des différentes entités dérivant toutes d une entité de base o Ajout des entités dans la matrice o Implémentation des méthodes permettant le déplacement, l ajout et la suppression des bugs o Interface graphique sonore : o Intégration d API o Tests de performances graphiques o Mise en place de textures et d objets graphiques sommaires o Intégration de l interface avec la structure de données o Ajout et suppression d autres éléments : o Création et destruction dynamique d entités par d autres entités 7
o Stratégies et interactions complexes : o Codage de déplacements complexes o recherche de la politique de déplacement la plus efficace o Amélioration de l interface graphique et sonore : o Codage de l interface utilisateur et amélioration des images et du son 8
VI Estimation du projet 1) Ressources logicielles et matérielles du logiciel Chaque membre du binôme a à sa disposition un ordinateur portable muni des 2 environnements de travail (Linux et Windows) ainsi que les ordinateurs personnels des développeurs, et les ordinateurs en libre accès à l esil. Du côté des logiciels, chaque membre du binôme a à sa disposition les bibliothèques OpenSource disponibles sur Internet et les documentations associées, ainsi que les logiciels disponibles via la licence MSDN. Le binôme dispose également du compilateur gcc sous linux, lcint et gdb ainsi que le compilateur devc++ et l ide code::blocks. 2) Planification de coûts Le tableau ci-dessous représente le temps passé pour finaliser chacun des modules du projet : Liste des modules prévus Logique de déplacement et structures associées Interface graphique et sonore 17 Module d interaction utilisateur 13 Temps estimé (heure) 23 Documentation 7 Tests Au fur et à mesure 9