Ceci se veut un espace de réflexion ouverte (mais contrôlée, parce que c'est mon site, pas un forum) sur le contenu d'un éventuel cours de 2e cycle universitaire en informatique ou en génie logiciel portant sur l'architecture de systèmes.
On m'a invité à réfléchir sur un tel cours, et j'ai quelques idées que j'écrirai ici de temps à autres, mais je serais curieux de connaître votre avis sur le sujet. Les idées qui me seront proposées (à travers le courriel Patrice point Roy arobas USherbrooke point ca) et que je retiendrai pour réflexion et discussion seront identifiées au nom de celle ou de celui qui me l'aura suggérée en premier lieu.
Au plaisir de vous lire!
Ce qui suit est lancé pêle-mêle sur la table...
Évolutivité : concevoir un système pour qu'il tienne la route à long terme, à travers les transformations auxquelles il sera inévitablement confronté.
Résilience : survivre aux attaques et à la dégradation dûe au temps.
Valider le respect de spécifications initiales (analyse statique? surveillance dynamique?)
Échelonnabilité : faire en sorte que le système puisse commencer petit, au besoin, mais surtout grandir en fonction des besoins.
Mettre à jour dynamiquement modules et composants.
Gestion des versions (de l'architecture, des outils, des plateformes sous-jacentes, des langages)
Infrastructures (Frameworks) et bibliothèques