Добро пожаловать в Software Construction

Добро пожаловать в первую часть моего обзора влиятельного текста Стива МакКоннелла Code Complete (2nd Edition). Если вы еще этого не сделали, сначала прочтите мой пост Введение в серию, я обещаю, он короткий! В этом посте мы углубимся в содержание и начнем с первой главы. Надеюсь, вам понравится!

Глава 1: Добро пожаловать в Software Construction

В первой главе кратко обсуждаются различные задачи, связанные с разработкой программного обеспечения, и подчеркивается, каким из них будет уделено наибольшее внимание в книге. Вкратце, цель этой главы - заложить основу для того, что вы узнаете, прочитав Code Complete.

Начнем с полного списка мероприятий по разработке программного обеспечения:

  • Определение проблемы
  • Разработка требований
  • Планирование строительства
  • Архитектура программного обеспечения
  • Детальный дизайн
  • Кодирование и отладка
  • Модульное тестирование
  • Интеграционное тестирование
  • Интеграция
  • Системное тестирование
  • Корректирующее обслуживание

Многие люди, особенно те, кто имеет более «неформальный» опыт программирования, считают, что этап конструирования лежит в основе разработки программного обеспечения. По большей части МакКоннел согласен с тем, что это точное предположение с оговоркой, что все еще важно понимать критические роли, которые играют другие виды деятельности, не связанные со строительством. Однако он подчеркивает, что остальная часть книги будет в значительной степени сосредоточена на деятельности по созданию программного обеспечения, говоря:

Если бы эта книга была собакой, она бы лаяла при строительстве, виляла хвостом при проектировании и тестировании и лаяла при выполнении других действий по разработке.

В частности, Code Complete будет сосредоточен в первую очередь на следующих действиях по разработке программного обеспечения, упорядоченных по степени важности:

  1. Кодирование и отладка
  2. Детальный дизайн
  3. Планирование строительства
  4. Модульное тестирование
  5. Интеграция
  6. Интеграционное тестирование

МакКоннел заканчивает первую главу, в общих чертах обсуждая, почему конструкция играет такую ​​важную роль в разработке программного обеспечения.

От вашего понимания того, как строить конструкции, зависит, насколько вы хороши в программировании.

Во-первых, строительство занимает огромную часть времени, затрачиваемого на проект (30–80%). Это также «центральный вид деятельности в разработке программного обеспечения», при этом другие задачи в основном выполняются до (например, требования и архитектура) или после (например, тестирование системы) фазы построения. Он также отмечает несколько исследований, которые показывают увеличение производительности, когда программисты сосредотачиваются на создании программного обеспечения.

Кроме того, исходный код, который является результатом создания, часто является лучшей (а иногда и единственной) документацией, которая остается актуальной, и поэтому ее следует создавать с осторожностью. Наконец, он отмечает, что строительство - единственное мероприятие, «которое гарантированно будет выполнено», учитывая реальность временных ограничений, бюджетов, непредвиденных ошибок и других проблем, которые часто подрывают цели ожиданий «идеального проекта». В таких ситуациях, как правило, из проекта исключаются работы, не связанные со строительством, потому что само строительство является обязательным! Таким образом, улучшая этап строительства, вы эффективно улучшаете весь проект.

На этом я завершаю краткий обзор первой главы! Надеюсь, вам понравилось. Следите за новостями.

Далее: Глава 2: Метафоры для более глубокого понимания разработки программного обеспечения