Rédiger un cahier des charges pour un application orientée objet

Rédiger un cahier des charges

Sur le forum, beaucoup de personnes posent des questions pour savoir comment rédiger un cahier des charges. Ce tutoriel permet de répondre à cette question.

Tout d'abord, je vous conseil de voir avec les personnes responsables de votre projet ce qu'ils attendent vraiment du cahier des charges. Selon l’organisation, il peut prendre des formes vraiment différentes. Il est donc important de savoir quel format est attendu : quelles parties réaliser dans le cahier des charges ?

Je dirais que la clé d'un cahier des charges réussi est "précision et cohérence".

En règle générale, pour créer un cahier des charges, il faut :

Réfléchir aux fonctionnalités qui seront proposées

Vous pouvez commencer par lister les fonctionnalités que l’application proposera, comme par exemple : "Enregistrer un dossier client". Cette liste te permettra de réaliser un diagramme de cas d'utilisation.

Si vous ne savez pas ce qu’est un diagramme de cas d’utilisation, vous pouvez consulter les sites suivants :

http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML008.html

http://fr.wikipedia.org/wiki/Diagramme_des_cas_d%27utilisation

Prioriser les fonctionnalités (facultatif mais très intéressant)

Il peut être intéressant de prioriser les fonctionnalités pour savoir lesquelles il est essentiel de développer et celles qui le seront en fonction du temps restant.

En général, les projets prennent du retard, il est intéressant de définir au plus tôt quelles fonctions sont essentielles les quelles fonctions pourront être facultatives (surtout dans le cadre d'un projet de fin d'entures).

Décrire les scénarios

Une fois que chaque fonctionnalité a été clairement identifier, il faut les décrire avec le plus de précision possible. Cette description est faite d’un point de vue fonctionnel : elle permet de répondre à la question : « Comment fera l’utilisateur pour effectuer la fonction ».

Pour cela, on prend tous les cas d'utilisation listés précédemment et on décrit le plus précisément possible de déroulement de la fonctionnalité. Il ne faut pas oublier les scénarios exceptionnels en cas d’erreur et les contrôles de cohérence sur les données.

Par exemple pour "Enregistrer un dossier client" :

Une fois que le gestionnaire s’est connecté à l’application, il se trouve sur la page d'accueil et choisit dans le menu : "Nouveau client". Une nouvelle fenêtre s'ouvre alors, elle lui permet d'entrer toutes les informations nécessaires à la constitution d'un dossier client. Ces informations sont les suivantes :

- Nom du client (obligatoire)

- Prénom du client (obligatoire)

- adresse (facultatif)

- numéro de téléphone (facultatif)

Une fois que l'utilisateur a rempli le formulaire, il clique sur Ok.

Les données sont ensuite contrôlées :

  • Si une donnée obligatoire est manquante alors un message est afficher pour en informer le gestionnaire
  • Si le client existe déjà dans la base de données alors, le gestionnaire en est informé par un message d’erreur

Une fois que le contrôle est valide, les données sont enregistrées dans la base de données.

NB : Cette description est assez légère, je pense qu’il faut être plus précis dans vos descriptions en particulier sur les scénarios exceptionnels et les contrôles : il faudrait parler de la présentation de ces données : par exemple dire que dans le champ correspondant au numéro de téléphone, on ne peut pas entrer de lettres par exemple.

NB2 : Lors de cette étape, il est important de tout lister et de ne pas utiliser des etc. ou des ... pour que ta description soit très précise.

NB3 : Cette partie peut être illustrée avec des diagrammes d'activités ou de séquence.

Ces diagrammes sont décrits ici :

http://laurent-audibert.developpez.com/Cours-UML/html/Cours-UML036.html

http://fr.wikipedia.org/wiki/Diagramme_d%27activit%C3%A9

NB4 : Cette partie peut être illustrée avec des maquettes d'écrans.

NB5 : Attention à la cohérence avec le diagramme de classes, toutes les informations décrites ici doivent être présentes dans le diagramme de classes (qui n’est généralement pas présenté dans le cahier des charges).

Conclusion

Écrire un cahier des charges peut te prendre vraiment beaucoup de temps (une dizaine d'heures si l’application n'est pas énorme, comme pour un PFE par exemple). Par contre, on gagne vraiment du temps dans la phase de modélisation et d'implémentation lorsque le cahier des charges est définit proprement.

Je dirais qu’une heure passée sur la rédaction du cahier des charges permet de gagner deux heures dans la phase de conception.

A voir également
Ce document intitulé « Rédiger un cahier des charges pour un application orientée objet » issu de CodeS SourceS (codes-sources.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Rejoignez-nous