1 / 24

IFT 2251 Génie Logiciel La Modélisation des Données

IFT 2251 Génie Logiciel La Modélisation des Données. Hiver 2002 Petko Valtchev. Sommaire. L’activité de modélisation Le début de la modélisation La méthode d’analyse structurée Le modèle entité-association. Le Modèle d’Analyse. définit les objets décrit leurs attributs

Download Presentation

IFT 2251 Génie Logiciel La Modélisation des Données

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. IFT 2251Génie LogicielLa Modélisationdes Données Hiver 2002 Petko Valtchev

  2. Sommaire • L’activité de modélisation • Le début de la modélisation • La méthode d’analyse structurée • Le modèle entité-association

  3. Le Modèle d’Analyse définit les objets décrit leurs attributs établit les associations Modèle Données 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 Modèle Fonctionnel Modèle Comportemental 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 d’abstraction!

  4. Le Début… La modélisation peut débuter à partir d’une première description informelle du logiciel. Statement 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. » • D’habitude, inclus dans les documents issus de l’ingénierie du système (appelé « cahier des charges » parfois) • Si non disponible, on peut l’acquérir, par exemple : • en appliquant la technique FAST, • en examinant les cas d’utilisation du système logiciel.

  5. Identifier les Éléments • 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 • producteurs/consommateurs de données • éléments de stockage pour les données • données “composites” OPÉRATIONS: tous les verbes dans le document • processus pertinents pour l’application • transformations de données Y rajouter tous les autres “services” dont les objets pourront avoir besoin.

  6. Les Approches 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 d’analyse évoqués précédemment. Elles divergent quant aux heuristiques, les vues et des notations employées pour l’identification, la description et la validation des modèles sous-jacents.

  7. Sommaire • L’activité de modélisation • Le début de la modélisation • La méthode d’analyse structurée • Le modèle entité-association

  8. Diagramme de flot de données Modèle entité-association Spécification des processus (PSPEC) Description des données Dictionnaire des données Diagramme état-transition Spécification du contrôle (CSPEC) Éléments du Modèle d’AS

  9. Sommaire • L’activité de modélisation • Le début de la modélisation • La méthode d’analyse structurée • Le modèle entité-association

  10. Modèle Entité-Association Le modèle Entité-Association, ou E-A (1976) représente le monde réel comme un ensemble d’objets (entités) et de relations (associations) entre ces objets. Ex. 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.

  11. Objets de Données? 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. » Ensemble d’entités : « Collection d’entités de structure identique. » Quels ensembles? Quelles entités? Entités externes(guichet automatique, client, compte) Occurrences ou évènements (interruptions, alarme) Structures(enregistrement employé) Choses(rapports, chèques,cartes débit) 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.

  12. Entité : client attributs: nom NAS adresse employeur revenu mensuel Entités et Attributs Chaque objet est décrit par un ensemble d’attributs qui font partie des données du système. « Un attribut représente un aspect, une qualités, une caractéristique ou un descripteur de l’objet. » Les attributs sont valués : • nom = ‘Personne’, • revenu = 2 500. A chaque attribut correspond un ensemble de valeurs possibles (on parle de son domaine): • domaine (revenu) = 0…1 000 000.

  13. Entités Attributs Entité : client attributs: nom NAS adresse employeur revenu mensuel Attributs et Identification PROBLÈME La détermination des entités et des attributs d’un 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. ? Valeurs d’attribut: « À la différence des entités, elles n’ont pas une existence indépendante (pas d’identité) dans le monde modélisé. » 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 999 999 999), Guerre et Paix (avec son ISBN # ).

  14. Associations? Association : « Indique que deux ou plusieurs ensemblesd’entités sont connectés d’une manière quelconque. » Instance d’association : « Un lien entre des entités issues des ensembles connectés par l’association. L’instance représente un fait qui doit être mémorisé dans le système car impossible à extraire à partir des autres données. » • 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 d’entités E1, E2, … En : • A E1 E2  … En ; • Son extension est un ensemble de n-uplets: • A= {(e1, e2,…, en) | e1E1, e2E2,…, enEn}; possède Client Compte bancaire {(Personne,#22456),(Dupont,#22671)}

  15. Contraindre les Associations Multiplicité : «  Annotation définissant le nombre d’occurrences d’une même entité dans les instances d’une association. » • Étant donné un ensemble de relations binaires entre deux ensembles d’entités A et B, on distingue les grands types d’associations 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. Borne INF 1..n 0..n Client Compte bancaire possède Borne SUP

  16. Contraintes Sémantiques 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. Dépendances existentielle (« maître - esclave »): Si l’existence de l’entité X dépend de l’existence de l’entité Y, alors X est dit dépendant de Y. On parle également de Y comme de l’entité « maître » de X comme de l’entité « esclave ». Esclave Maître enregistre Compte bancaire Transaction 1 0..n 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.

  17. Clés et Identification L’ identification des entités est réalisée grâce à leurs attributs. Clé : «  Un ensemble d’un ou plusieurs attributs qui permettent d’identifier une entité de façon unique parmi un ensemble d’entités. Une clef composée d’un minimum d’attributs est appelée clé primaire. » [Nom, NAS]constitueune clé admissible de l’ensemble d’entités Client. [Nom] ne serait pas suffisant pour former une clé. [NAS] constitue une clef primaire de Client. Ex. Ensemble d’entités faible : «  Un ensemble n’ayant pas assez d’attributs pour constituer une clé primaire. » 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 d’entités faible.

  18. Clés (suite) Définition d’une clé primaire pour un ensemble d’entités faible: • on prend la clef primaire d’un ensemble d’entités fort dont il dépend. • on y ajoute une partie discriminante, c’est-à-dire un ensemble d’attributs qui permettent d’identifier les entités esclaves à l’intérieur du sous-ensemble correspondant à une entité-maître unique. Ex. • Transaction est un ensemble d’entités faible qui dépend de l’ensemble d’entités Compte qui est un ensemble d’entités fort. • La clef primaire de Compte est le [no. du compte]. • L’attribut no de transaction de Transaction servira de partie discriminante. • Donc une clef primaire pour l’ensemble d’entités Transaction sera : [no de compte, no de transaction] enregistre Esclave Maître Transaction Compte 1 0..n No trans.,date, etc No compte, nom,…

  19. Clés des Associations • Une association est caractérisée, de manière implicite, par les attributs des ensembles d’entités qui participent à l’association. • L’association peut aussi bien avoir ses propres attributs descriptifs. • Une clé pour l’association est constituée par l’adjonction des clés des ensembles d’entités. • Au cas où l’information ainsi composée n’est pas suffisante pour distinguer les instances de l’association, une partie des attributs descriptifs peut être rajoutée afin de constituer une clé valide. Compte bancaire Client • Nom • Adresse • NAS • Tel - No. Compte - Solde 1..n 1..n Possède NAS No compte Date dernier accès

  20. Diagrammes E-A, Notations On peut exprimer graphiquement le modèle entité-association à l’aide d’un diagramme dont les composants sont: • des rectangles, représentant les ensembles d’entités, • des losanges, représentant les associations, • des ellipses, représentant les attributs (optionnel), • des lignes, reliant les attributs aux ensembles d’entités et les ensembles d’entités aux associations. • des annotations pour indiquer les cardinalités des associations et les bornes inférieures.

  21. Diagrammes (exemple) Nom NAS No compte Adresse Compte bancaire possède Client 1..n 1..n Solde Tél. 0..n No transaction enregistre Transaction Date 1 Montant

  22. O Transaction Compte Diagrammes E-A Quelques variantes • Les losanges sont parfois omis. • On utilise parfois des symboles pour exprimer les cardinalités et les bornes inférieures. • Certains permettent d’ajouter 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.

  23. Agrégation Agrégation: • Principe d’abstraction qui permet aux associations d’être manipulées comme si elles étaient des entités (de niveau supérieur). Couple conjoint homme femme 1 1 possède maison

  24. Généralisation Généralisation: • Principe qui permet de mettre en évidence les similarités entre les ensembles d’entités. • Permet de classifier hiérarchiquement les ensembles d’entités en créant des relations de spécialisation entre eux. Compte bancaire Les attributs des entités des niveaux supérieurs sont hérités par les entités des niveaux inférieurs. is_a Compte d’épargne Compte chèque

More Related