Csi

  • May 2020
  • PDF

This document was uploaded by user and they confirmed that they have the permission to share it. If you are author or own the copyright of this book, please report to us by using this DMCA report form. Report DMCA


Overview

Download & View Csi as PDF for free.

More details

  • Words: 6,726
  • Pages: 110
Conception des systèmes d’information Gilles SIMON Maître de conférences, UHP Nancy 1 Loria, bureau B162 E-mail : [email protected] http://www.loria.fr/~gsimon

L3 informatique

Plan du cours 1.

Préambule : dépendances fonctionnelles et normalisation

2.

Introduction au Génie Logiciel et à la méthode de conception MERISE

3.

Modèle conceptuel des données

4.

Passage au modèle logique des données

5.

Modèle conceptuel des traitements

6.

Modèles organisationnel et logique des traitements

7.

Adaptation des modèles logiques des données et des traitements

L3 informatique

Conception des systèmes d’information

2

1 Préambule : dépendances fonctionnelles et normalisation

Le modèle relationnel : rappel 

Introduit en 1970 par Codd, solides bases théoriques : définir de façon formelle les langages de manipulation associés



Le modèle relationnel représente l'information dans une collection de relations : – une relation = une table à double entrée – chaque ligne de la table (appelée nuplet ou tuple) peut être vue comme un fait décrivant une entité du monde – une colonne de la table est appelée un attribut.



A chaque relation est associée une clé (attribut souligné) qui l’identifie de manière unique

L3 informatique

Conception des systèmes d’information

4

Exemple 

Schéma de la relation Etudiant : Etudiant(no,nom,prénom,âge)



Extension de la relation Etudiant : no

tuple

15

12 1 4 8 L3 informatique

nom Dupond

Blanc Noir Rouge Tata

prénom Loïc

Michèle Pascal François Alain

Conception des systèmes d’information

attribut

âge 19

20 23 22 22 5

Risques Relation Produit prod_id p1 p1 p3

libellé K7 K7 Vis

pu 23.5 23.5 10

qte 300 500 900

dep_id 1 2 4

adr Nancy Laxou Nancy

volume 9000 6000 2000



Redondance : libellé et pu apparaissent pour chaque instance d'un produit



Risque d'introduction d'incohérence lors de l'insertion d'une nouvelle instance de p1



Risque de perte d'information : suppression du produit p3 ⇒ on perd son libellé, son pu et les information relatives au dépôt 4

L3 informatique

Conception des systèmes d’information

6

Solutions Deux solutions sont envisageables : – Transformer les relations dangereuses en plusieurs relations pertinentes → établir les dépendances fonctionnelles, puis normaliser – Se poser la question avant d’écrire les schémas de relations → schéma entités/associations (E/A), puis transformation en relationnel

L3 informatique

Conception des systèmes d’information

7

Les dépendances fonctionnelles 



Un attribut ou une liste d'attributs Y dépend fonctionnellement d'un attribut ou d'une liste d'attributs X dans une relation R, si étant donnée une valeur de X, il ne lui est associé qu'une seule valeur de Y dans toute instance de R. On note une telle dépendance. R Exemples :

X → Y

prod_id → libellé prod_id → pu dep_id → adr, volume prod_id, dep_id → qte L3 informatique

Conception des systèmes d’information

8

Propriétés des dépendances fonctionnelles Soit U la liste des attributs de R, on a alors les propriétés : R (F1) Réflexivité : Y ⊆ X ∧ X ⊆ U ⇒ X  → Y

R R (F2) Augmentation : X  → Y ⇒ X ∪Z  → Y ∪Z R R R (F3) Transitivité : X → Y ∧Y  → Z⇒X → Z R R R (F4) Union : X → Y∧X  → Z⇒X → Y ∪Z R R R Y ∧ Y ∪W  → Z ⇒ X ∪W  → Z (F5) Pseudo-transitivité : X →

R R → Y ∧Z ⊆Y ⇒ X  → Z (F6) Décomposition : X 

L3 informatique

Conception des systèmes d’information

9

Typologie des dépendances fonctionnelles 

Une dépendance

R X → Y

est :

– triviale si Y ⊆ X R X '  → Y – élémentaire si pour tout X' ⊂ X, la dépendance fonctionnelle

n'est pas vraie (Y ne dépend pas fonctionnellement d'une partie de X) – canonique si sa partie droite ne comporte qu'un seul attribut – directe si (i) elle est élémentaire et si (ii) Y ne dépend pas transitivement de X 

Exemples : – prod_id, libelle → libelle ?? – prod_id, libelle → pu ?? – prod_id, dep_id → qte ??

L3 informatique

Conception des systèmes d’information

10

Clé d'une relation 

Un attribut ou une liste d'attributs X est une clé pour la relation R(X,Y) si Y dépend fonctionnellement de X dans R



R X est une clé minimale si X  → Y est élémentaire



