Raffinement
# Raffinement

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 (en) ;
* 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ée du raffinement est la programmation modulaire.

