Flight Airelines

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

24/25

SCRUM

FLIGHT
AIRELINES
Etude préalable

Réalisé par :
Mohamed OUNISSI
Ranim BEN ARBIA
Ameni LALLAHEM
Siwar BOUMAIZA
Yassine LOGTARI
Emna ZAYANI
Safé SELMI
ETUDE PREALABLE

Description
notre projet consiste à
concevoir et developper une
plateforme en ligne spécialisée
dans la recherche et la
comparaison de prix pour des
voyages. trouver les meilleures
offres sur les vols. agit FLIGHT
AIRELINES facilite la
comparaison des prix et des
options disponibles en un seul
endroit.
SCRUM

Etude préalable

Problèmatique

Les utilisateurs, face à la multitude de sites de voyage et d'agences en ligne,


se retrouvent souvent noyés dans un flot d'informations et de prix
contradictoires pour des vols similaires. Cela rend la recherche des
meilleures offres complexes, d'autant plus que les prix des billets d'avion
fluctuent fréquemment en fonction de divers facteurs (comme la date
d'achat, la saison, les promotions temporaires).

Par ailleurs, la transparence des prix n'est pas toujours claire, ce qui
conduit à des frais cachés non pris en compte dans les comparaisons
initiales.

Solution
La solution proposée consiste à développer une plateforme en ligne
spécialisée dans la recherche et la comparaison de prix de vols,
centralisant les offres de plusieurs compagnies aériennes et agences de
voyage pour simplifier la recherche des meilleures offres.

La plateforme affichera les prix de manière transparente, incluant tous les


frais supplémentaires dès le départ, et permettra aux utilisateurs de
personnaliser leurs recherches avec des filtres avancés. Elle proposera
également des alertes de prix pour suivre les fluctuations et garantir une
expérience utilisateur fluide, avec la possibilité de réserver directement.
SCRUM

Etude préalable
Environnement de travail

1. Environnement matériel

Propriété PC 1 PC 2

Propriétaire dev (frontend) dev (backend)

Marque HP ACER

Processeur i3 intel i5 9400h

RAM 12 gb 16 gb

2. Environnement logiciel
a) Outils de développement
Outil de test :
Postman : Logiciel de test d’API

Environnement de développement intégré :


Visual Studio Code : Éditeur de code léger, extensible et open source développé par
Microsoft supportant un très grand nombre de langages grâce à des extensions.
SCRUM

Etude préalable
b) Gestion de projet
Trello : Outil de gestion de projet basé sur Kanban utilisé pour organiser les tâches,
suivre l’avancement et collaborer avec l’équipe

Jira : Outil de gestion de projet offrant des fonctionnalités avancées pour le suivi des
bugs et des sprints

c) Base de données
MongodDB : Base de données NoSQL pour stocker les données sous forme de
documents JSON, utilisée pour la persistance des données dans l'application.

d) Développement web
Développement Backend
NodeJS : Environnement d'exécution JavaScript côté serveur permettant de créer des
applications backend avec Express.js.

ExpressJS : Framework web pour Node.js, facilitant la création d’API RESTful et la


gestion des requêtes HTTP.

Développement frontend
ReactJS : Bibliothèque JavaScript pour construire des interfaces utilisateur
dynamiques, facilitant le développement de composants réutilisables.

e) Conception
Draw.io : un outil en ligne qui permet de créer facilement des diagrammes variés, tels
que des organigrammes, des diagrammes UML
SCRUM

Etude préalable
Etude de la concurrence
Identification des concurrents directs et indirects
Concurrents directs :
Ce sont des plateformes qui offrent des services similaires, c’est-à-
dire des comparateurs de prix pour des vols.
Exemples :
Kayak : Moteur de recherche de voyages qui compare les prix
des vols, hôtels et voitures.
Google Flights : Outil gratuit pour rechercher et comparer les
vols.
Momondo : Plateforme de comparaison de prix axée sur les vols,
avec des filtres détaillés et des options de voyage flexible pour
aider à trouver des offres économiques.
Concurrents indirects :
Ce sont des plateformes qui proposent des services similaires ou
liés, mais qui ne se concentrent pas exclusivement sur les vols.
Exemples :
Booking.com : Bien que principalement axé sur les réservations
d’hôtels, ils offrent aussi des vols.
Expedia : Plateforme qui inclut non seulement des vols mais
aussi des séjours, voitures, et activités.
SCRUM

