Вы находитесь на странице: 1из 24

02/10/2019

Université Hassan II – Casablanca


Définitions
Ecole Supérieure de Technologie de Casablanca OMGL : Outils et Modèles pour le Génie Logiciel
Outil : logiciel supportant une méthode
Modèle : représentation schématique de la réalité
Logiciel : ensemble des programmes, procédés et règles, et
éventuellement de la documentation, relatifs au fonctionnement
d'un ensemble de traitements de l'information
Génie Logiciel (ou l'ingénierie des systèmes d'information) :
ensemble des activités de conception et de mise en œuvre des
produits et des procédures tendant à rationaliser la production du
logiciel et de son suivi
2
02/10/2019

Définitions Définitions
ACSI : Analyse et Conception des Systèmes d'Information SGBD : Système de gestion de base de données

Analyse : processus d'examen de l'existant Système : ensemble d'éléments en interaction dynamique, dont les
éléments sont organisés et coordonnés en vue d'atteindre un
Conception : processus de définition de la future application
objectif, qui évolue dans un environnement
informatique
Bases de Données : ensemble des données (de l'organisation)
Systèmes d'Information : ensemble des moyens (humains et
structurées et liées entre elles :
matériels) et des méthodes se rapportant au traitement de
stocké sur support à accès direct
l'information d'une organisation
géré par un SGBD (Système de Gestion de Bases de Données)

accessible par un ensemble d'applications


3 4
02/10/2019

Les SGBD Définition Merise


Les SGBD utilisent le langage SQL. Le SQL (Structured Query
Merise (Méthode d’ Etude et de Réalisation Informatique pour les
Language, en français langage de requête structurée) est un langage
Systèmes d’Entreprise)
informatique normalisé servant à exploiter des bases de données.
Une méthode d'analyse, de conception et de gestion de projet informatique.
Quelques SGBD
Merise est une méthode française, c'est le résultat des travaux menés par
Microsoft Access : 1992, Microsoft (propriétaire)
Hubert Tardieu dans les années 1970
Microsoft SQL Server : 1989, Microsoft (propriétaire)
MySQL : 1995, MySQL AB (Oracle Corporation depuis 2009) (libre) Merise est formalisée, complète, détaillée qui garantit une informatisation
OpenOffice Base : 2002, Oracle Corporation (libre) réussie.

Oracle Database : 1979, Oracle Corporation (propriétaire) Formalisée : utilisation d’outils logiques (graphes, règles...)

PostgreSQL : 1985, Michael Stonebraker (libre) Complète : de la décision d’informatisation à la mise en œuvre effective
SQLite : 2000, D. Richard Hipp (libre) Détaillée : de l'analyse du problème jusqu’au programme informatique
dBase : 1978, Ashton-Tate (propriétaire) 5 6
02/10/2019

Le cycle d'abstraction Les trois niveaux de Merise


La conception du système d'information se fait
par étapes, afin d'aboutir à un système Niveau Modèle
d'information fonctionnel reflétant une réalité
Conceptuel Modèle Conceptuel de Données
physique. Il s'agit donc de valider une à une
QUOI ? (MCD)
chacune des étapes en prenant en compte les
résultats de la phase précédente. Logique
Modèle Logique de Données (MLD)
QUI ? QUAND ? OÙ ?
Cette succession d'étapes est appelée cycle
d'abstraction pour la conception des SI.
Physique
Modèle Physique de Données (MPD)
COMMENT ?

7 8
02/10/2019

Analyse des besoins Le dictionnaire des données


Le dictionnaire des données est le résultat de la phase de collecte des
Quelles sont les données à traiter ? données (documents, règlements, normes, procédures, fichiers…)
les données doivent être décrites dans un formalisme compris par le
Quels traitements à effectuer ?
système informatique qui va les gérer. Les formats génériques utilisés
Analyse de l’existant sont :
Interviews Le type alphanumérique (lettres, caractères, chiffres)
Le type numérique :
Etude des documents
entier
Mise en évidence des règles de gestion… réel
Le type date
Le type booléen (1-0, Vrai-Faux, Oui-Non)
Le type Liste de choix
9 10
02/10/2019

