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.