View
243
Download
1
Category
Preview:
Citation preview
i
EPIGRAPHE
Un cœur intelligent acquiert la science, et l’oreille des sages
cherche la science (Proverbe 18 – 15)
« Je suis ce que je suis grâce à Dieu »
ii
DEDICACE
A mon père François MUMATE et à ma mère Célestine MBOYO,
pour son soutien inévitable depuis ma naissance jusqu’à ces jours ;
A mes frères et sœurs : Marius MUMATE, Rita MUMATE, Chantal
MUMATE, LUTONDE MUMATE, Sandra MUMATE, Jonas MUMATE, Laurette
MUMATE, Nicole MUMATE, Claude MUMATE, que ce travail soit pour vous
une référence ;
A mes proches et amis : Groupe le grain de sénevé, Aristote KONGOLO,
Landry BOLENGO, Jules PINDU, Bienvenu MASUDI, Francis KATAMBAY,
Josué KONGOLO, Yanick NSIMBA, Trudon MUNDAYI, Laurianne NGAKA,
Kevine PAMBU, Alain KASONGO, Jonathan NGOMA, Thims TSHIMANGA, Safi
LOKATA, Armel NIATI, Fabien KUMUAMBA, Belbiche MUKOSO, Lascony
MBENZA et autre.
A mon Pasteur Jean Eric WANGATA ;
Je dédie cette œuvre scientifique qui est le fruit du deuxième cycle
en informatique de gestion.
iii
AVANT-PROPOS
Il est important dans chaque formation du cycle, les étudiants
présentent un travail qui le couronne. Nous aimerons manifester notre
reconnaissance à l’égard de toute personne qui a contribué à mes études,
pour réaliser le travail de notre persévérance.
Cette opportunité nous permet de manifester notre joie envers les
autorités de l’institut supérieur de commerce ainsi que tous les professeurs,
chef de travaux et assistants qui nous ont encadrées pendant notre formation
en informatique de gestion précisément en conception.
Nous remercions de manière solennelle notre directeur MUSANGU
LUKA qui, en dépit de ses multiples occupations, a accepté de diriger ce
mémoire de fin du deuxième cycle avec rigueur.
Aussi, à toutes les personnes qui m’ont aidé avec leur financièrement,
moralement, entre autres.
Que le bon Dieu soit avec tous mes amis de la promotion.
1
Tables de matières
Epigraphe …………………………………………………………………………………………………i Dédicace ……………………………………………………………………………………………………………………………………………………ii
Avant-propos ………………………………………………………………………………………………………………………..…………………iii
Tables de matières ......................................................................................................................................... i
INTRODUCTION GENERALE ........................................................................................................................... 3
1. Mise en contexte .................................................................................................................................. 3
2. Problématique ...................................................................................................................................... 3
Travel Agency BOLINGO est une petite et moyenne entreprise de voyage qui offre le service de
transport à ses clients. .................................................................................................................................. 3
2.1. Objectif de la recherche .............................................................................................................. 4
réserver leurs places. ............................................................................................................................... 4
2.2. Question de la recherche ............................................................................................................. 4
3. Choix et Intérêt du sujet ....................................................................................................................... 4
4. Délimitation du sujet ............................................................................................................................ 5
5. Méthodologie et techniques utilisées .................................................................................................. 5
5.1. Méthode .............................................................................................................................................. 5
5.2. Techniques utilisées .......................................................................................................................... 6
6. Canevas du travail ................................................................................................................................. 6
1.2.3. Autres Concepts Informatiques ............................................................................................... 8
3.4. Identification et dénombrement des Tâches ...................................................................................... 23
3.5. Planning d’exécution des Tâche et estimation des durées ................................................................. 23
a. Tableau de Planning d’exécution des Tâches ..................................................................................... 23
D) CALCUL DES NIVEAUX ............................................................................................................................ 24
3.1.3. EVALUATION DU TEMPS ET COUTS TOTAL DU PROJET .................................................................... 24
A) ESTIMATION DES DUREES DES TACHES .................................................................................................. 24
B) ESTIMATION DES COUTS DE REALISATION DE CHAQUE TACHES ........................................................... 24
3.1.4. CONSTRUCTION DU GRAPHE P.E.R.T ................................................................................................ 25
A. GENERALITES .......................................................................................................................................... 25
B. RECHERCHE DES DATES AU PLUS TOT ET DES DATES AU PLUS TARD .................................................... 25
C. MARGES LIBRES ET MARGES TOTALES ................................................................................................... 26
D. TABLEAU DES MARGES LIBRES ET TOTALES ........................................................................................... 27
F. CONSTRUCTION DU GRAPHE .................................................................................................................. 27
3.1.5. CHOIX DU CHEMIN CRITIQUE ........................................................................................................... 27
3.1.5.1. CALCUL DU COUT ET DE LA DUREE TOTALE DU PROJET ................................................................ 28
3.1.5.2. DUREE TOTAL DU PROJET .............................................................................................................. 28
2
Afin de décrire les interactions entre les cas d’utilisation, nous présentons ces derniers de façon
textuelle. ........................................................................................................................................................ 32
Messages .................................................................................................................................................... 34
a. Faisabilité technique ........................................................................................................................... 34
b. Environnement de réalisation ............................................................................................................ 35
Choix de la plateforme de développement, SGBD et Architecture .................................................... 35
1. Plateforme .......................................................................................................................................... 35
1.2. Fonctionnement ............................................................................................................................. 35
Architecture du système ..................................................................................................................... 36
Fonctionnalités de SGBD ..................................................................................................................... 39
Par la suite ; nous reprenons le tableau présentant les acteurs et les cas d'utilisation, en affectant
chaque cas d'utilisation à un package. Nous obtenons le tableau ci-dessous : ......................................... 42
CHAPITRE III : CONSTRUCTION ET TRANSITION ..................................................................................... 50
Section 1 : CONSTRUCTION ........................................................................................................................ 50
1.1. Développement du modèle statique .......................................................................................... 50
1.2. Règles de gestion........................................................................................................................ 50
1.2.1. Dictionnaire des données ...................................................................................................... 51
1.2.2. Identification et présentation des classes ............................................................................. 52
1.2.3. Présentation des associations entre les classes .................................................................... 54
1.2.4. Diagramme de classes ........................................................................................................... 56
1.2.5. Règles de passage d’un diagramme de classe vers un modèle relationnel ......................... 57
1.2.6. Modèle relationnel :............................................................................................................... 58
1.3. Développement du modèle dynamique ..................................................................................... 61
6.4. Présentation de l’environnement de travail ............................................................................... 66
1. Matériels de base : ......................................................................................................................... 66
2. Environnement logiciel ....................................................................................................................... 66
.................................................................................................................................................................... 69
1. Ecriture de code .................................................................................................................................. 69
2. Présentation des interfaces ................................................................................................................ 71
3. Tests .................................................................................................................................................... 73
Section 7 : TRANSITION ............................................................................................................................... 74
5. Diagramme déploiements .................................................................................................................. 74
CONCLUSION ............................................................................................................................................... 75
Suggestions pour l’avenir............................................................................................................................ 75
BIBLIOGRAPHIE ............................................................................................................................................ 77
3
INTRODUCTION GENERALE 1. Mise en contexte
L’informatique a, en effet, révolutionné l’activité intellectuelle et
économique à une vitesse sans équivalent dans d’autres domaines.
Certes, le début du troisième millénaire est marqué par l’utilisation massive des techniques modernes dans tous les aspects de la vie. Et, ces techniques intègrent de plus en plus l’outil informatique.
En ce qui concerne Travel Agency BOLINGO, dans l’une de ses
activités qui est la gestion de réservation des places qui fait office de notre champ d’investigation où malgré la présence d’un outil informatique, ladite gestion demeure encore manuelle et délicate.
Cette gestion connait de nombreuses difficultés dues à une
absence d’une application web de gestion de la réservation des places.
L’étude du système de gestion de la réservation existant permettra de mettre en place une application web permettant de gérer les réservations des places en ligne. En plus l’application permettra la réduction des longues files d’attente.
Eu égard à ce qui précède, ladite entreprise de transport se doit une gestion saine en vue de favoriser la maximisation les confiances de leurs clients ainsi le bon fonctionnement de l’entreprise. Comme dit ci-haut, une gestion saine est à ce jour tributaire de l’implication de l’informatique car celle-ci fait objet d’un progrès qu’aucune discipline ne peut s’en passer.
2. Problématique
La problématique c’est l’ensemble de question posées dans une science en vue de trouve la solution.
Actuellement dans le monde, Un système d'information ne doit
pas nécessairement être informatisé. Bien que la plupart des systèmes actuels se basent sur la technologie de l'informatique, il existe encore des systèmes d’information où l'information est stockée, manipulée et communiquée à l'aide de moyens "manuel".
Travel Agency BOLINGO est une petite et moyenne entreprise de
voyage qui offre le service de transport à ses clients.
4
Pour ce faire, la situation actuelle de Travel Agency BOLINGO oblige les clients à se déplacer personnellement ou envoyer quelqu’un pour se renseigner sur la disponibilité des places et les prix. Cette situation limite la clientèle potentielle de Travel Agency BOLINGO aux seuls habitants de la ville province de Kinshasa or les réalités actuelles démontrent que le monde est devenu un petit village avec l’utilisation de la NTIC.
2.1. Objectif de la recherche
L’objectif de ce mémoire est la création d’un système qui permettra la gestion des réservations des places chez une agence de voyage Travel Agency BOLINGO. Cette agence dessert plusieurs villes (réelles ou imaginaires). Il est donc nécessaire d'enregistrer les villes, les horaires des voyage, les places disponibles sur chaque déplacement, le prix du ticket, ... etc. Le programme doit pouvoir afficher les voyages disponibles, selon les désirs des utilisateurs, et permettre aux utilisateurs de réserver leurs places.
2.2. Question de la recherche
Eu regard aux difficultés citées ci-dessus, nous nous sommes posé la question suivantes :
Comment concevoir et déployer un système en ligne pour la réservation des places dans une agence de voyage?
Voilà la question auxquelles nous essayerons de donner des réponses y relatives tout au long de notre travail.
3. Choix et Intérêt du sujet
Ayant opté pour le sujet dont la nomination est « Conception et
déploiement d’une plateforme orienté web pour la gestion de réservation des places dans une agence de transport» Travel Agency BOLINGO s’est vue retenu comme champ d’investigation.
Le choix de ce sujet de mémoire a été motivé par le souci
d’apporter notre contribution à l’informatisation du système d’information pour la gestion de réservation des places dans une agence de transport.
Sur ce, ledit choix présente un triple intérêt pour nous et pour
l’entreprise à savoir respectivement :
5
La mise en pratique de connaissances acquises durant notre cursus ; Ce mémoire nous permettra en plus d’approfondir nos connaissances
dans les domaines de développement des systèmes d’information, de conception et implémentation de base de données.
La mise en place d’un système d’information informatisé en vue de remédier aux différentes failles constatées.
4. Délimitation du sujet
Tout travail scientifique doit être examiné dans le l'espace, pour bien cerner le contour du sujet et faciliter notre démarche scientifique que nous abordons.
Sur ce, la délimitation spatiale de notre travail sur la gestion de
réservation des places précisément dans la agence de transport Travel Agency BOLINGO; et la délimitation chronologique fera objet de l’état actuel de notre champ d’investigation.
5. Méthodologie et techniques utilisées 5.1. Méthode
Par définition une méthode est un ensemble d’opérations
intellectuelles par lesquelles une discipline cherche à atteindre les vérités qu’elle poursuit en les démontrant et en les vérifiant1.
Pour la rédaction du présent travail nous avons utilisé les méthodes
ci-après :
a. Le Processus Unifié : est une méthode de développement de logiciel orienté objet, centré sur l'architecture, guidé par des cas d'utilisation et orienté vers la diminution des risques. C’est une méthode générique, itérative et incrémentale, contrairement à la méthode séquentielle Merise.
b. La Méthode PERT : PERT est une méthode qui permet en particulier de prendre en charge une multitude d’activités qui composent un projet, de les planifier en tenant compte de la logique de leur enchainement, d‘en déduire les dates de début et de fin au plutôt et au plus tard pour l’ensemble.2
c. La Méthode MPM : (Méthode des potentiels Métra) est une méthode d’ordonnancement de taches qui permet déterminer le début, la contrainte de localisation temporelle et la fin du projet.
1IKUMA, Cours de Méthode de recherche scientifique, G2 informatique de gestion, ISC(GOMBE) ,2015-2016[inédit] 2 MVIBUDULU K., Cours de théorie de graphes, L2 Informatique de gestion, ISC(GOMBE), 2015-2016 Promotion [inédit]
6
d. Méthode d’analytique : Cette méthode nous a permis d’analyser en détail les composants du système existant.
5.2. Techniques utilisées
Les techniques sont procédés opératoires, vigoureux, bien définis,
susceptibles d’être appliqués à nouveau dans les mêmes conditions adaptées au genre des problèmes ou des phénomènes en cause.
En ce qui concerne le présent travail, nous avons utilisé les techniques suivantes :
Technique d’Interview : Cette technique nous a permis de dialoguer et de poser des questions aux agents et cadres de l’entreprise pour avoir des informations sur ceux qu’ils font voir même sur ceux qu’ils pensent de l’organisation.
Technique documentaire : Elle nous a aidé de puiser d’informations dans les ouvrages, notes de cours, des travaux de fin du deuxième cycle et sur le webographie afin de compléter nos connaissances.
Technique d’observation : Cette dernière nous a permis de découvrir les comportements et les méthodes de travail des différents acteurs en les observant et les côtoyant.
6. Canevas du travail
Notre travail est intitulé : La Conception et déploiement d’une
plateforme orienté web pour la gestion de réservation des places dans une agence de transport « Cas de Travel Agency BOLINGO».
Il nous est nécessaire de subdiviser l'étude en trois grands chapitres hormis l'introduction et la conclusion générale :
Chapitre 1 : CADRAGE DU SUJET Chapitre 2 : CAPTURE DE BESOIN ET ELABORATION Chapitre 3 : CONSTRUCTION ET TRANSITION
7
CHAPITRE I : CADRAGE DU SUJET 1. Cadrage du sujet
Dans ce point, l’objectif est de définir quelques concepts informatiques de base en vue de porter une connaissance aux lecteurs de cet œuvre scientifique.
1.1. Approche d’informatisation
a) Approche Fonctionnelle
L’approche fonctionnelle est une approche qui effectue la description fonctionnelle de projet, qui définit les ressources à mettre en œuvre pour sa réalisation. Dans cette approche on établit la grille d’analyse, on effectue l’étude conceptuelle, l’étude fonctionnel, l’étude organique, etc. À l’aide de méthode classique.
b) Approche Systémique
L’approche systémique est une approche adaptée à la conduite de
changement, permettant d’aborder la complexité des interactions et facilitant la compréhension et l’élaboration des stratégies de changements.
c) Approche Orienté Objet
L’approche orienté objet considère un système d’information
comme une collection d’objets interdépendants qui fonctionnent de concert pour exécuter des taches. Il n’y a ni processus ni programmes ni entités de données ni de fichiers dans le système, mais uniquement des objets. Un objet est un élément du système qui est capable de répondre à des messages. Cette vision entièrement des systèmes exige une approche de l’analyse, de la conception et de la programmation.
1.2. Système
Un système est un ensemble des éléments en interaction dynamique poursuivant un but commun3.
1.2.1. Type des systèmes
a. Le système d’information
L’existence d’un grand nombre de flux d’information à gérer nécessite l’usage d’un système d’information. Ce dernier est défini comme étant un ensemble organisé de ressources (personnel, données, matériel, 3 MVIBUDULU A., Notes de cours de la Méthode d’analyse informatique, G2 Info, I.S.C/Kinshasa, 2012-2013, inédit
8
logiciel, etc.), permettant de collecter, mémoriser, de traiter et de distribuer les informations dans un bref délai.
b. Le système informatique
On appelle un système informatique un ensemble d’applications à
l’intérieur desquelles les échanges de données sont intenses mais dont les échanges mutuels sont relativement faibles.
L’élaboration d’une application nécessite un modèle devra
répondre au besoin des utilisateurs tout en tenant compte de l’étant de l’outil informatique, des contraintes techniques et économiques de la réalisation.
Ce modèle est conçu sur base de l’une des méthodes suivantes :
l’approche classique et l’approche base de données (ce qui est de nos jours la plus utilisée).
1.2.2. Organisation du système dans l’entreprise
L’entreprise en tant que système complexe est un ensemble avec
des sous-ensembles dont le but est commun afin d’atteindre des objectifs qu’elle s’est assignés. Ces sous-ensembles constituent eux aussi des systèmes dans un système. Il s’agit de :
a. Le système de pilotage (SP) a pour objectif d’arrêter des stratégies pour
le bon fonctionnement de l’entreprise. Il est appelé autrement système décisionnel, car il décide du sort de l’entreprise à court, moyen et long terme.
b. Le système opérant (SO) ou d’exécution a pour objectif d’exécuter les ordres provenant du système décisionnel via le système d’information et d’en faire un rapport après l’exécution.
c. Le système d’information (SI) joue le rôle de la courroie de transmission entre le système de pilotage et le système opérant. Il est un ensemble d’informations et de moyens utilisés pour exploiter ses informations. Il s’agit des moyens : matériels, humains, logiciels, financiers, …
1.2.3. Autres Concepts Informatiques
Une application : Est un programme qui aide l’utilisateur à effectuer une tâche déterminée.
Un Programme : Est un ensemble d’instructions codées qui interprètent les informations que vous donnez à l’ordinateur par l’intermédiaire du clavier ou de la souris et demandant à l’ordinateur de réaliser une tâche.
9
Un ordinateur : Est une machine électronique capable de lire les informations, les stocker, les traiter automatiquement en suivant les instructions codées (programme), et les restituer sous la forme voulue par l’utilisateur.
Elle est un ensemble de circuits électroniques permettant de manipuler des données sous forme binaire, c'est-à-dire sous forme de bits. Le mot « ordinateur » provient de la société IBM France. François Girard, alors responsable du service promotion générale publicité de l'entreprise IBM France, eut l'idée de consulter son ancien professeur de lettres à Paris, afin de lui demander de proposer un mot caractérisant le mieux possible ce que l'on appelait vulgairement un « calculateur » (traduction littérale du mot anglais « computer »).
Ainsi, Jaques Perret, agrégé de lettres, alors professeur de
philologie latine à la Sorbonne, proposa le 16 avril 1955 le mot « Ordinateur » en précisant que le mot « Ordinateur » était un adjectif provenant du Littré signifiant « Dieux mettant de l'ordre dans le monde ». Ainsi, il expliqua que le concept de « mise en ordre » était tout à fait adapté4.
Un logiciel : Est un ensemble de programme ou application spécifique conçu en vue de répondre au besoin d’une organisation donnée.
Un progiciel : C’est un produit d’un logiciel, est une application standard. Un fichier : Est un ensemble d’informations ayant trait à un groupe d’homogène ou objet.
Une donnée : Est une information représentée sous forme conventionnelle afin de pouvoir être traitée automatiquement.
1.2.4. Présentation du milieu de l’application « le Web »5
Dans les années 90, un nouveau concept de l’Internet est apparu : WWW (Word Wide Web). C’est le service qui assure l’accès à l’Internet. Il permet d’accéder et de naviguer à travers la toile. Le web c’est un ensemble structuré de pages HTML (Hypertexte Markup Langage), liées entre elles pour permettre au navigateur de passer facilement d’une page à l’autre. Le HTML est un langage qui permet d’écrire des hyper documents d’une façon descriptive à l’aide d’un marqueur le protocole le plus utilisé pour ce type de communication et le protocole HTTP (Hypertexte Transfert Protocole).
Le navigateur est désigné par une adresse URL (Uniform Ressource
Location).C’est une adresse qui contient à la fois le nom du service demandé
4 Http : //www.Commentçamarche.net 5 http://php.developpez.com/telecharger/index/categorie/210/Outils-pour-site_web dernière visite le 09/06/2016
10
et le nom du document. Le système est placé sur un serveur connecté au web. Toutes les informations seront accessibles via une simple connexion à l’Internet. Tant sur le plan technique, que sur le plan architectural, il existe actuellement deux types de site web : le site web dynamique et le site web statique. La différence entre ces deux types, c’est la présence, ou l’absence d’une base des données. Le Web est un système client-serveur dont le fonctionnement s'apparente à des relations client-fournisseur. L'ordinateur personnel, doté de son logiciel de navigation (Internet Explorer, Firefox ...), joue le rôle du client. Les ordinateurs distants sur lesquels sont hébergés les sites web sont des serveurs.
Lorsque l'on saisit l'adresse d'un site web - appelée URL - dans un
navigateur ou que l'on clique sur un lien hypertexte, le navigateur envoie une requête au serveur qui va la traiter et lui renvoyer via Internet les données demandées (page web, image, vidéo...). Le navigateur interprète les données reçues et les affiche à l'écran. Un site web est un ensemble de pages organisées en structure hiérarchique, disponible sur un serveur. Il peut être construit avec des pages statiques, des pages dynamiques ou un assemblage des deux.
1.2.5. Serveur http
Un serveur HTTP (ou service web) est un logiciel utilisé pour servir
des ressources HTTP. Un client HTTP est un logiciel utilisé pour manipuler ces ressources. Un serveur web est un hôte sur lequel fonctionne un serveur HTTP (ou service web).
Un serveur web peut héberger les ressources qu’il dessert, peut les
récupérer sur des hôtes distants, délivrer ces ressources telles quels, on parlera alors de ressources statiques), ou bien les modifier en fonction de différents critères, on parlera alors de ressources dynamiques .Il est courant sur les services de grosse taille que les ressources soient réparties sur différents serveurs web et éventuellement différents types de serveurs HTTP, certains ayant de meilleurs performances pour les fichiers statiques, d'autre plus de souplesse pour délivrer des fichiers dynamiques.
Un serveur web peut être un hôte spécialisé, une partie d'une
infrastructure spécialisée ou bien encore un hôte plus généraliste. On appelle site web, l'ensemble des ressources HTTP associées à un nom de domaine et un ou plusieurs noms d'hôtes. Une adresse web est une URL de page web, généralement écrite sous une forme simplifiée limitée à un nom d’hôte. Une adresse de site web est en fait l’adresse d’une page du site prévue pour accueillir les visiteurs.
11
1.2.6. Client http
Un client HTTP est un outil permettant d'utiliser les ressources fournies par un serveur HTTP. Il est chargé en relation avec différents services, de faire traduire le nom d'hôte en adresse IP par un DNS, de rentrer en contact avec le serveur HTTP, et de lui fournir différentes informations telles que le nom du site, et la ressource désirée, ainsi que ses capacités (gestion de différents types de ressource, capacité d'affichage, possibilité de compression de données, etc.) ou sa volonté (choix des langues, protection de la vie privée) dans l'utilisation des données fournies. Un navigateur web est un type de logiciel client HTTP à interface homme-machine et conçu pour accéder aux ressources du web. Sa fonction de base est de permettre la consultation des documents HTML disponibles sur les serveurs HTTP.
Le support d’autres types de ressources et d’autres protocoles de
communication dépend du type de navigateur. Un robot d'indexation est, dans le domaine du web, un type de logiciel client HTTP, utilisé pour indexer les différentes ressources de sites web. Un agrégateur est, dans le domaine du web, un type de logiciel client HTTP, permettant de regrouper les fils de syndication de différents sites web. Un aspirateur de site web est un client HTTP permettant de récupérer l'intégralité d'un site web, pour le consulter ensuite hors-ligne ou en conserver une archive.
1.2.7. Application web
En informatique, une application web est une application
manipulable grâce à un navigateur web. De la même manière que les sites web, une application web est généralement placée sur un serveur et se manipule en actionnant des widgets à l'aide d'un navigateur web, via un réseau informatique (Internet, intranet, réseau local, etc.).
Les messageries web, les systèmes de gestion de contenu, les wikis
et les blogs sont des applications web. Les moteurs de recherches, les logiciels de commerce électronique,
les jeux en ligne, les logiciels de forum peuvent être sous forme d'application web.
Des appareils réseaux tels que les routeurs sont parfois équipés d'une application web dans leurs micros logiciels. Les applications web font partie de l'évolution des usages et de la technologie du Web appelée Web 2.0.
12
1.2.8. Utilisation des applications web
La technologie des applications web permet de nombreux usages, les plus populaires sont les moteurs de recherches, le webmail, le commerce électronique et les jeux en ligne.
Un moteur de recherches est une application web qui recherche
des documents. Un web mail est une application web pour recevoir et envoyer du
courrier électronique. Un système de gestion de contenu est une application web qui
présente des documents. La présentation des documents est similaire à celle d'un site web, cependant les documents sont générés par le logiciel lors de chaque demande.
1.2.9. Création d’une application web :
Les applications web sont souvent créées par des équipes
composées à la fois de développeurs et de designers. Le développement nécessite la connaissance des différents langages utilisés dans les technologies du Web : HTML pour la présentation des pages, CSS pour la charte graphique, JavaScript, Java ou Action Script pour les automatismes exécutés par le client, ainsi qu'un langage tel que Java, PHP, C# ou VB Script pour les automatismes exécutés par le serveur.
Les applications web sont faites d'un ensemble de composants
logiciels et de pages "porteuses" ; les composants sont regroupés dans des bibliothèques logicielles (voir servlets). Un logiciel serveur web prévu à cet effet (serveur d'applications web) exécute un composant donné lors de la réception de chaque requête. ASP.NET, Web sphere, JBoss ou Apache Tomcat sont des logiciels serveurs d'applications web.
Une application web est typiquement utilisée simultanément par
plusieurs usagers ; elle est équipée de mécanismes de contrôle d'accès logique, ceux-ci sont basés sur les mécanismes de contrôle d'accès propre au serveur d'application web et au système d'exploitation. Ils utilisent parfois des mécanismes existants tels que l'authentification unique (Single sign-on).
Pour les travaux de construction, les ingénieurs utilisent des
environnements de développement intégrés qui aident à la fois à la programmation informatique et la conception de site Web tels que Visual Studio ou Eclipse.
13
2.1. Bases de données (BDD)
2.4.1. Définition
Nous trouvons plusieurs définitions sur la base de données. Ici nous présentons quelques-unes que nous trouvons comme synthèse :
Pour J THULY et A. SAUNIER dons (Objectif et conception d’une base de données) : « une base de données est un ensemble d’informations normalisées, en liaison logique les unes avec les autres, qui, après avoir été saisies une seule fois, permettent de fournir aux différents échelons de la hiérarchie toutes les informations indispensables pour agir en temps voulu».
Mr DLOBEL et ADIBA disent qu’une base de données est un ensemble structuré de données enregistrées sur des supports accessibles par l’ordinateur pour satisfaire simultanément plusieurs utilisateurs de façon sélective et à un temps au porrétain.
Une base de données doit répondre les critères suivants :
Exhaustivité Signifie que la base de données doit contenir tous les
renseignements sur le sujet concerné.
La non-redondance Qui signifie qu’une information doit se figurer une et une seule fois
dans la base de données.
La structuration Qui implique l’organisation de stockage de données de tel façon
qu’on atteigne sûrement et facilement la donnée que l’on recherche dans la base de données.
2.4.2. Avantages d’une base de données
Une base de données permet de mettre les données à la
disposition des utilisateurs pour :
Une consultation ;
Une saisie ;
Une mise à jour.
14
Tout en assurant des droits accordés à ces derniers. L’avantage majeur de l’utilisation de la base de données est la possibilité de pouvoir être accédés par plusieurs utilisateurs simultanément.6
2.5. Système de gestion de bases de données (SGBD)
2.5.1. Définition
Un système de gestion de bases de données (SGBD) est un logiciel de haut niveau qui permet de manipuler les informations stockées dans une base de données. Il est en d’autres termes un logiciel permettant de concevoir et de gérer les bases de données. C’est aussi un ensemble de programmes jouant le rôle d’interface entre l’homme et les bases de données c’est-à-dire, il permet à l’homme d’utiliser les différentes fonctionnalités de la base de données : Création, mise à jour, stockage7.
2.5.2. Types de SGBD
Il existe plusieurs types de SGBD notamment :
- Le mode hiérarchique : les données sont classées hiérarchiquement, selon une arborescence descente. Ce modèle utilise des pointeurs entre les différents enregistrements, il s’agit du premier modèle de SGBD. Ex : Total, IMS
- Le mode réseau : comme le modèle hiérarchique, ce modèle utilise des pointeurs vers des enregistrements. Toutefois, la structure n’est plus forcément arborescente dans le sens descendant. Ex : MySQL, etc.
- Le mode relationnel (SGBDR) : (Système de gestion de bases de données relationnelles) : les données sont enregistrées dans des tableaux à deux dimensions (lignes et colonnes). La manipulation de ces données se fait selon la théorie mathématique des relations. Ex : Access, Interbase, etc.
- Le mode objet (SGBDO) : Système de gestion de bases de données sont stockées sous forme d’objets, c’est-à-dire des structures appelées classes, présentant des données membres, les champs
6 KITOKO MUANA., Note de cour de Delphi II, G3 ISC/KIN 2015-2016 [Inédit] 7 MVIBUDULU KALUYIT, LD. KONKFIE IPEPE., Notes de cours de technique des bases de données, Ed CRIGED KINSHASA,
janvier 2016, P. 4
15
2.6. Le processus unifié8
2.6.1. Définition
Le Processus Unifié (PU ou UP en anglais pour Unified Processus) est un processus de développement logiciel, il regroupe les activités à mener pour transformer les besoins d’un utilisateur en système logiciel. L'objectif d'un processus unifié est de maîtriser la complexité des projets informatiques en diminuant les risques.
2.6.2. Caractéristiques
Les principales caractéristiques du processus unifié sont :
Itération et Incrémentation
L'itération est une répétition d'une séquence d'instructions ou d'une partie de programme un nombre de fois fixé à l'avance ou tant qu'une condition définie n'est pas remplie, dans le but de reprendre un traitement sur des données différentes.
Centré sur l'architecture
Tout système complexe doit être décomposé en parties modulaires afin de garantir une maintenance et une évolution facilitées. Le processus unifié préconise le modèle des 4+1 vues, de Philippe Kruchten, pour représenter l’architecture :
Piloté par les cas d'utilisation
Le but principal d'un système informatique est de satisfaire les besoins du client. Le processus de développement sera donc axer sur l'utilisateur. 2.6.3. Vie du processus unifié
UP gère le processus de développement par deux axes :
L'axe vertical représente les principaux enchaînements d'activités, qui les regroupent selon leurs natures.
L'axe horizontal représente le temps et montre le déroulement du cycle de vie du processus ; cette dimension rend compte de l'aspect dynamique du processus qui s'exprime en terme de cycles, de phases, d'itérations et de jalons.
8 www.Devellopez.com/UnifiedProcess dernière visite le 05/07/2016
16
2.7. Généralités sur le langage de modélisation UML
Grace à son efficacité et sa modularité par rapport aux autres langages de modélisation, UML est devenu de plus en plus utilisé.
2.7.1. Définition UML
UML est un langage de modélisation graphique et textuel destiné
à comprendre et décrire des besoins, spécifier et documenter des systèmes, esquisser des architectures logicielles, concevoir des solutions et communiquer des points de vue. En plus de ça, il nous permet de :
- Spécifier de manière précise et complète, et sans ambiguïté. - Représenter des systèmes entiers. - Etablir un couplage explicite entre les concepts et les artefacts
exécutables.
UML est utilisable pour plusieurs domaines:
- Systèmes d'information des entreprises. - Les Banques et les services financiers. - Télécommunications. - Défense et aérospatiale. - Scientifique. - Applications distribuées par le WEB.
2.7.2. Les diagrammes UML
UML permet de définir et de visualiser un modèle, à l'aide de diagrammes.
Un diagramme UML est une représentation graphique, qui
s'intéresse à un aspect précis du modèle. C'est une perspective du modèle, pas "le modèle". Chaque type de diagramme UML possède une structure (les types des éléments de modélisation qui le composent sont prédéfinis).
Un type de diagramme UML véhicule une sémantique précise (un
type de diagramme offre toujours la même vue d'un système). Combinés, les différents types de diagrammes UML offrent une vue
complète des aspects statiques et dynamiques d'un système. Par extension et abus de langage, un diagramme UML est aussi un
modèle (un diagramme modélise un aspect du modèle global).
17
2.7.3. Caractéristiques des diagrammes UML
Les diagrammes UML supportent l'abstraction. Leur niveau de détail caractérise le niveau d'abstraction du modèle.
La structure des diagrammes UML et la notation graphique des éléments de modélisation est normalisée (document "UML notation guide").
Il existe 2 types de vues du système qui comportent chacune leurs propres diagrammes : les vues statiques :
- diagrammes de cas d'utilisation
- diagrammes d'objets
- diagrammes de classes
- diagrammes de composants
- diagrammes de déploiement les vues dynamiques :
- diagrammes de collaboration
- diagrammes de séquence
- diagrammes d'états-transitions
- diagrammes d'activités 2. Contexte de l’étude
Une agence de voyages est une entreprise commerciale qui
compose et vend des offres de voyages à ses clients. Elle joue le rôle d'intermédiaire et/ou d'agrégateur de services entre les clients et les différents prestataires sur le marché du tourisme : compagnies aériennes, hôtelières, loueurs de voiture, etc. Fonctionnalités d’une agence de voyage
Une agence de voyage à plusieurs fonctionnalités, parmi ces
fonctionnalités on cite :
Vérifier les prix, la disponibilité pour effectuer les réservations en fonction des choix des clients ;
Créer des offres pour procurer des vacances de rêve et paradisiaque pour le client ;
Gérer les clients ;
18
Prise en charge des prestations de transport. 2.1. Dénomination et situation géographique 2.1.1. Dénomination de l’agence
L'Agence de voyage Travel Agency BOLINGO se trouve dans la
commune de Limeté 7ème rue Industriel, elle fut créée à Kinshasa en 2001 fonctionnant ainsi, comme une SPRL. A cette époque, l'Agence exploitait qu'un seul axe routier : Kinshasa - Matadi avec un personnel composé de cinq agents seulement et utilisant un seul véhicule (bus).
Après trois ans de son existence, le nombre de véhicules passa de huit
dont cinq bus et trois pick-up. Les trois premières années, l’entreprise n’organisait que le transport de passagers sur la ligne Kinshasa - Matadi. Aujourd'hui, l'Agence assure le transport des passagers et des marchandises ou fret sur plusieurs axes routiers. Ainsi, les itinéraires exploités sont :
a) Kinshasa - Bandundu ville - Kinshasa, pour l'approvisionnement de
Bandundu ville et ses environs (Kwilu) ; b) Kinshasa - Kikwit - Kinshasa, pour l'approvisionnement de Kikwit et ses
environs (Kwilu) ; c) Kinshasa - Matadi - Kinshasa, pour l'approvisionnement de Matadi
(Kongo - Central) ; d) Kinshasa - Boma - Kinshasa, pour l'approvisionnement de Boma
(Kongo - Central) et e) Kinshasa - Moanda - Kinshasa, pour l'approvisionnement de Moanda
et ses environs (Kongo - Central).
Dans le cadre de couvrir le besoin des passagers et de leurs biens dans les différents itinéraires énumérés ci-haut, l'Agence dispose actuellement 15 bus et 1 camion remorque, 131 Agents qualifiés et chaque fois, elle délivre les titres de voyage et la lettre de voiture.
2.1.2. Situation géographique de l'Agence
Travel Agency BOLINGO est situé sur le boulevard Lumumba dans la commune de Limeté 7ème rue au croisement des avenues Yolo et de la Révolution au numéro 389, sur 7ème rue Limeté, quartier résidentiel à Kinshasa/RD. Congo, référence clinique BONDEKO de Limeté.
Elle est bornée :
19
A l’est par Yolo Médical ;
A l’ouest par l’Université Franco-Américaine de 7ème rue Industriel ;
Au nord par l’avenue Des Cannas du quartier Résidentiel 7ème rue ;
Au sud par Western union de 6ème rue Résidentiel.
2.13. Nature et forme juridique
Travel Agency BOLINGO est régie par un registre de Commerce n°508/Kinshasa, un numéro d'identification 36339M, d'un permis d'exploitation et d'un numéro d'impôt A0902105Z etc.
2.1.4. Mission de l'Agence Travel Agency BOLINGO
Travel Agency BOLINGO a pour missions principales :
- Assurer le voyage des passagers et leurs marchandises ou fret et
- Planifier, organiser le chargement et le déchargement du fret routier.
2.1.5. Affectation des véhicules par itinéraire Le tableau n°2 : présence les axes routiers exploités, te nombre de véhicules affectés dans chaque destination, le jour et l'heure d'embarquement et de départ ainsi que fa catégorie du billet de voyage.
Véhicules par Jours
Lignes
Nombre de véhicules (catégorie)
Jour de départ par semaine
Heure d’embarquement et de chargement
Couleur de la barre du billet
Heure de départ Fret Passagers
Kin-Bandundu-Ville 10 bus et 5 bus Cargo
Mardi, mercredi, jeudi et vendredi
17H30- 7WW Rouge 8 h OO’
Kin-Kikwit 10buset5bus Cargo
Lundi au samedi
16h30' ThÛQ1 Rouge 8hOO'
Kin-Matadi 4 bus Lu nd i a u Dimanche
15ft3<r 6fâO' Kaki 7h30’
Kin-Boma 2bus Mardi vendredi et dimanche
6h3ff 8hOO' Verte 8h30’
Kin-Moanda 2 bus et 1 camion remorque
Mardi vendredi Et Dimanche
7h3û' 8h30' Blue 9hOO’
5 39 - - - - -
Source : Service Gérance et Administratif, 2015.
Le tableau ci-haut montre que l'agence Travel Agency BOLINGO
affecte beaucoup de véhicule sur les lignes : Kinshasa - Bandundu ville et Kinshasa - Kikwit tandis que la ligne Kinshasa - Boma n'a que deux bus et un seul remorque pour Moanda.
20
2.2. GESTION DES TRAFICS A L'AGENCE TRAVEL AGENCY BOLINGO 2.2.1. Organes de l'Agence
L'agence compte 7 services principaux qui sont :
1. Le service administratif ;
2. Le service de gérance ;
3. Le service de caisse ;
4. Le service de billetterie ;
5. service de billetterie ;
6. Le service d'expédition fret ;
7. Le service de réception fret et ;
8. Le service technique. 2.2.2. Organigramme de l'Agence
Le schéma ci-après, présente l'organigramme de l'Agence de
voyage Travel Agency BOLINGO :
Source : Service Gérance
Administration (propriétaire)
Gérance
Caisse Service réception
fret
Service expédition fret
Service tech.
Magasin Chauffeur
Mécanicien
21
2. Etude de faisabilités
De façon générale, l'évaluation de la faisabilité d'un projet de développement consiste à se demander s'il existe des éléments qui empêcheraient les solutions envisagées d'être réalisées et implantées avec succès. Brièvement, l’étude de la faisabilité a pour objectif de déterminer les possibilités raisonnables de réussite d’un projet. Elle vise à évaluer les différents systèmes possibles et à proposer le système le plus souhaitable et le plus facile à développer.
2.4. Faisabilité opérationnelle
La faisabilité technique est évaluée en comparant la
technologie qui existe dans l'organisation ou qui peut être acquise, aux exigences des utilisateurs et du système envisagé. L’installation d’un nouveau système pourrait éventuellement requérir de nouvelles compétences. A notre avis, l’acquisition de ces dernières ne devrait poser aucun problème majeur vu que parmi les critères de recrutement des serveurs, il y a entre d’autre, qui nécessite une maîtrise de l’utilisation. Un système est techniquement faisable si du matériel et des logiciels fiables sont disponibles ou peuvent être développés par l’entreprise dans les délais requis.
2.4.1. Choix de la méthode d’ordonnancement
L’ordonnancement permet d’organiser un planning optimal
des tâches, mais également d’indiquer celles des tâches qui peuvent souffrir de retard sans compromettre la durée totale du projet9. Il s’agit d’ordonner dans le temps un ensemble d’opération contribuant à la réalisation d’un projet. Le déroulement de ces diverses opérations (tâches) doit respecter certaines contraintes qui peuvent être :
Soit des contraintes d’antériorité : une tâche B ne peut commencer
que lorsque la tâche A est terminée (contrainte de succession) ; Soit des contraintes de date : un tâche ne peut commencer avant
une certaine date. L’objectif étant ici de minimiser la durée totale de réalisation de chacune des opérations et des contraintes qu’elles doivent respecter.
9 MVIBUDULU KALUYIT Jacques, Initiation aux modèles, méthodes et pratique de la recherche opérationnelle, 2ème édition, C.R.S.A.T., Kinshasa, 2007, P 168.
22
Il existe plusieurs méthodes d’ordonnancement qui peuvent être classifiées en deux grands groupes selon les principes de bases qu’elles utilisent10 :
Les méthodes à diagramme (exemple la méthode GANTT) ; Les méthodes à chemin critique (exemple les méthodes CPM, MPM et PERT).
Pour notre part, comme nous l’avons dit ci-haut, nous
utiliserons la méthode PERT pour l’ordonnancement des tâches et l’obtention du calendrier d’exécution de notre projet. 2.4.2. Présentation de la méthode PERT
La méthode PERT (Program Evaluation and Research Task) fut
créée par les américains à la fin des années 50 dans l'objectif de gagner du temps dans la réalisation de missiles à ogives nucléaires. Cette méthode d’ordonnancement a progressivement conquis l’Amérique avant de s'installer en Europe11. Elle consiste à créer un réseau qui prend en compte la chronologie des tâches et leurs dépendances afin de parvenir à l’étape finale, c'est-à-dire au produit fini. Ce réseau permet ainsi de déterminer le chemin critique : les tâches pour lesquelles le moindre retard entraîne un retard sur l’ensemble du projet.
Dans la méthode PERT, les tâches sont symbolisées par des
arcs, chaque arc étant défini par son début, sa fin et sa durée. Les arcs étant orientés, les sommets entre les arcs définissant les relations d'antériorité.
Prenons un exemple, une tâche A qui dure 19 minutes suivit de
la tâche B qui a une durée de 25 minutes la représentation de graphe est la suivante :
La méthode PERT se décompose selon les étapes suivantes :
Lister les tâches d’une manière exhaustive ; Estimer la durée des tâches ; Tracer le réseau PERT ;
10 APANGWA AMBOYO, Inédit, Cours de recherche opérationnelle et théorie des graphes, Institut Supérieur de Statistique de Kinshasa, 2006-2007. 11 APANGWA AMBOYO, Idem.
Sommet 1 Sommet 2 Sommet 3
Tâche A Tâche B
19 25
23
Déterminer les dates au plus tôt ; Déterminer les dates au plus tard ; En déduire le chemin critique ; Calculer les marges libres ; Calculer les marges totales ; Diagramme de GANTT.
3.4. Identification et dénombrement des Tâches
En vue de réaliser notre projet nous avons quelque tâches ont été identifié et retenues dans notre projet à savoir :
Cadrage du projet ; Etude préalable Conception détaillée ; Conception technique ; Réalisation ; Test unitaire ; Achat de matériels ; Installation des matériels ; Intégration ; Formation des utilisateurs ; Exploitation ; Maintenance.
3.5. Planning d’exécution des Tâche et estimation des durées
Le tableau ci-après récapitule les tâches relative à ce projet avec pour chacune d’elles leur repère, leur durée en jour et leur antériorité. Donc, nous devons poser pour chaque tache la question suivante : Quelles sont les tâches devant être terminer pour pouvoir commencer cette autre tâche ?
a. Tableau de Planning d’exécution des Tâches
Code Tâches Tâches antérieures
A Collecte de données -
B capture de besoins 1
C Elaboration 2
D Construction 3
E Transition 4
F Formation des utilisateurs 5
24
D) CALCUL DES NIVEAUX
Les niveaux définissent l’ordre dans lequel sera construite la représentation graphique de notre projet (le graphe). En effet, le tableau ci-dessous présente les différents niveaux :
Niveau N0 N1 N2 N3 N4 N5 N6 N7 N8 N9
Tâches 1 2 3 4 5,6 7 8 9,10 11 12
Tableau n°2 : Calcul des niveaux 3.1.3. EVALUATION DU TEMPS ET COUTS TOTAL DU PROJET A) ESTIMATION DES DUREES DES TACHES
Les durées de chaque tâche sont probablement définies dans le tableau ci-dessous.
L’estimation de ces durées est exprimée en jour pour de raison de sécurité et de contrainte de réalisation du projet.
Code Tâches Durées (en jours)
A Collecte de données 10
B capture de besoins 30
C Elaboration 45
D Construction 20
E Transition 20
F Formation des utilisateurs 15
Tableau n°3 : Estimation des durées des taches B) ESTIMATION DES COUTS DE REALISATION DE CHAQUE TACHES
L’aboutissement avec succès d’un projet informatique exige
des moyens financiers. Il sied de préciser que chaque tâche est rattachée à un budget. Les coûts des différentes tâches exprimées en dollar (US$) sont repris dans le tableau ci-après :
25
Code Tâches Coût($)
A Collecte de données 500
B capture de besoins 100
C Elaboration 150
D Construction 200
E Transition 150
F Formation des utilisateurs 150
Tableau n°4 : Estimation des couts de réalisation de chaque tache 3.1.4. CONSTRUCTION DU GRAPHE P.E.R.T A. GENERALITES
Le graphe a pour but de décrire graphiquement les contraintes d’antériorités qui lient les tâches à exécuter pour la réalisation de ce projet. De plus, il permet de visualiser le chemin critique ; c’est-à-dire le chemin conduisant du début à la fin du projet et dont toute variation de durée d’une de ses tâches (tâches critiques) se répercute sur la durée de réalisation du projet. C’est le chemin qui conditionne la fin au plus tôt du projet.
La construction du graphe exige que les sommets soient placés de gauche à droite en fonction de leur niveau. B. RECHERCHE DES DATES AU PLUS TOT ET DES DATES AU PLUS TARD a) Date au plutôt
Pour un sommet, la date au plutôt (t) représente le temps minimum nécessaire pour atteindre ce sommet.
La date au plutôt de la sortie du graphe représente la durée
minimale réalisable pour l’ensemble du projet.
Pour trouver la date au plutôt de chaque tâche, la formule suivante est utilisée :
Date de début au plutôt = MAX (Date de début au plutôt de la
tache précédente + la durée de la tache précédente) En appliquant cette formule, nous avons :
a = 0 b = (0 + 10) = 10 c = Max (10+ 30) = 40 d = Max (40 + 45) = 85
26
e = Max (85 + 20) = 105 f = Max (105 + 20) = 125
b) Date au plus tard
Pour un sommet, la date au plus tard (T) représente concrètement la date à laquelle cet état droit obligatoirement être atteint si l’on ne veut pas augmenter la durée totale du projet.
Pour trouver la date au plus tard de chaque tâche, la formule
suivante est utilisée :
Date de début au plus tard = MIN (Date de début au plus tard de la tâche suivante – Durée de la tâche).
En appliquant cette formule, nous avons :
f = min (125 - 0) = 125 e = min (125 - 20) = 105 d = min (105 - 30) = 85 c = min (85 – 45) = 40 b = min (45 – 30) = 10 a = min (10 – 10) = 0
C. MARGES LIBRES ET MARGES TOTALES a) Marge libre
La marge libre (ML) d’une tâche représentera concrètement le retard maximal qu’on pourra prendre dans la réalisation d’une tâche sans retarder le début des tâches suivantes.
Nous avons la formule suivante : Marge totale = Date de début
au plus tard – date de début au plutôt b) Marge total
La marge totale (MT) d’une tâche représente concrètement le retard maximal qu’on pourra prendre dans la réalisation d’une tâche sans retarder l’ensemble du projet.
Nous avons la formule suivante : Marge libre = MIN (date de
début au plutôt de la tâche suivante – durée – date de début au plutôt.
27
D. TABLEAU DES MARGES LIBRES ET TOTALES
Tâche Durée MT ML
1 10 0 0
2 30 0 0
3 45 0 0
4 20 0 0
5 20 0 0
6 20 0 0
Tableau n°5 : tableau des marges libres et total F. CONSTRUCTION DU GRAPHE Figure n°7 : Graphe PERT 3.1.5. CHOIX DU CHEMIN CRITIQUE
Une tâche est dite critique lorsque sa marge totale est nulle, c’est en quelque sorte une tâche « urgente », une tâche sur laquelle il ne faut pas prendre de retard si nous ne voulons pas augmenter la durée totale du projet. L’ensemble des tâches critiques constitue le chemin critique.
Dans la pratique, une tâche est critique lorsque la marge totale
de cette tâche est nulle.
Dans le cadre de notre projet, le chemin critique comprend les tâches suivantes : 1, 2, 3, 4, 5, 7
F
125 125
E
105 105
D
85 85
C
40 40
A
0 0
B
10 10
28
3.1.5.1. CALCUL DU COUT ET DE LA DUREE TOTALE DU PROJET
Etant donné que le chemin critique de notre projet est :
(10),2(30),3(45),4(20),6(20),7(20),8(10),10(30),11(60), 12(60) ; Durée totale : 10 + 30 + 45 + 20 + 20 + 10 + 30 + 60 + 60 = 295 jours. Total = 50 + 100 + 150 + 200 + 50 + 1000 + 2000 + 200 + 50 + 300 + 500 + 500 = 5100$
Coût total du projet = total + imprévue Or Imprévue = total x 10/100 = 5100 x 10/100 = 510$ Coût total du projet = 5100 + 510 = 5610 $
3.1.5.2. DUREE TOTAL DU PROJET
La durée totale du projet est de 295 jours.
29
CHAPITRE II : CAPTURE DES BESOINS & ELABORATION
1. Capture de besoins
Les réservations sont faites par les clients eux-mêmes. Pendant qu’ils sont sur le réseau Internet de l’agence de transport, ils pourront accéder au système. Une fois que le client aura rentré les informations nécessaires, il aura un estimé des coûts selon ses destinations, ainsi qu’une confirmation de sa réservation. Avec son numéro de réservation et d’un mot de passe, le client pourra consulter son dossier pour modifier ou annuler une réservation.
Une réservation en cours est donc maintenue à jour par le
système. Les agents et les conseillers en ventes pourront apporter des modifications, des annulations des réservations déjà fait par le client sur le système et s’assurer des fermetures du dossier.
Puisque l’application est prévue pour répondre au besoin du
client de réserver à distance via le e-commerce. Donc, quand la réservation doit être faite par l’agent ou un conseiller, ils vont procéder comme ils faisaient avant l’application par leur système disponible hors connexion. Mais notre application peut en tenir compte et prévoir cet usage par l’agent pour usage futur, selon le besoin des gestionnaires.
Une fois qu’une réservation, est modifiée, annulée ou
confirmée dans le système, les données sont transmises au logiciel de comptabilité pour facturation et la tenue des livres. Le comptable valide les informations, sort les factures en tenant compte des paiements faites en différé lors des réservations, et prépare des reçus.
Le système envoie aussi un signal à un progiciel de
comptabilité qui se charge d’informer les différents intervenants du traitement en cours, par un message dédié à leur boîte de réception ou directement sur l’imprimante réservée à cet effet. Une fois les agents informés, ils peuvent préparés les billets, pour envoyer directement aux clients quand c’est déjà payé en totalité par différé. Sinon, ils devront passer les chercher à l’agence et effectuer le paiement final sur place.
1.1. Capture de besoins fonctionnels
La capture des besoins fonctionnels va permettre à l’informaticien (maitre d’œuvre) de maitriser le domaine métier après phase de spécification des besoins des utilisateurs (maitre d’ouvrage).
30
L’informaticien charge de développement de l’application doit s’atteler à identifier les différents acteurs intervenant dans le processus manuel et le rôle qu’ils jouent dans ce système.
La capture des besoins fonctionnels recours aux diagrammes
UML ci-après :
Diagramme de cas d’utilisation ; et Diagramme des séquences.
Diagrammes de cas d’utilisation
Bien souvent, le maître d’ouvrage et les utilisateurs ne sont pas des informaticiens. Il leur faut donc un moyen simple d’exprimer leurs besoins. C’est précisément le rôle des diagrammes de cas d’utilisation qui permettent de recueillir, d’analyser et d’organiser les besoins, et de recenser les grandes fonctionnalités d’un système. Il s’agit donc de la première étape UML d’analyse d’un système.
Un diagramme de cas d’utilisation capture le comportement
d’un système, d’un sous-système, d’une classe ou d’un composant tel qu’un utilisateur extérieur le voit. Il scinde la fonctionnalité du système en unités cohérentes, les cas d’utilisation, ayant un sens pour les acteurs. Les cas d’utilisation permettent d’exprimer le besoin des utilisateurs d’un système, ils sont donc une vision orientée utilisateur de ce besoin au contraire d’une vision informatique.
Il ne faut pas négliger cette première étape pour produire un
logiciel conforme aux attentes des utilisateurs. Pour élaborer les cas d’utilisation, il faut se fonder sur des entretiens avec les utilisateurs. 1.1.1. Éléments des diagrammes de cas d’utilisation
Acteur
Un acteur est l’idéalisation d’un rôle joué par une personne externe, un processus ou une chose qui Interagit avec un système.
Il se représente par un petit bonhomme avec son nom (son
rôle) inscrit dessous.
31
Il est également possible de représenter un acteur sous la forme d’un classeur stéréotypé « actor ».
Cas d’utilisation
Un cas d’utilisation est une unité cohérente d’une fonctionnalité visible de l’extérieur. Il réalise un service de bout en bout, avec un déclenchement, un déroulement et une fin, pour l’acteur qui l’initie. Un cas d’utilisation modélise donc un service rendu par le système, sans imposer le mode de réalisation de ce service.
Un cas d’utilisation se représente par une ellipse contenant le
nom du cas (un verbe à l’infinitif), et optionnellement, au-dessus du nom, un stéréotype.
1.1.2 Représentation d’un diagramme de cas d’utilisation
Comme le montre la figure suivante, la frontière du système est
représentée par un cadre. Le nom du système figure à l’intérieur du cadre, en haut. Les acteurs sont à l’extérieur et les cas d’utilisation à l’intérieur.
1.1.3. Relations dans les diagrammes de cas d’utilisation
Relations entre acteurs et cas d’utilisation Relation d’association
Une relation d’association est un chemin de communication
entre un acteur et un cas d’utilisation, elle est représentée par un trait 1.1.4. Recensement des acteurs
Agent de voyage ; Client ; Administrateur système ; Directeur ; Conseiller en voyage ; Comptable.
« actor »
32
1.1.5. Diagramme global de cas d’utilisation 1.1.4. Description textuelle des cas d’utilisation
Afin de décrire les interactions entre les cas d’utilisation, nous
présentons ces derniers de façon textuelle. Il s’agit donc d’associer à chaque cas d’utilisation un nom, un
objectif, les acteurs qui y participent, les préconditions et des scénarii. Cependant ; il existe trois types de scénarii : les scénarii nominaux ; les scénarii d’exceptions et les scénarii alternatifs. Dans notre description textuelle, nous présentons seulement les scénarii nominaux et alternatifs.
Comptable
Conseiller en voyage
Agent de voyage
Gestion des réservations
Suivi de réservation
gestion des voyages
Client
Gestion de factures
Gestion des disponibilite
Administrateur système
Gestion des utilisateurs
Gestion administrative
Directeur général
33
Client
Le client entre les informations requises pour sa réservation sur le site Web à travers un formulaire électronique, le système lui alloue un numéro de réservation.
Comptable
Le comptable fait le point régulièrement sur les commandes,
valide les factures établies en lignes aux clients et s’assure du recouvrement des factures et les reçus. En fin de chaque journée, il peut aussi sortir une liste de toutes les ventes effectuées et des paiements reçus.
Agent de voyages
Il peut modifier ou annuler une réservation. Avant de remettre ou d’acheminer les billets aux clients, va consulter les listes de réservations, procède à la vérification et comparaison avec la facture. Il peut, une fois le paiement total confirmé, rentrer une confirmation pour la fermeture du dossier.
Conseiller de voyage
La consultation des banques de données de réservations du système, pour mieux conseiller les clients quant au choix les plus fréquents, les plus appréciés, etc.
Le directeur générale
Pour consultation de données qui serviront à l’évaluation et la gestion administrative du système en termes de rentabilité et d’investissement.
Administrateur du système :
L’administrateur du système gère les profits des utilisateurs et les mots de passe. Il crée le profil du client et son panier ainsi que son compte on line. Il s’occupe de la mise à jour du système et la gestion de la banque de données.
34
1.1.4.1. Identification des cas d’utilisation
Un cas d'utilisation (Use case) « représente un ensemble de séquences d'actions réalisées par le système et produisant un résultat observable intéressant pour un acteur particulier ».
En effet, ils sont des représentations fonctionnelles du système,
ils permettent de modéliser les attentes des utilisateurs afin de réaliser une bonne délimitation du système et également d'améliorer la compréhension de son fonctionnement. Les cas d’utilisation sont déclenchés suite à la stimulation d'un acteur externe.
Messages
Le système émet
La confirmation de la commande de réservation ; La description du trajet ; Les facture et reçu de paiement ; Acheminement de la commande ;
Le système reçoit
Le formulaire de réservation du client ; La création, l’annulation, modification de réservation par le client ;
Modification ou annulation de réservation par les agents de voyages ;
La fermeture du dossier par l’agent lors d’un règlement complet de facture ;
1.1.5. Capture de besoins techniques
Intéresser à la branche droite du cycle en Y qui est « la capture des besoins techniques »en couvrant avec celle des besoins fonctionnels les contraintes qui ne traitent pas la description applicative
a. Faisabilité technique
Après une première étude, nous avons identifié un certain
nombre de techniques-clés pour notre projet.
Cette étude, constitue le complément de spécification informatique nécessaire pour assurer la réalisation du futur système. Cette
35
étude permet également de déterminer Environnement de réalisation du projet.
b. Environnement de réalisation
Pour la réalisation de notre application, nous avons eu recours
à plusieurs moyens matériels et logiciels :
Matériel de base
Le développement de l’application sera réalisé sur un ordinateur portable ayant les caractéristiques suivantes :
Caractéristique matériel
Ordinateur : HP 2000 Ecran : 17.3’’ ; Microprocesseur : Intel coreTM i5-370, 2.4Ghz, 2.4Ghz ; Lecteur : DVD RW Disque dur : 1 Terra RAM : 6.0 GB Clavier : Standard 105 touches ; Système d’exploitation : Windows 10 professionnel
Choix de la plateforme de développement, SGBD et Architecture
1. Plateforme
1.1. Définition
PHP : Hypertext Preprocessor, plus connu sous son sigle PHP, est un langage de programmation compilé à la volée libre principalement utilisé pour produire des pages Web dynamiques via un serveur HTTP, mais pouvant également fonctionner comme n'importe quel langage interprété de façon locale.
1.2. Fonctionnement
Un serveur Web fonctionne sur un principe simple : lorsqu'il reçoit une requête pour une ressource, il vérifie si celle-ci est disponible, et si c'est le cas il renvoie simplement cette ressource vers le logiciel client. La
36
plupart des fichiers stockés sur un serveur sont statiques : document CSS, HTML ou PDF sont envoyés tels quels, sans aucune modification de la part du serveur.
Il n'en est pas de même pour les fichiers utilisant PHP, ASP, JSP, ColdFusion ou autres technologies serveur. Dans ce cas, le travail demandé au serveur est plus fourni. Voici dans ce qui suit le déroulement de ce traitement dans le cas d'un fichier PHP. Notons que les autres langages disposent de spécificités, mais que le plus gros du traitement d'une page dynamique reste le même.
Un langage interprété requiert, vous l'aurez compris, un
interpréteur. Dans le cas de PHP, celui-ci se nomme le Zend Engine, qui fournit toute l'infrastructure nécessaire au fonctionnement du langage. Avant d'être renvoyé vers le client, la page PHP doit passer par l'interpréteur. C'est le serveur qui transfert tous les fichiers avec une extension .php vers celui-ci.
Le déroulement au niveau serveur est le suivant : le poste client
envoi une requête pour un fichier .php vers le serveur Web. Celui-ci transfère le fichier demandé à l'interpréteur, chargé de décoder les lignes PHP qui s'y trouvent. L'interpréteur transfère ensuite à son tour le fichier obtenu (le plus souvent ce n'est plus qu'un fichier HTML tout à fait normal) vers le serveur, qui se charge de le renvoyer au poste client.
L'interpréteur lui-même fait passer le fichier par plusieurs
étapes. Notre index.php passe par un lexer (analyseur de syntaxe), où le PHP est vérifié, puis convertit en unités de code compréhensibles pour le processeur. Ce flux d'unités est ensuite traité par le parser, qui créé le code intermédiaire qui sera exécuté pour le Zend Engine. Ce dernier agit comme une machine virtuelle, qui combine les différentes unités sous forme d'opcodes, et les exécute un
Architecture du système
A ce stade, il sera question de choisir l’architecture la plus
appropriée pour le système à mettre en place. Ce choix sera basé sur les argumentaires développés lors de la capture de besoins techniques.
Le réseau informatique est une technique qui consiste à relier
un certain nombre de matériel informatique (ordinateur et périphérique) dans l'objectif de partager les ressources de ce derniers (ordinateur et périphérique).
37
Pour permettre à notre logiciel de bien fonctionner en tenant compte de l'emplacement géographique de différent bureau de l’entreprise, nous avons opté pour un réseau local avec une architecture Client/serveur 2 tiers. Cette architecture nous permettra de partager les ressources du serveur d'application pour être utilisé dans le différent poste utilisateurs et d’assurer le service d'impression en réseau. Notre système est équipé de :
Un serveur de gestion de base de données comporte une importante capacité de stockage, doit être disponible afin qu’on puisse y accéder à tout moment, et doit avoir une puissante capacité de traitement dans le cas où plusieurs clients y accèdent en même temps.
Postes Clients : sont des ordinateurs de bureau ou toutes sortes
de machine ayant une possibilité de communiquer avec le serveur, et représentent les environnements d’exécution des applications.
2. Avantages de l'architecture client-serveur
Toutes les données sont centralisées sur un seul serveur, ce qui simplifie les contrôles de sécurité, l'administration, la mise à jour des données et des logiciels.
Les technologies supportant l'architecture client-serveur sont
plus matures que les autres.
La complexité du traitement et la puissance de calculs sont à la charge du ou des serveurs, les utilisateurs utilisant simplement un client léger sur un ordinateur terminal qui peut être simplifié au maximum.
Recherche d'information : les serveurs étant centralisés, cette
architecture est particulièrement adaptée pour retrouver et comparer de vaste quantité d'informations (moteur de recherche sur le Web), ce qui semble être rédhibitoire pour le P2P beaucoup plus lent, à l'image de Freinet.
3. Inconvénients de l'architecture client-serveur
Si trop de clients veulent communiquer avec le serveur au
même moment, ce dernier risque de ne pas supporter la charge (alors que les réseaux pair-à-pair fonctionnent mieux en ajoutant de nouveaux participants).
38
Si le serveur n'est plus disponible, plus aucun des clients ne fonctionne (le réseau pair-à-pair continue à fonctionner, même si plusieurs participants quittent le réseau).
Les coûts de mise en place et de maintenance peuvent être
élevés. En aucun cas les clients ne peuvent communiquer entre eux,
entrainant une asymétrie de l'information au profit des serveurs.
Dans une architecture deux tiers, encore appelée client/serveur de première génération ou client/serveur de données, le poste client se contente de déléguer la gestion des données à un service spécialisé. Le cas typique de cette architecture est une application de gestion fonctionnant sous Windows ou Linux et exploitant un SGBD centralisé.
Ce type d'application permet de tirer parti de la puissance des ordinateurs déployés en réseau pour fournir à l'utilisateur une interface riche, tout en garantissant la cohérence des données, qui restent gérées de façon centralisée. La gestion des données est prise en charge par un SGBD centralisé, s'exécutant le plus souvent sur un serveur dédié.
Ce dernier est interrogé en utilisant un langage de requête qui,
le plus souvent, est SQL. Le dialogue entre client et serveur se résume donc à l'envoi de requêtes et au retour des données correspondant aux requêtes.
4. Autres architecture
Architecture simple tiers
La conception de l’application est élaborée de manière à fonctionner sur un ordinateur unique. En fait, tous les services fournis par l'application résident sur la même machine et sont inclus dans l'application.
Toutes les fonctionnalités sont donc comprises dans une seule
couche logicielle.
Architecture trois tiers
Cette architecture physique est assez semblable à l’architecture client/serveur, mais en plus des « clients» et du serveur de données évoquées plus haut, un serveur d'application intervient comme un troisième tiers. En effet, les machines clientes, également appelées «clients
39
légers» ne contiennent que l'interface de l'application de manière qu’elles déchargées de tout traitement.
En effet, le traitement est ainsi assuré par le serveur
d'application, qui sert de liaison entre l'interface applicative et les données localisées au niveau du serveur de données.
Système de gestion de base de données
Les SGBD sont les logiciels intermédiaires entre les utilisateurs
et la masse de données. Une base de données est un magasin de données composé de plusieurs fichiers manipulés exclusivement par le SGBD. Ce dernier cache la complexité de manipulation des structures de base de données en mettant à disposition une vue synthétique du contenu.
L’ensemble SGBD et base de données est destiné à permettre
le stockage de données d’une manière offrant de nombreux avantages par rapport à un enregistrement conventionnel dans des fichiers. Il permet d’obtenir et de modifier rapidement des données, de les partager entre plusieurs usages. Il garantit l’absence de redondance, l’intégrité la confidentialité et la pérennité des données tout en donnant des moyens d’éviter les éventuels conflits de modification et en cachant les détails du format de fichier des bases de données.
Fonctionnalités de SGBD
Un SGBD permet d’enregistrer des données et de créer
automatiquement des comptes rendus (anglais report) du contenue base de données. Il permet de spécifier les types de données, la structure des données contenues dans la base de données ainsi que des règles de cohérence telles que l’absence de redondance.
1.2.3. Diagramme de séquence
Le diagramme de séquence est un diagramme d’interaction entre les objets, qui met l’accent sur le classement des messages par ordre chronologique durant l’exécution du système.
Un diagramme de séquence est un tableau dans lequel les
objets sont rangés sur l’axe des abscisses et des messages par ordre d’apparition sur l’axe des ordonnées12.
12ROQUES Pascal, UML 2 Modéliser une application web, éd. Eyrolles, Paris, 2007.
40
1.1. Diagrammes de séquences « demande de réservation »
Figure 4.9. Diagramme de séquence « demande de réservation »
41
1.2. Diagrammes de séquences « demande de disponibilité»
Figure 4.10. Diagramme de séquence « demande de disponibilité de place »
42
2. Elaboration
La phase de l’élaboration reprend les éléments de la phase d'analyse des besoins et les précise pour arriver à une spécification détaillée de la solution à mettre en œuvre.
L'élaboration permet de préciser la plupart des cas d’utilisation,
de concevoir l’architecture du système et surtout de déterminer l'architecture de référence.
Ainsi, toutes les exigences non recensées dans les cas
d'utilisation seront prises en compte dans la conception et l'élaboration de l'architecture.
L'évaluation des risques et l'étude de la rentabilité du projet sont aussi précisées. Un planning est réalisé pour les phases suivantes du projet en indiquant le nombre d'itérations à réaliser pour les phases de construction. 2.1. Packages de cas d’utilisation
En cas de système de grande taille, on peut structurer l’analyse des besoins en découpant le système en sous-systèmes. Un sous-système (appelé package) doit avoir un nom et regrouper une famille de fonctionnalités clairement identifiable7.
Dans cette étape ; nous regroupons les différents cas d’utilisation cités auparavant dans des packages. Ce regroupement se fait suivant des critères. Le critère de regroupement que nous adoptons dans ce processus est le domaine d'expertise métier.
Par la suite ; nous reprenons le tableau présentant les acteurs
et les cas d'utilisation, en affectant chaque cas d'utilisation à un package. Nous obtenons le tableau ci-dessous :
5.1. Organisation des cas d’utilisation
Dans cette partie, nous procédons à l’organisation des cas d’utilisation en les rassemblant dans des packages.
5.2. Packages de cas d’utilisation
En cas de système de grande taille, on peut structurer l’analyse des besoins en découpant le système en sous-systèmes.
43
Un sous-système (appelé package) doit avoir un nom et regrouper une famille de fonctionnalités clairement identifiable13.
Dans cette étape, nous regroupons les différents cas
d’utilisation cités auparavant dans des packages. Ce regroupement se fait suivant des critères. Le critère de regroupement que nous adoptons dans ce processus est le domaine d'expertise métier.
Par la suite, nous reprenons le tableau présentant les
acteurs et les cas d'utilisation, en affectant chaque cas d'utilisation à un package. Nous obtenons le tableau ci-dessous :
Tableau II.3 : Liste des cas d’utilisation et de leurs acteurs par package
Cas d’utilisation Acteurs Package
Ajouter compte Administrateur Gestion des clients
Modifier compte
Supprimer compte
Valider une réservation
Client Agent de voyage
Gestion de demande de réservation Choisir date
arrivée/départ
Annuler réservation
Modifier réservation
Consulter voyage
Suivi voyage
Vérifier disponibilité de place
Client Agent de voyage
Gestion demande de disponibilité
MAJ les places réserve du voyage
Nombre de place disponible
Gérer les bus Administrateur client Conseiller de voyage
Gestion du voyage
Mettre à jour les voyages
13JOHNEN ,C., UML en pratique, IUT,Bordeaux 1 , 2011 ,P.25
44
Affecter un bus à un voyage
Créer un voyage
Payement par cheque Client Comptable
Gestion de payement
Payement par espèce
Payement par carte bancaire
a) Package «gestion des clients »
Figure 5.1. Diagramme de cas d’utilisation du package « Gestion des clients»
45
Digramme de cas d’utilisation Nom du domaine : Gestion de voyage Nom de l’application : Réservation de place en ligne Nom du développeur : MUMATE ATULE Arlette
Titre : Système de gestion des utilisateurs
Objectifs : Gérer les comptes des utilisateurs d’une manière autonome. Résumé : Cette fonctionnalité permet : 1 - Aux administrateurs de gérer complètement les comptes des utilisateurs.
Acteurs : Administrateur
Description
Pré conditions : L'administrateur doit s’authentifier pour avoir accès aux fonctionnalités du système. Description du traitement nominal : L'administrateur peut : 1. Gérer les comptes des utilisateurs.
Exceptions : [Exception 1 : Champs Obligatoires] : Message d'erreur si l'un des champs obligatoires n'est pas rempli.
b) Package «gestion demande réservation »
Figure 5.2. Diagramme de cas d’utilisation du package « Gestion réservation»
46
Digramme de cas d’utilisation Nom du domaine : Gestion de voyage Nom de l’application : Réservation de place en ligne Nom du développeur : MUMATE ATULE Arlette
Titre : Système de gestion demande réservation
Objectifs : Gestion des réservations. Résumé : Cette fonctionnalité permet : 1 - Aux Client de Réserver sur un voyage, annuler réservation, et suivre le déroulement de ses réservations. 2 - Aux clients de Consulter l'horaire des voyage, les prix des lignes.
Acteurs : Client, agent voyage
Description
Description détaillée : Pré conditions : L'agent doit s’authentifier pour avoir accès aux fonctionnalités du système. Description du traitement nominal : Le client peut :
1. Réserver dans un voyage 2. Annuler une réservation. 3. Suivre le déroulement de sa réservation.
Exceptions : [Exception 1 : Champs Obligatoires] : Message d'erreur si l'un des champs obligatoires n'est pas rempli.
C) Package «gestion demande de disponibilité»
Figure 5.3. Diagramme de cas d’utilisation du package « Gestion disponibilité»
47
Digramme de cas d’utilisation Nom du domaine : Gestion de voyage Nom de l’application : Réservation de place en ligne Nom du développeur : MUMATE ATULE Arlette
Titre : Système de gestion demande de disponibilité
Objectifs : Gestion de la disponibilité de place. Résumé : Cette fonctionnalité permet : 1 - Aux Client de vérifier la disponibilité de place à réserver
Acteurs : Client, agent voyage
Description
Description détaillée : Pré conditions : L'agent doit s’authentifier pour avoir accès aux fonctionnalités du système. Description du traitement nominal : Le client peut :
1. Vérifier la disponibilité de place 2. Vérifier le nombre de place à réserver pour un voyage
Exceptions : [Exception 1 : Champs Obligatoires] : Message d'erreur si l'un des champs obligatoires n'est pas rempli.
d) Package «gestion demande de voyage »
Figure 5.4. Diagramme de cas d’utilisation du package « Gestion de voyage»
48
Digramme de cas d’utilisation Nom du domaine : Gestion de voyage Nom de l’application : Réservation de place en ligne Nom du développeur : MUMATE ATULE Arlette
Titre : Système de gestion demande de voyage
Objectifs : Gestion de voyage. Résumé : Cette fonctionnalité permet : 1 - Aux agents de l'agence de gestion des voyages et les bus, la vérification et la validation des réservations, et l'affectation des bus aux voyages.
Acteurs : Client, admin
Description
Description détaillée : Pré conditions : L'agent doit s’authentifier pour avoir accès aux fonctionnalités du système. Description du traitement nominal : L'agent peut : 1. Ajouter un voyage. 2. Modifier un voyage. 3. Annuler un voyage. 4. Ajouter, modifier, supprimer un bus. 5. Affecter un bus à un voyage. [Exception 1 : Champs Obligatoires] : Message d'erreur si l'un des champs obligatoires n'est pas rempli. [Exception 2 : Erreur Date] : Message d'erreur si la date de départ d'un voyage est postérieure à la date d'arrivé. [Exception 3 : Nb Place Max] : Message d'erreur si le nombre des places réservé dans un vol dépasse le maximum mentionner.
49
e) Package « gestion de payement »
Figure 5.5. Diagramme de cas d’utilisation du package « Gestion de payement»
Digramme de cas d’utilisation Nom du domaine : Gestion de voyage Nom de l’application : Réservation de place en ligne Nom du développeur : MUMATE ATULE Arlette
Titre : Système de gestion payement facture
But : Création de facture, ajout, correction et modification Résume : Traitement des factures
Acteurs : Client, comptable
Description
Description détaillée : Précondition : Confirmation de la réservation Enchaînement : Données transmises au Progiciel de Comptable pour la préparation de la facture et du reçu du paiement
50
CHAPITRE III : CONSTRUCTION ET TRANSITION
Au cours de ce chapitre, on va représenter une vue statique et
une vue dynamique du système.
Section 1 : CONSTRUCTION
1.1. Développement du modèle statique
Le développement en modèle statique représente la deuxième
activité de l’étape d’analyse.
1.2. Règles de gestion
Une règle de gestion décrit une condition d’exécutions d’une action.
Ci-dessous nous présentons les différentes règles de gestion de notre
application.
RG 1 : - Chaque Bus est caractérisé par un Type_Bus, plus un id, reference, nom, dateEntree, etatBus, nbPlace.
- Et chaque TypeBus est identifié par un id, et un libelle.
RG 2 : - Un Voyage a un et un seul Parking de départ et un et un seul Parking d'arrivé, et un Parking peut accepter plusieurs Voyage.
RG 3 : - Un Escale peut être effectué dans un seul Parking et il concerne un seul voyage, par contre un voyage peut avoir plusieurs Escale, et un Parking peut accepter plusieurs Escale.
RG 4 : - Une Réservation peut être effectué par un et un seul Utilisateur {Client}, et Un Utilisateur {Client} peut effectuer une ou plusieurs Réservations.
- Un Voyage peut avoir une ou plusieurs Réservations, et une Réservation concerne un et un seul Voyage.
RG 5 : le nombre de places réservés doit être égale au nombre de place disponible dans un voyage la création de la réservation se lance.
RG 6 : La réservation est confirmée moyennant le payement de facture.
51
1.2.1. Dictionnaire des données
Le tableau ci-dessous représente la liste des attributs composants toutes
les classes formants notre système ainsi que leur description, leur taille et
leur type.
Tableau III.1: Dictionnaire de données
libellé variable type
Numéro client numcli numérique (6)
Nom client nomcli Alphabétique (40)
Prénom client prenomcli Alphabétique (40)
Adresse adresse Alphanumérique (50)
Ville Ville Alphanumérique (30)
Pays Pays Alphabétique (25)
Téléphone Tel Alphanumérique (16)
email email Alphanumérique (30)
Numéro bus Num_bus Numérique (6)
Etat bus Etat_bus Alphanumérique (14)
Numéro ville numcat Numérique (6)
Libellé ville libellecat Alphabétique (14)
Type bus Typech Alphanumérique (10)
Numéro réservation numreser Numérique (6)
Heure_arriv_bus datefin Date
Heure_depart_bus datedeb Date
Nombre personne Nbrpers Numérique (2)
Nombre place Nbrch Numérique (2)
Confirme confirme Alphabétique (3)
Annule Annule Alphabétique (3)
Commentaire Commentaire Alphabétique (100)
52
Date arrivée bus Datearr Date
Date départ bus Datedep Date
Numéro facture numfacture Numérique (8)
Montant mttfact Numérique (10)
Date facture datefacture Date
1.2.2. Identification et présentation des classes
La modélisation objet est utilisée dans le langage UML pour
définir des objets-métiers et l’architecture de l’application. Ces objets sont
créés en tant qu’instance de classe et s’interagissent dynamiquement pour
offrir le comportement décrit par les cas d’utilisation.
La modélisation objet définit le comportement requis par les
différentes classes pour assurer la bonne mise en place des cas d’utilisation
et des règles de gestion.
Les objets constituent la base de l’architecture des
applications, ils peuvent être réutilisés à travers des domaines
d’application ou encore être identifiés et dérivés directement des cas
d’utilisation ou des domaines d’application. Une classe est composée :
Attributs : représentant des données dont les valeurs représentent
l’état de l’objet.
La méthode : il s’agit des opérations applicables aux objets.
Après avoir dégagé le dictionnaire de données épuré, nous pouvons
dégager les classes ainsi leurs méthodes et leurs attributs qui sont
présentés dans le tableau suivant :
53
Tableau III.2: Liste des classes
N° Nom classe Liste des Attributs Methodes 01 Client Num_client
Postnom Adresse Tel Ville
Modifier() Demande_reserv() Demande_disponibilite() Supprimer()
02 Agent
Code_agent
Nom
Postnom
Tel
Grade
Adresse
Tel
Ajouter() Modifier() Suprimer()
03 Ville Num_ville Lib_ville
Ajouter_ville() Afficher_ville()
04 Bus Num_bus Type_bus Etat_bus Nbre_place
disponibilite_bus() liste_place()
05 Payer Id PrixTotalHT PrixTotalTTC Date_fact
Payer_cash() Payer_electronique()
06 Réservation n°reserv Date_debut Date_fin
Demande_reser() Afficher_resev()
07 Billet Id_billet
Libelle_billet
Enregistrer() Supprimer()
54
1.2.3. Présentation des associations entre les classes
Les associations sont des relations entre classes. Elles
représentent un lieu durable ou ponctuel entre deux objets, une
appartenance, ou une collaboration. Elles sont représentées par une
ligne entre les classes.
Le modèle de données d’UML comprend trois associations
génériques principales :
Généralisation, association, dépendance à partir de ces trois
associations de base, nous représentons ainsi les différents types
d’association qui décrivent les dépendances entre les classe déjà citées
Association simple : les associations simples sont des liaisons logiques entre
entités.
Les multiplicités : précisent combien d’objets de classe considérée peuvent
être liés à un objet de l’autre classe.
Le tableau suivant illustre une représentation des multiplicités :
Tableau III.3: Représentation des multiplicités
Multiplicité Désignation
1 Un et un seul
0…1 Zero ou un
N Entier naturel
m…n De m à n(deux entiers naturels)
0…* De 0 à plusieurs
1…* De 1 à plusieurs
Le tableau suivant illustre les associations simples en indiquant leurs
désignations, les classes participantes et leurs multiplicités.
Tableau III.4: Représentation des associations simples
55
N° Désignation Classes participantes Multiplicité
1 Concerner Bus Voyage
1 1..*
2 Situer Ville Agence
1 1.. *
3 Etablir Agent billet
1 1…*
4 Recevoir Client Billet
1..* 1
5 Effectuer Client Réservation
1 1..*
56
1.2.4. Diagramme de classes
Figure III.1 : représentation du diagramme de classe
La figure ci-dessus récapitule les tableaux précédents dans un
diagramme de classes qui Contient toutes les informations telles que les
classes, les méthodes, les associations, la règle de gestion et les
propriétés.
57
1.2.5. Règles de passage d’un diagramme de classe vers un modèle
relationnel
Dans notre travail, nous avons adapté les règles suivantes pour faire le passage du diagramme de classe vers le modèle relationnel Chaque classe sera représentée par une table dont les colonnes sont
les attributs de cette classe. Une association de classe entre deux classes est représentée par une
nouvelle table qui prend pour clé primaire la concaténation des clés primaires des deux classes.
Pour la généralisation (héritage) Les relations correspondant aux sous-classes ont comme clés étrangère et primaire la clé de la relation correspondant à la classe parente. Un attribut type est ajouté dans la relation correspondant à la classe parente. Cet attribut permet de savoir si les informations d'un tuple de la relation correspondant à la classe parente peuvent être complétées par un tuple de l'une des relations correspondant à une sous-classe, et, le cas échéant, de quelle relation il s'agit. Ainsi, dans cette solution, un objet peut avoir ses attributs répartis dans plusieurs relations. Il faut donc opérer des jointures pour reconstituer un objet. L'attribut type de la relation correspondant à la classe parente doit indiquer quelles jointures faire.
58
1.2.6. Modèle relationnel :
Dans ce qui suit, nous présentons le modèle relationnel de données optimisées. -- Base de données: `reservation` -- -- -------------------------------------------------------- -- Structure de la table `ville` -- CREATE TABLE IF NOT EXISTS `ville` ( `id_vil` int(11) NOT NULL AUTO_INCREMENT, `lib_vill` varchar (45) NOT NULL, PRIMARY KEY (`id_vil`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ; -- -------------------------------------------------------- -- -- Structure de la table `client` -- CREATE TABLE IF NOT EXISTS `client` ( `code_client` int(11) NOT NULL, `nom` varchar(25) NOT NULL, `prenom` varchar(45) NOT NULL, `date_naiss` text NOT NULL, `etat_civ` varchar(45) NOT NULL, `residence` varchar(25) NOT NULL, `nationalite` varchar(55) NOT NULL, `profession` varchar(25) NOT NULL, `ville` varchar(25) NOT NULL, PRIMARY KEY (`code_client`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1; -- -------------------------------------------------------- -- -- Structure de la table ` payement` -- CREATE TABLE IF NOT EXISTS `payement` (
59
`id_paie` int(11) NOT NULL AUTO_INCREMENT, `prix_totalht` int(15) NOT NULL, `prix_tatalttc` int(15) NOT NULL, `date_paye` date NOT NULL, PRIMARY KEY (`id_paie`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ; -- -------------------------------------------------------- -- -- Structure de la table `agent` -- CREATE TABLE IF NOT EXISTS `agent` ( `code_agent` int(11) NOT NULL, `nom` varchar(25) NOT NULL, `prenom` varchar(45) NOT NULL, `date_naiss` text NOT NULL, `etat_civ` varchar(45) NOT NULL, `residence` varchar(25) NOT NULL, `nationalite` varchar(55) NOT NULL, `profession` varchar(25) NOT NULL, `ville` varchar(25) NOT NULL, PRIMARY KEY (`code_agent`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1; -- -------------------------------------------------------- -- -- Structure de la table `billet` -- CREATE TABLE IF NOT EXISTS `categorie` ( `num_billet` text NOT NULL, `lib_billet` text NOT NULL, `date_achat` text NOT NULL ) ENGINE=InnoDB DEFAULT CHARSET=latin1; -- -------------------------------------------------------- -- -- Structure de la table `reservation` -- CREATE TABLE IF NOT EXISTS `reservation` ( `code_reserv` int(11) NOT NULL AUTO_INCREMENT, `nbre_nuit` int(15) NOT NULL,
60
`debut_sejour` text NOT NULL, `avance` int(11) NOT NULL, PRIMARY KEY (`code_reserv`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ; -- -------------------------------------------------------- -- -- Structure de la table `voyage` -- CREATE TABLE IF NOT EXISTS `voyage` ( `code_voy` int(11) NOT NULL, `date_depart` date NOT NULL, `date_arriv` date NOT NULL, `dure` text NOT NULL, `trajet` varchar(45) NOT NULL, `nbre_place` int(15) NOT NULL, PRIMARY KEY (`code_voy`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1; -- --------------------------------------------------------
61
1.3. Développement du modèle dynamique Les diagrammes dynamiques viennent compléter la description textuelle des cas d’utilisation du système de gestion de transport, nous avons choisi de vous présenter des diagrammes de séquence, d’activités et des diagrammes d’états transitions.
1.3.1. Diagramme d’activité
Le diagramme d’activité permet de mettre l’accent sur les
traitements. Il est donc particulièrement adapté à la modélisation du
cheminement de flots de contrôle et de flots de données. Il permet ainsi
de représenter graphiquement le comportement d’une méthode ou le
déroulement d’un cas d’utilisation.
Les diagrammes d’activités sont relativement proches des
diagrammes d’états-transitions dans leur présentation, mais leur
interprétation est différente.
Une activité représente une exécution d’un mécanisme,
un déroulement d’étapes séquentielles. Le passage d’une activité vers
une autre est matérialisé par une transition. Les transitions sont
déclenchées par la fin d’une activité et provoquent le début immédiat
d’une autre.
6.2.2.1. Diagramme d’activité pour l’authentification
Figure III.2 : Diagramme d’activité pour l’authentification
62
Description : Ce diagramme représente les différents activités réalisé
l’administrateur pour le lancement de site web, premièrement il
authentifié, et il fait la vérification de données, à la fin il valide.
6.2.2.2. Diagramme d’activité demande de réservation
Figure III.3 : Diagramme d’activité de mande réservation
Description : Ce diagramme représente les différents activités réalisé pour
la réservation premièrement lancement du site web, il vérifier la
renseignement sur les réservation et demande de réservation à la fin
vérifier la disponibilité de chambres et saisie des coordonnées, et si un
chambre est disponible il l'affect directement au chambre, sinon il chercher
un autre chambres sera disponible, ou annuler le réservation, et après
63
l'affectation à la chambres disponible, il peut annuler ou valider la
réservation.
6.2.2.3. Diagramme d’activité voyage
Figure III.4 : Diagramme d’activité voyage
Description : Ce diagramme représente les différents activités réalisé
l'agent pour la création d'un voyage dans le système, premièrement il crée
un voyage, et si un bus est disponible il l'affect directement au voyage,
sinon il attend tant qu'un bus sera disponible, ou annuler le voyage, et
après l'affectation de bus au voyage, il peut annuler ou valider un voyage.
64
6.3. Diagramme d’état-transitions
Les diagrammes d’états-transitions permettent de décrire objet
ou d'un composant, en réponse aux interactions avec d'autres
objets/composants ou avec des acteurs.
Un état se caractérise par sa durée et sa stabilité, il représente
une conjonction instantanée des valeurs des attributs d'un objet.
Une transition représente le passage instantané d'un état vers
un autre.
Dans notre travail, nous nous limitons à la proposition d’un
diagramme d’état transition.
5.1.1. Diagramme d’état-transitions «Demande de disponibilité de
place»
Figure 5.6 : Diagramme d’état-transitions «Demande de disponibilité de
place dans le bus»
Accès dans site Web
«Formulaire de disponibilité de
place»
Envoyer les infos de
demande de disponibilité de
place
Soumission de la
demande
Disponible
Non disponible
65
5.1.2. Diagramme d’état-transitions «Demande de réservation»
Figure 5.7 : Diagramme d’état-transitions «Demande de réservation»
Ce diagramme d’état-transition montre de façon schématique le cas
d’utilisation «Demande de réservation», lorsque que le client a accédé à la
page Web du formulaire de réservation, il peut alors entrer les
informations concernant sa demande de réservation et soumettre sa
demande ou tout simplement annuler sa demande.
Accès à page Web
«Formulaire de réservation»
Entrée des données
relatives à la réservation
Soumission de la
demande
Enregistrement de
demande
Annulation
66
6.4. Présentation de l’environnement de travail
1. Matériels de base :
Pour la réalisation de ce projet on dispose d’un micro-ordinateur (système
Intel(R) celoron(R) CPU « 560@ 2,13 GHZ »RAM 1Go, Disque dur 500 Go,
Système d’exploitation Windows 7.
2. Environnement logiciel
Pour la réalisation de notre application nous avons utilisés les outils et les
langages de programmation suivants :
Langage de programmation : PHP
Logiciel de conception : UML.
Système de gestion de base de données : MySQL
Logiciel de bureautique : office 2013
Star UML est un logiciel de modélisation UML, cédé
comme open source par son éditeur, à la fin de son exploitation
commerciale, sous une licence modifiée de GNU GPL.
3.2 Les langages et la méthode de programmation
3.2.1. PHP 5
Le langage PHP est utilisé principalement en tant que langage
de script côté serveur, ce qui veut dire que c'est le serveur (la machine qui
héberge la page web en question) qui va interpréter le code PHP et
générer du code (constitué généralement d'XHTML ou d'HTML, de CSS, et
parfois de JavaScript) qui pourra être interprété par un navigateur.
Le PHP est un langage qui s’introduit dans les pages web par
des balises html.
67
<?php
echo 'Hello, World';
?>
Affichera : « Hello World » sur la page internet
3.2.2. Dreamweaver
Dreamweaver est un éditeur de site web de type « WYSIWYG »
( whatyouseeiswhatyouget - ce que l’on voit est ce que l’on obtient).
Dreamweaver offre deux modes de conception par son menu
affichage. L'utilisateur peut choisir entre un mode création permettant
d'effectuer la mise en page directement à l'aide d'outils simples,
comparables à un logiciel de traitement de texte (insertion de tableau,
d'image, etc.). Il est également possible d'afficher et d'éditer directement le
code (HTML ou autre) qui compose la page. On peut passer très facilement
d'un mode d'affichage à l'autre ou opter pour un affichage mixte. Cette
dernière option est particulièrement intéressante pour les débutants, qui à
terme, souhaitent se familiariser avec le langage HTML.
3.2.3. HTML
L'Hypertext Markup Language , généralement abrégé HTML,
est le format de données conçu pour représenter les pages web. Il permet
notamment d'implanter de l'hypertexte dans le contenu des pages et
repose sur un langage de balisage, d’où son nom. HTML permet aussi de
structurer sémantiquement et de mettre en forme le contenu des pages,
d’inclure des ressources multimédias dont des images, des formulaires de
saisie, et des éléments programmables tels que des applets. Il permet de
créer des documents interopérables avec des équipements très variés de
manière conforme aux exigences de l’accessibilité du web. Il est souvent
utilisé conjointement avec des langages de programmation (JavaScript) et
68
des formats de présentation (feuilles de style en cascade). HTML est
initialement dérivé du Standard Generalized Markup Language (SGML).
Le HTML n'est pas un langage de programmation. Il s'agit d'un
langage permettant de décrire la mise en page et la forme d'un contenu
rédigé en texte simple. Une page HTML est ainsi un simple fichier texte
contenant des balises (parfois appelées marqueurs ou repères ou tags en
anglais) permettant de mettre en forme le texte, les images, etc.
3.2.4. MYSQL
MySQL est un système de gestion de base de données (SGDB).
Selon le type d'application, sa licence est libre ou propriétaire. Il fait partie
des logiciels de gestion de base de données les plus utilisés au monde,
autant par le grand public (applications web principalement) que par des
professionnels, au même titre que Oracle ou Microsoft SQL Server.
MySQL AB a été acheté le 16 janvier 2008 par Sun
Microsystems pour un milliard de dollars US.
MySQL est un serveur de bases de données relationnelles SQL
développé dans un souci de performances élevées en lecture, ce qui
signifie qu'il est davantage orienté vers le service de données déjà en place
que vers celui de mises à jour fréquentes et fortement sécurisées. Il est
multi-thread et multi-utilisateurs.
C'est un logiciel libre développé sous double licence en
fonction de l'utilisation qui en est faite : dans un produit libre ou dans un
produit propriétaire. Dans ce dernier cas, la licence est payante, sinon c'est
LGPL qui s'applique. Ce type de licence double est utilisé par d'autres
produits.
69
3.2.5. EASY PHP
EasyPHP est ainsi un pack fonctionnant sous Windows permettant
d'installer en un clin d'œil les éléments nécessaires au fonctionnement
d'un site web dynamique développé en PHP.Le pack EasyPHP est
disponible sur les sites suivants : www.easyphp.org Il vous suffit dans un
premier temps de télécharger la version la plus récente de EasyPHP.
1. Ecriture de code
Code pour la connexion base de données
70
Code demande de réservation
71
2. Présentation des interfaces
Nous allons illustrés ci-dessous les interfaces de notre application :
1) Accueil
Pour l’accès à la plate-forme, tapez l’adresse suivante La page d’accueil ci-dessous s’affichera.
72
Formulaire de demande de réservation
TSHIMBA
KONGOLO
KIMBANSEKE
MATADI
Cash
11 H 00
15
République démocratique du Congo Travel Agency BOLINGO 7ème rue Industriel
Bullet N° 275
Nom : TSHIMBA Post nom : KONGOLO Adresse : KIMBANSEKE Destination : MATADI Mode payement : Cash Heur départ : 11 H 00 Nombre de place : 15
Fait à Kinshasa le 13/09/2016
73
3. Tests
Pour s’assurer d’une démarche qualité et pour être sûr que le
produit correspond aux attentes prédéfinies au départ, des tests ont été réalisés le long du cycle de vie du projet. Pour bien mener nos tests nous avons formalisés les procédures de tests avec trois questions prépondérantes : Quoi ? Quand ? Qui ? Comment ?
3.1. Quoi ? Qu’est ce qu’on test ?
La plateforme : nous avons testé toutes les fonctionnalités et modules de notre plateforme et ceci sur différents environnements techniques afin de prévoir des processus d’utilisation sans risque.
Les contenus : nous avons testé le comportement du module avant et après son intégration dans la plateforme et ceci même pendant le développement ce qui nous a permis d’adapter notre méthodologie de développement.
3.2. Quand ? A Quel moment tester ?
Les tests doivent être réalisés le long du processus de création de notre plate-forme. Nous avons démarré les tests dès la phase de conception, construction, déploiement.
1.3. Qui ? Qui est responsable des tests ?
Autant que chef de projet, j’ai été amené à préparer les procédures de tests ainsi que veiller à leur bon déroulement. Pour la validation, c’est l’équipe projet en entier qui s’en est occupée.
1.4. Comment ? Quels sont les types de tests à faire ?
Pour notre projet, nous avons programmés trois types de tests afin de pouvoir cerner toutes les facettes du dispositif et sa réalisation.
Tests de fonctionnalités : tests des boutons de navigation, des liens, menus et sous menus.
Tests d’ergonomie-navigation : tests sur l’interactivité, tests de tous les scénarios et dans tous les cas possibles, tests de tous les clicks et les éventuels messages d’erreurs.
Tests techniques : tester la plateforme sur plusieurs configurations matérielles et logicielles, une gamme variée d’ordinateurs et la montée en charge sur la plateforme pressentie.
74
Les tests sont indispensables pour offrir une plate-forme qui répond au mieux à nos attentes et surtout qui présente le moins nombre de bugs possible. Mais pour la maintenance et l’évolution de la plate-forme, nous proposons un processus de suivi.
Section 7 : TRANSITION
4. Introduction
Après les opérations de test menées dans la phase précédente, il s’agit dans cette phase de livrer le produit pour une exploitation réelle. C’est ainsi que toutes les actions liées au déploiement sont traitées dans cette phase. De plus, des « bêta tests » sont effectués pour valider le nouveau système auprès des utilisateurs.
5. Diagramme déploiements
Le diagramme de déploiement est une vue statique qui sert à
représenter l'utilisation de l'infrastructure physique par le système et la manière dont les composants du système sont répartis ainsi que leurs relations. Les éléments utilisés par un diagramme de déploiement sont principalement les nœuds, les composants, les associations et les artefacts.
Les caractéristiques des ressources matérielles physiques et des
supports de communication peuvent être précisées par stéréotype comme l'illustre la figure 7.1.
Pour notre projet nous avons choisi l’architecture 3 tiers le modèle de déploiement se présente comme suit :
Figure 7.1. Diagramme de déploiement
75
CONCLUSION
Nous voici au terme de notre travail de fin de cycle intitulé
«conception et réalisation d’un système d’information informatisé pour la
gestion des réservations de places en ligne dans une entreprise de
transport Cas de TRAVEL AGENCY BOLINGO ».
Au fil de la conception de l’application de la TRAVEL AGENCY BOLINGO, j'ai pu emprunter de nouveaux chemins dans le monde complexe de l'Informatique : l'approfondissement du HTML, l'utilisation de nouveaux logiciels comme Dreamweaver, Photoshop... l'initiation à de nouveaux langages de programmation sont, entre autres, des domaines d'un indéniable intérêt.
Suite au test faite de l’application, l’interaction entre le site Web
et la base de données du système répond aux besoins du client, car après
avoir rempli le formulaire de réservation de place, le client aura une
réponse de confirmation sur la réservation, la base de données n’effectue
pas de calcul sur la facturation, il indique le prix sur la destination du client.
L’agent de voyage peut voir les réservations aussitôt qu’elles sont faites.
L’administrateur peut modifier, supprimer ou faire une mise à jour sur les
réservations. Il peut aussi ajouter des destinations.
Au final donc, il est important de souligner que ce travail a
atteint les objectifs fixés au départ, et au-delà du sentiment de satisfaction
qui s’en suit, il nous a permis de bénéficier de nouvelles connaissances
venues compléter celles que nous avons acquises tout au long de notre
formation.
Cependant, nous pouvons toujours y apporter quelques
améliorations qui feront de cette application un outil incontournable tant
dans le domaine de gestion de réservation de place en ligne.
Suggestions pour l’avenir
76
On suggère à l’agence TRAVEL AGENCY BOLINGO de
toujours mettre à jour leur système de réservation de place en ligne
pour ne pas perdre le fil et toujours ajouté les nouveaux produits qu’ils
vont rajouter sur leur catalogues.
On leur suggère de développer une application mobile sous
Android, Windows phone, etc. pour faciliter les clients de connaitre les
informations de voyage dans leur téléphone mobile.
77
BIBLIOGRAPHE
I. OUVRAGES
1. CHARROUX, B., OSMANI A. et THIERRY-MIEG Y., UML 2 pratique de la modélisation, 2é Edition Pearson,Paris, 2009.
2. HERTEL, Olivier, PHP 5 Développer un site web dynamique et interactif, Ed. ENI, Paris, 2005.
3. HUNTER D., et COLL., Initiation à XML, Ed. eyrolles, Paris, 2000. 4. LEBOEUF, J.P., Les cahiers du programmeur PHP-MySQL, Ed.
eyrolles, Paris, 2002. 5. MOREJAN, José., Merise vers une modélisation orientée objet,
Ed. Organisation, Paris, 1996, P.89 6. ROQUES P. et VALLEE F., UML 2 en action de l’analyse des
besoins à la conception, Edition EYROLLES, 2005. 7. ROQUES P., UML 2 modéliser une application web, 4é Edition
eyrolles, 2007. 8. SOUTOU, Christian, UML 2 pour les bases de données avec 20
exercices corrigés, 4é Ed. eyrolles, Paris, 2007.
II. NOTES DE COURS
1. . MUKUNA BWATSHIA., Initiation à la recherche Scientifique, G2 info, ISC/Kin, 2015 – 2016, [inedit].
2. DISONAMA, Cours architecture des réseaux, L2 info, ISC/Kin, 2015-2016, [inedit].
3. FENOUILLET Fabien, DERO Moïse, « Le «e-learning » est-il efficace ? », UniversitéParis X Nanterre, IUFM de Villeneuve d’Ascq, Année 2004.
4. MUSANGU LUKA MARCEL., Cours conception de système d’information, L1 info, ISP - kinshasa, 2015 – 2016.
5. MVIBUDULU KALUYIT. et KONFIE IPEPE L., Cours technique de base de données, G3 info, ISC/Kin, 2015 – 2016, [inedit].
6. MVIBUDULU KALUYIT., Cours conception de système d’information, L2 info, ISC/Kin, 2015– 2016.
Recommended