En systèmes d'information, le concepteur a plutôt tendance à utiliser des méthodes dites semi-formelles (OMT, UML,...) basées principalement sur des notations graphiques (diagramme de classes, diagramme d'états/transitions,...) qui permettent une représentation intuitive et synthétique du système à modéliser. Néanmoins ces méthodes souffrent encore d'un manque de sémantique précise pour leurs différents concepts. Les méthodes formelles(B, VDM, Z,...), basées sur des notations mathématiques(fonctions, relations,...), permettent quant à elle l'obtention d'une spécification non seulement précise et concise mais surtout analysable par des outils. Un ensemble de concepts communs aux différentes méthodes semi-formelles a été défini ainsi que des règles permettant la formalisation en B de ces derniers[NGUY98]. Dans un premier temps, l'objectif de notre travail a été la conception d'un outil formel qui implémente les règles de traduction définies, permettant ainsi la traduction automatique des différents concepts graphiques en des spécifications B[FACO99]. En effet, l'utilisation des méthodes formelles en conception de systèmes d'information doit être supportée par des outils qui allègent le travail du concepteur et réduisent ainsi le coût de développement. Pour chacun des aspects (statique et dynamique) d'une application, nous avons extrait une spécialisation du métamodèle [FACO99] UML qui satisfait les besoins de notre niveau d'abstraction (niveau conceptuel). Dans cet outil, réalisé en Caml, sont définis une syntaxe abstraite UML, traduction interne du métamodéle spécialisé, et un ensemble de fonctions Caml qui permet de traduire une application UML en des spécifications B. Les différents diagrammes UML sont saisis à l'aide de l'atelier Rose, sont récupérés sous forme de fichiers texte et traduits en syntaxe abstraite UML. Après différentes vérifications de cohérence des diagrammes (les opérations spécifiées dans les diagrammes E/T sont des opérations de la classe concernée,...), des spécifications B sont générées. Actuellement, nous travaillons sur la génération automatique, en utilisant le processus de raffinement B, d'une implémentation relationnelle à partir des spécifications B ainsi obtenues. De manière générale, le processus de raffinement demeure une tâche manuelle, relativement lourde, en particulier en phase de preuve. Notre but est de concevoir un assistant de preuve automatique, dédié au domaine des applications bases de données, qui réduirait le plus possible le coût élevé de cette phase. Pour cela un ensemble de règles génériques de raffinement B a été proposé[LALE00]. Les règles prennent en compte le diagramme de classes(données et opérations de base) et permettent la définition de la structure de données relationnelles et du code des différentes opérations SQL (insertion et suppression). En utilisant le prouveurB, ces règles ont été prouvées donnant lieu ainsi à des scénarios de preuves génériques et donc réutilisables par instanciation. L'implémentation ainsi obtenue est prouvée formellement correcte par rapport à la spécification initiale. La suite prévue pour cette thèse concerne: • l'extension du processus de raffinement afin de prendre en compte des transactions plus complexes, • l'extension de l'outil: -implémentation des différentes règles de raffinement permettant la traduction automatique des spécifications abstraites ainsi obtenues en une implémentation SQL, -automatisation du processus de preuve.