|
|
6.11 Traduction des diagrammes
d’interaction en algorithmes
- Impact sur la classe Bulletin
- Attributs
- personne : @Personne
- scrutin : @Scrutin
- choix : @Choix
- pourOuContre : boolean
constructeur(@Personne p, @Scrutin s,
@Choix c, boolean poc) {
personne = p
scrutin = s
choix = c
pourOuContre = poc
p.voter(b); s.voter(b); c.voter(b)
}
|
précédent suivant
Le diagramme de séquence de cette diapositive modélise la
création d’un bulletin. Nous nous intéressons plus particulièrement à
l’opération constructeur de la classe
Bulletin. Nous en déduisons l’algorithme
suivant :
- les arguments passés en paramètres de l’opération
sont utilisés pour initialiser les attributs correspondant dans la classe
Bulletin. Les attributs concernés sont des
références pour des associations ;
- trois appels d’opération sont effectués. Sur
l’objet p de la classe Personne, le constructeur appelle l’opération
voter. Pour rappel, il est possible que le
diagramme de séquence construit lors de l’analyse n’ait pas donné
tous les détails des opérations appelées : par exemple, il est possible que les
arguments des opérations voter n’ait pas
été précisés. Dans ce cas, c’est lors de la conception, donc maintenant,
que ces informations sont ajoutées.
L’argument passé en paramètre des opérations
voter sert à maintenir la navigabilité de
l’association de l’objet p de la
classe Personne vers l’objet b de la classe Bulletin. Ce
passage de paramètre est imposé par le diagramme de classes : une personne
connaît ses bulletins. De manière similaire, l’opération d’instance
voter de la classe Scrutin et l’opération d’instance voter de la classe Choix
sont appelées sur les objets s et c, respectivement. Notez que ces opérations possèdent le
même nom, mais elles sont différentes car ce sont des opérations
d’instance de trois classes différentes.
D. Conan, C. Taconet, C. Bac,
Télécom SudParis, CSC 4002, Octobre 2015
|
|