Le dictionnaire des données Le dictionnaire des données


Le dictionnaire des données est un document qui permet de
recenser, de classer et de trier les informations (les données)
collectées lors des entretiens ou de l’étude des documents.

Nom de
Format Longueur Elémentaire Calculée Document
donnée

Nom_client Alphanumérique 30 X Facture

11 12
02/10/2019

Le dictionnaire des données


Nom de donnée Format Longueur Elémentaire Calculée Document
Les dépendances fonctionnelles
Num_client Entier X Facture Une donnée B est en dépendance fonctionnelle d’une donnée
Nom_client Alphanumérique 30 X Facture A lorsque la connaissance de la valeur de la donnée A nous
Prénom_client Alphanumérique 20 X Facture
permet la connaissance d’une et au maximum une seule
Adresse_client Alphanumérique 100 X Facture
Ville_client Alphanumérique 30 X Facture valeur de B.
Code_postal_client Alphanumérique 5 X Facture
Exemple: la connaissance de la valeur d’un numéro de client
Téléphone_client Alphanumérique 13 X Facture
Code_article Alphanumérique 15 X Facture nous permet de connaître sans ambiguïté les informations
Désignation_article Alphanumérique 100 X Facture d’un et d’un seul client
Quantité_achat Entier X Facture
Prix_unitaire_article Réel X Facture Numéro client (Nom client, prénom, adresse, code postal,
Date_achat Date X Facture ville, téléphone, email...)
Total_achat Réel Prix * Qté Facture
Somme de
Total_dû_achat Réel Facture
Total_achat 13 14
02/10/2019

Les dépendances fonctionnelles Modèle Conceptuel des Données : MCD


Id_Client (Nom, Prénom, Adresse, Code_Postal, Ville) Une Entité est une population d’individus homogènes, son nom est
Id_Article (Désignation, Prix_unitaire) un nom commun au pluriel.
Id_Achat (Total_achat, Total_dû_achat) Exemples : l'entité clients, l'entité achats, l'entité articles...
(Id_Achat, Id_Article) Quantité, Date Clients Achats Articles

Id_Article Id_Achat Id_Client

Une occurrence d’une entité est une instance de l’entité dans le


monde réel. Exemples :
Quantité, Date l'entité clients contient des occurrences : mohamad bakali, khalid
imrani, kawtar mossaoui...
L'entité articles contient les occurrences : café, glace, baguette...
Désignation Prix_unitaire Total, Total_dû Nom, Adresse,Ville
15 16
02/10/2019

