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

Séminaire IG 1 Méthodologie objet et IG ? T. Libourel

Présentations similaires


Présentation au sujet: "Séminaire IG 1 Méthodologie objet et IG ? T. Libourel"— Transcription de la présentation:

1 Séminaire IG 1 Méthodologie objet et IG ? T. Libourel

2 Séminaire IG 2 Plan Adéquation Discussion Objet-relationnel Introduction - Généralités sur les méthodes objet

3 Séminaire IG 3 Plan Introduction - Généralités sur les méthodes objet

4 Séminaire IG 4 Introduction Évolution des paradigmes de programmation Évolution des besoins Évolution des technologies

5 Séminaire IG 5 Introduction Taille et complexité des systèmes importantes et croissantes –les besoins et les fonctionnalités augmentent –la technologie évolue rapidement –les architectures se diversifient Problèmes des spécifications –parfois imprécises, incomplètes, ou incohérentes –assurer linterface avec le métier (domaine dapplication)

6 Séminaire IG 6 Introduction –Cas particulier de lIG Applications Monde réel Domaine étudié Schémas Données Conceptualisation Stockage Conceptuel Externe ou Dérivé Représentation Modèle de Instrumentation Terrain Nominal

7 Séminaire IG 7 Évolution des applications –évolution des besoins des utilisateurs –réorientation de l'application –évolution de l'environnement technique (matériel et logiciel) Problèmes liés à la gestion des équipes –taille croissante des équipes –spécialisation technique –spécialisation métier Introduction

8 Séminaire IG 8 Introduction Pourquoi des méthodes ? Une nécessité Entreprise Outils Informatiques

9 Séminaire IG 9 Introduction Pourquoi des méthodes ? Démarche reproductible pour obtenir des résultats fiables Construire des modèles à partir d'éléments (concepts) Possibilité de représenter à partir de formalismes Mise en œuvre

10 Séminaire IG 10 Omniprésence technique de lObjet dans les langages de programmation, les bases de données, les interfaces graphiques,... et les méthodes danalyse et de conception. Universalité de lObjet la notion dobjet, plus proche du monde réel, est compréhensible par tous et facilite la communication entre tous les intervenants dun projet. Pourquoi lapproche objet ?

11 Séminaire IG 11 Vue Cas d utilisation Vue structurelle Vue Architecture (déploiement) Vue dynamique Définir une architecture ……. divers points de vue sur le système Concepts généraux Vue Implémentation

12 Séminaire IG 12 Plan Adéquation Discussion

13 Séminaire IG 13 Importance de la prise en compte des besoins Cas dutilisation

14 Séminaire IG 14 Les cas dutilisation, ou « USE CASE » Fonctionnalités externes Modèles descriptifs du point de vue des utilisateurs Interactions avec les acteurs extérieurs la manière dutiliser le système Importance de la prise en compte des besoins

15 Séminaire IG 15 Deux concepts Acteur toute entité extérieure au système et interagissant avec celui-ci. acteurs humains, acteurs « machine » (système extérieur communiquant avec le système étudié) Cas dutilisation toute manière dutiliser le système suite dévénements notable du point de vue de l utilisateur On part de lanalyse des besoins ….

16 Séminaire IG 16 Modèle dutilisation Deux concepts Acteur (rôle 1) Acteur (rôle 2) « communicate » Acteur Cas dutilisation > role

17 Séminaire IG 17 Modèle dutilisation Les cas d utilisation peuvent être liés par des relations : - dutilisation « include » (le cas origine contient obligatoirement lautre) - de raffinement « extend » (le cas origine peut être ajouté optionnellement ) Acteur (rôle 1) Acteur (rôle 2) « include » « extend » - de généralisation/spécialisation « generalizes »

18 Séminaire IG 18 Multiplicité des perceptions Visions discrète vs continue Échelles Sémantique des informations spatiales

19 Séminaire IG 19 Multiplicité des perceptions Trafic routier Équipement Cadastre Réseaux souterrains Rue graphe polyligne volume surface Sémantique des informations spatiales

