Спринт 1/14: Понимание профессии системного аналитика → Тема 3/9: Жизненный цикл ПО, этап разработки как часть жизненного цикла ПО → Урок 1/2
Жизненный цикл ПО
Программное обеспечение хоть и не живой организм, но у него тоже есть свой жизненный цикл.
Жизненный цикл ПО (software life cycle) — это комплексный процесс развития программного обеспечения. Он начинается со стадии разработки концепции ПО и заканчивается прекращением его использования.
В соответствии с этим определением типичный жизненный цикл ПО состоит из следующих фаз:
- Создание ПО.
- Эксплуатация, поддержка и модернизация.
- Вывод из эксплуатации.
Фазы жизненного цикла ПО
Создание
Фаза создания — самая активная фаза работы системного аналитика. Как вы помните, она состоит из нескольких этапов. Они могут не раз повторяться на протяжении всего жизненного цикла программного обеспечения. Поскольку эта фаза подразумевает наиболее активную работу не только системного аналитика, но и других участников команды, напомним об основных этапах.
- Анализ. Результат этого этапа — согласованный с заказчиком и иными заинтересованными лицами документ, содержащий пользовательские требования к ПО (что оно должно делать). Документ, например, может содержать диаграммы вариантов использования ПО или пользовательские сценарии.
- Проектирование. Результат этого этапа — подробное описание будущего ПО (как оно должно быть устроено). В первую очередь это описание подразумевает спецификацию требований, архитектурные схемы и иные документы.
- Дизайн. Результат этого этапа — согласованные дизайн-макеты. Эти макеты становятся частью требований к ПО, с которыми будут работать фронтенд-разработчики. После того, как готов дизайн, все — заказчик, будущие пользователи, проектная команда — чётко знают, как будет выглядеть продукт.
- Разработка. По итогам этого этапа появляется тестовая версия ПО. Её ещё нельзя передавать пользователям, поскольку она может работать нестабильно, то есть скорее всего содержит ошибки. Эта версия переходит на следующий этап — тестирование.
- Тестирование. Результат этого этапа — стабильная версия ПО, соответствующая спецификации требований. Эту версию уже можно передать пользователям.
- Внедрение. В зависимости от масштаба ПО и рисков при его запуске внедрение может происходить не на полную аудиторию пользователей, а только на их часть. Это позволяет собрать первичную обратную связь. Также на этапе внедрения может происходить обучение пользователей и создание эксплуатационной документации. Можно сказать, что на этом этапе участвуют все: от менеджера до тестировщика. Но основная нагрузка ложится на DevOps-инженеров.
Цель, к которой стремится команда в фазе создания — подготовить и передать пользователям такую версию ПО, которая будет иметь ценность для них (текущая версия программного обеспечения должна хотя бы в каком-то виде решать его проблему).
Фазу создания ПО можно сократить, и тогда команда выпустит минимально жизнеспособный продукт, или MVP (Minimal Viable Product). Это такая версия ПО, которая содержит минимальный набор функций. При этом она имеет ценность для пользователей и заинтересованных лиц: они могут сразу работать с MVP и давать обратную связь.
В качестве MVP может быть самое простое приложение для вызова такси. В нём можно лишь заказать машину в ближайшем таксопарке, но дополнительных функций — выбора класса автомобиля, возможности заказать такси другому и прочих — пока нет. Такой MVP нужен для того, чтобы понять, есть ли вообще спрос на заказ такси онлайн. Если спрос есть, MVP переходит на следующий этап, где продукт будет «обрастать» новой функциональностью, меняться и перерабатываться.
Создание MVP — не универсальное решение. Это может быть невозможно, если команда разрабатывает ПО для оборудования, связанного с безопасностью человека (в медицинских учреждениях или самолётах). Если создание MVP невозможно, то по итогу фазы создания пользователю передается полнофункциональная версия ПО.
Результатами фазы создания являются:
- Стабильная версия ПО, которая доступна пользователям или только определённой группе пользователей.
- Документы, которые необходимы для передачи готового продукта в эксплуатацию и поддержку. Например, техническая и пользовательская документация.
Эксплуатация, поддержка и модернизация
После того как ПО введено в эксплуатацию, пользователям готового продукта нужно оказывать поддержку: отвечать на их вопросы, помогать, если возникают трудности при работе с приложением, исправлять найденные ошибки.
При желании и необходимости готовый продукт можно ещё и улучшать — добавлять новую функциональность. Процесс модернизации похож на этапы, из которых состоит фаза «Создание»: новая идея подвергается анализу, затем составляются требования, создаётся дизайн, выполняется разработка, а после улучшенная функциональность проходит тестирование и переходит на этап внедрения.
Цель и одновременно результат фазы «Эксплуатация, поддержка, модернизация» — стабильно работающее ПО. Оно также соответствует предъявляемым требованиям, которые при этом могут меняться.
Вывод из эксплуатации
Иногда требуется вывести ПО из эксплуатации, то есть прекратить его использование. Причины для вывода из эксплуатации могут быть самые разные — неактуальность, несоответствие ожидаемого и фактического результатов работы или наличие более современного ПО.
Цель этого этапа — постараться безболезненно для пользователей прекратить использование, поддержку и развитие ПО.
Жизненный цикл программного обеспечения можно проследить на примере браузера Internet Explorer.
Проект по разработке Internet Explorer начался в 1994 году, уже через год была готова первая версия. Завершился этап создания.
Сначала браузер Internet Explorer был частью дополнительного комплекта Microsoft Plus. После успешного первого запуска браузер стал полноценной частью операционной системы Windows. ПО введено в эксплуатацию.
Впоследствии программа неоднократно обновлялась: добавлялись новые функции, внедрялись новые технологии, повышалась безопасность браузера, исправлялись ошибки предыдущих версий. Процесс модернизации длился целых 20 лет.
В 2015 году компания Microsoft объявила, что браузер Internet Explorer больше не будет обновляться. Поддержку Internet Explorer из версий Windows 10 и Windows 11 прекратили 15 июня 2022 года.
В течение этих нескольких лет компания постепенно переводила всех пользователей на новый браузер — Microsoft Edge, то есть проводила плавный вывод из эксплуатации Internet Explorer.
Соедините тезисы с соответствующими им фазами жизненного цикла ПО.
Теперь вы знаете о фазах жизненного цикла ПО.