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

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

3 Séminaire IG 2 Plan Adéquation Discussion Introduction - Généralités sur les méthodes objet Concepts objet et formalisme UML

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

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

6 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)

7 Séminaire IG 6 É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 7 Introduction Pourquoi des méthodes ? Une nécessité Entreprise Outils Informatiques

9 Séminaire IG 8 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 9 Une méthode danalyse et de conception –propose une démarche qui distingue les étapes du développement dans le cycle de vie du logiciel (modularité, réduction de la complexité, réutilisabilité éventuelle, abstraction) –sappuie sur un formalisme de représentation qui facilite la communication, lorganisation et la vérification –produit des documents (modèles) qui facilitent les retours sur conception et lévolution des applications Introduction Pourquoi des méthodes ?

11 Séminaire IG 10 Simplicité Facilité pour coder et réutiliser Modèle plus proche de la réalité –description plus précise des combinaisons (données, opérations) –décomposition basée sur classification naturelle –facile à comprendre et à maintenir Stabilité –de petites évolutions peuvent être prises en compte sans changements massifs Pourquoi lapproche objet ?

12 Séminaire IG 11 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 ?

13 Séminaire IG 12 Au début des années 90, une cinquantaine de méthodes objet, liées uniquement par un consensus autour didées communes (objets, classes, sous-systèmes,...) Recherche dun langage commun unique utilisable par toute méthode objet –dans toutes les phases du cycle de vie, –compatible avec les techniques de réalisation actuelles.

14 Séminaire IG 13 UML (Unified Modeling Language) OOD (Booch) OMT (Rumbaugh) OOSE (Jacobson) OOPSLA OMG UML Autres

15 Séminaire IG 14 Autres méthodesBooch91OMT-1OOSEPartenaires Booch93OMT-2 OOPSLA95 Unified Method 0.8 Commentaires du public UML 0.9 & 0.91 Juin 96 puis OOPSLA96 UML 1.0 Soumission à lOMG - Janvier 97 UML 1.1 UML 1.2 UML 1.3 Standardisation à lOMG - Novembre 97 Version intermédiaire non publiée Version béta - fin 99

16 Séminaire IG 15 Plan Concepts objet et formalisme UML

17 Séminaire IG 16 Un modèle est une représentation abstraite dune réalité, il fournit une image simplifiée du monde réel. Il permet : - de comprendre et visualiser (en réduisant la complexité) - de communiquer (à partir d un « langage » commun à travers un nombre restreint de concepts) - de valider (contrôle de la cohérence, simuler, tester …) Concepts généraux

18 Séminaire IG 17 Concepts généraux Les modèles d'UML modèle des classes > statique modèle des états > dynamique des objets modèle des cas d'utilisation > besoins utilisateur modèle d'interaction > scénarios et flots de messages modèle de réalisation > unités de travail modèle de déploiement > répartition des processus

19 Séminaire IG 18 Concepts généraux La perception des modèles Les vues graphiques (diagrammes ) diagrammes de classes diagrammes d'objets diagrammes de séquences diagrammes de collaboration diagrammes états-transitions diagrammes d'activités diagrammes de cas d'utilisation diagrammes de composants diagrammes de déploiement

20 Séminaire IG 19 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

21 Séminaire IG 20 Formalisme UML - Concepts objet Modèle d utilisation Modèle structurel Modèle dynamique Modèle d implémentation

22 Séminaire IG 21 Modèle d utilisation Les « USE CASE » Modèles descriptifs du point de vue des utilisateurs Scénarios fonctionnels Focus la manière d utiliser le système

23 Séminaire IG 22 Modèle d utilisation Deux concepts Acteur Use case Acteur (rôle 1) Acteur (rôle 2)

24 Séminaire IG 23 Modèle d utilisation Acteur (rôle 1) Acteur (rôle 2) Les cas d utilisation peuvent être liés par des relations - d utilisation « use » - de raffinement « extend » « use » « extend »

25 Séminaire IG 24 Modèle structurel En UML, le modèle structurel ou statique est décrit à l'aide de deux sortes de diagrammes –Diagrammes de classes (description de tout ou d'une partie du système d'une manière abstraite, en termes de classes, de structure et d'associations). –Diagrammes d'objets (description d'exemples de configuration de tout ou partie du système, en termes d'objets, de valeurs et de liens).

26 Séminaire IG 25 Modèle structurel Objets du monde réel Objets informatiques État Interne caché Comportement visible Les objets

