La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

1 G. Gardarin Méthodes de conception u 1. Objectifs et principes u 2. Le modèle objet u 3. Passage au relationnel u 4. Raffinement du schéma u 5. Optimisation.

Présentations similaires


Présentation au sujet: "1 G. Gardarin Méthodes de conception u 1. Objectifs et principes u 2. Le modèle objet u 3. Passage au relationnel u 4. Raffinement du schéma u 5. Optimisation."— Transcription de la présentation:

1 1 G. Gardarin Méthodes de conception u 1. Objectifs et principes u 2. Le modèle objet u 3. Passage au relationnel u 4. Raffinement du schéma u 5. Optimisation physique u 6. Conclusion

2 2 G. Gardarin 1. Objectifs de la Modélisation u Permettre une meilleure compréhension ­Systèmes réels trop complexes ­Abstraction des aspects cruciaux du problème ­Omission des détails u Permettre une conception progressive ­Abstractions et raffinements successifs ­Possibilité de prototypage rapide ­Découpage en modules ou vues ­Génération des structures de données et de traitements u Faciliter la visualisaton du système ­Diagrammes avec notations simple et précise ­Compréhension visuelle et non seulement intellectuelle

3 3 G. Gardarin Générations de méthodes u Méthodes d'analyse et de décomposition hiérarchiques (1ère génération) ­Diviser pour régner (Problème --> Sous-problème) ­Warnier, SADT, Jackson, De Marco u Méthodes d'analyse et de représentation systémiques (2e génération) ­Séparation des données et traitements ­Merise, Axial, SSADM u Méthodes d'analyse et de conception orientées objets (3ème génération) ­Réconciliation données et traitements ­Réutilisation de composants

4 4 G. Gardarin Objectifs des méthodes objet u Réduire la distance sémantique entre le langage des utilisateurs et le langage des concepteurs ­meilleure communication entre utilisateurs et concepteurs ­abstraction du réel perçu en termes compréhensible u Regrouper l'analyse des données et des traitements ­meilleure compréhension des choses ­plus grande cohérence entre l'aspect statique et l'aspect dynamique u Simplification des transformations entre niveau conceptuel et niveau interne ­implémentation directe éventuelle du schéma conceptuel ­établissement possible de règles de transformations automatisées

5 5 G. Gardarin Principales méthodes objet u OOD ­G. Booch1991 u HOOD ­HOOD Technical Group (B. Delatte, M. Heitz, J.F. Muller) 1993 u OOA ­S. Shlaer & S. Mellor1992 u OOA/OOD ­T. Coad & E. Yourdon1991 u OMT ­J. Rumbaugh, M. Blaha, W. Premerlani, et. al.1991 u OOSE ­I. Jacobson, M. Christerson, P. Jonson, G.Vergaard1992 u OOM ­M. Bouzeghoub, A. Rochfeld1994 u FUSION ­D. Coleman, P. Arnold, S. Bodoff, C. Dollin et. al.1994 u La notation UML ­Rationale et OMG ­une notation universelle

6 6 G. Gardarin Les principaux modèles u Modèle des objets (Object model) ­définition des objets (données et opérations) ­définition des associations entre objets u Modèle dynamique (Dynamic model) ­états successifs des objets (cycle de vie) ­interactions temporelles et réponses aux stimulis u Modèle fonctionnel (Functional model) ­processus de transformation des objets ­flots de données entre acteurs

7 7 G. Gardarin Les cycles u Analyse (Analysis) ­étude du problème utilisateur ­génération de modèles de problèmes u Conception (Design) ­raffinement de modèles de problèmes ­génération de modèles d'implémentation (prototypes) u Implémentation (Implementation) ­codage de modèles d'implémentation ­génération du code des programmes

8 8 G. Gardarin 2. Le modèle des objets u Objet (Object) ­concept, abstraction ou entité clairement distinguable u Classe (Class) ­description d'un groupe d'objet aux propriétés similaires u Attribut (Attribute) ­propriété nommée d'une classe représentée par une valeur dans chaque instance u Opération (Operation) ­une fonction/transformation applicable aux objets d'une classe u Méthode (Method) ­une implémentation d'une opération pour une classe

