Architecture orientée objets
L'architecture orientée objets est une architecture logicielle mettant en œuvre des applications et composants organisés selon la technologie objets. Une norme en est la Common Object Request Broker Architecture (CORBA).
Concept
L'architecture orientée objets propose de bâtir un système basé autour d'objets et de concepts existant dans le monde réel, alors que l'approche analytique fonctionnelle classique se base sur des opérations décrivant une approche fonctionnelle[1]. Cette approche permet une réutilisation plus poussée du code et permet l'encapsulation en modules réutilisables, à l'instar de catalogues dans lesquels il suffirait de prendre les modules pour les réutiliser[1].
Il en résulte une somme d'objets « primitifs » permettant de constituer des objets complexes[1].
Historique
L'architecture orientée objet trouve son origine dans les années 1960 en particulier dans le domaine de la simulation avec la diffusion du langage Simula[2] qui introduit la notion de classes et donc d'objets. Ce n'est que dans les années 1980 qu'émergent les notions d'architecture orientée objet. Puis, dans les années 1990, de nombreuses méthodologies orientées objets apparaissent.
Mise en Ĺ“uvre
La mise en œuvre de l'architecture orientée objets se déroule principalement en trois phases[1] : l’analyse qui consiste à étudier les attentes des utilisateurs et les transformer en « objets métiers » et de « services » correspondants à des concepts réels de leur activité ; le design ou phase de conception qui décrit l'organisation des modules du logiciel : définition de l'interface utilisateur, mise en œuvre des règles de gestion et persistance des données ; l'implémentation, qui correspond à la phase de développement, qui affine les définitions de la phase de design en fabriquant les composants logiciels élémentaires nécessaires au logiciel.
Cette approche permet de définir les modules élémentaires et de coller au mieux au besoin initial.
Limites
Du fait de sa fine granularité, la structure et l'architecture des logiciels développés en « orientés objets » sont peu visibles et les interactions entre les divers objets sont enfouies dans le code générant des modifications difficiles[3].
Notes et références
- [PDF] C. Raynal, « La Conception Orientée Objet » (consulté le )
- [ppt] Pierre-Alain Muller, « Survol de l’approche orientée objets » (consulté le )
- [ppt] « Introduction à l’Architecture Orientée Service » (consulté le ) : « rubrique Limites de la programmation orientée Objet »