THÈse présentée








télécharger 0.65 Mb.
titreTHÈse présentée
page4/28
date de publication09.06.2018
taille0.65 Mb.
typeThèse
ar.21-bal.com > droit > Thèse
1   2   3   4   5   6   7   8   9   ...   28

2.2Éléments de la notation UML pour le test de logiciels OO


Nous définissons ici les principaux éléments de la notation UML [Fowler''97; Booch''99] qui sont utilisés pour le test de logiciels OO. UML propose neuf diagrammes différents, aussi appelés vues. Nous présentons les diagrammes de classes, de séquence, d’activité et d’état. Il existe plusieurs travaux sur le test OO fondés sur ces vues, qui seront présentées dans la suite de cette section. Le diagramme de classes est aussi largement utilisé comme base pour les travaux présentés dans cette thèse, ainsi que les diagrammes de séquence et d’états pour illustrer certaines idées. Il existe six autres vues (cas d’utilisation, diagramme d’activité et de collaboration, diagramme d’objets, diagramme de déploiement, et diagramme de paquetage) qui ne sont pas détaillées ici, car elles sont peu exploitées dans le cadre de cette thèse.

2.2.1Diagramme de classes


Le diagramme de classes est la vue principale pour le langage UML. Il permet de décrire statiquement les classes présentes dans un système et les relations entre ces classes.

Tout d’abord, une classe contient plusieurs informations : un nom, des attributs et des méthodes. La Figure 1 montre la notation UML pour une classe Livre qui a un attribut titre et trois méthodes getTitre, emprunter et retour. Il existe trois types de visibilité pour les classes, les attributs et les méthodes : privé, protégé, public. La visibilité privée restreint l’accès à cet élément aux éléments de la même classe, un élément protégé est accessible aux descendants de la classe et aux éléments d’un même paquetage, et un élément public est accessible à tous les autres éléments du système. La notation UML pour la visibilité est la suivante : - pour privé, # pour partagé et + pour public. Enfin, une classe peut être abstraite ou une simple interface. Une classe abstraite peut contenir des attributs et des méthodes, mais le corps de certaines méthodes est vide et elles doivent être définies dans des classes filles. Le nom d’une classe abstraite est noté en italique dans un diagramme de classes. Une interface correspond au cas extrême d’une classe abstraite puisque aucun attribut ni aucune méthode n’ont d’implantation. Une classe d’interface sert à spécifier les signatures des méthodes qui seront implantées par toutes ses sous-classes. Le nom d’une interface est précédé par « interface » dans un diagramme de classes. La notation UML pour ces deux types de classe particuliers est donnée Figure 2.



Figure 1 – Une classe Livre



Figure 2 – Classe abstraite et interface

Ensuite il existe des relations entre les classes d’un système. UML permet de décrire trois types de relations : une relation permanente appelée une association, une relation temporaire appelée une dépendance, et la relation d’héritage ou spécialisation. Une association peut être renforcée soit par une agrégation, soit par une composition. La Figure 3 illustre ces cinq types de relation de la classe classB vis-à-vis de classA : dépendance, héritage, association, agrégation, composition. Une association (et une agrégation/composition) peut comporter cinq informations supplémentaires : le rôle de cette association, les rôles de chaque classe pour cette association et les cardinalités de chaque classe pour cette association. La Figure 4 illustre la notation pour ces informations : l’association entre les classes Livre et EvtLivre joue le rôle des gestionEvts, une instance de la classe Livre encapsule un ensemble (cardinalité *) d’instances de la classe EvtLivre, et cet ensemble joue le rôle de commandes vis-à-vis du livre, enfin une instance de la classe EvtLivre est référée par une seule instance (cardinalité 1) de Livre qui joue le rôle de sujet.

Le notion d’héritage, présente dans les langages à objets, est un mécanisme important pour l’extension et la réutilisation : quand une classe fille hérite d’une classe mère, elle hérite de tous les comportements de la classe mère, et peut en définir de nouveaux qui lui sont propres. Par ailleurs, l’héritage est un mécanisme d’abstraction. Par exemple, si une classe cliente c utilise les services fournis par une classe fournisseur f qui se spécialise en plusieurs classes (f1,…, fn), le client ne sait pas, a priori, quelle classe fi va effectivement exécuter le service requis. Le mécanisme qui permet de créer, à l’exécution, une association effective entre deux classes, s’appelle la liaison dynamique.



