6 septembre 2022

Les caractéristiques pour une bonne architecture technique

Par Jean-Marc Amon

En bref, les exigences fonctionnelles définissent ce qu’un système est censé faire, comme dans le cas d’une voiture, emmener une personne de A à B, et les exigences non fonctionnelles stipulent comment un système est censé être.

Les caractéristiques d’architecture couvrent la majeure partie de l’aspect d’un projet à grande échelle :

𝟭. 𝗦𝗰𝗮𝗹𝗮𝗯𝗶𝗹𝗶𝘁é

La capacité du système à fonctionner et à fonctionner lorsque le nombre d’utilisateurs ou de demandes augmente. L’évolutivité est réalisable avec la mise à l’échelle horizontale ou verticale de la machine.

𝟮. Haute disponibilité

Il est mesuré en pourcentage de temps de disponibilité et définit la proportion de temps pendant laquelle un système est fonctionnel et fonctionne. La disponibilité est affectée par les erreurs système, les problèmes d’infrastructure, les attaques malveillantes et la charge du système.

𝟯. 𝗘𝘅𝘁𝗲𝗻𝘀𝗶𝗯𝗶𝗹𝗶té

L’extensibilité mesure la capacité d’étendre un système et l’effort requis pour mettre en œuvre l’extension. L’extension peut se faire en ajoutant de nouvelles fonctionnalités ou en modifiant des fonctionnalités existantes. Le principe prévoit des améliorations sans altérer les fonctions actuelles du système.

𝟰. Consistence

La cohérence garantit que chaque lecture renvoie l’écriture la plus récente. Cela signifie qu’après l’exécution de chaque opération, les données sont cohérentes sur tous les nœuds, et donc tous les clients voient les mêmes données en même temps, quel que soit le nœud auquel ils se connectent.

𝟱. 𝗥ésilience

Un système peut facilement gérer et récupérer des pannes accidentelles et malveillantes. La détection des pannes et la récupération rapide et efficace sont nécessaires pour maintenir la résilience.

𝟲. 𝗨tilisabilité

L’utilisabilité peut être décrite comme la capacité d’un système à fournir une condition permettant à ses utilisateurs d’effectuer les tâches de manière sûre, efficace et efficiente tout en profitant de l’expérience.

𝟳. 𝗢𝗯𝘀𝗲𝗿𝘃𝗮𝗯𝗶𝗹𝗶𝘁é

L’observabilité est la capacité de collecter des données sur l’exécution du programme, les états internes des modules et la communication entre les composants. Pour améliorer l’observabilité, utilisez diverses techniques et outils de journalisation et de traçage.

𝟴. 𝗦𝗲𝗰𝘂𝗿𝗶𝘁é

Degré le logiciel protège les informations et les données afin que les personnes ou d’autres produits ou systèmes aient le degré d’accès aux données approprié à leurs types et niveaux d’autorisation. Cette famille de caractéristiques comprend la confidentialité, l’intégrité, la non-répudiation, la responsabilité et l’authenticité.

𝟵. 𝗗𝘂𝗿𝗮𝗯𝗶𝗹𝗶𝘁é

La durabilité est la capacité de solution de la facilité d’entretien du logiciel et de répondre aux besoins des utilisateurs pendant une période relativement longue.

𝟭𝟬. 𝗔𝗴𝗶𝗹𝗶𝘁é

C’est devenu le mot à la mode d’aujourd’hui pour décrire une méthode logicielle contemporaine. Une équipe agile associée pourrait être une équipe pratique capable de répondre de manière appropriée aux changements. La modification est ce que le développement de logiciels est très abondant.