|
Home
/ Research / Thesis
|
| Résumé TOC Intro. Partie 1 Partie 2 Partie 3 Conclusion Annexes Biblio. | |
|
Chapitre 1 : Les Systèmes d'Information Multimédia Chapitre 2 : Les Logiciels Educatifs Chapitre 3 : Les Fondements de la Méthode COSYf |
|
|
Chapitre 1
1. Le Multimédia 1.1 La Notion de Média 1.2 Les Informations Multimédias 1.3 Les Documents Multimédias 1.4 Les Applications Multimédias 1.5 Les Normes Liées au Multimédia 1.6 Conclusion 2. La Conception des Systèmes d'Information Multimédia 2.1 La Définition d'un Système d'Information Multimédia 2.2 La Définition d'une Méthode de Conception 2.3 Le Modèle Orienté Objet 2.4 Les Méthodes de Conception des Systèmes d'Information 2.5 Conclusion 3. Conclusion
Notre approche des Systèmes d'Information Multimédia commence par une brève étude du multimédia au travers de la notion de média et de document multimédia ; puis nous exposons les différents types d'applications susceptibles d'utiliser le multimédia. Une partie des points développés dans cette étude est basée sur [Frasson, 93] [Golshani, 92] [Pinon, 90] [Sauter, 93]. Nous abordons ensuite la conception des systèmes d'information multimédia par une définition des systèmes d'information multimédia. Mais l'utilisation du multimédia ne peut être envisageable sans l'aide d'un modèle de représentation efficace. Ainsi, le modèle orienté objet en permettant l'encapsulation en une seule entité des données et des traitements peut offrir une solution à la gestion du multimédia. C'est essentiellement pour cette raison que nous avons opté pour une approche orientée objet. Après la présentation du modèle orienté objet, nous exposons ensuite les différentes méthodes orientées objet de conception des systèmes d'information. 1. LE MULTIMEDIA L'avènement de nouvelles technologies permettant l'intégration de plusieurs types de données au sein d'un même système a favorisé le développement rapide du multimédia. Le concept de multimédia est souvent flou dans l'esprit même de ceux qui en sont les initiateurs ou les utilisateurs quotidiens. Le multimédia peut être simplement défini comme la capacité que possède un système informatique de gérer de manière identique des données de divers types (texte, audio, image, etc.), que ce système ait une portée locale ou délocalisée. Mais dans multimédia n'y a t-il pas le terme média ? 1.1 La Notion de Média 1En général la notion de média désigne toutes les formes et moyens de communication d'informations. Au sens étymologique, un média est un intermédiaire, un moyen de liaison. Le mot média désigne donc tous les systèmes permettant d'établir des liens, de faire circuler des messages ou des données entre individus, en temps réel aussi bien qu'en temps différé. Il ne faut pas assimiler le média et le support physique qui véhicule le message. Par exemple si la télévision est un média, le câble ou les ondes hertziennes ne sont que des supports de ce média. Définition : Média Un média se caractérise par une chaîne fonctionnelle entre un émetteur et un récepteur comprenant deux entités fonctionnelles : - le codage/décodage des données, - le stockage et/ou transport des données. La deuxième entité fonctionnelle correspond au support du média (exemples : le câble, les ondes hertziennes, etc.). Deux médias seront donc différents dès lors qu'une entité de la chaîne est différente, c'est-à-dire si le type de données change ou si son stockage et/ou transport est modifié. A titre d'exemple voici une présentation informelle de quelques types de données susceptibles d'être utilisés par un système informatique : - le texte est une donnée fortement non structurée qui nécessite l'introduction de types de données pour englober la sémantique du texte de manière satisfaisante ; - le graphique, c'est-à-dire les fonctions graphiques présentes dans la majeure partie des langages de programmation, est généralement représenté par une matrice. Ce type de représentation demande une perception des détails qui n'est pas nécessaire pour les tâches manipulant des graphiques. Une meilleure abstraction des objets graphiques semble préférable. Ainsi Mallgren [Mallgren, 83] définit le concept de région comme étant un ensemble de points dans un univers U ; - l'audio inclut les données de type vocal : paroles digitalisées, musique digitalisée, synthèse de parole, etc ; - l'image, ou donnée spatiale, peut être stockée dans les formats bitmap (grille de points bi-dimensionnelle) et vectoriel (collection de formes et de leurs positions respectives dans l'espace défini) ; - la vidéo est un média où la recherche de ce type de données reste un problème complexe. Les méthodes courantes pour la recherche de données vidéo incluent l'usage de labels textuels et de pointeurs. Mais ces méthodes ne résolvent pas le problème de la recherche sémantique. Nous avons pu effectuer une étude un peu plus complète sur les médias et notamment sur les différents types de données et de supports dans le cadre de notre mémoire de DEA [Merlet, 90]. 1.2 Les Informations Multimédias A partir de la notion de média, nous pouvons introduire le concept d'information multimédia : Définition : Information Multimédia Une information multimédia est une composition, ayant sémantiquement un sens, de différents médias. Il ne suffit pas d'utiliser des données de natures hétérogènes pour que cela forme obligatoirement une information multimédia. En effet, la composition se doit de garantir une cohérence sémantique entre ces données. Ainsi, l'agrégation d'un graphique et d'un commentaire sonore constitue une information multimédia seulement si le commentaire correspond effectivement au graphique.
Figure I.1.1 : Exemple d'information multimédia Une information multimédia peut se formaliser par une arborescence qu'à deux niveaux. Ainsi, nous imposons dans notre définition qu'une information multimédia ne peut être elle-même composée d'une autre information multimédia. En effet, ce cas est pris en compte par le concept de document multimédia (cf. § 1.3). L'extrémités des branches correspondent obligatoirement à des médias et la racine constitue l'information multimédia.
1.3 Les Documents Multimédias Le terme document a un sens très général. Il désigne un ensemble structuré et complexe d'informations manipulé globalement par une application (Recherche du document, Affichage du document, etc.). Si nous ajoutons la notion de multimédia à un document cela revient tout simplement à modifier le type d'information contenu dans un document. La structure d'un document peut être formalisée à l'aide d'un arbre. La racine, les noeuds et les feuilles correspondent aux entités suivantes : - la racine correspond au document multimédia dans sa globalité, - les noeuds correspondent aux informations multimédias, - les feuilles correspondent à des médias. Définition : Document Multimédia Un document multimédia est une composition : - de documents multimédia ou d'informations multimédia si le niveau d'abstraction est strictement supérieure à 2 ; - d'informations multimédia si le niveau d'abstraction est égale à 2. Illustrons cette définition à l'aide d'un exemple relatif à un cours :
Figure I.1.2 : Exemple de Document Multimédia
1.4 Les Applications Multimédias Le domaine d'application du multimédia est très vaste et concerne toutes les industries ou utilisateurs indépendants, susceptibles de recourir aux images, aux animations, aux présentations dynamiques, aux explications visuelles et auditives pour améliorer leur environnement de travail. Nous présentons dans ce paragraphe quelques-unes de ces applications. 1.4.1 Les Applications Scientifiques et Médicales Ce type d'application a de plus en plus recours au multimédia afin d'améliorer la visualisation des résultats. Elle permet de mettre en évidence des problèmes scientifiques ou techniques et favorise la compréhension et la prise de décision. Ainsi l'apport du multimédia dans le domaine médical, favorise la simulation de fonctionnement d'organes, d'opérations ou de résultats d'interventions comme la chirurgie plastique. 1.4.2 Les Applications de Consultation Dans ce type d'application, l'utilisateur peut accéder, à travers une station de travail ou une borne interactive, à des bases de données documentaires ou d'informations multimédias. Dans le cas de bases documentaires, le multimédia remplace toute la documentation technique (textes, schémas, catalogue, etc.) et permet une consultation plus facile grâce à une gestion centralisée des accès par le système. Les bases de données multimédias sont généralement utilisées pour promouvoir des produits et/ou des services, pour fournir des instructions, etc. Par rapport à une borne d'information "classique" (vidéo plus télévision), ces nouvelles bornes offrent une meilleure interactivité et l'accès à des médias hétérogènes. Les problèmes soulevés par ce type d'application concernent la mise à jour des documents, la définition de réseaux de consultation et de normes de transfert. 1.4.3 Les Applications de Formation Dans ce type d'application il faut distinguer les applications de formation professionnelle (apprentissage et maintenance de produits industriels) des applications de formation scolaire (formation initiale ou continue). L'intégration des techniques d'Intelligence Artificielle à la technologie multimédia permet de gérer au mieux l'interaction avec l'utilisateur en fonction de ses réactions et besoins. En effet, dans le domaine de la formation, l'interaction homme-machine tient une place importante. Une des qualités de base d'un système de formation est d'interagir de manière efficace. Il est nécessaire de multiplier les formes de représentation des connaissances pour soutenir l'attention et la motivation de l'apprenant (aspects ludiques et esthétiques des formes de représentation). Avec une interaction multimédia, l'apprenant peut s'investir dans une séquence d'apprentissage avec tous ses sens (l'oeil, l'oreille, le geste, etc.). L'étude de l'interaction multimédia vis-à-vis de la formation met en jeu les axes suivant : - la qualité des représentations virtuelles du réel, - le degré d'implication sensorielle des apprenants, - l'étendue et les limites de l'interaction multimédia, - le pouvoir de communicabilité des médias, Ce dernier point est sans doute le plus important. De nos jours, l'interaction multimédia s'est considérablement enrichie et rapprochée de l'environnement quotidien puisque désormais cette interaction fait appel à l'écrit, à la voix, à l'image. Mais il s'avère nécessaire de pouvoir mesurer le rôle de la communication de chaque média comme support de la transmission des savoirs. L'enrichissement de l'interaction homme-machine peut-il être réellement applicable à la formation ? Nous pouvons sans hésiter répondre par l'affirmative à cette question. En effet, même s'il s'agit d'un contexte de communication artificiel, l'apprenant retrouve un nombre important de repères du monde réel. Il peut davantage se concentrer sur l'apprentissage en lui-même.
Pour que les applications multimédias ne soient pas isolées les unes des autres et que leur conception répondent à des critères de qualité et de productivité, il s'avère nécessaire d'établir au préalable des normes. 1.5 Les Normes Nous nous intéressons aux normes [Biezunski, 93][Borde, 92][Colaitis, 93] [Mabrouk, 90] et non aux standards car elles représentent parfaitement l'évolution de l'état de l'art sur le long terme même si elles sont plus longues à mettre en place que les standards. Dans cette section, nous prenons en compte non seulement les normes liées au multimédia, mais également les normes concernant les documents multimédias ou non. Comme notre problématique est plus particulièrement axée sur les documents multimédias, ce sont les normes de documents multimédias qui nous concernent le plus.
Pour essayer d'éclaircir ces différentes normes, nous allons essayer d'établir une typologie de ces normes. 1.5.1 Les Normes Liées au Multimédia Ces normes sont issues du sous comité SC 29 qui a été créé en 1991 par le comité mixte ISO/CIE responsable des technologies de l'information. 1.5.1.1 Les Normes de Codage des Médias Dans cette catégorie, nous trouvons les normes : - JPEG (Joint Photographic Experts information coding Group) : ISO/IEC 10918-1 ; compression numérique et codage des images de nature photographique ; - JBIG (Joint Binary-level Image information coding experts Group) : ISO/IEC DIS 11544 ; représentation codée des images et du son, compression progressive des images en deux tons ; - MPEG (Moving Picture and associated audio information coding Experts Group) : DIS 11172 ; codage de l'image animée et du son associée pour les supports de stockage numérique jusqu'à environ 1,5 Mbit/s. 1.5.1.2 La Norme de Codage des Informations Dans cette catégorie, nous trouvons la norme : - MHEG (Multimedia and Hypermedia information coding Experts Group) : SC29/WG/12 : représentation codée des objets d'information multimédia et hypermédia. 1.5.2 Les Normes Liées au Document Ces normes permettent de représenter les documents textuelles. 1.5.2.1 La Norme SGML SGML (Standard generalized Markup Language, langage normalisé de balisage généralisé) (ISO 8879 : 1986) provient des travaux des éditeurs dans les années 70 qui ont cherché à développer des systèmes de balisage générique pour décrire des documents structurés. néanmoins, la norme SGML a une portée plus générale puisqu'elle permet de décrire n'importe quelle structure de données textuelles. SGML est un métalangage qui permet de créer des DTD (Définitions de Types de Documents). Une DTD est un fichier de texte ASCII qui décrit la structure d'une classe de documents. 1.5.2.2 La Norme ODA La norme de représentation de documents ODA (Office document Architecture) (ISO 8613) offre des notions avancées pour décrire et échanger des documents. Cette norme qui distingue les descriptions physique et logique d'un document (structures arborescentes : partie 2 de la norme), permet également la description du contenu (portions de contenus : partie 6, 7, 8, etc. de la norme). ODA définit également un format d'échange entre systèmes hétérogènes ODIF (Office Document Interchange Format) qui décrit les constituants ODA référencés. 1.5.3 La Norme Liée aux Hyperdocuments : HyperODA Le projet de norme HyperODA, basée sur ODA, propose une architecture en couche dont la couche supérieure, appelée hyperstructure, représente le réseau de noeuds et de liens de l'hyperdocument et référence le contenu des noeuds décrits en ODA. 1.5.4 La Norme Liée aux Hyperdocuments Multimédias : HyTime La norme HyTime (Hypermedia Time-based structuring language) (ISO 10744 : 1992) est un langage de structuration hypermédia et événementiel. Elle est sur le plan syntaxique une application de SGML qui permet de décrire des documents hypertextuels et des documents qui contiennent des dépendances temporelles. HyTime s'est appuyé sur le projet de norme SMDL (Standard Music Description Language) (ISO : 10743). HyTime permet de concevoir des descriptions normalisées pour gérer les liens et leurs évolutions. Contrairement à SGML, HyTime peut relier des documents de structures différentes (différentes DTD) et même non SGML. En fait, HyTime est une méta DTD correspondant à un parser SGML qui en plus valide les liens.
1.6 Conclusion Partout où l'image et le son s'avèrent être des éléments décisionnels, le recours au multimédia est voué à un développement rapide. Cependant, cette technologie du multimédia n'est réellement exploitable que si nous disposons de normes (en cours d'élaboration actuellement) et d'un modèle puissant permettant d'exploiter toute la richesse et la complexité du multimédia. Si les "nouveaux" médias numériques comme la vidéo, l'audio sont des composants essentiels des stations de travail, ils ne pourront être banalisés qu'à partir de la disponibilité : - d'applications utilisant ces médias, - de canaux de télécommunication et de distribution adéquats. Ces deux facteurs fixent la vitesse à laquelle évolue cette nouvelle technologie. En ce qui concerne notre domaine de recherche, seul le premier facteur nous intéresse. Mais pour que cette technologie soit réellement utilisable il nous apparaît nécessaire d'utiliser un modèle de représentation de ces informations multimédias qui sont sémantiquement très riche. L'approche orientée objet, en offrant des avantages comme l'encapuslation, l'héritage, la classification et la réutilisabilité, semble montrer de réels avantages pour construire des systèmes basés sur le multimédia. 2. La Conception de Systemes d'Information Multimédia L'analyse des systèmes d'information multimédia passe tout d'abord par une précision du terme conception. D'après la définition du Petit Larousse Illustré, la conception est l'action de former, d'élaborer quelque chose dans son esprit. D'un point de vue informatique, la conception consiste à exprimer une solution dont l'implémentation se doit d'être conforme à la spécification faite durant l'étape d'analyse. Pour Coad [Coad, 91], la conception revient à "prendre la spécification d'un comportement externe observable et d'y ajouter des détails nécessaires à l'implémentation sur un ordinateur, en incluant l'interaction humaine, la gestion des tâches et les détails de la gestion des données". A travers ces définitions, il apparaît clairement que la conception se situe entre les étapes d'analyse et d'implémentation du cycle de vie. Mais à quel moment la conception doit-elle commencer et finir ? L'étape de conception peut démarrer dès que le modèle généré lors de l'analyse est suffisamment complet et validé par les utilisateurs. La conception peut s'arrêter lorsque la solution élaborée n'évolue pas ou peu dans sa globalité. Une fois cette précision faite, il nous faut proposer deux définitions clés. Celles-ci concernent respectivement les systèmes d'information multimédia et la conception de tels systèmes. Avant de présenter un état de l'art sur les différentes méthodes de conception de systèmes d'information, nous précisons d'une part les choix d'une approche orientée objet et d'autre part les principaux concepts du modèle orienté objet. J. Mélèze [Mélèze, 91] définit un système d'information comme l'ensemble des moyens et des communications qui assurent la saisie, le contrôle, le stockage, le traitement et la distribution des informations. Nous ajoutons à cette définition que les informations traitées peuvent être multimédias. En effet, alors que le texte véhicule la théorie, l'image et le son permettent l'illustration et par la même facilitent l'assimilation et la compréhension. Ainsi l'utilisation du multimédia, en permettant un mixage d'informations de types divers, va favoriser l'amélioration du dialogue entre l'usager et le système d'information. Nous proposons une définition d'un Système d'Information Multimédia inspirée des travaux de [Rolland, 88] et prenant en compte les concepts de système d'information et de multimédia définis plus haut.
Définition : Système d'Information Multimédia Un Système d'Information Multimédia présente les caractéristiques suivantes : - Au niveau des données : le Système d'Information Multimédia est constitué par une collection de données de types hétérogènes dont les différentes compositions possibles représentent partiellement l'aspect pertinent du monde réel ; - Au niveau des fonctionnalités : une collection de règles connues par les utilisateurs du Système d'Information Multimédia fixe et traduit son fonctionnement informel. Ces règles sont nécessaires pour l'interprétation et la manipulation des collections de données. Les règles fonctionnelles sont assouplies par la richesse sémantique des informations restituées ; - Au niveau des traitements : l'ensemble des procédés (acquisition, mémorisation, transformation, recherche, communication et restitution) manipule des données hétérogènes conformément aux règles fonctionnelles. Le multimédia, par la nature même des données qui le composent, implique des traitements complexes ; - Au niveau humain et technique : les différents acteurs disposent d'un ensemble de moyens techniques qui leur permet de réaliser et de faire évoluer les objectifs du système d'information multimédia . Notre but étant de concevoir de tels systèmes d'information, il nous faut au préalable définir le sens que revêt pour nous le concept de méthode de conception. 2.2 La Définition d'une Méthode de Conception D'après [Rolland, 88], toute méthode de conception de Systèmes d'Information doit mettre en oeuvre quatre composantes indissociables et complémentaires : - Des Modèles : un modèle est un ensemble de concepts et de règles. Il est destiné à expliquer et à représenter les éléments qui composent le système d'information ainsi que leurs relations. - Des Formalismes : un formalisme est un ensemble de constructions qui permet de décrire formellement les spécifications du système d'information. Ces dernières sont élaborées aux différents stades du processus de conception en s'appuyant sur les modèles de la méthode. - Une Démarche : la démarche est le processus opératoire grâce auquel s'effectue le travail de modélisation, de description, d'évaluation et de réalisation du système d'information. Nous précisons le sens que revêt pour nous le concept de démarche en définissant deux niveaux d'abstraction suivants : - un niveau global qui détermine l'étendue (analyse, conception, etc.) et la forme (cascade, spirale, etc.) du cycle de vie de la méthode ; - un niveau local qui permet, pour chaque étape du cycle de vie, de déterminer les phases nécessaires à la construction du ou des modèle(s) à l'aide du ou des formalisme(s) associée(s) ainsi que l'approche utilisée (ascendante, descendante, etc.). Le niveau local est un niveau d'instanciation de modèles. Le niveau global permet de gérer l'enchaînement entre ces instanciations de modèles. - Des Outils : les outils supportent la démarche. Ils peuvent être des outils de documentation, d'évaluation, de simulation, d'aide à la conception ou à la réalisation. Ces quatre éléments sont, selon les méthodes, plus ou moins développés.
Nous remarquons à travers cette définition, que le modèle est un élément central de toute méthode de conception. En plus des justifications faites plus haut (cf. § 1.6), examinons les apports du modèle orienté objet à la conception d'un système d'information multimédia, ainsi que ses principaux concepts. 2.3 Le Modèle Orienté Objet Le principal argument qui peut expliquer l'engouement actuel pour l'approche orientée objet, concerne les facilités de modularité, d'extensibilité et de réutilisabilité, et par voie de conséquence les gains de productivité et de maintenance qu'elles engendrent. Cette approche introduit une nouvelle méthode de conception dont la caractéristique principale est de se concentrer sur les objets du réel et non sur les traitements. En effet comme le souligne E. Denert [Denert, 91] : "Dans le temps, l'analyse d'un système informatique était très difficile à cause de l'empreinte prédominante des fonctions. Dans les années 80, les données ont été mieux prises en considération. Cela s'est traduit par l'importance qu'ont pris les modèles de données, les bases de données de relationnelles, les dictionnaires de données, etc. Les deux approches, fonctions ou données, ont bien sûr toutes deux un sens. Mais, prises isolément, elles ne constituent qu'un aperçu d'un système. Il existe un modèle dont la nature profonde consiste à lier données et fonctions. Ce modèle est le modèle orienté objet." Tout ceci laisse entendre que l'approche orientée objet surpasse l'approche par les données dans la mesure où les objets associent les données et les traitements. Tous les concepts de l'approche orientée objet développés dans cette section sont le résultat d'une synthèse établie à partir des études de [Amiel, 92] [Booch, 92] [Chrisment, 91] [Ferber, 90] [Masini, 90] [Meyer, 90]. 2.3.1 L'Origine du Modèle Orienté Objet Il faut chercher l'origine du modèle orienté objet dans les domaines des langages de programmation et de l'intelligence artificielle. En effet, les divers concepts objet sont apparus avec les langages de programmation comme le langage Simula67 à la fin des années soixante, puis avec le langage Smalltalk en 1972 et avec le langage Eiffel. Plus récemment, des langages de programmation classiques (C, Lisp, etc.) ont permis la création de langages orientés objet, comme le C++, l'Objective C ou le Common Lisp Object System. Le concept objet est également apparu très tôt dans le domaine de l'intelligence artificielle où les connaissances peuvent être représentés par des objets comme les frames proposées par Minsky [Minsky, 80]. 2.3.2 La Notion d'Objet Un objet est une entité qui simule une réalité, simple ou complexe, du monde réel. Cette réalité peut être soit un élément physique, soit une entité conceptuelle. Cette capacité de modélisation directe de la réalité représente la caractéristique fondamentale de l'approche orientée objet. Définition : Objet. Un objet comprend à la fois : - une partie statique : elle représente son état et les liens qui l'unissent à d'autres objets, - une partie dynamique : elle décrit son comportement. Un objet est donc caractérisé par une structure regroupant les données et les opérations, appelées méthodes. Celles-ci permettent le traitement d'un objet par une interface décrivant la façon dont il peut être manipulé. L'interface de l'objet, composée de sélecteurs (i.e. les noms des méthodes), est la partie visible de l'objet, sa structure étant uniquement connue par l'objet lui-même et n'étant pas accessible par les autres objets. Un objet ne peut être manipulé que via les méthodes (à travers l'envoi de messages) que lui a associées son créateur. Il s'agit du principe d'encapsulation (un objet encapsule son état et son comportement). Les objets de même type sont regroupés dans des classes. La création d'un objet consiste à instancier une classe. En raison du principe d'encapsulation, la notion de classe rappelle la notion de type abstrait. Cependant elle diffère dans le sens où une classe décrit la structure et le comportement de ses instances mais ne sert pas nécessairement à des fins de contrôle de type. Une classe forme une modélisation de ses instances. De plus, la classe sert à désigner et à manipuler l'ensemble de ses instances de manière similaire aux relations des bases de données relationnelles. 2.3.3 Les Concepts Objets Bien qu'il n'y ait pas de consensus véritable sur les composantes du modèle orienté objet, nous pouvons toutefois dégager un ensemble minimal de concepts communs. 2.3.3.1 Les Classes et Instances Des objets de même type se regroupent en classes. Instancier une classe correspond à créer un nouvel objet appelé instance et le système affecte un identifiant unique et invariable à cette instance (ou objet). Définition : Classe Une classe regroupe un ensemble d'objets définis selon un même type, c'est-à-dire ayant les mêmes parties statiques et dynamiques. Une classe est constituée par un ensemble d'attributs (appelé aussi variables d'instances) qui décrivent la structure des instances et par un ensemble de méthodes qui décrivent le comportement des instances. La définition de la classe sert de modèle (ou de moule) pour construire ses représentants physiques appelés instances. La classe ne sert que de modèle partiel puisque les méthodes représentent les comportements communs aux instances et ne sont donc pas dupliquées. La liste des attributs est contenue dans le classe alors que les valeurs associées aux attributs sont contenues dans l'instance. Le concept de classe favorise la modularité. 2.3.3.2 L'Héritage La classe peut être considérée comme un réservoir de connaissances à partir duquel il est possible de définir d'autres classes (les sous-classes). Les sous-classes peuvent être plus spécifiques et/ou compléter les connaissances de leur classe mère (la super-classe) par une extension des attributs et des méthodes. L'héritage lie une sous-classe à sa super-classe. Ce mécanisme permet donc la transmission des attributs et méthodes de la super-classe vers le ou les sous-classe(s). Par cette relation, les classes sont organisées hiérarchiquement. La représentation graphique de cette relation constitue le graphe d'héritage. L'héritage correspond à la notion "EST-UN" (exemple : un rectangle "EST-UN" graphique). Définition : Héritage simple - Une classe A qui hérite d'une classe B, dispose implicitement de tous les attributs et de toutes les méthodes définies dans la classe B. - Les attributs et les méthodes définies dans la classe A sont prioritaires par rapport aux attributs et aux méthodes de même nom définies dans la classe B. L'héritage peut être multiple si une classe hérite de plusieurs classes. L'héritage multiple permet de définir de nouvelles classes par fusion des attributs et des méthodes de plusieurs autres classes. La majorité des langages orientés objet et des systèmes de gestion d'objet n'autorise que l'héritage par spécialisation. Pour celui-ci, les sous-classes sont plus spécifiques que la super-classe. La spécialisation d'une classe consiste soit à donner de nouveaux attributs et/ou méthodes, soit à redéfinir le corps des méthodes. Le concept d'héritage favorise l'extensibilité et la réutilisabilité. 2.3.3.3 La Composition Pour définir de nouvelles classes, il est possible, hormis la relation d'héritage, d'introduire des niveaux d'encapsulation supplémentaires. Cela revient à créer des objets par composition d'autres objets.
Définition : Composition La relation de composition permet aux attributs d'une classe, appelée classe composite, de prendre pour valeur des instances d'autres classes, appelées classes composantes. Un lien de composition est défini grâce à la notion de domaine d'un attribut. Un domaine peut être soit une classe primitive, soit une classe complexe définie par l'utilisateur. Pour définir des liens de composition, la classe composite est pourvue d'attributs désignant ses différentes classes composantes. Pour une classe composite donnée, l'ensemble des classes composantes qui lui sont associées par des liens de composition forme un graphe de composition. La composition correspond à la notion "A-UN" (exemple : une flèche est composée d'un triangle et d'une ligne, c'est-à-dire une flèche "A-UN" triangle et "A-UNe" ligne). Une typologie des différents liens de composition sera présentée au chapitre 3. 2.3.3.4 Le Polymorphisme Le polymorphisme est une conséquence du principe d'héritage. Le polymorphisme est la capacité pour une entité de prendre plusieurs formes. Définition : Polymorphisme Une variable déclarée comme instance d'une classe peut référencer un objet de sa classe ou de toute sous-classe de sa classe. Le polymorphisme donne la possibilité d'attribuer un nom à une méthode. Ce nom sera utilisé dans toute la hiérarchie de classe. Au niveau de l'implantation des méthodes, cela correspond à un masquage ou à une surcharge. Le masquage est la possibilité de redéfinir l'implantation d'une méthode pour chaque classe. La surcharge est la possibilité pour un même nom de méthode de représenter des actions différentes. Le système détermine l'action associée au moment de l'exécution en fonction des paramètres. 2.3.3.5 L'Envoi de Message L'envoi de messages est le protocole de communication entre les objets. Résumé : Message Un message se dirige vers un objet et lui transmet le nom de la méthode à exécuter. Un message envoyé à un objet, appelé receveur, permet d'activer une méthode (par le biais de son sélecteur) inscrite dans son interface. La structure d'un message est la suivante : Structure d'un message : RECEVEUR.SELECTEUR(PARAMETRES) Le choix de la méthode à exécuter s'effectue suivant le type du receveur. En raison du polymorphisme d'objets, ce type peut être le type déclaré (statique) ou le type effectif à l'exécution (dynamique) : la méthode activée est celle de la classe réelle de l'objet. 2.3.3.6 La Persistance La persistance est la propriété permettant à un objet de continuer d'exister après que son créateur ait cessé d'exister et/ou que l'emplacement où l'objet a été créé change d'adresse (dans le cas de systèmes distribués). Résumé : Persistance La persistance préserve l'état et la classe d'un objet à travers le temps et l'espace. Remarque : L'introduction du concept de persistance dans le modèle orienté objets est un des concepts de base qui donne naissance aux bases de données orientées objets. Tous les langages associés aux systèmes de gestion de bases de données orientées objet s'appuient sur un modèle de persistance. Un tel modèle doit respecter les principes suivant : - orthogonalité : indépendance de la persistance par rapport au type ou à la création d'instances (i.e. aucune différence entre objet temporaire ou persistant) ; - propagation : la persistance peut être propagée par héritage ou par référence ; - transparence : uniformité de la manipulation des données temporaires et persistantes. 2.3.4 Conclusion Grâce au concept d'encapsulation, l'approche orientée objet permet la modularité, l'unité de base étant l'objet, et la cohésion entre données et traitements. Ceci facilite évidemment la manipulation d'objets complexes. Les systèmes basés sur l'approche orientée objet apportent ainsi des solutions à la réalisation d'applications complexes comme celles liées au multimédia. En effet, l'approche orientée objet permet de spécifier dans les objets les comportements spécifiques à chaque média (image, son, ...). Par conséquent, la conception des applications dans lesquelles sont regroupés des objets de natures différentes devient indépendante de ces médias. Mais ces solutions sont encore partielles et nécessitent certaines évolutions. Si nous nous référons au nombre de propositions d'extensions des concepts de base qui sont régulièrement publiées, nous pouvons considérer que le modèle orienté objet n'est pas encore totalement assis. Ces extensions ont pour objet d'augmenter la puissance de représentation du réel offerte par le modèle. 2.4 Les Méthodes de Conception de Systèmes d'Information Les méthodes actuelles ne sont pas stabilisées et totalement assises mais au contraire elles évoluent et s'influencent les unes aux autres. De ce fait toute tentative d'analyse et de comparaison de celles-ci s'avère contestable. Il nous faut utiliser un canevas permettant d'effectuer une analyse la plus rigoureuse possible. En rappelant que pour nous toute méthode de conception comprend quatre composantes indissociables (modèle, formalismes, démarche, outils), nous allons analyser les diverses caractéristiques des méthodes existantes au travers de ces composantes. La difficulté réside dans le fait qu'aucune des méthodes de conception ne corresponde exactement à ce schéma. En effet, certains auteurs font la confusion entre modèles, formalismes, démarche et outils. Il nous a fallu effectuer une analyse rigoureuse pour pouvoir classifier ces différentes méthodes de conception qui ne sont pas suffisamment structurées. Nous ne retenons dans ce paragraphe que les méthodes de conception de systèmes d'information s'appuyant dès les premières étapes du cycle de vie sur une approche orientée objet. En plus de la justification faite plus haut de ce choix, nous pouvons argumenter notre décision par le fait que : - la modélisation est plus naturelle (abandon de la normalisation, abandon de la séparation données/traitements), - l'évolutivité, la réutilisabilité et la maintenabilité sont améliorées grâce au concept de l'encapsulation, - un objet ayant une validité étendue à tout le cycle de développement augmente la traçabilité. Ces méthodes sont soit de simples extensions orientées objet de méthodes de conception classiques de systèmes d'information, c'est-à-dire basées sur le modèle Entité-Association, soit des nouvelles méthodes orientées objet. Ces méthodes sont les suivantes : - Object Oriented Merise (OOM) [Rochfeld, 91][Rochfeld, 92][Rochfeld, 93] : OOM est une version orientée objet de la méthode Merise. Elle reste conforme aux concepts de Merise tout en s'adaptant aux orientations objet (bases de données ou langages de programmation) ; - Object Modelling Technique (OMT) [Andonoff, 92][Rochfeld, 92] : OMT est une méthode orientée objet d'analyse et de conception de systèmes d'information ; - Conception Orientée Objet Pilotée par les Evénements (COOPE) [Ergin, 92][Martin, 91] : COOPE est une méthode de conception orientée objet de systèmes d'information. Cette méthode repose sur une approche globale dirigée par les événements et sur un modèle d'objets autonomes et coopérants ; - O* [Brunet, 93][Brunet, 92][Cauvet, 89][Kraiem, 93][Rolland, 91] : O* est une méthode d'analyse basée sur un modèle conceptuel orienté objet pour la spécification des systèmes d'information. C'est une méthode systémique qui établit une séparation nette entre l'analyse et la conception logique ; - Méthode de Conception des systèmes d'Objets (MCO) [Castellani, 91a][Castellani, 91b][Kraiem, 93] : MCO est une méthode systémique et du génie logiciel d'analyse et de conception évolutive des systèmes d'objets et de spécification des objets. 2.4.1 Les Modèles A travers tous les modèles proposés, nous avons pu dégager deux types de modèles : des modèles qui sont des extensions des modèles des méthodes classiques et des modèles issus du modèle orienté objet.
2.4.1.1 Les Modèles Orientés Objet des Méthodes Issus des Méthodes Classiques Les méthodes qui rentrent dans cette catégorie sont : OOM et OMT. Ces deux méthodes proposent une modélisation en trois dimensions pour décrire le système d'information : - la dimension statique est basée sur le modèle Entité-Relation enrichi de concepts supplémentaires dus aux nouvelles technologies objet et plus particulièrement des systèmes de gestion de bases de données orientés objet. Le modèle de données résultant permet donc l'intégration : - des propriétés multivaluées, - des mécanismes de généralisation et de spécialisation, - des mécanismes d'agrégation ou composition ; - la dimension dynamique est essentiellement basée sur la notion de cycle de vie des entités. Le modèle dynamique correspondant permet de représenter l'évolution du système à travers les notions d'événements internes ou externes, de synchronisations et de l'évolution des états successifs des objets. Ce modèle décrit en fait l'enchaînement des opérations. Il se justifie par le fait que ces méthodes considèrent que tout n'est pas objet et plus particulièrement les traitements qui opèrent sur les objets. Ces traitements sont des scénarii correspondant à une utilisation particulière d'un ensemble d'objets ; - la dimension fonctionnelle est basée sur la notion de flux de données. Elle précise le résultat des différentes opérations c'est-à-dire leur fonction alors que le modèle dynamique se préoccupe plus du séquencement des opérations. Ainsi le modèle fonctionnel correspondant spécifie le sens des opérations du modèle de données (dimension statique) et du modèle dynamique. 2.4.1.1.1 Les Modèles de OOM Par rapport à la modélisation à trois dimensions, la méthode OOM propose un modèle supplémentaire qui est le modèle de l'architecture du système. Ce modèle décrit comment les objets et les traitements sont agencés en fonction de l'organisation de l'entreprise, des technologies désirées et/ou d'un environnement spécifique. Le modèle de données intègre donc de nouvelles extensions concernant les attributs complexes et multivalués, les différents types de relations, la spécification des rôles, les méthodes et les contraintes. Ce modèle n'intègre qu'une partie du comportement correspondant aux opérations locales des objets. Le modèle de la dynamique se réfère explicitement aux objets décrit dans le modèle de données et aux messages circulant entre ces objets. Le but est de décrire des scénarii sur la manière d'utiliser les objets afin de satisfaire un but précis. Pour cela, les objets sont utilisés par des fonctions comme des ressources et les messages comme des blocs du scénario qui implémente la fonction considérée. Une fonction est définie par ses buts, ses conditions d'exécution et par une spécification formelle. Le modèle fonctionnel est conforme à la définition faite au § 2.4.1.1. 2.4.1.1.2 Les Modèles de OMT Conformément à la modélisation à trois dimensions, la méthode OMT propose les trois modèles : objet, dynamique et fonctionnel. Le modèle objet de la méthode OMT, basé sur le modèle Entité-Relation, s'inspire très largement de l'approche orientée objet. En effet, ce modèle propose le concept de classe, de généralisation et d'associations entre les classes. Ces associations se déclinent en termes de rôles (i.e. sémantique des associations), de qualification (i.e. associations mono ou multi valuées) et d'agrégation (i.e. composition de classes). Le modèle dynamique se décline en termes d'états, d'événements et d'actions. Ainsi l'état d'un objet peut évoluer au cours du temps en fonction d'événements par le biais d'actions (d'entrée, interne ou de sortie à l'objet) associées à ces événements. Le modèle fonctionnel est conforme à la définition établie au § 2.4.1.1. 2.4.1.2 Les Modèles des Méthodes Orientées Objet Les méthodes basées sur un modèle orienté objet sont O*, MCO et à un moindre niveau la méthode COOPE qui est à la limite des deux types de méthodes. Ces méthodes permettent et recommandent d'utiliser le paradigme orienté objet dès les premières étapes du développement du système d'information. Cette approche autorise l'utilisation des avantages liés à l'approche orientée objet : - un objet simule une réalité, simple ou complexe, du monde réel, - l'héritage favorise la facilité d'extensibilité et de réutilisabilité, - la composition permet de créer de nouveaux objets à partir d'autres objets grâce à un niveau d'encapsulation supplémentaire. 2.4.1.2.1 Les Modèles de COOPE Le modèle orienté objet résulte d'une transformation du modèle Entité-Association étendu utilisé lors de la phase d'analyse. Ce modèle orienté objet offre au concepteur un schéma statique du système montrant les différents objets. Le modèle dynamique vise à déterminer la dynamique locale de chaque objet du système ainsi que la dynamique globale du système. Ce modèle s'appuie sur les notions d'événements (externe et/ou interne) et d'états des objets. Tout comme la méthode OOM, cette méthode propose un modèle de représentation des aspects architecturaux. Ce modèle permet de décrire la connexion des Unités d'Implantation ou lieux de l'entreprise tout en tenant compte de différentes contraintes (sécurité, économie de télécommunications) ainsi que les relations avec les partenaires extérieures. Cette modélisation s'effectue à travers l'instanciation de différentes classes : - les classes d'équipement regroupent les classes relatives aux équipements autonomes, aux postes de travail intelligents et aux terminaux passifs ; - les classes de rôles prennent compte deux types de rôles significatifs que sont les acteurs internes et les acteurs externes ; - les classes de coopération permettent la structuration des éléments du système d'information. L'élément de modélisation utilisé est le Processeur Abstrait qui une instance d'une classe associée agissant en tant que client ou serveur dans une interaction particulière. 2.4.1.2.2 Le Modèle O* Le modèle utilisé dans la méthode O* décrit les entités du monde réel en terme d'objets. Un objet est vu selon trois dimensions : - sa dimension statique relative à son état se caractérise par deux types de propriétés que sont les attributs et les événements ; - sa dimension dynamique relative à ses changements d'états se décrit par deux types de règles que sont les opérations qui modifient les valeurs d'attributs et les règles d'occurrences des événements qui déterminent les conditions pour lesquelles les événements peuvent se produire ; - sa dimension comportementale relative à la communication inter-objets permet le déclenchement d'opérations et l'inférence d'occurrence d'événements. Cette vision tridimensionnelle d'un objet se formalise par la notion d'objet conceptuel défini par le triplet (Classe, Identifiant, Etat). L'identifiant de chaque objet est unique et permanent. L'état de chaque objet est défini par l'ensemble des valeurs de ses attributs et les occurrences d'événements de son cycle de vie. La classe décrit un ensemble d'objets de même nature. Une classe d'objet est définie par le quintuplé suivant (ATR, OPE, EVT, REF, CNT). ATR désigne l'ensemble des attributs qui déterminent la structure d'une classe d'objets. Un attribut prend ses valeurs soit dans un domaine soit dans l'extension d'une classe. Dans ce dernier cas, l'attribut introduit un lien de composition entre les deux classes. Cette composition peut être soit simple soit multiple. C'est un lien structurel à fort couplage entre les classes d'objets composants et les classes d'objets composés. OPE désigne l'ensemble des opérations applicables à une classe d'objets. Une opération est définie par un nom, une signature et un texte descriptif optionnel. EVT désigne l'ensemble des événements d'une classe d'objets. Un événement correspond à un stimuli ayant un impact sur le système d'information. Un événement est externe, interne ou temporel. Il est défini par un nom, un prédicat et les opérations qu'il déclenche avec pour chacune leur condition et leur facteur de déclenchement. REF désigne l'ensemble des références d'une classe d'objets. Un lien référentiel détermine les associations transitoires monovaluées ou multivaluées entre deux classes d'objets. C'est un lien structurel à faible couplage entre les classes d'objets référençants et les classes d'objets référencés. CNT désigne l'ensemble des contraintes structurelles associées à une classe d'objets. Elles sont de deux types : - les contraintes d'attributs qui restreignent les domaines de valeurs ou les cardinalités des attributs d'une classe ; - les contraintes d'unicité qui établissent l'unicité d'un ou de plusieurs attributs d'une classe. Les classes d'objets sont organisées selon une hiérarchie d'héritage qui peut être affinée à l'aide de contraintes structurelles d'héritage (par disjonction, couverture ou partition) restreignant les possibilités d'existence. Le modèle O* propose également le concept de classe abstraite qui permet de regrouper des classes liées par composition et/ou héritage. 2.4.1.2.3 Le Modèle MCO Le modèle MCO est basé sur le concept d'agent qui est une entité concrète ou abstraite ayant un ensemble de connaissances qui fournit ou demande des services. Un service est une prestation demandée et/ou rendue. Une connaissance d'un agent est une caractéristique dont il est capable d'utiliser ou de restituer la valeur. Cette connaissance peut soit être interne (définition locale des agents) soit être externe (liens avec d'autres agents). Le modèle propose deux catégories d'agents : les objets et les acteurs. Un objet est agent non intelligent dans la mesure où il ne peut changer son état sans l'intervention d'un autre agent. Un objet encapsule ses connaissances, ses services et ses transmutations. La transmutation d'une instance d'un objet est sa mort en tant qu'instance de cet objet et sa réincarnation, sa métamorphose, en tant qu'instance d'un ou plusieurs autres objets y compris l'objet initial. Une classe est le type et l'ensemble des instances d'objets ayant les mêmes caractéristiques. Un objet abstrait est un objet pour lequel aucune instance ne peut être créée. Un acteur est un agent intelligent puisqu'il peut changer son état sans l'intervention d'un autre agent. Ce concept correspond à celui d'objet actif (cf. Partie II). Le modèle propose deux types d'héritage : - l'héritage de spécialisation classique "est-un" ; - l'héritage de construction qui permet de réutiliser des caractéristiques d'objets. 2.4.2 Les Formalismes Tout comme pour les modèles, les formalismes des différentes méthodes diffèrent suivant l'origine des méthodes. 2.4.2.1 Les Formalismes des Méthodes Orientées Objet Issues des Méthodes Classiques Pour ce type de méthode, il existe trois types de formalismes qui correspondent aux trois dimensions statique, dynamique et fonctionnelle : - pour la dimension fonctionnelle, OOM et OMT proposent un ensemble de diagrammes de flux de données (ou d'information) ; - pour la dimension statique, OOM propose un diagramme Entité-Relation étendu aux notions de généralisation/spécialisation, de contraintes et d'opérations alors qu'OMT propose un diagramme Entité-Relation complété par un dictionnaire de données dans lequel figure la définition initiale des entités, des relations et de leurs propriétés. - pour la dimension dynamique, OOM utilise des Réseaux de Pétri spécifiques où les places et les jetons correspondent respectivement aux événements types et aux instances d'événements et où les transitions correspondent aux opérations. OMT propose des diagrammes d'états Par contre la méthode OOM ne spécifie pas de formalisme spécifique pour son modèle de l'architecture du système. 2.4.2.2 Les Formalismes des Méthodes Orientées Objet Pour ces méthodes (COOPE, O* et MCO), trois types de formalismes sont utilisés pour représenter les dimensions statique, dynamique et architecturale. Par rapport aux méthodes précédentes, les diagrammes de flux de données ont été remplacés par des graphes d'états avec événements. Pour la dimension statique, les trois méthodes proposent une description graphique des liens statiques entre les classes. La méthode O* comporte également une description textuelle qui décrit les classes en termes de propriétés, de références, de contraintes, d'opérations et d'événements. Comme pour les méthodes précédentes, la dimension dynamique est décrite à l'aide de diagrammes d'état. Ces derniers permettent de décrire d'une part la dynamique locale de chaque classe et d'autre part la dynamique globale du système. Ces méthodes nous proposent donc les formalismes suivants : - pour la dynamique locale : - COOPE définit un graphe des états d'un objet ; - O* définit un graphe du cycle de vie (ou transitions d'état) qui établit des contraintes sur le séquencement des opérations d'une classe ; - MCO définit les diagrammes internes des objets qui représentent leurs services, leurs connaissances et les demandes de services ; - pour la dynamique globale : - COOPE spécifie des graphes de communication entre les objets qui offre une vue globale des processus ; - O* spécifie un graphe de dépendance qui met en évidence les interactions entre les objets. Ce graphe permet d'exprimer des points de synchronisation entre objets et de montrer les dépendances opérationnelles entre les objets ; - MCO spécifie les diagrammes des accointances des objets qui représentent les connaissances externes, les transmutations et les héritages des objets, les diagrammes des flux qui représentent les flux d'événements que les agents s'échangent et les diagrammes des services qui représentent la dynamique de l'exécution des services.
COOPE propose deux formalismes supplémentaires qui sont : - le graphe des relations inter-objets qui vise à déterminer la dynamique des objets du système ainsi que la dynamique globale du système. Sur ce diagramme qui offre une vision sur la dynamique locale et globale, les transitions d'états des objets représentent la dynamique locale de chaque objet, et la prise en compte des événements externes et internes représente la dynamique globale du système ; - le diagramme d'organisation matérielle et géographique qui visualise la ressource de communication généralisée, les unités d'implantation, les partenaires externes et les restrictions apportées aux liaisons. 2.4.3 Les Démarches Tout comme pour les modèles, nous avons d'une part les démarches des méthodes issues des méthodes classiques (OOM et OMT) avec une approche descendante, et d'autre part les démarches des méthodes orientées objet, comme O*, qui ont une approche essentiellement ascendante. Entre ces deux catégories, nous avons la démarche de COOPE qui a une approche à la fois descendante et ascendante. Au niveau global des démarches, OOM et OMT couvrent toutes les deux la totalité du cycle de vie. Le développement de leur cycle s'effectue en cascade avec une approche descendante. Le cycle de vie de O* ne couvre que la phase d'analyse (étude de l'existant et spécification) avec un développement en spirale et une approche ascendante. COOPE couvre également tout le cycle de vie avec un développement en cascade et une approche descendante pour l'analyse et une approche ascendante pour la conception. La méthode orientée objet MCO présente la particularité d'être une méthode multi-démarche, puisqu'elle est paramétrable de façon à pouvoir supporter différents types de démarches. 2.4.4 Les Outils Les publications en notre possession proposent peu d'outils associés aux méthodes. Seules les méthodes OOM, OMT, O* et MCO sont dotés d'outils. Pour la méthode OOM, le modèle de données statique est supporté par un outil de conception qui fournit une aide dans le processus de structuration, de vérification logique et de génération de code. Cet outil CASE travaille dans un environnement permettant de générer aussi bien du code source C++, du code source O2 ou du code source C/SQL [Bouzeghoub, 91]. En ce qui concerne la méthode OMT, certains ateliers de génie logiciel utilisent des concepts issus de cette méthode [Davy, 93]. Ainsi, la société Verilog propose Object Editor, dont la notation est conforme à OMT. De même, la société Cadre Technologie propose un outil d'analyse basée sur OMT. De même l'éditeur IDE annonce la disponibilité de son outil Software Through Pictures (STP) qui est un support complet de la méthode OMT. La méthode MCO propose comme outils un langage LCO de conception et spécification des objets et un atelier CASE d'aide à la conception (en cours de réalisation). Des chercheurs [Kraiem, 93] ont récemment proposé une interface générique appelée Object-Oriented Interface (O2I), supporté par un outil, qui établit la liaison entre une modélisation conceptuelle orientée objet (O*, MCO) et une implémentation orientée objet (Eiffel, ONTOS/C++). Afin d'être générique, cette interface est basée sur un langage orienté objet pivot (O2IL). 2.4.5 Synthèse Pour conclure notre approche de ces méthodes, nous allons effectuer une synthèse de leurs caractéristiques (modèles, formalismes et démarches). Nous allons également essayer de souligner leurs points forts et leurs points faibles. 2.4.5.1 La Synthèse des Modèles Pour établir cette synthèse des modèles (cf. Tableau I.1.1), nous allons prendre comme référence les principaux concepts de l'approche orientée objet. Nous pouvons remarquer à travers ce tableau que les méthodes ont une forte empreinte de l'approche orientée objet. Mais il faut faire attention au fait que ce tableau ne fait pas apparaître l'interprétation par les méthodes des différents concepts objet. Dans les modèles des méthodes orientées objet issues des méthodes classiques, tout ne peut pas être objet. Ainsi, dans la méthode OOM, une fonction n'est pas un objet mais un processus opérant sur des objets. En effet, malgré l'ajout de concepts objet, qui s'avère nécessaire pour aboutir à un développement basé sur des technologies objet, certains problèmes inhérents aux méthodes classiques ne se trouvent pas résolus : - dichotomie donnée/traitement, - valorisation de la cohérence du système de données qui pénalise la capacité d'évolution du système. Une limite importante de la méthode COOPE vient du fait qu'elle utilise un modèle Entité-Association au niveau de l'analyse et un modèle orienté objet au niveau de la conception. Cette approche peut être un frein à la réitération des phases analyse/conception et au principe de réutilisation.
Tableau I.1.1 : Synthèse des modèles des méthodes de conception
Les modèles des méthodes orientées objet présentent certaines limites au niveau des aspects macroscopiques du système d'information (niveau organisationnel, vision globale des processus). C'est-à-dire que les objets sont prioritaires par rapport au système global.
Le modèle MCO défini un nouveau concept jusqu'alors inconnu dans les modèles orientés objet : la transmutation. Ce concept de transmutation est très utile pour décrire la dynamique des transformations des systèmes d'objet. 2.4.5.2 La Synthèse des Formalismes En ce qui concerne les formalismes nous allons les synthétiser par un tableau (cf. Tableau I.1.2) en fonction des quatre dimensions fonctionnelle, statique, dynamique et architecturale. La dimension fonctionnelle ne concerne que les méthodes issues de méthodes classiques. Les méthodes orientées objet ont remplacé les Diagrammes de Flux de Données par des graphes d'états avec événements.
Tableau I.1.2 : Synthèse des formalismes des méthodes de conception
2.4.5.3 La Synthèse des Démarches Pour cette synthèse (cf. tableau I.1.3) nous ne précisons que le niveau global des démarches. Le niveau local est représenté par le type d'approche utilisé pendant les différentes étapes du cycle de vie. Tableau I.1.3 : Synthèse des démarches des méthodes de conception
Les méthodes orientées objet (COOPE, O* et MCO) n'ont pas une approche fonctionnelle dans laquelle le concepteur s'intéresse aux traitements effectués et aux données accédées mais au contraire une approche visant à repérer les entités. Ces entités peuvent être soit des objets, concrets ou non, du monde réel soit des événements. 2.5 Conclusion Avant de conclure cette étude sur les méthodes de conception orientées objet de systèmes d'information, nous tenons à souligner l'intérêt et la valeur de cette étude en rappelant que l'origine de notre étude est liée à la publication de différents articles [Lapujade, 93b] [Merlet, 93e] [Soutou, 94]. En effet, notre choix et notre démarche comparative de ces méthodes est très largement confirmé par les journées de synthèse (22-23 Novembre 93) du groupe de travail Conception Orientée Objet des Systèmes d'Information de l'AFCET [AFCET, 93]. D'une part les méthodes que nous avons choisies ont été reprises par ce groupe de travail, ce qui justifie la pertinence de notre choix, et d'autre part ce groupe de travail a adopté la même démarche méthodologique que nous en séparant les méthodes basées sur le modèle Entité-Association des autres méthodes. Pour conclure cette étude, nous pouvons affirmer que l'intégration du multimédia au sein de la conception des systèmes d'information multimédia est faiblement pris en compte. En dehors de la méthode COOPE qui ne fait que l'évoquer, nous n'avons obtenu aucune information nous permettant d'affirmer que les méthodes de conception de systèmes d'information étudiées prennent en considération le multimédia. Toutes ces méthodes constituent une bonne base. En effet, pour que ces méthodes puissent concevoir des systèmes d'information multimédias, il est nécessaire qu'elles prennent en compte les spécificités liées au multimédia. Celles-ci concernent, d'une part, essentiellement les contraintes spatio-temporelles comme la synchronisation de deux médias, et d'autre part, la gestion des nouveaux composants systèmes. Par contre, toutes ces méthodes intègrent des apports de l'approche orientée objet. Mais cela ne suffit pas pour affirmer que les méthodes de conception orientées objet supplantent les méthodes classiques. Pour affirmer leur efficacité, ces méthodes de conception orientées objet doivent gagner en maturité et en stabilité avec une normalisation des concepts orientés objet. Ainsi, ces méthodes se doivent d'étudier les aspects macroscopiques des systèmes d'information. Ces aspects concernent essentiellement la prise en compte des organismes (objectifs, acteurs, ressources, etc.) et l'intégration, dans les démarches des méthodes, d'une étape de conception globale des processus. En effet, la majorité des méthodes de conception orientées objet réduisent cette étape de conception globale à la somme des dynamiques locales de chaque objet. 3. Conclusion Cette approche des systèmes d'information multimédia nous a permis de mettre l'accent sur les problèmes et les spécificités inhérents à l'utilisation de la technologie du multimédia. Pour concevoir des applications basées sur le multimédia, un développement ad-hoc ne peut être sérieusement envisagé. Face à la complexité, au besoin d'améliorer la qualité et la productivité de ces applications il devient nécessaire de tenir parti des apports des méthodes de conception des systèmes d'informations. Pour cela, il s'avère nécessaire d'intégrer la composante multimédia à ces méthodes. Cette nouvelle approche des systèmes d'information donne naissance aux systèmes d'information multimédia. Il nous faut donc définir des modèles spécifiques au multimédia afin que toute méthode de conception de systèmes d'information multimédia puisse intégrer les contraintes inhérentes à cette technologie. Ceci est notre objectif à travers la définition d'une méthode de conception de systèmes d'information multimédia. Cette approche est présentée dans le troisième chapitre de cette partie (cf. Chapitre 3 : Les Fondements de la Méthodes COSYf). |
|
Designed and Written by Jeff Merlet © 1998. |