Figure 3 - Cinq relations possibles entre classes



Figure 4 - Les rôles et cardinalités sur une association

2.2.2Vues dynamiques : diagrammes de séquence et d’états


Les diagrammes de séquence permettent de représenter des collaborations entre objets selon un point de vue temporel, on y met l'accent sur la chronologie des envois de messages. Sur ce diagramme, chaque objet est représenté par un axe vertical. L'ordre d'envoi d'un message est déterminé par sa position sur l'axe vertical du diagramme ; le temps s'écoule "de haut en bas" sur cet axe.

Un exemple de diagramme de séquence est illustré par la Figure 5. Les axes verticaux représentent soit une instance d’un acteur, soit une instance d’une classe. Le diagramme de séquence décrit les échanges de messages entre ces instances, la création dynamique d’objets, et une alternative pour l’échange de messages. Plusieurs constructions graphiques existent pour spécifier l’alternative ou la récursivité dans un diagramme de séquence

Le diagramme d’états permet de représenter un automate d'états finis, sous forme de graphe d'états reliés par des arcs orientés qui décrivent les transitions. Les diagrammes d'états permettent de décrire les changements d'états d'un objet ou d'un composant, en réponse aux interactions avec d'autres objets/composants ou avec des acteurs. Un état peut être simple, ou composé lui-même de sous-états et de transitions entre ces états (on parle alors de super-état). On distingue un état initial, et il peut y avoir plusieurs états terminaux.

Une transition est atomique et représente donc le passage supposé instantané d'un état vers un autre. Trois éléments peuvent étiqueter une transition : une garde, un évènement et une action. La transition est déclenchée par l’évènement, la garde est une expression booléenne qui conditionne le déclenchement de la transition si elle existe. Enfin, il est possible d’associer une action à l’évènement, ce qui, en pratique, revient à dire que l’on fait un traitement dans le système (appel de méthode, changement de valeur d’un attribut…).

La Figure 6 illustre un exemple de diagramme d’états. L’état ordered est l’état initial. Si le nombre de réservations est nul et que l’opération deliver est exécutée, l’état courant passe à available. Les états available et reserved sont regroupés dans un état composite InLibrary.



Figure 5 – Exemple de diagramme de séquence



Figure 6 – Exemple de diagramme d’états
1   2   3   4   5   6   7   8   9   ...   28

similaire:

THÈse présentée iconThèse Présentée à la Faculté de Pharmacie de Montpellier

THÈse présentée iconThèse présentée pour l’obtention du grade de Docteur

THÈse présentée iconThèse soutenue publiquement par Sang-Ha suh le 10 Juillet 2006
«avec projection», de cette thèse aux membres du Conseil scientifique et à leurs expliquer pourquoi cette thèse ne devait pas être...

THÈse présentée iconThèse soutenue publiquement par Sang-Ha S. le 10 Juillet 2006 Le...
«avec projection», de cette thèse aux membres du Conseil scientifique et à leurs expliquer pourquoi cette thèse ne méritait pas d’être...

THÈse présentée iconQuestionnaire sur les Cathédrales Quelle est le nom de la cathédrale...

THÈse présentée iconCommuniqué de presse
«L’homme et la matièRE» de Don Darby que l’année prenait son envol. L’exposition est présentée à la Salle Principale du cne jusqu’au...

THÈse présentée iconCatégorie de Grand Prix présentée (cocher la case correspondante)
«Les Grands Prix simi immobilier de Bureaux» du 17 juin au Vendredi 7 octobre 2016

THÈse présentée iconThèse

THÈse présentée iconCommuniqué de presse
«Komuna Fundamento» présentée lors de la xiiie exposition internationale d’architecture «Common Ground» qui se déroule dans le cadre...

THÈse présentée iconAutomne 2013 plan de cours
«Unified», combinée à l'apprentissage du langage uml, est présentée et mise en pratique dans un projet de conception et d'implantation...








Tous droits réservés. Copyright © 2016
contacts
ar.21-bal.com