- •СОДЕРЖАНИЕ
- •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.2.5. V-образная модель
Основное назначение V-образной модели – обеспечение планирования тестирования (испытаний) системы на ранних стадиях проекта.
V-образная модель поддерживает каскадную стратегию однократного
выполнения |
этапов |
разработки |
жизненного |
цикла |
и |
базируется |
|||||
предварительном полном формировании требований. |
|
|
|
|
|||||||
V-образная модель представляет собой разновидность каскадной модели. |
|||||||||||
Она так же имеет последовательную структуру цикла разработки. Каждый шаг |
|||||||||||
начинается после завершения предыдущего шага(в классической V-образной |
|||||||||||
модели). |
|
|
|
|
|
|
|
|
|
|
|
Однако |
в V-образной |
модели |
выделены |
|
связи |
между , шагами |
|||||
предшествующими |
программированию, и |
соответствующими |
видами |
||||||||
тестирования и испытаний. |
|
|
|
|
|
|
|
||||
Рисунок 2.6 иллюстрирует вариант V-образной модели, адаптированный |
|||||||||||
к работам |
процесса |
разработки, определенного в СТБ ИСО/МЭК 12207-2003 |
|||||||||
[8]. |
|
|
|
|
|
|
|
|
|
|
|
На этапе анализа требований к системе выполняется анализ предметной |
|||||||||||
области и формулируются требования к системе. Кроме этого разрабатывается |
|||||||||||
план ввода в действие и обеспечения приемки. |
|
|
|
|
|
||||||
На |
этапе |
проектирования |
системывыполняется |
проектирование |
|||||||
системной архитектуры и анализ требований к программным средствам. На |
|||||||||||
данном |
этапе, |
помимо |
этого, |
разрабатывается |
план |
|
квалификационных |
||||
испытаний системы. |
|
|
|
|
|
|
|
|
|
||
На |
этапе |
|
проектирования |
программных |
средстввыполняется |
проектирование программной архитектуры и техническое проектирование
программных средств (разбиение программных средств на |
программные |
|
модули). Одновременно |
составляются план сборки программных |
средств и |
план квалификационных |
испытаний программных средств. |
|
На этапе программирования и тестирования программных средств
выполняется кодирование и тестирование программных модулей.
На этапе сборки и квалификационных испытаний программных средств
осуществляется последовательная сборка программных модулей программные средства и квалификационные испытания последовательных результатов сборки. Одной из основных целей данного этапа является подтверждение результатов этапа проектирования программных средств.
На этапе сборки и квалификационных испытаний системывыполняется сборка программных средств, технических средств и ручных операций в единую систему и квалификационные испытания системы. Одной из основных целей данного этапа является подтверждение результатов этапа проектирования системы.
На этапе ввода в действие и обеспечения приемкиосуществляются приемочные испытания, целью которых является проверка пользователем
23
соответствия системы исходным требованиям. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||
|
Связи |
между |
|
деятельностью по |
|
разработке |
|
планов |
|
испытаний |
||||||||||||||
тестирования и по подтверждению результатов соответствующих этапов(см. |
||||||||||||||||||||||||
рисунок 2.6) обозначены пунктирными линиями. |
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||
|
Как |
|
и |
|
в |
каскадной |
модели, работы |
вспомогательных |
процессов |
|||||||||||||||
жизненного цикла программных средств выполняются на всех этапах. Они |
||||||||||||||||||||||||
включают управление проектом, обеспечение |
качества, |
верификацию и |
||||||||||||||||||||||
аттестацию, управление конфигурацией, разработку документации. |
|
|
|
|
|
|||||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
Подготовка |
|
|
|
|
|
|
|
|
|
|
|
Эксплуатация и |
|
|||||||||||
|
процесса |
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
сопровождение |
|
|||||||||||
разработки |
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Анализ |
|
|
|
|
|
|
|
Ввод в действие |
|
|
|
||||||||||
|
|
требований |
|
|
|
|
|
|
|
и обеспечение |
|
|
|
|||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||
|
|
|
к системе |
|
|
|
|
|
|
|
|
приемки |
|
|
|
|
|
|||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Проектирование |
|
|
|
|
Сборка и квали- |
|
|
|
|
|
|
|||||||||
|
|
|
|
|
|
|
|
фикационные |
|
|
|
|
|
|
||||||||||
|
|
|
|
|
|
системы |
|
|
|
|
испытания |
|
|
|
|
|
|
|||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
системы |
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Проектирование |
|
Сборка и ква- |
|
|
|
|
|
|
|
|
|
||||||
|
|
|
|
|
|
|
|
программных |
|
лификационные |
|
|
|
|
|
|
|
|
||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||
|
|
|
|
|
|
|
|
|
средств |
|
испытания ПС |
|
|
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Программирование и тестирование ПС
Рисунок 2.6 – V-образная модель жизненного цикла
С целью сокращения недостатков каскадной стратегии разработан ряд модификаций V-образной модели, обусловленных разновидностью обратных
связей, которые |
обеспечивают |
возможность |
изменения |
результато |
предыдущих этапов разработки. |
|
|
|
24
Например, рисунок 2.7 иллюстрирует V-образную модель с организацией обратных связей между соседними этапами процесса разработки.
Подготовка |
|
Эксплуатация |
процесса |
|
и |
разработки |
|
сопровождение |
|
|
|
|
Анализ |
|
|
|
|
|
|
|
|
Ввод в действие |
|
||||||||
требований |
|
|
|
|
|
|
|
|
и обеспечение |
|
|||||||||
|
|
|
|
|
|
|
|
|
|
||||||||||
|
|
|
|
|
|
|
|
|
|
||||||||||
|
к системе |
|
|
|
|
|
|
|
|
приемки |
|
||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Проектирова- |
|
|
|
|
|
Сборка и квали- |
|
|
|
||||||||
|
|
|
|
|
|
|
фикационные |
|
|
|
|||||||||
|
|
ние системы |
|
|
|
|
|
|
испытания |
|
|
|
|||||||
|
|
|
|
|
|
|
|
|
|
|
|||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
системы |
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Проектирова- |
|
Сборка и квали- |
|
|
|
|
|
||||||||
|
|
|
|
|
фикационные |
|
|
|
|
|
|||||||||
|
|
|
|
|
|
|
|
|
|
||||||||||
|
|
|
|
|
ние ПС |
|
|
|
|
|
|
||||||||
|
|
|
|
|
|
испытания ПС |
|
|
|
|
|
||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Программирование и тестирование ПС
Рисунок 2.7 - V-образная модель жизненного цикла
с организацией обратных связей между соседними этапами
V-образная модель поддерживает каскадную стратегию разработки программных средств и систем. Поэтому она обладает всеми достоинствами
данной |
стратегии. Кроме того, при |
подходящем использованииV-образная |
|||||
модель обладает следующими дополнительными достоинствами: |
|
||||||
1) |
планирование на ранних стадиях разработки системы ее тестирования |
||||||
(испытаний); |
|
|
|
|
|
|
|
2) |
упрощение |
аттестации |
и |
верификации |
всех |
промежуточн |
|
результатов разработки; |
|
|
|
|
|
||
3) |
упрощение |
управления |
и |
контроля |
хода |
процесса |
разработки, |
25
возможность более реального использования графика проекта. |
|
|
|||||||
При |
использовании V-образной |
модели |
для |
несоответствующего ей |
|
||||
проекта выявляются следующие ее недостатки: |
|
|
|
|
|
||||
1) поздние сроки тестирования требований в жизненном цикле, что |
|
||||||||
оказывает |
существенное |
влияние |
на |
график |
выполнения |
проекта |
п |
||
необходимости выполнить их изменения; |
|
|
|
|
|
|
|||
2) отсутствие, как |
и |
в |
базовой |
каскадной , моделидействий, |
|
||||
направленных на анализ рисков. |
|
|
|
|
|
|
|
2.3.RAD-модель быстрой разработки приложений
Модель быстрой разработки приложений (Rapid Application Development, RAD) появилась в 80-е годы в связи с бурным развитием мощных технологий и инструментальных средств разработки . ПСДанная модель, исходя из особенностей ее реализации и целей ее использования, может поддерживать как инкрементную, так и эволюционную стратегию разработки системы или программного средства. Как правило, данная модель используется в составе
другой модели для ускорения цикла разработки прототипа(версии) системы |
|
||||||
или ПС (см. пп. 2.5.3, 2.5.4). |
|
|
|
|
|
||
Модели |
жизненного |
цикла, реализующие |
инкрементную |
или |
|||
эволюционную стратегию разработки, широко применяют понятие быстрого |
|||||||
прототипирования. RAD-модель представляет собой модель, на которой |
|||||||
прототипирование базируется. |
|
|
|
|
|
||
Основу |
RAD-модели |
составляет |
использование |
мощ |
|||
инструментальных средств разработки. Такими средствами являются языки |
|||||||
четвертого |
поколения 4GL |
(Fourth Generation Language – язык |
|
||||
программирования |
четвертого |
поколения) и CASE-средства, благодаря |
|
||||
наличию в них сред визуальной разработки и кодогенераторов. Поэтому в |
|||||||
процессе RAD-разработки основное внимание уделяется не программированию |
|
||||||
и тестированию ПС, а анализу требований и проектированию. |
|
|
|||||
Использование |
инструментальных |
средствпозволяет |
задействовать |
||||
пользователя, а |
следовательно, и |
дать оценку продукту |
на |
всех стадиях |
его |
разработки.
Характерной чертой RAD-модели является короткое время перехода от анализа требований до создания полной системы или программного средства. Разработка прототипа, как правило, ограничивается четко определенным периодом времени (временным блоком; обычно 60 дней) [19, 20, 10]. При полностью определенных требованиях и ограниченной проектной области использование RAD-модели позволяет за временной блок создать полностью функциональную систему.
26