Seamless Object-Oriented Requirements. (Exigences orientées objets dans un cycle de vie continu)

L'evolution constante des besoins des clients et des utilisateurs exige une reponse rapide de la part des equipes logicielles. Cela cree une forte demande pour un fonctionnement sans rupture des processus logiciels. L'integration, la livraison et le deploiement continus, egalement connus sous le nom de DevOps, ont fait d'enormes progres en rendant les processus logiciels reactifs au changement. Ces progres n'ont toutefois eu que peu d'effets sur les exigences en matiere de logiciels. Aujourd'hui, la plupart des besoins sont exprimes en langage naturel. Cette approche a un grand pouvoir expressif, mais au detriment d'autres aspects de la qualite des exigences telles que la tracabilite, la reutilisabilite, la verifiabilite et la comprehensibilite. Le defi est ici d'ameliorer ces aspects sans sacrifier l'expressivite. Bertrand Meyer, dans sa methode multi-exigences, releve ce defi et propose d'exprimer les besoins individuels en trois couches : sous-ensemble declaratif d'un langage de programmation oriente objet, langage naturel et notation graphique. Cette approche a motive et inspire les travaux de la presente these. Alors que l'approche multiexigences se concentre sur la tracabilite et la comprehensibilite, l'approche Seamless Object-Oriented Requirements (SOOR) presentee dans cette these prend en compte la verifiabilite, la reutilisabilite et la comprehensibilite. Cette these explore l'hypothese de Martin Glinz selon laquelle, pour soutenir la continuite, les exigences logicielles devraient etre des objets. L'exploration confirme l'hypothese et aboutit a un ensemble de methodes basees sur des outils pour specifier, valider, verifier et reutiliser les exigences orientees objets. La contribution technique reutilisable la plus importante de cette these est une bibliotheque Eiffel prete a l'emploi de patrons de classes, qui capturent les modeles d'exigences logicielles recurrents. Les exigences orientees objets, concretes et sans rupture, heritent de ces patrons et deviennent des clients du logiciel specifie. La construction de logiciels orientes objets devient la methode de specification, de validation et de reutilisation des exigences ; la conception par contrat devient la methode de verification de l'exactitude des implementations par rapport aux exigences. Cette these s'appuie sur plusieurs experiences et montre que la nouvelle approche propose favorise la verifiabilite, la reutilisabilite et la comprehensibilite des exigences tout en maintenant l'expressivite a un niveau acceptable. Les experimentations mettent en oeuvre plusieurs exemples, dont certains sont des standards de l'etat de l'art de l'ingenierie des exigences. Chaque experimentation illustre un probleme par un exemple, propose une solution generale et montre comment la solution regle le probleme. Alors que l'experimentation s'appuie sur Eiffel et son support d'outils avances, tels que la preuve et les tests automatises, chaque idee presentee dans l'approche SOOR s'adapte conceptuellement a tout langage de programmation oriente objet type statiquement, possedant un mecanisme de genericite et un support elementaire pour les contrats.