- •СОДЕРЖАНИЕ
- •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. Требования к содержанию спецификации стиля документации
- •ЛИТЕРАТУРА
2) |
необходимость |
в |
высококвалифицированных |
разработчиках, |
|
умеющих работать с инструментальными средствами разработки; |
|
||||
3) |
возможность |
применения |
только для |
систем или |
программных |
средств, для которых отсутствует требование высокой |
производительности; |
4)жесткость временных ограничений на разработку прототипа;
5)сложность ограничения затрат и определения сроков завершения работы над проектом;
6)неприменимость в условиях высоких технических рисков, при использовании новых технологий.
RAD-модель может эффективно применяться в следующих областях:
1) при разработке систем и продуктов, которые удовлетворяют хотя бы одному из следующих свойств: поддаются моделированию; требования для них хорошо известны; предназначены для концептуальной проверки; являются
некритическими; |
имеют |
небольшой |
; размеримеют |
низкую |
|
производительность; |
относятся |
к |
известной |
разработчикам |
предметной |
области; являются информационными системами; для них имеются пригодные
кповторному использованию компоненты.
2)если пользователь может принимать постоянное участие в процессе разработки;
3)если в проекте заняты разработчики, обладающие достаточными навыками в использовании инструментальных средств разработки;
4)при выполнении проектов в сокращенные сроки(как правило, не более чем за 60 дней);
5)при разработке систем, для которых требуется быстрое наращивание функциональных возможностей на последовательной основе;
6)при разработке проектов, для которых затраты и соблюдение графика не являются очень важными;
7)при невысокой степени технических рисков.
2.4.Модели жизненного цикла,
реализующие инкрементную стратегию разработки программных средств и систем
2.4.1.Общие сведения об инкрементных моделях
Инкрементные модели ЖЦ поддерживают инкрементную стратегию разработки ПС и систем, представляющую собой запланированное улучшение
33
продукта в процессе его жизненного цикла (см. п. 2.1.3 учебного пособия). |
|
||||||||
Как правило, инкрементные модели объединяют элементы каскадных |
|
||||||||
моделей и прототипирования. |
|
|
|
|
|
|
|||
При |
|
использовании |
инкрементных |
моделей |
|
жизненного |
ци |
||
осуществляется изначальная частичная реализация ПС (или системы). При этом |
|
||||||||
в первую очередь реализуются базовые алгоритмы и выходные данные. За этим |
|
||||||||
следует |
медленное |
наращивание |
функциональных |
|
возможностей |
и |
|||
характеристик |
качества |
ПС |
в реализуемых |
последовательно прототипах |
|||||
(инкрементах). |
|
|
|
|
|
|
|
|
|
Применение инкрементных моделей ускоряет создание ПС (или системы) |
|
||||||||
за счет применяемого принципа компоновки из стандартных блоков. Это |
|
||||||||
позволяет в целом уменьшить затраты на разработку ПС (системы). |
|
|
|||||||
Существуют различные варианты реализации инкрементных моделей. |
|
||||||||
В классических вариантах модель основана на использовании полного |
|
||||||||
заранее сформированного набора требований, реализуемых последовательно в |
|
||||||||
виде небольших проектов. |
|
|
|
|
|
|
|
||
Существуют также варианты модели, начинающиеся с формулирования |
|
||||||||
общих требований. Требования постепенно уточняются в процессе разработки |
|
||||||||
прототипов. |
|
|
|
|
|
|
|
|
|
При |
|
использовании |
инкрементной |
модели |
различия |
|
|||
последовательными |
прототипами |
постепенно |
уменьшаются. Каждая |
|
|||||
последующая версия ПС(системы) добавляет к предыдущей определенные |
|
||||||||
функциональные возможности, до тех пор, пока не будут реализованы все |
|
||||||||
требования к ПС(системе). При этом каждая версия ПС(системы) может |
|
||||||||
сдаваться в эксплуатацию. |
|
|
|
|
|
|
2.4.2.Инкрементная модель с уточнением требований на начальных этапах разработки
Вариант инкрементной модели жизненного цикла, предусматривающий |
|
||||||||||
изменение |
или |
уточнение |
требований |
на |
начальных |
этапах |
проце |
||||
разработки, изображает рисунок 2.12. Данный вариант базируется на работах |
|
||||||||||
процесса разработки, определенного в СТБ ИСО/МЭК 12207-2003. |
|
|
|
||||||||
На ранних этапах жизненного цикла(анализ требований к системе, |
|
||||||||||
проектирование системной архитектуры, анализ требований к программным |
|
||||||||||
средствам) |
выполняется |
проектирование |
|
системы |
|
в .целомПри |
этом |
|
|||
используется каскадная стратегия с итерационными связями между этапами. |
|
||||||||||
Применение обратных связей позволяет производить уточнение требований к |
|
||||||||||
системе, |
выполнять |
|
проектирование |
архитектуры |
системы |
с |
учето |
изменившихся требований, уточнять требования к программным средствам. На этих этапах определяются инкременты и реализуемые ими функции.
34
Анализ |
|
|
|
требований |
|
|
|
к системе |
Проектирова- |
|
|
|
|
|
|
|
ние системной |
|
|
|
архитектуры |
Анализ |
Инкремент N |
|
|
требований |
|
|
|
|
|
|
|
к ПС |
|
|
Инкремент 1 |
|
Инкремент 2 |
|
|
Верификация |
|
Инкремент N |
|
|
|
Проектирование |
|
|
|
ПС |
|
|
|
|
Программиро- |
|
|
|
вание и |
|
|
|
тестирование ПС |
|
|
|
Сборка и ква- |
|
|
|
лификационные |
|
|
|
испытания |
|
|
|
|
Ввод в действие |
|
|
|
и обеспечение |
|
|
|
приемки системы |
|
|
|
Эксплуатация |
|
|
|
и сопровождение |
|
Рисунок 2.12 – Инкрементная модель жизненного цикла |
35
Каждый инкремент затем проходит через остальные этапы жизненного |
|
|||||||||||
цикла |
(проектирование |
|
|
программных |
средств, программирование |
и |
|
|||||
тестирование программных средств, сборка и квалификационные испытания, |
|
|||||||||||
ввод |
в |
действие |
и |
|
обеспечение |
приемки , сиэксплуатациятемы |
и |
|
||||
сопровождение). Выполнение данных этапов соответствует каскадной модели |
|
|||||||||||
жизненного цикла и может быть распределено согласно календарному графику. |
|
|||||||||||
В |
|
первую |
очередь |
реализуется |
набор |
функций |
или |
требован, |
||||
формирующих |
основу |
|
продукта. Последующие |
|
инкременты |
улучшают |
||||||
функциональные возможности или характеристики. |
|
|
|
|
|
|||||||
Каждый |
инкремент |
|
верифицируется |
в |
соответствии |
с |
набо |
|||||
требований, предъявляемых к данному инкременту. |
|
|
|
|
|
2.4.3.Вариант инкрементной модели по ГОСТ Р ИСО/МЭК ТО 15271-2002
В стандарте ГОСТ Р ИСО/МЭК ТО15271-2002 [6] приводится другой вариант реализации инкрементной модели(рисунок 2.13). Он основан на использовании полного заранее сформированного набора требований и их
постепенной реализации в отдельных инкрементах. |
|
|
|
|||
Данный |
вариант |
модели |
учитывает |
возможность |
как |
части |
параллельной разработки инкрементов (см. рисунок 2.13, инкремент 1 и 2), так |
||||||
и их последовательной разработки (инкременты 2 и N). |
|
|
|
|||
В инкременте 1 проектируется |
архитектура |
ПС(или системы) |
и |
|||
реализуются |
его базовые |
функции. Результаты проектирования инкремента1 |
могут быть использованы для проектирования инкремента2, не дожидаясь окончания реализации инкремента 1.
В |
дальнейшем |
различия |
между |
инкрементами |
уменьшаются, что |
позволяет |
сократить |
время разработки |
инкрементов. Поэтому с целью |
||
упрощения |
управления |
проектом |
обычно |
выполняется |
последовательная |
разработка инкрементов. |
|
|
|
|
|
Разработка каждого инкремента состоит |
из трех укрупненных этапов: |
проектирование, программирование и тестирование, ввод в действие и
обеспечение приемки. |
|
Инкрементную модель можно комбинировать с другими |
моделями. |
Зачастую ее объединяют со спиральной Vили-образной моделью, |
что |
позволяет снизить затраты и риски при разработке ПС (системы). |
|
36
Инкремент 1 |
|
|
|
|
|
|
|
|
|
|
|
|
Проектиро- |
|
Программи- |
|
Ввод в действие |
|
|
рование и |
|
и обеспечение |
|
|
вание |
|
тестирование |
|
приемки |
|
|
|
|
|
|
Инкремент 2
Программи- |
Ввод в действие |
Т Проектиро- рование и и обеспечение
вание |
тестирование |
приемки |
Инкремент N |
|
|
|
|
|
|
|
|
|
|
|
|
Проектиро- |
|
Программи- |
|
Ввод в действие |
|
|
рование и |
|
и обеспечение |
|
|
вание |
|
тестирование |
|
приемки |
|
|
|
|
|
|
Возможный информационный поток
Т- требования
Рисунок 2.13 – Вариант инкрементной модели по ГОСТ Р ИСО/МЭК ТО 15271-2002
37