Откройте актуальную версию документа прямо сейчас
Если вы являетесь пользователем интернет-версии системы ГАРАНТ, вы можете открыть этот документ прямо сейчас или запросить по Горячей линии в системе.
Приложение С
(справочное)
Модели жизненного цикла
Существует множество моделей жизненного цикла, но три из них - фундаментальные. Этими фундаментальными моделями жизненного цикла являются:
- каскадная;
- инкрементная;
- эволюционная.
Каждая из указанных моделей может быть использована самостоятельно или скомбинирована с другими для создания гибридной модели жизненного цикла. При этом конкретную модель жизненного цикла следует выбирать так, чтобы процессы, работы и задачи из ГОСТ Р ИСО/МЭК 12207 были связаны между собой и определены их взаимосвязи с предшествующими процессами, работами (видами деятельности) и задачами (заданиями).
В настоящем приложении описаны три фундаментальные модели жизненного цикла с присущими им недостатками (аргументами против их применения) и преимуществами (выгодами). Эти недостатки и преимущества должны быть учтены при выборе модели жизненного цикла для проекта.
С.1 Каскадная модель
Каскадная модель жизненного цикла по существу реализует принцип однократного выполнения каждого из следующих видов деятельности в их естественных границах:
- установление потребностей пользователя;
- определение требований;
- проектирование системы;
- изготовление системы;
- испытание;
- корректировка;
- поставка или использование.
При применении такого принципа разработки каждого программного объекта соответствующие работы и задачи процесса разработки обычно выполняют последовательно (см. рисунок С.1). Однако они могут быть частично выполнены параллельно в случаях перекрытия последовательных работ.
Когда несколько программных объектов разрабатывают одновременно, для всех этих объектов работы и задачи процесса разработки могут быть выполнены параллельно. Процессы сопровождения и эксплуатации обычно реализуют после процесса разработки. Процессы заказа и поставки, а также вспомогательные и организационные процессы обычно выполняют параллельно с процессом разработки.
С.1.1 Недостатки
Данной модели присущи следующие недостатки, которые необходимо учитывать при оценке возможности ее применения:
a) требования к объектам определены недостаточно четко;
b) система обычно слишком велика, чтобы все работы по ее созданию выполнять однократно;
c) предполагаемые скорые изменения в технологиях работ;
d) возможные текущие изменения требований к системе;
e) ограниченность ресурсов, например средств или персонала;
f) промежуточный продукт может быть непригоден для использования.
С.2 Инкрементная модель
Инкрементная модель жизненного цикла, называемая также запланированным усовершенствованием продукта, начинается с выдачи набора требований и реализует разработку последовательности конструкций. Первая конструкция содержит часть требований, в последующую конструкцию добавляют дополнительные требования и так далее до тех пор, пока не будет закончено создание системы. Для каждой конструкции выполняют необходимые процессы, работы и задачи, например анализ требований и создание архитектуры могут быть выполнены сразу, в то время как разработку технического проекта программного средства, его программирование и тестирование, сборку программных средств и их квалификационные испытания выполняют при создании каждой из последующих конструкций.
В данной модели при разработке каждой конструкции работы и задачи процесса разработки выполняют последовательно или частично параллельно с перекрытием. При частично одновременной разработке последовательных конструкций работы и задачи процесса разработки могут быть выполнены параллельно для ряда конструкций.
Работы и задачи процесса разработки обычно выполняют многократно в той же последовательности для всех конструкций. Процессы сопровождения и эксплуатации могут быть реализованы параллельно с процессом разработки. Процессы заказа и поставки, а также вспомогательные и организационные процессы обычно выполняют параллельно с процессом разработки (рисунок С.2).
С.2.1 Недостатки
Данной модели присущи следующие недостатки, которые необходимо учитывать при оценке возможности ее применения:
а) требования к объектам определены недостаточно четко;
b) предусмотрены сразу все возможности системы;
c) предполагаемые скорые изменения в технологиях работ;
d) возможные текущие изменения требований к системе;
e) привлечение ресурсов (средств или персонала) на длительный период ограничено.
С.2.2 Преимущества
Преимущества использования данной модели:
a) необходимость изначального использования характеристик системы;
b) пригодность для использования промежуточного продукта;
c) естественное разделение системы на наращиваемые компоненты (инкременты);
d) возможности наращивания привлекаемого персонала и средств.
С.3 Эволюционная модель
В эволюционной модели жизненного цикла систему также разрабатывают в виде отдельных конструкций, но в отличие от инкрементной модели требования изначально не могут быть полностью осознаны и установлены. В данной модели требования устанавливают частично и уточняют в каждой последующей конструкции (рисунок С.3).
При таком методе для каждой конструкции работы и задачи процесса разработки выполняют последовательно или параллельно с частичным перекрытием.
Работы и задачи процесса разработки обычно выполняют многократно в той же последовательности для всех конструкций. Процессы сопровождения и эксплуатации могут быть реализованы параллельно с процессом разработки. Процессы заказа и поставки, а также вспомогательные и организационные процессы обычно выполняют параллельно с процессом разработки.
В таблице С.1 показано, как могут быть распределены процессы в модели жизненного цикла программного средства при создании ее для эволюционного жизненного цикла. В таблице С.1 учтены только работы процесса разработки. Отмеченные знаком "." объекты указывают на конкретную работу или задачу, а горизонтальные строки представляют собой шкалу времени. При необходимости может быть проведена дальнейшая детализация распределения процессов.
Таблица С.1 - Пример разметки эволюционной разработки
Процесс/работа/ задача |
Шкала времени |
||||||||||||||||||||||||||
Реализация процесса |
- |
- |
|
|
|
|
|
|
- |
- |
|
|
|
|
|
|
- |
|
|
|
|
|
|
|
|
|
|
Анализ требований к системе и программному средству |
|
- |
- |
- |
|
|
|
|
|
- |
- |
|
|
|
|
|
|
- |
|
|
|
|
|
|
|
|
|
Архитектурный (эскизный) проект системы и программного средства |
|
|
- |
- |
- |
|
|
|
|
|
- |
- |
|
|
|
|
|
|
- |
|
|
|
|
|
|
|
|
Технический проект программного средства |
|
|
|
- |
- |
- |
|
|
|
|
|
- |
- |
|
|
|
|
|
|
- |
|
|
|
|
|
|
|
Программирование и тестирование программного средства |
|
|
|
|
- |
- |
- |
|
|
|
|
|
- |
- |
|
|
|
|
|
|
- |
|
|
|
|
|
|
Сборка и квалификационные испытания программного средства |
|
|
|
|
|
- |
- |
- |
|
|
|
|
|
- |
- |
|
|
|
|
|
|
- |
|
|
|
|
|
Сборка и квалификационные испытания системы |
|
|
|
|
|
|
|
- |
- |
- |
|
|
|
|
- |
- |
|
|
|
|
|
|
- |
|
|
|
|
Ввод в действие и обеспечение приемки программного средства |
|
|
|
|
|
|
|
- |
- |
- |
|
|
|
|
|
- |
- |
|
|
|
|
|
|
- |
|
|
|
Процесс эксплуатации |
|
|
|
|
|
|
|
|
|
- |
- |
- |
- |
- |
- |
- |
- |
-- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
Процесс сопровождения |
|
|
|
|
|
|
|
|
|
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
Процесс документирования |
- |
- |
|
|
|
|
- |
- |
- |
- |
- |
|
|
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
|
|
- |
Процесс управления конфигурацией |
|
|
|
|
|
|
|
- |
|
|
- |
|
|
|
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
|
|
- |
Процесс обеспечения качества |
|
|
|
|
|
- |
- |
- |
|
|
|
|
|
|
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
|
|
- |
Процесс верификации |
|
|
|
|
|
- |
- |
- |
- |
|
|
|
|
|
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
|
|
- |
Процесс аттестации |
|
|
|
|
|
- |
- |
- |
|
|
|
|
|
|
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
|
|
- |
Процесс совместного анализа |
- |
- |
|
|
|
|
|
- |
- |
- |
|
|
|
|
|
- |
- |
|
|
|
|
- |
- |
- |
|
|
- |
Процесс аудита |
|
|
|
|
|
|
|
- |
|
|
|
|
|
|
|
- |
|
|
|
- |
|
- |
|
- |
|
|
|
Процесс решения проблемы |
|
|
|
- |
|
|
|
- |
|
|
|
- |
|
- |
- |
- |
|
- |
- |
- |
- |
- |
- |
- |
- |
- |
- |
Управление процессом разработки |
- |
|
|
|
|
|
|
- |
- |
|
- |
|
|
|
- |
- |
- |
- |
|
|
|
|
- |
- |
- |
- |
- |
Управление процессом сопровождения |
|
|
|
|
|
|
|
- |
- |
- |
|
|
|
|
- |
- |
- |
- |
|
|
|
|
- |
- |
- |
- |
- |
Процесс создания инфраструктуры |
- |
- |
- |
- |
|
|
|
- |
- |
- |
|
|
|
- |
- |
- |
|
|
|
|
- |
- |
- |
- |
|
|
|
Процесс обучения |
- |
- |
- |
- |
|
|
|
|
- |
- |
- |
|
|
|
|
|
- |
|
|
|
|
|
|
|
|
|
|
Процесс усовершенствования |
- |
|
|
|
|
|
|
|
- |
|
|
|
|
|
|
|
- |
|
|
|
|
|
|
|
|
|
- |
С.3.1 Недостатки
Данной модели присущи следующие недостатки, которые необходимо учитывать при оценке возможности ее применения:
а) все возможности системы предопределены изначально;
b) ограниченные возможности долговременного привлечения ресурсов (средств или персонала).
С.3.2 Преимущества
Преимущества использования данной модели:
a) изначальное определение возможностей системы;
b) пригодность для использования промежуточного продукта;
c) естественное разделение системы на наращиваемые компоненты (инкременты);
d) привлечение персонала и средств по мере необходимости;
e) необходимая обратная связь с пользователем для полного понимания требований;
f) упрощение надзора за изменением технологии.
Если вы являетесь пользователем интернет-версии системы ГАРАНТ, вы можете открыть этот документ прямо сейчас или запросить по Горячей линии в системе.