Arrow Table de matières
2773733

TROISIEME CHAPITRE : MODELISATION ET CONCEPTION DU NOUVEAU SYSTEME

L’ingénieur, qu’il soit spécialiste en informatique ou non, doit être capable de spécifier clairement le problème à résoudre. Il aura besoin d’un langage ou d’une méthode de spécification et de modélisation pour communiquer avec ses collaborateurs.[1]

Comme pour l’informatisation, la conception des systèmes d’information nécessite une méthodologie. La méthodologie est l’ensemble de processus ou la démarche à utiliser pour arriver au résultat (produire le logiciel). Par exemple la méthode MERISE,  etc.

Une méthodologie s’articule généralement autour de trois pôles :

  1. Les « modèles » : un modèle exprime en concepts et règles, une vue partielle de la réalité du problème posé ;
  2. Les « outils logiciels » : Ce sont des programmes informatiques destiné à aider le concepteur dans la réalisation des modèles dans leur standardisation et dans leur communication. Ils permettent aussi de valider automatiquement les modèles tant vis – à – vis de leur complétude que de leur cohérence.
  3. La démarche : elle consiste en un ensemble structuré d’étapes ; elle exprime la logique de mise en œuvre des étapes méthodologiques.[2]

Pour la modélisation de système d’information  il existe différentes méthodes :

III.1.LA METHODE UP

Le processus unifié fournit un cadre au développement logiciel pour la construction des systèmes orientés objet et répond aux exigences fondamentales.

 Le Processus Unifié ou UP (UnifiedProcess) est une méthode générique de développement de logiciel développée par les concepteurs d’UML et par conséquent il utilise le langage de modélisation unifié (UML).

UML est né de la fusion des trois méthodes qui ont influencé la modélisation objet au milieu des années 90 : OMT, Booch et OOSE. Il s’agit d’un compromis qui a été trouvé par une équipe d'experts : GradyBooch, James Rumbaugh et Ivar Jacobson. UML est à présent un standard défini par l'Object Management Group (OMG). De très nombreuses entreprises de renom ont adopté UML et participent encore aujourd’hui à son développement. [3]

Le langage UML est constitué de diagrammes. À ce jour, il existe 13 diagrammes

[4]« officiels » qui sont regroupés dans deux groupes à savoir :

  • Diagrammes structurels (ou statiques)

Diagramme de classe, Diagramme d’objet, Diagramme de composant, Diagramme de déploiement, Diagramme de paquetage et Diagramme de structure composite ;

  • Diagrammes fonctionnels (ou dynamiques)

Diagramme de cas d’utilisation, Diagramme d’état-transition, Diagramme, Diagramme de séquence, Diagramme de communication (ancien diagramme de collaboration), Diagramme global d’interaction et Diagramme de temps.

Le langage UML ne préconise aucune démarche, ce n’est donc pas une méthode mais un langage de modélisation. Nous n’avons pas aujourd’hui dans la norme, de démarche unifiée pour construire les modèles et conduire un projet informatique mettant en œuvre UML. Cependant les auteurs d’UML, ont décrit, dans un ouvrage [Jacobson2000] le processus unifié (UP, UnifiedProcess) qui doit être associé à UML.

 Chacun est libre d’utiliser les types de diagramme qu’il souhaite, dans l’ordre qu’il veut. Il suffit que les diagrammes réalisés soient cohérents entre eux, avant de passer à la réalisation du logiciel. [5]

III.2. LA METHODE UP7

Le processus unifié 7 fournit  aussi un cadre au développement logiciel pour la construction des systèmes orientés objet et répond aux exigences fondamentales.

La démarche de la méthode d’UP7  s’appuie par le formalisme UML. UP7 s’appuie fortement sur le processus UP (UnifiedProcess).

Selon Joseph Gabay et David Gabay, La démarche UP7 est articulée suivant deux axes : les quatre phases qui correspondent  à celles d’UP et sept activités.

III.3. LA METHODE RUP

La méthode  RUP (Rational Unified Process) est un processus basé sur une approche discipline afin de bien maîtriser l’assignation des tâches et la responsabilisation des différents acteurs participant au cycle de développement du logiciel. RUP a pour objectif principal de faire appliquer les bonnes pratiques de développement aux entreprises, ce qui confère au produit final une meilleure qualité.[6]