9 9 G. Gardarin Nom attributs opérations Voitures Nveh: Int Type: String Marque: Constructeur Vitesse: Int Km : Int Démarrer() Accélérer() Rouler(km:Int) Freiner() Représentation (UML) u Classe

10 10 G. Gardarin Association u Association (Association) ­Une relation entre des instances de deux (ou plus) classes u Lien (Link) ­Une instance d'association u Rôle (Role) ­Une extrémité d'une association u Cardinalité (Multiplicity) ­Le nombre d'instance d'une classe pour chaque instance de l'autre u Attribut de lien (Link attribute) ­Un attribut de l'association instancié pour chaque lien

11 11 G. Gardarin Représentation PersonneVoiture Possède PropriétairePossédée Date Prix Buveurs Vins Boire Date Quantité Abus Estbu

12 12 G. Gardarin Cardinalités 1 plusieurs (0 à N) 0..1 * optionnel (0 ou 1) 1..* obligatoire (1 ou plus) ordonné (0 à N) {ord} 3..5 limité (de 3 à 5) 1 0..*

13 13 G. Gardarin Poste-Travail Bureau Barre-Menus Corbeille Outils-Bureau Dossiers Sélectionner NbreEléments Ouvrir Taille Vider Nom Type Ranger * * * Agrégation u Agrégation (Aggregation) ­Forme spéciale d'association entre un tout et ses parties (part-of)

14 14 G. Gardarin Personnes Employés Etudiants Personnes Employés Etudiants Personnes Employés Hommes Femmes Généralisation u Généralisation (Generalization) ­Relation particulière de factorisation permettant de regrouper les attributs et opérations communs de sous-classes dans une super- classe.

15 15 G. Gardarin Module u Module (Module) ­Groupe de classes apparentées conçues ensemble u Sous-système (Sub-system) ­Groupe de modules u Permet de définir des vues et groupes de vues d'une BD ou plus généralement dune application

16 16 G. Gardarin La pratique u Bien comprendre le problème à résoudre u Essayer de conserver le modèle simple u Bien choisir les noms u Ne pas cacher les pointeurs sous forme d'attributs ­utiliser les associations u Faire revoir le modèle par d'autres ­définir en commun les objets de lentreprise u Documenter les significations et conventions ­ élaborer le dictionnaire

17 17 G. Gardarin 3. Passage au relationnel u Implémentations des attributs, généralisation, et associations sous de forme de tables ­mémorisent les états des objets ­pas nécessaire d avoir une BD objet u Implémentation des méthodes sous forme de procédures stockées ­état de l objet passé en paramètre (clés) ­associées à une base de données ­très important pour l optimisation client-serveur

18 18 G. Gardarin C C1 C2 C C1 C2 K K K (a) C1 C2 C C C C1 C2 (b) (c) Réduction des généralisations u Aplatissage des hiérarchies ­1 table par classe avec jointures ­une seule table avec valeurs nulles ­une table par feuille u Réalisation de l héritage ­statique : problème des valeurs nulles pour les objets sans descendants ­dynamique : jointures sur clés, bien prévoir les indexes !

19 19 G. Gardarin Implémentation des associations u Une association est représentée par une table dont le schéma est le nom de l'association et la liste des clés des classes participantes et des attributs de l'association u Exemple : ­POSSEDE (N° SS, N° VEH, DATE, PRIX ) ­BOIRE(NV, NB, CRU, MILLESIME, DEGRE) u Amélioration possible ­Regrouper les associations 1 --> n avec la classe cible u Exemple : ­VOITURE (N°VEH, MARQUE, TYPE, PUISSANCE, COULEUR) ­POSSEDE (N° SS, N° VEH, DATE, PRIX ) ­regroupés si toute voiture a un et un seul propriétaire

