Жизненный цикл программного обеспечения — это ряд этапов, через которые проходит любой программный продукт от момента идеи и до момента выпуска ПО в широкое пользование. По сути, жизненный цикл разработки ПО — это и есть сам процесс разработки и развитие программного продукта.
При этом важно отметить, что существует множество моделей жизненного цикла, например:
каскадная,
инкрементная,
спиральная,
и др.
Любая модель регулирует лишь реализацию стадий жизненного цикла, но не сам жизненный цикл, который в принципе остается неизменным.
Жизненный цикл программного обеспечения
Итак, жизненный цикл программного обеспечения — это 6 основных стадий, через которые проходит любая разработка ПО:
Сбор и анализ требований к программному продукту.
Разработка документации для всех требований к продукту.
Разработка дизайна продукта.
Разработка программного обеспечения.
Прохождение различных тестов.
Ввод в эксплуатацию и поддержка ПО.
Сбор и анализ требований к программному продукту
Данная стадия является одной из самых основных, потому что именно она формирует дальнейший подход к разработке ПО. Все собранные на этой стадии сведения определяют:
каким должен получиться продукт «на выходе», отталкиваясь от его качества;
требования к разработчикам;
возможные риски, связанные с разработкой и внедрением ПО;
подход к тому, как будет реализована разработка ПО;
потенциальный бюджет разработки;
отношения между заказчиком и разработчиком;
и др.
В общем, данная стадия — это фундамент всех дальнейших работ.
Разработка документации для всех требований к продукту
Первую стадию прошли? Отлично! Но нужно все задокументировать, чтобы в дальнейшем не возникало ненужных проблем. Именно на этом этапе все требования к продукту и к команде разработчиков прописываются на бумаге и утверждаются с обеих сторон.
С одной стороны, документация — это лишняя бюрократия. Но в некоторых случаях именно этот этап и четко задокументированные требования защищают заказчика и разработчиков от неприятных ситуаций и претензий.
На этой стадии:
подписываются договоры;
составляются ТЗ;
прописывается план и график работ.
Разработка дизайна продукта
Под этой стадией понимают разработку внутренней архитектуры продукта, а не внешний дизайн. Важно, чтобы архитектура ПО способствовала реализации всего функционала, возложенного на сам программный продукт. Поэтому всегда предлагают несколько архитектурных вариантов, чтобы можно было выбрать лучший, который будет способен обеспечить эффективную связь со всеми подключаемыми дополнительными модулями.
На этом же этапе подбирается стек необходимых технологий и инструментов.
Разработка программного обеспечения
Требования прописаны, стек технологий выбран, что еще остается? Правильно, кодинг! Это одна из самых «длинных» стадий жизненного цикла программного обеспечения, так как именно на этом этапе происходит реализация ПО при помощи кода.
Все фичи, модули, функционал, интерфейс и т. д. разрабатываются именно на этой стадии. Результатом конца этого этапа является готовый работающий программный продукт.
Эта стадия очень сильно отражает качество предыдущих стадий. Все ли было оговорено? Все ли задокументировано? Все ли идет четко по плану?
Именно на этом этапе могут возникать конфликты между заказчиком и разработчиком из-за:
дополнительно внедренных фич;
нехватки бюджета;
несоблюдения сроков;
неопытности команды;
излишней требовательности заказчика;
и т. д.
Жизненный цикл разработки ПО: прохождение различных тестов
Если продукт дошел до этой стадии, то это уже успех. Однако это тоже очень важный этап, так как именно он отвечает за то, насколько качественной была разработка и насколько качественным «выйдет» программное обеспечение.
Тестирование бывает разных видов: от простого автоматизированного и до сложного ручного. Цель любого тестирования — найти возможные ошибки в программе, которые нужно исправить перед релизом ПО. Важно, чтобы продукт вышел «в руки» с минимальным количеством багов, поэтому тестированию уделяется очень много внимания.
Ввод в эксплуатацию и поддержка ПО
Если продукт разработан, прошел тестирование, если исправлены ошибки, то он выходит на последнюю стадию — релиз.
Релиз может быть разным:
поэтапным, когда ПО выпускают в ограниченный круг пользователей;
масштабным, когда ПО доступно для всех и активно рекламируется.
Неважно, как происходит релиз ПО, важно первое время за ним очень пристально наблюдать:
Как работает?
Довольны ли пользователи?
Требуются ли улучшения?
и т. д.
Обычно после релиза ПО в работу подключаются команды техподдержки, которые помогают пользователям с вопросами эксплуатации и следят за стабильной работы своего продукта.
Заключение
Жизненный цикл программного обеспечения одинаковый абсолютно для всех IT-проектов — от этого никуда не деться. Единственное — в зависимости от выбранных моделей разработки, больше или меньше внимания будет уделяться тем или иным стадиям самого цикла.
Другое