La méthode  RUP se veut être un modèle évolutif qui doit être configuré pour pouvoir être utilisé en intégrant les contraintes, les spécificités et l’historique de l’organisation qui l’adopte.

III.1. LA METHODE MERISE

Pour  la modélisation  de notre projet, nous allons suivre l’approche MERISE.

MERISE signifie   méthode d’étude et de réalisation informatique pour les systèmes d’entreprise. C’est une Méthode de Recherche en Informatique qui date des années 1978 - 1979. De nos jours, elle connaît plusieurs générations, jusqu’à la version objet.          

L'approche Merise propose de considérer le système réel selon deux points de vue: un point de vue statique (les données), un point de vue dynamique (les traitements).

La conception du SI se fait par étape, afin d’aboutir à un système d’information fonctionnel reflétant une réalité physique. Il s’agit donc de valider une à une, chacune des étapes en prenant en compte du résultat de la phase précédente.

 Notre choix est porté sur la méthode MERISE car elle a  la vocation de concevoir un système d'information aisé à maintenir et bien intégré à l'entreprise, elle est aussi un gage de sécurité et un atout précieux pour un analyste. La séparation des données et des traitements, jointe à la définition des niveaux permet d'aborder successivement les  problèmes et de se situer à tout moment dans l'avancement des travaux.

La méthode Merise a été créée en France en 1978 sous l’impulsion du ministère de l’industrie, Par un groupement de six sociétés de services et un centre de recherche informatique. Cette méthode utilise le système dit d’entités-relations. Il s’agit d’un outil et d’une technique d’analyse permettant de construire des schémas théoriques de raisonnement sur des applications tournant avec des bases de données dites relationnelles.

MERISE ne s’intéresse pas uniquement à la partie correspondant au stockage des données, mais également à leur traitement. La méthode Merise considère quatre phases dans la création d’une base de données :

  • La phase d’analyse : est une phase essentielle qui consiste à étudier l’existant :
  • Y a-t-il un système qui gère déjà tout ou partie de l’information, qu’il s’agisse d’un logiciel ou d’un ensemble de documents papiers? Comment ces informations sont-elles stockées ? Quelles sont les informations stockées ? Que manque-t-il ? Qu’est ce qui convient ou ne convient pas aux utilisateurs ?
  • interroger les futurs utilisateurs : qu’attendent-ils du futur SGBD ? Quelles sont les opérations qu’ils désirent automatiser ?
  • recueillir les informations existantes, étudier les divers liens qui peuvent exister entre ces informations, mettre en évidence les règles de gestion employées…
  • La phase conceptuelle : elle consiste à représenter l’organisation des données de manière générale. Elle aboutit à la création du modèle conceptuel des données (MCD) dans lequel les données sont représentées sous forme d’entités liées entre elles par des relations.
  • La phase logique ou organisationnelle : dans cette phase, la base de données est représentée Sous une forme logique plus proche de sa représentation réelle au sein du SGBD : les informations sont représentées uniquement sous forme de tables au sein d’un modèle logique des données (MLD).

La phase physique ou opérationnelle : elle consiste à construire réellement la base de données au sein du SGBD. [7]

SYSTEME D’INFORMATION MANUEL

ANALYSE DE BESOIN

MODEL CONCEPTUEL

MODEL LOGIQUE

MODEL PHYSIQUE

Système d’information automatisée

Les différentes étapes de la conception est alors le suivant :

  • Le dictionnaire des données.
  • Le Modèle Conceptuel de Données (MCD).
  • Le Modèle conceptuel des traitements(MCT)
  • Le Modèle Logique de Données (MLD).

Cette succession d'étapes est appelée cycle d'abstraction pour la conception des systèmes d'information

L'expression des besoins aboutit au MCC (Modèle conceptuel de la communication), ce dernier définit les flux d'informations à prendre compte et permet de mettre en place un dictionnaire des données et la matrice des dépendances fonctionnelles.

L'étape suivante consiste à mettre au point le MCD (Modèle conceptuel des données et le MCT (Modèle conceptuel des traitements) décrivant les règles et les contraintes à prendre en compte.

L'étape suivante consiste à mettre au point le MLD (Modèle logique des données) qui représente un choix logiciel pour le système d'information et le MOT (Modèle organisationnel des traitements) décrivant les contraintes dues à l'environnement (organisationnel, spatial et temporel).