20 20 G. Gardarin Tabulation des collections u Nombre maximum de valeurs connu ­N attributs déclarés ­Manque de dynamicité ­Maximum souvent difficile à estimer ­Requêtes complexes ­Valable pour N < 5 u Table des valeurs avec clé ­Passage en première forme normale ­Nécessité de jointure pour reconstituer la collection ­Performance nécessitant un index

21 21 G. Gardarin Exemple Personne nss nom prenoms datenais vieillir() dormir() Employé fonction salaire primes travailler() Buveur type état boire() Vin cru millésime degré qualité Appart. étage no rue code ville Supérieur Inférieur Boire Bu_par Habite Loge Voiture nveh couleur marque km rouler() Possède Appartient EmployéBuveur

22 22 G. Gardarin 4. Raffinement du schéma u Risques de mauvaise conception ­classe trop importante ­classe trop petite u Exemples : ­Propriétaire-de-véhicule (n° ss, nom, prénom, n° veh, marque, type, puissance, couleur, date, prix) Propriétaire-de-véhicule = personne |x| possède |x| voiture ­Cru (cru, qualité, degré) et Vin (nv, cru, millésime) Cru = (vins) et Vin = (vins) u Anomalies ­redondance de données, valeurs nulles ­perte de sémantique

23 23 G. Gardarin Dépendances Fonctionnelles u Définition : ­Soient R(A1, A2 … An) un schéma de relation, X et Y des sous- ensembles de A1, A2 …An; ­On dit que X --> Y (X détermine Y ou Y dépend fonctionnellement de X) ssi il existe une fonction qui a partir de toute valeur de X détermine une valeur unique de Y u Formellement : ­ssi quel que soit linstance r de R, pour tout tuple t1 et t2 de r on a X (t1) = X (t2) ==> Y (t1) = Y (t2)

24 24 G. Gardarin Exemples u PERSONNE ­N° SS --> NOM ? ­NOM --> N° SS ? u VOITURE ­(MARQUE, TYPE) --> PUISSANCE ? ­MARQUE --> PUISSANCE ? ­PUISSANCE --> TYPE ? u POSSEDE ­N° VEHP --> N° PROP ? ­N° PROP --> N° VEHP ? ­(N° VEHP, N° PROP) --> DATE ACHAT ?

25 25 G. Gardarin Graphe de Dépendances VOITURE (N°VEH, TYPE, COULEUR, MARQUE, PUISSANCE)

26 26 G. Gardarin CRU --> TYPE TYPE, CLIENT --> REMISE TYPECLIENTREMISE A A B C1 C2 C1 3% 5% 4% TYPECLIENTREMISE A A B C1 C2 C1 3% 5% 4% CRU CHENAS MEDOC JULIENAS Autre Exemple CRU TYPE CLIENT REMISE

27 27 G. Gardarin Notion formelle de Clé u Définition : ­Un groupe d'attribut X est une clé de R (a1, a2 … an) ssi : 1) X --> A1 A2 … An 2) il n'existe pas de sous-ensemble Y de X tel que Y --> A1 A2 … An u Plus simplement : ­Une clé est un ensemble minimum d'attribut qui détermine tous les autres. ­Exemple : (n° veh) voiture ? (n° veh, type) voiture ? u Non unicité : ­Il peut y avoir plusieurs clés pour une relation (clés candidates) ­Une est choisie comme clé primaire

28 28 G. Gardarin Formes normales u Objectifs ­Définir des règles pour décomposer les relations tout en préservant les DF et sans perdre d'informations, afin de représenter des objets et associations canoniques du monde réel (les molécules d'informations) u Éviter les anomalies de mises a jour u Éviter les réponses erronées

29 29 G. Gardarin Une telle relation doit être décomposée en répétant les noms pour chaque profession (Opération UNNEST) PERSONNENOMPROFESSION DUPONTIngénieur, Professeur MARTINGéomètre 1e Forme u Définition ­Une relation est en 1ère forme normale si tout attribut contient une valeur atomique (unique) u Exemple

