Lors de la formalisation de l'architecture du système, il est important que vous compreniez non seulement la valeur derrière ce que l'architecture apportera à la table, mais aussi de comprendre et d'apprécier ce qu'elle devrait être.
Les principaux objectifs du logiciel ou de l'architecture technique sont d'identifier les exigences non fonctionnelles qui sont réalisées par les attributs de qualité qui guideront l' architecture du système .
Sur les exigences non fonctionnelles:
Une exigence non-fonctionnelle est un besoin qui précise les critères qui peuvent être utilisés pour juger de l'exploitation d'un système, plutôt que des comportements spécifiques. Ils sont mis en contraste avec les exigences fonctionnelles qui définissent le comportement ou des fonctions spécifiques. Le plan de mise en œuvre des exigences fonctionnelles est détaillé dans la conception du système. Le plan de mise en œuvre des exigences non-fonctionnelles sont détaillées dans l'architecture du système.
D'une manière générale, les exigences fonctionnelles définissent ce qu'un système est censé faire et les exigences non fonctionnelles définissent comment un système est censé être. ... exigences non-fonctionnelles sont souvent appelés « critères de qualité » d'un système. D'autres termes pour les exigences non fonctionnelles sont les «qualités», les «objectifs de qualité», les «exigences de qualité de service», les «contraintes» et les «exigences non comportementales».
Bien sûr, l'identification des exigences architecturales importantes est logique dans le cadre d'un projet entièrement nouveau, mais lorsque vous travaillez avec des logiciels existants, il est préférable d'être aussi discipliné que possible. Vous ne voudrez pas votre architecture logicielle se laisser influencer par le système actuel.
L'architecture logicielle pour faire autorité doit vraiment être 3 choses.
Déclaratif
C'est la partie de la documentation où vous déclarez PAS CE QUI EST, mais comment les choses DEVRAIENT ÊTRE. Nous y parvenons grâce à l'utilisation de différentes vues d'architecture du système. On définit les éléments qui devraient être, la façon dont ils interagissent, et nous percer le cas échéant vers le bas dans chaque composante des vues plus précises qui déclarent meilleure manière de concevoir le système.
Cette distinction est importante. La conception du système doit être limitée par l'architecture du système, ce sont en fait des choses distinctes mais liées.
Raisonnement
La raison d'être de votre architecture logicielle est ce qui donne une légitimité et l'autorité aux décisions d'architecture qui ont été faites. Peut-être il a été décidé d'utiliser un événement Publicité / Sous auditeur sur MQ de déclenchement d'un traitement par lots et vous diagramme, il?
Pourquoi cette décision? Nous expliquons pourquoi dans la section Raison d'être et un lien vers notre explication exigences non fonctionnelles, de qualité objectifs d'attributs, ou point de vue architectural principales exigences. (Ex. Les emplois doivent être asynchrone et reproductible, maintenabilité en tant que lecteurs d'attributs de la qualité que dans le cas d'un échec de traitement par lots que les emplois peuvent être ré-émis par l'intermédiaire d'un message MQ, le système doit avoir zéro perte de message à la communication asynchrone, etc. ..)
Des risques
Maintenant que vous avez déclaré comment l'architecture devrait être et que vous l'avez prouvée avec votre justification, vous pouvez maintenant identifier les risques sur l'état actuel du système là où cela ne demeure pas.
(Par ex. Validation côté serveur est dupliqué sur le côté client du code Javascript. Ceci est une violation du principe de SEC et ce qui est contraire à l'attribut qualité de maintenabilité. Il n'y a pas d'exigences non fonctionnelles définies environ Performances dans ce domaine il n'y a ne justifie le comportement du système courant)
Vos risques peuvent diagramme dans lequel l'état courant est en écartons de l'Architecture. Ces risques peuvent être traités par l'équipe de développement dès maintenant, soit par le biais de leur plan de projet, soit en l'ajoutant au carnet de commandes.