Enfin, le modèle physique de données MPD reflète un choix matériel pour le système d'information.

La méthode MERISE a une vocation double :

- D’une part elle est une méthode de conception des S.I.

- D’autre part, elle est une méthodologie de développement (une démarche

Méthodologique) des S.I.

En tant que méthode de conception, elle présente les avantages suivants :

- les études de l’informatisation sont menées parallèlement et simultanément sur les données et sur les traitements ;

- La description du système est faite par niveaux (niveau conceptuel, niveau organisationnel, niveau logique, niveau physique ou opérationnel).

- Une description du système d’information utilisant un formalisme de représentation précis et rigoureux pour les données et les traitements.

En tant que méthodologie de développement, elle présente les points forts suivants :

- un découpage du processus de développement en quatre étapes ;

- une description détaillée de travail à mettre en place pour un meilleur développement.

Le niveau conceptuel correspond à la finalité ou aux finalités de l’entreprise. Il s’agit de décrire à « Quoi ? » sans tenir compte des conditions d’organisation et technique ;

- Le niveau organisationnel concerne le choix d’organisation à savoir : la répartition des traitements entre l’homme et la machine, le mode de fonctionnement en temps réel ou en temps différé, l’affectation des données et des traitements par type de site organisationnel.

- Le niveau logique concerne la structuration des données selon le type de système de gestion de base de données à utiliser. Il permet aussi la structuration des traitements par découpage de procédures de traitement.

- Le niveau physique permet l’implantation ou l’organisation physique des données dans les mémoires de masse selon le type de SGBD.

A chaque niveau d’abstraction (concept, organisationnel, logique, physique) pour chaque volet (données et traitements) le S.I. est représenté par un modèle. [8]

(DI GALLO Frédéric, page 5) Compare  la  méthode  UP et Merise:

UP

MERISE

Cycle de vie itératif et incrémental

Méthode générique

Séquentiel

Dans une démarche traditionnelle, le processus de développement est caractérisé par :

  • Un processus de type séquentiel : développement organisé en phases qui regroupent des étapes, elles-mêmes décomposées en tâche.
  • Les niveaux de découpage coïncident : la fin d’une phase correspond à la conclusion de ses étapes, qui elles-mêmes se terminent avec l’accomplissement des tâches qui les composent.

Dans une approche objet tout change :

  • Le processus est de type itératif ;
  • Les découpages ne coïncident pas : les activités (taches, phases, étapes, etc…) se déroulent dans plusieurs dimensions

III.2. DEVELOPPEMENT DE LA METHODE

Nous allons procéder au développement de la méthode que nous avons choisie(MERISE) pour cela nous n’allons pas utiliser tous les modèles de la méthode MERISE mais nous allons prendre en compte le model que nous trouvons nécessaire et qui va nous permettre d’atteindre notre objectif.

III.2.1. DICTIONNAIRE DE DONNEES

Le dictionnaire de données est l’ensemble des informations sur les attributs, le comportement, les tailles et la description pour chaque entité. Pour établir le dictionnaire de données, il faudrait répondre à la question:

Quelles sont les données de bases, comment sont-elles structurées ou implantées ?

Pour répondre à cette question l’élaboration du dictionnaire des données se fait par un inventaire des données en possession et dresser ainsi dans un tableau, une liste de toutes les propriétés avec leur mnémonique (codage), définition (signification), types (alphanumérique, alphabétique ou numérique), longueur en nombre de caractères et le type de donnée (élémentaire ou calculé) tout en évitant les redondances par l’élimination des synonymes et polysémies. [9]

Le schéma ci-dessous présente le dictionnaire des données de la gestion des données de l’institut Supérieur de Commerce.

définition

Format

Longueur

Types

Mnémonique

Elémentaire

Calculé

TABLE_USERS

UserID

Identifiant de l’utilisateur

alphaNumérique

50

X

UserPasseword

Mot de passe de l’utilisateur

Binaire

120

X

TypeUser

Type de l’utilisateur

alphaNumérique

80

X

UserContacts

Numéro de téléphone de l’utilisateur

alphaNumérique

80

X

DateHeureEnregistre

Date et heure de l’enregistrement

Date heure

X

