SDLC — жизненный цикл разработки

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

1. Планирование системы

Фаза планирования — наиболее критичный шаг в создании успешной системы. Во время этой фазы вы точно решаете, что хотите сделать и какие проблемы решить, при помощи:
-определения проблем, целей и ресурсов (таких, как персонал и издержки);
-изучения возможностей альтернативных решений путем встреч с клиентами, поставщиками, консультантами и сотрудниками;
-изучения, как сделать ваш продукт лучше, чем у конкурентов.
После анализа этих данных у вас будет три варианта: разработать новую систему, улучшить существующую или оставить систему как есть.

2. Анализ системы

Необходимо определить и задокументировать требования конечного пользователя системы — в чем его ожидания и как их осуществить. Кроме того, для проекта делается технико-экономическое обоснование, которое выясняет, является ли проект организационно, экономически, социально, технологически осуществимым. Очень важно поддерживать хороший уровень коммуникации с заказчиками, чтобы убедиться, что у вас есть ясное видение конечного продукта и его функций.

3. Дизайн системы

Фаза дизайна наступает после того, как достигнуто хорошее понимание требований потребителя. Эта фаза определяет элементы системы, компоненты, уровень безопасности, модули, архитектуру, различные интерфейсы и типы данных, которыми оперирует система. Дизайн системы в общих чертах может быть сделан ручкой на листке бумаги — он определяет, как система будет выглядеть и как функционировать. Затем делается расширенный, детальный дизайн, с учетом всех функциональных и технических требований, как логически, так и физически.

4. Разработка, внедрение и развертывание

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

5. Опытная эксплуатация и интеграция

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

6. Поддержка системы

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

Это шесть основных стадий жизненного цикла разработки системы, и это повторяющийся процесс для каждого проекта. Важно отметить, что должен поддерживаться отличный уровень коммуникации с заказчиком. Для реализации требований очень важны и полезны прототипы. Строя систему короткими итерациями, мы можем гарантировать соответствие требованиям потребителя до того, как построим целую систему. Многие модели жизненного цикла разработки системы исходят из идеи экономии сил, денег и времени, минимизируя при этом риск несоответствия требованиям заказчика к концу проекта. Некоторые из этих моделей — «итерационная модель» и «модель Agile».

Рекомедую ознакомится с моделями разработки ПО, методологиями разработки ПО и с фундаментальной теорией тестирования.
Статья позаимствованна тут.

SDLC qa guide

Понравилась статья? Поделиться с друзьями: