- •Предисловие
- •Глава 1. Основные понятия теории моделирования § 1.1. Термины моделирования
- •§ 1.2. Классификация видов моделирования
- •§ 1.3. Проблемы проектирования информационных систем
- •§ 1.4. Моделирование предметной области
- •§ 1.5. Три уровня анализа
- •§ 1.6. Набор типов моделей Объектная структура
- •Функциональная структура
- •Структура управления
- •Организационная структура
- •Техническая структура
- •Вопросы к главе 1
- •Глава 2. Концептуальные основы case-технологий § 2.1. Понятие case-технологии
- •§ 2.2. Проблемы внедрения case-технологий
- •§ 2.3. Общая характеристика case-средств
- •§ 2.4. Классификация case-средств
- •Вопросы к главе 2
- •Глава 3. Понятие и основные принципы функционального моделирования, обзор основных методологий.
- •§ 3.1. Технология структурного анализа и проектирования sadt
- •§ 3.2. Диаграммы потоков данных dfd (Data Flow Diagrams)
- •§ 3.3. Диаграммы потоков работ wfd (Work Flow Diagram)
- •§ 3.4. Семейство стандартов моделирования idef
- •§ 3.5. Основные элементы и понятия idef0
- •§ 3.6. Диаграммы "сущность-связь" erd (Entity-Relationchip diagram)
- •Вопросы к главе 3
- •Глава 4. Спецификации управления
- •§ 4.1. Диаграммы переходов состояний std (State Transition Diagrams)
- •§ 4.2. Особенности применения std диаграмм
- •§ 4.3. Структурные карты
- •§ 4.4. Структурные карты Константайна
- •§ 4.5. Структурные карты Джексона
- •§ 4.6. Характеристики хорошей модели реализации
- •4.6.1. Сцепление
- •4.6. 2. Связность
- •§ 4.7. Принципы проектирования, позволяющие построить качественную модель
- •§ 4.8. Транзакционный и трансформационный анализ или как получить структурные карты из диаграмм потоков данных
- •Вопросы к главе 4
- •Глава 5. Объектно-ориентированный подход к моделированию информационных систем § 5.1. Понятие объектно-ориентированного анализа
- •§ 5.2. Элементы объектно-ориентированной модели
- •§ 5.3. Объект и класс
- •§ 5.4. Язык моделирования uml
- •§ 5.5. Достоинства и недостатки объектно-ориентированного проектирования
- •Вопросы к главе 5
- •Глава 6. Метод имитационного моделирования
- •§ 6.1. Понятие имитационного моделирования
- •§ 6.2. Применение имитационного моделирования
- •§ 6.3. Виды имитационного моделирования
- •§ 6.4. Принципы и методы построения имитационных моделей
- •6.4.2. Принцип особых состояний
- •6.4.3. Основные методы имитационного моделирования.
- •Вопросы к главе 6
- •Глава 7. Инструментальные средства моделирования ис
- •§ 7.1. Российские программные продукты
- •7.1.1. Инталев: Корпоративный навигатор (инталев)
- •Бизнес-Инженер (Битек)
- •Case.Аналитик
- •§7.2. Зарубежные case - средства
- •7.2.3. Case-средство Silverrun
- •7.2.5. Case-средство Designer/2000
- •§ 7.3. Методология aris
- •7.3.1. Общие сведения о методологии aris
- •7.3.2. Архитектура aris
- •7.3.3. Обзор основных модулей
- •§ 7.4. Программные продукты имитационного моделирования
- •7.4.1. Система Arena
- •7.4.2. Пакет имитационного моделирования AnyLogic
- •Вопросы к главе 7
- •Библиографический список
- •Оглавление
Вопросы к главе 3
Что такое бизнес-процесс?
Что отображается в функциональной модели SADT ?
Назовите основные компоненты диаграмм потоков данных.
Что понимается под «потоком данных» применительно к DFD?
Что понимается под «спецификацией»?
Перечислите основные понятия методологии IDEF0.
Для чего в диаграммах IDEF0 используется понятие «точка зрения»?
Поясните, что такое «туннелирование»?
В чем состоит цель моделирования диаграмм ERD?
Какие понятия являются базовыми для диаграмм ERD?
Какие существуют типы связи для диаграмм ERD?
Глава 4. Спецификации управления
Спецификации управления предназначены для моделирования и документирования аспектов систем, зависящих от времени или реакции на событие. Они позволяют осуществлять декомпозицию управляющих процессов и описывают отношения между входными и выходными управляющими потоками на управляющем процессе-предке. Для этой цели обычно используются диаграммы переходов состояний (STD).
§ 4.1. Диаграммы переходов состояний std (State Transition Diagrams)
С помощью STD можно моделировать последующее функционирование системы на основе ее предыдущего и текущего функционирования. Моделируемая система в любой заданный момент времени находится точно в одном из конечного множества состояний. С течением времени она может изменить свое состояние, при этом переходы между состояниями должны быть точно определены.
STD состоит из следующих объектов:
СОСТОЯНИЕ - может рассматриваться как условие устойчивости для системы. Находясь в определенном состоянии, мы имеем достаточно информации о прошлой истории системы, чтобы определить очередное состояние в зависимости от текущих входных событий. Имя состояния должно отражать реальную ситуацию, в которой находится система, например, НАГРЕВАНИЕ, ОХЛАЖДЕНИЕ и т.п.
НАЧАЛЬНОЕ СОСТОЯНИЕ - узел STD, являющийся стартовой точкой для начального системного перехода. STD имеет ровно одно начальное состояние, соответствующее состоянию системы после ее инсталляции, но перед началом реальной обработки, а также любое (конечное) число завершающих состояний.
ПЕРЕХОД определяет перемещение моделируемой системы из одного состояния в другое. При этом имя перехода идентифицирует событие, являющееся причиной перехода и управляющее им. Это событие обычно состоит из управляющего потока (сигнала), возникающего как во внешнем мире, так и внутри моделируемой системы при выполнении некоторого условия (например, СЧЕТЧИК=999 или КНОПКА НАЖАТА). Следует отметить, что, вообще говоря, не все события необходимо вызывают переходы из отдельных состояний. С другой стороны, одно и то же событие не всегда вызывает переход в то же самое состояние.
Таким образом УСЛОВИЕ представляет собой событие (или события), вызывающее переход и идентифицируемое именем перехода. Если в условии участвует входной управляющий поток управляющего процесса-предка, то имя потока должно быть заключено в кавычки, например, "ПАРОЛЬ"=666, где ПАРОЛЬ - входной поток.
Кроме условия с переходом может связываться действие или ряд действий, выполняющихся, когда переход имеет место. То есть ДЕЙСТВИЕ - это операция, которая может иметь место при выполнении перехода. Если действие необходимо для выбора выходного управляющего потока, то имя этого потока должно заключаться в кавычки, например:
"ВВЕДЕННАЯ КАРТА" = TRUE ,
где ВВЕДЕННАЯ КАРТА - выходной поток.
Кроме того, имя запускаемого или переключаемого процесса также должно заключаться в кавычки, например:
A: "ПОЛУЧИТЬ ПАРОЛЬ" - активировать процесс ПОЛУЧИТЬ ПАРОЛЬ.
Фактически условие есть некоторое внешнее или внутреннее событие, которое система способна обнаружить и на которое она должна отреагировать определенным образом, изменяя свое состояние. При изменении состояния система обычно выполняет одно или более действий (производит вывод, выдает сообщение на терминал, выполняет вычисления). Таким образом, действие представляет собой отклик, посылаемый во внешнее окружение, или вычисление, результаты которого запоминаются в системе (обычно в хранилищах данных на DFD), для того, чтобы обеспечить реакцию на некоторые из планируемых в будущем событий.
На STD состояния представляются узлами, а переходы - дугами (рис. 4.1). Условия (по-другому называемые стимулирующими событиями) идентифицируются именем перехода и возбуждают выполнение перехода. Действия или отклики на события привязываются к переходам и записываются под соответствующим условием. Начальное состояние на диаграмме должно иметь входной переход, изображаемый потоком из подразумеваемого стартового узла (иногда этот стартовый узел изображается небольшим квадратом и привязывается к входному состоянию).
Рис. 4.1. Символы STD
Диаграмма переходов состояний для примера банковской задачи приведена на рис. 4.2. Она содержит два состояния - ОЖИДАНИЕ и ОБРАБОТКА. Переход из состояния ОЖИДАНИЕ в состояние ОБРАБОТКА осуществляется при условии ввода кредитной карты (ВВЕДЕННАЯ КРЕДИТНАЯ КАРТА). При этом выполняется действие по запуску процесса 1.1 на рис. 4.1. (ПОЛУЧИТЬ ПАРОЛЬ). Отметим, что для запуска используется A-поток, обеспечивающий непрерывность процесса 1.1, т.е. возможность повторного ввода пароля. Переход из состояния ОБРАБОТКА в состояние ОЖИДАНИЕ осуществляется двумя различными способами. При условии трехкратного ввода неверного пароля (см. спецификацию процесса 1.1) кредитная карта удаляется из системы, при этом она переходит в режим ожидания очередного клиента. При условии КОРРЕКТНЫЙ ПАРОЛЬ выполняются действия по обеспечению требуемого сервиса (последовательное включение процессов 1.2 и 1.3) и удалению кредитной карты, и затем переход в режим ожидания очередного клиента.
Рис.4.2. STD для банковской задачи
Рис. 4.3 Выбор товаров из приложения электронной коммерции
На рисунке 4.3. изображена диаграмма переходов состояний для выбора и покупки товаров из приложения электронной коммерции. Она показывает взаимодействие системы с клиентом с точки зрения клиента. Пройдемся по ней и отметим ключевые элементы диаграмм переходов состояний в целом и особенности конкретно этой диаграммы[40].
Прежде всего, нужно заметить, что слева имеется небольшой элемент в виде кружка и стрелки с названием «начальное состояние». Такая нотация показывает, что с точки зрения клиента транзакция начинается с просмотра веб-сайта. Можно переходить по ссылкам и просматривать каталог товаров, оставаясь в состоянии просмотра. Стрелка в виде петли над состоянием просмотра отражает как раз такой процесс. Узлы в виде прямоугольников со скругленными углами представляют состояния. Стрелки отражают переходы.
Далее видно, что можно войти в состояние «выбор» путем добавления товара в корзину. «Добавить в корзину» – событие. Затем система отображает «диалог выбора», в котором спрашивает пользователя о количестве товаров, которое он хочет приобрести, а также о любой другой информации, которая необходима для добавления товара в корзину. Как только это сделано, пользователь может сообщить системе, что он хочет продолжить покупку. В этом случае система снова отображает домашнюю страницу, и пользователь возвращается в состояние просмотра. С точки зрения нотации следует заметить, что действия, выполняемые системой, записаны после символа наклонной черты на стрелке перехода.
Альтернативно, покупатель может выбрать оформление покупки. В этом случае он входит в состояние авторизации. Он вводит регистрационную информацию. К этой информации применимо условие: верна ли регистрационная информация. Если не верна, то система отображает ошибку, и пользователь остается в состоянии авторизации. Если верна, то система отображает первую страницу в диалоге оплаты. Заметим, что «верный» и «неверный» отображенные в квадратных скобках с точки зрения нотации обозначают условия.
В состоянии оплаты система будет отображать страницы, а покупатель вводить данные об оплате. Будет ли эта информация верна – снова условия, – которые определяют, может ли система завершить и подтвердить транзакцию. Как только транзакция подтверждена, пользователь может продолжить покупку либо пойти на другой сайт. Также заметим, что пользователь всегда может отменить транзакцию и уйти на другой сайт.
