En informatique, le raffinement consiste à détailler la conception pour arriver par itérations à l'implémentation finale. À chaque itération correspond un niveau de granularité de plus en plus fin. Quand cette technique est appliquée au code source, la conception est alors matérialisée par du pseudo-code. Cette technique peut aussi être appliquée au modèle de données.

Cette technique est utilisée par différentes méthodes : Approche descendante (stepwise refinement) ; FermaT Transformation System ; Méthode B (1996) ; Méthode de la machine à états abstraits (ASM) ; Prototypage logiciel vertical ; Sous-typage comportemental (behavioral subtyping), voir le principe de substitution de Liskov Microsoft Solutions Framework Process Model.

L'opposé du raffinement est la programmation modulaire.

Voir aussi http://jargonf.org/wiki/raffinage

Catégorie:Programmation informatique