Auteur: Jérôme Forget. Publié le 11 septembre 2006.
Pour améliorer encore notre diagramme de classes et le préparer à la production du code, nous cesserons de considérer le système comme une boîte fermée et décrirons plus précisément les interactions survenant entre les différentes classes identifiées précédemment - soit les dialogues, les contrôles et les entités.
Nous isolerons un cas d'utilisation particulier pour illustrer certains aspects complexes de l'application. Prenons le cas d'un utilisateur qui effectue une recherche intermédiaire par auteur. Un premier diagramme de séquences illustre ce cas d'utilisation :
Diagramme de séquences pour une recherche intermédiaire 
Nous ajoutons maintenant au diagramme de séquences les instances de classe d'objet intervenant dans le système. Continuons à identifier les messages pour l'obtention de la fiche détaillée d'un document choisi dans la page de résultats.
Diagramme de séquences complet pour une recherche intermédiaire
Ce diagramme nous permet maintenant d'identifier quelques nouveaux messages. Ceux-ci nous permettront d'attribuer aux bonnes classes les bonnes opérations.
Retournons à notre diagramme de classes et ajoutons des types aux attributs, ainsi qu'aux paramètres et aux retours des opérations.
En ActionScript 2.0, le typage s'effectue ainsi :
// pour un attribut
propriété:Type
// pour une opération, avec un argument et un renvoi
operation(parametre:Type):TypeRenvoi
Lorsqu'aucun renvoi n'existe pour une opération, on indiquera le type Void. Ce sera généralement le cas.
Un concept fondamental de l'orienté objet est l'encapsulation - le fait de garder des informations cachées à l'intérieur de l'objet.
On pourra aussi indiquer à cette étape quels attributs ou méthodes sont privées ou publiques en faisant précéder l'attribut ou la méthode du signe + (pour public) ou - (pour privé).
Règle générale, tous les attributs devraient être privés, à moins d'avoir une excellente raison - ce qui est rarement le cas. On privilégiera plutôt l'utilisation des accesseurs (getter / setter) servant à fournir ou à modifier les valeurs d'attributs.