в облаке
Попробовать

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

01.07.2015 08:55
ALM

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

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

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

  • определения проблем, целей и ресурсов (таких, как персонал и издержки);
  • изучения возможностей альтернативных решений путем встреч с клиентами, поставщиками, консультантами и сотрудниками;
  • изучения, как сделать ваш продукт лучше, чем у конкурентов.

После анализа этих данных у вас будет три варианта: разработать новую систему, улучшить существующую или оставить систему как есть.

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

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

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

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

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

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

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

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

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

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

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

Оригинал: https://airbrake.io/blog/insight/what-is-system-development-life-cycle

Автор: Омар Аль-Кавазми, консультант по IT-операциям.

Перевод: Александра Родсет

Сертифицированные курсы

Андрей Плетенев. Онлайн курс Agile. SCRUM. Курс включает более 20 уроков с практическими заданиями, которые индивидуально проверяются и комментируются тренером.

 

Еще интересные статьи на эту тему: