Ayant dépassé l’âge de la majorité, les technologies à objets sont largement sorties des laboratoires de recherche. Confrontés aux besoins multiples des développements en entreprise, les langages de programmation — Smalltalk, C++, Eiffel, plus récemment Java — se sont étoffés et diversifiés. Ils se sont transformés en des environnements de développement puissants, au risque parfois de faire oublier la simplicité des principes sous-jacents. Ces outils, et de nouveaux provenant de la pénétration des objets dans les technologies client-serveur, sont non seulement particulièrement efficients pour la construction d’applications interactives, mais permettent de répondre à la plupart des besoins des applications informatiques. De plus, ils savent aujourd’hui dialoguer avec l’informatique existante, particulièrement avec les bases de données relationnelles déjà déployées qui, de leur côté, évoluent vers la prise en compte de types de données complexes proches des objets.
Ces offres technologiques multiples proposent des solutions pour une informatique sans cesse plus hétérogène et plus distribuée dans des réseaux locaux ou globaux. Elles s’appuient sur la métaphore des objets actifs communiquant entre eux et ouvrent des perspectives pour une large (ré)utilisation de composants logiciels. Les bénéfices attendus sont des logiciels de meilleure qualité : correction, robustesse, fiabilité, efficacité, portabilité et extensibilité comme notées par B. Meyer. Ces logiciels sont plus modulaires, présentent un taux plus élevé d’utilisation de modules déjà codés, et disposent avant tout de meilleures capacités d’évolutivité. Celle-ci peut être définie, dans ce contexte, comme la capacité de modifier, de raffiner et d’étendre un ensemble existant de classes en réponse aux changements des besoins utilisateurs ou des contraintes opérationnelles.
Ces nouveaux moyens techniques, aujourd’hui d’un bon niveau de maturité, ne sauraient pourtant suffire à eux seuls pour satisfaire toutes les attentes mises sur les approches à objets. Un système informatique est un artefact, résultat d’une réelle activité constructive. Se pose alors la question des méthodes et des outils permettant de mener à bien et de maîtriser les processus de conception adaptés aux développements à objets.
Comme pour la conception de tout système complexe, apparaît la nécessité de modèles préalables sous forme de schémas et de descriptions allant d’esquisses abstraites à des plans complets. Ces modèles sont les produits des activités prônées dans les méthodes dites d’analyse et de conception objet. L’objectif est d’aider à combler l’écart entre les besoins des utilisateurs du futur système, besoins exprimés sous forme textuelle, et les expressions codées des programmes opérationnels.
...