© Petko ValtchevUniversité de Montréal Janvier 2002 1 IFT 2251 Génie Logiciel La Modélisation des Données Hiver 2002 Petko Valtchev.

Slides:



Advertisements
Présentations similaires
Sintaks : Tentative de guide de mise en œuvre Michel Hassenforder.
Advertisements

Modèle Conceptuel des données
Génie Logiciel 2 Julie Dugdale
Un modèle conceptuel Le modèle Entité-Association Frédéric Gava (MCF)
Urbanisation de Systèmes d'Information
Les cas d’utilisation (use cases)
Modèle Entités-Associations
Le modèle logique des données relationnel MLD
Le Modèle Logique de Données
INTRODUCTION.
Introduction à la POO: Les classes vs les objets
Langage SysML.
PARTIE 3 : Le SYSTEME D’INFORMATION FUTUR
Initiation au système d’information et aux bases de données
Initiation au système d’information et aux bases de données
Principes de la technologie orientée objets
le profil UML en temps réel MARTE
Les Cas d’utilisation.
Vuibert Systèmes dinformation et management des organisations 6 e édition R. Reix – B. Fallery – M. Kalika – F. Rowe Chapitre 1 : La notion de système.
Analyse et Conception des Systèmes d’Informations
Initiation à la conception de systèmes d'information
2-1 CIRCUITS ÉLECTRIQUES SIMPLES
Modélisation E/R des Données
Introduction à la conception de Bases de Données Relationnelles
Chap 4 Les bases de données et le modèle relationnel
Conception des données
RDF(S)
Chapitre 3 Les diagrammes de classes
Modèle Logique de Données
SYSTEMES D’INFORMATION
Etude globale de système.
MODELE RELATIONNEL concept mathématique de relation
IGL301 - Spécification et vérification des exgiences 1 Chapitre 2 Le processus dingénierie des exigences (ref : Bray chapitre 2)
Cours de Base de Données & Langage SQL
IFT 2251 Génie Logiciel La Modélisation des Données
© Petko ValtchevUniversité de Montréal Janvier IFT 2251 Génie Logiciel Notions de Base Hiver 2002 Petko Valtchev.
IFT 2251 Génie Logiciel La Modélisation du Comportement
Les concepts et les méthodes des bases de données
Initiation aux bases de données et à la programmation événementielle
Modèle Logique de Données (MLD)
Initiation à la conception des systèmes d'informations
Introduction à l’algèbre
Systèmes d’informations : Définition, Composantes, Rôles et Approches.
Sensibilisation a la modelisation
Introduction.
ANALYSE METHODE & OUTILS
Les principes de la modélisation de systèmes
Institut Supérieur des Sciences Appliquées et de Technologie Sousse
Le contenu est basé aux transparents du 7 ème édition de «Software Engineering» de Ian Sommerville«Software Engineering» de Ian Sommerville B.Shishedjiev.
© Petko ValtchevUniversité de Montréal Février IFT 2251 Génie Logiciel Conception Hiver 2002 Petko Valtchev.
© Petko ValtchevUniversité de Montréal Février IFT 2251 Génie Logiciel Spécification de Processus Concurrents Hiver 2002 Petko Valtchev.
2 Processus de conception de BD
© Petko ValtchevUniversité de Montréal Février IFT 2251 Génie Logiciel Génie Logiciel Orienté-Objet Hiver 2002 Petko Valtchev.
Hiver 2004SEG2501 Chapître 41 Chapître 4 SDL – structure d’un système et son comportement.
Chapitre 2 Rappels objet et Présentation des diagrammes UML
Chapitre 2 Rappels objet et Présentation des diagrammes UML
ANALYSE LE MCD 1ère approche
Nouvelles Technologies Internet & Mobile
Introduction à la Programmation Orientée Objet
ANALYSE LE MCD 1ère approche
La Modélisation : représenter la réalité dans un système informatisé
Diagramme de classe Classe Objet Associations Diagramme de classe.
INTRODUCTION AUX BASES DE DONNEES Modèle entités-relations
Initiation aux bases de données et à la programmation événementielle
Introduction Module 1.
Les bases de données Séance 3 Construction du Modèle Conceptuel de Données.
Les bases de données Séance 2 Méthodologies d’analyse.
Les bases de données Séance 4 Construction du Modèle Physique (la BDD)
Schéma de base de données Présentation. Conception du schéma logique  Transformation du schéma conceptuel en structures de données supportées par les.
Transcription de la présentation:

