• Aucun résultat trouvé

La Modélisation Orientée Objet

3.2 Méthodes Orientées Objet

3.2.5.5 Réflexion sur la Comparaison de Méthodes

Toutes les méthodes décrites utilisent les concepts présents dans le paradigme objet. Le nombre de concepts proposés par chaque méthode pour la modélisation d’un système est très différent. Alors que P. Coad et E. Yourdon proposent environ dix concepts, ce nombre est plus important dans les autres méthodes. Bien qu’un plus grand nombre de concepts puisse faciliter la modélisation, il peut aussi la compliquer. Les présentations proposées par G. Booch et J. Rumbaugh, avec la notion de concepts de base et de concepts avancés, essaient de résoudre le problème causé par le grand nombre de concepts proposés introduits par les méthodes.

Exceptée la méthode de G. Booch, toutes les autres sont orientées plutôt vers l’analyse. La méthode de G. Booch est plus orientée vers l’implantation et, avec ses Diagrammes de Modules, permet une représentation de cette implantation.

La méthode de J. Martin et J. Odell s’inspire d’un modèle relationnel. Elle introduit une approche différente des techniques plus traditionnelles en utilisant un “modèle objet complet” (tous les concepts proposés dans la méthode sont dérivés d’un Objet Type appelé Concept).

La comparaison réalisée confirme l’affirmation de Hong [HvdGB93] concernant les pro-blèmes pour comparer les méthodes composées essentiellement de descriptions informelles spécifiques pour les concepts, les techniques et les notations.

3.3 Conclusions 83

La comparaison à l’aide de tables offre un cadre suffisant pour une première analyse comparative entre différentes méthodes. Cependant, pour une analyse plus profonde, où une comparaison plus rigoureuse des concepts proposés est envisageable, d’autres méthodes de comparaison sont souhaitables.

L’utilisation d’un méta-modèle comme outil de comparaison est l’une des manières pour s’attaquer au problème de comparaison des méthodes avec un regard plus rigoureux. Dans ce travail nous proposons un méta-modèle (cf. section 4.2) qui peut être utilisé dans la com-paraison des méthodes orientées objet. Dans ce méta-modèle, chaque représentation d’une vue est composée d’une partie graphique comme dans [HvdGB93, EG93], associée à une partie formelle basée sur le langage de spécification Z [Spi89] et des commentaires complé-mentaires ou explicatifs en langue naturelle.

L’idée d’utiliser un langage formel a déjà été employée par P. Atzeni et R. Torlone [AT93] qui proposaient de décrire les modèles à travers un langage structuré pour établir un méta-modèle textuel permettant de gérer et de traduire les modèles. Une autre proposition dans cet axe a été faite par A. H. M. Hofstede, H.A. Proper et T. P. Weide [tHPvdW93] ; ils ont proposé un langage pour la description textuelle de modèles de systèmes d’information.

Dans la section 5.3.2, nous présentons un cadre qui utilise le méta-modèle proposé dans la comparaison de modèles de méthodes, ainsi qu’une analyse qui porte sur des travaux qui utilisent cette approche.

Dans les chapitres suivants, nous présentons nos propositions en matière de méta-modèle et d’atelier de modélisation. Nous présentons aussi des exemples où l’atelier développé est utilisé.

3.3 Conclusions

D’une manière générale, les plus grands bénéfices de l’utilisation du paradigme objet peuvent être exprimés par les facilités qui sont offertes pour la réutilisation de résultats de travaux antérieurs. Ce paradigme est bien adapté à modéliser le monde réel à travers les abstractions. L’ensemble analyse, conception et implantation est extrêmement conséquent. Les trois activités utilisent les mêmes concepts de base et génèrent donc un processus de développement homogène. Avec l’utilisation de l’encapsulation, les systèmes produits sont plus résistants aux changements et aux évolutions du système.

Le paradigme objet étant utilisé à travers les méthodes, on peut vouloir aborder la ques-tion d’orientaques-tion de celles-ci vers l’analyse ou la concepques-tion. Un travail qui proposait une solution à ce problème avec le couplage de différentes méthodes a été fait par D. Coleman [CAB+

93, CJD93] avec la méthode Fusion. Cette méthode est présentée comme une

Mé-thode Systématique pour le Développement des Logiciels Orientés Objet. Elle intègre des

