Rapport de projet, vie d'un écosystème simplifié, développement d'une application, modélisation, base de données, plateforme GitLab, pgadmin4, méthode de repérage, algorithme d'Axel Chassard, algorithme de Dijsktra, diagramme UML
Ce projet s'intéresse à la modélisation d'un écosystème simplifié. L'application développée présente une grille de jeu comprenant un ensemble de terrains (une rivière, une forêt, une plaine, un volcan et quelques ponts permettant de traverser la rivière) desquels les animaux dépendent pour leurs déplacements, mais également sur lesquels ils interagissent. Grâce à cette modélisation, nous sommes en mesure d'étudier les évolutions d'un écosystème avec des effectifs d'animaux variables, avec plus ou moins de prédateurs, et sur une durée variable. Cela nous permet de contrôler cette évolution. Les différents constantes et paramètres que nous utilisons pour instancier les animaux (nombre de petits, nombre de points de santé initiaux...) sont issus de recherches sur chaque espèce.
[...] C'est pour cette raison que nous avons commencé à développer l'interface aussi tôt. En théorie, nous étions supposés commencer la rédaction du rapport de projet plus tôt que celle-ci n'a réellement débuté. Dans la pratique nous avons été amenés, un peu avant les vacances, à fusionner les deux codes pour lier les animaux et leur environnement à l'interface et produire la carte (dont vous pouvez avoir un aperçu dans le dossier annexe contenu dans l'archive). Pour ce qui est de la rédaction des rendus attendus; nous avons pris du retard par rapport au prévisionnel dans la mesure où plusieurs méthodes ne fonctionnaient pas et nous avons préféré nous concentrer sur la phase de débogage plutôt que de mener les différentes activités de front. [...]
[...] Cette perspective nous a conduits à développer finalement la méthode de repérage d'un prédateur dans la classe Animal. Nous avions proposé, dans le rapport d'analyse, la possibilité d'ajouter un attribut taille afin d'accroître les relations logiques entre les animaux (que la martre ne soit pas capable de manger une vache par exemple). En ajoutant cet attribut dont la définition repose sur un système hiérarchique plus ou moins arbitraire (la taille des animaux s'étend de 1 à 4 où la taille 4 correspond aux animaux les plus imposants) nous pouvions faire en sorte que les carnivores d'espèces différentes soient mangeables. [...]
[...] Nous procédions ensuite case par case en faisant en sorte que les animaux se déplacent d'abord en fonction des colonnes puis en fonction des lignes. Le tout reposait donc sur un calcul de différence entre les coordonnées de la case renvoyée par la méthode de repérage et la position de l'animal. Comme évoqué précédemment dans le rapport d'analyse, l'objectif de notre simulation était de limiter le plus possible l'aléatoire dans le comportement des animaux de sorte à reproduire un simili d'instinct. [...]
[...] Nous avons simplement supprimé cette fonctionnalité. Les charognards pourront donc se nourrir pendant plusieurs tours sur le même cadavre ; celui-ci sera supprimé de la faune avec la fonction de nettoyage dont nous avons réduit le nombre de tours avant appel. (Cette solution aide les charognards à survivre plus longtemps ; répondant donc à un souci d'équilibre) Affichage Nous avons commencé par implémenter une carte dont les différents terrains étaient représentés par une palette de couleurs. Dans un second temps, il nous est apparu plus esthétique d'associer auxdits terrains une icône représentant ainsi plus facilement les éléments qui composent l'écosystème. [...]
[...] C'est pendant cette partie du projet que nous avons eu l'occasion de rajouter le développement de la base de données via pgadmin4. L'échange d'information et la communication entre nous se sont donc révélés cruciaux pour éviter de perdre du temps à déboguer une méthode qui l'aurait déjà été par un autre membre du groupe. Au vu du temps consommé par les mises à jour du code lorsque nous étions plusieurs à travailler simultanément, à distance, sur des problèmes intrinsèquement liés, il est probable que cette approche n'ait pas été la plus optimale. [...]
Source aux normes APA
Pour votre bibliographieLecture en ligne
avec notre liseuse dédiée !Contenu vérifié
par notre comité de lecture