© Petko ValtchevUniversité de Montréal Janvier IFT 2251 Génie Logiciel La Modélisation des Données Hiver 2002 Petko Valtchev

© Petko ValtchevUniversité de Montréal Janvier Modélisation Sommaire l Lactivité de modélisation l Le début de la modélisation l La méthode danalyse structurée l Le modèle entité-association

© Petko ValtchevUniversité de Montréal Janvier Modélisation Le Modèle dAnalyse Modèle Données Modèle Comportemental Modèle Fonctionnel définit les objets décrit leurs attributs établit les associations identifie les fonctions qui transforment les objets précise la circulation des données à travers le système représente producteurs et consommateurs de données indique les différents états du système spécifie les évènements qui provoquent des changements détat Raffinage progressif pour diminuer le niveau dabstraction!

© Petko ValtchevUniversité de Montréal Janvier Modélisation l Dhabitude, inclus dans les documents issus de lingénierie du système (appelé « cahier des charges » parfois) l Si non disponible, on peut lacquérir, par exemple : l en appliquant la technique FAST, l en examinant les cas dutilisation du système logiciel. S tatement of scope [Pressman 2001] « A relatively brief description of the system to be built: indicates data that are input and output and basic functionality indicates conditional processing (at a high level) implies certain constraints and limitations. » La modélisation peut débuter à partir dune première description informelle du logiciel. Le Début…

© Petko ValtchevUniversité de Montréal Janvier Modélisation l Le « statement of scope » doit être parcouru pour en extraire des information sur les données, les fonctionnalités et le comportement du système OBJETS: tous les noms dans le document l producteurs/consommateurs de données l éléments de stockage pour les données l données composites OPÉRATIONS: tous les verbes dans le document l processus pertinents pour lapplication l transformations de données Y rajouter tous les autres services dont les objets pourront avoir besoin. Identifier les Éléments

© Petko ValtchevUniversité de Montréal Janvier Modélisation Une multitude de méthodes de modélisation ont été proposées pour le paradigme de programmation structurée dont: Structured Analysis (SA) – Analyse structurée Data Structured Systems Development (DSSD) Jackson System Development (JSD) Structured Analysis Design Technique (SADT) Toutes respectent les cinq principes danalyse évoqués précédemment. Elles divergent quant aux heuristiques, les vues et des notations employées pour lidentification, la description et la validation des modèles sous-jacents. Les Approches

© Petko ValtchevUniversité de Montréal Janvier Modélisation Sommaire l Lactivité de modélisation l Le début de la modélisation l La méthode danalyse structurée l Le modèle entité-association

© Petko ValtchevUniversité de Montréal Janvier Modélisation Éléments du Modèle dAS Modèle entité-association Diagramme de flot de données Diagramme état-transition Description des données Spécification des processus (PSPEC) Spécification du contrôle (CSPEC) Dictionnaire des données

© Petko ValtchevUniversité de Montréal Janvier Modélisation Sommaire l Lactivité de modélisation l Le début de la modélisation l La méthode danalyse structurée l Le modèle entité-association

© Petko ValtchevUniversité de Montréal Janvier Modélisation Modèle Entité-Association Le modèle Entité-Association, ou E-A (1976) représente le monde réel comme un ensemble dobjets (entités) et de relations (associations) entre ces objets. La réalité à modéliser est le domaine bancaire. Cela veut dire que notre modèle doit faire apparaître les notions comme les clients, les comptes, les transactions, les soldes, les actions, les obligations, les REER, etc. Ex.

