SDLC - жизненный цикл разработки системы
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 уроков с практическими заданиями, которые индивидуально проверяются и комментируются тренером.
Еще интересные статьи на эту тему:
|