- •С.М. Шаврин, л.Н. Лядова, с.И. Чуприна Моделирование и проектирование информационных систем
- •Содержание
- •I. Организационно-методический раздел 5
- •II. Содержание курса 6
- •III. Примерное распределение часов курса по формам и видам работ 153
- •IV. Форма итогового контроля 156
- •V. Учебно-методическое обеспечение курса 156
- •I. Организационно-методический раздел Цели и задачи курса
- •Требования к уровню освоения содержания курса
- •Место курса в системе основной образовательной программы
- •II. Содержание курса Связь между разделами
- •Конспект лекций
- •Введение
- •Понятие информационной системы
- •Проблемы сложных задач
- •Введение в теорию моделирования
- •Понятие моделирования и модели. Принципы моделирования и классификация моделей
- •Метамоделирование
- •Классификация информационных систем по уровню и составу моделей
- •Жизненный цикл программного обеспечения
- •Понятие жизненного цикла. Процессы жизненного цикла
- •Модели жизненного цикла
- •Структурный подход
- •Сущность и основные принципы структурного подхода
- •Метод функционального моделирования sadt
- •Моделирование потоков данных
- •Моделирование структур данных
- •Объектный подход
- •Сущность и основные принципы объектного подхода
- •Пример объектно-ориентированного анализа и проектирования
- •Унифицированный язык моделирования uml
- •Обзор языка uml
- •Моделирование функциональных требований и диаграммы прецедентов
- •Типичные ошибки
- •Моделирование бизнес-процессов и диаграммы активностей
- •Элементы диаграммы активностей
- •Концептуальное моделирование и диаграммы понятий
- •Понятие
- •Ассоциации
- •Атрибуты
- •Ограничения
- •Обобщение
- •Прямые и косвенные экземпляры
- •Абстрактные понятия
- •Многомерная множественная классификация
- •Агрегация
- •Правила идентификации отношения агрегации
- •Порядок построения концептуальной модели
- •Рекомендации по построению диаграмм понятий
- •Моделирование поведения системы и диаграмма последовательностей
- •Модель поведения системы
- •Объекты
- •Сообщения
- •Описание системных операций
- •Типичные ошибки
- •Рекомендации по построению диаграмм последовательностей
- •Проектирование поведения системы и диаграммы сотрудничества
- •Диаграммы взаимодействия
- •Диаграмма сотрудничества
- •Работа с коллекциями объектов
- •Сообщения классу
- •Видимость объектов
- •Типичные ошибки
- •Рекомендации по построению диаграмм сотрудничества
- •Проектирование статической структуры системы и диаграмма классов
- •Диаграмма классов
- •Операции
- •Информация о типах
- •Информация об области видимости
- •Вычислимые атрибуты
- •Направление навигации
- •Зависимости
- •Рекомендации по построению диаграмм классов
- •Модель реализации и диаграмма компонентов
- •Модель реализации
- •Диаграмма компонентов
- •Компоненты
- •Стереотипы
- •Пиктограммы
- •Интерфейсы
- •Зависимости
- •Рекомендации по построению диаграммы компонентов
- •Модель и диаграмма развертывания
- •Модель развертывания
- •Диаграмма развертывания
- •Стереотипы
- •Шаблоны проектирования
- •Введение в шаблоны проектирования
- •Обязанности
- •Дополнительная информация
- •Шаблоны проектирования grasp
- •Шаблоны graps
- •Шаблон Expert (Эксперт)
- •Шаблон Creator (Создатель)
- •Шаблон Low Coupling (Низкое Связывание)
- •Шаблон High Cohesion (Высокое Зацепление)
- •Шаблон Controller (Контроллер)
- •Учебное задание
- •Примерный перечень вопросов к зачету по всему курсу
- •Вопрос для итоговой аттестации
- •III. Примерное распределение часов курса по формам и видам работ
- •IV. Форма итогового контроля
- •V. Учебно-методическое обеспечение курса Рекомендуемая литература (обязательная)
- •Рекомендуемая литература (дополнительная)
- •Список адресов в Интернет
- •Моделирование и проектирование информационных систем Учебно-методическое пособие
Модели жизненного цикла
Тематический контекст
Краткое содержание
Каскадная модель жизненного цикла.
Спиральная модель жизненного цикла.
Существуют различные модели жизненного цикла, определяющие порядок исполнения этапов и критерии переходов от одного этапа к другому. Каждая из моделей имеет определенные преимущества при реализации в конкретных условиях. Самое широкое распространение получили каскадная и спиральная модели жизненного цикла. Рассмотрим их подробнее.
Каскадная модель. Каскадная модель возникла в 70‑е гг. XX в. и предполагает, что переход к следующему этапу происходит после полного завершения предыдущего этапа (рис. 16).
Рис. 16. Каскадный жизненный цикл
Достоинством каскадного жизненного цикла является его простота. Каждый этап завершается созданием полного комплекта документации, и есть возможность для выполнения очередного этапа привлечь стороннюю организацию или просто другой отдел. Однако существуют и минусы. Во-первых, каскадный жизненный цикл дает поздние результаты. Заказчику можно что-то показать не раньше, чем начнется этап тестирований. Такая ситуация существенно повышает риски. Во-вторых, каскадный жизненный цикл не предусматривает возврата на пройденные этапы, необходимость в котором на практике возникает гораздо чаще, чем хотелось бы.
Спиральная модель. Спиральная модель жизненного цикла появилась в конце 80‑х гг. Ее возникновение тесно связано с развитием объектно-ориентированного подхода. В данном случае процесс разработки разбивается на итерации, для каждой из которых последовательно выполняются этапы анализа, проектирования, реализации и тестирования (рис. 17). Итерации могут быть как короткими (экстремальное программирование), так и длинными (более традиционные подходы). На каждой итерации берется небольшая часть системы и реализуется в необходимом объеме. С каждой новой итерацией функциональность системы растет.
Рис. 17. Спиральный жизненный цикл
Достоинством такого подхода является то, что он лучше отражает действительность. В данном случае возврат, например, к этапу анализа не является чрезвычайной ситуацией. Кроме того, спиральный жизненный цикл дает быстрые результаты. Уже после первой итерации можно что-то показывать заказчику и, при необходимости, уточнять задачу.
При использовании спиральной модели в процессе проектирования есть возможность провести анализ возможных рисков и издержек. Еще одно преимущество модели – ориентация на развитие и модификацию программного обеспечения в процессе его проектирования, что особенно важно при создании сложных информационных систем.
Вопросы для самоконтроля
Какие существуют преимущества и недостатки у каскадного жизненного цикла?
Какие существуют преимущества и недостатки у спирального жизненного цикла?
Структурный подход
Сущность и основные принципы структурного подхода
Тематический контекст
Краткое содержание
Сущность структурного подхода. Базовые принципы структурного подхода: а) «разделяй и властвуй», б) принцип иерархического упорядочения, в) абстрагирования, г) принцип непротиворечивости, д) принцип структурирования данных.
Плюсы и минусы структурного подхода.
Исторически первым был структурный подход, который возник в конце 60-х вместе с появлением методологии SADT (Structured Analysis and Design Technique), которая позже вошла в набор стандартов IDEF (Icam DEFinition). Набор этих стандартов был разработан в рамках программы ICAM (Integrated Computer Automated Manufacturing), проводимой по инициативе ВВС США.
Суть структурного подхода заключается в функциональной декомпозиции, т.е. задача представляется как одна большая функция, которая преобразует входные данные в выходные. Данная функция разбивается на подфункции, которые, в свою очередь, тоже разбиваются на подфункции, и так до тех пор, пока в очередном разбиении не отпадает необходимость вследствие тривиальности соответствующей функции.
В качестве языка используется графическая нотация диаграмм SADT. Кроме диаграмм SADT в структурном подходе используются также диаграммы потоков данных (DFD – Data Flow Diagram), на которых изображаются потоки данных между функциональными узлами системы, а также диаграммы «сущность–связь» (ERD – Entity-Relationship Diagram), которые описывают структуры данных.
Принципы структурного подхода:
Разделяй и властвуй. Для решения сложной задачи используется ее разбиение на несколько более простых подзадач.
Иерархическое упорядочивание. Решение задачи представляется в виде иерархии описаний (функций, потоков данных), где описания вышестоящих уровней детализируются при помощи описаний нижестоящих уровней.
Абстрагирование. При решении задачи рассматриваются только важные ее аспекты; все незначительное отбрасывается.
Формализация. Все принятые решения описываются формально.
Непротиворечивость. Никакая часть системы не может противоречить никакой другой. Все должно быть согласованно и находиться в соответствии.
Достоинства структурного подхода. Пожалуй, самым большим достоинством структурного подхода является возможность эффективной реализации. Действительно, единственное, на что приходится тратить процессорное время кроме решения собственно задачи, – это на вызовы функций и возвраты из них. Таким образом, структурный подход оказывается полезным в тех случаях, когда важна максимальная производительность, например, для задач реального времени.
Недостатки структурного подхода. Основным недостатком структурного подхода является его чувствительность к изменениям – малейшее изменение в постановке задачи может привести к необходимости серьезной переделки всей иерархии, т.к. все функции жестко связаны в иерархию и определяются друг через друга. В случае с информационными системами, когда постановка часто меняется (например, вследствие естественной эволюции предметной области), такое свойство подхода является крайне нежелательным.
Модель процесса. Для структурного подхода характерен каскадный жизненный цикл системы, когда каждый последующий этап решения задачи выполняется после полного завершения предыдущего этапа. Это является следствием принципа иерархической упорядоченности. Система (как и ее описание) представляет собой иерархическую структуру, в которой вышестоящие уровни определяются через нижестоящие. Любую вершину в иерархии можно считать определенной только в том случае, если определены все ее потомки. Другими словами, иерархия не может быть определена наполовину. Вследствие этого в рамках структурного подхода разработка информационной системы ведется строго поэтапно – сначала полностью выполняется этап анализа (строится полная иерархия моделей анализа), затем полностью выполняется этап проектирования (строится полная иерархия моделей проектирования) и т.д.
Вопросы для самоконтроля
В чем сущность структурного подхода?
Определите базовые принципы структурного подхода.
Почему структурному подходу свойственен каскадный жизненный цикл?
Почему структурный подход позволяет добиться наиболее эффективной реализации?