30 30 G. Gardarin R K1 K2XY Une telle relation doit être décomposée en R1(K1,K2,X) et R2(K2,Y) 2e Forme u Définition ­une relation est en 2e forme normale ssi : 1) elle est en 1ère forme 2) tout attribut non clé ne dépend pas d'une partie de clé u Schéma

31 31 G. Gardarin Exemple 2e Forme u Exemple 1 : ­Fournisseur (nom,adresse, article, prix) ­La clé est (nom, article) ­Mais nom --> adresse : pas en 2e forme u Exemple 2 : ­R (cru,type,client,remise) ­La clé est (cru, client) ­Mais cru --> type : pas en 2e forme

32 32 G. Gardarin R KXYZ Une telle relation doit être décomposée en R1(K, X, Y) et R2(X,Z) 3e Forme u Définition ­une relation est en 3e forme normale ssi : 1) elle est en 2e forme 2) tout attribut n'appartenant pas a une clé ne dépend pas d'un autre attribut non clé u Schéma

33 33 G. Gardarin Exemple 3e Forme u Exemple ­Voiture (n° veh, marque, type,puissance, couleur) ­Type --> marque ­Type --> puissance u Pas en 3eme forme ! u Il est bon que les relations logiques soient en 3e forme : ­Pas de redondance ­Pas de perte d information ­Pas de perte de dépendance u Représentation canonique du monde réel !

34 34 G. Gardarin Exemples de Décomposition u Voiture (n° veh, marque, type, puissance, couleur) ­Se décompose en : ­véhicule (n° veh, type, couleur) ­Modèle (type, marque, puissance) u Réduction (cru, type, client, remise) ­Se décompose en : ­Remise (cru,client,remise) ­Type (cru,type)

35 35 G. Gardarin R K1 K2XY Une telle relation peut être décomposée en R1(K1, K2, X) et R2(Y,K1) Une forme plus simple : la BCNF u Définition ­une relation est en BCNF (Boyce-Codd Normal Form) ssi : ­les seules dépendances fonctionnelles sont du type clé détermine attribut non clé ­Plus simple que 3NF, un peu plus fort u Schéma

36 36 G. Gardarin 5. Optimisation physique u On implémente pas forcément le schéma logique ­regroupement de relations interrogées ensemble parfois avantageux ­la dénormalisation évite des jointures coûteuses ­nécessite de gérer la redondance en mise à jour u Choix du placement ­indexe primaire plaçant = clé primaire ­hachage parfois avantageux (groupes de relations) u Choix des indexes ­contraintes référentielles ­attributs de sélections fréquentes ­indexe B-tree ou bitmap

37 37 G. Gardarin Réglage des schémas u Partitionnement de relations ­horizontal supporter par certains SGBD gestion d indexe maître ­vertical découpage en plusieurs tables attributs de jointures redondants u Utilisation de données redondantes ­agrégats pré-calculés ­jointures pré-calculées ­vues concrètes

38 38 G. Gardarin Résumé du réglage u 1. Régler les requêtes en premier : ­vérifier les plans d'exécution générés; ­reformuler les requêtes sans changer le schéma; ­pour éviter des sous requêtes inefficaces, régler l'usage des relations temporaires intermédiaires;... u 2. Régler les dimensions des tables par partitionnement u 3. Régler les indexes et lorganisation des relations u 4. Considérer l'usage de données redondantes u 5. Revoir les décisions de normalisation u L'usage de vues permet de masquer ces réorganisations

39 39 G. Gardarin 6. Conclusion u Intérêt de lutilisation dune méthode objet ­proche du monde réel ­démarche sémantique claire ­diagramme UML standards u Passage au relationnel automatique ­outils du commerce utilisables (Rationale Rose, etc.) ­supporteront les extensions objet-relationnel à venir u Normalisation à lexception ­utile quand sémantique confuse u Optimisation et réglage ­une étape essentielle et permanente (suivi nécessaire)


Télécharger ppt "1 G. Gardarin Méthodes de conception u 1. Objectifs et principes u 2. Le modèle objet u 3. Passage au relationnel u 4. Raffinement du schéma u 5. Optimisation."

Présentations similaires


Annonces Google