Фундаментальная теорема программной инженерии - Fundamental theorem of software engineering

В фундаментальная теорема программной инженерии (FTSE) - термин, созданный Эндрю Кениг описать замечание Батлер Лэмпсон[1] приписывается позднему Дэвид Дж. Уиллер:[2]

«Мы можем решить любую проблему, введя дополнительный уровень косвенное обращение."

Теорема не описывает фактическую теорему, которую можно доказать; скорее, это общий принцип управления сложностью с помощью абстракция.

Теорема часто дополняется юмористическим предложением «… за исключением проблемы слишком большого количества уровней косвенности», относящимся к тому факту, что слишком много абстракций могут сами по себе создавать проблемы внутренней сложности. Например, использование многоуровневого протокола в компьютерная сеть, который сегодня является повсеместным, был подвергнут критике, типичной для более общих недостатков абстракции.[3] Здесь добавление дополнительных уровней косвенного обращения может привести к тому, что более высокие уровни будут дублировать функциональность нижних уровней, что приводит к неэффективности, а для функциональности на одном уровне могут потребоваться данные, представленные только на другом уровне, что в корне нарушает цель разделения на разные уровни.

Смотрите также

Рекомендации

  1. ^ Абрахамс и Гуртовой, Метапрограммирование шаблонов C ++, 2005, Addison Wesley, p13.
  2. ^ http://bwlampson.site/Slides/TuringLecture.htm
  3. ^ Wakeman, I .; Crowcroft, J .; Wang, Z .; Сировица, Д. (январь 1992 г.). «Вредно ли наслоение?». Сеть IEEE: 20–24. Дои:10.1109/65.120719.