- •СОДЕРЖАНИЕ
- •1.1. Основные понятия и определения
- •1.2. Жизненный цикл программных средств
- •2.1. Стратегии разработки программных средств и систем
- •2.1.1. Базовые стратегии разработки программных средств и систем
- •2.1.2. Каскадная стратегия разработки программных средств и систем
- •2.1.3. Инкрементная стратегия разработки программных средств и систем
- •2.1.4. Эволюционная стратегия разработки программных средств и систем
- •2.2.1. Общие сведения о каскадных моделях
- •2.2.2. Классическая каскадная модель
- •2.2.3. Каскадная модель с обратными связями
- •2.2.5. V-образная модель
- •2.3.1. Базовая RAD-модель
- •2.4.1. Общие сведения об инкрементных моделях
- •2.4.2. Инкрементная модель с уточнением требований на начальных этапах разработки
- •2.5.1. Общие сведения об эволюционных моделях
- •2.5.3. Структурная эволюционная модель быстрого прототипирования
- •2.5.5. Спиральная модель Боэма
- •2.5.6. Упрощенные варианты спиральной модели
- •3.1. Классификация проектов по разработке программных средств и систем
- •3.2. Процедура выбора модели жизненного цикла разработки программных средств и систем
- •3.3. Адаптация модели жизненного цикла разработки ПС и систем к условиям конкретного проекта
- •4.1. Модульное проектирование программ
- •4.2. Метод нисходящего проектирования
- •4.2.1. Пошаговое уточнение
- •4.2.2. Кодирование программы с помощью псевдокода и управляющих конструкций структурного программирования
- •4.2.3. Использование комментариев для описания обработки данных
- •4.2.4. Анализ сообщений
- •4.3. Метод восходящего проектирования
- •4.4. Метод иерархического проектирования модулей (метод Джексона)
- •4.4.1. Основные конструкции построения структур данных
- •4.4.2. Построение структур данных
- •4.4.3. Проектирование структур программ
- •4.4.4. Этапы конструирования программы
- •4.5.1. Связность модуля
- •4.5.2. Сцепление модулей
- •5.1. Общие сведения о CASE-технологиях
- •5.2. Методология структурного анализа и проектирования SADT
- •5.2.2. Основные понятия IDEF0-модели
- •5.2.3. Синтаксис диаграмм
- •5.2.4. Синтаксис моделей
- •5.2.6. Процесс моделирования в IDEF0
- •5.3. Информационное моделирование
- •5.3.1. Сущности
- •5.3.2. Атрибуты
- •5.3.3. Способы представления сущностей с атрибутами
- •5.3.4. Классификация атрибутов
- •5.3.5. Правила атрибутов
- •5.3.6. Связи
- •5.3.7. Безусловные связи
- •5.3.8. Условные формы связи
- •5.3.9. Формализация связи
- •5.3.10. Подтипы и супертипы
- •5.3.11. Рабочие продукты информационного моделирования
- •6.1. Эволюция Case-средств
- •6.2. Концептуальные основы Case–средств
- •6.3.1. Поддержка графических моделей
- •6.3.2. Контроль ошибок
- •6.3.3. Организация и поддержка репозитория
- •6.3.4. Поддержка процесса проектирования и разработки
- •6.4. Классификация CASE–средств
- •6.4.1. Классификация по типам
- •6.4.2. Классификация по категориям
- •6.4.3. Классификация по уровням
- •6.5. Инструментальные средства компании Telelogic, предназначенные для автоматизации жизненного цикла программных средств и систем
- •6.5.1. Telelogic DOORS
- •6.5.2. Telelogic TAU
- •6.5.3. Telelogic SYNERGY
- •6.5.4. Telelogic DocExpress
- •6.5.5. Telelogic TAU Logiscope
- •7.2. Реализация процесса документирования в соответствии со стандартом ISO/IEC 15910:1999
- •7.2.2. Выполнение процесса документирования
- •7.2.3. Содержание плана документирования
- •7.2.4. Требования к содержанию спецификации стиля документации
- •ЛИТЕРАТУРА
Прототипирование |
|
|
|
|
|
|
Ввод в действие |
|
Обеспечение приемки |
||
Подготовка |
программного |
|
|||
программного средства |
|||||
|
средства |
||||
|
|
|
|
||
Анализ |
Проектирование |
|
|
|
|
требований |
системной |
|
|
|
|
к системе |
архитектуры |
|
|
|
|
Анализ требований к |
Программирование |
|
1 |
2 |
|
|
Верификация |
||||
программному |
программного средства |
...n |
|||
и аттестация |
|||||
средству |
в 4GL |
|
|
||
|
|
|
|||
Итерационный цикл разработки прототипа |
|
|
|
||
Рисунок 2.16 – Вариант эволюционной модели прототипирования |
|
||||
по ГОСТ Р ИСО/МЭК ТО 15271-2002 |
|
||||
2.5.5. |
Спиральная модель Боэма |
|
|
|
|||
Спиральные модели жизненного цикла поддерживают эволюционную |
|||||||
стратегию разработки программных средств и систем. |
|
|
|
|
|||
Спиральная модель объединяет в себе |
преимущества |
других |
видов |
||||
моделей. Кроме того, в нее включены анализ и управление рисками, процессы |
|
||||||
поддержки |
и |
управления, предусмотрены |
возможности |
использования |
|||
прототипирования и быстрой разработки приложений (RAD-модели). |
|
|
|||||
Базовая |
|
концепция спиральной модели |
заключается |
|
в следующем. |
||
Каждый цикл разработки(итерация) представляет собой набор операций, |
|||||||
соответствующий шагам в каскадной модели. При этом учитываются каждый |
|
||||||
компонент продукта или системы и каждый уровень сложности, начиная с |
|
||||||
общего анализа требований и заканчивая |
программированием |
каждог |
|||||
компонента. |
|
|
|
|
|
|
|
|
|
|
|
|
|
43 |
|
Рисунок |
2.17 |
изображает |
вариант |
спиральной |
модели , |
Боэма |
|
учитывающий |
положения СТБ |
ИСО/МЭК 12207-2003. Данный |
вариант |
|
|||
построен на основе классической спиральной модели Боэма [20]. |
|
|
|||||
На |
данном рисунке использованы следующие обозначения |
этапов |
|||||
процесса разработки (при описании данные этапы сгруппированы в фазы, |
|||||||
соответствующие виткам спирали). |
|
|
|
|
|||
А. Фаза разработки концепции (соответствует первому витку спирали, |
|
||||||
см. рисунок 2.17). |
|
|
|
|
|
||
В состав данной фазы входят следующие этапы: |
|
|
|||||
1 – |
определение потребности; |
|
|
|
|
||
2 – анализ рисков фазы разработки концепции; |
|
|
|||||
3 – |
концептуальное прототипирование; |
|
|
|
|||
4 – |
разработка |
концепции |
требований |
к системе или |
программным |
||
средствам; 5 – планирование проекта и процесса разработки.
В. Фаза анализа требований (соответствует второму витку спирали (см. рисунок 2.17)).
В состав данной фазы входят следующие этапы:
6 – анализ целей, альтернатив и ограничений, связанных с системой/программным средством;
7 – анализ рисков фазы анализа требований;
8 – демонстрационное прототипирование;
9 – оценка характеристик системы/продукта;
10 – разработка требований к системе/продукту; 11 – планирование перехода на фазу проектирования системы/продукта.
С. Фаза проектирования системы/продукта(соответствует третьему витку спирали (см. рисунок 2.17)).
В состав данной фазы входят следующие этапы:
12 – анализ целей, альтернатив и ограничений, связанных с текущим циклом проектирования системы/продукта;
13 – анализ рисков фазы проектирования системы/продукта; 14 – оценочное прототипирование проектирования системы/продукта; 9 – см. выше; 15 – проектирование системной/программной архитектуры;
16 – планирование перехода на фазу технического проектирования ПС, программирования и сборки.
44
I. Анализ целей, альтернатив и ограничений
25
17
12
6
30 |
29 |
28 |
27 |
11
16
24
IV. Планирование следующей фазы
II.Оценка альтернатив, 18 идентификация
и разрешение рисков
18
|
|
13 |
|
19 |
|
|
|
19 |
|
|
|
|
|
7 |
|
|
|
|
|
14 |
|
|
|
|
|
2 |
|
|
|
|
1 |
8 |
|
|
|
|
3 |
|
|
||
|
|
|
|
||
|
|
|
|
|
|
|
|
4 |
9 |
9 |
9 |
5 |
|
9 |
20 |
|
|
|
|
|
|
||
|
|
|
10 |
20 |
|
|
|
|
|
15 21
21
|
|
22 |
31 |
23 |
22 |
|
|
23
32 26
III. Разработка 33 продукта
текущего уровня
Рисунок 2.17 – Спиральная модель жизненного цикла
45
D. |
Фаза |
реализации (фаза |
технического |
проектирования, |
||||
программирования и сборки), соответствует четвертому витку спирали(см. |
||||||||
рисунок 2.17). |
|
|
|
|
|
|
|
|
В состав данной фазы входят следующие этапы: |
|
|
|
|
||||
17 – |
анализ |
возможности |
реализации |
в |
текущем |
цикле , целей |
||
альтернатив и ограничений, связанных с проектированием системы/продукта; |
||||||||
18 – |
анализ рисков фазы реализации; |
|
|
|
|
|
||
19 – |
операционное прототипирование; |
|
|
|
|
|
||
9 – |
см. выше; |
|
|
|
|
|
|
|
20 – |
техническое проектирование ПС; |
|
|
|
|
|
||
21 – |
программирование и тестирование ПС; |
|
|
|
|
|||
22 – |
сборка и квалификационные испытания ПС; |
|
|
|
||||
23 – |
сборка и квалификационные испытания системы; |
|
|
|||||
24 – |
планирование перехода на фазу расширения функциональных |
|||||||
возможностей, ввод в действие и обеспечение приемки версии. |
|
|
||||||
Е. |
Фаза |
сопровождения |
и |
расширения |
функциональ |
|
возможностей (соответствует пятому витку спирали (см. рисунок 2.17). |
|
|
||||
В состав данной фазы входят следующие этапы: |
|
|
||||
25 – |
анализ |
целей, альтернатив |
и |
ограничений, связанных |
с |
|
сопровождением и поддержкой; |
|
|
|
|
||
18, 19, 9, 20 – 23 – см. выше; |
|
|
|
|
||
26 – |
приемочные испытания. |
|
|
|
|
|
Результаты каждого цикла разработки подвергаются соответствующим оценочным действиям (см. рисунок 2.17, левый прямоугольник):
27 – оценка концепции;
28– оценка требований;
29– оценка проектирования;
30– оценка версии системы/продукта.
В нижний прямоугольник модели(см. рисунок 2.17) сведены действия, связанные с поставкой результатов текущего уровня разработки:
31 – поставка первой пригодной версии;
32 – поставка очередной пригодной версии;
33 – аудит конфигурации версии.
Модель поделена начетыре квадранта. В каждый квадрант модели входят основные и вспомогательные действия по разработке продукта или системы.
В квадранте I – анализ целей, альтернативных вариантов и ограничений – определяются рабочие характеристики, выполняемые функции, стабильность (возможность внесения изменений), аппаратно/программный
46
интерфейс. Формулируются требования к продукту разработки данной фазы или цикла.
Определяются альтернативные способы реализации системы(разработка, |
|
||||||||
повторное использование |
компонент, покупка, |
договор подряда |
и .)т..п |
||||||
Определяются |
ограничения, |
налагаемые |
|
на |
применение |
альтернативных |
|||
вариантов (затраты, график выполнения, интерфейс, ограничения среды и др.). |
|
||||||||
Определяются |
риски, |
связанные |
с |
недостатком |
опыта |
в |
данной |
||
предметной области, применением новой технологии, жесткими графиками, |
|
||||||||
недостаточно хорошо организованными процессами. |
|
|
|
||||||
Вквадранте II – оценка альтернативных вариантов, идентификация
иразрешение рисков- выполняется оценка альтернативных вариантов, рассмотренных в предыдущем квадранте; оценка возможных вариантов разрешения рисков. Выполняется прототипирование как основа для работ следующего квадранта.
Вквадрант III - разработка продукта текущего уровня- включаются
действия |
по |
непосредственной |
разработке |
системы |
или |
программног |
||||
продукта: проектирование системы и ее программных компонентов, разработка |
|
|||||||||
и |
тестирование |
исходных |
текстов |
программ, сборка, тестирование |
и |
|||||
квалификационные испытания продукта или системы и т.п. |
|
|
|
|||||||
Вквадранте IV - планирование следующей фазы- выполняются
действия, связанные с решением о переходе на цикл следующей фаз разработки или выполнении еще одного цикла текущей фазы разработки, в частности, оценка заказчиком результатов текущего уровня, разработка или коррекция планов проекта и следующего цикла, управление конфигурацией.
Работа над проектом в соответствии со спиральной моделью (см. рисунок 2.17), начинается с определения заказчиком потребности в разработке системы или программного продукта (центр квадранта 1).
Первая создаваемая версия системы основывается на предварительных требованиях заказчика. Затем начинается планирование следующего цикла, учитывающее требования и пожелания заказчика, сформулированные им по
результатам |
работ |
соответствующего |
уровня3-го |
квадранта. Каждая |
|
|||
последующая версия более точно воплощает требования заказчика. Степень |
|
|||||||
вносимых изменений от одной версии программы к следующей уменьшается с |
||||||||
каждой |
новой |
версией. В |
результате |
получается |
конечная |
система |
||
(программный продукт).
Для каждого цикла модели анализируются требования, альтернативные варианты и ограничения, определяются и разрешаются риски, разрабатывается версия продукта или системы этого цикла спирали и подтверждается ее
правильность; планируется следующий цикл и выбираются методы его осуществления.
В конце каждого цикла осуществляется оценка его результатов, по итогам которой выполняется либо переход к следующей, либофазе в случае необходимости выполнение еще одного цикла данной фазы.
47
