- •С.Л. Моругин Проектирование информационных систем
- •Часть 1
- •Содержание
- •1. Введение. Общая характеристика процесса проектирования ис
- •1.1. Информационные системы
- •1.2. Классификация ис
- •1.3. Проектирование ис
- •1.4. Восходящий и нисходящий подходы к проектированию ис
- •2.1.2. Каскадная (водопадная) модель
- •2.1.3. Инкрементная модель
- •2.1.4. Спиральная модель
- •2.1.5. Макетирование
- •2.1.6. Компонентно-ориентированная модель
- •2.2. Этапы жизненного цикла программного обеспечения
- •2.2.1. Этап установления требований
- •2.2.2. Этап спецификации требований
- •2.2.3. Этап проектирования архитектуры
- •2.2.4. Этап детализированного проектирования
- •2.2.5. Этап реализации
- •2.2.6. Этап интеграции
- •2.2.7. Этап сопровождения
- •2.3. Методологии проектирования ис
- •2.3.1. Общие требования к методологии и технологии проектирования
- •2.3.2. Методология структурного анализа и проектирования
- •2.3.2. Объектно-ориентированный подход
- •2.3.2.1. Объектно-ориентированные методологии
- •2.3.2.1.2. Методология omt и другие методологии
- •2.3.3. Методология rad
- •2.4. Стандарты idef
- •2.5. Инструментальные средства моделирования информационных систем
- •3. Этапы разработки ис. Техническое задание
- •3.1. Этапы разработки информационных систем
- •3.2. Проведение обследования деятельности предприятия и построение моделей
- •3.2.1. Сбор информации для исследования и формализации бизнес-процессов деятельности предприятия или организации
- •3.2.2. Обследование деятельности предприятия и сбор данных
- •3.2.3. Построение и анализ моделей деятельности предприятия
- •3.2.4. Этапы (стадии) создания ис
- •3.3. Разработка системного проекта
- •3.4. Разработка предложений по автоматизации и техническое предложение
- •3.5. Разработка технического задания
- •3.5.1. Назначение технического задания и его структура
- •3.5.2. Рекомендации по заполнению разделов технического задания
- •4. Функциональные структурные модели ис
- •4.1 Структурный подход к проектированию ис
- •4.1.1. Сущность структурного подхода
- •4.1.2 Методология функционального моделирования sadt
- •4.2. Моделирование потоков данных
- •4.2.1. Внешние сущности
- •4.2.2. Системы и подсистемы
- •4.2.3. Процессы
- •4.2.4. Накопители данных
- •4.2.5. Потоки данных
- •4.2.6. Построение иерархии диаграмм потоков данных
- •Обозначения и сокращения
- •Библиографический список
- •Проектирование информационных систем
- •607220, Г. Арзамас, Нижегородская обл., ул. К.Маркса, 36
- •607220, Г. Арзамас, Нижегородская обл., ул. К.Маркса, 36
2.1.3. Инкрементная модель
Инкрементная модель является разновидностью спиральной модели, реализующей инкрементную стратегию проектирования (рис. 2.4). Она объединяет элементы последовательной каскадной модели с итерационной философией макетирования.
Каждая линейная последовательность здесь вырабатывает поставляемый инкремент ПО. Например, ПО для ИС в 1-м инкременте реализует функции хранения складских данных во 2-м инкременте — функции складского учета; в 3-м инкременте — функции сбыта продукции; в 4-м инкременте — возможности взаимодействия с бухгалтерской системой.
Первый инкремент приводит к получению базового продукта, реализующего базовые требования (правда, многие вспомогательные требования остаются нереализованными).
План следующего инкремента предусматривает модификацию базового продукта, обеспечивающую дополнительные характеристики и функциональность. По своей природе инкрементный процесс итеративен, но, в отличие от макетирования, инкрементная модель обеспечивает на каждом инкременте работающий продукт.
Рис. 2.4 - Инкрементная модель
Современная реализация инкрементного подхода — экстремальное программирование ХР (Кент Бек, 1999) [13]. Оно ориентировано на развитие проекта с очень малыми приращениями функциональности.
Инкрементный подход используется в технологии RAD (Rapid Application Development) – быстрой разработки приложений.
2.1.4. Спиральная модель
Спиральная модель — использует эволюционную стратегию проектирования.
Спиральная модель базируется на лучших свойствах классического жизненного цикла и макетирования, к которым добавляется новый элемент — анализ риска, отсутствующий в этих парадигмах [10, 13].
В спиральной модели ЖЦ (рис. 2.5), делается упор на начальные этапы ЖЦ: анализ и проектирование. Реализуемость технических решений проверяется путем создания прототипов.
Рис. 2.5 - Спиральная модель ЖЦ
Каждый виток спирали соответствует созданию нового фрагмента или версии ИС, на нем уточняются цели и характеристики проекта, определяется его качество и планируются работы следующего витка спирали. Один виток спирали при этом представляет собой законченный проектный цикл по типу каскадной схемы. Такой подход назывался также «Продолжающимся проектированием». Позднее в проектный цикл дополнительно стали включать стадии разработки и опробования прототипа системы. Это назвали: "быстрое прототипирование", rapid prototyping approach или "fast-track".
Однако применение таких методов наряду с быстрым эффектом дает снижение управляемости проектом в целом и стыкуемости различных фрагментов ИС. Основная проблема спирального цикла — определение момента перехода на следующий этап. Переход осуществляется в соответствии с планом, даже если не вся запланированная работа закончена. План составляется на основе статистических данных, полученных в предыдущих проектах, и личного опыта разработчиков.
Как показано на рис. 2.6, модель определяет четыре действия, представляемые четырьмя квадрантами спирали:
1) Планирование — определение целей, вариантов и ограничений.
2) Анализ риска — анализ вариантов и распознавание/выбор риска.
3) Конструирование — разработка продукта следующего уровня.
4) Оценивание — оценка заказчиком текущих результатов конструирования.
С каждой итерацией по спирали (продвижением от центра к периферии) строятся все более полные версии ПО.
Рис. 2.6 - Спиральная модель:
7 — начальный сбор требований и планирование проекта; 2 — та же работа, но на основе рекомендаций заказчика; 3 — анализ риска на основе начальных требований; 4 — анализ риска на основе реакции заказчика; 5 — переход к комплексной системе; 6 — начальный макет системы; 7 — следующий уровень макета; 8 — сконструированная система; 9 — оценивание заказчиком
В первом витке спирали определяются начальные цели, варианты и ограничения, распознается и анализируется риск. Если анализ риска показывает неопределенность требований, на помощь разработчику и заказчику приходит макетирование (используемое в квадранте конструирования). Для дальнейшего определения проблемных и уточненных требований может быть использовано моделирование. Заказчик оценивает инженерную (конструкторскую) работу и вносит предложения по модификации (квадрант оценивания заказчиком). Следующая фаза планирования и анализа риска базируется на предложениях заказчика. В каждом цикле по спирали результаты анализа риска формируются в виде «продолжать, не продолжать». Если риск слишком велик, проект может быть остановлен.
В большинстве случаев движение по спирали продолжается, с каждым шагом продвигая разработчиков к более общей модели системы. В каждом цикле по спирали требуется проектирование (нижний правый квадрант), которое может быть реализовано классическим жизненным циклом или макетированием. Количество действий по разработке (происходящих в правом нижнем квадранте) возрастает по мере продвижения от центра спирали.
Достоинства спиральной модели:
1) наиболее реально (в виде эволюции) отображает разработку программного обеспечения;
2) позволяет явно учитывать риск на каждом витке эволюции разработки;
3) включает шаг системного подхода в итерационную структуру разработки;
4) использует моделирование для уменьшения риска и совершенствования программного изделия.
Недостатки спиральной модели:
1) новизна (отсутствует достаточная статистика эффективности модели);
2) повышенные требования к заказчику;
3) трудности контроля и управления временем разработки и перехода на следующий виток спирали.
