Qu'est-ce que l'architecture logicielle ?
Que fait un.e architecte logicielle lors de la conception d'un projet, quel est son rôle ? En réalité, il est assez proche d'un architecte classique...

Améliorez vos compétences en dev !
Des cours complets, créés par des experts, pour tous niveaux et accessibles en illimité grâce à notre abonnement !
19,99€/mois

Dans les métiers de la construction, l'architecte est celui ou celle qui conçoit, en amont, les plans nécessaires à la fabrication d'un bâtiment. L'objectif est de partir des besoins spécifiques du client, pour arriver à un plan détaillé des solutions possibles en utilisant son expertise métier.
Et bien c'est la même chose pour l'architecture logicielle !
Un.e architecte logiciel va prendre en compte les besoins et les contraintes du client, mais également du projet pour proposer la modélisation d'une solution technique qui correspondra au mieux au projet de départ.
Il y a néanmoins une grosse différence entre l'architecture classique et logicielle : c'est la fréquence des changements !
Lorsque l'on construit un bâtiment, il doit être fonctionnel et robuste. Un logiciel, lui, sera en constante évolution. C'est donc le travail de l'architecte (et des développeurs/développeuses ensuite) de faire en sorte que la solution technique soit fonctionnelle, robuste ET évolutive !
Pour arriver à concevoir cette architecture, il faut donc bien comprendre les enjeux du projet, mais aussi avoir une très bonne connaissance des contraintes techniques qui peuvent impacter le fonctionnement du projet.
Si l'architecte n'est pas censé.e implémenter la solution, il/elle doit préparer les spécifications du projet au mieux possible afin que l'implémentation se fasse avec le moins de problèmes.
Quels outils ?
L'architecture logicielle ne se repose pas sur des plans à proprement parlé, mais plutôt sur des langages de modélisation comprenant des outils normalisés (diagrammes) pour concevoir une architecture de logicielle.
Le "langage" le plus utilisé est l'UML, qui signifie "Unified Modeling Language".
En UML, on retrouve une dizaine de types de diagrammes différents, avec chacun leur représentation et leur utilité, parmi lesquels :
- "Diagramme de Cas d'Utilisation" pour représenter l'interaction des utilisateurs avec le logiciel
- "Diagramme d'activité" pour modéliser un comportement logique
- "Diagramme de classes" pour la structure des données
- "Diagramme de séquence " pour modéliser l'échange des informations/données
- Et bien d'autre...
Voici à quoi peuvent ressembler certains de ces diagrammes UML, utilisés pour l'architecture logicielle :

Une fois le travail d'architecture logicielle terminé, on peut alors démarrer l'implémentation (même si une phase d'architecture est requise à chaque évolution du projet).
Attention : Il ne faut pas confondre l'architecture logicielle avec l'architecture des systèmes d'information, qui consiste à concevoir/planifier les serveurs, les réseaux et toute l'infrastructure d'un projet et/ou d'une entreprise !
J'espère que cet article vous aura été utile, et à bientôt sur le blog !
Les articles les plus populaires du blog
Envie de continuer à lire des articles autour du développement web (entre autres) ? Voici la sélection des articles de mon blog les plus lus par la communauté !
Voir la sélection 🚀Recevez les articles de la semaine par e-mail pour ne rien manquer !
S'abonner à la newsletter 📧
À propos de l'auteur
Hello, je suis Nicolas Brondin-Bernard, ingénieur web indépendant depuis 2015 passionné par le partage d'expériences et de connaissances.
Aujourd'hui je suis aussi formateur/coach pour développeurs web juniors, tu peux me contacter sur nicolas@brondin.com, sur mon site ou devenir membre de ma newsletter pour ne jamais louper le meilleur article de la semaine et être tenu au courant de mes projets !
Photo de Daniel McCullough sur Unsplash