|
L'architecture logicielle correspond aux structures fondamentales d'un système logiciel et à la discipline de création de telles structures et systèmes. Il s'agit essentiellement d'un plan de haut niveau qui définit :
* Composants : Les principaux éléments constitutifs du système (par exemple, modules, services, bases de données). Il décrit ce que fait chaque composant et comment il interagit avec les autres.
* Connecteurs : Comment ces composants communiquent et interagissent les uns avec les autres (par exemple, API, files d'attente de messages, mémoire partagée).
* Contraintes : Limitations et restrictions sur la conception et la mise en œuvre du système (par exemple, exigences de performances, considérations de sécurité, besoins d'évolutivité).
* Propriétés : Caractéristiques du système dans son ensemble, telles que la fiabilité, l'évolutivité, la maintenabilité et la sécurité. L'architecture vise à atteindre ces propriétés souhaitées.
En bref, l'architecture logicielle est une conception de haut niveau qui guide le processus de développement et garantit que le système répond à ses exigences. Il se concentre sur le « quoi » et le « pourquoi » du système, plutôt que sur le « comment » détaillé qui est traité par la conception et la mise en œuvre de niveau inférieur. Le choix de la bonne architecture est crucial pour le succès d'un projet logiciel car il a un impact significatif sur des facteurs tels que la maintenabilité, l'évolutivité, les performances et le coût.
|