TABLE_ANNEE_ACADEMIQUES

AnneeAcademiqueCode

Code de l’année académique

AlphaNumérique

50

X

DateDebut

Date du début de l’année académique

Date

X

DateFin

Date de fin de l’année académique

Date

X

DateHeureEnregistre

Date et heure de l’enregistrement

Date heure

X

TABLE_CLASSES

ClasseCode

Code de la Classe

Alphanumérique

30

X

NomCompletPromotion

Nom complet de la promotion

Alphanumérique

240

X

DateHeureEnregistre

Date et heure de l’enregistrement

Alphabétique

X

TABLE_LOCAUX

LocalCode

Code de local

AlphaNumérique

20

X

NomCompletLocal

Nom complet du local

AlphaNumérique

120

X

AdressePhysique

Adresse physique du local

AlphaNumérique

240

X

DateHeureEnregistre

Date et heure de l’enregistrement

Date heure

50

X

TABLE_ENSEIGNANTS

EnseignantID

Identifiant de l’enseignant

numerique

X

NomsEnseignant

Noms des enseignants

Alphabétique

80

X

NiveauTitreEnseignant

Niveau titre de l’enseignant

Alphanumerique

80

X

TitreGenreEnseignant

Titre genre de l’enseignant

Alphabétique

X

EmailEnseignant

Adresse mail de l’enseignant

AlphaNumérique

80

X

NumTelephoneEnseignant

Numéro de téléphone de l’enseignant

AlphaNumérique

50

X

DateHeureEnregistre

Date et heure de l’enregistrement

Date heure

X

TABLE_COURS

CoursID

Identifiant du cours

Numérique

X

NomAbregeCours

Nom abregé du cours

AlphaNumérique

40

X

NomCompletCours

Nom complet du cours

AlphaNumérique

240

X

HeurePratique

Heure pratique du cours

Numerique

X

HeureTheorique

Heure théorique du cours

Numerique

X

DateHeureEnregistre

Date et heure de l’enregistrement

date

X

DISPONIBILITE_ENSEIGNANTS

DisponibiliteEnseignantID

Identifiant de l’emploi du temps de l’enseignant

numérique

X

DisponibleDelaDateA

L’enseignant disponible de la date A

Date

X

IndisponibleDeslaDateB

L’enseignant indisponible dès la date B

Date

X

commentaireaProposduCours

Commentaire à propos du cours

Alphanumérique

300

X

DateHeureEnregistre

Date et heure de l’enregistrement

Date heure

X

TABLE_PROGRAMMES_HORAIRES_JOURNALIER

ProgrammeHoraireID

Identifiant de programmeHoraireJournalier

Numerique

X

ProgrammeCoursJourDate

Programme du cours jours et date

Date heure

X

IntervalHoraireJournalierCours

L’iterval de l’horaire journalier

Alphanumérique

50

X

CommentairesRemarques

Commentaire  à propos du cours

Alphanumérique

300

X

TABLE_ENSEIGNER

EnseignerID

Identifiant de enseigner

Numérique

X

CommentairesRemarques

Commentaire Remarque à propos  du cours

Alphanumerique

300

X

DateDelaSeance

Date de la seance

date

10

X

 

III.2.2.LE MODELE CONCEPTUEL DE DONNEES (MCD)

Le Modèle Conceptuel des Données est une représentation graphique des données et des liens qui existent entre chacune d'elles.

Le Modèle Conceptuel des Données (MCD) a pour but de décrire les objets manipulés par les utilisateurs dans le système étudié. La modélisation conceptuelle des données aboutit à une représentation appelée Schéma Conceptuel des Données. Le modèle le plus utilisé pour représenter les données du monde réel est le modèle Entité –Association (E/A) ou Entités –Relations (ER).

Les concepts de base pour concevoir le modèle conceptuel sont :

- Entité, Propriété, Identifiant, Occurrence, Relation (Association),Cardinalité

- Contraintes d’Intégrité Fonctionnelles (CIF)

  • Identification de nos Entités 

 Pour notre cas nous avons  identifié 9 entités  dont:

  1. UTILISATEURS 
  2. ANNEE_ACADEMIQUE
  3. PROMOTIONS 
  4. LOCAUXS
  5. ENSEIGNANTS
  6. COURS
  7. DISPONIBILITE_ENSEIGNANTS
  8. PROGRAMMES_HORAIRES_JOURNALIER_PAR_COURS 
  9. ENSEIGNER (c’est une table supplémentaire entre Enseignants et Cours)