20 Séminaire IG 20 Vision discrète vs vision continue deux grands types de modèles modèles construits autour dobjets, dentités ou features (Routes, villes, fleuves etc..) modèles construits autour de champs continus (météo température, pression, épidémie..) Sémantique des informations spatiales Echelle, multi-échelles pas un simple rapport taille du support/terrain granularité de perception

21 Séminaire IG 21 Représentations Géométrie euclidienne point (dim 0) ligne (dim 1) aire (dim 2) volume (dim 3) SegmentPoint XYXY A-pour-extrémité-> Est-sur : booleen

22 Séminaire IG 22 Représentations Géométrie euclidienne point (dim 0) ligne (dim 1) aire (dim 2) volume (dim 3) PolylignePoint XYXY n Est-sur : booleen fermée Segment 1..n ordre

23 Séminaire IG 23 Représentations Géométrie euclidienne point (dim 0) ligne (dim 1) aire (dim 2) volume (dim 3) PolygonePoint XYXY n Appartient : bool Segment 3..n ordre

24 Séminaire IG 24 Représentations Géométrie euclidienne point (dim 0) ligne (dim 1) aire (dim 2) volume (dim 3) PolygonePoint XYXY Appartient : bool Segment 3..n n 1..1 orientation 0..n début fin

25 Séminaire IG 25 Représentations Théorie des graphes nœud, arête, arc, chaîne NœudArête n Est-relié-à 0..n délimite 0..n

26 Séminaire IG 26 Représentations Topologie relations spatiales Adjacence, Inclusion, Proximité …

27 Séminaire IG 27 Représentations Raster

28 Séminaire IG 28 Méthodes objet pour les SIG GeoOOA (Kösters, Pagel, Six) GEOCLASS POINT LINE REGION RASTER opérations (intersection, inclusion, etc.) NETWORK

29 Séminaire IG 29 SPACE POSITIONS classe agrégat construite sur les classes SHAPE, SIZE, LOCATION, ORIENTATION Classes POSITIONS SPACE is-located-at GEOGRAPHIC OBJECT 1,n 1 at_spatial Geo-OM (Tryfona, Pfoser, Hadzilacos) Méthodes objet pour les SIG

30 Séminaire IG 30 MADS (Parent, Spaccapietra, Zimanyi) Objets spatiaux Objets spatiaux simplesObjets spatiaux complexes Point Ligne Ligne orientée Aire simple Ensemble de Points Ensemble de Lignes Ensemble de Lignes orientées Aire complexe Méthodes objet pour les SIG

31 Séminaire IG 31 MADS Commune Parcelle Remembrement Union Partage Re-allocation est_composée_de source cible PST Méthodes objet pour les SIG

32 Séminaire IG 32 PERCEPTORY (Bedard U Laval Quebec) PST Méthodes objet pour les SIG UML + Pictogrammes (Langage Visuel)

33 Séminaire IG 33 Identification Essence Spatial Thème Entité géographique POLLEN (Gayte, Libourel, Cheylan, Lardon) 1..* Méthodes objet pour les SIG Classes opaques Spatiales Point, Ligne, Aire Temporelles Instant, Intervalle

34 Séminaire IG 34 Des bienfaits de l encapsulation …. Proposer un service et réagir aux messages Opérations Données Messages Encapsulation Discussion

35 Séminaire IG 35 La méta-modélisation Meta-Meta Modèle Meta-Modèle Modèle Objets utilisateur Meta-Class, Meta-Attribut, etc Class, Attribut, etc Parcelle, Surface, etc A120, 50, etc Langage pour spécifier tout métamodèle Langage pour spécifier un modèle Langage pour spécifier un domaine d information Définition spécifique d un domaine Discussion

36 Séminaire IG 36 Discussion TAD spatiaux PointLigneZone TAD temporels InstantIntervalle Ensemble dinstants Ensemble dintervalles Vers des « framework » ?

37 Séminaire IG 37 Mise en œuvre SIG outils SGBD spatiaux Discussion futur..... SGBD spatio-temporels..... Interopérabilité

38 Séminaire IG 38 Plan Objet-relationnel

