Chapitre 4ème : présentation des outils
utilisés
Pour mener à bien notre application, nous avons
dû utiliser plusieurs outils, commençant par la méthode
d'analyse « MERISE », ensuite nous avons utilisé le langage de
programmation PHP(19), le langage HTML(22),
CSS(23), nous avons également utilisé le serveur de
base de données MYSQL, le serveur web Apache et le logiciel WAMP.
Globalement nous avons utilisé pour notre application une architecture
trois tiers (serveur de base de données, serveur web et client). Tous
ces éléments seront présentés dans les sections
suivantes17:
Section 1 : Pourquoi utiliser de la méthode
« MERISE » ?
Merise est une méthode d'analyse, de
conception et de gestion de projet complètement intégrée,
ce qui en constitue le principal atout. Elle a fourni un cadre
méthodologique et un langage commun et rigoureux à une
génération d'informaticiens français.
a. Historique
Issue de l'analyse systémique, la méthode Merise
est issue des travaux menés par Hubert Tardieu dans les années
1970 et qui s'inséraient dans le cadre d'une réflexion
internationale, autour notamment du modèle relationnel de Edgar Frank
Codd. Elle est devenue un projet opérationnel au début des
années 1980 à la demande du ministère de l'industrie, et a
surtout été utilisée en France principalement pour les
projets d'envergure, notamment des grandes administrations publiques ou
privées. Elle a ensuite cherché à s'adapter aux
évolutions rapides des technologies de l'informatique avec MERISE/objet,
puis MERISE/2 destinée à s'adapter au client-serveur.
17 Architecture client-serveur dans laquelle
l'interface utilisateur, le traitement des données et le stockage sont
considérés comme trois éléments distincts.
L'intérêt de la chose est évidemment la modularité,
ainsi que le support de plateformes multiples
Elaboration d'un systeme de sélection et de classement des
étudiants : Cas des Départements de l'ISM Fait par : FOPOU
NJOYA Youssouf Marius
b. Méthode d'analyse et de conception
La méthode Merise d'analyse et de conception propose
une démarche articulée simultanément selon 3 axes pour
hiérarchiser les préoccupations et les questions
auxquelles répondre lors de la conduite d'un projet:
o Cycle de vie : phases de conception, de
réalisation, de maintenance puis nouveau cycle de projet.
o Cycle de décision : des grands
choix (Etude préalable), la définition du projet (étude
détaillée) jusqu'aux petites décisions des détails
de la réalisation et de la mise en oeuvre du système
d'information. Chaque étape est documentée et marquée par
une prise de décision.
o Cycle d'abstraction : niveaux conceptuels,
logique/organisationnel et physique/opérationnel (du plus abstrait au
plus concret) L'objectif du cycle d'abstraction est de prendre d'abord
les grandes décisions métier, pour les principales
activités (Conceptuel) sans rentrer dans le détail de questions
d'ordre organisationnel ou technique.
La méthode Merise, très analytique, distingue
nettement les données et les traitements, même si les interactions
entre les deux sont profondes et s'enrichissent mutuellement (validation des
données par les traitements et réciproquement). Certains auteurs
(Merise/méga, puis Merise/2) ont également apporté la
notion complémentaire de communications, vues au sens des messages
échangés. Aujourd'hui, avec les SGBD-R(6), l'objet,
les notions de données et de traitements sont de plus en plus
imbriquées. On distingue trois principaux niveaux d'analyse : le
niveau conceptuel, le niveau logique et le
niveau physique.
=>Niveau conceptuel
L'étude conceptuelle Merise s'attache aux
invariants de l'entreprise ou de l'organisme du point de vue du
métier : quels sont les activités, les métiers
gérés par l'entreprise, quels sont les grands processus
traités, de quoi parle-t-on en matière de données,
quelles notions manipulet-on ?... et-ce indépendamment des choix
techniques (comment fait-on ?) ou organisationnels (qui fait quoi ?) qui ne
seront abordés que dans les niveaux suivants. Au niveau conceptuel on
veut décrire, après abstraction, le modèle (le
système) de l'entreprise ou de l'organisme :
Elaboration d'un système de sélection et de
classement des étudiants : Cas des Départements de l'ISM Fait
par : FOPOU NJOYA Youssouf Marius
1. Le modèle conceptuel de
communication ou diagramme de flux
La première étape de ce modèle est
d'arriver à isoler le système en le délimitant. Il s'agit
donc de définir le système et les éléments externes
avec lesquels il échange des flux d'information. Ces
éléments extérieurs sont appelés acteurs
externes (ou partenaires).
Acteurs externes
20
Figure 1 : représentation des acteurs externes
et des flux d'information
La seconde étape consiste à découper
l'organisation en entités appelées acteurs internes (ou
domaines). Lorsque les domaines d'une organisation sont trop importants, ils
peuvent être décomposés eux-mêmes en
sousdomaines.
Acteurs internes
Figure 2 : représentation d'un modèle
de MCC
La dernière étape est l'analyse des flux
d'information, c'est-à-dire la définition des
processus.
- Diagramme de contexte
Le diagramme de contexte a pour but de représenter les
flux d'informations entre l'organisation et les acteurs externes selon une
représentation standard dans laquelle chaque objet porte un nom :
Elaboration d'un système de sélection et de
classement des étudiants : Cas des Départements de l'ISM Fait
par : FOPOU NJOYA Youssouf Marius
l'organisation est représentée par un rectangle
les acteurs externes sont représentés par des
ellipses en pointillés
les flux d'information sont représentés par des
flèches dont l'orientation désigne le sens du flux
d'information
Info 1
Info 2
Info 3
Acteur 1 Acteur 2 Acteur 3
Organisation
Figure 3 : diagramme conceptuel de
flux
Ce diagramme (appelé aussi modèle conceptuel
de la communication) permet de compléter le diagramme de contexte
en décomposant l'organisation en une série d'acteurs internes.
Dans ce diagramme la représentation standard est la suivante :
|
Les acteurs internes sont représentés par des
ellipses
|
les messages internes sont représentés par des
flèches
Acteur 1
Acteur 2
Acteur 4
Acteur 6
MSG 4
Acteur 5
Acteur 3
Figure 4 : représentation standard d'un
MCC
2. le Modèle conceptuel des
données (ou MCD(7)), schéma
représentant la structure du système d'information, du point de
vue des données, c'est-àdire les dépendances ou relations
entre les différentes données du système
22
24
Elaboration d'un système de sélection et de
classement des étudiants : Cas des Départements de l'ISM Fait
par : FOPOU NJOYA Youssouf Marius
d'information (par exemple : le client, la commande, la ligne
de commande, etc.). Le MCD(7) repose sur les notions d'entité
et d'association et sur les notions de relations :
L'entité est définie comme un objet de
gestion considéré d'intérêt pour
représenter l'activité à modéliser (exemple :
entité pays) et chaque entité est porteuse d'une ou plusieurs
propriétés simples, dites atomiques (exemples : code,
nom, capitale, population, superficie) dont l'une, unique et discriminante, est
désignée comme identifiant (exemple : code). L'entité
représente le concept qui se décline, dans le concret en
occurrences d'individus.
Exemples : Le champ du haut
contient le libellé. Ce libellé est généralement
une abréviation pour une raison de simplification de l'écriture.
Il s'agit par contre de vérifier qu'à chaque classe
d'entité correspond un et un seul libellé, et
réciproquement le champ du bas contient la liste des
propriétés de la classe d'entité
Libellé
Liste des propriétés
Figure 5 : représentation d'une
entité
Par construction, le MCD(7) impose que toutes les
propriétés d'une entité ont vocation à être
renseignées (il n'y a pas de propriété « facultative
»). Le MCD(7) doit, de préférence, ne contenir
que le coeur des informations strictement nécessaires pour
réaliser les traitements conceptuels: les informations calculées
(ex: montant taxes comprises d'une facture), déductibles (ex:
densité démographique = population / superficie) et a
fortiori celles liées aux choix d'organisation conçus pour
effectuer les traitements ne doivent pas y figurer.
Elaboration d'un système de sélection et de
classement des étudiants : Cas des Départements de l'ISM Fait
par : FOPOU NJOYA Youssouf Marius
|
L'association ou relation
|
L'association est un lien sémantique entre une ou
plusieurs entités : l'association peut être réflexive, de
préférence binaire parfois ternaire.
Exemple : Les classes de relations
sont représentées par des hexagones (parfois des ellipses) dont
l'intitulé décrit le type de relation qui relie les classes
d'entité (généralement un verbe). On définit pour
chaque classe de relation un identificateur de la forme Ri permettant de
désigner de façon unique la classe de relation à laquelle
il est associé.
CE 1 CE 2
Lien
Figure 6 : Représentation d'une
relation
Cette description sémantique est enrichie par la notion
de cardinalité, celle-ci indique le nombre minimum (0 ou 1) et maximum
(1 ou n) de fois où une occurrence quelconque d'une entité peut
participer à une association.
Exemple . la borne minimale
(généralement 0 ou 1) décrit le nombre minimum de fois
qu'une entité peut participer à une relation la borne maximale
(généralement 1 ou n) décrit le nombre maximum de fois
qu'une entité peut participer à une relation
1. N
Lien
Figure 7 : Exemple de
cardinalité
3. et le Modèle conceptuel des
traitements (ou MCT(8)), schéma représentant
les traitements, en réponse aux événements à
traiter (par exemple : la prise en compte de la commande d'un client). Le
MCT(8)
Elaboration d'un système de sélection et de
classement des étudiants : Cas des Départements de l'ISM Fait
par : FOPOU NJOYA Youssouf Marius
repose sur les notions d'événement et
d'opération, celle de processus en découle.
L'événement
Un événement est assimilable à un message
porteur d'informations donc potentiellement de données
mémorisables (par exemple : l'événement 'commande client
à prendre en compte' contient au minimum l'identification du client, les
références et les quantités de chacun des produits
commandés). Cependant il peut être interne ou externe.
? un événement externe est un changement de
l'univers extérieur
? un événement interne est un changement interne au
système d'information
On représente un événement par une
ellipse en trait plein pour les événements internes à
l'organisation, en trait pointillé pour les événements
externes.
Un événement peut :
> déclencher une opération ('commande client
à prendre en compte' déclenche l'opération 'prise en
compte commande'),
> être le résultat d'une opération
('colis à expédier' suite à l'opération de
'préparation colis'), et à ce titre être,
éventuellement, un événement déclencheur d'une
autre opération.
L'opération
Une opération se déclenche uniquement par le
stimulus d'un ou de plusieurs évènements synchronisés
Elle est constituée d'un ensemble d'actions
correspondant à des règles de gestion de niveau conceptuel,
stables pour la durée de vie de la future application (pour la prise
en compte d'une commande :
Elaboration d'un système de sélection et de
classement des étudiants : Cas des Départements de l'ISM Fait
par : FOPOU NJOYA Youssouf Marius
vérifier le code client (présence,
validité), vérifier la disponibilité des articles
commandés, ...).
Le déroulement d'une opération est in
interruptible : les actions à réaliser en cas d'exceptions, les
évènements résultats correspondants doivent être
formellement décrits (en reprenant l'exemple précédent, si
le code client indiqué sur la commande est incorrect prévoir sa
recherche à partir du nom ou de l'adresse indiqués sur la
commande, s'il s'agit d'un nouveau client prévoir sa création et
les informations à mémoriser)
Le processus
Un processus est un sous-ensemble de l'activité de
l'entreprise, cela signifie que l'activité de l'entreprise est
constituée d'un ensemble de processus. Un processus est lui-même
composé de traitements regroupés en ensembles appelés
operations.
La synchronisation
La synchronisation d'une opération définit une
condition booléenne sur les événements contributifs devant
déclencher une opération. Il s'agit donc de conditions au niveau
des événements régies par une condition logique
réalisée grâce aux opérateurs : << ou
>>, << et >>, << non >>
26
Elaboration d'un systeme de sélection et de classement des
étudiants : Cas des Départements de l'ISM Fait par : FOPOU
NJOYA Youssouf Marius
Exemple :
Règle d'émission 1
Operation
- Action 1
- Action 2
-
Règle d'émission 2
Evénement résultat 1
Evénement résultat 2
Evénement 1 Evénement 2
Figure 8 : représentation d'un
MCT
Dans l'idéal, le MCD(7) et le
MCT(8) d'une entreprise sont stables, à
périmètre fonctionnel constant, et tant que le métier de
l'entreprise ne varie pas. La modélisation ne dépend pas du choix
d'un progiciel ou d'un autre, d'une automatisation ou non des
tâches à effectuer, d'une organisation ou d'une autre, etc.
=>Niveau Logique
A ce niveau de préoccupation, les modèles
conceptuels sont précisés et font l'objet de choix
organisationnels. On construit :
1. un Modèle Logique des
Données (ou MLD(9)), qui reprend le contenu du
MCD(7) précédent, mais précise la
volumétrie, la structure et l'organisation des données telle
qu'elles pourront être implémentées. Par exemple, à
ce stade, il est possible de connaître la liste exhaustive des tables qui
seront à créer dans une base de données relationnelle
Elaboration d'un système de sélection et de
classement des étudiants : Cas des Départements de l'ISM Fait
par : FOPOU NJOYA Youssouf Marius
Exemple : Chaque classe
d'entité du modèle conceptuel devient une table dans le
modèle logique. Les identifiants de la classe d'entité sont
appelé clés de la table, tandis que les attributs
standards deviennent des attributs de la table, c'est-à-dire des
colonnes.
CE1 (#attribut1.#attribut2,
attribut3)
CE 1
# attribut1
# attribut2
attribut3
Figure 9 : représentation d'une table de
cardinalité simple
La transcription d'un MCD(7) en modèle
relationnel s'effectue selon quelques règles simples qui consistent
d'abord à transformer toute entité en table, avec l'identifiant
comme clé primaire, puis à observer les valeurs prises par les
cardinalités maximum de chaque association pour représenter
celle-ci soit (CARD(10). max 1-n ou 0-n) par l'ajout d'une
clé étrangère dans une table existante, soit
(CARD(10). max n-n) par la création d'une nouvelle table dont
la clé primaire est obtenue par concaténation de clés
étrangères correspondant aux entités liée
Exemple : si une des
classes d'entités possède une cardinalité faible : la
table aura comme attributs, les attributs de la classe ayant une
cardinalité faible, puis le (ou les) attribut(s) de relation et enfin
les attributs de la seconde classe précédé du nom de la
classe. Si les deux classes d'entités possèdent une
cardinalité forte : la table aura comme attributs, les attributs des
deux classes de relation précédés des noms des classes
respectives, puis le (ou les) attribut(s) de relation
# attribut1
attribut2
CE 1
?N
R1
Lien
Attribut
? ?
# attribut1
CE 2
R1 (#attribut1, #attribut2, attribut,
CE2.attribut1)
Figure 10 : représentation d'une table de
cardinalité multiple
28
Elaboration d'un systeme de sélection et de classement des
étudiants : Cas des Départements de l'ISM Fait par : FOPOU
NJOYA Youssouf Marius
La transcription du MCD(7) en MLD(9)
doit également être précédée d'une
étape de synchronisation et de validation des modèles de
données (MCD(7)) et de traitement (MCT(8) et
MLT(11)), au moyen de vues. Cela afin d'y introduire les
informations d'organisation définies au MLT(11),
d'éliminer les propriétés conceptuelles non
utilisées dans les traitements ou redondantes et enfin de
vérifier que les données utilisées pour un traitement sont
bien atteignables par 'navigation' entre les entités/relations du
MCD(7).
2. un Modèle Logique des Traitements
(ou MLT(11)), qui précise les acteurs et les moyens qui
seront mis en oeuvre. C'est ici que les traitements sont découpés
en procédures fonctionnelles (ou PF(12)). Le
MLT(11), appelé aussi MOT
pour « modèle organisationnel des traitements a»,
décrit avec précision l'organisation à mettre en place
pour réaliser une ou, le cas échéant, plusieurs
opérations figurant dans le MCT(8). Il répond
aux questions suivantes : qui ? Quoi ? Oil ? Quand ? Comment ? A un
MCT(8) correspond donc généralement plusieurs
MLT(11). Les notions introduites à ce niveau sont : le poste
de travail, la phase, la tâche et la procédure.
n Le poste de travail
Le poste de travail décrit la localisation, les
responsabilités, et les ressources nécessaires pour chaque
SLRECE'IVtENXIVL du système.
Par exemple, on peut identifier les profils suivants :
client-web,
responsable commercial, responsable des stocks, etc.
n La phase
La phase est un ILJIPEOMMIRns réalisées
sur un même poste de travail. La phase peut être :
ü soit manuelle : par exemple, la confection d'un colis
;
ü soit automatisée et interactive : par exemple, la
saisie d'un formulaire client ;
ü soit automatisée et planifiée (on parle
aussi de batch) : par exemple, la production et l'envoi quotidiens de
tableaux de bord dans les boites aux lettres électroniques.
Elaboration d'un systeme de sélection et de classement des
étudiants : Cas des Départements de l'ISM Fait par : FOPOU
NJOYA Youssouf Marius
· La tâche
La tkche est une description détaillée d'une
phase automatisée interactive.
Par exemple, elle correspond à la spécification
de l'interface et du dialogue humain-machine, à la localisation et la
nature des contrôles à effectuer, etc.
· La procédure
La procédure est un regroupement de phases.
Elle équivaut sur le plan organisationnel aux notions
d'opérations et d'actions conceptuelles. La différence est que
l'on considère ici ces dernières comme se déroulant sur
une période de temps homogène.
Des procédures d'origines non conceptuelles peuvent
être ajoutées du fait des choix d'organisation
effectués.
Par exemple, on peut citer les procédures
d'échanges d'informations liées à l'externalisation de
certaines activités, la prise en compte des questions de
sécurité en cas de choix de solution Web, etc.
Comme son nom l'indique, l'étude
organisationnelle ou logique s'attache à
préciser comment on organise les données de l'entreprise
(MLD(9)) et les tâches ou procédures
(MLT(11)). Pour autant, les choix techniques
d'implémentation, tant pour les données (choix d'un
SGBD(6)) que pour les traitements (logiciel, progiciel), ne seront
effectués qu'au niveau suivant.
=>Niveau physique
Les réponses apportées à ce dernier
niveau permettent d'établir la manière concrète dont le
système sera mis en place. Ce niveau détermine principalement
comment le MLD(9) sera implémenté dans un
SGBD(6). Mais avant ça, nous allons présenter le
langage de programmation qui nous permettra de coder toutes ces
données.
30
Elaboration d'un systeme de sélection et de classement des
étudiants : Cas des Départements de l'ISM Fait par : FOPOU
NJOYA Youssouf Marius
|