Université Hassan II Casablanca Ecole Supérieure de Technologie de Casablanca Définitions 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é Prof. EL HADDIOUI Ismail 2015-2016 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 1
Définitions ACSI : Analyse et Conception des Systèmes d'information Analyse : processus d'examen de l'existant Conception : processus de définition de la future application informatique Systèmes d'information : ensemble des moyens (humains et matériels) et des méthodes se rapportant au traitement de l'information d'une organisation Définitions SGBD : Système de gestion de base de données Système : ensemble d'éléments en interaction dynamique, dont les éléments sont organisés et coordonnés en vue d'atteindre un objectif, qui évolue dans un environnement Bases de Données : ensemble des données (de l'organisation) structurées et liées entre elles : stocké sur support à accès direct géré par un SGBD (Système de Gestion de Bases de Données) 3 accessible par un ensemble d'applications 4 2
Les SGBD Les SGBD utilisent le langage SQL. Le SQL (Structured Query Language, en français langage de requête structurée) est un langage informatique normalisé servant à exploiter des bases de données. Quelques SGBD Microsoft Access : 1992, Microsoft (propriétaire) Microsoft SQL Server : 1989, Microsoft (propriétaire) MySQL : 1995, MySQL AB (Oracle Corporation depuis 2009) (libre) OpenOffice Base : 2002, Oracle Corporation (libre) Oracle Database : 1979, Oracle Corporation (propriétaire) PostgreSQL : 1985, Michael Stonebraker (libre) SQLite : 2000, D. Richard Hipp (libre) dbase : 1978, Ashton-Tate (propriétaire) 5 Définition Merise (Méthode d Etude et de Réalisation Informatique pour les Systèmes d Entreprise) Une méthode d'analyse, de conception et de gestion de projet informatique. Merise est une méthode française, c'est le résultat des travaux menés par Hubert Tardieu dans les années 1970 Merise est formalisée, complète, détaillée qui garantit une informatisation réussie. Formalisée : utilisation d outils logiques (graphes, règles...) Complète : de la décision d informatisation à la mise en œuvre effective Détaillée : de l'analyse du problème jusqu au programme informatique 6 3
Le cycle d'abstraction La conception du système d'information se fait par étapes, 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 les résultats de la phase précédente. D'autre part, les données étant séparées des traitements, il faut vérifier la concordance entre données et traitement afin de vérifier que toutes les données nécessaires aux traitements sont présentes et qu'il n'y a pas de données superflues. Cette succession d'étapes est appelée cycle d'abstraction pour la conception des SI. 7 Les trois niveaux de Merise Niveau Statique (Données) Dynamique (Traitement) Conceptuel QUOI? MCD MCT Logique (organisationnel) QUI? QUAND? OÙ? MLD MOT (ou MLT) Physique (opérationnel) COMMENT? MPD MOpT Le niveau conceptuel décrivant les règles et les contraintes à prendre en compte. Le niveau logique consiste à définir le MLD qui représente un choix logiciel pour le SI et le MOT décrivant les contraintes dues à l'environnement. Le niveau physique reflète un choix matériel pour le système d'information. 8 4
Analyse des besoins Quels sont les données à traiter? Quels traitements à effectuer? Analyse de l existant Interviews étude des documents mise en évidence des règles de gestion 9 Le dictionnaire des données Le dictionnaire des données est le résultat de la phase de collecte des données (documents, règlements, normes, procédures, fichiers ) les données doivent être décrites dans un formalisme compris par le système informatique qui va les gérer. Les formats génériques utilisés sont : Le type alphanumérique (des caractères, des chiffres) Le type numérique entier Le type numérique réel Le type date Le type booléen (0-1, Vrai-Faux, Oui-Non) Le type Liste de choix 10 5
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. Le dictionnaire des données Nom de donnée Format Longueur Elémentaire Calculée Document Nom_client Alphanumérique 30 X Facture 11 12 6
Le dictionnaire des données Nom de donnée Format Longueur Elémentaire Calculée Document Num_client Entier X Facture Nom_client Alphanumérique 30 X Facture Prénom_client Alphanumérique 20 X Facture Adresse_client Alphanumérique 100 X Facture Ville_client Alphanumérique 30 X Facture Code_postal_client Entier X Facture Téléphone_client Alphanumérique 13 X Facture Code_article Alphanumérique 15 X Facture Désignation_article Alphanumérique 100 X Facture Quantité_achat Entier X Facture Prix_unitaire_article Réel X Facture Date_achat Date X Facture Total_achat Réel Prix * Qté Facture Somme de Total_dû_achat Réel Facture Total_achat 13 Les dépendances fonctionnelles Une donnée B est en dépendance fonctionnelle d une donnée A lorsque la connaissance de la valeur de la donnée A nous permet la connaissance d une et au maximum une seule valeur de B. Exemple: la connaissance de la valeur d un numéro de client nous permet de connaître sans ambiguïté les informations d un et d un seul client Numéro client ville, téléphone, email...) (Nom client, prénom, adresse, code postal, 14 7
Les dépendances fonctionnelles Num_Client (Nom, Prénom, Adresse, Code_Postal, Ville) Num_Article (Num_Commande, Num_Article) (Désignation, Prix_unitaire) Quantité Num_Article Num_Commande Num_Client Modèle Conceptuel des Données : MCD Une Entité est une population d individus homogènes, son nom est un nom commun au pluriel. Exemples : l'entité clients, l'entité articles, l'entité fournisseurs... Clients Articles Fournisseurs Quantité Une occurrence d une entité est une instance de l entité dans le monde réel. Exemples : l'entité clients contient des occurrences : mohamad bakali, khalid imrani, kawtar mossaoui... Désignation Prix_unitaire Nom Prénom Adresse CP Ville 15 L'entité articles contient les occurrences : café, glace, baguette... 16 8
Modèle Conceptuel des Données : MCD Une relation (Association) est une liaison qui a une signification précise entre plusieurs entités, c'est un verbe à l'infinitif : commander, livrer Clients Commander Articles Livrer Fournisseurs Modèle Conceptuel des Données : MCD La propriété (ou l'attribut) est une information d une entité ou d une association. L identifiant (la clé) : propriété unique qui caractérise chaque occurrence, Exemples : numéro_client, numéro_article, num_fournisseur Le fournisseur livre les articles, ou bien : Les articles sont livrés par le fournisseur Le client commande les articles, ou bien : Clients id_client nom_client adresse_client Commander Quantité Date Articles id_article désignation prix_unitaire Livrer Fournisseurs id_fournisseur nom_fournisseur adresse_fournisseur Les articles sont commandés par le client 17 18 9
Modèle Conceptuel des Données : MCD Pour avoir un MCD correct, il faut éliminer les synonymes, les redondances et les polysèmes. Synonyme : deux noms différents pour identifier la même propriété Polysème : deux propriétés différentes ayant le même nom Redondance : la même propriété dans deux entités différentes Fournisseurs Id_fournisseur Nom. Polysème. Adresse_fournisseur Clients Id_client Nom... Adresse_client Synonyme Redondance Factures Id_facture Date_facture Date_ajout.. Adresse_client Retour 19 MCD : Les cardinalités La Cardinalité d un lien entre une entité et une association précise le minimum et le maximum de fois qu un individu de l entité peut être concerné par l association. 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 On a 4 possibilités principales : 0,1-1,1-0,n - 1,n 20 10
MCD : Les cardinalités Remarque : dans certaines situations, la lettre "n" peut être remplacée par une valeur. Exemples : 0,18-1,10 Exemple : Un étudiant peut participer au maximum à cinq clubs de l'université, cependant, il peut ne pas participer à aucun club. Un club peut contenir un ou plusieurs étudiants. Etudiants Id_etudiant Nom_etudiant Classe_etudiant.. 0,5 Participer 1,n Clubs Id_club Nom_club MCD : Les cardinalités Exemple 1 : Clients id_client nom_client adresse_client Exemple 2 : Clients Id_client Nom_client Adresse_client.. 1,n 0,n Commander Quantité Date Articles id_article désignation prix_unitaire 1,n Régler 1,1 1,n 1,n Livrer Factures Fournisseurs id_fournisseur nom_fournisseur adresse_fournisseur Id_commande Date_commande 21 22 11
MCD : Les cardinalités Exemple 3 : Un article ne peut exister sans être stocké. Il ne peut être stocké qu'en un endroit. Un dépôt peut ne rien stocker. Dépôts Id_dépôt Nom_dépôt Adresse_dépôt.. 0,n Stocker 1,1 Quantité_stock Articles Id_article Désignation_article MCD : Exercice 1 Le système d information étudié concerne l activité de gestion des locations saisonnières d une agence immobilière. Une analyse de l existant a permis de dégager les entités suivantes : Propriétaires Appartements Locataires Contrats Présentez le MCD de ce SI : 23 24 12
Exercice 1 : Dictionnaire de données Nom de donnée Format Longueur Elémentaire Calculée Document Id_propriétaire Entier X Nom_propriétaire Alphanumérique 50 X Adresse_propriétaire Alphanumérique 100 X Phone_propriétaire Alphanumérique 13 X Id_appartement Entier 100 X Catégorie_appartement Liste de choix X Adresse_appartement Alphanumérique 100 X Id_locataire Entier X Nom_locataire Alphanumérique 50 X Adresse_locataire Alphanumérique 100 X Phone_locataire Alphanumérique 13 X Id_contrat Entier X Etat_contrat Liste de choix X Date_contrat Date X Date_début_contrat Date X Date_fin_contrat Date X Prix_location_contrat Réel X 25 Vérification du MCD L application systématique de chacune des règles de vérification permet de s assurer que le MCD est conforme à ce que l'on attend. Règle 1 : Toutes les propriétés doivent être élémentaires, C'est-àdire non décomposables. Règle 2 : Chaque objet doit posséder un identifiant et un seul. certains objets réels ne sont pas identifiés au préalable. Il faut donc 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 même identifiant. Règle 3 : Les propriétés d'un objet autres que l'identifiant doivent être en dépendance fonctionnelle élémentaire de cet identifiant. 26 13
Vérification du MCD Règle 4 : Une propriété ne peut qualifier qu'un seul objet ou qu'une seule relation. il faut éliminer les synonymes, les redondances et les polysèmes. Rappel Règle 5 : La dépendance fonctionnelle transitive doit être écartée. Clients Id_client Nom_client Catégorie_client Taux_remise Résolution du problème : Vérification du MCD Règle 6 : Pour chaque occurrence d'une relation, il doit exister une et une seule occurrence de chacun des objets de la collection. Dans notre exemple, considérons une relation "Stocker" entre les objets "Fournisseurs", "Articles" et "Dépôts", destinée à traduire la règle de gestion : un article est fourni par un fournisseur et stocké dans un dépôt. Articles Id_article Désignation_article 0,n Clients Id_client Nom_client 1,1 Appartenir 0,n Catégories Id_catégorie Nom_catégorie Taux_remise Dépôts Id_dépôt Surface_dépôt Adresse_dépôt 0,n Stocker 0,n Quantité Fournisseurs Id_fournisseur Nom_fournisseur 27 28 14
Vérification du MCD 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 binaires, et non d'une relation ternaire selon la règle 6. Dépôts Id_dépôt Surface_dépôt Adresse_dépôt 0,n Stocker Quantité Articles Id_article Désignation_article 0,n Fournisseurs Id_fournisseur Nom_fournisseur 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 en autant de relations que nécessaire. 29 1,n Fournir 1,n Exercice 2 Réalisez le MCD permettant la gestion d'emplois du temps pour une école privée, Une analyse de l existant a permis de dégager les entités suivantes : Etudiants, Classes, Matières, Enseignants, Salles et Séances. Une séance est caractérisée par une date, un type (cours, TD ou TP) et une durée en heures. Chaque matière est enseignée par un seul professeur, cependant, un professeur peut enseigner plusieurs matières. Une classe d'étudiants étudie plusieurs matières, une seule matière peut être dans le programme de plusieurs classes Chaque étudiant a plusieurs notes, chaque note concerne une matière 30 15
Exercice 2 : Dictionnaire de données Nom de donnée Format Longueur Elémentaire Calculée Document Id_étudiant Entier X Nom_étudiant Alphanumérique 30 X Prénom_étudiant Alphanumérique 20 X Note_étudiant_matière Réel X Id_classe Entier X Nom_classe Alphanumérique 50 X Id_séance Entier X Date_séance Date X Durée_séance Réel X 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 16