- •Особенности структурного анализа и проектирования информационных систем
- •Введение
- •1. Построение моделей бизнес-процессов по стандарту idef0
- •1.1. Примитивы стандарта idef0
- •1.2. Виды ресурсов стандарта idef0 и их взаимосвязь
- •1.3. Особенности построения моделей по стандарту idef0
- •1.4. Пример декомпозиции процесса
- •1.5. Пример построения диаграмм idef0
- •1.6. Работа с тоннелями
- •1.7. Особенности создания диаграмм в программах bpWin и Ramus
- •1.8. Именование объектов в bpWin
- •1.9. Решение проблем с кодировкой и автоматической проверкой
- •1.10. Варианты заданий по построению моделей бизнес-процессов
- •1.11. Контрольные вопросы
- •1.12. Варианты тестовых заданий по контролю знаний в сфере построения моделей бизнес-процессов
- •2. Построение диаграмм потоков данных
- •2.1. Общие особенности методологии dfd
- •2.2. Внешние сущности
- •2.3. Системы и подсистемы
- •2.4. Процессы
- •2.5. Накопители данных
- •2.6. Потоки данных
- •2.7. Построение иерархии диаграмм потоков данных
- •2.8. Пример построения диаграммы потоков данных в программе bpwin
- •2.9. Особенности построения диаграмм dfd в программе Ramus
- •2.9.1. Создание новой диаграммы, работа с примитивами, классификаторами, особенности декомпозиции
- •2.9.2. Подробный пример построения диаграммы dfd
- •2.10. Варианты заданий по построению диаграмм потоков данных
- •2.11. Контрольные вопросы
- •2.12. Варианты тестовых заданий по контролю знаний в сфере построения диаграмм потоков данных
- •3. Проектирование реляционных баз данных посредством стандарта idef1x
- •3.1. Особенности построения структуры баз данных
- •3.2. Виды связей между таблицами
- •3.3. Особенности стандарта idef1x
- •3.4. Особенности построения схем idef1x в программе ErWin
- •3.4.1. Общие особенности программы ErWin
- •3.4.2. Работа с панелью инструментов и сущностями
- •3.4.3. Работа со связями между таблицами
- •3.5. Особенности построения схем idef1x в программе dbDesigner
- •3.5.1. Особенности работы с программой
- •3.5.2. Необходимые для работы кнопки панели инструментов
- •3.5.3. Настройка внешнего вида схем под стандарт idef1x
- •3.5.4. Работа с таблицами
- •3.5.5. Связи между таблицами
- •3.5.6. Удаление объектов схемы
- •3.5.7. Пример схемы idef1x в dbDesigner
- •3.6. Варианты заданий по построению схем реляционных баз данных
- •3.6. Контрольные вопросы
- •3.7. Варианты тестовых заданий по контролю знаний в сфере построения схем баз данных
- •4. Проектирование диалога с пользователем посредством транзитивных сетей
- •4.1. Проектирование диалога с пользователем
- •4.2. Простая транзитивная сеть
- •4.3. Рекурсивная транзитивная сеть
- •4.4. Подсеть, не связанная с рекурсией
- •4.5. Проектирование конкурентного диалога
- •4.6. Особенности построения транзитивных сетей в программе Dia
- •4.6.1. Подготовка новой панели под создание транзитивных сетей
- •4.6.2. Основные моменты построения транзитивных сетей в программе Dia
- •4.6.3. Пример построения транзитивной сети в программе Dia
- •4.7. Варианты заданий по построению логики диалога с пользователем
- •4.8. Контрольные вопросы
- •4.9. Варианты тестовых заданий по контролю знаний в сфере построения логики диалога пользователя с системой
- •Литература
- •Особенности структурного анализа и проектирования информационных систем
4.2. Простая транзитивная сеть
Одним из наиболее простых способов отражения логики диалога является простая транзитивная сеть (STN – State Transition Network). Это графический способ представления диалога.
При таком подходе логика диалога отражается в виде направленного графа. Состояния системы – вершины графа, переходы между состояниями – дуги. Сверху дуги именуются согласно входным сигналам или обратным связям прикладного интерфейса. Снизу дуги именуются согласно действию, которое должна выполнить система при переходе в данное состояние при определенном входном сигнале.
Рассмотрим пример диалога. У формы присутствует меню: режим таблицы, режим запроса, выход. Рабочая область формы имеет следующий вид.
Рис. 4.2. Макет формы
Форма имеет 2 режима работы:
Режим таблицы (Первый пункт меню). В Edit1 вводится имя таблицы, а при нажатии «ОК» происходит попытка связи с БД. Если попытка успешна, то данные можно редактировать в объекте DBGrid1.
Режим запроса. При помощи двух TEdit и двух TListBox формируется текст запроса при этом Edit1 для ввода имени таблицы доступен только вначале. После нажатия «Далее» пользователь работает со списком ListBox1, показывающим поля таблицы. По двойному щелчку добавляются поля из списка в раздел select запроса (Memo1). Для начала формирования раздела where повторно нажимается кнопка «Далее». После нажатия «Далее» поля из ListBox1 добавляются уже в раздел where для первого условия. Математические операции сравнения берутся из ListBox2, значения, с которыми сравниваются поля – из Edit2. После выбора поля для условия нажимается «Далее», выбирается операция для условия, после следующего нажатия «Далее» - параметр сравнения с полем. Все это переносится в Memo1, причем после этого можно сформировать другие условия (ListBox2 содержит пункты and и or). Далее схема повторяется. После нажатия «ОК» выполняется запрос, и его результат можно просмотреть в DBGrid1. Основная проблема: какие объекты доступны в тот или иной момент времени, и какие действия может выполнить пользователь.
На рисунке 4.3. представлен граф переходов:
Рис. 4.3. Описание логики диалога с пользователем
Входное состояние на диаграмме напрямую не отображается. На графе существует переход «извне» в первое состояние. Состояние finish необходимо для указания точки выхода из приложения. Такие вершины содержатся в графе логики диалога всегда независимо от количества и смысла других состояний.
Достоинства простой транзитивной сети:
точное формальное описание диалога;
диалог реализуется в простой табличной форме;
реализация диалога легко редактируется и дополняется.
Недостатки простой транзитивной сети:
Возможность неэффективного использования памяти, так как таблицы могут содержать много однотипной информации. Если граф имеет вид, как на рисунке 4.4, то реализация его в виде конечного автомата может оказаться нецелесообразной, если вид как на рисунке 4.5, то реализация эффективна.
Рис. 4.4. Пример графа
Рис. 4.5. Пример графа
Система помнит только одно состояние, то есть нельзя прервать обычный порядок работы диалога, выполнить какие-то действия и вернуться к состоянию, предшествующему нарушению порядка.
Для того, что бы избежать двух этих недостатков диалог проектируют, используя рекурсивную транзитивную сеть.
