Les vrais outils, ce sont les éléments que vous allez dessiner. Pour cela, il existe un certain nombre de formes géométriques basiques :

  • Les boîtes, les cercles, les losanges

Formes basiques

  • Les flèches

Flèches

  • Les icônes figuratives

Icônes figuratives

  • Les graphiques

Graphiques

Vous pouvez utiliser ces formes comme bon vous semble, à partir du moment où vous gardez une certaine logique. Si vous utilisez un carré pour représenter un concept, et un losange pour un représenter un autre, gardez cette convention pour l'ensemble de vos schémas.

Exemples

Les cas d'utilisation sont infinis. Mais voici quelques cas qu'un informaticien - qu'il soit développeur, chef de projet, directeur technique ou autre - doit obligatoirement être capable d'expliquer à l'aide d'un dessin.

Diagrammes de flux

Ce type de schéma peut servir à représenter de manière visuelle une suite d'action et de choix. Cela peut servir à expliquer un algorithme avant de le programmer, à présenter les choix offerts aux utilisateurs d'un site web avant d'en faire le développement, à détailler une procédure avant de l'appliquer dans l'entreprise, à résumer les choix qui ont amener à une décision... Les organigrammes de programmation sont très connus, et sont même normalisés par la norme ISO 5807.

  • Procédure de traitement des commandes d'achat

Flowchart

Base de données

Les schémas de base de données sont communément normalisés, entre autre par la méthode Merise. J'ai tendance à privilégier les modèles physiques de données, qui représentent les tables gérées dans la base ; les modèles conceptuels sont pratiques, mais ajoutent souvent du "bruit" qui ralentit les discussions techniques entre développeurs.

  • Des utilisateurs écrivent des articles et les tagguent

Base de données

  • Des étudiants, regroupés en classes, suivent les cours donnés par des professeurs

Base de données

Infrastructure

Ce n'est pas bien compliqué de présenter une infrastructure technique. Et pourtant c'est essentiel. Un responsable technique ou un administrateur système doit être capable de dessiner son réseau, ou celui qu'il veut mettre en place.

  • Une machine unique. Serveur HTTP, application, librairies, base de données et disque dur.

Infrastructure - machine seule

  • Serveurs multiples. Frontaux Web, cluster disques, base de données répliquée.

Infrastructure - multi-serveurs

Comment s'y prendre ?

Le but est de raconter une histoire avec chaque schéma. Il faut donc le dessiner en imaginant ce que l'on dira, en temps réel, en le dessinant devant quelqu'un.

Nous allons prendre un exemple, et dessiner "ensemble" un schéma. Imaginons que nous sommes des créateurs d'entreprise, et nous voulons présenter notre idée novatrice, qui consiste à créer un service de commande de pizzas par SMS.

On peut établir quelques règles qui vont nous aider à faire notre dessin :

  • Les rectangles représentent des éléments physiques.
  • Les ronds représentent des éléments logiques.
  • Les flèches pleines sont pour les actions et les flux de données.
  • Les flèches pointillées sont utilisées pour les choix optionnels.
  • Les flèches en zip-zag représentent les actions automatiquement instanciées.
Présentation fonctionnelle

Pour présenter notre service, il faut réaliser un schéma très général. Vous allez voir, ça paraît super simple ; c'est un exercice qui demande juste un peu d'esprit d'abstraction (mais alors pourquoi tant de personnes n'y arrivent pas ?).

  • Pour commencer, on représente l'utilisateur du service.

Client - mobile

  • Il envoie un SMS contenant son adresse postale. Le SMS est reçu par son opérateur téléphonique.

Opérateur

  • L'opérateur transmet l'information à notre serveur.

Serveur

  • Le serveur contacte l'opérateur pour effectuer la facturation.

Facturation

  • Puis on envoie un message au client pour le prévenir que sa commande va être traitée.

Réponse

  • La commande est transmise à l'usine, qui va préparer la pizza immédiatement.

Usine

  • Quand la pizza est prête, elle est directement livrée au client.

Livraison

Présentation technique

Il faut ensuite présenter aux développeurs l'architecture technique qu'ils vont devoir développer. Et quoi de mieux que quelques dessins pour y arriver ? Nous allons donc décrire l'architecture logicielle de notre application.

  • Les commandes sont transmises par protocole HTTP. Un serveur reçoit les requêtes, et les envoie à l'application.

Application

  • L'application fait appel à un programme externe pour vérifier la validité des paramètres (comme l'adresse postale, par exemple).

Vérification des paramètres

  • L'application s'appuie ensuite sur un "objet métier" (ou "Business Object" en anglais) pour effectuer les traitements de la commande.

Objet métier

  • L'objet métier utilise une bibliothèque spéciale pour réaliser la facturation auprès de l'opérateur téléphonique du client.

Facturation

  • Puis il utilise un objet d'accès aux données ("Data Access Object" en anglais), pour enregistrer la commande en base de données.

Base de données

Exercice pratique : qu'est-ce qui a été oublié dans ce schéma ? ;-)