ift 2251 génie logiciel la modélisation des données

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

Upload: hakeem-garrett

Post on 01-Jan-2016

32 views

Category:

Documents


0 download

DESCRIPTION

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 - PowerPoint PPT Presentation

TRANSCRIPT

© Petko Valtchev Université de Montréal Janvier 2002 1

IFT 2251Génie Logiciel

La Modélisationdes Données

IFT 2251Génie Logiciel

La Modélisationdes Données

Hiver 2002 Petko Valtchev

© Petko Valtchev Université de Montréal Janvier 2002 2

ModélisationModélisation SommaireSommaire

L’activité de modélisation Le début de la modélisation La méthode d’analyse structurée

Le modèle entité-association

© Petko Valtchev Université de Montréal Janvier 2002 3

ModélisationModélisation Le Modèle d’AnalyseLe Modèle d’Analyse

ModèleDonnées

ModèleComportemental

ModèleFonctionnel

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 pourdiminuer le niveau d’abstraction!

© Petko Valtchev Université de Montréal Janvier 2002 4

ModélisationModélisation

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.

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. »

La modélisation peut débuter à partir d’une

première description informelle du logiciel.

Le Début…Le Début…

© Petko Valtchev Université de Montréal Janvier 2002 5

ModélisationModélisation

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.

Identifier les ÉlémentsIdentifier les Éléments

© Petko Valtchev Université de Montréal Janvier 2002 6

ModélisationModé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 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.

Les ApprochesLes Approches

© Petko Valtchev Université de Montréal Janvier 2002 7

ModélisationModélisation SommaireSommaire

L’activité de modélisation Le début de la modélisation La méthode d’analyse structurée

Le modèle entité-association

© Petko Valtchev Université de Montréal Janvier 2002 8

ModélisationModélisation Éléments du Modèle d’ASÉléments du Modèle d’AS

Modèle entité-association

Diagramme de flot de données

Diagrammeétat-transition

Description des données

Spécificationdes processus

(PSPEC)

Spécificationdu contrôle (CSPEC)

Dictionnairedes données

© Petko Valtchev Université de Montréal Janvier 2002 9

ModélisationModélisation SommaireSommaire

L’activité de modélisation Le début de la modélisation La méthode d’analyse structurée

Le modèle entité-association

© Petko Valtchev Université de Montréal Janvier 2002 10

ModélisationModélisation Modèle Entité-AssociationModè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.

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 Valtchev Université de Montréal Janvier 2002 11

ModélisationModélisation

Entité : « Objet ayant une existenceréelle ou abstraite dans le domaine,

distinguable des autres objets et possédant des propriétéset 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?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 d’entités : « Collectiond’entités de structure identique. »

Quels ensembles?

Quelles entités?

© Petko Valtchev Université de Montréal Janvier 2002 12

ModélisationModélisation

Entité : clientEntité : client

attributs:attributs: nomnom NASNAS adresseadresse employeuremployeur revenu mensuelrevenu mensuel

« Un attribut représenteun aspect, une qualités, une caractéristique ou

un descripteur de l’objet. »

Chaque objet est décrit par un ensemble d’attributs qui font

partie des données du système.

Entités et AttributsEntités et Attributs

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.

© Petko Valtchev Université de Montréal Janvier 2002 13

ModélisationModélisation

Entité : clientEntité : client

attributs:attributs: nomnom NASNAS adresseadresse employeuremployeur revenu mensuelrevenu mensuel

Valeurs d’attribut: « À la différence des entités, elles n’ont pas uneexistence indépendante (pas d’identité) dans le monde modélisé. »

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.

Attributs et IdentificationAttributs 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 999 999 999), Guerre et Paix (avec son ISBN # ).

© Petko Valtchev Université de Montréal Janvier 2002 14

ModélisationModé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 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 };

Association : « Indique que deux ou plusieurs ensembles d’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èmecar impossible à extraire à partir des autres données. »

Associations?Associations?

ClientComptebancaire

possède

{(Personne,#22456),(Dupont,#22671)}

© Petko Valtchev Université de Montréal Janvier 2002 15

ModélisationModélisation Contraindre les Associations

Contraindre les Associations

• É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.

Multiplicité : «  Annotation définissant le nombred’occurrences d’une même entité dans les

instances d’une association. »

ClientComptebancaire

possède

0..n1..n

Borne INF

Borne SUP

© Petko Valtchev Université de Montréal Janvier 2002 16

ModélisationModélisation Contraintes SémantiquesContraintes Sémantiques

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 ».

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.

EsclaveMaî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 sontassociées doivent aussi être détruites.

Comptebancaire Transaction

0..n1

© Petko Valtchev Université de Montréal Janvier 2002 17

ModélisationModélisation Clés et IdentificationClés et Identification

[Nom, NAS] constitue une 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.

Clé : «  Un ensemble d’un ou plusieurs attributs qui permettentd’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. »

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 d’entités faible.

Ensemble d’entités faible : «  Un ensemble n’ayantpas assez d’attributs pour constituer une clé primaire. »

Ex.

© Petko Valtchev Université de Montréal Janvier 2002 18

ModélisationModélisationDéfinition d’une clé primaire pour un ensemble d’entités faible:

1. on prend la clef primaire d’un ensemble d’entités fort dont il dépend.

2. 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]

Compte Transactionenregistre

0..n 1

EsclaveMaître

No compte, nom,… No trans.,date, etc

Clés (suite)Clés (suite)

© Petko Valtchev Université de Montréal Janvier 2002 19

ModélisationModélisation

• 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.

Client Compte bancaire

-Nom-Adresse-NAS-Tel

- No. Compte- SoldePossède

NASNo compteDate dernier accès

1..n 1..n

Clés des AssociationsClés des Associations

© Petko Valtchev Université de Montréal Janvier 2002 20

ModélisationModélisation

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.

Diagrammes E-A, NotationsDiagrammes E-A, Notations

© Petko Valtchev Université de Montréal Janvier 2002 21

ModélisationModélisation Diagrammes (exemple)Diagrammes (exemple)

Solde

Client

Transaction

Comptebancairepossède

Nom

Adresse

NAS

Tél.

No compte

No transaction

Montant

Date

1..n 1..n

0..n

1enregistre

© Petko Valtchev Université de Montréal Janvier 2002 22

ModélisationModélisation

- 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.

Compte TransactionO

Quelques variantes

Diagrammes E-ADiagrammes E-A

© Petko Valtchev Université de Montréal Janvier 2002 23

ModélisationModélisation

maison

femme

possède

Couple

Agrégation: Principe d’abstraction qui permet aux associations d’être manipulées

comme si elles étaient des entités (de niveau supérieur).

AgrégationAgrégation

1 1homme conjoint

© Petko Valtchev Université de Montréal Janvier 2002 24

ModélisationModélisation

Les attributs des entitésdes niveaux supérieurssont hérités par les entitésdes niveaux inférieurs.

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.

is_a

Comptebancaire

Compted’épargne

Comptechèque

GénéralisationGénéralisation