Une entité est un type d’élément (objet, individu) du monde réel défini par :          

- Une existence propre et utile pour l’organisation étudiée

- Des occurrences multiples (i.e. au moins deux)

- Des propriétés (au moins une) dont un identifiant

Il existe deux catégories d’entités :

- Entités régulières : son existence ne dépend pas de l’existence d’une autre entité.

- Entités faibles : son existence dépend de l’existence d’une autre entité.

Ex : l’entité COURS n’existe que si l’entité ENSEIGNANT correspondante est présente.

Une propriété est une information élémentaire (rubrique, donnée) manipulable par le concepteur. Une propriété doit être décrite par un nom de propriété et prendre des valeurs ayant un sens dans les systèmes d’Informations.

Un attribut peut être obligatoire ou facultatif et avoir un domaine de valeurs.

N.B. Une propriété est véritablement élémentaire si elle n’est pas décomposable en un ensemble de propriétés significativement plus petites.

Une occurrence est un élément individualisé appartement à cet objet (un Exemplaire de l’entité).

Exemples :

- L’entité Enseignant est constituée de tous les enseignants. Chaque enseignant constitue une occurrence de cette entité

Un identifiant c’est une propriété qui permet de distinguer sans ambiguïté, une occurrence d’une entité de toutes les occurrences.

Graphiquement les identifiants sont les attributs soulignés.

Une relation est un lien (une association) qui unit deux entités (objets) ou plusieurs.

Contrairement aux entités, les relations n’ont pas de relations propres.

Les relations sont caractérisées, comme les entités, par un nom et éventuellement des attributs. La relation est toujours définie par un verbe à l’infinitif ou de verbe conjugué. La description complète d’une relation nécessite la définition précise de la

Participation des entités.

Cardinalité est le nombre de participation d’une entité à une relation.    Les cardinalités explicitent les liens qui existent entre entités et associations

(Relations) c’est – à – dire la participation des associations qui est mesurée au moyen d’un couple des valeurs « Cardinalité Minimale et Cardinalité Maximale »traduisant le nombre d’occurrences d’entités.

Ainsi, on peut définir la cardinalité comme suit :

Cardinalité minimale: (0,1 ; 1, 1)

C’est le nombre minimum de fois qu’une occurrence d’un objet participe aux occurrences de la relation.

Cardinalité maximale : (1, n ; 0, n ; n, n)

C’est le nombre maximum de fois qu’une occurrence d’un objet participe aux occurrences de la relation.

On obtient ainsi les différents types de cardinalité :

0 – 1 : au plus un

1 – 1 : un et un seul

0 – n : 0 ou plusieurs

n – n : plusieurs à plusieurs

Les cardinalités maximales et minimales traduisent les contraintes propres aux entités et relations.

PRESENTATION DU MODELE CONCEPTUEL DONNEES


III.2.3.LE MODELE LOGIQUE DES DONNEES (MLD)

Le modèle logique des données consiste à décrire la structure de données utilisée sans faire référence à un langage de programmation. Il s'agit donc de préciser le type de données utilisées lors des traitements.

Le but du MLD est de préparer l’implantation de la Base de Données. Généralement, le MLD s’obtient à partir du MCD, cependant il y a des générations (ex 3ième génération) du MERISE qui l’obtiennent à partir du MOD mais nous nous allons obtenir le MLD à partir de notre MCD

Le MLD peut être relationnel, hiérarchique ou réseau selon le SGBD à utiliser.

Les règles de passage du MCD vers le MLDR utilisées ici concernent le SGBDR du fait qu’il est le plus répandu et celui que nous allons utiliser.

  1. a) Règles pour les objets du MCD
  2. L’objet se transforme en une table
  3. L’identifiant de l’objet devient la clé primaire de la table
  4. Les propriétés de l’objet deviennent les attributs (champs) de la table ou
  5. b) Règles pour les relations du MCD
  6. Cas de la relation type Père – Fils

L’objet Père étant du type 0, n ou 1, n et l’objet Fils est du type 0,1 ou 1,1

- L’objet Père devient la table Père

