Epigraphe
« Si le monde est devenu trop dangereux pour
qu'on y vive, ce n'est pas à cause des gens qui font le mal, mais
à cause de ceux qui les laissent faire sans
bouger »
Albert
Einstein
Liste des figures
CHAPITRE 1 : ARCHITECTURE CLIENT
SERVEUR
Figure 1.1 : Architecture client serveur avec le mainframe
(Page 9)
Figure 1.2 : Fonctionnement de l'architecture client serveur
(Page 11)
Figure 1.3 : Application basée sur l'architecture
client serveur (Page 14)
CHAPITRE 2 : GESTION DES PROJETS
Figure 2.1 : Diagramme de Gantt (Page 17)
Figure 2.2 : Représentation d'une étape
avec la méthode PERT (Page 24)
Figure 2.3 : Représentation des étapes et des
Tâches avec la méthode PERT (Page 24)
Figure 2.4 : Représentation des tâches
simultanées (Page 24)
Figure 2.5 : Représentation d'une tâche
virtuelle (Page 24)
Figure 2.6 : Tâches convergentes(Page 25)
Figure 2.7 : Normalisation du graphe Pert (Page 25)
Figure 2.8 : Normalisation du graphe Pert (Page 25)
Figure 2.9 : Normalisation du graphe Pert (Page 25)
Figure 2.10 : Composition d'une étape dans le
graphe Pert (Page 26)
Figure 2.11 : Exemple du graphe Pert (Page 27)
Figure 2.12 : Représentation d'une tâche
avec la méthode de potentiel métra (Page 28)
Figure 2.13 : Représentation du graphe potentiel
(Page 30)
CHAPITRE 3 : APPLICATION ET
IMPLEMENTATION
Figure 3.1 : Aperçu du logiciel pour la gestion des
projets(Page 34)
Figure 3.2 : Le diagramme de Gantt (Page 33)
Figure 3.3 : Aperçu de GanttProject (Page 35)
Figure 3.4 : Création d'un nouveau projet grâce
à GanttProject (Page 36)
Figure 3.5 : Création d'une nouvelle tâche
(Page 37)
Figure 3.6 : Organisation des tâches en
catégories (Page 37)
Figure 3.7 : Création des relations des
dépendances entre les tâches (Page 37)
Figure 3.8 : Les propriétés d'une tâche
(Page 38)
Figure 3.9 : Les ressources (Page 38)
Figure 3.10 : Les ressources (Page 38)
Figure 3.11 : Aperçu du graphe potentiel grâce
à notre logiciel (Page 40)
Figure 3.12 : Les tâches critiques obtenues à
partir de notre programme en visual basic (Page 40)
Figure 3.13 : Aperçu du diagramme de Gantt
grâce (GanttProject) (Page 41)
Figure 3.14 : Obtention chemin critique (GanttProject) (Page
41)
Figure 3.15 : Les tâches critiques (GanttProject)
(Page 42)
Dédicace
A Dieu tout puissant qui a permis que je fasse ce travail de fin
d'étude.
A mes parents, mon père Benjamin BUMFUIDI, ma
très chère mère Helene BAYIMISA, je n'oublierais jamais
vos efforts conjugues durant toute ces dernières années.
A mon oncle paternel Bernard DIKU et ma tante Rose
BAKEBILA .
A mes frères et soeurs : Herve BUMFUIDI, Samira
DIEYABANZA, Jenovic BUMFUIDI, Enice BAKABUKILA.
A mes cousins et cousines : Benjamin DIASOLUA et Ruth
WULUBA.
A la famille BUMBANGI, BIKUAKA.
A mes amis et connaissances : Herve NYOKA, Christian
MUNDELE, Steve KOPI, Friedrich KIBANGO, Christian BELEWETE, Glody MATONDO,
Arnold MAKILA , Juvenal LOFINDA, Yannick MOYO.
A toutes personnes qui ont contribué de près ou
de loin à l'élaboration de ce travail qui trouve ici l'expression
de ma gratitude.
Avant-propos
Les étudiants finalistes au cycle de graduat doivent
présenter un travail Scientifique, d'une envergure considérable,
reflétant les connaissances qu'ils ont eu à acquérir
depuis le début de leur cycle à l'université de
Kinshasa.
Ce travail de titan a nécessité beaucoup de
concentration de notre part puis nous a permis d'accroitre,
d'expérimenter certaines notions apprises aux cours. L'objet de
ce travail est d'arriver à mettre au point un logiciel utilisant la
théorie des graphes permettant de résoudre le problème
centrale d'ordonnancement par la construction d'un graphe potentiel
pondéré et un réseau de transport quasi fortement connexe.
Je souhaiterais avant toute chose remercier les personnes sans
qui ce travail ne serait pas, en commençant par les autorités de
l'Université de Kinshasa, Je tiens également à remercier
ces personnes pour leur disponibilité et leur envie de participer
à ce travail qui m'a marquée à l'occurrence le professeur
docteur MANYA NDJADI L., le professeur docteur KAFUNDA. Je remercieégalement l'assistant Félicien MASAKUNA pour
son encadrement, ses précieux conseils et remarques précieuses
qui nous ont permis d'achever ce travail.
DIASOLUA LUZILA Jeancy
INTRODUCTION
Un des paramètres très important à tenir
compte dans la gestion des projets est le temps. Ce pour cela qu'il sera
primordial pour nous de savoir comment procéder afin de répartir
les différentes tâches d'un projet dans le temps. Tout projet a un
objectif, certains n'atteignent pas souvent leurs objectifs (dépassement
de délais, Surcouts importants, qualité technique du produit
insuffisante), à cause de la mauvaise gestion. Il en résulte une
préoccupation, qui est celle de chercher à savoir les outils
efficaces à user de manière à bien planifier, bien
contrôler, bref bien gérer un projet, de manière à
éviter des couts supplémentaires, des dépassements
inutiles du délais ...Le fait d'avoir un contrôle sur la
durée, le cout global d'un projet nous permettra de prévoir avec
précisions le budget à allouer au projet.
Cette controverse face au quel on se retrouve butter nous
pousse à réfléchir, trouver des solutions pouvant
répondre aux besoins. L'utilisation des techniques d'ordonnancement
s'est avérée incontournable en vue de palier face à notre
préoccupation précédente. Notons qu'il existe des outils
qui peuvent nous permettre de connaitre le temps lié à
l'exécution de chaque tâche du projet, à l'occurrence le
graphe pert, le graphe potentiel, le diagramme de gantt. Le choix d'une
méthode dépend du gestionnaire du projet.
Au regard de ce qui précède, nous avons
jugé judicieux de mettre au point un logiciel conçu dans un
langage de programmation que nous maitrisons le mieux (Visual Basic) pouvant
tracer le graphe potentiel, celui-ci pourra être utilisé dans des
bureaux d'études plus précisément dans l'étape de
la planification des projet, de manière à ce que nous puissions
gagner par rapport au facteur temps.
La résolution de notre problème passe par
l'élaboration du cahier de charge, des phrases d'analyse... Ce qui nous
permettra d'avoir une vision assez large sur le problème et sur le
logiciel. En présence des besoins, nous avons optée pour
l'utilisation du langage de modélisation unifié (UML). Ce langage
permet de réaliser un système logiciel en le représentant,
en le spécifiant, en le construisant et en le documentant au
préalable. Ce langage s'articule autour d'au moins neuf diagrammes
différents représentant chacun un concept particulier de
développement d'un système logiciel, parmi lesquels nous avons
choisi de modéliser le diagramme de cas d'utilisation.
Notre contribution, le logiciel en ce qui le concerne peut
permettre à une personne de visualiser avec précision la
répartition des tâches d'un projet en niveau, le graphe potentiel
avec les calculs des dates des débuts, dates aux débuts au plus
tard de toutes les tâches du projet. De ce fait, l'objectif de ce outil
(du logiciel) est de permettre d'ordonnancer, de hiérarchiser, de
classer un très grand nombre de tâche en fonction des contraintes
d'antériorité, de successions qui peuvent évoluer. Le
programme s'adapte à tout problème décomposable en
tâches, il est particulièrement performant lorsque le nombre de
tâches est élève et que les contraintes risquent
d'évoluer.
Ce travail scientifique basé sur la conception d'un
logiciel a nécessité beaucoup d'énergie de notre part,
aussi de la part des personnes qui nous ont aidées dans sa
rédaction. Au total, sept mois ont été suffisants pour le
réaliser, de Juin 2013 à Décembre 2013. La conception du
logiciel quant a lui nous a fallu les trois premiers mois.
Ce travail est reparti en trois grands chapitres :
CHAPITRE 1 : ARCHITECTURE CLIENT- SERVEUR
Il sera question de mettre en valeur l'importance liée
à l'utilisation de ce type
d'architecture dans notre logiciel
CHAPITRE 2 : GESTION DES PROJETS
Il a été question de donner de la lumière
sur certaines notions (projet, contrôle et évaluation d'un
projet, ...) et aussi de montrer l'utilité de cette étape
nommée « la gestion des projets » dans la
réalisation des projets
CHAPITRE 3 : APPLICATION ET IMPLEMENTATION
Nous avons montré différent aspect du logiciel,
la manière dont nous devons comprendre le résultat déduit
du logiciel. En outre nous avons eu a parlé de ganttProject, un outil
très connu, très puissant et très utilisé dans la
gestion des projets, aussi nous avons émis vers la fin certains
hypothèses pouvant aider à utiliser le logiciel adéquate,
en rapport avec votre projet.
CHAPITRE 1 :
ARCHITECTURE CLIENT - SERVEUR
Une architecture client-serveur est un mode de communication
entre deux processus (client et serveur)
1.1 Les architectures
réseaux
Généralement, nous pouvons distinguer deux
architectures de réseaux à savoir :
Ø Les réseaux poste à poste (peer to peer
/ égal à égal)
Ø Réseaux organisés autour de serveurs
(Client - Serveur)
Ces deux types de réseau ont des capacités
différentes. Le type de réseau a installé dépend
des critères suivants : Taille de l'entreprise, Niveau de
sécurité nécessaire et type d'activité, Niveau de
compétence d'administration disponible, Volume du trafic sur le
réseau, Besoins des utilisateurs du réseau, Budget alloué
au fonctionnement du réseau (Notons que dans le budget, il sera pris en
compte l'achat mais aussi l'entretien et la maintenance).
1.1.1. Architecture poste
à poste
Dans une architecture poste à poste (appelée
aussi « égal à égal», en anglais peer to
peer, notée P2P), contrairement à une
architecture de réseau de type client-serveur, il n'y a pas de serveur
dédié. Ainsi chaque ordinateur dans un tel réseau joue
à la fois le rôle de serveur et de client. Cela signifie notamment
que chacun des ordinateurs du réseau est libre de partager ses
ressources. Un ordinateur relié à une imprimante pourra donc
éventuellement la partager afin que tous les autres ordinateurs puissent
y accéder via le réseau.
Avantages de l'architecture poste à
poste
L'architecture poste à poste possède tout de
même des avantages, nous pouvons éventuellement cités :
· Un coût réduit (les coûts
engendrés par un tel réseau résultent du matériel,
des câbles et de la Maintenance),
· Une simplicité à toute épreuve.
Inconvénients de l'architecture poste à
poste
Les réseaux poste à poste ont néanmoins
un certain nombre d'inconvénients :
· Le système basé sur l'architecture poste
à poste n'est pas du tout centralisé, ce qui le rend très
difficile à administrer,
· La sécurité est moins facile à
assurer, compte tenu des échanges transversaux ;
· Aucun maillon du système ne peut être
considéré comme fiable.
Ainsi, les réseaux poste à poste sont
préférentiellement utilisés pour des applications ne
nécessitant pas un haut niveau de sécurité ni une
disponibilitémaximale (il est donc déconseillé pour un
réseau professionnel avec des données sensibles).
1.1.2 Architecture Client -
Serveur
1.1.2.1 Les ordinateurs du
type « Mainframe »
Avant la période où les ordinateurs portables
devenaient populaires, les bases de données ainsi que les programmes
pour les manipuler; se trouvaient sur de grands ordinateurs puissants du type
"mainframe". On parlait d'une architecture centralisée, puisque les
bases de données, le système de gestion des bases de
données et les objets tels que requêtes, formulaires, rapports
étaient stockés sur le "mainframe". L'utilisateur était
connecté au "mainframe" à l'aide d'un terminal composé
d'un clavier et d'un écran.
Contrairement à un ordinateur portable, un terminal ne
possède aucune intelligence propre, c.à.d. qu'il peut uniquement
envoyer des caractères au "mainframe" et afficher les caractères,
qui lui sont envoyés par le "mainframe".
Lorsque l'utilisateur veut par exemple afficher un formulaire
(une interface), la construction de celui-ci se fait complètement sur le
"mainframe". Ensuite, le formulaire où plutôt l'apparence du
formulaire est envoyée via le réseau vers le terminal de
l'utilisateur.
Figure 1.1 : Architecture client-serveur avec le
mainframe
Avantage de l'architecture "mainframe"
Les «mainframe » étant de grands
ordinateurs très puissants, les systèmes atteignent de
très belles performances, d'autant plus que tous se passe au niveau du
serveur.
Inconvénients de l'architecture
"mainframe"
Ø Aucune capacité de calcul sur le terminal,
donc impossible d'exécuter des programmes sur le terminal.
Ø Le "mainframe" étant sous la seule gestion du
service informatique, les utilisateurs peuvent uniquement accéder aux
bases de données via des formulaires, et autre. créés par
les informaticiens.
Ø Le réseau est assez chargé, surtout
lorsque le nombre des terminaux accroît.
Ø Les requêtes, formulaires .... sont fortement
couplés au système de gestion de base de données ce qui
les rend pratiquement inutilisable lorsqu'une société veut migrer
vers un autre système de gestion de base de données.
L'évolution historique des architectures informatiques
vers les architectures du type client-serveur(en anglais Client - Server) dans
les années '90; peut être ramenée surtout aux facteurs
suivants :
Ø L'arrivée au marché des ordinateurs
portables.
Ø L'apparition de serveurs, machines moins
chères et moins spacieuses que les
"Mainframe", avec cependant une capacité de calcul et
de stockage analogue à celle des "mainframe".
Ø L'émergence des systèmes d'exploitation
standardisés tels qu'UNIX ou Windows NT.
Ø L'apparition des systèmes des gestions des
bases de données indépendants de la plate-forme et disponible
pour tous les systèmes d'exploitation standardisés.
1.1.2.2L'approche
client-serveur
Il sera question de répondre à la
question : « En quoi consiste l'utilisation d'une
architecture client-serveur ? »
L'utilisation d'une architecture client-serveur va consister
à réaliser une intégration de l'informatique personnelle
dans le système informatique de l'entreprise avec comme objectifs :
· Tout utilisateur dans une entreprise pourra
accéder à toute information utile à sa tâche
dès lors que cet accès sera autorisé par les règles
de confidentialité et de sécurité en vigueur.
· L'accès devra être instantané et,
fait à partir de n'importe quel poste de travail.
· L'accès à l'information devra avoir lieu
à travers une interface aussi simple que possible, choisie par
l'utilisateur. Il faudra préserver les investissements passés.
Le modèle client-serveur est une solution qui a
été apporté en vue de répondre aux objectifs
précédemment cités.
De nombreuses applications fonctionnent selon un environnement
client- serveur ,il désigne un mode de communication à travers un
réseau
entre plusieurs
programmes
(processus) ou
logiciels : l'un,
qualifié de
client,
envoie des requêtes ; l'autre ou les autres, qualifiés de
serveurs,
attendent les requêtes des clients et y répondent .En d'autre
terme, cela voudrait dire qu'il existe des machines clientes (des machines
faisant partie du réseau) contactent un serveur, une machine
généralement très puissante en terme de capacité
d'entrée-sortie, qui leurs fournit des services. Ces services sont des
programmes fournissant des ressources telles que données, des fichiers,
une connexion et aussi des ressources matérielles.
Une autre définition du paradigme client-serveur est
qu'il consiste à structurer un système en termesd'entités
clientes et d'entités serveurs qui communiquent
parl'intermédiaire d'un protocole de communication à travers un
réseauinformatique .Un serveur est généralement capable de
servir plusieurs clients simultanément, comme il a été
énoncé précédemment, en bref répondre aux
requêtes d'un grand nombre de clients. En général, les
clients sont souvent des ordinateurs personnels ou des appareils individuels
(téléphone, tablette).
1.1.2.3 Fonctionnement de
l'architecture Client - Serveur
Un système client-serveur fonctionne selon le
schéma suivant :
Figure 1.2 : Fonctionnement de l'architecture
client serveur
Pour illustrer le schéma de la figure 1.2, nous dirons
que le client émet une requête vers le serveur grâce
à son adresse IP et le port, qui désigne un service particulier
du serveur.
Le serveur reçoit la demande et répond à
l'aide de l'adresse de la machine cliente et son port.
Avantages de l'architecture
client-serveur
L'architecture client-serveur est particulièrement
recommandée pour des réseaux nécessitant un grand niveau
de fiabilité, ses principaux atouts sont :
Ø Les utilisateurs deviennent des clients avec des
postes de travail intelligents, à l'aide desquels ils peuvent connecter
les applications bureautiques directement aux serveurs dans lesquels nous
trouvons une base de données afin de gérer dans un environnement
convivial les données de l'entreprise, sans être dépendant
des services d'un informaticien pour résoudre le moindre
problème.
Ø Les réseaux informatiques modernes permettent
un accès transparent à plusieurs serveurs base de données,
et ceci même de façon simultanée.
Ø Une partie de la capacité de travail est
partagée entre les serveurs et les clients, ce qui crée un
certain équilibre.
Ø Une panne du serveur n'empêche pas
nécessairement tous les utilisateurs de travailler avec l'outil
informatique. Certains travaux peuvent être exécutés sans
connexion au serveur.
Ø L'architecture Client-serveur, reposant sur les
systèmes ouverts, offre en plus l'avantage qu'il existe toute une
panoplie de logiciels standard, ce qui crée un marché multi
vendeur et une offre des produits équilibrée.
Inconvénients de l'architecture
Client-serveur
L'architecture client-serveur a tout de même quelques
lacunes parmi lesquelles :
Ø Un coût élevé dû à
la technicité du serveur.
Ø Un maillon faible : le serveur est le seul maillon
faible du réseau client-serveur, étant donné que tout le
réseau est architecturé autour de lui. Heureusement, le serveur a
une grande tolérance aux pannes.
1.1.2.4 Les
différents modèles de client-serveur
En fait, la différence entre les différents
modèles client-serveur est essentiellement liée aux services qui
sont assurés par le serveur .On distingue couramment :
Le client-serveur de donnée
Dans ce cas ,le serveur assure des Tâches de gestion,
stockage et de traitement de données ,C'est le cas le plus connu
de client-serveur utilisé par tous les grands système de gestion
de base de données .La base de données avec tous ses outils
à savoir la maintenance ,le sauvegarde est installé sur un poste
serveur .Sur le client, un logiciel d'accès est installé
permettant d'accéder à la base de données du serveur .
Le client-serveur de présentation
Dans ce cas la présentation des pages affichées
par le client est intégralement prise en charge par le serveur.
Le client-serveur de traitement
Dans ce cas, le serveur effectue des traitements à la
demande du client.il peut s'agir par exemple des traitements d'alarmes.
Ces traitements peuvent être réalisés par
des programmes installés sur des serveurs mais également
intégrés dans des bases de données ; dans ce cas la
partie donnée et traitement sont intégrés.
1.1.2.5 Répartition
des Tâches
Dans l'architecture client-serveur, une application est
constituée de trois parties :
§ L'interface de l'utilisateur
§ La logique de traitement
§ La gestion des données
Le client n'exécute que l'interface de l'utilisateur
(Très souvent une interface graphique) ainsi que la logique de
traitement (Formuler la requête) laissant au serveur de base de
données la gestion complète en rapport avec la manipulation des
données.
1.2 Architecture
logicielle
1.2.1 Description d'une
architecture logicielle
Les concepts d'architecture logicielle et de programmation
structurée sont difficiles à mettre en oeuvre pour des
applications complexes. La première étape dans la construction
d'une application complexe consiste à ne pas la concevoir comme un tout,
mais comme une multitude de composants qui sont liées dans un
environnement donné, il s'agit de l'approche modulaire .Notons que la
conception d'une architecture logicielle, bien que d'une importance capitale
pour la réussite d'un projet informatique, est encore trop souvent
liée au savoir-faire d'une personne (ou d'un groupe de personnes)
spécialiste(s) d'un domaine précis. L'architecture est donc
étudiée selon un point de vue particulier (aussi, appelée
une facette)
Le rôle principal d'une architecture est
d'entraîner une démarche de conception, à la fois formelle
(permettant par le calcul mathématique de valider ses
propriétés) et opérationnelle (lors de sa conception, de
sa mise au point et de sa maintenance). La définition d'une
architecture logicielle passe donc par la réponse à la question
suivante : Quelles règles doit-on suivre pour réussir à
développer des systèmes qui répondent à toutes les
exigences fonctionnelles (les services à rendre) et non fonctionnelles
(performance et extensibilité du système par exemple)
?
1.2.2 Le client-serveur et
l'architecture logicielle
Originellement, le terme client-serveur décrivait les
interactions entre deux programmes d'une architecture logicielle, les
programmes résidaient alors sur la même machine hôte. La
signification du terme client-serveur a complètement changé lors
de l'apparition d'outils de distribution des traitements en fonction des
ressources Logicielles et matérielles. Désormais, une
architecture client-serveur s'appuie sur des architectures matérielles
et logicielles qui interagissent.
L'architecture client-serveur est un modèle de
fonctionnement logiciel qui peut se réaliser sur tout type
d'architecture matérielle (petites ou grosses machines) à partir
du moment où ces architectures peuvent être
interconnectées.
Les architectures logicielles de type client-serveur actuelles
nécessitent la recherche du meilleur découpage d'une application
en composants logiciels, ainsi que la répartition efficace de ces
composants.
1.2.3 Utilisation d'une
application basée sur l'architecture client-serveur
L'architecture client-serveur peut être utilisée
dans beaucoup d'applications, son utilisation dépend des besoins ainsi
que du savoir-faire de la part du programmeur.
Prenons un exemple clair et précis :
Un vendeur possédant plusieurs boutiques, on souhaite
mettre en place un système informatique composé des
éléments suivants :
- Un serveur central situé dans une zone non accessible
au public ;
- Des postes clients répartis dans chacune des
boutiques.
Les postes clients doivent permettre, grâce à une
interface homme-machine appropriée (qui sera simulée ici sous
forme d'une zone de saisie en mode caractères), de réaliser les
différentes opérations prévues.
Figure 1.3 : Application basée sur
l'architecture client serveur
Le fonctionnement sera le suivant :
1. Selon la saisie de l'utilisateur, le client
préparera une requête à envoyer au serveur.
2. La requête sera envoyée au serveur et le
client se mettra en attente de la réponse.
3. Le serveur réceptionnera la requête et la
traitera pour comprendre la demande du client.
4. Il effectuera ensuite le traitement associé,
5. et enverra le résultat de ce traitement au
client.
6. Le client réceptionnera le résultat et pourra
enchaîner sur une nouvelle requête.
La gestion des données au niveau du serveur
Le serveur central a la charge de l'ensemble des
données de la boutique (stock et facturation). Les données
manipulées par le serveur sont de nature persistante,
c'est-à-dire qu'elles doivent survivre à l'exécution de
l'application. Pour assurer la persistance de ces données, nous les
stockerons dans un fichier. Le principe consiste alors à charger ce
fichier en mémoire pour traiter chaque requête client, puis de
sauvegarder ce fichier après chaque mise à jour. Un
mécanisme de synchronisation devra donc être utilisé pour
gérer la concurrence d'accès au fichier.
CHAPITRE 2 : GESTION
DES PROJETS
La gestion des projets est une démarche visant à
organiser de bout en bout le bon déroulement d'un
projet.
Toute entité économique (entreprise
industrielle, entreprise du bâtiment, administration, Sous-traitant, ...)
doit assurer la cohérence technique et économique de la
réalisation du produit et/ou service avec le contrat qui la lie au
client. Cette réalisation doit amener la satisfaction du client en
respectant le cahier des charges, les délais, et les couts.
La gestion des projets fait partie des tâches les plus
ardues et les plus complexes de la vie d'une entreprise. Elle oblige à
prendre en compte de multiples paramètres et la façon dont ils
interagissent entre eux.
2.1 La recherche
opérationnelle : l'outil Important dans la planification des
projets
Au XVIIe siècle Descartes pose les bases de la
décomposition d'un problème complexe en éléments
simples, c'est le principe de la méthode d'analyse et de structuration
des projets actuels. À la même époque Pascal et Pierre de
Fermat inventent la notion d'« espérance mathématique
», la théorie des probabilités se développe et
diverge vers différentes branches, comme notamment, depuis le milieu du
siècle dernier, la recherche opérationnelle. Il
est à noter que le terme « opérationnelle » indique
son origine militaire :
C'est pendant la seconde guerre mondiale que cette
dernière discipline démontre toute sa puissance.
Les Britanniques étudient, d'une part, la
possibilité de disposer les radars de surveillance sur le territoire de
façon optimale, d'autre part, la protection des convois de navires
marchands entre la Grande-Bretagne et les États-Unis. Ces modèles
mathématiques jouent un rôle déterminant lors de la
bataille d'Angleterre.
La recherche opérationnelle consiste à aider
à la prise de décisions dans un univers incertain ; une des
branches de cette recherche est la théorie desgraphes.
Un graphe c'est par exemple un réseau routier ou
téléphonique, c'est un peu comme une toile d'araignée. La
problématique peut consister à trouver le chemin le plus
court pour se rendre d'un point à un autre. Un graphe, c'est
aussi un planning. Parmi un ensemble de tâches ou de travaux liés
logiquement pour réaliser un projet, il est utile de chercher un chemin
optimal (le plus long ou le plus court) pour terminer le projet au plus
tôt ; c'est le principe de l'ordonnancement de projet.
À la veille de la guerre de 1939-1945, Leonid
Kantorovitch applique la
Programmation linéaire à la
théorie des graphes, c'est la naissance de la Planification
(C'est la ou naquis la planification des projets)
Les méthodes d'ordonnancement des Tâches
permettent d'avoir une représentation graphique (immuable ou non) d'une
réalisation en représentant chaque opération (ou
Tâche) par un arc, une liaison, ou un rectangle qui peut être
proportionnel ou non a la durée. Ce graphique dans tous les cas permet
le positionnement relatif des opérations dans le temps.
En outre, La recherche opérationnellepeut être
définie comme l'ensemble des méthodes et techniques rationnelles
orientées vers la recherche de la meilleure façon d'opérer
des choix en vue d'aboutir au résultat visé ou au
meilleur résultat possible.
Elle fait partie des «aides à la
décision» dans la mesure où elle propose des modèles
conceptuels en vue d'analyser et de maitriser des situations complexes pour
permettre aux décideurs de comprendre et d'évaluer les enjeux et
d'arbitrer ou de faire les choix les plus efficaces.
2.2 Projets
2.2.1 Définition d'un
projet
On appelle « projet » l'ensemble des actions
à entreprendre afin de répondre à un besoin défini
dans des délais fixés, Ou encoreC'est une oeuvre, innovante et
complexe, un ensemble d'opérations destinées à atteindre
un objectif précis.
Un projet a un début et une fin.
La construction d'un véhicule, d'une usine ou d'un
radar, par exemple, sont des projets industriels.
Ainsi un projet étant une action temporaire avec un
début et une fin, mobilisant des ressources identifiées (humaines
et matérielles) durant sa réalisation, celui-ci a
également un coût et fait donc l'objet d'une budgétisation
des moyens et d'un bilan indépendant.
Comment planifier un
projet ?
La planification du projet. Cette
activité consiste à déterminer et à ordonnancer les
tâches du projet, à estimer leurs charges et à
déterminer les profils nécessaires à leur
réalisation. Il existe des techniques de planification comme la
création d'un diagramme de GANTT où chaque tâche est
représentée par une ligne et où chaque colonne
représente une durée (jour, semaine, mois).
Notons que la planification du projet est très
importante, d'autant plus quecette étape permet au gestionnaire du
projet de suivre de plus près le déroulement du projet.
2.2.2 Diagramme de GANTT
L'un des outils les plus utilisés en gestion de projet
est le diagramme de Gantt qui permet de modéliser les différents
modules qui composent un projet en les plaçant dans une dimension
temporelle. Le diagramme de Gantt constitue l'un des meilleurs outils pour
planifier la réalisation d'un projet, et vous trouverez ici des
logiciels consacrés à la création de ce type de
diagrammes.
Le diagramme de GANTT permet de planifier le projet et de
rendre plus simple le suivi de son avancement .Cette méthode
visuelle est efficace lorsqu'il s'agit de lister une vingtaine de
Tâches. Au-delà, la lisibilité est compromise et
il convient d'utiliser le PERT, ou bien la méthode potentielle
métra.Le diagramme de GANTT est un graphique (chrono gramme) qui
consiste à placer les Tâches chronologiquement en fonction des
contraintes techniques de successions (Contraintes
d'antériorités).Etant donné la relative facilitée
de lecture des diagrammes GANTT, cet outil est utilisé par la
quasi-totalité des chefs de projet dans tous les secteurs. Le diagramme
GANTT représente un outil pour le chef de projet, permettant de
représenter graphiquement l'avancement du projet, mais c'est
également un bon moyen de communication entre les différents
acteurs d'un projet.
L'axe horizontal des abscisses représente le temps et
l'axe vertical des ordonnées les Tâches.
On représente chaque Tâche par un segment de
droite dont la longueur est proportionnelle à sa durée. L'origine
du segment est calée sur la date de début au plus tôt de
l'opération l'extrémité du segment représente la
fin de la Tâche.
Le diagramme de Gantt permet :
Ø De déterminer les dates de réalisation
d'un projet,
Ø D'identifier les marges existantes sur certaines
tâches,
Ø De visualiser d'un seul coup d'oeil le retard ou
l'avancement des travaux.
Le diagramme de Gantt ne résout pas tous les
problèmes, en particulier si l'on doit planifier des interventions qui
viennent en concurrence pour l'utilisation de certaines ressources de
l'entreprise (même outillage). Dans ce cas, il est nécessaire de
faire appel à des algorithmes plus complexes issus de la recherche
opérationnelle et de la théorie de l'ordonnancement (Un
problème d'ordonnancement consiste à organiser dans le temps la
réalisation des tâches, compte tenu des contraintes temporelles
(délais, contraintes d'enchaînement) et de contraintes portant sur
la disponibilité des ressources requises). Toutefois, il est souvent
possible de trouver des solutions satisfaisantes en appliquant simplement des
règles de priorité heuristiques (Discipline qui a pour objet de
dégager les règles de la recherche et qui facilite la
découverte, qui a une utilité dans la recherche). La
méthode consiste à placer les tâches à effectuer
dans le diagramme de Gantt dans l'ordre défini par la priorité et
en tenant compte des ressources encore disponibles.
Voici un exemple sur le diagramme de
Gantt :
Figure 2.1 : Diagramme de Gantt
2.2.3 Contrôle et
évaluation d'un projet
2.2.3.1Contrôle d'un
projet
Après avoir planifié et mis en oeuvre votre
projet, vous devez continuellement contrôler vos activités et les
budgétiser normalement à chaque trimestre. Le contrôle (en
anglais « monitoring ») est la collecte systématique des
informations et leur analyse au fur et à mesure que le projet avance.
Son but est d'améliorer l'efficience et l'efficacité d'un projet
ou d'une organisation. Il est basé sur un ensemble de buts et
d'activités planifiées durant les phases de préparation du
travail. Il permet de poursuivre le travail dans la bonne voie et renseigne les
gestionnaires du projet lorsque les choses se déroulent mal et qu'il est
nécessaire d'entreprendre des changements.
Afin de garder vos activités sous contrôle et
d'atteindre vos objectifs, des indicateurs réalistes et mesurables
fixés durant la planification du projet vous permettront de gérer
la progression du projet. Les indicateurs sont des signes mesurables ou
tangibles de ce qui a été réalisé. Ils peuvent
être subdivisés en indicateurs quantitatifs (Par exemple : le
nombre d'ateliers réalisés) et qualitatifs (Par exemple :
l'approfondissement des connaissances des participants sur les Droits de
l'Homme). Vous devriez choisir des indicateurs pour les
activités-clés ainsi que pour les besoins spécifiques des
bénéficiaires, afin d'atteindre l'objectif général
du projet.
Après avoir sélectionné les indicateurs,
il vous faut collecter les informations afin de les mesurer. Ensuite, vous
allez organiser et analyser ces informations afin d'identifier des tendances
à partir desquelles nous pourrons tirer des conclusions et apporter les
changements et les améliorations nécessaires.
2.2.3.2 Evaluation d'un
projet
L'évaluation est la comparaison des impacts du projet
en l'état par rapport à la planification du projet qui avait
été convenue. Elle se penche sur ce que vous avez
décidé d'effectuer, sur ce que vous avez accompli et sur la
manière dont vous l'avez accompli. Ceci nous permet de savoir si
nos objectifs ont été atteints et si notre gestion du temps et de
nos ressources a été bonne ou pas. Pour des projets qui
nécessitent plusieurs années, il est conseillé d'effectuer
des évaluations intermédiaires annuelles ou semestrielles afin
de prendre des nouvelles ou d'autres mesures pour optimiser la
réalisation du projet. Une évaluation finale sert à
évaluer la valeur de l'ensemble du projet et de déterminer si le
projet peut être amélioré et/ou reconduit.
L'évaluation comprend différentes questions qui
devraient déjà être établies durant la planification
du projet :
- Atteinte des buts et effets : Quels sont les buts qui ont
été atteints ? Lesquels ne l'ont pas été ? Pour
quelles raisons (facteurs internes et externes) ? Quels ont été
les effets sur les jeunes sur place? Qu'est-ce qui a été utile ?
Combien de jeunes ont pu en profiter ?
- Besoin : Le projet correspond-il aux besoins des jeunes sur
place ?
- Participation : Comment les jeunes sur place ont-ils
été intégrés au projet ?
- Egalité : Comment pourrait-on atteindre une
égalité des genres ?
- Leçons à tirer : Quels sont les succès
et les échecs principaux?
- Méthodologie : La méthodologie
utilisée, a-t-elle été efficace ?
- Durabilité : Comment va se poursuivre le projet ?
Est-il ancré localement ? L'organisation partenaire locale va-t-elle le
poursuivre ?
Une des questions que l'on pourrait se poser à ce
niveau serait « Quels sont les étapes importantes
nécessaires à franchir, la marche à suivre dans
l'évaluation des projets ? »
Cela dépendra d'un projet à un autre,Il n'existe
pas vraiment une liste d'étapesuniverselle. Mais soulignons au moins
certain points communs se trouvant dans l'évaluation de tous les
projets.
La démarche proposée ci-dessous
privilégie l'évaluation continue. Nous citerons dix étapes
qui pourront vous aider à bien mener vos projets.
§ décrire le contexte initial sous forme d'un
état des lieux préalable ou même a
posteriori. Faites-en émerger le(s) problème(s) posé(s)
qui ont donné naissance au projet.
§ Proposez des hypothèses de solutions : ce seront
les axes stratégiques du projet.
§ Bâtissez le cadre de référence
complet pour votre action.
§ Décidez de la finalité de votre
évaluation : à quoi voulez-vous qu'elle vous serve ? Mesurer les
réalisations et les impacts, mobiliser les acteurs, mettre en
évidence les impacts, aider à la décision pour reconduire
une action et dans quelles conditions, etc.
§ Posez la liste des principales questions
évaluatives en la simplifiant au maximum.
§ Choisissez les « angles de vue »
prioritaires. Une action ne s'évalue pas dans sa totalité. Vous
aurez un regard particulier sur un ou deux aspects de l'action.
§ Prenez, uniquement sur ces champs prioritaires à
évaluer, des critères et indicateurs significatifs et
repérables, quantitatifs et qualitatifs, permettant de suivre
l'évolution de votre action au regard de vos priorités. Ne
dépassez pas une douzaine d'indicateurs, la moitié peut
suffire.
§ Dotez-vous des moyens de collecter en continu
l'information pour renseigner les indicateurs choisis en vue d'une meilleure
évaluation.
§ Définissez un calendrier de l'évaluation
qui prenne en compte toutes les échéances de votre structure
(conseils d'administration, assemblées générales), de
l'action (comité de pilotage), des financeurs (bilan
intermédiaire et final) et de l'environnement.
§ Dotez-vous de moyens pour communiquer en continu : dans
ce calendrier.
Nous pouvons aussi citer différents types
d'évaluations de votre projet, qui peuvent être appliqué
en fonction des ressources dont dispose votre organisation :
Ø L'autoévaluation : C'est une évaluation
interne de l'organisation concernant la manière dont les affaires sont
menées
Ø L'évaluation externe : C'est une
évaluation effectuée par une personne ou une équipe
externe qui a été soigneusement sélectionnée.
Ø L'évaluation interactive : Elle implique une
interaction très active entre un évaluateur ou une équipe
d'évaluation externe et l'organisation ou le projet qui est
évalué(e). Parfois une personne de l'intérieur peut
être incluse au sein de l'équipe d'évaluation, cela reste
une possibilité dans la vie pratique, professionnelle.
2.2.4 Objectif d'un Projet
Un objectif est un résultat attendu qu'une intervention
vise à atteindre. C'est à ce stade que vous commencez à
définir les résultats que vous souhaitez obtenir à
différents niveaux. Le but du processus est de préciser la
situation future désirée pour tous les problèmes
cernés, de façon à pouvoir déterminer par la suite
ceux que l'organisation peut résoudre en restant réaliste. Une
fois encore, il est crucial de conduire le processus de manière
participative en y associant les principales parties prenantes, notamment des
représentants des personnes que l'intervention vise à aider. Une
méthode courante pour définir, déterminer et choisir les
objectifs est d'élaborer un « arbre des objectifs ».Comme ce
dernier, l'arbre des objectifs devrait fournir un résumé
simplifié, mais fidèle, de la réalité. L'arbre des
objectifs est un outil qui aide à analyser et à présenter
les idées. Son principal avantage est qu'il maintient l'analyse des
objectifs potentiels du projet fermement ancrée dans la
résolution d'un éventail de problèmes prioritaires
clairement définis. Il contribuera à :
Ø établir et décrire ce que serait la
situation future si tous les problèmes relevés étaient
résolus ;
Ø définir des objectifs possibles
(résultats attendus) et vérifier leur hiérarchie ;
Ø illustrer et vérifier les relations de cause
à effet (moyens-fins) dans un diagramme ;
Ø établir les priorités
o en évaluant la faisabilité de la
réalisation de certains objectifs, et
o en définissant d'autres moyens éventuellement
nécessaires pour obtenir les résultats désirés.
2.2.5 Type de projet
On distingue plusieurs types de projets industriels :
ü les grands projets (Exemple : construction d'une
centrale nucléaire, d'une usine...) ;
ü les petits projets ;
ü les projets de maintenance et d'intervention ;
ü les projets de recherche et développement ;
ü les projets de développement et de mise en place
de produits nouveaux ;
ü les projets informatiques ;
ü les projets internationaux.
Bien que les caractéristiques de ces projets
industriels sont différentes, la méthodologie de gestion est
toujours la même :
· l'objectif est défini précisément
;
· le schéma envisagé pour atteindre cet
objectif est établi au point de vue délai, coûts, moyens et
qualité ;
· l'avancement physique du projet est
périodiquement contrôlé ;
· le résultat prévisionnel en est
déduit, est comparé à l'objectif.
2.2.6Importance de la gestion
de projet
Pourquoi devons-nous bien
gérer nos projets ?
o Les projets n'atteignent pas
souvent leurs objectifs
Ø Dépassement de
délais ;
Ø Surcoûts
importants ;
Ø qualité technique
du produit insuffisante.
o Les projets se déroulent
dans un milieu complexe
Ø acteurs divers dans une
entreprise : étude, production, marketing ;
Ø environnement
extérieur non maîtrisable : marché, social, politique,
concurrence.
Cela va de soi, l'absence d'expertise réelle sur une
technologie clé pour un projet ou l'absence de connaissance des enjeux
critiques d'un secteur d'activité sont des conditions qui mènent
pratiquement automatiquement un projet d'informatisation d'envergure à
l'échec. Ce qui est moins évident, c'est que même en
parfaite possession de l'expertise technologique et des connaissances
opérationnelles stratégiques, sans gestion de projet rigoureuse
et éclairée, les probabilités d'échec sont
pratiquement aussi grandes.
L'informatique de gestion est un domaine d'expertise
d'après deuxième guerre. L'ampleur de l'échec ne fait que
rappeler la pertinence de la gestion de projets, car il faut toujours conserver
à l'esprit que "
la
technologie est un outil et non une solution".
2.3 LES TECHNIQUES
D'ORDONNANCEMENT.
2.3.1
GÉNÉRALITÉS SUR L'ORDONNANCEMENT
La réalisation d'un projet nécessite souvent une
succession de tâches auxquelles s'attachent certaines contraintes :
ü De temps : délais à respecter pour
l'exécution des tâches ;
ü D'antériorité : certaines tâches
doivent s'exécuter avant d'autres ;
ü De production: temps d'occupation du matériel ou
des hommes qui l'utilisent ...
Les techniques d'ordonnancement dans le cadre de la gestion
d'un projet ont pour objectif de répondre au mieux aux besoins
exprimés par un client, au meilleur coût et dans les meilleurs
délais, en tenant compte des différentes contraintes.
L'ordonnancement se déroule en trois étapes :
· La planification : qui vise à déterminer
les différentes opérations à réaliser, les dates
correspondantes, et les moyens matériels et humains à y
affecter.
· L'exécution : qui consiste à la mise en
oeuvre des différentes opérations définies dans la phase
de planification.
· Le contrôle : qui consiste
à effectuer une comparaison entre planification et exécution,
soit au niveau des coûts, soit au niveau des dates de
réalisation.
Il existe trois méthodes d'ordonnancement :
le diagramme de Gantt (dont j'ai eu à en parler au
chapitre 3 sur la gestion des projets), la méthode MPM
(Méthode des potentiels Métra), en suite le PERT (Program
Research Technic).
2.3.2 Objectif de
l'ordonnancement
Les problèmes d'ordonnancement sont apparus au
départ dans la planification de grands projets. Le but était de
gagner du temps sur leur réalisation. De tels projets sont
constitués de nombreuses étapes, également appelées
tâches. Des relations temporelles existent entre ces dernières. A
l'occurrence :
ü Une étape doit commencer à une date
précise ;
ü Un certain nombre des tâches doivent être
terminées pour pouvoir démarrer une autre ;
ü Deux tâches ne peuvent être
réalisées en même temps (elles utilisent une même
machine par exemple) ;
ü Chaque tâche nécessite une certaine
quantité de main d'oeuvre. Il faut donc éviter, à chaque
instant, de dépasser la capacité totale de main d'oeuvre
disponible.
Toutes ces contraintes ne sont pas à prendre en compte
dans la résolution du problème. Ici, nous allons nous
intéresser uniquement aux types de contraintes.
On cherchera à déterminer une planification,
ordonnancement des étapes qui minimise le temps total de
réalisation du projet. A partir de cette planification, nous verrons que
le temps de certains étapes peut éventuellement être
modifié sans entraîner un retard du projet, alors que d'autres,
les étapes dites « critiques », retardent entièrement
le projet au moindre retard local.
En toutes généralité, le problème
d'ordonnancement se pose comme suit : « Etant donné un
objectif à atteindre et dont la réalisation suppose
l'exécution d'un multiple tâche, lesquelles tâches sont
soumises à des nombreuses contraintes déterminer l'ordre et le
calendrier d'exécution de ses multiples tâches »
2.3.3 Contraintes
Parmi les nombreuses contraintes qui peuvent s'opposer
à des nombreuses opérations (tâches) dans un ordre
donné et à des dates souhaitées, on peut citer:
Les contraintes potentielles :
Elles sont divisées en deux :
ü Contraintes de succession ou
d'antériorité :
Une tâche j ne peut commencer que lorsqu'une tâche
i est achevée ou terminée.
i j
Ou en générale, une tâche j ne peut
commencer qu'un certain laps de temps après que la tâche i est
commencée.
ü Contraintes de date ou de localisation temporaire :
Une tâche ne peut commencer avant une certaine date
indépendamment du fait qu'elle doit succéder à d'autres
tâches.
2.4 Le Problème
Central d'Ordonnancement (P.C.O)
Dans notre cas nous proposons d'étudier un cas
particulier de problème d'ordonnancement c'est celui appelé
« Problème central d'ordonnancement ».
Dans le Problème central d'ordonnancement, On utilisera
les contraintes potentielles particulièrement les contraintes de
successions : l'exécution de la tâche j ne peut être
commencé que lorsque la tâche i qui lui est antérieur est
achevé.
Les méthodes de résolution du
Problème Central d'Ordonnancement (P.C.O)
Jusqu'aux années 1950 avant le développement de
la théorie de graphe le Problème central
d'ordonnancementétait résolu empiriquement par le diagramme de
GANTT de 1918-1957.
Actuellement, il existe deux méthodes scientifiques et
techniques basées sur la théorie de graphe pour résoudre
le P.C.O :
- La méthode Américaines : PERT
: « Programm Evaluation and Research Task » en 1958.
- La méthode Française : Méthode de
Potentiel Métra (MPM) en 1958.
2.4.1 LA METHODE PERT
2.4.1.1 Historique
A la fin des années cinquante, la marine
américaine conçoit une nouvelle technique d'ordonnancement qui
devait conduire à des gains de temps importants dans la
réalisation de ses missiles à ogive nucléaire Polaris :
c'est la technique PERT (Programm Evaluation and Review Technique - technique
d'ordonnancement et de contrôle des programmes). Cette technique a permis
de coordonner les travaux de près de 6000 constructeurs dans les
délais imposés par le gouvernement américain.
Le projet POLARIS représentait entre autres:
o 250 fournisseurs ;
o 9000 sous-traitants ;
o 7 ans de réalisation.
L'utilisation du PERT a permis de ramener la durée
globale de réalisation du projet de 7 à 4 ans. Cette
méthode s'est ensuite étendue à l'industrie
américaine puis à l'industrie occidentale.
Le PERT est « une méthode consistant à
mettre en ordre sous forme de réseau plusieurs tâches qui
grâce à leur dépendance et à leur chronologie
concourent toutes à l'obtention d'un produit fini ».
La méthode PERT est le plus souvent synonyme de
gestion de projet importants et à long terme. C'est
pourquoi, un certain nombre d'actions sont nécessaires pour
réussir sa mise en oeuvre.
1. Définir de manière très précise
le projet d'ordonnancement.
2. Définir un responsable de projet, auquel on rendra
compte et qui prendra les décisions importantes.
3. Analyser le projet par grands groupes de tâches, puis
détailler certaines tâches si besoin est.
4. Définir très précisément les
tâches et déterminer leur durée.
5. Rechercher les coûts correspondant ce qui peut
éventuellement remettre en cause certaines tâches.
6. Effectuer des contrôles périodiques pour
vérifier que le système ne dérive pas.
2.4.1.2 Objectif de la
méthode
La méthode PERT permet de réduire la
durée totale d'un projet par une analyse détaillée des
Tâches ou activités élémentaires et de leur
enchainement. On étudie les délais sans prendre en compte les
charges.
En outre, elle permet :
v La prise en compte des différentes tâches
à réaliser et des antériorités à
respecter entre ces tâches.
v La détermination de la durée globale du projet
et des tâches qui la conditionnent.
v La détermination des tâches pour lesquelles du
temps est disponible (notion de marge).
v La détermination des dates "au plus
tôt" et "au plus tard" pour lancer chaque
tâche.
v La gestion des moyens logistiques (matériel) et
humains (effectif) intervenant sur le projet.
2.4.1.3 Notions de base
La méthode s'appuie en grande partie sur une
représentation graphique qui permet de bâtir un réseau
PERT .Ce réseau PERT étant constitué par des Tâches
et des étapes
Étape : commencement ou fin d'une
Tâche. Une étape n'a pas de durée. On symbolise une
étape (ou noeud) sur le réseau par un cercle.
Figure 2.2 : Représentation d'une
étape avec la méthode PERT
Remarques
- La longueur des arcs n'est pas proportionnelle au temps
d'exécution.
- Pour alléger la représentation, on ne note pas
le nom complet de la Tâche, mais une lettre ou code le
représentant.
2.4.1.4
Représentation graphique des étapes et des Tâches dans un
réseau
Figure 2.3 : Représentation des étapes
et des Tâches avec la méthode PERT
B ne peut commencer que si A est terminée (A
précède B, ou A est antériorité de B) ,C ne peut
commencer que si A et B sont terminées ( A et B précédent
C, ou A et B sont antériorité de C, ou A et B enclenchent C).
En ce qui concerne les Tâches simultanées, nous
dirons qu'elles peuvent commencer en même temps en partant d'une
même étape. D ne peut commencer que si B est terminée.
Figure 2.4 : Représentation des tâches
simultanées
Si l'on souhaite que D ne commence que si B et C sont
terminés, On peut améliorer la représentation
précédente pour obtenir:
Figure 2.5 : Représentation d'une
tâche virtuelle
Nous noterons en passant que x (0) est une Tâche dite
Tâche fictive qui Sert a représenté ce type de contraintes
de liaison (contraintes d'antériorité). Il s'agit d'une
Tâche dont la durée et le cout sont nuls. On la représente
en pointilles.
Tâches convergentes
Plusieurs Tâches peuvent se terminer sur une même
étape.
Figure 2.6 : Tâches convergentes
Dans ce cas présent, la Tâche A (12) a une
durée de 12 unîtes de temps, B(6) a une durée de 6
unîtes de temps. On ne constate que la Tâche A dure plus longtemps
que B. A est dite pénalisante
2.4.1.5 Normalisation du
graphe
Si le graphe doit débuter par plusieurs Tâches
simultanées, il ne doit y avoir qu'une seule étape
d'entrée (ou étape de début, ou étape de
départ). Les étapes seront donc regroupées en une
seule.
Illustrons cela :
Figure 2.7 : Normalisation du graphe
Pert
Si le graphe se termine par plusieurs Tâches (plusieurs
étapes de sortie (ou de fin), il ne doit y avoir qu'une seule
étape de sortie.
Autre Problème de
dépendance
Si nous avons par exemple le cas suivant : A enclenche
B, A enclenche D, C enclenche D. Nous pouvons être tentes de dessiner le
graphe de la manière suivante :
Figure 2.8 : Normalisation du graphe
Pert
Le graphe précédent je précise est faux
car cette construction signifie : A enclenche B, A enclenche D, C enclenche B,
et C enclenche D. Dans le souci de respecter les contraintes
d'antériorités de notre projet, nous pouvons améliorer le
graphe précédant en introduisant une Tâchefictive, Ce qui
nous conduit a :
Figure 2.9 : Normalisation du graphe
Pert
La méthode PERT permet de résoudre le
problème central d'ordonnancement par le graphe PERT. Dans ce travail,
Il ne sera considéré que les graphes PERT temps
c'est-à-dire graphe PERT temps déterministe.
2.4.1.6
Représentation des étapes
Les étapes ou noeuds dans le graphe PERT peuvent
être représentés de différentes façons selon
les informations que l'on souhaite mettre en évidence.
Figure 2.10 : Composition d'une étape dans
le graphe Pert
2.4.1.7
Méthodologie de construction d'un réseau PERT (Graphe PERT)
Pour construire un réseau PERT, Il faudrait au
préalable :
ü Etablir la liste des Tâches (faire le
partitionnement des Tâches en fonction des ressources), Ou bien
établir le dictionnaire de précédant qui sera un atout
majeur dans la suite.
ü Déterminer des antériorités :
Tâches immédiatement antérieures, et Tâches
antérieures.
La notion de niveau (Utilisé dans la construction du
graphe potentiel) n'a pas de sens pour la méthode PERT car les
tâches sont représentées par les arcs dans la
méthode PERT.
ü Construire le réseau PERT.
Calculer la durée du projet, les dates début et
de fin des Tâches.
Déterminer le chemin critique.
Un chemin est dit critique si celui-ci passe par des
étapes dont les dates au plus tôt et les dates au plus tard
sont égales pour chaque étape
Voici un exemple pratique du graphe PERT
Tâches
|
Antériorités
|
Durées
|
A
|
|
1
|
B
|
|
2
|
C
|
A
|
1
|
D
|
|
3
|
E
|
B
|
2
|
F
|
E
|
5
|
G
|
C ,D
|
2
|
H
|
|
5
|
I
|
H
|
2
|
J
|
|
1
|
K
|
I,J
|
4
|
L
|
F,G
|
5
|
M
|
K,L
|
4
|
Du dictionnaire des précédents ci-haut, il en
découle le graphe PERT ci-dessous :
Figure 2.11 : Exemple du graphe Pert
2.4.2 La Méthode de
Potentiel Métra (M.P.M)
La solution au Problème Central d'Ordonnancement est
donnée par le graphe potentiel (MPM) pondéré et aussi un
réseau de transport quasi-fortement connexe, un cas particulier du
réseau de transport.
2.4.2.1 Eléments du
graphe MPM
Le graphe MPM est constitué des éléments
suivants :
ü Chaque tâche représente un sommet (ou
noeud) ;
ü Chaque arc représente une contrainte de
succession (ou d'antériorité),
ü La pondération (ou potentiel) d'un arc donne le
temps qui doit s'écouler au minimum entre le début de la
tâche origine de l'arc et le début de la tâche
extrémité de l'arc.
2.4.2.2 Principe de la
méthode
A l'identique de la méthode PERT cette méthode
permet de réduire la durée totale d'un projet. On étudie
les délais sans prendre en compte les charges et les moyens
disponibles.
Notions de base
La méthode est une représentation graphique qui
permet de bâtir un réseau.
Ce réseau est constitué par des Tâches (ou
étapes).
Figure 2.12 : Représentation d'une
tâche avec la méthode de potentiel métra
Liaison orientées Elles
représentent les contraintes d'antériorités des
Tâches.
2.4.2.3 Normalisation du
graphe
Le graphe doit comporter un seul début et une seule
fin. Il n'y a pas d'autres
Règles. C'est ce type de graphe qui est le plus souvent
utilisé par les logiciels de planification(comme Microsoft
Project).
2.4.2.4 Méthodologie
de construction d'un graphe potentiel (MPM)
Il sera nécessaire de :
o Etablir la liste des Tâches (faire le partitionnement
des Tâches en fonction des ressources).
o Déterminer des antériorités :
Tâches immédiatement antérieures, et Tâches
antérieures.
o Déterminer les niveaux d'exécution ou rang des
tâches(Très bien détaillé au point 4.2.2.5 sur la
notion des niveaux).
o Construire le réseau MPM.
o Calculer la durée du projet, les dates début
et de fin des Tâches. Déterminer le chemin critique
2.4.2.5 Notion des
Niveaux
Considérons le tableau suivant (dictionnaire de
précédent) :
Tâches
|
Antériorités
|
Durées
|
A
|
|
1
|
B
|
|
2
|
C
|
A
|
1
|
D
|
|
3
|
E
|
B
|
2
|
F
|
E
|
5
|
G
|
C , D
|
2
|
H
|
|
5
|
I
|
H
|
2
|
J
|
|
1
|
K
|
I, J
|
4
|
L
|
F, G
|
5
|
M
|
K, L
|
4
|
En outre, nous noterons par :
v P(x) :l'ensemble des tâches qui
précède immédiatement les tâches qui sont dans x,si
nous nous referons à notre dictionnaire des précédents(x)
représente la colonne « Antériorités
» et x représente la colonne
« Tâches »
v (x) représentel'ensemble des successeurs de x.
v (x) représente l'ensemble des prédécesseurs de
x.
Dans la construction du graphe potentiel il est
nécessaire d'ordonner les différentes tâches en niveau.
L'algorithme suivant permet de repartir toutes les
tâches en niveau :
Apres l'application de l'algorithme de niveau, les
tâches du dictionnaire des précédents sont reparties en
ceux-ci :
Niveau 0 : {A, B, D, H, J}
Niveau 1 : {C, E, I}
Niveau 2 : {F, G, K}
Niveau 3 : {L}
Niveau 4 : {M}
2.4.2.6
Détermination du calendrier au plus tôt
On affecte comme pondération, la durée de la
tâche origine de l'arc, car les contraintes sont seulement celle de
succession. En effet, le fait de choisir pour Tx la longueur (valeur) du PLC
garantit que toutes les contraintes d'antériorités ont
été respectées. Il va de soit que Tx est
déterminé par l'algorithme de FORD ou ces variantes relatives au
PLC.
Pour l'exemple précédent, le calendrier au plus
tôt se présente comme suit :
2.4.2.7
Détermination du calendrier au plus tard et chemin critique
Il s'agit de déterminer pour chaque tâche x une
date de début au plus tard Tx tel que Tz (date de fin de travaux au plus
tôt) ne soit pas retardé, on procède à cet effet par
analyse rétrospective.
A l'étape 1, on égalise la date de début
au plus tôt et la date au plus tard de la dernière tâche.
Arriver a l'etape 2, pour trouverune date au plus tard ,nous
prendrons qui represente la date au plus tard du successeur immediat de x
presumée connu pour soustraire ,lui qui represente la ponderation de la tâche x .Nous
ferons de meme pour toute les autres tâchesen allant de droite à
gauche.
Une tâche critique est une tâche dont la date de
début au plus tôt correspond à la date de début au
plus tard.On appelle chemin critique, un chemin passant par les tâches
critiques.Les tâches situées sur le chemin critique sont
appelées les tâches critiques.
En effet, tout retard pris dans l'exécution de l'une de
tâches critiques c'est-à-dire de l'un de tâche située
sur le chemin critique retardera inévitablement la fin des travaux.
Dès lors les tâches critiques nécessitent une attention
particulière.
A l'aide du dictionnaire des précédents
présentée ci haut, déduisons un graphe potentiel
Niveau 0 Niveau 1
Niveau 2 Niveau 3 Niveau 4 Niveau Final
Figure 2.13 : Représentation du graphe
potentiel
La méthode MPM comme la méthode PERT a pour but
de planifier la durée d'un projet, aussi nous devons mener des calculs
sur le graphe afin d'en déduire des renseignements sur
l'exécution du projet.
CHAPITRE 3 :
APPLICATION ET IMPLEMENTATION
Les logiciels de gestion des projets facilitent grandement la
complexité des tâches ardues et complexes de l'entreprise en
permettant de formaliser et d'évaluer les diverses composantes d'un
projet, que celles-ci se situent encore au niveau conceptuel ou sur un plan
plus pratique. Ils permettent de modéliser les différentes
étapes du projet à travers des diagrammes et
facilitent ainsi la prise de décision. D'un point de
vue plus pratique, ils vous permettront d'évaluer, faire des
prévisions sur des données telles que le coût du travail,
l'ordonnancement, la planification, la communication et la présentation
finale du plan d'exécution.
L'un des atouts majeurs des logiciels de gestion de projets
est qu'ils facilitent grandement la réalisation de
représentations visuelles réellement parlantes. L'un des outils
les plus utilisés en gestion de projet est le graphe potentiel qui
permet d'afficher les différentes tâches qui composent un projet
en fonction de leur ordre d'exécution.
3.1 Notre contribution
3.1.1 Analyse du
problème
Enfin d'obtenir un résultat satisfaisant à
partir d'un problème résultant d'au moins un besoin, la
démarche classique prévoit les étapes que voici :
ü Le cahier de charge
Il sera question de concevoir un logiciel pouvant aider le
bureau d'étude dans la prise des décisions permettant de
répartir les tâches dans le temps. Celui-ci devra être en
mesure d'afficher avec précisions la durée du projet, ainsi que
les tâches qui devront être réalisées dans le temps,
sans retard au risque de retarder la fin du projet.
Les chercheurs opérationnelles à travers la
recherche opérationnelle et sa variante intitulée
« Problème d'ordonnancement »ont mises aux points
des méthodes, parmi ces méthodes nous trouvons la méthode
potentiel métra : MPM, qui fera l'objet de ce chapitre
ü La phrase d'analyse
Dans cette étape, nous allons transformer le cahier de
charge pour dégager les différentes fonctions dont il va s'agir
de calculer des valeurs dont les calculs successifs produiront, par
agrégation, le résultat désiré. Les questions que
l'on pourrait se poser sont :
o Quelles sont les fonctions qui pourront être
utilisée ?
Les fonctions qui ont été
implémenté dans le logiciel sont :
§ Une fonction pouvant aider à
générer les objets tâches ainsi qu'a la
détermination du nombre exacte des tâches requit en fonction des
données introduites par l'utilisateur,
§ Une fonction permettant de repartir (regrouper) les
tâches en niveau,
§ Une fonction permettant d'attribuer une valeur à
x, une valeur à y qui permettront d'afficher la tâche, qui
correspondront à un point sur le formulaire en fonction du niveau,
§ Une fonction pour l'affichage des tâches,
§ Une fonction pour le calcul des dates de début,
dates au début au plus tard de chaque tache,
§ Une fonction pour les tâches critiques.
o Quelles sont les données et quelle est le
résultat attendu ?
Les données dont aura besoin le logiciel pour son bon
fonctionnement sont les noms des tâches, leurs précédents,
leurs descriptions, ainsi que leurs durées .Tout ceux-ci
représentent les éléments précédemment
cités qui constituent notre dictionnaire des données.
Le résultat attendu sera l'affichage du graphe
potentiel.
3.1.2 Le diagramme des cas
d'utilisations du logiciel
Graphe potentiel
« Include »
Tracer le graphe
Lire la tâche
[Bureau d'étude]
Figure 3.2 : Le diagramme de Gantt
3.1.3Technologies
utilisées
Pour concevoir ce logiciel, j'ai jugé judicieux
d'utiliser le Visual Basic(VB). Visual Basic est un
langage de
programmation
événementielle
de troisième génération ainsi qu'un
environnement
de développement intégré, créé par
Microsoft, Visual Basic
est un des langages les plus utilisés pour l'écriture
d'applications commerciales. Il a également été
très utilisé dans le monde de l'ingénierie et de la
recherche appliquée en raison de sa capacité à permettre
des développements très rapides et très efficients
permettant ainsi aux scientifiques de se consacrer davantage à
l'algorithmique et moins aux aspects formels du codage.
Le défaut souvent reproché à VB
(peut-être de manière un peu ironique) étant justement sa
facilité de mise en oeuvre : un débutant VB pourra
rapidement faire un programme opérationnel mais souvent tellement mal
fait (sans analyse, structures ni règles, sans même la moindre
expérience en programmation parfois...) qu'il sera difficilement
maintenable par la suite. Beaucoup de projets VB sont à refaire
entièrement car ils ont été trop mal faits par des
débutants VB
Visual Basic a été conçu pour être
facile à apprendre et à utiliser. Le langage permet de
créer des
applications
graphiques de façon simple, mais également de créer
des applications véritablement complexes. Programmer en VB est un
mélange de plusieurs tâches, comme disposer visuellement les
composants et contrôles sur les formulaires, définir les
propriétés et les actions associées à ces
composants, et enfin ajouter du
code pour ajouter des
fonctionnalités. Comme les attributs et les actions reçoivent des
valeurs par défaut, il est possible de créer un programme simple
sans que le programmeur ait à écrire de nombreuses lignes de
code. Les premières versions ont souffert de problèmes de
performance, mais avec l'apparition d'ordinateurs plus rapides et grâce
à la compilation en
code natif, ce
problème de performance s'est estompé.
3.1.4 Aperçu du
logiciel
Figure 3.1 : Aperçu du logiciel pour la gestion des
projets
Au lancement du programme, un formulaire octroyant la
possibilité d'introduire les informations sur le projet deviendra
visible .Donnons alors plus des précisions sur les objets s'y trouvant,
1: Pour l'introduction d' une tâche antérieure (maximum 3
tâches antérieurs) ;2 :Pour la description de la
tâche ;3 :Pour l'enregistrement du nom de la
tâche ;4 :Utiliser pour l'enregistrement ,Précisons dans
ce cas que l'enregistrement comprendra le nom de la tâche, sa
description ,la(les) tâche(s) antérieure(s) ,ainsi que sa
durée ;5 :Pour le traçage du graphe après la
saisi des tâches ;6 :Pour les tâches
critiques ;7 :Pour la réinitialisation ;8 :Pour la
durée de la tâche.
Dans le souci de faire de ce travail, un travail digne d'un
informaticien, nous avons conçu un petit logiciel permettant de
visualiser le graphe potentiel.
Bien sûr, l'analyse approfondie du projet par le bureau
d'étude doit se faire au préalable en vue de dresser le
dictionnaire des précédents, qui sera utilisé pour
l'introduction des données dans la machine. Le dictionnaire des
précédents est un tableau qui pourra éventuellement avoir
parmi ses champs:
ü Une colonne destinée a listé toutes les
tâches à réaliser ;
ü Une deuxième colonne désignant la liste
pré-requise pour que les tâches de la première colonne
soient débutées ;
ü Une troisième colonne destinée à
la désignation de la tâche ;
ü Une dernière colonne pour la durée de
la tâche.
3.2 GanttProject
3.2.1 Aperçu de
GanttProject
L'interface de GanttProject se présente comme
suit :
Figure 3.3 : Aperçu de
GanttProject
3.2.2 Le logiciel
GanttProject
C'est un logiciel gratuit disponible sur Internet qui a Trois
principales fonctionnalités a savoir :
o Planifier
o Ventiler les ressources
o Suivre l'avancement
Il a deux principaux intérêts :
o La convivialité de l'interface
o La facilité du partage du travail
GanttProject est un logiciel
libre de
gestion de projet
écrit en
Java,
ce qui permet de l'utiliser sur de nombreux OS tel que
Windows,
Linux,
MacOS. Ce projet a
été lancé par un élève de l'
université
de Marne La Vallée en janvier 2003 et est maintenant proposé
sous
licence libre.
GanttProject permet la planification d'un projet à
travers la réalisation d'un
diagramme de
Gantt. L'outil permet de créer des diagrammes de Gantt, des
diagrammes de ressources et des
réseaux
PERT. Il convient de noter qu'en l'état actuel le logiciel ne permet
pas de concevoir des tâches durant moins d'une journée.
L'application permet en outre de décomposer vos
projets en arborescence et d'assigner des ressources à chacune des
tâches prévues au planning. Il est possible de créer des
dépendances entre les activités. Cette fonctionnalité se
révèle indispensable lorsque le travail accompli sur une
tâche est nécessaire pour une autre partie du projet.
3.2.3 Utilisation de
GanttProject
Cette étape nous permettra
de maitriser le différent concept lié à l'utilisation de
GanttProject
3.2.3.1 Création et
enregistrement d'un Projet(Fichier)
Ø Création
Dans la barre de menu, cliquer sur
« Projet », puis sur « nouveau »
Compléter obligatoirement la rubrique Nom. Les
rubriques Organisation, lien Internet et description sont facultatives mais
néanmoins conseillées. Faites suivant. Ce qu'il est important de
prévoir dès le début du projet, c'est le nombre de jours
ouvrables par semaine. Vous pouvez choisir quels jours seront travailles ou
non, ainsi que le calendrier des jours ferrières .Une fois cela fait,
nous pourrons alors aller a l étape suivant.
Figure 3.4 : Création d'un nouveau projet
grâce à GanttProject
Ø Enregistrement du projet
Pour l'enregistrement du projet, les choses sont encore
beaucoup plus faciles, vous n'aurez qu'a cliquer sur
« Projet » puis « Enregistrer
sous »,puis suivre le processus normal pour l'enregistrement d'un
fichier.
3.2.3.2 Création
d'une nouvelle Tâche
Tout d'abord, vous pouvez créer vos Tâches en
utilisant le bouton Nouvelle Tâche
Ou bien directement en utilisant le menu Tâche. Les
Tâches apparaissent dans l'arbre à gauche; vous pouvez alors
directement changer leurs noms ici.
Figure 3.5 : Création d'une nouvelle
tâche
Ensuite, vous pouvez les organiser entre elles en les
plaçant en catégories ou en groupes. Vous obtenez alors une
architecture semblable `a celle-ci:
Figure 3.6 : Organisation des tâches en
catégories
3.2.3.3 Les relations des
dépendances
Ganttproject vous permet de créer des relations de
dépendances entre deux tâches. Vous pouvez les créer en
utilisant directement la souris sur le graphique. Cliquez sur une
première tâche et déplacez la souris jusqu'à
être au-dessus d'une seconde tâche. Une flèche va alors
apparaitre entre les deux tâches. La seconde sera alors dépendante
de la première. Vous pouvez alors obtenir un diagramme comme ceci:
Figure 3.7 : Création des relations des
dépendances entre les tâches
3.2.3.4 Edition des
propriétés
Pour chaque tâche il est alors possible d''editer ses
propriétés dans une boîte de dialogues en utilisant le
Bouton Propriétés, ou en double cliquant sur la tâche dans
l'arborescence ou sur la barre du graphique. La boîte de dialogues vous
permet alors d'éditer le nom de la tâche sa durée, ses
dates de début/fin, sa couleur, sa priorité, d'ajouter des notes
...
Vous pouvez 'également définir les relations de
la tâche en choisissant différents prédécesseurs
dans le deuxième onglet de la boîte. Il est 'également
indispensable de choisir le type de relation que vous désirez utiliser
(pour le moment seule l'option Fin-D'ebut fonctionne).
Figure 3.8 : Les propriétés d'une
tâche
3.2.3.5 Les Ressources
o Pour rentrer les rôles /professions des ressources
humaines afin de les affecter en suite aux ressources, cliquer sur
« Edition », puis choisir
« Préférences ».En suite, cliquer sur
« Rôles »,en bas a gauche. Une fenêtre s'ouvre
avec un tableau .sous la catégorie « Rôles »,
inscrire les différents rôles des membres de l'équipe
projet (plus éventuellement les consultants, intervenants...)
Figure 3.9 : Les ressources
o Pour créer une ressource, cliquer
sur « Ressources » dans la barre de menu, puis sur
« nouvelle ressource ».Une fenêtre s'ouvre, remplir
au minimum le nom .Vous avez également la possibilité d'affecter
le rôle de la personne grâce au menu déroulant du champ
« Rôle par défaut ».Ce qui peut se traduire
par :
Figure 3.10 : Les ressources
3.3 Exemple pratique
Voici un exemple concret, d'un projet des
informaticiens où l'utilisation des techniques de l'ordonnancement
s'avérait être imparable en vue de satisfaire les besoins de
l'investisseur.
Un groupe d'étudiants de L'université de
Kinshasa a réussi à convaincre un investisseur étranger
à se lancer dans leur projet qui consiste à la création
d'un site web pour les concours d'admissions dans la faculté des
sciences. Les élèves dotés d'un diplôme
d'état pourront s'enregistrer sur internet, payer le droit de
participation en ligne, obtenir la liste des cours à préparer,
ainsi que d'autres formalités.
L'investisseur convaincu de la nécessité du
projet voudrait juste savoir le temps nécessaire pour la conception du
site web, bref la date de la fin du projet en considérant que le
projet devra commencer le premier Janvier 2014. Les étudiants ont
choisisd'utiliser deux logiciels, l'unpour tracer le graphe potentiel et
l'autre pour tracer le diagramme de Gantt.
Précisons dès le départ qu'ici,
nous sommes toujours à l'étape de la planification de notre
projet...
Bien sûr, un projet ne s'arrête pas qu'à sa
planification, mais entre dans un processus global communément
appelée « Gestion de projet » .Pour mieux
comprendre ce que cela signifie et ainsi être capable
d'appréhender l'exécution de son projet exhaustivement.
Il en découle de ce problème le dictionnaire
des précédents suivant :
Nom de la Tâche
|
Description de la Tâche
|
Tâche Antérieure
|
Durée de la Tâche
|
Début
|
Installation des matériels
|
|
3 Jours
|
Tâche1
|
évaluation du budget à alloué
|
Début
|
1 Jour
|
Tâche2
|
Conception des pages pour la partie HTML
|
Tâche1
|
5 Jours
|
Tâche3
|
Conception des pages pour les effets spéciaux
|
Tâche1
|
5 jours
|
Tâche4
|
Conception des pages PHP, JavaScript, et autre par les
informaticiens
|
Tâche1
|
5 jours
|
Tâche 5
|
Répartition des groupes de travail
|
|
1 jour
|
Tâche6
|
Teste de chaque module pris séparément
|
Tâche 2, Tâche3, Tâche4
|
2 Jours
|
Tâche7
|
Assemblage des toute les pages
|
Tâche5, Tâche 6
|
3 Jours
|
Fin
|
Teste du site web et dernière mise au point
|
Tâche 1, Tâche 7
|
1jour
|
3.3.1 Prise de décision
avec notre logiciel
Grace au logiciel qui a été
implémenté en Visual Basic, déduisons le graphe potentiel
ressortissant du dictionnaire des précédents ci-haut,ce qui nous
conduit à :
Figure 3.11 : Aperçu du graphe potentiel
grâce à notre logiciel
Et pour les tâches critiques :
Figure 3.12 : Les tâches critiques obtenues
à partir de notre programme en visual basic
Nous sommes maintenant arrivés au moment d'user des
informations obtenues à travers les logiciels pour tirer des conclusions
en rapport avec notre projet.
Précisons au départ que notre logiciel
évalue la durée du projet en jours. Notre projet en ce qui le
concerne prendra 15 Jours.
L'objectif poursuivi nous rappelons était de trouver la
meilleur organisation possible pour qu'un projet soit terminé dans les
meilleurs délais, et d'identifier les tâches critiques
(tâches qui ne doivent souffrir d'aucun retard sous peine de retarder
l'ensemble du projet).
Au regard de la présentation ci-haut, nous
déduirons qu'excepté la tâche 5, toutes les autres
tâches sont des tâches critiques.
En outre, nous constatons également que le logiciel a
pris soin de repartir toutes les tâches en niveau, cela permet d'apporter
plus de lisibilité à l'exécution du programme, puis cela
permet aussi de voir l'acheminement de chaque tâche dans le soucie
d'aider l'utilisateur dans le respect des contraintes potentielles (Contraintes
de successions ou d'antériorités).
3.3.2 Prise de décision
avec GanttProject
Le nom du logiciel étant saisie au préalable, il
nous restera qu'à introduire les différentes tâches, afin
d'obtenir des résultats fiables et convaincants .On déduit alors
le diagramme suivant :
Figure 3.13 : Aperçu du diagramme de Gantt
grâce (GanttProject)
Cette représentation qui autre fois nous l'avions
traitée de visuellement parlante nous montre avec beaucoup des
précisions qu'avec la date dupremier janvier 2014 comme jour de
départ,notre projet se terminera le vingt deux janvier .GanttProject
gère lui-même le problème des jours ouvrables.
Figure 3.14 : Obtention chemin critique
(GanttProject)
En cliquant sur l'icône indiqué sur la figure
3.14,cela nous permettra d'obtenir la Figure 3.15 Ci-dessous :
Figure 3.15 : Les tâches critiques
(GanttProject)
GanttProject a pris soin de colorer comme vous le constater
toutes les tâches critique.
Apres créations du diagramme de Gantt, il serait
préférable de sauvegarder le travail en vue d'une prochaine
visualisation. Ce diagramme pourra être consulté au fur et
à mesure durant l'exécution du projet (contrôle du
projet).
GanttProject nous indique en outre que contrairement à
toutes les autres tâches, la tâche 5 n'est pas une tâche
critique.
Au regard de ce qui précède,il émerge une
question qui est celle de savoir ce que nous pensons de nos deux
logiciels ?
3.3.3 Quel est le logiciel le
mieux adapté ?
Il est important de préciser que les deux outils
présentent des avantages, des inconvénients. L'utilisation de
l'un ou de l'autre dépendra du résultat attendu.
Comme vous pouvez le constater, chaque logiciel
possède sa particularité, malgrécela, nous décelons
des traits communs au niveau du résultat final.
A première vue, les deux logiciels nous montrent avec
beaucoup de précision que la tâche 5 n'est pas une tâche
critique.
Pour la durée du projet, notre logiciel qui constitue
notre contribution nous donne le nombre total des jours nécessaires pour
le déroulement du projet,bref quinze jours.GanttProject quand à
lui nous affiche les dates. Il nous montre que si notre projet
commençait le premier Janvier 2014, il se terminera le 22 Janvier
2014.
Le diagramme de Gantt est très utilisé dans
beaucoup de bureau d'étude,lorsqu'on veut bien gérer le
déroulement du projet. Cetteméthode offre plus de
lisibilité dans la planification des projets,ainsi que dans la lecture
du résultat, le problème est que cette lisibilité est
compromise lorsque le nombre des tâches devient
trèssupérieur à Vingt,il conviendra alors d'utiliser une
autre méthode à l'occurrence le graphe PERT ou bien le graphe
potentiel.
L'autre problème posé par GanttProject est que
ce logiciel peut nous indiquer les tâches critiques mais pour ceux qui ne
les seront pas,le logiciel ne sera pas en mesure de nous informer sur leurs
dates de début au plus tôt,ni leurs dates de début au plus
tard,alors que le logiciel en Visual basic le fait sans problème.
3.3.4 Code source de l'application
Imports Microsoft.VisualBasic.PowerPacks
PublicClassForm2
Dim compteur AsInteger = 0
Dim Tracer AsInteger = 0
Dim Tach1, Tach2, Tach3, Tach4, Tach5, Tach6, Tach7, Tach8,
Tach9, Tach10 AsNewTache'Taches qui seront creer par l 'utilisateur
Dim bool1, bool2, bool3, bool4, bool5, bool6, bool7, bool8, bool9
AsBoolean'Variables bool qui permettront gerer l inscription des taches dans le
formulaire,aussi utiliser pour l'insertion de la tache10
Dim tot(10), max, ta AsDouble'Utiliser pour le calcul des dates
au plus tot
Dim Table(10) AsInteger
Dim indice AsInteger = 0
PrivateSub Form2_Load(ByVal sender As System.Object, ByVal e As
System.EventArgs) HandlesMyBase.Load
If Utiliser = FalseThen
TextBox3.Hide()
TextBox4.Hide()
Label6.Text = compteur 'Compte le nombre des taches
deja saisie par l utilisateur
Initialisation()
Else
Predefinie()
EndIf
Tach10.T_Name = "Fin"
EndSub
Sub Initialisation()
max = 0
Niv1 = 0
Niv2 = 0
Niv3 = 0
Niv4 = 0
Niv5 = 0
Niv6 = 0
Niv7 = 0
Niv8 = 0
bool1 = False
bool2 = False
bool3 = False
bool4 = False
bool5 = False
bool6 = False
bool7 = False
bool8 = False
bool9 = False
Button4.Enabled = False
End sub
PrivateSub Form2_Load(ByVal sender As System.Object, ByVal e As
System.EventArgs) HandlesMyBase.Load
If Utiliser = FalseThen
TextBox3.Hide()
TextBox4.Hide()
Label6.Text = compteur 'Compte le nombre des taches
deja saisie par l utilisateur
Initialisation()
Else
Predefinie()
EndIf
Tach10.T_Name = "Fin"
EndSub
End sub
Sub Introduction()
If TextBox5.Text = NothingThen
TextBox5.Text = 0
EndIf
If TextBox3.Text = ""Or TextBox3.Text = " "Then
TextBox3.Text = Nothing
EndIf
If TextBox4.Text = ""Or TextBox4.Text = " "Then
TextBox4.Text = Nothing
EndIf
If TextBox6.Text = ""Or TextBox6.Text = " "Then
TextBox6.Text = "Tache"
EndIf
End sub
EndClass
CONCLUSION
L'objectif poursuivi par notre étude est de mettre en
place un logiciel bâtit sur le modèle client - serveur pour la
gestion des projets. Pour y parvenir, nous nous sommes servis des certaines
notions utilisées en Recherche Opérationnelle entre autre les
techniques d'ordonnancements pour concevoir le logiciel dans le langage de
programmation que nous maitrisons mieux,c'est-à-dire le Visual Basic.
Ce logiciel en ce qui le concerne permet de tracer le graphe potentiel.
Beaucoup de logiciels, applications sont bâtis suivant
l'environnement client-serveur. Dans la période des ordinateurs du type
« Mainframe », le concept client-serveur existait
déjà,mais ne pouvait pas êtreimplémenté dans
la même machine parce que les terminaux ne possédaient aucune
capacité de calcul. Avec l'arrivé des postes de travail
intelligents, terminaux intelligents,les terminaux eux même pouvaient
effectuer des opérations sans pour autant être connecter à
un serveur distant. Ce qui a rendu possible l'intégration du concept
client-serveur dans un seul terminal .Nous pourrons considérer les
utilisateurs du logiciel comme des clients, ils pourront se trouver chacun
devant des terminaux intelligents, des ordinateurs portables et dans ces
derniers pourront être installés le logiciel. Ils interagiront
avec les serveurs, le logiciel installé dans différents
ordinateurs afin d'en déduire des résultats importants,
nécessaire pouvant être utilisés dans la prise des
décisions. Les utilisateurs pourront être des membres du bureau
d'étude, des simples chercheurs opérationnelles, etc.
Dans la gestion des projets nous avons
décortiqués le différent chemina emprunté de
manière à réaliser un projet dans les normes, dans le
temps aussi dans des bonnes conditions. Ce travail nous a en outre
aidées à comprendre l'importance liée à
l'utilisation d'un outil informatique dans la gestion des projets. Cela accroit
la précision,et facilite la réutilisabilité de la solution
obtenue durant le contrôle du projet.
Le graphe potentiel en ce qui le concerne nous donne la
durée précise du projet, le seul problème pour que le
projet ne se termine pas dans le temps est l'introduction des certains
paramètresimprévisibles qui interviennent lors de
l'exécution du projet,Un des paramètres est le climat (Les
intempéries). Au minimum, une des tâches pourrait ne pas se
réaliser à cause d'une raison valable (La pluie, un
cyclone...),cela ne devrait en aucun cas empêcher le déroulement
du projet, mais accroitrait certainement la durée du projet.
BIBLIOGRAPHIE
I. Ouvrages
[1] F .Jouvret, La méthode M.P.M.
méthode des potentiels métra , Marseille , 27 janvier 2006
[2] MANYA NDJADI, Recherche Opérationnelle,
Université de Kinshasa, 2013
[3] Mohamed Ali ALOULOU , Introduction aux problème
d'ordonnancement, Université Paris Daulphine, 28 novembre 2005
[4] MULENDA NATHANAEL , Programmation Orienté Objet,
Université de Kinshasa,2013
II. Site Internet
[5]
http://grappa.univ-lille3.fr/polys/frime/Sortie002.html,
2 Octobre 2013
[6]
http://techno-science.net , 2
Octobre 2013
http://www.google.fr/url?sa=t&rct=j&q=&esrc=s&source=web&cd=8&ved=0CF8QFjAH&url=http%3A%2F%2Fetablissements.ac-amiens.fr%2F0020059d%2Fspip_gdns%2FIMG%2Fdoc%2FChapitre_14_clients_serveurs.doc&ei=tIyLUunwLMWRhQeDvID4Aw&usg=AFQjCNHG7_NHLuKlGRdMbdD6HVDnLJ0dIQ&bvm=bv.56643336,d.ZG4
[7]
http://logistiqueconseil.org
, 5 Septembre 2013
[8]
http://www.framasoft.net/article2071.html,
5 Septembre 2013
[9]
http://fr.wikipedia.org/wiki/GanttProject
,27 Septembre 2013
[10]
http://fr.wikipedia.org/wiki/Logiciel_de_gestion_de_projets
,27 Septembre 2013.
[11]
http://fr.wikipedia.org/wiki/M%C3%A9thode_des_potentiels_Metra,
6Octobre 2013
[1é]
http://www-inf.it-sudparis.eu/modules/CS21/Current/Diapos/clientserveur-diapos.pdf
[13]
http://www.commentcamarche.net/contents/222-environnement-client-serveur
, 2 Octobre 2013
[14]
http://www.larousse.fr/dictionnaires/francais/client-serveur/16523
, 27 Septembre 2013
[15]
http://www.lamsade.dauphine.fr/~giard/Gautier_controle_gestion_projets.pdf
,25 Septembre 2013
TABLE DE MATIERES
Epigraphie...............................................................................................................................................1
Les Figures
.............................................................................................................................................2
Dédicaces................................................................................................................................................4
Avant-propos..........................................................................................................................................5
INTRODUCTION
3
CHAPITRE 1 : ARCHITECTURE CLIENT - SERVEUR
8
1.1 Les architectures réseaux
8
1.1.1 Architecture
poste à poste
8
1.1.2 Architecture Client - Serveur
9
1.1.2.1 Les ordinateurs du type
« Mainframe »
9
1.1.2.2L'approche
client-serveur
10
1.1.2.5 Fonctionnement de l'architecture Client -
Serveur
11
1.1.2.4 Les différents modèles de
client-serveur
12
1.1.2.5 Répartition des Tâches
12
1.2 Architecture logicielle
13
1.2.1 Description d'une architecture
logicielle
13
1.2.2 Le client-serveur et l'architecture
logicielle
13
1.2.3 Utilisation d'une application basée
sur l'architecture client-serveur
13
CHAPITRE 2 : GESTION DES PROJETS
15
2.1 La recherche opérationnelle :
l'outil Important dans la planification des projets
15
2.2 Projets
16
2.2.1 Définition d'un projet
16
2.2.2 Diagramme de GRANTT
16
2.2.3 Contrôle et évaluation d'un
projet
17
2.2.3.1 Contrôle d'un projet
17
2.2.3.2 Evaluation d'un projet
18
2.2.4 Objectifs d'un Projet
19
2.2.5 Type de projet
20
2.2.6 Importance de la gestion de projet
20
Pourquoi devons-nous bien gérer nos
projets ?
20
o Les projets n'atteignent pas souvent leurs
objectifs
20
Ø Dépassement de
délais ;
20
Ø Surcoûts
importants ;
20
Ø qualité technique du produit
insuffisante.
20
o Les projets se déroulent dans un
milieu complexe
20
Ø acteurs divers dans une entreprise
: étude, production, marketing ;
20
Ø environnement extérieur non
maîtrisable : marché, social, politique, concurrence.
20
2.3 LES TECHNIQUES D'ORDONNANCEMENT.
21
2.3.1 GÉNÉRALITÉS SUR
L'ORDONNANCEMENT
21
2.3.2 Objectif de l'ordonnancement
21
2.3.3 Contraintes
22
2.4 Le Problème Central d'Ordonnancement
(P.C.O)
22
2.4.1 LA METHODE PERT
22
2.4.1.1 Historique
22
2.4.1.2 Objectif de la méthode
23
2.4.1.3 Notions de base
23
2.4.1.4 Représentation graphique des
étapes et des Tâches dans un réseau
24
2.4.1.5 Normalisation du graphe
25
2.4.1.6 Représentation des étapes
26
2.4.1.7 Méthodologie de construction d'un
réseau PERT (Graphe PERT)
26
2.4.2 La Méthode de Potentiel Métra
(M.P.M)
27
2.4.2.1 Eléments du graphe MPM
27
2.4.2.2 Principe de la méthode
27
2.4.2.3 Normalisation du graphe
28
2.4.2.4 Méthodologie de construction d'un
graphe potentiel (MPM)
28
2.4.2.5 Notion des Niveaux
28
2.4.2.6 Détermination du calendrier au
plus tôt
29
2.4.2.7 Détermination du calendrier au plus
tard et chemin critique
30
CHAPITRE 3 : APPLICATION ET IMPLEMENTATION
32
3.1 Notre contribution
32
3.1.1 Analyse du problème
32
3.1.2 Le diagramme des cas d'utilisations du
logiciel
33
3.1.3 Technologies utilisées
33
3.1.4 Aperçu du logiciel
34
3.2 GanttProject
35
3.2.1 Aperçu de GanttProject
35
3.2.2 Le logiciel GanttProject
35
3.2.3 Utilisation de
GanttProject
36
Cette étape nous permettra de maitriser le
différent concept lié à l'utilisation de GanttProject
36
3.2.3.1 Création et enregistrement d'un
Projet(Fichier)
36
3.2.3.2 Création d'une nouvelle
Tâche
36
3.2.3.3 Les relations des dépendances
37
3.2.3.4 Edition des propriétés
37
3.2.3.5 Les Ressources
38
3.3 Exemple pratique
39
3.3.1 Prise de décision avec notre
logiciel
39
3.3.2 Prise de décision avec
GanttProject
41
3.3.3 Quel est le logiciel le mieux
adapté ?
42
CONCLUSION
43
BIBLIOGRAPHIE
44