© Petko ValtchevUniversité de Montréal Janvier Modélisation Entité : « Objet ayant une existence réelle ou abstraite dans le domaine, distinguable des autres objets et possédant des propriétés et des caractéristiques. » Entités externes (guichet automatique, client, compte) Occurrences ou évènements (interruptions, alarme) Structures (enregistrement employé) Choses (rapports, chèques,cartes débit) Objets de Données? Les entités retenues jouent un rôle essentiel dans le système, c.a.d. que le système ne peut pas fonctionner sans accéder aux informations que ces entités comportent. Ensemble dentités : « Collection dentités de structure identique. » Quels ensembles? Quelles entités?

© Petko ValtchevUniversité de Montréal Janvier Modélisation Entité : client attributs: nom nom NAS NAS adresse adresse employeur employeur revenu mensuel revenu mensuel « Un attribut représente un aspect, une qualités, une caractéristique ou un descripteur de lobjet. » Chaque objet est décrit par un ensemble dattributs qui font partie des données du système. Entités et Attributs Les attributs sont valués : nom = Personne, revenu = A chaque attribut correspond un ensemble de valeurs possibles (on parle de son domaine): domaine (revenu) = 0…

© Petko ValtchevUniversité de Montréal Janvier Modélisation Entité : client attributs: nom nom NAS NAS adresse adresse employeur employeur revenu mensuel revenu mensuel Valeurs dattribut: « À la différence des entités, elles nont pas une existence indépendante (pas didentité) dans le monde modélisé. » La détermination des entités et des attributs dun modèle dépend essentiellement de la perspective sur le monde réel et de la protée du modèle. Souvent, il est difficile de départager les deux options. Attributs et Identification PROBLÈME ? Entités Attributs Chaque entité sera identifiée de manière unique grâce à un ou plusieurs attributs : Ensemble - Client, Livre (le concept abstrait de), Entité - M. Personne (NAS ), Guerre et Paix (avec son ISBN # ).

© Petko ValtchevUniversité de Montréal Janvier Modélisation Les mêmes objets peuvent être reliés de plusieurs manières différentes. Une association peut être caractérisée par des attributs descriptifs. Une association A peut être identifiée à une relation mathématique sur n ensembles dentités E 1, E 2, … E n : A E 1 E 2 … E n ; Son extension est un ensemble de n-uplets: A= {(e 1, e 2,…, e n ) | e 1 E 1, e 2 E 2,…, e n E n } ; Association : « Indique que deux ou plusieurs ensembles dentités sont connectés dune manière quelconque. » Instance dassociation : « Un lien entre des entités issues des ensembles connectés par lassociation. Linstance représente un fait qui doit être mémorisé dans le système car impossible à extraire à partir des autres données. » Associations? Client Compte bancaire possède {(Personne,#22456),(Dupont,#22671)}

© Petko ValtchevUniversité de Montréal Janvier Modélisation Contraindre les Associations Étant donné un ensemble de relations binaires entre deux ensembles dentités A et B, on distingue les grands types dassociations suivantes: Un à un (1:1) Une entité de A est associé à exactement une entité de B et vice-versa. Un à plusieurs (1:N) Une entité de A est associée à une ou plusieurs entités de B, mais une entité de B est associée à exactement une entité de A. Plusieurs à plusieurs (N:M) Une entité de A est associée à une ou plusieurs entités de B et vice-versa. Multiplicité : « Annotation définissant le nombre doccurrences dune même entité dans les instances dune association. » Client Compte bancaire possède 0..n1..n Borne INF Borne SUP

© Petko ValtchevUniversité de Montréal Janvier Modélisation Contraintes Sémantiques Dépendances existentielle (« maître - esclave »): Si lexistence de lentité X dépend de lexistence de lentité Y, alors X est dit dépendant de Y. On parle également de Y comme de lentité « maître » de X comme de lentité « esclave ». enregistre Si une entité « compte bancaire » est détruite, toutes les entités « transaction » qui se rapportent au compte sous-jacent sont détruites immédiatement. Esclave Maître Règle: Lorsque le maître est crée, les esclaves le sont par la suite. Lorsque le maître est détruit, toutes les entités esclaves qui lui sont associées doivent aussi être détruites. Compte bancaire Transaction 0..n1

© Petko ValtchevUniversité de Montréal Janvier Modélisation Clés et Identification [Nom, NAS] constitue une clé admissible de lensemble dentités Client. [Nom] ne serait pas suffisant pour former une clé. [NAS] constitue une clef primaire de Client. Clé : « Un ensemble dun ou plusieurs attributs qui permettent didentifier une entité de façon unique parmi un ensemble dentités. Une clef composée dun minimum dattributs est appelée clé primaire. » L identification des entités est réalisée grâce à leurs attributs. Ex. Transaction a trois attributs: no. de transaction, date et montant, qui ne permettent pas toujours de distinguer deux transactions sur comptes différents. Ces attributs nétant pas suffisants pour composer une clé primaire, Transaction est un ensemble dentités faible. Ensemble dentités faible : « Un ensemble nayant pas assez dattributs pour constituer une clé primaire. » Ex.

© Petko ValtchevUniversité de Montréal Janvier Modélisation Définition dune clé primaire pour un ensemble dentités faible: 1. on prend la clef primaire dun ensemble dentités fort dont il dépend. 2. on y ajoute une partie discriminante, cest-à-dire un ensemble dattributs qui permettent didentifier les entités esclaves à lintérieur du sous-ensemble correspondant à une entité-maître unique. Ex. l Transaction est un ensemble dentités faible qui dépend de lensemble dentités Compte qui est un ensemble dentités fort. l La clef primaire de Compte est le [no. du compte]. l Lattribut no de transaction de Transaction servira de partie discriminante. l Donc une clef primaire pour lensemble dentités Transaction sera : [no de compte, no de transaction] Compte Transaction enregistre 0..n 1 Esclave Maître No compte, nom,… No trans.,date, etc Clés (suite)

© Petko ValtchevUniversité de Montréal Janvier Modélisation Une association est caractérisée, de manière implicite, par les attributs des ensembles dentités qui participent à lassociation. Lassociation peut aussi bien avoir ses propres attributs descriptifs. Une clé pour lassociation est constituée par ladjonction des clés des ensembles dentités. Au cas où linformation ainsi composée nest pas suffisante pour distinguer les instances de lassociation, une partie des attributs descriptifs peut être rajoutée afin de constituer une clé valide. Client Compte bancaire -Nom -Adresse -NAS -Tel - No. Compte - Solde Possède NAS No compte Date dernier accès 1..n Clés des Associations

© Petko ValtchevUniversité de Montréal Janvier Modélisation On peut exprimer graphiquement le modèle entité-association à laide dun diagramme dont les composants sont: des rectangles, représentant les ensembles dentités, des losanges, représentant les associations, des ellipses, représentant les attributs (optionnel), des lignes, reliant les attributs aux ensembles dentités et les ensembles dentités aux associations. des annotations pour indiquer les cardinalités des associations et les bornes inférieures. Diagrammes E-A, Notations

© Petko ValtchevUniversité de Montréal Janvier Modélisation Diagrammes (exemple) Solde Client Transaction Compte bancaire possède Nom Adresse NAS Tél. No compte No transaction Montant Date 1..n 0..n 1 enregistre

© Petko ValtchevUniversité de Montréal Janvier Modélisation - Les losanges sont parfois omis. - On utilise parfois des symboles pour exprimer les cardinalités et les bornes inférieures. - Certains permettent dajouter au diagramme des détails et des contraintes supplémentaires: - attributs composites, - sous-classes/super-classes, - généralisation/spécialisation, - spécification des rôles par des annotations sur les liens, - etc. Compte Transaction O Quelques variantes Diagrammes E-A

© Petko ValtchevUniversité de Montréal Janvier Modélisation maison femme possède Couple Agrégation: l Principe dabstraction qui permet aux associations dêtre manipulées comme si elles étaient des entités (de niveau supérieur). Agrégation 11 homme conjoint

© Petko ValtchevUniversité de Montréal Janvier Modélisation Les attributs des entités des niveaux supérieurs sont hérités par les entités des niveaux inférieurs. Généralisation: l Principe qui permet de mettre en évidence les similarités entre les ensembles dentités. l Permet de classifier hiérarchiquement les ensembles dentités en créant des relations de spécialisation entre eux. is_a Compte bancaire Compte dépargne Compte chèque Généralisation