Quelle est la différence entre les spécifications techniques et les documents de conception?

38

Quelles sont les spécifications techniques? Sont-ils les mêmes que les documents de conception. Si non, quelle est la différence et quelques exemples?

John V
la source
1
Le premier manque la conception et le second manque les détails techniques.

Réponses:

33

Un document de conception de logiciel peut être au niveau d’un système ou d’un composant et comprend généralement:

  • objectifs ou exigences pertinents (fonctionnels et non fonctionnels);
  • structure statique (par exemple, composants, interfaces, dépendances);
  • comportement dynamique (interaction des composants);
  • modèles de données ou interfaces externes (externes au système / composant décrit dans le document); et
  • considérations relatives au déploiement (par exemple, conditions d’exécution, composants tiers).

Notez que toutes ces descriptions sont à un niveau abstrait. Le but est de donner au lecteur une compréhension générale du système ou du composant. Il peut y avoir plusieurs niveaux de documents de conception (par exemple, au niveau du système ou du composant).

Une spécification technique décrit les détails minutieux de toutes les parties ou de parties spécifiques d’une conception, telles que:

  • la signature d'une interface, y compris tous les types de données / structures nécessaires (types de données d'entrée, types de données de sortie, exceptions);
  • modèles de classe détaillés, y compris toutes les méthodes, attributs, dépendances et associations;
  • les algorithmes spécifiques utilisés par un composant et leur fonctionnement; et
  • modèles de données physiques, y compris les attributs et les types de chaque entité / type de données.
miraculixx
la source
1
Alors, quand devrions-nous écrire les spécifications techniques? Avant le développement? Avec le développement? ou après ..?
shashwat
2
@ ShashwatTripathi généralement, les spécifications sont écrites avant le développement, de sorte que quelqu'un d'autre (ou vous-même plus tard) puisse implémenter les composants. La rédaction de la spécification une fois le développement terminé la rend inutile (à moins que vous ne l'utilisiez comme documentation technique sur ce qui a été mis en œuvre).
miraculixx
Je suis tombé sur ce scénario précis pour un énorme corp sur un projet pluriannuel. Nous avons travaillé à l'envers pour créer un document d'exigences commerciales une fois le projet migré vers Test, puis vers Prod! Oui, super gestion de projet, je sais!
ThinkCode
Les spécifications techniques ne sont-elles pas créées après les détails de la spécification des exigences logicielles décomposées fonctionnellement? Comment un architecte peut-il créer un TS sans SRS? On dirait qu'il devra assumer une tonne.
Oracular Man
D'accord, un TS doit suivre un SRS (spécification des exigences du système). Notez cependant que ces termes ne sont pas normalisés et qu'un TS peut être créé soit sous la forme détaillée d'un SRS (typique dans les systèmes embarqués), soit en complément d'un SRS de haut niveau, par exemple d'un document de conception (typique dans les applications commerciales). ). Le point clé est que les documents relatifs aux exigences, à la conception et aux spécifications décrivent chacun une vue spécifique du système et de ses composants. Il est plus important qu'une équipe approuve les points de vue et le niveau de détail requis plutôt que de respecter une définition formelle.
miraculixx
7

Les spécifications techniques, au moins sous forme de conception technique, font partie des documents de conception, avec par exemple des listes de spécifications, des conceptions fonctionnelles, des user stories, des maquettes de conception graphique, des études d’utilisabilité, des diagrammes UML, des diagrammes de processus métiers, des données. spécifications de modèle, etc.

Les spécifications techniques du type que vous écrivez après coup pour documenter le produit fini ne font généralement pas partie des documents de conception, mais elles peuvent être incluses dans le jeu de documents de conception d'une version ultérieure (à titre de référence) ou d'un autre produit qui: repose sur eux.

tdammers
la source
Merci. Aussi, fondamentalement, j’ai besoin de spécifications fonctionnelles pour savoir quoi faire, puis de concevoir des documents pour savoir comment faire, est-ce exact? Juste une petite question, quelle est la conception fonctionnelle que vous avez évoquée (j'espère que cela ne créera pas de confusion pour ma compréhension de la spécification fonctionnelle)
John V
Une conception fonctionnelle définit la fonctionnalité prévue du produit, du point de vue de l'utilisateur, sans entrer dans les détails de la mise en œuvre. Il y a beaucoup de questions avec d'excellentes réponses ici qui donnent une explication exhaustive de ce qu'est un design fonctionnel et de ce qu'il n'est pas.
tdammers
1
Alors, quand devrions-nous écrire les spécifications techniques? Avant le développement? Avec le développement? ou après ..?
shashwat