Из Википедии, бесплатной энциклопедии
Перейти к навигации Перейти к поиску

« Нет Silver Bullet - Сущность и несчастные случаи в Software Engineering » является широко обсуждаемым документом по программной инженерии , написанный Тьюринга победитель Фред Брукс в 1987 году [1] Брукс утверждает , что «нет ни одного развития, либо технологию или управлений техникой, что само по себе обещает даже на порядок [десятикратное] улучшение в течение десятилетия производительности, надежности и простоты ". Он также заявляет, что «мы не можем ожидать двукратного роста каждые два года» в разработке программного обеспечения, как это происходит в разработке аппаратного обеспечения ( закон Мура ).

Резюме [ править ]

Брукс различает два разных типа сложности: случайную сложность и существенную сложность. Это связано с классификацией Аристотеля . Случайная сложность связана с проблемами, которые инженеры создают и могут исправить; например, детали написания и оптимизации кода сборки или задержки, вызванные пакетной обработкой. Существенная сложность вызвана решаемой проблемой, и ничто не может ее решить; Если пользователи хотят, чтобы программа выполняла 30 различных действий, тогда эти 30 функций являются существенными, и программа должна выполнять эти 30 различных действий.

Брукс утверждает, что случайная сложность существенно снизилась, и современные программисты тратят большую часть своего времени на решение существенных сложностей. Брукс утверждает, что это означает, что сокращение всех случайных действий до нуля не даст такого же улучшения на порядок, как попытка уменьшить существенную сложность. Хотя Брукс настаивает на том, что не существует единственной серебряной пули , он считает, что ряд инноваций, направленных на преодоление существенной сложности, может привести к значительным улучшениям. Одной из технологий, которая значительно улучшила проблему случайной сложности, было изобретение языков программирования высокого уровня , таких как Ada . [2] Современные языки, такие как C , C ++, C # и Java , считаются улучшениями, но не такого же порядка. [ необходима цитата ]

Брукс выступает за органическое "выращивание" программного обеспечения путем постепенной разработки. Он предлагает разработать и реализовать основную и подпрограммы в самом начале, а рабочие подразделы заполнить позже. Он считает, что такое программирование волнует инженеров и обеспечивает работающую систему на каждом этапе разработки.

Брукс продолжает утверждать, что есть разница между «хорошими» дизайнерами и «великими» дизайнерами. Он постулирует, что, поскольку программирование - это творческий процесс, некоторые дизайнеры по своей сути лучше, чем другие. Он предполагает, что между обычным дизайнером и великим разница в десять раз больше. Затем он выступает за то, чтобы относиться к звездным дизайнерам так же хорошо, как и к звездным менеджерам, предоставляя им не только равное вознаграждение , но и все преимущества более высокого статуса: большой офис, персонал, дорожные фонды и т. Д.

Эту статью и более поздние размышления Брукса о ней « Нет серебряной пули» можно найти в юбилейном выпуске «Мифического человека-месяца» . [3]

Понятия, связанные с данным [ править ]

Работа Брукса иногда цитируется в связи с законом Вирта , где утверждается, что «программные системы растут в размере и сложности быстрее, чем изобретаются методы управления сложностью». [4]

См. Также [ править ]

Ссылки [ править ]


Дальнейшее чтение [ править ]

  • Брукс, Фред П. (1986). «Нет серебряной пули - суть и случайность в разработке программного обеспечения». Труды Десятой всемирной компьютерной конференции IFIP : 1069–1076.
  • - (апрель 1987 г.). «Нет серебряной пули - сущность и случайности программной инженерии». Компьютер IEEE . 20 (4): 10–19. CiteSeerX  10.1.1.117.315 . DOI : 10,1109 / MC.1987.1663532 . S2CID  372277 .
  • - (1975). Мифический человеко-месяц . Эддисон-Уэсли. ISBN 978-0-201-00650-6.
  • - (1995). «Глава 16». Нет серебряной пули - сущность и случайность . Мифический месяц человека (юбилейное издание с четырьмя новыми главами под ред.). Эддисон-Уэсли. ISBN 978-0-201-83595-3.
  • - (1995). «Глава 17».Refired "Нет серебряной пули" . Мифический месяц человека (юбилейное издание с четырьмя новыми главами под ред.). Эддисон-Уэсли. ISBN 978-0-201-83595-3.

Внешние ссылки [ править ]

  • Нет серебряной пули: сущность и случайности разработки программного обеспечения , Фредерик П. Брукс-младший.
  • Принципы разработки программного обеспечения - комментарии Стива МакКоннелла о дихотомии, первоначально опубликованные в IEEE Software , Vol. 16, No. 2, март / апрель 1999 г.