Modèle Conceptuel des Données : MCD Modèle Conceptuel des Données : MCD
Une relation (Association) est une liaison qui a une La propriété (ou l'attribut) est une information d’une entité
signification précise entre plusieurs entités, c'est un verbe à ou d’une relation.
l'infinitif : commander, livrer, effectuer…
L’identifiant (la clé) : propriété unique qui caractérise chaque
Clients Achats Articles
Effectuer Inclure occurrence, Exemples : Id_client, Id_article, Id_achat…

Clients Achats Articles


Un achat inclut des articles, ou bien : id_achat id_article
id_client Effectuer Inclure
Total_achat Désignation_art
Les articles sont inclus dans l’achat nom_client
adresse_client Total_dû_achat
Quantité
Date prix_unitaire_art
Le client effectue des achats, ou bien :
Les achats sont effectués par le client
17 18
02/10/2019

MCD : Les cardinalités MCD : Les cardinalités


La Cardinalité d’un lien entre une entité et une relation Remarque : dans certaines situations, la lettre "n" peut être
précise le minimum et le maximum de fois qu’un individu de remplacée par une valeur. Exemples : 0,18 - 1,10
l’entité peut être concerné par la relation. Exemple : Un étudiant peut participer au maximum à cinq
La borne minimale (généralement 0 ou 1) décrit le nombre clubs de l'université, cependant, il peut ne pas participer à
minimum de fois qu'une entité peut participer à une relation aucun club. Un club peut contenir un ou plusieurs étudiants.
La borne maximale (généralement 1 ou n) décrit le nombre
Etudiants Clubs
maximum de fois qu'une entité peut participer à une relation Id_etudiant
0,5 Participer 1,n
Id_club
Nom_etudiant Nom_club
On a 4 possibilités principales : 0,1 - 1,1 - 0,n - 1,n Classe_etudiant ………………
…………..

19 20
02/10/2019

MCD : Les cardinalités MCD : Les cardinalités


Exemple 1 : Exemple 3 :
Clients Articles 1,n 1,n Fournisseurs Un article ne peut exister sans être stocké.
id_client
1,n 0,n id_article Livrer id_fournisseur
nom_client
Commander
désignation nom_fournisseur Il ne peut être stocké qu'en un endroit.
Quantité
adresse_client prix_unitaire adresse_fournisseur
Date Un dépôt peut ne rien stocker.
Dépôts Articles
Exemple 2 : Id_dépôt
0,n Stocker 1,1 Id_article
Nom_dépôt Désignation_article
Clients Factures Adresse_dépôt Quantité_stock ………………
1,n Concerner 1,1 …………..
Id_client Id_commande
Nom_client Date_commande
Adresse_client ………………
…………..

21 22
02/10/2019

Exercice 1 : Dictionnaire de données


Nom de donnée Format Longueur Elémentaire Calculée Document
MCD : Exercice 1 Id_propriétaire Entier X
Nom_propriétaire Alphanumérique 50 X
Le système d’information étudié concerne l’activité de gestion Adresse_propriétaire Alphanumérique 100 X
des locations saisonnières d’une agence immobilière. Une Phone_propriétaire Alphanumérique 13 X
Id_appartement Entier X
analyse de l’existant a permis de dégager les entités suivantes : Catégorie_appartement Liste de choix X
Propriétaires Adresse_appartement Alphanumérique 100 X
Id_locataire Entier X
Appartements Nom_locataire Alphanumérique 50 X
Adresse_locataire Alphanumérique 100 X
Locataires
Phone_locataire Alphanumérique 13 X
Contrats Id_contrat Entier X
Liste de choix (réservé,
Etat_contrat X
Présentez le MCD de ce SI : confirmé, soldé)
Date_contrat Date X
Date_début_contrat Date X
Date_fin_contrat Date X
23 Prix_location_contrat Réel X 24
02/10/2019

Vérification du MCD Vérification du MCD


L’application systématique de chacune des règles de vérification Règle 4 : Pour avoir un MCD correct, il faut éliminer les
permet de s’assurer que le MCD est conforme à ce que l'on attend. synonymes, les redondances et les polysèmes.
Règle 1 : Toutes les propriétés doivent être élémentaires, C'est-à- Synonyme : deux noms différents pour identifier la même
dire non décomposables. propriété
Règle 2 : Chaque entité doit posséder un identifiant et un seul. Polysème : deux propriétés différentes ayant le même nom
certains objets réels ne sont pas identifiés au préalable. Il faut donc Redondance : la même propriété dans deux entités différentes
créer la donnée permettant de se mettre en conformité avec la règle
2. Rappelons qu'il ne peut y avoir deux occurrences identiques d'un Fournisseurs Clients Factures
Id_fournisseur Synonyme Id_facture
même identifiant. Id_client
Nom Nom Date_facture
Règle 3 : Les propriétés d'une entité autres que l'identifiant doivent …………. Polysème …………. Redondance Date_ajout
…………. ………….. …………..
être en dépendance fonctionnelle élémentaire de cet identifiant. Adresse_fournisseur Adresse_client Adresse_client
25 26
02/10/2019

Vérification du MCD Vérification du MCD


Règle 5 : La dépendance fonctionnelle transitive doit être écartée. Règle 6 : Pour chaque occurrence d'une relation, il doit exister une
et une seule occurrence de chacun des objets de la collection.
Résolution du problème :
Dans notre exemple, considérons une relation "Stocker" entre les
objets "Fournisseurs", "Articles" et "Dépôts", destinée à traduire la
Clients
Id_client
règle de gestion : un article est fourni par un fournisseur et stocké
Nom_client dans un dépôt. Articles
Catégorie_client
Taux_remise Id_article
Désignation_article
Clients Catégories 0,n
1,1 Appartenir 0,n
Id_client Id_catégorie
Nom_client Nom_catégorie Dépôts
Taux_remise Fournisseurs
Id_dépôt 0,n Stocker 0,n
Id_fournisseur
27 Surface_dépôt Quantité
Nom_fournisseur
Adresse_dépôt
28
02/10/2019

Vérification du MCD Exercice 2


Pourtant, certains articles proposés par les fournisseurs n'étant pas
forcément présents en stock. Il y a donc présence de deux relations Réalisez le MCD permettant la gestion d'emplois du temps pour une
binaires, et non d'une relation ternaire selon la règle 6. école privée, Une analyse de l’existant a permis de dégager les
entités suivantes : Etudiants, Classes, Matières, Enseignants, Salles
Articles
Id_article Fournir et Séances.
Désignation_article 1,n Une séance est caractérisée par une date, un type (cours, TD ou TP)
Dépôts 0,n
1,n
et une durée en heures.
Id_dépôt
Surface_dépôt
0,n Fournisseurs Chaque matière est enseignée par un seul professeur, cependant, un
Adresse_dépôt Stocker
Quantité Id_fournisseur professeur peut enseigner plusieurs matières.
Nom_fournisseur
Une classe d'étudiants étudie plusieurs matières, une seule matière
peut être dans le programme de plusieurs classes
Règle 7 : Les propriétés d'une relation doivent dépendre de la
totalité de la relation. Si ce n'est pas le cas, il faut éclater la relation Chaque étudiant a plusieurs notes, chaque note concerne une
en autant de relations que nécessaire. matière
29 30
02/10/2019

Exercice 2 : Dictionnaire de données


Nom de donnée Format Longueur Elémentaire Calculée Document Modèle Logique des données : MLD
Id_étudiant Entier X
Nom_étudiant Alphanumérique 30 X
Prénom_étudiant Alphanumérique 20 X
Le passage du modèle conceptuel des
Note_étudiant_matière Réel X données au modèle logique des
Id_classe Entier X
Nom_classe Alphanumérique 50 X
données s'effectue en appliquant des
Id_séance Entier X règles s'appuyant sur les cardinalités
Date_séance Date X
Durée_séance Réel X
des couples objet-relation
Type_séance Liste de choix X
Id_matière Entier X
Nom_matière Alphanumérique 50 X
Id_enseignant Entier X
Nom_enseignant Alphanumérique 30 X
Prénom_enseignant Alphanumérique 20 X
Id_salle Entier X
Nom_salle Alphanumérique 50 X
31 32
02/10/2019

MLD MLD
Règle 1 : Toute entité devient un Record, et puis une table Notations : on dit qu’une relation binaire est de type :
dans laquelle les propriétés deviennent les colonnes. 1:1 (un à un) si aucune des deux cardinalités maximales n’est n ;
Les relations deviennent des liens (Set) 1:n (un à plusieurs) si une des deux cardinalités maximales est n ;

L’identifiant de l’entité constitue alors la clé primaire de la n:m (plusieurs à plusieurs) si les deux cardinalités maximales sont n.
table Règle 2 : Une relation binaire de type "1:n", se transforme en un set
orienté vers le record de l'objet ayant les cardinalités (0,1 ou 1,1).

Clients La clé primaire du record (0,n ou 1,n) devient une clé étrangère dans le
Id_client Nom_client Phone_client Ville_client
Id_client 1 Bakkali Karim 0677885522 Casablanca
record (0,1 ou 1,1)
Nom_client
Phone_client 2 Imrani Najoua 0622447799 Rabat Si cette relation est porteuse de propriétés, ces propriétés migrent vers
Ville_client
3 Idrissi Jaouad 0638775522 Casablanca
le record issu de l'objet ayant les cardinalités (0,1 ou 1,1).
33 34
02/10/2019

MLD MLD
Clients Catégories Règle 3 : Les relations binaires de type "n:m" se transforment en un
1,1 Appartenir 0,n
Id_catégorie
Id_client
Date_ajout_catég Nom_catégorie
record et deux sets orientés vers ce record
Nom_client
Ville_client Taux_remise
Dépôts
Articles
Id_dépôt 0,n Stocker 1,n
Surface_dépôt Quantité_stock Id_article
Record Adresse_dépôt Désignation_article

Clé Primaire
Clients Catégories
Id_client Dépôts Stock Articles
Id_catégorie
Nom_client Nom_catégorie Id_dépôt Id_stock Id_article
Ville_client Taux_remise Surface_dépôt Quantité_stock Désignation_article
#Id_catégorie Adresse_dépôt #Id_dépôt
Date_ajout_catég #Id_article
Set

Clé étrangère
35 36
02/10/2019

MLD MLD
Règle 4 : une relation binaire de type "1:1" est traduite comme une Règle 5 : Une relation ternaire de type "n:m" se transforme en un
relation binaire de type "1:n" sauf que la clé étrangère se voit record et autant de sets que d'objets présents dans sa collection.
imposer une contrainte d’unicité et de non vacuité Tous ces sets sont orientés vers le record issu de la relation
Fournisseurs
Fournisseurs Articles Magasins
Id_fournisseur
Nom_fournisseur Id_fournisseur Id_article Id_magasin
Employés Services
0,1 1,1 Nom_fournisseur Libellé_article Adresse_magasin
Id_employé Diriger Id_service 1,n
Nom_employé Nom_service

Stocker
Articles Qt_stock
Employés Services Id_article Stocks
Libellé_article 1,n
Id_employé Id_service Id_stock
Nom_employé 0,n
Nom_service Qt_stock
#Id_employé Magasins #Id_fournisseur
(unique non-vide) Id_magasin #Id_article
Adresse_magasin #Id_magasin
37 38
02/10/2019

MLD MLD
Règle 6 : Si une relation ternaire possède une branche avec une Règle 7 : Cas particulier : un à plusieurs ou plusieurs à plusieurs ?
Cardinalité (0,1 ou 1,1), on place les références dans le record relié
par (0,1 ou 1,1). Chevaux Tickets
Classes Classes Matières
0,n Parier 1,3
Id_cheval Id_ticket
Id_classe Id_classe Id_matière Nom_cheval Date_ticket
Nom_classe Nom_classe Nom_matière

1,n

Chevaux Tickets
Etudier
Séances Volume_horaire Séances Id_cheval Id_ticket
Id_séance Id_séance
Nom_cheval Date_ticket
Date_séance 1,1 Date_séance #Id_cheval_1
Durée_séance 1,n Durée_séance #Id_cheval_2
Type_séance Type_séance #Id_cheval_3
Matières
#Id_classe
Id_matière #Id_matière
Nom_matière Volume_horaire 39
02/10/2019

MLD : Exercice 2
MLD Id_étudiant
Etudiants
Nom_étudiant Id_classe
1 Kamal Bakkali 1
2 Farah Mesoudi 2
3 Ayman Azdi 2

Réalisez le MLD de l'exercice 2 de la gestion d'emploi du temps Classes


Id_classe Nom_classe
d'une école privée 1 TC 2
2 FC 2
3 GAP
Matières
Id_matière Nom_matière Id_enseignant
1 Informatique 1
2 LC 2
3 Statistiques 1
Enseignants
Id_enseignant Nom_enseignant
1 Mohamed Ouazzani
2 Khaled Hakim 42
02/10/2019

MLD : Exercice 2
Id séance Date séance
Séances
Durée séance Type séance Id salle Id matière Id classe Exercice 3
1 2014/10/15 - 08:00 2 Cours 2 1 1 On veut réaliser une application de gestion de consultations pour un cabinet médical.
2 2014/10/15 - 10:00 1,5 TD 2 1 2 Le médecin fixe le prix de consultation chaque année
3 2014/10/18 - 09:00 3 Cours 2 2 1
A chaque consultation, il reçoit un seul malade à une date précise,
4 2014/10/23 - 08:00 2 TP 1 3 2
L'examen clinique lors de la consultation lui permet de détecter les symptômes
5 2014/10/23 - 08:00 1 TD 2 2 3
(température, mal de tête, fréquence cardiaque élevée, souffle au cœur…) et de
Notes
diagnostiquer plusieurs maladies (rhume, crise de foie, spasmophilie…).
Id_note Note_étudiant Id_étudiant Id_matière
1 15 1 1 Chaque maladie peut être identifiée par un ou plusieurs symptômes.
2 11,25 1 2 Un symptôme peut être associé à aucune ou plusieurs maladies.
3 08 1 3
1. Classez les données dans un dictionnaire des données
4 12 2 1
5 10 2 2 2. Déterminez les entités principales
Salles 3. Présentez le MCD de ce SI
Id_salle Nom_salle
1 T15 4. Réalisez le MLD de ce SI
2 D2 43 44
02/10/2019

Exercice 3 : Dictionnaire de données


Nom de donnée
Id_médecin
Format
Entier
Longueur Elémentaire Calculée
X
Document
Doc 1
Exercice 3 : Entités principales
Nom_médecin Alphanumérique 50 X Doc 1 Médecins
Spécialité_médecin Alphanumérique 100 X Doc 1
Id_médecin, Nom_médecin, Spécialité_médecin, Phone_médecin,
Phone_médecin Alphanumérique 13 X Doc 1
Id_malade Entier X Doc 1
Adresse_médecin
Nom_malade Alphanumérique 50 X Doc 1 Malades
Phone_malade Alphanumérique 13 X Doc 1
Date_naissance_malade Date X Doc 1 Id_malade, Nom_malade, Phone_malade
Sexe_malade Liste de choix X Doc 1 Consultations
Id_consultation Entier X Doc 1
Date_consultation Date X Doc 1 Id_consultation, Date_consultation, Prix_consultation
Prix_consultation Réel X Doc 1 Symptômes
Id_symptôme Entier X Doc 1
Nom_symptôme Alphanumérique 50 X Doc 1 Id_symptôme, Nom_symptôme, Description_symptôme
Description_symptôme Alphanumérique 200 X Doc 1 Maladies
Id_maladie Entier X Doc 1
Nom_maladie Alphanumérique 50 X Doc 1 Id_maladie, Nom_maladie, Description_maladie
Description_maladie Alphanumérique 200 X Doc 145 46
02/10/2019

Exercice 4 : Dictionnaire de données


Exercice 4 Nom de donnée Format Longueur Elémentaire Calculée Document
Réalisez la modélisation complète d'une application de gestion des examens QCU Id_professeur Entier X Doc 1
en Informatique, selon la copie d'examen suivante : Nom_professeur Alphanumérique 50 X Doc 1
Id_classe Entier X Doc 1
Professeur : EL HADDIOUI Ismail
Nom_classe Alphanumérique 50 X Doc 1
Etudiant N°18 : Monsif Oumari - Classe : TC1 Id_étudiant Entier X Doc 1
Nom_étudiant Alphanumérique 50 X Doc 1
Examen N°2 en Informatique
_
Date : 16/10/2014 – Note : …./20 Note_étudiant_examen Réel Doc 1
rép_corr
Question 1 : Qu’est-ce qu’un processeur (2 Pts) Id_examen Entier X Doc 1
Choix 1 : Un composant qui permet le traitement des informations Date_examen Date X Doc 1
Matière_examen Alphanumérique 30 X Doc 1
Choix 2 : Un type de mémoire
Id_question Entier X Doc 1
Choix 3 : Un périphérique de stockage
Texte_question Alphanumérique 100 X Doc 1
Question 2 : Citez les trois composants principaux de l'unité centrale (1 Pt)
Nb_pt_question Entier X Doc 1
Choix 1 : Processeur, mémoire vive et mémoire morte Id_choix Entier X Doc 1
Choix 2 : Processeur, carte graphique et disque dur Texte_choix Alphanumérique 100 X Doc 1
47 Réponse_correcte Booléen X Doc 48
1