- L’objet Fils devient la table Fils

- L’identifiant de l’objet Père devient l’identifiant de la table Fils. Cetattribut est aussi appelé clé secondaire ou clé étrangère

- Les propriétés de la relation deviennent les attributs de la table Fils

  1. Cas des autres relations (cardinalité 0, n ou 1, n)

- La relation devient une table

- La table hérite les clés unies par la relation (clé primaire et clé

Secondaire)

 Alors notre  MCD  peut être transformé en  MLDR de la manièresuivante :

T_USERS (UserID,UserPassword,,UserType,UserContact,DateHeureEnregistrement)

T_ANNEE_ACADEMIQUES(AnnéeAcademiqueCode,DateDebut,DateFin,DateHeureEnregistrement, ,#UserID,)

T_CLASSE (ClasseCode, NomCompletsPromotion, DateHeureEnregistrement, #UserID)

T_LOCAUX(LocalCode,NomsCompletsLocal,AdressePhysique,DateHeureEnregistrement,#UserID)

T_ENSEIGNANTS(EnseignantID,NomsEnseignant,TitreGenreEnseignant,EmailEnseignant, NumTelephoneEnseignant, DateHEUREenregistrement ,#UserID)

 

T_COURS (CoursID,NomAbregéCours, NomCompletCours,HeurePratique,HeureTheorique, DateHeureEnregistrement,#AnnéeAcademiqueCode,#ClasseCode,#ProgrammeHoraireID,#LocalCode,#UserID)

T_DISPONIBILITE_ENSEIGNANTS (DisponibiliteEnseignantID,DisponibleDeLaDateA, DisponibleJusqueDateDateB,CommentairesRemarques,#EnseignantID,#CoursID, #UserID)

T_PROGRAMMES_HORAIRES_JOURNALIER_PAR_COURS(ProgrammeHoraireID,ProgrammeCoursJourDate,IntervalHoraireJournalierCours,CommentairesRemarques,,#CoursID, #UserID)

T_ENSEIGNER(EnseignerID,,DateDeLaSeance,NombreHeureeEnseignees,DateHeureEnregistrement,#EnseignantID,#CoursID ,#UserID)

PRESENTATION GRAPHIQUE DU MODELE LOGIQUE DE DONNEES (MLD)



III.2.4.LE MODEL PHYSIQUE DE DONNEES

Le but du MPD est d’adapter la Base de données aux spécifications du SGBD et de l’aspect matériel sur lequel doit tourner l’application. Ainsi, pour concevoir le MPD, on doit se référer au type de SGBD et du logiciel d’implantation utilisé. Par exemple : le SGBD relationnel ACCESS, ORACLE, FOXPRO, MYSQL, etc. [10]

Dans le cadre de notre travail, le choix est porté sur le système de gestion de base des données relationnel MySQL qui  est un SGBD centralisé, embarqué, distribué, pour entreprises, groupes de travail et particuliers qui utilise le langage de requêtes SQL     

Dans le cadre de notre mémoire, nous avons identifié 9 tables dont voici :

  1. LA TABLE UTILISATEURS
  1. LA TABLE ANNEE ACADEMIQUES
  1. LA TABLE CLASSES
  1. LA TABLE LOCAUX
  2. LA TABLE ENSEIGNANT
  1. LA TABLE COURS
  1. LA TABLE DISPONIBILITE ENSEIGNANT
  1. TABLE PROGRAMMES_HORAIRES_JOURNALIER_PAR_COURS
  1. TABLE ENSEIGNER

[1] Sigaud, 2006.

[2] C.MOINE, « Conception des Systèmes d’Information », EDITION EYROLLES, 2003

[3] Rauels, 2016

[4] Rauels, 2016

[5] Rauels, 2016

[6] Joseph Gabay et David Gabay, UML2 analyse et conception, Dunod, Paris, 2008

[7] Cours de conception de système d’information L1 IG ISC/BKV  inédit  CT KASELE

[8] HUBERT TARDIEN, Tome I, Tome II, EDITION LES ORGANISATIONS, 1989.

[9] Cours de MERISE G3 IG ISC/BKV  inédit  Ass ARUNA Fiston 2014-2015

[10] GADARIN G., « Systèmes de gestion de Base de données relationnelle», EYR OLLES, 2001

Partager ce travail sur :