design by contract

Метод разработки программного обеспечения, при котором элементы системы проектируются таким образом, что их взаимодействие основано на точно определенных соглашениях (contract)

Источник: Полный англо-русский словарь на Gufo.me