aspects de la méthode de G. Booch orientés vers l’implantation, des aspects de la méthode de J. Rumbaugh orientés vers l’analyse, des aspects de la méthode CRC orientés vers la communication entre objets et quelques aspects de la méthode de I. Jacobson (les cas d’uti-lisation). La méthode Fusion est un processus pour conduire un développeur de l’analyse des besoins jusqu’au code. Les phases, ainsi que les diagrammes utilisés dans ces phases, sont présentés dans la table 3.11 [PLA96b].

Phase Modèles Caractéristiques

Modèle de Cas d’Utilisation un par acteur. Besoins

Diagramme de Scénarios un par cas d’utilisation avec des flux d’événements complexes. Modèle d’Objets :

- Diagrammes d’Objets plusieurs par système Interface du Système :

- Modèle d’Objets du Système plusieurs par système - Diagramme de Scénarios un ou plus par scénario Analyse

- Graphe d’Interface du Système un par système - Dictionnaire de Données un par système Modèle d’Interface :

- Modèle d’Opérations un par système - Diagramme de Scénarios un par scénario

Graphe d’Interaction d’Objet un par chaque opération Graphe de Visibilité un par classe

Conception

Description de Classes un par classe

Graphe d’Héritage un par classe avec héritage Diagramme d’États un ou plus par cycle de vie Implantation

Génération du Code

Table 3.11 - Phases et Modèles de la Méthode Fusion

Actuellement, G. Booch, I. Jacobson et J. Rumbaugh se sont unis dans la société Ratio-nal Software Corporation pour proposer une nouvelle méthode [Rat97] qui prend en compte des éléments de chacune de leurs méthodes (respectivement OOD, OOSE et OMT), tout en regardant des concepts proposés dans d’autres méthodes. De cette manière, est né le

Lan-gage de Modélisation Unifié - LMU (“Unified Modeling Language”-UML ) [Mul97] pour

3.3 Conclusions 85

méthode de troisième génération pour spécifier, visualiser et documenter les artefacts d’un système orienté objet en construction [Rat96a]. Par ses caractéristiques, il est particulière-ment approprié à des systèmes temps réel. La méthode LMU est basée sur trois modèles présentés dans la table 3.12. Par ses caractéristiques de méthode nouvelle et en développe-ment, les considérations de cette table sont fortement basées sur [Rat96b].

Modèle Diagramme Objectif

Classes présenter les classes les plus importantes du système ainsi que leurs relations.

Classes et Objets

Collaboration

présenter des instances spécifiques des classes qui coopèrent pour accomplir un objectif.

Cas d’Utilisation

décrire la manière par laquelle un système peut être utilisé ; ils fournissent une vue de haut niveau des fonctionnalités prévues pour le système.

Dynamique

Scénarios

ils sont des instances des Cas d’Utilisation et peuvent être représentés de deux manières : les Diagrammes de Séquence qui font ressor-tir l’aspect séquentiel des échanges de mes-sages et les Diagramme de Collaboration qui font ressortir les aspects structuraux des échanges de messages.

Comportemental Machines d’États elles sont représentées avec une extension des diagrammes d’états d’Harel [Har87].

Table 3.12 - Modèles et Diagrammes de la Méthode LMU

La méthode propose aussi des concepts avancés pour la modélisation des systèmes, les-quels peuvent être utiles dans des situations spécifiques. Ces concepts sont les suivants :

– Stéréotype : c’est un concept utilisé pour la méta-classification d’un élément dans la méthode. Plusieurs types de stéréotypes sont proposés et d’autres peuvent être ajoutés par l’utilisateur ;

– Conditionnement Logique pour Gros Systèmes (“Large-Scale Logical Packaging”) : c’est un concept utilisé pour le groupement des entités à travers les paquets ;

– Modélisation Physique : c’est un concept utilisé à travers les Diagrammes d’Utilisa-tion qui présentent l’organisad’Utilisa-tion du matériel et l’attachement du logiciel à ceux-ci.

Un autre aspect des méthodes peut être remarqué : leur manière d’introduire et d’utiliser les concepts. On peut parler des méthodes dites “pures”, c’est-à-dire, n’utilisant que des concepts orientés objets pendant tout le développement d’un système. Elles introduisent des notations et des approches différentes des techniques plus traditionnelles. De l’autre côté, se situent les méthodes “Orientées Objets”, qui utilisent de nouvelles idées appliquées à de vieux concepts [MP92]. Entre ces deux extrêmes, se situent des méthodes qui essaient d’établir un couplage entre le paradigme objet et le cycle de vie traditionnel.

Chapitre 4