© 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