- •Предисловие
- •Глава 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
- •Библиографический список
- •Оглавление
§ 4.2. Особенности применения std диаграмм
Часто при разборе тестирования на основе состояний, возникает вопрос: «Как различить состояние, событие и действие?» Основные отличия следующие:
В состоянии объект находится до тех пор, пока что-то не произойдет – что-то внешнее по отношению к самому объекту, обычно – вызывающее переход. В состоянии объект может существовать бесконечно долго.
Событие происходит либо сразу, либо в ограниченный, конечный период времени. Это что-то, что наступает, происходит вне, – и вызывает переход.
Действие – это ответ системы во время перехода. Действие, как и событие, либо мгновенно, либо требует ограниченного, конечного времени.
Известно, что иногда одну ситуацию можно отразить по-разному, особенно когда одно состояние или действие может быть разбито на последовательность элементарных состояний, событий и действий. Чуть позже рассмотрим такой случай на примере разбиения состояния оплаты на подсостояния.
И наконец, заметим, что, как было заявлено в самом начале, диаграмма нарисована с точки зрения клиента. Если изобразить ее с точки зрения системы, то она выглядела бы по-другому. Поддержание постоянной и единой точки зрения критично для изображения таких диаграмм, иначе будут происходить абсурдные вещи.
При построении STD рекомендуется следовать нижеперечисленным правилам:
строить STD на как можно более высоком уровне детализации DFD;
строить как можно более простые STD;
по возможности детализировать STD;
использовать те же принципы именований состояний, событий и действий, что и при именовании процессов и потоков.
Применяются два способа построения STD. Первый способ заключается в идентификации всех возможных состояний и дальнейшем исследовании всех не бессмысленных связей (переходов) между ними. По второму способу сначала строится начальное состояние, затем следующее за ним и т.д. Результат (оба способа) - предварительная STD, для которой затем осуществляется контроль состоятельности, заключающийся в ответе на следующие вопросы:
все ли состояния определены и имеют уникальное имя?
все ли состояния достижимы?
все ли состояния имеют выход?
(для каждого состояния) реагирует ли система соответствующим образом на все возможные условия (особенно на ненормальные)?
все ли входные (выходные) потоки управляющего процесса отражены в условиях (действиях) на STD?
Таблица 4.1
ТЕКУЩЕЕ СОСТОЯНИЕ |
УСЛОВИЕ |
ДЕЙСТВИЕ |
СЛЕДУЮЩЕЕ СОСТОЯНИЕ |
начальное состояние |
активируется каждый раз |
- |
ОЖИДАНИЕ |
ОЖИДАНИЕ |
введенная кредитная карта |
получить пароль |
ОБРАБОТКА |
ОБРАБОТКА |
некорректный пароль |
удалить кредитную карту |
ОЖИДАНИЕ |
ОБРАБОТКА |
корректный пароль |
обеспечить требуемый сервис удалить кредитную карту |
ОЖИДАНИЕ |
В ситуации, когда число состояний и/или переходов велико, для проектирования спецификаций управления могут использоваться таблицы и матрицы переходов состояний. Обе эти нотации позволяют зафиксировать ту же самую информацию, что и диаграммы переходов состояний, но в другом формате. В качестве примера таблицы переходов состояний приведена таблица 6.1, соответствующая рассмотренной выше диаграмме переходов состояний (рис. 4.2). Первая колонка таблицы содержит список всех состояний проектируемой системы, во второй колонке для каждого состояния приведены все условия, вызывающие переходы в другие состояния, а в третьей колонке - совершаемые при этих переходах действия. Четвертая колонка содержит соответствующие имена состояний, в которые осуществляется переход из рассматриваемого состояния при выполнении определенного условия.
Матрица переходов состояний содержит по вертикали перечень состояний системы, а по горизонтали список условий. Каждый ее элемент содержит список действий, а также имя состояния, в которое осуществляется переход. Используется и другой вариант данной нотации: по вертикали указываются состояния, из которых осуществляется переход, а по горизонтали - состояния, в которые осуществляется переход. При этом каждый элемент матрицы содержит соответствующие условия и действия, обеспечивающие переход из “вертикального” состояния в “горизонтальное” [40].