39 Séminaire IG 39 Les raisons …. Nécessité de conserver la compatibilité avec l'existant –SGBD relationnel –Applications client-serveur Nécessité de supporter des données complexes –textuelles –géométriques –géographiques –audiovisuelles –soniques –multimédias

40 Séminaire IG 40 Faiblesses du modèle relationnel Opérations séparées des données –procédures stockées non intégrées dans le modèle –absence d'attributs cachés Support de domaines atomiques –1ère forme normale de Codd –inadapté aux objets complexes (documents structurés) –introduction de LOB Long Object (CLOB Character LOB, BLOB Binary LOB MPEG.. MP..) Mauvais support des applications non standards –CAO, CFAO –BD Géographiques –BD techniques

41 Séminaire IG 41 L'apport des modèles objets Identité d'objets –introduction de pointeurs invariants –possibilité de chaînage Encapsulation des données –possibilité d'isoler les données par des opérations –facilite l'évolution des structures de données Héritage d'opérations et de structures –facilite la réutilisation des types de données –permet l'adaptation à son application Possibilité d'opérations abstraites (polymorphisme) –simplifie la vie du développeur

42 Séminaire IG 42 Le support d'objets complexes Nécessité d'introduire des attributs multivalués Fourniture de collections prédéfinies telles liste, ensemble, tableau,... Imbrication des collections pour représenter des objets très compliqués Exemple –Type Molécule » { list } –Type Atome »{ Noyau, list }

43 Séminaire IG 43 Premiers pas Modèle NF2 Libelle Professeurs Formations Système Montant 185 Motif NDep MCEric PR Cours BD Horaire jour 037 Année NomTitre Nom Titre PRPierre MC Marie X126Lundi X280Mardi X3150Jeudi X150Lundi X280Mercredi Julie

44 Séminaire IG 44 Relationnel Types utilisateurs et encapsulation Collection et objets complexes Référence et identité Héritage et réutilisation Classes de systèmes Etendre le relationnel –Systèmes objet-relationnel –Illustra de Stonebraker –UniSQL de Won Kim Tout refaire –Systèmes objets –O2 de Bancilhon –Complexité »repartir de C++ »C++ persistants

45 Séminaire IG 45 Domaine Table Attribut Clé Référence RELATIONNEL OBJET Opération Héritage Identifiant Polymorphisme Types utilisateurs Collections L'objet-relationnel Extension du modèle relationnel –attributs multivalués : structure, liste, tableau, ensemble,... –héritage sur relations et types –domaine type abstrait de données (structure cachée + méthodes) –identité d'objets Extension de SQL –définition des types complexes avec héritage –appels de méthodes en résultat et qualification –imbrication des appels de méthodes –surcharge d'opérateurs

