Quelle est la différence entre la conception du système, et l’architecture du système, en ingénierie et développement de logiciels ?


La différence est décrite dans un certain nombre de documents de normes - je suis surtout familier avec la façon dont l'IEEE et la FDA américaine utilisent ces termes.

Une architecture de système définit les principaux blocs de votre système, définit la fonction de chaque bloc et les interfaces de façon suffisamment détaillée pour permettre à des équipes distinctes de mettre en œuvre ces sections. L'architecture fournit une structure de développement et de gestion pour le projet et un cadre dans lequel exprimer vos exigences de conception.


Une conception décrit la mise en œuvre de chaque partie du système.

L'architecture fournit une description des fonctions, la conception fournit suffisamment de détails pour fabriquer votre widget.

Par exemple :

ISO/IEC 42010 définit

  • l'architecture : concepts fondamentaux ou propriétés d'un système dans son environnement incarnés dans ses éléments, ses relations et dans les principes de sa conception et de son évolution

IEEE 1471 fournit des définitions et un méta-modèle pour la description de l'architecture

  • Il indique qu'une architecture doit répondre aux préoccupations des parties prenantes d'un système&apos ;Il affirme que les descriptions d'architecture sont intrinsèquement multi-vues, aucune vue unique ne capturant de manière adéquate toutes les préoccupations des parties prenantes
  • Il spécifie les notions de vue et de point de vue, où un point de vue identifie l'ensemble des préoccupations et les représentations/techniques de modélisation, etc. utilisés pour décrire l'architecture afin de répondre à ces préoccupations et une vue est le résultat de l'application d'un point de vue à un système particulier.
  • Il établit les exigences de contenu pour les descriptions d'architecture et l'idée qu'une description d'architecture conforme a une correspondance 1 pour 1 entre ses points de vue et ses vues.
  • Il fournit des conseils pour capturer la justification de l'architecture et identifier les incohérences/problèmes non résolus entre les vues dans une description d'architecture
  • Il fournit les descriptions des points de test système requis, pour le test fonctionnel du système.

.