Etude préalable
La cible
Cible principale : les voyageurs
Voyageurs individuels : Ceux qui recherchent les meilleures offres sur les
vols.
Familles et groupes : Ceux qui recherchent des tarifs avantageux pour
plusieurs personnes.
Voyageurs fréquents : Ceux qui prennent régulièrement l'avion et
cherchent à optimiser leurs frais de voyage.

Cible secondaire : les agences de voyages


Agences en ligne et traditionnelles :Ce sont les agences de voyages qui
aident les gens à réserver des billets d'avion et des hôtels, … elles peuvent
utiliser la plateforme pour comparer les prix des vols et trouver de bonnes
affaires pour leurs clients et pour gagner du temps et avoir plus de choix en
un seul endroit au lieu de chercher partout.

Compagnies aériennes
Les compagnies aériennes peuvent être intéressées à promouvoir leurs
offres directement via la plateforme, en y affichant leurs tarifs les plus
compétitifs.
SCRUM

Spécification des besoins


Besoins fonctionnels

En tant que Voyageur je veux :


M’inscrire
M’authentifier
Me déconnecter
Consulter les offres
Consulter les destinations possibles
Réserver les billets depuis l’agence choisie

En tant que administrateur je veux :


M’authentifier
Me déconnecter
Gérer les utilisateurs
Gérer les billets
Gérer les destinations
SCRUM

Spécification des besoins

Besoins non fonctionnels

1. Performance
Mesure :
Temps de réponse : Utilisez des outils comme Lighthouse, New
Relic, ou Google PageSpeed Insights pour mesurer le temps de
chargement des pages, l'exécution des requêtes et les
performances côté serveur.
Tests de charge : Outils comme JMeter, Locust, ou Gatling pour
simuler plusieurs utilisateurs simultanés et mesurer la capacité de
l'application à répondre sous une charge élevée.

Assurance :
Optimisation du code
Mise en cache
SCRUM

Spécification des besoins

Besoins non fonctionnels

2. Réutilisabilité
Mesure :
Modularité : Analysez la séparation des préoccupations à
travers le code (par ex. via SOLID principles). Vérifiez si les
composants sont conçus indépendamment et facilement
intégrables ailleurs.

Tests unitaires : Un bon niveau de tests unitaires aide à


garantir la réutilisabilité. Un coverage élevé avec des outils
comme Jest, Mocha, ou JUnit est un indicateur de composants
bien isolés et testables.
Assurance :
Design patterns : Utilisez des patrons de conception comme
Factory, Singleton, et Decorator pour faciliter la réutilisation.
Bibliothèques partagées : Créez des bibliothèques ou
modules externes réutilisables qui peuvent être installés et
utilisés dans d'autres projets.
SCRUM

Spécification des besoins

Besoins non fonctionnels

3. Maintenabilité
Mesure :
Qualité du code : Outils comme ESLint, Prettier, ou
SonarQube pour mesurer les erreurs, la lisibilité du code, et les
problèmes de complexité.
Couverture des tests : Plus il y a de tests (unitaires,
d'intégration, end-to-end), plus la maintenance est facilitée et
les régressions sont évitées.

Assurance :
Révision de code : Mettez en place un processus de revue de
code régulier pour identifier les erreurs avant qu'elles ne
deviennent des problèmes majeurs.
SCRUM

Spécification des besoins

Besoins non fonctionnels

4. Sécurité
Mesure :
Tests de pénétration : Effectuez des tests de pénétration
réguliers avec des outils comme Metasploit, ou faites appel à des
experts pour simuler des attaques réelles.

Assurance :
Authentification et autorisation : Implémentez des mécanismes
de sécurité robustes comme JWT
SCRUM

Diagramme de cas
d’utilisation global
SCRUM

Architecture
physique
SCRUM

Architecture
logique

La figure illustre le modèle architectural MVC (Modèle-Vue-Contrôleur) utilisé


dans le développement des systèmes d'information. L'utilisateur commence en
interagissant avec la Vue (interface utilisateur), par exemple en cliquant ou en
remplissant des formulaires. La Vue transmet l'interaction au Contrôleur, qui sert
de médiateur entre l'utilisateur et la logique de l'application. Le Contrôleur traite
la demande, puis interagit avec le Modèle, qui gère les données en
communiquant avec la base de données. Après récupération ou mise à jour des
données, le Modèle renvoie les informations au Contrôleur, qui les transmet à la
Vue. La Vue affiche ensuite le résultat à l'utilisateur, bouclant le cycle. Cette
structure garantit une architecture claire, maintenable et évolutive.
SCRUM

Architecture
logique
SCRUM

Diagramme de
classe

Vous aimerez peut-être aussi