46 Séminaire IG 46 Qui pousse … Un groupe international –ISO/IEC JTC1/SC 21/WG3 DBL Pays actifs –Australia, Brazil, Canada, France, Germany, Japan –Korea, The Netherlands, United Kingdom,United States ANSI X3H2 (http://www.ansi.org) Documents –ISO/IEC 9075:1992, "Database Languages - SQL" –ANSI X , "Database Language SQL"

47 Séminaire IG 47 La standardisation …. Part 1: Framework –Une description non-technique de comment le document est structuré. Part 2: Foundation –Le noyau de specification, incluant les types de données abstraits. Part 3: SQL/CLI –linterface dappel client. Part 4: SQL/PSM –le langage de spécifications de procédures stockées Part 5: SQL/Bindings –les liens SQL dynamique et embedded SQL repris de SQL-92. Part 6: SQL/XA –Une spécification de linterface XA pour moniteur transactionnel. Part 7: SQL/Temporal –Le support du temps dans SQL3

48 Séminaire IG 48 SQL3 De multiples facettes : –Un langage de définition de types –Un langage de programmation –Un langage de requêtes –Un langage temporel –... l Pour gérer des données complexes dans le cadre de système objet-relationnel Nouveaux Illustra, UniSQL, ODB II, Versant Relationnels étendus ("universels") Postgres, Oracle, DB2 UDB, Informix

49 Séminaire IG 49 SQL3 Extensibilité des types de données –Définition de types abstraits –Possibilité de types avec ou sans OID Support dobjets complexes –Constructeurs de types (tuples, set, list, …) –Utilisation de référence (OID) Héritage –Définition de sous-types –Définition de sous-tables

50 Séminaire IG 50 Principe Typage fort Type = Données + Méthodes La création de type ne crée pas dobjets Les objets dun type sont persistants que lorsquils sont insérés dans des tables déclarées (CREATE TABLE)

51 Séminaire IG 51 Principe un TAD permet la définition de nouveaux types dattributs (augmentant les types disponibles par défaut) permet le « partage » de structures de données

52 Séminaire IG 52 Les types abstraits Deux types dADT –Littéral Type dune colonne de table CREATE DISTINCT TYPE euro_t AS DOUBLE PRECISION CREATE TABLE Produit (descrprod VARCHAR(20), prixeuro euro_t)

53 Séminaire IG 53 Les types abstraits CREATE TYPE Codpostal_t ( dept NUMBER(2), ext NUMBER(3) ); CREATE TYPE Adresse_t (rue VARCHAR(20), ville VARCHAR(20), codpost Codpostal_t); CREATE TABLE Adresse OF Adresse_t; CREATE TABLE Personne (nom VARCHAR(20), adr Adresse_t );

54 Séminaire IG 54 Les types abstraits Deux types dADT –Objet Type dun tuple objet dune table CREATE ROWTYPE Person_t (nom VARCHAR(20), adr adresse_t); CREATE TABLE Personne OF Person_t (PRIMARY KEY nom);

55 Séminaire IG 55 Les types abstraits Pointeurs CREATE TYPE Diplome_t (nom VARCHAR(20), dateob DATE, mention VARCHAR(2)); CREATE TABLE Diplome OF Diplome_t; CREATE TABLE Personne (nom VARCHAR(20), adr Adresse_t, dipl REF Diplome_t diplome

56 Séminaire IG 56 Les collections Les constructeurs de base collections SET(T), MULTISET(T), LIST(T) CREATE TYPE Personne_t (nss INT, nom VARCHAR(20), prenoms LIST(VARCHAR(20)), tel SET(telephone_t)) CREATE TABLE Personne OF Personne_t Les constructeurs additionnels –stack, queue, array, insertable array (exemple : texte) –non intégrés dans le langage mais peuvent être ajoutés

57 Séminaire IG 57 Encapsulation Possibilité de définir des méthodes (procédures et fonctions) dans la déclaration du TAD CREATE TYPE chercheur_t (numero NUMBER, nom CHAR(30), Contacts SET( _t), Method ajoute_mail(nouveau_ mail _t) ;

58 Séminaire IG 58 Spécialisation CREATE TYPE Personne_t (numero NUMBER), nom CHAR(30), dipl REF Diplome_t) ; CREATE TYPE chercheur_t UNDER Personne_t (Contacts SET( _t), Method ajoute_mail(nouveau_ mail _t) ; CREATE TYPE etudiant_t UNDER Personne_t (Loisirs LIST(VARCHAR(20)); CREATE TABLE chercheur OF chercheur_t; CREATE TABLE etudiant of etudiant_t;

59 Séminaire IG 59 Interroger …. Le parcours de référence Possibilité d'appliquer les fonctions Ref et DeRef (implicite) CREATE Type voiture_t (numim VARCHAR(15), constnom VARCHAR(20) prop REF prop_t, couleur CHAR(20), annee NUMBER); CREATE TYPE prop_t (num NUMBER, nom VARCHAR(30)) CREATE TABLE voitures OF TYPE voiture_t SELECT c.prop.nom FROM voitures c WHERE couleur = 'rouge'

60 Séminaire IG 60 select p.dateeffet, p.client.nom, p.vehicule.nim from policy p where p.vehicule.modele = ferrari Comparaison avec le relationnel Accès en relationnel Accès en objet-relationnel select dateeffet, nom, nim from police, client, nim where police.numero = client.numero and police.nim = vehicule.nim and modele = ferrari Police (numero,dateffet, client,vehicule ) Vehicule(nim,modele) Client(numero, nom) Police(numero,nim,dateeffet)

61 Séminaire IG 61 ORACLE 8 et … CREATE OR REPLACE TYPE Adresse_t AS OBJECT (norue NUMBER, rue VARCHAR2(20), ville VARCHAR2(30), code-postal VARCHAR2(10)); CREATE TABLE adresse OF Adresse_t; CREATE OR REPLACE TYPE Etudiant_t AS OBJECT (numero NUMBER, adr Adresse_t); CREATE TABLE etudiant OF Etudiant_t (CONSTRAINT PK_etud PRIMARY KEY (numero)) ; SELECT REF(i) FROM Etudiant i ; Retourne les OID des objets de la table etudiant

62 Séminaire IG 62 ORACLE 8 et … Attention … CREATE TABLE Employe (numero NUMBER, dept VARCHAR(3), Sal NUMBER, adr Adresse_t); Nest pas une table objet-relationnel …. SELECT REF(i) FROM Employe i ; erreur

63 Séminaire IG 63 ORACLE 8 et … CREATE TYPE Admin_t AS OBJECT (num NUMBER, nom VARCHAR(15), age NUMBER); CREATE TYPE PC_t AS OBJECT (nserie NUMBER, adrIP VARCHAR(15), admin REF Admin_t); La référence doit porter sur un type …. CREATE TABLE admin OF Admin_t (CONSTRAINT pk_admin PRIMARY KEY (num)); CREATE TABLE PC OF PC_t (PRIMARY KEY (nserie));

64 Séminaire IG 64 ORACLE 8 et … Tables imbriquées CREATE TYPE Emp_t AS OBJECT (nINSEE VARCHAR2(13), nom VARCHAR(15), age NUMBER); CREATE TYPE Emps_t AS TABLE OF Emp_t; CREATE TABLE DEPT ( Ndept NUMBER PRIMARY KEY, Employes Emps_t) NESTED TABLE employes STORE AS THE;

65 Séminaire IG 65 ORACLE 8 et … Tables imbriquées CREATE TABLE DEPT ( Ndept NUMBER PRIMARY KEY, Employes Emps_t) NESTED TABLE employes STORE AS Tabemp; INSERT INTO DEPT VALUES (4, Emps_t(Emp_t (154..,Louis, 51), Emp_t(264…,Nina,41), …..); INSERT INTO THE (SELECT d.employes FROM DEPT d WHERE D.Ndept=4) VALUES (174 …,René,31) THE référence la table imbriquée ….

66 Séminaire IG 66 Exemple d'application (1) GIS (Geographical Information Systems) Type Geométrie –Point, ligne, polygone, chemin, rectangle, ellipse,... Fonctions –distance(geom,geom) returns real –contained(geom,geom) returns bool –overlaps(geom,geom) returns bool –intersection(geom,geom) returns geom –union(geom,geom) returns geom –....

67 Séminaire IG 67 Exemple d'application (2) Images Type Library Différents formats : TIFF,GIF,FAX,CD,JPEG Fonctions : –rotate(image,angle) returns image –transpose(image) returns image –flip(image) returns image –enhance(image), oil_painting(image) –plus(image,image), minus(image,image) –intersection(image,image), union(image,image) –histogram(image) returns(table) –similarity(image,image)

68 Séminaire IG 68 Un standard en évolution PROPOSITION CONCURRENTE DE L'ODMG –Accord entre constructeurs de SGBD Objets –Support du modèle pur objet de l'OMG –Variation de SQL traitant des collections imbriquées Accord ANSI X3 H2 et ODMG –Définition d'un langage d'interrogation intégrant relationnel et objet –Convergence relationnel-objet vers SQL3 De nombreux points restent à fixer –Visibilité des OID ? –Chemins multivalués ? –Cohérence ?


Télécharger ppt "Séminaire IG 1 Méthodologie objet et IG ? T. Libourel"

Présentations similaires


Annonces Google