Учебники

Модели SDLC — Эволюция

Модель жизненного цикла разработки программного обеспечения (SDLC) — это структура, описывающая действия, выполняемые на каждом этапе проекта разработки программного обеспечения.

В жизненном цикле разработки программного обеспечения действия выполняются в пять этапов:

  • Сбор требований — требования к разрабатываемому программному обеспечению собраны. Эти требования будут на языке, понятном клиенту / пользователю. Рекомендуется использовать доменную терминологию.

  • Анализ — Собранные требования анализируются с точки зрения реализации, а спецификации программного обеспечения написаны так, чтобы охватывать как функциональные, так и нефункциональные требования.

  • Проектирование — этот этап включает в себя разработку архитектуры программного обеспечения и особенностей реализации на основе технологии, выбранной для разработки.

  • Построение — на этом этапе код разрабатывается, тестируется модулем, интегрируется, тестируется на интеграцию и производится сборка.

  • Тестирование. На этом этапе выполняется функциональное тестирование встроенного программного обеспечения. Это также включает в себя тестирование нефункциональных требований.

Сбор требований — требования к разрабатываемому программному обеспечению собраны. Эти требования будут на языке, понятном клиенту / пользователю. Рекомендуется использовать доменную терминологию.

Анализ — Собранные требования анализируются с точки зрения реализации, а спецификации программного обеспечения написаны так, чтобы охватывать как функциональные, так и нефункциональные требования.

Проектирование — этот этап включает в себя разработку архитектуры программного обеспечения и особенностей реализации на основе технологии, выбранной для разработки.

Построение — на этом этапе код разрабатывается, тестируется модулем, интегрируется, тестируется на интеграцию и производится сборка.

Тестирование. На этом этапе выполняется функциональное тестирование встроенного программного обеспечения. Это также включает в себя тестирование нефункциональных требований.

Есть два подхода к выполнению этих действий —

  • Prescriptive — модели SDLC, которые обеспечат вам способы выполнения действий в установленном порядке, как это определено в рамках.

  • Адаптивный — модели SDLC, которые дадут вам гибкость в выполнении заданий с определенными правилами, которые необходимо соблюдать. Гибкие методы в основном следуют этому подходу, каждый из которых имеет свои правила. Однако использование адаптивного или гибкого подхода не означает, что программное обеспечение разрабатывается без соблюдения какой-либо дисциплины. Это приведет к хаосу.

Prescriptive — модели SDLC, которые обеспечат вам способы выполнения действий в установленном порядке, как это определено в рамках.

Адаптивный — модели SDLC, которые дадут вам гибкость в выполнении заданий с определенными правилами, которые необходимо соблюдать. Гибкие методы в основном следуют этому подходу, каждый из которых имеет свои правила. Однако использование адаптивного или гибкого подхода не означает, что программное обеспечение разрабатывается без соблюдения какой-либо дисциплины. Это приведет к хаосу.

Вы должны понимать, что мы не можем сказать, что конкретная модель SDLC является хорошей или плохой. Каждый из них имеет свои сильные и слабые стороны и поэтому подходит в определенных условиях.

Когда вы выбираете модель SDLC для своего проекта, вы должны понимать —

  • Контекст вашей организации
  • Ваш технологический контекст
  • Состав вашей команды
  • Ваш контекст клиента

Например, если разработка программного обеспечения предсказуема, вы можете использовать предписывающий подход. С другой стороны, если разработка программного обеспечения непредсказуема, то есть требования не совсем известны, или команда разработчиков не имеет предварительного доступа к текущей области или технологии и т. Д., Тогда Адаптивный подход является лучшим выбором.

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