Activité: Concevoir les composants
Cette activité finalise la conception du système.
DescriptionStructure de répartition du travailAffectation d'équipeUtilisation du produit
Relations
Activités parentes
Description

Cette activité vise les objectifs suivants :

  • Finalisation des définitions des éléments de conception, en parvenant à décortiquer la façon dont les éléments de conception réalisent le comportement que l'on attend d'eux
  • Finalisation et mise à jour des réalisations de cas d'utilisation sur la base du nouvel élément de conception identifié (c'est-à-dire en maintenant à jour les réalisations de cas d'utilisation)
  • Revue de la conception
Propriétés
Commandé par les événements
Plusieurs occurrences
En cours
Facultatif
Planifié
Réitérable
Affectation du personnel

En général, une personne, ou une petite équipe, est responsable d'un ensemble d'éléments de conception, habituellement un ou plusieurs packages ou sous-systèmes contenant d'autres éléments de conception. Cette personne ou équipe est chargée d'étoffer les caractéristiques de conception des éléments contenus dans le package ou le sous-système, c'est-à-dire d'achever toutes les définitions d'opérations, ainsi que la définition des relations avec d'autres éléments de conception. La Tâche : Conception de capsules met l'accent sur la décomposition récursive de la fonctionnalité du système en termes de capsules et de classes (passives ou de données). La Tâche : Conception de classes met à l'accent sur la finalisation de la conception des éléments de conception de classes passives, tandis que la Tâche : Conception de sous-systèmes met l'accent sur l'attribution d'un comportement mappé au sous-système, lui-même mappé à des éléments de conception contenus (capsules et classes contenues ou sous-systèmes).  En général, les sous-systèmes sont principalement utilisés dans le cas de structures organisationnelles à modèle à forte granularité, tandis que les capsules sont utilisées pour la plus grande partie du travail et que les classes "ordinaires" font souvent simplement office de réservoirs passifs de stockage d'informations.

Les personnes ou équipes responsables de la conception des capsules doivent avoir des connaissances en matière de langages d'implémentation, ainsi qu'une solide expérience dans le domaine des problèmes d'accès concurrent en général. Les personnes responsables de la conception des classes passives doivent également avoir des connaissances en matière de langages d'implémentation, ainsi que sur les algorithmes ou les techniques employées par la classe. Les personnes ou équipes en charge des sous-systèmes sont moins spécialisées, mais plus polyvalentes ; elles doivent être capables de prendre des décisions concernant le partitionnement approprié de la fonctionnalité entre des éléments de conception et d'appréhender les compromis inhérents aux différentes possibilités de conception.

Pendant que les éléments de conception individuels sont finalisés, les réalisations de cas d'utilisation doivent être finalisées afin de refléter l'évolution des responsabilités des éléments de conceptions. En général, une personne, ou une petite équipe, est responsable de la finalisation d'une ou plusieurs réalisations de cas d'utilisation en relation. Lorsque des éléments de conception sont ajoutés ou finalisés, les réalisations de cas d'utilisation doivent être reconsidérées et modifiées lorsqu'elles deviennent obsolètes, ou lorsque des améliorations apportées au modèle de conception permettent de simplifier les réalisations de cas d'utilisation. Les personnes ou équipes responsables des réalisations de cas d'utilisation doivent avoir des connaissances solides leur permettant de comprendre le comportement requis par les cas d'utilisation, ainsi que les compromis liés aux différentes approches d'attribution de ce comportement au sein d'éléments de conception. De plus, étant chargés de sélectionner les éléments qui exécuteront les cas d'utilisation, ces personnes doivent avoir une connaissance approfondie des comportements externes (publics) des éléments de conception eux-mêmes.

Utilisation
Conseils d'utilisation

Généralement, le travail est effectué de façon individuelle ou par de petites équipes, avec des interactions informelles lorsqu'il est nécessaire de communiquer des changements d'une équipe à l'autre. Au fur et à mesure de l'affinement des éléments de conception, les responsabilités passent souvent d'une équipe à une autre, ce qui implique que des changements simultanés sont apportés à un certain nombre d'éléments de conception et de réalisations de cas d'utilisation. Compte tenu de cet échange de responsabilités, les membres de l'équipe de conception peuvent difficilement travailler de manière isolée. Afin de s'assurer que l'effort de conception reste centré sur le comportement souhaité pour le système (tel qu'il a été décrit dans les réalisations de cas d'utilisation), le pattern d'interaction suivant est souvent utilisé :

  • Les éléments de conception sont affinés par les personnes ou équipes responsables.
  • Un petit groupe (2 à 5 personnes) se réunit de manière informelle pour étudier l'impact des nouveaux éléments de conception sur un ensemble de réalisations de cas d'utilisation existant.
  • Les changements apportés à la fois à la réalisation de cas d'utilisation et aux éléments de conception impliqués sont identifiés.
  • Ce cycle est répété jusqu'à ce que l'ensemble du comportement requis pour l'itération soit conçu.

Etant donné que le processus lui-même est itératif, les critères pour définir 'l'ensemble du comportement requis pour l'itération' dépendent de l'endroit où l'on se trouve dans le cycle de vie.

  • Dans la phase d'élaboration, il faut se concentrer sur les comportements significatifs du point de vue de l'architecture. Tous les autres 'détails' peuvent être ignorés.
  • Dans la phase de construction, on s'intéresse à l'exhaustivité et à la cohérence de la conception : à la fin de cette phase, il ne doit plus rester de problèmes de conception non résolus.

La conception d'une itération ne doit pas nécessairement être terminée avant le début des activités d'implémentation et de test. Le fait d'implémenter et de tester partiellement une conception au fur et à mesure de son évolution peut être un moyen efficace de valider et d'affiner une conception, au sein-même d'une itération.