Si une relation possède plusieurs clés, nous on choisissons une qui sera appelée clé primaire (soulignée dans les schémas de relation). Les autres clés seront appelées clés secondaires Ex : Voiture(immat#, chassis#, type, marque, puissance) admet immat# et chassis# comme clés

L3 informatique

Conception des systèmes d’information

11

Première forme normale 1NF Une relation est dite en première forme normale si chacun de ses attributs a un domaine atomique mono-valué 

Exemple : Personne(id, nom, les_diplômes) où les_diplômes est l'ensemble des

diplômes obtenus par une personne n'est pas en 1NF Personne(id, nom) est en 1NF Diplôme(id, unDiplome) est en 1NF

L3 informatique

Conception des systèmes d’information

12

Deuxième forme normale 2NF Une relation R est dite en deuxième forme normale si (i) elle est en 1NF et (ii) tout attribut n'appartenant pas à une clé ne dépend pas d'une partie de la clé de R



Exemple : Stock(prod_id, dep_id, libellé, qte) n'est pas en 2NF car

prod_id, dep_id → qte prod_id → libellé Stock(prod_id, dep_id, qte) est en 2NF Produit(prod_id, libellé) est en 2NF L3 informatique

Conception des systèmes d’information

13

Troisième forme normale 3NF Une relation est dite en troisième forme normale si (i) elle est en 2NF et (ii) tout attribut n'appartenant pas à une clé ne dépend pas d'un attribut non clé 

Exemple :

Relation Avion no_avion AH32 FM34 BA45

constructeur Boeing Airbus Boeing

type B747 A320 B747

capacité propriétaire C1 Air France C2 British Airways C1 Egypt Air

n'est pas en 3NF car type → capacité, constructeur et type n'est pas une clé Avion(no_avion, type, propriétaire) est en 3NF Modèle(type, constructeur, capacité) est en 3NF L3 informatique

Conception des systèmes d’information

14

Algorithme de normalisation par synthèse simplifié 0 Ecrire les dépendances fonctionnelles (df) 1 Rendre canoniques et élémentaires les df qui ne le sont pas 2 Représenter les nouvelles df sous forme d'un graphe dont les nœuds sont les attributs impliqués dans les df et les arcs les df elles-mêmes 3 Eliminer les df non directes 4 Partitionner les df en G1, ..., Gn de façon à ce que toutes les df d'une partition aient la même partie gauche 5 Constituer une relation Ri par Gi, la partie gauche de Gi étant clé de Ri : chaque Ri est alors en 3NF L3 informatique

Conception des systèmes d’information

15

Exemple type → capacité (f1) type → capacité, constructeur no_avion → type, propriétaire, capacité, constructeur

0

no_avion

2

f5

f6

f4

propriétaire

f3

type

capacité no_avion

4

f4 f3

G2 capacité L3 informatique

f1

f2

type → constructeur (f2)

1

no_avion → propriétaire (f4) no_avion → capacité (f5)

3

constructeur

f1

f2

no_avion → constructeur (f6) f4 propriétaire no_avion f3 type capacité

propriétaire G 1 type

no_avion → type (f3)

5

f1

f2

constructeur

Avion(no_avion, type, propriétaire) Modèle(type, constructeur, capacité)

constructeur Conception des systèmes d’information

16

D’autres formes normales ... Considérons les df suivantes : code → ville et ville, rue → code La relation code_postal(ville, rue, code) est-elle en 3NF ??? Oui !!! pourtant, il y a de la redondance : ville Vandoeuvre Vandoeuvre Nancy Nancy

rue Aiguillettes bld Gal Leclerc av Saint Jean rue R. Poincare rue

code 54506 54506 54000 54000

Il existe d'autres formes normales. Ex : Boyce and Codd (BCNF) : "une relation R est en BCNF ssi les seules df élémentaires qu'elle comporte sont celles où une clé détermine un attribut" → code_ville(code, ville) et code_rue(code, rue) sont en BCNF L3 informatique

Conception des systèmes d’information

17

2 Introduction au génie logiciel et à la méthode de conception MERISE

Une définition du génie logiciel 

L’IEEE (Institute of Electrical and Electronical Engineers) définit le génie logiciel de la façon suivante :

“ L’application au développement, à la mise en oeuvre et à la maintenance du logiciel d’une approche systématique, disciplinée et mesurable ; en fait, l’application des méthodes de l’ingénieur au logiciel” 

[Booch 96] : un bon processus doit aussi permettre, voire encourager, la créativité individuelle

L3 informatique

Conception des systèmes d’information

19

La difficulté du développement logiciel (1/2) 

Une enquête américaine a révélé que : – les sociétés américaines ont dépensé, en 1995, 81 milliards de dollars sur des projets logiciels abandonnés, ce qui représente 31% des projets – 52,7% des projets ont couté 189% de leur estimation initiale

L3 informatique

Conception des systèmes d’information

20

La difficulté du développement logiciel (2/2) 

Plus la taille des projets augmente, plus le risque d’échec est grand



La taille se mesure en points de fonction Points de fonction

Taux d’échec % L3 informatique

Conception des systèmes d’information

21

Quelques échecs célèbres 

Le système de trafic aérien américain (AAS) : abandonné en cours de réalisation



Le système de livraison de bagages du nouvel aéroport de Denver : arrivé un an après l’ouverture de l’aéroport



Le système de réservation SOCRATE de la SNCF : abandonné en cours de réalisation

L3 informatique

Conception des systèmes d’information

22

Caractéristiques attendues d’un système informatique Un système informatique doit être : 

Maintenable : les changements ne doivent pas être trop coûteux



Fiable : ne pas “tomber en panne”



Efficace : ne pas gaspiller les ressources (mémoire, cycles de machines etc.)



Doit offrir une interface utilisateur adaptée aux capacités et au bagage des utilisateurs

L3 informatique

Conception des systèmes d’information

23

Processus de développement (1/2) 

Processus le plus utilisé : le modèle en cascade

Analyse et définition des besoins

L3 informatique

Conception du système et du logiciel

Implémentation et tests unitaires

Intégration et tests du système

Conception des systèmes d’information

Mise en oeuvre et maintenance 24

Processus de développement (2/2) 

Limites du modèle en cascade : – Confusion entre cycle de développement et cycle de vie – Confusion entre les phases du cycle et les activités d’ingénierie – L’avancement est mesuré par la remise de documents (livrables contractuels), – L’intégration logicielle est tardive – Le processus ne prend pas en compte les processus métier (périmètre de l’entreprise, intervenants extérieurs, processus de l’entreprise, travailleurs , structures organisationnelles etc.)

L3 informatique

Conception des systèmes d’information

25

Processus “moderne” 

Un processus moderne est d’abord un processus d’ingénierie de métier qui inclut le développement du système informatique



[Jacobson 94] : l’ingénierie métier est composée de la ré-ingénierie suivie d’une série d’améliorations Réingénierie Evolutions Réingénierie Evolutions

L3 informatique

Conception des systèmes d’information

26

Qu’est-ce qu’une méthode de conception ? Une méthode de conception est à la fois une démarche et un formalisme : 

Démarche: succession d’étapes pour – Mieux maîtriser le déroulement d’un projet pour respecter les délais et budgets – Meilleure visibilité pour les utilisateurs sur certains résultats intermédiaires et garantir que le résultat final sera celui attendu



Formalisme – À partir d’un langage formel, semi-formel (généralement graphique) ou naturel – Pour représenter le monde réel tel qu’il est perçu par le concepteur – Est un outil de communication entre informaticiens et utilisateurs – Est constitué par un ensemble de modèles permettant d’assurer une bonne compréhension des besoins des utilisateurs

L3 informatique

Conception des systèmes d’information

27

Typologie des méthodes de conception

L3 informatique

Structure

Systémique

Objet

Origine

Anglo-saxone

Européenne essentiellement

Les langages OO

Niveau

Projet

Organisation : ensemble de systèmes en interaction

Application

Modélisation

Décomposition arborescente des fonctions

Modélisation des données et des traitements

Objet = structure + comportement

Caractéristiques

Flux de données

Séparation des données et des traitements

Implémentation dans un langage objet

Exemples

SADT

MERISE

HOOD

YOURDON

AXIAL

OOD

IDA

UML

Conception des systèmes d’information

28

MERISE 

MERISE ? – MEthode pour Rassembler les Idées Sans Effort – Méthode Eprouvée pour Retarder Indéfiniment la Sortie des Etudes – Méthode d’Etude et de Réalisation Informatique pour les Systèmes d’Entreprise



Principales caractéristiques : – Vue du S.I. à travers une approche systémique – Approche par niveaux – Différents modèles – Séparation données-traitements

L3 informatique

Conception des systèmes d’information

29

Approche Systémique 

Approche analytique – Réduit le système étudié à des éléments constitutifs simples pour les étudier isolément et analyser leur interaction avec le système – Approprié à l’étude des systèmes homogènes comportant des éléments semblables ayant entre eux des interactions faibles



Approche systémique – « L’approche systémique doit permettre de dégager, à partir des invariants, des propriétés et du comportement des systèmes complexes, quelques règles générales destinées à mieux comprendre ces systèmes et à agir sur eux » – Approche globalisante – Approche descendante qui met l’accent sur les interconnections entre les sous-systèmes – Qui va du général au particulier

L3 informatique

Conception des systèmes d’information

30

Approche par niveaux 

Exemples de problèmes rencontrés au cours de la conception – la description du fonctionnement de l’activité de l’entreprise – la définition des règles de gestion – la définition des informations – la répartition des traitements entre l’homme et le machine – l’organisation physique des fichiers – le découpage en transactions – le choix du matériel – la répartition des responsabilités au sein de la structure



Choix de natures différentes (gestion, organisation, technique, matériel, …)



Principe : – séparer les types de préoccupations – procéder de manière progressive, du plus stable vers le plus technique

L3 informatique

Conception des systèmes d’information

31

Niveaux d’abstraction 1.

Niveau conceptuel Ce qu’il faut faire (quoi ?)

2.

Niveau organisationnel La manière de faire (qui ? quand ? combien ? où ?)

3.

Niveau logique Choix des moyens et ressources (avec quoi ? quels outils ?)

4.

Niveau physique Les moyens de le faire (comment ?)

L3 informatique

Conception des systèmes d’information

32

Niveaux d’abstraction Univers du discours Invariant

Conceptuel

Organisationnel Sur papier

Logique

Opérationnel Variable

L3 informatique

Sur machines

Conception des systèmes d’information

33

Exemples 

Conceptuel Le client effectue une demande de service à la compagnie pour assurer son véhicule. Cette dernière lui propose un devis



Organisationnel: Un client effectue une demande de service à l’agence de son choix, par courrier, pour assurer un véhicule. Un agent de service concerné, si le client est fiable (consultation d’un fichier central inter assurances), prend contact par téléphone pour une visite à domicile (après 17 heures) afin d’examiner plus précisément ses besoins et établir un devis



Technique Le fichier central inter assurances est accessible par internet. Les agences sont connectées au siège de la compagnie par liaison ADSL. Chaque agence dispose de micro-ordinateurs Pentium 32 Mo et peut traiter ses données en local grâce au SGBD Access

L3 informatique

Conception des systèmes d’information

34

Niveau conceptuel 

Exprime les choix fondamentaux de gestion, les objectifs de l’organisation



Décrit les invariants de l’organisation



Définit des activités, des choix de gestion, des informations



Indépendamment des aspects organisationnels et techniques de mise en oeuvre



Points de vue – des traitements : objectifs, résultats, règles de gestion, enchaînements – des données : signification, structure, liens

C’EST LA DESCRIPTION LA PLUS STABLE DU SYSTEME L3 informatique

Conception des systèmes d’information

35

Niveau conceptuel Exemples – Faire de la pré-facturation ou de la post-facturation – Admettre qu’une commande client pourra être livrée en plusieurs fois, chaque livraison donnant lieu à une facture. – Invariants du point de vue des données: Contrats, Clients, ... – Invariants du point de vue des traitements: signer un contrat, émettre une facture, ...

L3 informatique

Conception des systèmes d’information

36

Niveau organisationnel 

Exprime les choix organisationnels de ressources humaines et matérielles



Définit – la répartition géographique et fonctionnelle des sites de travail (du point de vue des données et des traitements) – le mode de fonctionnement: temps réel ou temps différé – la répartition du travail homme/machine (degré et type d’automatisation) – les postes de travail et leur affectation, – la volumétrie des données – la sécurité des données



Indépendamment des moyens de traitement et de stockage de données actuels ou futurs



Les opérations conceptuelles sont décomposées au niveau organisationnel en une ou plusieurs opérations.

C’EST LA DESCRIPTION DES POSTES DE TRAVAIL DE L’ENTREPRISE ET DES INFORMATIONS QU’ELLE TRAITE L3 informatique

Conception des systèmes d’information

37

Niveau organisationnel 

Exemples – La facturation sera décentralisée dans les agences. – Réaliser telle partie d’une application en conversationnel, laisser toute autre partie manuelle. – Créer tel type de poste de travail.



Exemples d’ éléments organisationnels: – un document (rapport d’activité, tableau de bord,...) – la sécurité (site de « backup » pour le stockage des données)

L3 informatique

Conception des systèmes d’information

38

Niveau logique 

Exprime la forme que doit prendre l’outil informatique pour être adapté à l’utilisateur, à son poste de travail



Indépendamment de l’informatique spécifique, des langages de programmation ou de gestion des données



Introduit la notion d’outils en tant que fonction réutilisable



Décrit – le schéma de la base de données (relationnel, hiérarchique ou réseau) ie les caractéristiques du mode de gestion des données – la répartition des données sur les différentes unités de stockage – les volumes par unité de stockage – l’optimisation des coûts induits par le mode de gestion

L3 informatique

Conception des systèmes d’information

39

Niveau physique 

Traduit les choix techniques et la prise en compte de leurs spécificités



Répond aux besoins des utilisateurs sur les aspects logiciels et matériels



Définit complètement – les fichiers, les programmes – l’implantation physique des données et des traitements – les ressources à utiliser – les modalités de fonctionnement

C’EST LA DESCRIPTION DES MOYENS MIS EN OEUVRE POUR GERER LES DONNEES ET EFFECTUER LES TRAITEMENTS L3 informatique

Conception des systèmes d’information

40

Modélisation des activités du SI 

Un modèle doit posséder au moins trois qualité – Fidélité (doit être effectué sans déformation de la réalité) – Cohérence (ne doit comporter aucune contradiction explicite ou implicite) – Complétude (doit décrire tous les phénomènes pertinents par rapport aux objectifs du modélisateur ≠ exhaustif)



Dans MERISE, représentation des activités du S.I. – à chacun des niveaux de description – pour les données et les traitements – formelle, simplifiée, pour communiquer



Modèle = schéma + descriptif – Schéma normalisé (synthèse, communication) – Description textuelle (définitions, commentaires, contraintes, …)

L3 informatique

Conception des systèmes d’information

41

Modèles du niveau conceptuel 

Le Modèle Conceptuel des Données M. C. D. Description des données et des relations entre ces données en termes de   



ENTITE ou INDIVIDU RELATION ou ASSOCIATION PROPRIETES ou ATTRIBUT

Le Modèle Conceptuel des Traitements M. C. T. Description de la partie dynamique du S.I. en termes de  

L3 informatique

PROCESSUS OPERATION comprenant les concepts d’EVENEMENT / RESULTAT et de SYNCHRONISATION Conception des systèmes d’information

42

Modèles du niveau Organisationnel / Logique 

Le Modèle logique de données M. L. D. – Le modèle CODASYL si une orientation base de données réseau est choisie – Le modèle RELATIONNEL si une orientation base de données relationnelle est choisie – Le modèle HIERARCHIQUE



Le Modèle Organisationnel des Traitements M. O. T. – permet de représenter par procédure les phases et les tâches effectuées par chaque poste de travail

L3 informatique

Conception des systèmes d’information

43

Modèles du niveau Physique ou Opérationnel 

Le Modèle Physique des Données M. P. D. – spécifie les organisations physiques de données



Le Modèle Physique des Traitements M. P. T. – décrit les traitements réalisés pour chaque transaction (temps réel) ou chaque unité de traitement (temps différé)

L3 informatique

Conception des systèmes d’information

44

Résumé Niveau conceptuel

Niveau organisationnel / logique Niveau physique / opérationnel

L3 informatique

Données

Traitements

M. C. D.

M. C. T.

entités, associations, propriétés, contraintes, …

opérations, événements, synchronisations, règles de gestion, …

M. L. D.

M. O. T.

tables, attributs, domaines, …

procédures, tâches, postes de travail, fréquence, …

M. P. D.

M. P. T.

tables, tuples, attributs, SQL, …

transactions, procédures stockées, programmes,interface, …

Conception des systèmes d’information

45

3

Modèle conceptuel des données

Le schéma Entité-Association Schéma E/A proposé par Chen en 1976 : 

(Type d') entité : représentation d’un ensemble d'objets abstraits ou concrets, caractérisée par une liste d’attributs. Un ou plusieurs attributs jouent le rôle de clé



(Type d') association : permet de décrire les liens "sémantiques" entre des entités, peut être caractérisé par des attributs



(Type d') attribut : décrit une propriété attachée soit à une entité, soit à une association. Prend ses valeurs dans un domaine simple (chaîne, entier, réel, ...)

L3 informatique

Conception des systèmes d’information

47

Représentation graphique 

Type d’entité :

Nom de l’entité

...

Noms des attributs



Type d’association :

Nom entité1

Nom entité2 Nom association

...

Nom entité3

Noms des attributs L3 informatique

Conception des systèmes d’information

48

Exemple

adresse

L3 informatique

âge

Etudiant

Inscrit

Cours

nom prénom

no groupe

intitulé

Conception des systèmes d’information

49

Typologie des associations Cardinalité : couple (x,y) x et y exprimant respectivement le nombre minimum et maximum de fois qu'une occurrence du type d'entité peut participer au type d'association

A

x-1

R

y-1

B

1-1 (one-to-one) A

x-1

R

y-n

B

1-n (one-to-many) A

y-n

R

x-n

B

n-m (many-to-many) L3 informatique

Conception des systèmes d’information

50

Typologie des associations

A

B

A

B

A

B

A

B

One-to-one

L3 informatique

A

B

A

B

A

B

A

B

One-to-many

Conception des systèmes d’information

A

B

A

B

A

B

A

B

Many-to-many 51

Exemples no_sécu

date_édition

nom

Personne

0-1

Reçoit

prénom id

immat

nom

0-n

prénom

nom L3 informatique

Possession date_achat

0-1

marque

Voiture

couleur

âge

Etudiant

no_étu

FeuilleImpôts

montant

Personne

adresse

1-1

no_feuille

prénom

0-n

Inscrit

0-n

no_groupe Conception des systèmes d’information

Cours intitulé

52

Associations réflexives Possibilité de spécifier le rôle id

pnom pprénom

Personne 0-1

0-1

femme

mari Conjoint

L3 informatique

Conception des systèmes d’information

53

Entités faibles 

Entité faible : entité sans identifiant propre



N’existe qu’en référence à une autre entité dite identifiante



L’association qui les unit est dite association identifiante



L’entité faible a une cardinalité 1-1 sur son association identifiante



Exemple : numEx

numOu titre éditeur

Ouvrage L3 informatique

1-n

matérialise

Conception des systèmes d’information

1-1

dateAchat

Exemplaire 54

Spécialisations Définition d'une relation de sous-classe entre une entité super-classe et une ou plusieurs entités sous-classes Exemple :

#id nom prénom adresse

Employé

d

Secrétaire vitesse_frappe L3 informatique

Ingénieur

Technicien

spécialité

Conception des systèmes d’information

grade 55

Typologie des spécialisations S

S

d

d

C1

Cn

Disjointe partielle

C1

Disjointes : ou Cn

Totales :

S ou

C1 Cn A recouvrement partiel L3 informatique

C1

A recouvrement :

∀i∀j , i ≠ j , Ci ∩ C j ≠ {

Disjointe totale

S

∀i∀j , i ≠ j , Ci ∩ C j = {

Cn

A recouvrement total Conception des systèmes d’information

S =

i =1, n

Ci

Partielles : i =1, n

Ci ⊂ S 56

} }

Schéma E/A : Quelques règles à respecter 

Un type d'attribut est caractérisé par un nom et un domaine,



Les domaines de valeurs des attributs sont atomiques



Les noms des types d'attributs, d'entités et d'associations sont distincts



Tout type d'entité a au moins un identifiant (une clé), qui est un type d'attribut ou une liste de types d'attributs

L3 informatique

Conception des systèmes d’information

57

4

Passage au modèle logique des données

Cas des entités 

Transformer toute entité E en une relation RE



Les attributs de RE sont les attributs de E



La clé primaire de RE est un des identifiants de E



Exemple : id

nom

Personne

Personne(id, nom, prénom)

prénom L3 informatique

Conception des systèmes d’information

59

Cas des associations A A

A

x-1

x-1

x-n

L3 informatique

R R

R

y-1

y-n

y-n

B B

B

1. RAB(Attr (A), Attr(B), Attr(R)) clé(RAB)=clé(A) ou clé(B)

1. RA(Attr(A), Attr(R), clé(RB)) 2. RB(Attr(B)) clé(RA)=clé(A) (U clé(B) si A entité faible) clé(RB)=clé(B)

1. RA(Attr(A)) 2. RB(Attr(B)) 3. RR(clé(RA), clé(RB), Attr(R)) clé(RA)=clé(A) clé(RB)=clé(B) clé(RR)=clé(A) U clé(B)

Conception des systèmes d’information

60

Exemple 1 no_sécu

Personne prénom

date_édition

nom

0-1

Reçoit

1-1

no_feuille

FeuilleImpôts

montant

PersonneImpôts(no_sécu, nom, prénom, no_feuille, date_édition, montant) ou PersonneImpôts(no_sécu, nom, prénom, no_feuille, date_édition, montant)

L3 informatique

Conception des systèmes d’information

61

Exemple 2

id

immat

nom

Personne prénom

0-n

Possession date_achat

0-1

marque

Voiture

couleur

Voiture(immat, marque, couleur, id, date_achat) Personne(id, nom, prénom)

L3 informatique

Conception des systèmes d’information

62

Exemple 3 adresse

âge

Etudiant

no_étu

nom

prénom

0-n

Inscrit

0-n

no_groupe

Cours intitulé

Etudiant(no_étu, nom, prénom, age, adresse) Cours(intitulé) Inscrit(no_étu, intitulé, no_groupe) L3 informatique

Conception des systèmes d’information

63

Exemple 4

id

pnom pprénom

Personne 0-1

0-1

Personne(id, pnom, pprenom, id_conjoint)

où id_conjoint est un synonyme de id Conjoint

L3 informatique

Conception des systèmes d’information

64

Cas des spécialisations 

créer une relation pour chaque entité



les attributs de chaque relation sont les attributs de l'entité correspondante + la clé de la super-classe id

nom prénom adresse

Employé

Employe(id, nom, prenom, adresse) Secrétaire(id, vitesse_frappe) Ingénieur(id, spécialité) Technicien(id, grade)

d Secrétaire vitesse_frappe L3 informatique

Ingénieur spécialité

Technicien grade Conception des systèmes d’information

65

5

Modèle conceptuel des traitements

Le modèle conceptuel des traitements 

Un M.C.T. est une abstraction des activités du système d'information et de leurs contraintes



Inspiré des réseaux de pétri



Processus de conception : – Identification des acteurs et des flux d'informations – Ordonnancement des flux – Elaboration du M.C.T.

L3 informatique

Conception des systèmes d’information

67

Le diagramme de flux 

Sert de base pour fixer la portée et les limites du futur système ou pour le décomposer en sous-systèmes



Se présente sous la forme d'un graphe dont les nœuds sont des acteurs identifiés du SI et les arcs montrent les types d'information circulant entre les acteurs

L3 informatique

Conception des systèmes d’information

68

Exemple de diagramme de flux Frontière de l'étude

Cotisations Adhésion

Paiement

ASSURÉ

Déclaration

Véhicule

Avis-rectification

ASSURANCE

Facture-garage Règlement

Demande expertise

Facture

GARAGE

EXPERT

Retour expertise Honoraires

L3 informatique

Conception des systèmes d’information

69

Le graphe de précédence 

Montre les dépendances temporelles entre les types d'informations



Exemple :

Déclaration Demande expertise

Avis-rectification

Retour expertise Facture-garage Règlement L3 informatique

Conception des systèmes d’information

70

Elaboration du modèle conceptuel des traitements 

En se basant sur le graphe ordonné des flux, on introduit les traitements concernant un ou plusieurs flux



On décrit le rôle des traitements et les informations nécessaires en entrée et produites en résultat

L3 informatique

Conception des systèmes d’information

71

Représentation graphique du modèle des traitements Type d'événement

Type d'événement

Condition de synchronisation Nom de la synchronisation Nom du type d'opération Condition de production

Type d'événement L3 informatique

...

Condition de production

Type d'événement

Conception des systèmes d’information

72

Exemple de M.C.T. Evt0

Arrivée déclaration

Evt3

Evt2

Condition locale C1 de S2 a.no_dossier = b.no_dossier et b.no_dossier = c.no_dossier

Arrivée facture réparations

Retour d'expertise

a

b

c

a et b et c et C1 S1

S2

Ouvrir_dossier [durée = 4mn]

Evt4 Demande d'expertise

L3 informatique

OK

Régler_sinistre

Erreur

Evt1 Dossier ouvert

Toujours

[durée = 5mn]

Evt5 Avis de rectification

Envoi chèque

Avis de règlement

Dossier clos

Evt6

Evt7

Evt8

Conception des systèmes d’information

73

Type d'événement 

Description lexicale : – nom et message – identifiant des occurences – fréquence d'apparition au cours d'une période donnée – capacité (nb max d'occurences que le SI peut prendre en compte au cours d'une période) – liste des synchronisations auxquelles il participe et des opérations qu'il peut déclencher

L3 informatique

Conception des systèmes d’information

74

Exemple de type d'événement 

Evénement Arrivée déclaration (Evt0 ) – message : informations figurant sur la déclaration – identifiant : le couple (no de l'assuré, date d'arrivée de la déclaration) – fréquence : 50 par jour – capacité : 55 par jour – participe à la synchronisation S1 du type d'opération Ouvrir_dossier



La description du message peut être formalisée :

L3 informatique

Conception des systèmes d’information

75

Type d'opération 

Description lexicale : – nom et rôle – durée – type(s) d'événements qui conditionnent son déclenchement (entrées) – type(s) d'événements produits (sorties) – si la production des événements est conditionnelle, expliciter la condition de production de chaque événement – action réalisée

L3 informatique

Conception des systèmes d’information

76

Exemple de type d'opération 

Opération Ouvrir_dossier – Rôle : Vérifie une déclaration et initialise l'expertise – Durée : 10 minutes – Evénements en entrée : Evt0 – Evénements en sortie : (Evt4 et Evt1) ou Evt5 – Action : si déclaration_OK alors Ouvrir un dossier de sinistre (Evt1) Faire une demande d'expertise de ce dossier (Evt4) sinon Renvoyer la déclaration à l'assuré (Evt5) fsi

L3 informatique

Conception des systèmes d’information

77

Type de synchronisation 

Description lexicale : – nom – liste des types d'événements qui participent à la synchronisation – éventuellement, condition de synchronisation portant sur les types d'événements – condition locale : précise, en présence de plusieurs occurrences d'un type d'événements, laquelle choisir – délai de synchronisation : temps max séparant le moment où la synchronisation est activable et celui où elle est activée – durée limite : temps max d'attente entre l'arrivée du premier événement et celle du dernier

L3 informatique

Conception des systèmes d’information

78

Exemple de type de synchronisation 

Synchronisation S2 – Condition : Evt1 (a) ^ Evt2 (b) ^ Evt3 (c) ^ C1 – Condition locale C1 : a.no_dossier = b.no_dossier ^ b.no_dossier = c.no_dossier et "premier arrivé premier servi" – Délai de synchronisation : Trois jours – Durée limite : douze mois

L3 informatique

Conception des systèmes d’information

79

Nombre d'occurences E1

E2 b (2)

a

1 événement de type E1 2 événements de type E2

a et b S1 OP2

OP1 C1

L3 informatique

OP3

C2

(3)

(2)

R1

R2

3 résultats de type R1 2 résultats de type R2

Conception des systèmes d’information

80

Structures de base d'un M.C.T. E1

E1

E2

E3

OP1

E1

E1

E2

OP1

OP1

OP2

E3

E4

ou

E2

E3

OP3

Alternative L3 informatique

E3

OP2

OP3

OP1

E4 OP2

E2

Itération

Parallèle divergente

Conception des systèmes d’information

OP3

Parallèle convergente 81

Démarche pratique pour la modélisation conceptuelle 

Elaborer et ordonner un diagramme de flux



Faire une première ébauche de M.C.D.



Faire une première ébauche de M.C.T.



Pour chaque opération du M.C.T., analyser ses effets sur le M.C.D.



Modifier ou compléter le M.C.D.



Modifier ou compléter le M.C.T.



Itérer sur les trois étapes précédentes

L3 informatique

Conception des systèmes d’information

82

6

Modèles organisationnel et logique des traitements

Le modèle organisationnel des traitements 

Aboutit à une architecture de déploiement du système, obtenue par raffinement des opérations conceptuelles



Les étapes de la construction du M.O.T. : – décomposer les opérations du M.C.T. en sous-opérations appelées procédures ou fonctions – affecter et localiser chaque procédure – détailler l'analyse de chaque procédure (M.L.T.) – définir l'enchaînement des procédures – estimer le coût de mise en place de la base – essayer de réduire ce coût

L3 informatique

Conception des systèmes d’information

84

Décomposition des opérations Exemple : l'opération Ouvrir_dossier peut être décomposée en les procédures suivantes : 

vérifier la déclaration (assuré connu, circonstances bien décrites ...)



l'ignorer ou lui affecter un numéro de dossier



enregistrer les informations nécessaires dans la base



désigner un expert pour le nouveau dossier



transmettre le dossier à l'expert

L3 informatique

Conception des systèmes d’information

85

Identification des procédures Pour chaque procédure sont fournis : – un nom – un mode de réalisation (manuelle, automatisée totalement ou partiellement, interactive, différée ...) – une localisation (où?) – une affectation (qui?) – une fréquence d'activation

L3 informatique

Conception des systèmes d’information

86

Exemple Nom

No

Mode

Localisation/ affectation

Vérifier_déclaration

P1

manuel

Hôtesse

Attribuer_no_dossier

P2

conversationnel

Hôtesse

Enregistrer_dossier

P3

conversationnel

Hôtesse

Désigner_expert

P4

conversationnel

Chef de service

Transmettre_dossier

P5

manuel

Secrétariat du chef de service

L3 informatique

Conception des systèmes d’information

87

Analyse détaillée des procédures Décrire : 

les événements ou données nécessaires au déclenchement de la procédure et les résultats qu'elle produit



les traitements effectués et les actions réalisées sur la base : algorithme + algèbre relationnel à partir du M.L.D.



les supports des données et des résultats (formulaire papier, écrans de dialogue etc.)

L3 informatique

Conception des systèmes d’information

88

Exemple M.L.D. Assuré(no_ass, nom_ass, adr_ass, tel_ass, no_agence) Fonction vérifier_déclaration Données d : déclaration Début Si σno_ass = d.no_police(Assuré) = {} Alors assuré_inconnu Sinon déclaration_ok Fin L3 informatique

Conception des systèmes d’information

89

Enchaînement des procédures : exemple Date au plus tôt J

Date au plus tard

Enchaînement des procédures Déclaration vérifiéee

J

P2 Attribuer_no_dossier

J

J

P3 Enregistrer_dossier

J

J+2

J

J+3

P4 Désigner_Expert

Dossier ouvert

P5 Transmettre_dossier Dossier expédié

L3 informatique

Conception des systèmes d’information

90

7

Adaptation des modèles logiques des données et des traitements

Adaptation des modèles logiques 

Adapter les modèles logiques (M.L.D. et M.L.T.) dans le but de réduire le coût d'implantation de la base



Facteurs à prendre en compte : – volume des données – nombre d'accès à la base – coût des traitements (supposé négligeable par rapport au coût des lectures - écritures dans la base)

L3 informatique

Conception des systèmes d’information

92

Evaluation des volumes (1/2) 

Taille d'une relation représentant un type d'entité : – attribut : nombre de caractères nécessaires à sa représentation – n-uplet : somme des tailles de ses types d'attributs – relation : produit du nombre d'occurrences du type d'entité par la taille du n-uplet de la relation



Exemple : Attribut no_ass nom_ass adr_ass te_ass no_agence

L3 informatique

Type entier chaîne chaîne chaîne entier

Taille 10 30 40 10 10

Si 10000 assurés sont attendus sur une période de deux ans, l'estimation de la taille de la relation est de 10000× (10+30+40+10+10) ≈ 1Mo

Conception des systèmes d’information

93

Evaluation des volumes (2/2) 

Taille d'une relation représentant un type d'association : suppose connu le nombre moyen d'occurrences des types d'entité associés



Exemple : " Un produit est stocké en moyenne dans 3 dépôts " → taille de la relation stock = taille d'un n-uplet de stock × 3 × nombre de produits

L3 informatique

Conception des systèmes d’information

94

Optimisation des volumes

Seul type d'optimisation possible : compression des types d'attributs → perte de lisibilité et coût supplémentaire dû au processus de compression et de décompression

L3 informatique

Conception des systèmes d’information

95

Evaluation du coût des traitements 

Dépend du type des opérations de base (recherche, insertion, suppression, modification)



Processus d'évaluation et d'optimisation : 1. évaluer le coût de chaque type d'opération (M.L.D. et M.L.T. → fréquence de chaque opération, objets concernés et actions élémentaires à effectuer sur ces objets) 2. identifier les opérations les plus coûteuses 3. essayer d'en réduire le coût

L3 informatique

Conception des systèmes d’information

96

Coût de la recherche d'un n-uplet (1/2)



La recherche d'un n-uplet dans un ensemble de n n-uplets coûte : – 1 accès si un mécanisme d'accès direct existe – en moyenne n/2 accès sinon

L3 informatique

Conception des systèmes d’information

97

Coût de la recherche d'un n-uplet (2/2) 

Remarques : – coût d'un accès direct < coût d'un accès séquentiel → créer des index – coût d'une recherche dans un ensemble ordonné < coût d'une recherche dans un ensemble non ordonné → ordonner les instances – coût d'une lecture < coût de plusieurs lectures → fusionner des relations, introduire de la redondance ou grouper physiquement des occurrences (clustering)

L3 informatique

Conception des systèmes d’information

98

Coût de l'ajout d'un n-uplet 

Insertion : – écriture dans la base – mise à jour éventuelle des index existant sur la relation concernée



Coût : – 1 écriture si la relation n'est pas ordonnée – n/2 lectures en moyenne pour la recherche du point d'insertion si la relation est ordonnée

L3 informatique

Conception des systèmes d’information

99

Coût de la modification d'un nuplet 

Modification : – recherche dans la base – modification en mémoire centrale – réécriture dans la base



Coût : – coût d'une recherche – coût d'un ajout – (éventuellement) coût du maintien d'ordre – (éventuellement) coût de mise à jour d'index – (éventuellement) coût de mise à jour de données redondantes

L3 informatique

Conception des systèmes d’information

100

Coût de la suppression d'un n-uplet 

Suppression : – recherche du tuple à supprimer – mise-à-jour éventuelle d'index – autres suppressions, dans le cas de données redondantes



Coût : – coût d'une recherche – (éventuellement) coût de la maintenance des index – (éventuellement) coût de la suppression des données redondantes

L3 informatique

Conception des systèmes d’information

101

Optimisation des traitements 

Index et critères d'ordre



Redondance et dénormalisation de relations



Ajout de nouveaux types d'attributs



Fusion de relations



Fragmentation verticale de relations

L3 informatique

Conception des systèmes d’information

102

Rappel sur les index 



Index : structure de données qui associe à une valeur d'un attribut, appelé clé de l'index, la ou les adresses des tuples contenant cette valeur

Possible pour un attribut non clé de la relation

Exemple : 1 1

3 5

7 7 12 Espace index L3 informatique

1 3 7 1 12 7 5 1 Espace données

Conception des systèmes d’information

103

Choix des index et des critères d'ordre 

Opérations d'interrogation : attributs de sélection et de jointure



Opérations de mise à jour : attributs de sélection pas les attributs à modifier car cela entraînerait un coût supplémentaire pour la maintenance

L3 informatique

Conception des systèmes d’information

104

Redondance et dénormalisation de relations 

Exemple : Expert(no_exp, nom_exp, ...)

Expert chargé du dossier

Sinistre(no_dossier, ..., no_exp) Si le nom de l'expert est accédé à chaque référence à un sinistre → Sinistre(no_dossier, ..., no_exp, nom_exp) Viole la 3NF de Sinistre, mais permet de faire l'économie de l'opération de jointure pour obtenir le nom

→ accroissement de l'espace de stockage et de l'activité en mise à jour L3 informatique

Conception des systèmes d’information

105

Ajout de nouveaux types d'attributs 

Exemple : " L'expert désigné pour un dossier de sinistre est celui qui a le moins de dossiers en cours d'instruction " → nécessite le parcours de la relation sinistre avec comptage et recherche du no_exp ayant le plus petit nombre de dossiers puis accès à la relation Expert pour connaître ses coordonnées → Expert(no_exp, nom_exp, ..., nb_dossiers-en_cours)

→ Attention à la cohérence de la base : incrémenter nb_dossiers-en_cours à chaque fois que l'expert est désigné, et décrémenter quand le dossier est clos

L3 informatique

Conception des systèmes d’information

106

Fusion de relations clé1 ...

E1

1-1

clé2 ... 1-1

E2

RE1(clé1, ...) RE2(clé2, ...) → si jointures très fréquentes de RE1 et RE2, fusionner en une seule relation

L3 informatique

Conception des systèmes d’information

107

Fragmentation verticale de relations 

Quand une relation comporte un grand nombre d'attributs, dont seul un sous-ensemble est fréquemment utilisé, on peut la décomposer en deux relations



Exemple : R(cléR, utilisé1, utilisé2, peu_utilisé1, peu_utilisé2, peu_utilisé3) R1(cléR, utilisé1, utilisé2) R2(cléR, peu_utilisé1, peu_utilisé2, peu_utilisé3)

L3 informatique

Conception des systèmes d’information

108

Exemple : coût de l'opération Ouvrir_dossier Pour 10000 dossiers et 20 experts : P1 Vérifier _déclaration

Recherche de l'assuré → 10000/2 accès

P2 Attribuer_no_dossier

Accès au dernier numéro de dossier affecté → 1 accès

P3 Enregistrer_dossier

Ecriture du nouveau dossier → 1 accès

P4 Désigner_Expert

Recherche de l'expert → 20 / 2 accès Ajout d'un dossier à la relation Sinistre → 1 accès

P5 Transmettre_dossier

Total : 5013 accès × 50 sinistres par jour × 260 jours ouvrés → coût annuel de 65.106 accès

L3 informatique

Conception des systèmes d’information

109

Coût de l'opération Ouvrir_dossier optimisée 

Si on décide de : – conserver en mémoire le dernier numéro de dossier pendant toute une journée de travail – indexer les assurés sur leur numéro de police – indexer les experts sur le nombre de dossiers en cours avec ordre

→ Nouveau coût : 260 jours × (1 accès au dernier numéro de dossier + sinistres × (1 pour la recherche de l'assuré + 1 pour l'écriture du nouveau dossier 1 pour la recherche de l'expert 1 pour l'ajout d'un sinistre)) = 52.103 accès / an L3 informatique

Conception des systèmes d’information

50

+ + 110

Related Documents

Csi
December 2019 19
Csi
May 2020 15
Manual Csi
May 2020 8
Csi-odivelas
May 2020 10
Csi - Cashflows
July 2020 6
Csi Group 3b
June 2020 6