Une autre définition de l'architecture logicielle
L'architecte rappelle celui que Néo rencontre à la fin de Matrix reloaded.
Architecture est un mot souvent employé lorsqu'on parle de design mais il est exagéré afin de le rendre plus important. Le même phénomène s'applique au mot architecte.
L'architecture peut-être défini comme "le concept de plus haut niveau d'un système logiciel dans son environnement. Il est l'organisation ou la structure de composants importants interagissant via des interfaces. Ces composants étant composés successivement de composants et d'interfaces de taille moindre".
Du point de vu du développeur, cette définition est valable mais oublions le développeur un instant. Car au final le client se moque du concept du plus haut niveau et des composants. Une meilleure définition pourrait être :"Dans la plupart des projets réussis, les développeurs expert ont une connaissance partagée du design du système. Cette connaissance partagée est appelée "architecture". Cette connaissance inclut comment le système est structuré en composants et interfaces. Mais l'architecture n'inclut que les composants et interfaces que tous les développeurs ont compris." C'est une meilleure définition car il est désormais plus clair que l'architecture est une construction sociale. L'architecture ne dépend pas que du logiciel mais plutôt de quelle partie du logicielle est considérée comme importante par un consensus du groupe.
On entend aussi souvent cette définition telle que :"L'architecture est l'ensemble des décisions de design qui doivent être prises assez tôt dans un projet." Dans cette de définition, le choix d'un langage de programmation ou d'une base de données fait partie de l'architecture. Mais pour notre meilleure définition cela n'est pas essentielle. Par exemple, pour une application d'imagerie médicale persistant ses images en base de données, ce n'est pas la persistence qui est importante ni la base de données choisie. Ce qui est important pour l'imagerie médicale, c'est l'analyse de l'image. L'architecture ne devrait concerner que les choses importantes.
L'Architecture fait ce qui est juste lorsque l'expansion est gérée en ajoutant les mêmes briques. Vous voulez résoudre un problème de scalabilité en ajoutant les mêmes briques. Si votre architecture le permet alors vous êtes les rois du pétrole.
Toutes les technologies échouent à leur façon lorsqu'elles atteignent leurs limites. Cela implique d'évaluer de nouveaux outils avec une préférence pour ceux qui sont matures, très bons et simples, bien connus et aimés, supportés, sans problème notoire et libres.
Architecture est un mot souvent employé lorsqu'on parle de design mais il est exagéré afin de le rendre plus important. Le même phénomène s'applique au mot architecte.
L'architecture peut-être défini comme "le concept de plus haut niveau d'un système logiciel dans son environnement. Il est l'organisation ou la structure de composants importants interagissant via des interfaces. Ces composants étant composés successivement de composants et d'interfaces de taille moindre".
Du point de vu du développeur, cette définition est valable mais oublions le développeur un instant. Car au final le client se moque du concept du plus haut niveau et des composants. Une meilleure définition pourrait être :"Dans la plupart des projets réussis, les développeurs expert ont une connaissance partagée du design du système. Cette connaissance partagée est appelée "architecture". Cette connaissance inclut comment le système est structuré en composants et interfaces. Mais l'architecture n'inclut que les composants et interfaces que tous les développeurs ont compris." C'est une meilleure définition car il est désormais plus clair que l'architecture est une construction sociale. L'architecture ne dépend pas que du logiciel mais plutôt de quelle partie du logicielle est considérée comme importante par un consensus du groupe.
On entend aussi souvent cette définition telle que :"L'architecture est l'ensemble des décisions de design qui doivent être prises assez tôt dans un projet." Dans cette de définition, le choix d'un langage de programmation ou d'une base de données fait partie de l'architecture. Mais pour notre meilleure définition cela n'est pas essentielle. Par exemple, pour une application d'imagerie médicale persistant ses images en base de données, ce n'est pas la persistence qui est importante ni la base de données choisie. Ce qui est important pour l'imagerie médicale, c'est l'analyse de l'image. L'architecture ne devrait concerner que les choses importantes.
L'Architecture fait ce qui est juste lorsque l'expansion est gérée en ajoutant les mêmes briques. Vous voulez résoudre un problème de scalabilité en ajoutant les mêmes briques. Si votre architecture le permet alors vous êtes les rois du pétrole.
Toutes les technologies échouent à leur façon lorsqu'elles atteignent leurs limites. Cela implique d'évaluer de nouveaux outils avec une préférence pour ceux qui sont matures, très bons et simples, bien connus et aimés, supportés, sans problème notoire et libres.
Commentaires
Enregistrer un commentaire