ПОНЯТИЕ ПРОГРАММНОГО ПРОДУКТА. ПОНЯТИЕ ЖИЗНЕННОГО ЦИКЛА ИС. ОСНОВНЫЕ МОДЕЛИ ЖИЗНЕННОГО ЦИКЛА. КАСКАДНАЯ, ПОЭТАПНАЯ (ИТЕРАЦИОННАЯ) И СПИРАЛЬНЫЕ МОДЕЛИ
В основе деятельности по созданию и использованию программного обеспечения (ПО) лежит понятие его жизненного цикла (ЖЦ). ЖЦ является моделью создания и использования ПО, отражающей его различные состояния, начиная с момента возникновения необходимости в данном программном изделии и заканчивая моментом его полного выхода из употребления у всех пользователей.
Традиционно выделяются следующие основные этапы ЖЦ ПО:
· анализ требований,
· проектирование,
· кодирование (программирование),
· тестирование и отладка,
· эксплуатация и сопровождение.
ЖЦ образуется в соответствии с принципом нисходящего проектирования и, как правило, носит итерационный характер: реализованные этапы, начиная с самых ранних, циклически повторяются в соответствии с изменениями требований и внешних условий, введением ограничений и т.п. На каждом этапе ЖЦ порождается определенный набор документов и технических решений, при этом для каждого этапа исходными являются документы и решения, полученные на предыдущем этапе. Каждый этап завершается верификацией порожденных документов и решений с целью проверки их соответствия исходным.
Существующие модели ЖЦ определяют порядок исполнения этапов в ходе разработки, а также критерии перехода от этапа к этапу. В соответствии с этим наибольшее распространение получили три следующие модели ЖЦ:
1. Каскадная модель (70-80 гг.) предусматривает последовательную организацию работ. При этом основной особенностью является разбиение всей разработки на этапы, причем переход с одного этапа на следующий происходит только после того, как будут полностью завершены все работы на предыдущем этапе. Каждый этап завершается выпуском полного комплекта документации, достаточной для того, чтобы разработка могла быть продолжена другой командой разработчиков. Любые изменения на ранних этапах приводят к повторному выполнению последующих этапов работ (принцип «от начала и до конца»).
2. Поэтапная модель с промежуточным контролем (80-85 гг.) Проектирование сводится к выполнению отдельных этапов с циклами обратной связи между этапами (предусматривает возвраты на предыдущие этапы после выполнения очередного этапа). Недоработки предыдущего уровня могут обнаруживаться не сразу на последующем уровне, а позднее (напр., на стадии опытной эксплуатации). Это означает, что часть проекта должна быть возвращена на начальный уровень работы. Вообще работа может быть возвращена с любого этапа на любой предыдущий этап. Преимущество такой модели заключается в том, что межэтапные корректировки обеспечивают меньшую трудоемкость по сравнению с каскадной моделью; однако, время жизни каждого из этапов растягивается на весь период разработки.
3. Спиральная модель (86-90 г.г.) — предполагает итерационный процесс разработки ИСы. При этом возрастает значение начальных этапов жизненного цикла, таких как анализ и проектирование. Каждая итерация представляет собой законченный цикл разработки, приводящий к выпуску новой версии изделия, которое совершенствуется от итерации к итерации, чтобы стать законченной системой. Каждый виток спирали соответствует поэтапной модели создания фрагмента или версии программного изделия. На основании полученных разработок уточняются требования к ИС, выполняется корректировка спецификаций ИС,создается новая версия. Если результаты удовлетворительные, выполняется переход на следующий этап с параллельным завершением работ предыдущих этапов. В основе спиральной модели жизненного цикла лежит применение прототипной технологии — RAD (Rapid Application Development) – методология быстрой разработки приложений. Данная технология обеспечивает создание на ранней стадии реализации действующей интерактивной модели системы, так называемой системы-прототипа, позволяющей наглядно продемонстрировать пользователю будущую систему, уточнить его требования и т.д.