27 Séminaire IG 26 Modèle structurel Comportement influe sur l'état Etat réflète les comportements passés Objet Etat---> évolue au cours du temps Comportement---> actions et réactions Identité----> essence

28 Séminaire IG 27 Sophie Alain Système BD Luc : Professeur : Discipline Deux objets ou instances Modèle structurel

29 Séminaire IG 28 Modèle structurel Première abstraction Une classe peut être vue - la description en intention d'un groupe d'objets ayant même structure (même ensemble d'attributs), ayant même comportement (mêmes opérations), ayant une sémantique commune. - la « génitrice » des objets ou instances - le « conteneur » (extension) de toutes ses instances

30 Séminaire IG 29 Classe Attributs (propriétés) Voiture type : string marque : string couleur : string Titine :Voiture type =205 Peugeot rouge Modèle structurel Instance Valeurs d'attributs (État) « Est-instance-de »

31 Séminaire IG 30 Opérations et méthodes Voiture type : string marque : string couleur : string repeindre(c: Couleur) déplacer (d : longueur) Méthodes Implémentations Modèle structurel nom de la classe attributs opérations

32 Séminaire IG 31 Modèle structurel Un objet est instance d'une (seule) classe : –il se conforme à la description que celle-ci fournit, –il admet une valeur pour chaque attribut déclaré à son attention dans la classe, –il est possible de lui appliquer toute opération définie à son attention dans la classe. Tout objet admet une identité qui le distingue pleinement des autres objets : –il peut être nommé et être référencé par un nom (mais son identité ne se limite pas à ça).

33 Séminaire IG 32 Association / Lien (analogie Classe / Instance) Pays Ville nom a-pour-capitale Association : Pays nom=France :Ville nom = Paris a-pour-capitale Lien Modèle structurel

34 Séminaire IG 33 Modèle structurel Association en général binaire (degré = 2) mais.. AdhérentExemplaire emprunte DispositifDeLecture lire nom d'association association binaire association ternaire

35 Séminaire IG 34 Multiplicité et rôles d'une association Société Personne nom adresse nom date de nais. n°SS adresse emploie travaille-pour employeuremployé chef travailleur encadre Modèle structurel * 1..* 0..1

36 Séminaire IG 35 Modèle structurel exactement 1 Classe * 1..* ,4 au plus 1 aucun, 1 ou plusieurs (défaut) au moins 1 de 2 à 4 2 ou 4 Multiplicité Classe

37 Séminaire IG 36 Entreprise Personne nom adresse nom date de nais. adresse quantité Possède-des-actions capital actionnaire Modèle structurel Classe association Ligne de portefeuille *1..*

38 Séminaire IG 37 Classe association Utilisateur Station de travail nom Autorisation Autorisé sur priorité droits Répertoire répertoire de rattachement Modèle structurel 1..*

39 Séminaire IG 38 Classe association Modèle structurel Une classe d'association permet de modéliser une association par une classe. Les liens d'une telle association sont alors des objets instances de cette classe. À ce titre, ils admettent une valeur pour tout attribut déclaré dans la classe d'association; et on peut leur appliquer toute opération définie dans celle-ci. En tant que classe, une classe d'association peut à son tour être associée à d'autres classes (voire à elle-même par une association réflexive).

40 Séminaire IG 39 Modèle structurel D autres « abstractions » - associations particulières (composition / agrégation) - spécialisation / généralisation

41 Séminaire IG 40 Association particulière Tout /partie Barre titreFond Barre Ascenseur Frontière Indicateur TitreBouton Ferm Flèche Fenêtre Modèle structurel Composition

42 Séminaire IG 41 Agrégation Sémantique Collection/Élément Arbre Département Forêt 1 1..n Région Pays 1 1..n 1 Modèle structurel

43 Séminaire IG 42 Composition / Agrégation Modèle structurel Contraintes - Exclusivité/Partage - Dépendance/Indépendance Propagation/Diffusion

44 Séminaire IG 43 Modèle structurel Généralisation / Spécialisation Mécanismes dinférences intellectuelles de caractéristiques Soit on affine (spécialisation) Soit on abstrait (généralisation) Sémantique Point de vue ensembliste Point de vue logique

45 Séminaire IG 44 Personne nom adresse Étudiant num_carte adresse Enseignant grade adresse enseigner {disjoint} Modèle structurel Généralisation / Spécialisation

46 Séminaire IG 45 Généralisation / Spécialisation Pompe Échangeur Réservoir Pompe Cent.Pompe Imm. Réservoir Press. Équipement... Type d'équipement... Type de pompe... Type de réservoir Modèle structurel

47 Séminaire IG 46 Généralisation / Spécialisation multiple Modèle structurel Véhicule terrestre Véhicule aquatique Auto Véhicule amphibie Bateau Véhicule

48 Séminaire IG 47 Composition/Agrégation ou généralisation ? Agrégation - lien entre instances - un arbre d'agrégation est composé d'objets qui sont parties d'un objet composite Généralisation - lien entre classes Modèle structurel

49 Séminaire IG 48 Généralisation / Spécialisation Modèle structurel Une sous-classe hérite de sa super-classe la description des instances : –les déclarations d'attributs, –les définitions d'opérations, –les associations définies sur la super-classe, –les contraintes (on en parle plus tard). Une sous-classe peut redéfinir de façon plus spécialisée une partie ou la totalité de la description « héritée », mais il n'y a pas d'exception à l'héritage.

50 Séminaire IG 49 Classes abstraites Modèle structurel Une classe abstraite est une classe non instanciable, c'est à dire qu'elle n'admet pas d'instances directes. Une classe abstraite est une description d'objets destinée à être « héritée » par des classes plus spécialisées. Pour être utile, une classe abstraite doit admettre des classes descendantes concrètes. La factorisation optimale des propriétés communes à plusieurs classes par généralisation nécessite le plus souvent l'utilisation de classes abstraites.

51 Séminaire IG 50 Opérations abstraites Modèle structurel Une opération abstraite est une opération n'admettant pas d'implémentation : au niveau de la classe dans laquelle est déclarée, on ne peut pas dire comment la réaliser. Les opérations abstraites sont particulièrement utiles pour mettre en œuvre le polymorphisme. Toute classe concrète sous-classe d'une classe abstraite doit concrétiser toutes les opérations abstraites de cette dernière.

52 Séminaire IG 51 Classes abstraites Modèle structurel FormeGéométrique dessiner() déplacer(delta : Vecteur) centre : Point régulier : Boolean Polygone grandDiam : Vecteur petitDiam : Vecteur dessiner() opération abstraite classe abstraite classe abstraite (dessiner() est héritée et non concrétisée) opération concrétisée classe concrète Polygone utile que si spécialisée Ellipse

53 Séminaire IG 52 Interfaces Modèle structurel Une interface est une collection d'opérations utilisée pour spécifier un service offert par une classe. Une interface être vue comme une classe sans attributs et dont toutes les opérations sont abstraites. Une interface est destinée à être réalisée par une classe (celle-ci en hérite toutes les descriptions et concrétise les opérations abstraites). Une interface peut en spécialiser une autre, et intervenir dans des associations avec d'autres interfaces et d'autres classes.

54 Séminaire IG 53 Interfaces Modèle structurel MenuPopUp BlocDeChoix setDefault(o : Option) getChoice() : Option Option choix 1..* setDefault(o : String) getChoice() : String setDefault(o : Bouton) getChoice() : Bouton Bouton choix 1..* String choix 1..* opérations concrétisées «interface» BlocDeChoix interface opérations abstraites réalisation BoutonPopUp

55 Séminaire IG 54 Interfaces Modèle structurel Deux notations pour l'utilisation d'une interface MenuPopUp setDefault(o : Option) getChoice() : Option «interface» BlocDeChoix MenuPopUp ApplicationFenêtrée «uses» «uses» BlocDeChoix interface classe utilisatrice utilisation réalise

56 Séminaire IG 55 Les contraintes Modèle structurel Les contraintes sont des prédicats, pouvant porter sur plusieurs éléments du modèle statique, qui doivent être vérifiés à tout instant. Les contraintes permettent de rendre compte de détails à un niveau de granularité très fin dans un diagramme de classe. Elles peuvent exprimer des conditions ou des restrictions. En UML, les contraintes sont exprimées sous forme textuelle, entre accolades et de préférence en OCL (Object Constraint Language). Les contraintes sont héritées.

57 Séminaire IG 56 Les contraintes Modèle structurel Exemples de contraintes sur associations Chemin Arête * 1..* PersonneComité préside *1 membreDe ** {subset} {ordered} contrainte sur extrémité d'association contrainte entre 2 associations

58 Séminaire IG 57 Les contraintes Modèle structurel Exemple de contraintes à différents niveaux contrainte sur classe Personne chef subordonné diriger actif : Real {value 0} passif : Real Société { actif = passif } { Personne.employeur = Personne.chef.employeur } employeur *1..* contrainte sur attribut contrainte sur 2 associations

59 Séminaire IG 58 Quelques compléments de notation Modèle structurel Une relation de dépendance peut être exprimée entre deux éléments de notation. Elle est le plus souvent stéréotypée. Il y a plusieurs stéréotypes de dépendance : «uses», «instance of», … «instance of» relation de dépendance stéréotype Un stéréotype est un label qui permet d'apporter une précision supplémentaire à un élément de notation (classe, relation, …)

60 Séminaire IG 59 Modèle dynamique Décrit les interactions entre objets et les changements au cours du temps - Aspects temporels, comportementaux : Contrôle - Stimuli des objets et leurs réponses

61 Séminaire IG 60 Modèle dynamique diagrammes de collaboration diagrammes de séquences diagrammes états-transitions diagrammes d'activités (non traités)

62 Séminaire IG 61 Modèle dynamique La communication Systèmes informatiques Société d'objets travaillant en synergie pour réaliser les fonctions de l'application Communication Agent Serveur message Acteur

63 Séminaire IG 62 constructeurs destructeurs sélecteurs modificateurs itérateurs Types Synchronisation simple synchrone dérobant minuté asynchrone Les messages Modèle dynamique

64 Séminaire IG 63 Modèle dynamique Diagramme de collaboration B C message A 1: M1 2: M2 3: M3 4: M4 6: M6 5: M5

65 Séminaire IG 64 Modèle dynamique Diagramme de séquence B C A M1 M2 M3 M4 M6 M5

66 Séminaire IG 65 Modèle dynamique La ligne de vie :C1 « create » Création par le message « create » Activation de l objet qui exécute une opération op Destruction par un autre objet « destroy » op

67 Séminaire IG 66 Événement et État État d'un objet valeurs de ses attributs et de ses liens au cours du temps un objet peut changer d'état Événement stimuli d'un objet vers un autre objet Modèle dynamique

68 Séminaire IG 67 État 1 faire : Activité 1 Événement 1 [Cond1] / Action1 (attrib) État 2... Modèle dynamique Diagramme d état État d'un objet valeurs de ses attributs et de ses liens au cours du temps un objet peut changer d'état Événement stimuli d'un objet vers un autre objet

69 Séminaire IG 68 Modèle d implémentation Les packages Un package ou sous-système est un regroupement logique de classes, associations, contraintes.. Un sous-système est généralement défini par les services qu il rend Les liens entre sous-systèmes sont des liens de dépendance Les « packages » servent à structurer une application Ils sont utilisés dans certains LPO (Java) ce qui assure une bonne « traçabilité » de l analyse à l implémentation

70 Séminaire IG 69 Modèle d implémentation Les packages Classes avec fort couplage « sémantique » Liens de dépendance

71 Séminaire IG 70 Plan Adéquation Discussion

72 Séminaire IG 71 Persistance Classes vs Types persistants vs éphémères Points dentrée (racine de persistance) Regroupements Adéquation aux BD « objet » LDD, LMD, L Hôte LDD, LMD, L Hôte équivalents LPO Langage de requête like SQL Transactions

73 Séminaire IG 72 Adéquation aux BD « classiques » Traduction comme précédemment d. structurels --> schémas d. dynamiques --> requêtes et traitements applicatifs divers Mais règles de « passage »

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

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

76 Séminaire IG 75 Visions discrète vs continue température densités de population,... Échelles pas un simple rapport taille du support/terrain granularité de perception Sémantique des informations spatiales

77 Séminaire IG 76 Représentations Géométrie euclidienne point (dim 0) ligne (dim 1) aire (dim 2) volume (dim 3) Théorie des graphes nœud, arête, arc, chaîne Topologie relations spatiales

78 Séminaire IG 77 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

79 Séminaire IG 78 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

80 Séminaire IG 79 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

81 Séminaire IG 80 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

82 Séminaire IG 81 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

83 Séminaire IG 82 Représentations Théorie des graphes nœud, arête, arc, chaîne Nœud Arc n Est-relié-à 0..n origine 0..n 1..1 extrémité 1..n

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

85 Séminaire IG 84 Représentations Raster

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

87 Séminaire IG 86 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

88 Séminaire IG 87 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

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

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

91 Séminaire IG 90 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

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

93 Séminaire IG 92 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

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

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


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

Présentations similaires


Annonces Google