Académique Documents
Professionnel Documents
Culture Documents
Il existe plusieurs méthodes d’analyses ou conception orientées objet regroupées en trois groupes
:
Les méthodes fondées sur les langages
Les méthodes fondées sur la tradition
Les méthodes fondées sur le développement
OOA a inspiré différents travaux . La société Corélis Technologie utilise le System Model
OSSASS.
O Object identification
S Structure identification
S Subject definition
A Attribute definition
S Service definition
S State definition
Remarque : on passe de OOA à OOD, par addition d’attributs et de services imposés par les
choix d’architecture matérielle et logicielle .
Pour COAD et YOURDON , la normalisation du modèle objet doit être repoussée vers la
conception .
3.1.1.2 La modélisation
a) Identification des objets
b) Définition de la structure
On établie les relations structurelles entre les objets .Pour cela , on applique les méthodes
d’organisation logique :
Agrégation : abstraction des caractéristiques dans la définition de l’objet.
Assemblage : des composants dans le tout
Classification : généralisation et spécialisation des objets .
c) Identifiation des sujets
Il s’agit en fait , de la délimitation de domaine grâce à quoi on pourra repartir le travail . Les
frontières ne doivent pas couper les liens structurels. Les domaines définis doivent manifester
une cohésion interne forte et un couplage faible . Cette délimitation ne se confond pas
avec le découpage en sous-systèmes.
Page 2/16
Méthodes orientées objet
d) Définition des attributs
Point n’est besoin de s’embarrasser ici de l’épineuse question de l’identifiant . En effet c’est
là une préoccupation d’implémentation , étrangère donc à l’analyse .
Au cours de cette tâche ,on fixe également les cardinalités des connexions entre objets
(connexions d’instances ) .Une connexion porteuse d’attribut devient un objet (avec
cardinalité 1,1) .Il convient d’isoler les propriétés multivaluées et d’en faire des objets
(éventuellement reliés à un objet parent par le lien d’assemblage ).
A ce niveau , on ne s’interroge pas encore sur le caractère public ou privé des attributs .
On distingue :
Les constructeurs (constructors) : créer l’objet ,le mettre à jour , le détruire.
Les accesseurs (selectors) : fournir une information (attributs ou calculs)
Les transformateurs (behaviors) : modifier , démarrer , arrêter , …
OOA recourt à la métaphore des automates à états finis par un diagramme états-transitions .
Dans le schéma suivant on appelle action soit des services locaux, appartenant à l’objet
considéré , soit des services externes appartenant à d’autres objets .
Etat 1
Condition
Liste d’actions Condition
Liste d’actions
Etat 2
Condition
Liste d’actions
Etat 3
Objet Classification
Nom de l’objet
Mobilier
Attributs
Style
Services Couleur
Prix
Déplacer
Table Lampe
Capacité Voltage
Allumer
Assemblage
Automobile
Moteur Carrosserie
3.1.2 BOOCH
Grady BOOCH s’était acquis une réputation avec son livre ingénierie du logiciel avec Ada . Il a
récidivé en proposant ses réflexions basées cette fois-ci sur l’application de plusieurs langages
orientés objets (pascal Object, C++, Clos , ADA) dans conception Orientée Objet et Application .
BOOCH proposait le découpage suivant :
Identifier les objets et leurs attributs
Identifier les opérations qui affectent chaque objet et les opérations que chaque
objet doit déclencher .
Etablir la visibilité de chaque objet vis-à-vis des autres.
Etablir l’interface de chaque objet
Implémenter chaque objet .
Page 4/16
Méthodes orientées objet
Conception Orientée Objet et Applications tient compte du changement et propose pour la
conception les activités suivantes :
Identifier les classes et les objets.
Identifier la sémantique des classes et objets
Identifier les relations entre les classes et objets
Implémenter les classes et les objets.
Analyse
Conception
Evolution
Modification
Page 5/16
Méthodes orientées objet
3.1.3 HOOD (Hierarchical Object Oriented Design)
Cette méthode s’inspire des travaux de Grady BOOCH . Elle est issue d’un projet mené par CISI
en réponse à un appel d’offre de l’ESA en 1986 . Elle s’adapte parfaitement aux structures de
représentation propres à ADA .
Son principe de structuration est la hiérarchie parent-enfant au sens du paquetage ADA . Un
enfant n’existe pas de manière autonome dans le système ; il n’est pas visible en conséquence ,
aucun autre objet que son père ne peut l’utiliser . Il s’agit d’une logique d’imbrication .
L’héritage n’est pas représenté (puisque ADA ne le supporte pas) . La méthode favorise le
développement en couches ; elle est très proche de la méthode par décomposition descendante,
mais plus sûre car insistant sur les notions de visibilité et d’interface .
Ses facultés de représentation des comportements en font un bon outil pour la modélisation du
temps réel .
De plus , elle offre un formalisme textuel poussé : Object Description Skeleton .
OBJET
Enfant1
Enfant2
3 Autre objet
Par ailleurs, CISI a cherché à intégrer ses deux méthodes , KOD (Knowledge Oriented Design ) et
HOOD . L’occasion a été fournie par le SERNIT (France Télécom ) . L’idée centrale est la suivante :
Utiliser SDM/S (System Developpement Management distribué en France par Cégélog) comme
coquille vide et y insérer chacune des méthodes pour ce qu’elle peut apporter de meilleur .
Ainsi , l’ordonnancement des travaux et toutes les activités de conduite et de vérification se
définissent dans le respect scrupuleux des préceptes de SDM/S .Mais KOD et HOOD se glissent
dans le cycle de développement, resectiveent comme méthode de spécification et méthode de
conception . on aura recours à KOD quand le système étudié présente « un peu de facteur
humain » c’est-à-dire quand il s’agit de modéliser une forte expertise . Autrement , on utilisera
les méthodes classiques .
Page 6/16
Méthodes orientées objet
Connaissances Système
SPECIFICATION
SGS DBS
SDS Définition des fonctionnalités
Analyse du système de souhaitées
représentation proposée par
l’expert
Choix de l’environnement
BCO
Conception globale
CGS
Définition de l’architecture du
système
Modélisation hiérarchique des
transactions
Conception
détaillée
CDS CDS
PRG PRG
Traduction des formats Compilation
réutilisation
Par rapport au cycle de base SDM/S , on note quelques évolutions . Il est significatif qu’un peu de
spécifications externes « passe avant » les choix techniques .Par exemple les utilisateurs peuvent
réclamer un mode de représentation particulier ou des aptitudes du logiciel qui conditionnent le
choix d’architecture . Ces desiderata apparaissent très naturellement au moment des
spécifications externes , c’est-à-dire selon SDM/S quand les choix techniques sont entérinés .
Or ils peuvent se révéler incompatibles avec ces choix .
La répartition entre KOD et HOOD n’est pas seulement verticale ( une méthode par phase ), car la
considération des connaissances incluse dans le système introduit une nouvelle coupure En effet ,
pour une même phase , on pourra choisir KOD pour la modélisation des connaissances , et HOOD
pour la modélisation des traitements (KOD rend compte de la statique tandis que HOOD est
adaptée par l’aspect dynamique et l’architecture ). HOOD a la réputation de mieux analyser les
traitements que MERISE .
3.1.4 MEYER
MEYER ne prétend pas apporter une méthode de conception , mais son œuvre notamment autour
du langage Eiffel , est douée d’une telle rigueur et d’une telle profondeur qu’elle mérite d’inspirer
l’analyste et le concepteur ; d’autant que la « conception utilise les mêmes mécanismes
intellectuels que la programmation , simplement à un niveau d’abstraction plus élevé » . La
réflexion menée par MEYER se développe surtout autour du matériau logiciel , s’interrogent sur
l’obtention de la qualité.
Page 7/16
Méthodes orientées objet
La qualité du logiciel s’exprime en terme de validité , robustesse ,extensibilité (dont , d’une part la
simplicité de la conception , d’autre part , la décentralisation ), réutilisabilité , couplabilité
(compatibilité) .
L’analyse de la modularité du logiciel dégage 5 critères indépendants :
Décomposition modulaire : une méthode de conception répond au critère de
décomposabilité modulaire si elle aide à décomposer un nouveau problème en
plusieurs sous problèmes dont la solution peut être recherchée séparément.
Composabilité modulaire : caractère d’une méthode qui favorise la productivité
d’élements de logiciel qui peuvent être combinés librement les uns avec les autres
pour produire de nouveaux systèmes .
Compréhensibilité modulaire : une méthode favorise la compréhensibilté modulaire
si elle aide à produire des modules dont chacun peut-être compris par un lecteur
humain .
Contre-exemple : dépendances sequentielles .
Continuité modulaire : une méthode répond au critère de continuité modulaire si
une petite modification de la spécification du problème n’amène à modifier qu’un
seul module , ou peu de modules , d’un système produit . D’où une limitation de
l’impact sur l’architecture du système .
Protection modulaire : caractère d’une méthode qui conduit à des architectures
dans lesquelles l’effet d’une condition anormale , se produisant à l’exécution d’un
module , reste localisé à ce module , tout au moins ne se propage qu’à quelques
modules voisins .
La continuité modulaire aboutit à la formulation d’un principe qu’on souhaiterait voir repris par
tous les langages : le principe du référent uniforme qui stipule : « Le client n’a pas à connaitre la
nature de l’information qu’il sollicite » c’est-à-dire un objet doit pouvoir demander une
information à un autre objet dans une syntaxe unique , quelle que soit l’implémentation de la
propriété informative (attribut ou fonction) .
Page 8/16
Méthodes orientées objet
lester l’approche orientée objets des résultats théoriques et des expériences de
MERISE .
Le propre des travaux autour de MERISE « objectifié» est de conserver les anciens postulats , les
anciennes structures . Cette attitude risquerait de bloquer le changement profond apporté par le
nouveau paradigme . On arrivera jamais à exprimer dans la géométrie euclidienne des résultats
des géométries non euclidiennes .
Définition
Un objet naturel est une construction synthétique
- qui possède une structure et un comportement,
- qui appartient au champ de perception de l’utilisateur, et
- sur laquelle celui-ci désire effectuer des transactions.
-
Le modélisateur obtient le modèle des Objets Naturels en procédant comme suit :
1. Il réalise le modèle conceptuel des données tel que défini dans MERISE, avec entités et relations
mais avec un formalisme enrichi pour présenter l’héritage et les contraintes d’intégrité
ensembliste.
2. Il surimpose à ce modèle le dessein des Objets Naturels, chacun de ces objets réalisant une
partition composée d’entité et de relations.
Au terme de la seconde étape, aucune entité ni aucune relation ne doit rester en dehors d’un
objet. Les frontières des objets se dessinent de telle manière qu’ils correspondent à une unité de
manipulation naturellement reconnue par l’utilisateur.
Apres cela, le concepteur s’intéresse aux accès d’objet à objet naturellement impliqués par la
vision de l’utilisateur. Cela l’emmène à spécifier des comportements qui s’activeront dans les
transactions. Les accès possibles sont de deux sortes :
- la gestion dynamique (contraire : opacité)
- l’ouverture (contraire : fermeture).
La gestion dynamique autorise un objet (EX : COMMANDE) à créer un objet qui lui est relie (EX :
CLIENT).
L’ouverture est un accès plus faible, elle signifie simplement qu’un objet peut se rattacher à un
autre. Elle porte donc uniquement sur les instances de relations, contrairement à la gestion
dynamique qui permet au même instant la création d’un objet et la liaison à lui.
Le formalisme graphique s’enrichit donc pour représenter :
- les objets naturels, paquets non vides d’entités et de relations logiquement agrégées,
- la gestion dynamique,
- l’ouverture,
- l’héritage.
A cela s’ajoute les règles de constructions que doit vérifier le modèle, et qui jettent les bases d’une
normalisation objet.
Le modèle ainsi construit exprime suffisamment d’informations pour spécifier les interfaces
homme-machine. Tramis/Dialog fournit une maquette à partir de la seule interprétation du
modèle des Objets Naturels. Contrairement aux outils qui fonctionnent à partir d’un modèle des
données classique, la maquette issue de Tramis présente une spécification plus conforme au
besoin :
d’une part, elle montre non pas des entités mais l’équivalent des vues externes (les Objets
Naturels, unités de manipulation) ;
d’autre part, elle propose les accès aux voisins, dans le respect des spécifications
d’ouverture/fermeture et de gestion dynamique/opacité c’est-à-dire qu’elle tient compte d’une
sémantique de la navigation, point de départ des habilitations.
La maquette réalise les contraintes d’intégrité. En outre, la maquette enregistre les jeux d’essai
qu’elle récupère d’une version à l’autre. Le concepteur peut retourner le modèle, la nouvelle
maquette générée alors réutilisera le même jeu d’essai.
Page 10/16
Méthodes orientées objet
En conclusion, le modèle des Objets Naturels satisfera les concepteurs familiers de MERISE et
désirant lui adjoindre une plus grande puissance. ils seront servis en cela par les outils Tramis,
souples et faciles à maitriser.
3.2.3 Classes-Relation
Cette méthode proposée par la société SOFTEAM s’appuie sur :
le modèle entité-relation, d’une part, dans lequel ; l’entité cède le place à la classe, c’est-à-dire
qu’on y adjoint des aspects comportementaux
la métaphore des machines abstraites d’autre part.
Les machines abstraites représentent les systèmes par analogie à des composants d’un
mécanisme, ce qui offre une approche précise des interactions.
Cette méthode, vue à travers le cycle de développement, procède par raffinements successifs,
manifestement, elle n’offre pas le même découpage rigoureux que OOA. Son souci est d’arriver
rapidement et le plus naturellement possible au langage de programmation l’occurrence C++.
Le modèle classe- relation représente des objets avec :
Page 11/16
Méthodes orientées objet
1. les liens d’objets (classifications <<est un>>) sous-tendant l’héritage.
2. les relations entre objets, à l’instar d’un modèle entité-relation (cardinalités comprises).
La méthode contient à la fois une modélisation graphique et une expression syntaxique, laquelle
apparait comme premier pas vers le code final.
Page 12/16
Méthodes orientées objet
3.3.1 OMT
OMT est le sigle de Object Modeling Technique, méthode exposée dans l’ouvrage Collectif Object-
Oriented Modeling and Design.
OMT se définit comme une méthode de modélisation orienté objet, c’est-à-dire organisée autour
des concepts du monde réel. Elle s’enrichit de considérations sur la conception technique du
système informatique et s’aventure un peu dans la méthodologie de développement.
Les caractéristiques des objets que les auteurs donnent comme centrales sont :
l’identité : dans le monde réel, un objet simplement existe, mais à l’intérieur d’un langage de
programmation chaque objet a un handle (référence d’objet) unique par lequel il peut être
référencé univoquement.
la classification : qu’il faut comprendre comme l’abstraction en tant que symétrie de l’instanciation,
c'est-à-dire le fait que les objets se regroupent en classes. Une classe est une abstraction qui décrit
les propriétés importantes du point de vue de l’application et qui ignore le reste.
le polymorphisme : possibilité pour une opération de se réaliser en comportements différents.
l’héritage : partage d’attributs et d’operations entre classes établies en hiérarchie.
OMT utilise le terme <<opération>> pour signifier une abstraction de comportement analogue à
travers différentes sortes d’objets. L’implémentation d’une opération est une méthode.
Le vocabulaire OMT distingue deux niveaux – conceptuel et technique – pour les fonctions de la
classe : opération et méthode, mais qu’il n’y a qu’un terme pour les propriétés informatives :
attribut. S’il n’y a qu’un terme, c’est qu’il n’y a qu’une perception.
Deux catégories d’attributs sont distingués : les attributs de base (indépendants) et les attributs
dérivés (dont la valeur se déduit des premiers).
A travers toutes les phases du projet, coexistent trois modèles reflétant les différents aspects du
système informatique :
Le modèle objet : structure statique des objets de leur relations. Pour OMT, un lien est une
connexion physique ou conceptuelle entre plusieurs instances, ce qu’on appelle connexion
d’instances. Une association est un groupe de liens ayant la même structure et la même
sémantique. OMT prévoit les relations ternaires et n-aires, ainsi que les relations porteuses. Une
innovation intrigante est la qualification des associations. C’est un procédé de représentation par
lequel on réduit la cardinalité d’une association. Dans l’exemple suivant, une personne peut
appartenir à plusieurs entreprises mais assume une et une seule fonction dans chaque entreprise.
Le point noir au bout de la ligne indique une cardinalité 1, n.
PERSONNE ENTREPRISE
FONCTION
La cardinalité se lit à l’oppose de l’habitude merisienne, c’est-à-dire près de la cible et non près de
l’origine de l’association considérée uni directionnellement. Dans l’exemple suivant d’une
association qualifiée, le point noir reste du coté de PERSONNE parce que l’entreprise emploie
plusieurs personnes. Par contre, pour une personne et une fonction données, on ne trouvera
qu’une entreprise.
Le modèle dynamique : description des aspects temporels et dynamiques du système et des objets.
Un évènement est un stimuli externe visible, avec ses réponses. On commence la modélisation
dynamique par l’extraction d’un résumé des séquences d’évènements ; pour chaque objet il faut
établir un diagramme d’états avec les évènements entrants et sortants et qui montre les
interactions entre objets. On n’établit pas d’algorithme, ce qui relève e l’implantation, si
l’évènement n’est pas externe. Ces diagrammes sont essentiels pour les systèmes interactifs,
contrairement aux systèmes statiques comme les Bases de Données. Il faut aussi noter qu’ils ne
sont pas suffisants pour les systèmes temps réel. Un scenario est une séquence type
d’évènements, il permet de décrire les interactions courantes pour l’extraction des évènements et
l’identification des objets cibles. Le suivi des séquences et des états permet d’établir les
diagrammes d’états et de les comparer afin d’obtenir la correspondance évènement-objet.
L’ensemble des diagrammes d’états définit le modèle dynamique
La modélisation dynamique passe par les phases suivantes :
- Préparation des scenarios
- Identification des évènements entre objets
- Préparation d’un suivi d’évènements pour chaque scenario
- Construction du diagramme d’états
- Confrontation des diagrammes pour vérifier la correspondance évènement-objet et
l’homogénéité de l’ensemble
Le modèle fonctionnel s’intéresse au traitement des données sans tenir compte du séquencement,
des décisions ni de la structure des objets. Il montre les dépendances et les relations entre les
valeurs. Le modèle fonctionnel est représenté par des diagrammes à flot de données où, par
comparaison avec les diagrammes d’état des classes, les traitements correspondent aux activités
et aux actions, et les flots correspondent aux objets et aux valeurs d’attributs.
Les modèles sont traités dans cet ordre de préséance du <<quoi>>, <<quand>>, <<comment>>. On
assiste à un renversement par rapport aux méthodes fonctionnelles puisqu’on s’intéresse aux
objets avant les fonctions. Cela favorise l’évolutivité.
On peut déplorer la faiblesse de OMT en ce qui concerne les aspects organisationnels. La question
<<quand>> doit souvent être complétée par <<où>> et <<qui>>. Un tel manque pénalise
gravement l’application d’OMT à l’information de gestion.
OMT précise la définition du modèle : c’est une abstraction de quelque chose dans le but de la
comprendre avant de la construire ; ce à quoi s’ajoutent les buts particuliers :
Tester une entité physique avant de la construire ;
Communiquer avec le client ;
Visualiser ;
Réduire la complexité.
Page 14/16
Méthodes orientées objet
Dans OMT chaque modèle se positionne dans deux dimensions :
La vue du système (objet, dynamique, fonctionnel) ;
L’étape de développement (analyse, conception, implémentation).
Le modèle objet présente des concepts du monde réel importants pour l’application. Le modèle
dynamique fournit le contrôle, c’est-à-dire l’aspect du système qui décrit les séquences
d’opérations qui surviennent, sans considération pour ce que font ces opérations. Il met en jeu les
notions d’états, d’évènements et de transitions. Le modèle fonctionnel, quant a lui, décrit ce que
le système fait, sans considération pour le « quand ».
Les outils de représentation sont : le modèle objet, avec un formalisme graphique assez poussé ; le
diagramme d’états-transitions ; le diagramme de flux de données.
Sans entrer dans les détails, la figure ci-dessous représente les relations entre les différentes
notions impliquées dans les trois modèles.
OBJET
Structure de données
Opérations
Structure des objets
Valeurs
Fonctions
évènements
Contraintes (sur valeurs)
contrôle
décisions Appellent, déclenchent
actions
FONCTIONNEL
DYNAMIQUE
Conception système
définit le découpage du système en sous-systèmes ; à partir des résultats de l’analyse et
dans l’objectif de définir le choix de l’architecture ;
Conception des objets
raffiner les structures de données et les algorithmes en y ajoutant les détails
d’implantation et en tenant compte de l’environnement ;
Page 15/16
Méthodes orientées objet
Implémentation (mise en œuvre)
transcrire le modèle objet définit dans le langage et le système de gestion des données
retenus.
La différence avec l’approche fonctionnelle réside dans le fait que l’on utilise des objets qui
appartiennent au domaine de l’application plutôt que des fonctionnalités ; ce qui garantit une
meilleure évolution du système.
OMT détaille chacune des phases à un niveau suffisant pour organiser un travail d’équipe. Elle
précise surtout les taches à mener sur les trois modèles à chaque phase. Par contre elle n’offre pas
un édifice suffisant pour la maitrise des projets importants.
Page 16/16