Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Учебное пособие 1438

.pdf
Скачиваний:
2
Добавлен:
30.04.2022
Размер:
1.16 Mб
Скачать

ким образом, сложность состоит в согласовании СП и DFD, особенно при модификациях и корректировке.

5.4. Спецификации управления

Спецификации управления описывают отношения между входящими и выходящими управляющими потоками. Строятся на основе STD (диаграмм переходов состояний). Работа системы моделируется на основе предыдущего и текущего ее функционирования.

STD представляется с помощью 3-х объектов. Начальное состояние – это узел STD, являющийся на-

чальной точкой. Начальное состояние только одно. Это состояние системы после ее инсталляции.

Состояние – (текущее) рассматривается как устойчивое состояние в текущий момент времени. Имя состояния отражает реальное состояние, в котором находится система (НАГРЕВАНИЕ, ОХЛАЖДЕНИЕ).

Переход – отражает изменение состояний. Имя перехода определяет событие, являющееся причиной перехода. Событие обычно состоит из управляющего потока, возникающего при выполнении некоторого условия (СЧЕТЧИК = 1000, КНОПКА НАЖАТА).

На диаграммах STD:

состояния изображаются прямоугольниками; Условие

переходы – дугами

.

Действие

Около дуги (перехода) записываются вверху – условие перехода в новое состояние, снизу – действие.

83

Начальное состояние имеет, естественно, 1 переход и обычно изображается прямоугольником меньшего размера. В общем виде можно представить STD таким образом.

Начальное

состояние

Условие

Действие

Состояние 1

Условие

Условие Действие Действие

Состояние 2

Рис. 11. Общий вид диаграммы переходов состояний

Имена управляющих потоков и процессов заключаются в кавычки и обозначается тип управляющего потока (А, Т, E/D). Рассмотрим STD для той же банковской задачи.

Здесь присутствуют только 2 состояния: «Ожидание» и «Обработка». Переход из «Ожидания» в «Обработку» происходит только при условии ввода кредитной карты. При выполнении этого условия выполняется действие: «Получить пароль» (процесс 1.1). Для запуска 1.1 используется А-поток. Переход из «Обработки» в «Ожидание» происходит двумя способами.

1. после трехкратного ввода неверного пароля кредитная карта удаляется;

84

2. при условии «Корректный пароль» последует включение процессов 1.2 и 1.3 и удаляется кредитная карта.

Начальное

состояние

 

 

 

 

 

 

Активизи-

 

 

 

 

 

 

 

 

руется вся-

 

 

 

 

 

 

 

 

кий раз

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Ожидание

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Введена кре-

 

 

 

 

 

 

 

 

дитка

 

 

 

Некорректный

 

 

 

Получение па-

 

Корректный па-

 

 

 

 

роля

 

пароль

 

 

 

 

 

роль

 

 

 

 

 

 

 

 

 

 

Удаление кредит-

 

 

 

 

 

 

 

 

Обеспечение

ки

 

Обслужи-

 

 

 

сервиса, удале-

 

 

 

 

вание

 

 

 

ние кредитки

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Рис. 12. STD первого уровня для банковской задачи

Следует пользоваться следующими рекомендациями по построению STD.

STD строится на возможно более высоком уровне детализации DFD.

STD строится как можно более простой. STD по возможности детализируется.

85

Правила выбора имен те же, что и для процессов и по-

токов.

Желательно вначале построить эскиз диаграммы. Для него либо определяются все возможные состояния и все возможные переходы между ними, либо последовательно из начального состояния строятся все последующие.

Набросок следует протестировать по таким вопросам. Все ли состояния определены и имеют уникальные

имена?

Все ли состояния достижимы? Все ли состояния имеют выход?

Как состояние реагирует на всевозможные условия (ненормальные) в любом состоянии?

Все ли управляющие потоки отражены на STD?

Если число состояний слишком велико, то вместо STD можно использовать таблицы и матрицы переходов состояний.

Таблица 9

Список всех

Условие

Действие

Следующее

состояний

 

 

состояние

 

 

 

 

НАЧАЛЬНОЕ

Активизирует-

 

ОЖИДАНИЕ

СОСТОЯНИЕ

ся всякий раз

 

 

 

 

 

 

ОЖИДАНИЕ

ВВЕДЕННАЯ

ПОЛУЧИТЬ

ОБРАБОТКА

 

КРЕДИТНАЯ

ПАРОЛЬ

 

 

КАРТА

 

 

ОБРАБОТКА

НЕКОРРЕКТН

УДАЛИТЬ

ОЖИДАНИЕ

 

ЫЙ ПАРОЛЬ

КРЕДИТНУЮ

 

 

 

КАРТУ

 

ОБРАБОТКА

КОРРЕКТНЫЙ

ОБЕСПЕЧИТЬ

ОЖИДАНИЕ

 

ПАРОЛЬ

СЕРВИС,

 

 

 

УДАЛИТЬ

 

 

 

КРЕДИТНУЮ

 

 

 

КАРТУ

 

Матрица переходов состояний имеет следующий вид.

86

Таблица 10

Список

Условие 1

Условие 2

 

условий

 

 

 

Список

 

 

 

Состояний

 

 

 

Состояние 1

Список дейст-

……………

 

 

вий,

….

 

 

следующее

 

 

 

состояние

 

 

………………..

……………….

……………

 

 

 

….

 

Матрицу переходов состояний можно представить и так

(табл. 11).

Таблица 11

Следующее

Следующее

 

состояние

Состояние1

 

Текущее

 

 

Состояние

 

 

Состояние 1

Список действий,

 

 

Следующее состояние

 

……………….

……………….

 

 

5.5. Словарь данных

Словарь данных нужен для того, чтобы описать, каким образом преобразуется информация, какая ее часть преобразуется, каково содержание и область определения данных.

Словарь состоит из списка (организованного специальным образом) всех элементов данных с их точными определениями.

По любому потоку в словаре хранятся разделы:

имя потока; тип потока;

87

атрибуты потока.

Хранение организовано в виде статей. Каждая статья начинается с ключа – заголовка, перед заголовком ставится

«@».

Применяются следующие типы потоков:

простой или групповой;

внутренний (только внутри системы) или внешний (связывает различные системы);

поток данных или управляющий;

непрерывный или дискретный. Выделяют следующие атрибуты потока данных:

имена-синонимы; Бэкуса-Наура формы (БНФ-определения); единицы измерения;

диапазон значений, типичное значение, экстремальные значения (для непрерывного потока);

список значений дискретного потока и их смысл;

список номеров диаграмм, в которых поток встречается;

список потоков, куда входит данный поток;

комментарии (направление, цель введения данного потока).

БНФ используется для объединения/расщепления потоков. Для БНФ-определений используются специальные правила записи:

@БНФ = <простой оператор> ! <БНФ-выражение> <простой оператор> - это текст, заключенный в «/», на-

пример, /Текущий счет клиента/.

БНФ-выражение строится с использованием операций: = - композиция из;

+ - и;

88

[!] - или;

() - компонент в скобках не обязательный; {} - итерация компонента в скобках; «» - литерал.

Для обозначения итераций указывают верхнюю и нижнюю границы или одну из них.

3 {Болт} 7 – от 3 до 7 итераций, 1 {Болт} – 1 и более итераций,

{Шайба} 3 – не более 3-х итераций. Пример БНФ-выражения:

@БНФ = [Винт!Болт + 2{Гайка}2 + (Прокладка)!Клей] Примеры описания потока данных:

@ИМЯ = ВОСЬМЕРИЧНАЯ ЦИФРА @ТИП = Дискретный поток

@БНФ = [―0‖!‖1‖!‖2‖!‖3‖!‖4‖!‖5‖!‖6‖!‖7‖]

Примеры составления словаря для рассмотренной выше задачи.

@ИМЯ = ВВЕДЕННАЯ КРЕДИТНАЯ КАРТА @ТИП = Управляющий поток @БНФ = /Указывает, что кредитная карта введена/

@ИМЯ = ДАННЫЕ КРЕДИТНОЙ КАРТЫ @ТИП = Дискретный поток

@БНФ = ПАРОЛЬ+ДЕТАЛИ КЛИЕНТА+ЛИМИТ ДЕНЕГ

@ИМЯ = ДАННЫЕ ПО БАЛАНСУ @ТИП = Дискретный поток @БНФ = /Текущий баланс счета клиента/

@ЕДИНИЦА ИЗМЕРЕНИЯ = Доллар @ДИАПАЗОН = +/- 100000 @ТОЧНОСТЬ = .01

89

@ИМЯ = ДЕНЬГИ @ТИП = Дискретный поток

@БНФ = /Деньги, выдаваемые клиенту/ @ЕДИНИЦА ИЗМЕРЕНИЯ = Доллар

@НОРМА = 5..1000 @КОММЕНТАРИЙ = Сумма выдаваемых денег должна

быть кратна 5

5.6.Диаграммы «сущность-связь»

ВDFD, STD и словаре данных никак (кроме БНФ) не описываются взаимоотношения данных системы. Поэтому ERD и служат для отображения связей между данными.

Эти диаграммы определяют данные и отношения между ними. Диаграммы используются для:

детализации хранилищ;

определения внешних сущностей. Здесь важны следующие понятия:

Сущность – объекты, важные в данной предметной об-

ласти.

Атрибуты – свойства объектов.

Связь – отношение данного объекта к другим объектам. Графическое представление объектов в диаграммах разработано Ченом (Chan) и Баркером (Barker). С помощью этих представлений моделируются данные: ERD, диаграммы атрибутов, диаграммы декомпозиции. Эти диаграммные техники очень часто используются для проектирования реляционных

баз данных.

Независимая сущность обозначается прямоугольником,

внутри которого пишется имя:.

 

Имя

.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Имя

 

 

 

 

Зависимая сущность:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

90

 

 

 

 

Имя

 

Ассоциированная сущность:

.

Отношения:

 

 

Глагол

обязательное неограниченное отношение

;

 

Глагол

необязательное ограниченное отношение

;

 

Глагол

существенно ограниченное отношение

.

Независимая сущность всегда присутствует в системе. Обычно это независимые данные (объекты). Отношения с другими объектами могут отсутствовать.

Зависимая сущность – данные, зависящие от других сущностей. Эта сущность всегда должна иметь отношения с другими объектами.

Ассоциированная сущность – дополнительно введенная сущность, которая связывает отношением две и более сущностей.

Студент

 

Предмет

 

 

 

Изучение предметов

Рис. 13. Ассоциированная сущность «Изучение предмета»

Ассоциированная сущность «Изучение предметов» Разрешает неспецифичное отношение и показывает, какой студент какой именно предмет изучает.

Неограниченное (обязательное) отношение существует постоянно до тех пор, пока есть сущность.

91

Ограниченное (необязательное) отношение – условное отношение между сущностями.

Существенно-ограниченное отношение – используется для взаимозависимых сущностей.

Связь изображается линией, направлена от отношения к сущности.

Значение связи характеризует ее тип и, как правило, выбирается из следующего множества:

(«0 или 1», «0 или более», «1 или более», «p:q» (диапа-

зон).

Пара значений связей, принадлежащих одному и тому же отношению, определяет тип этого отношения. Практика показала, что для большинства приложений достаточно использовать следующие типы отношений.

1.1*1 (один-к-одному). Отношение данного типа используется, как правило, на верхних уровнях иерархии модели данных, а на нижних уровнях встречаются сравнительно редко.

2.1*n (один-к-многим). Отношения данного типа являются наиболее часто используемыми.

3.n*m (многие-к-многим). Отношения данного типа обычно используются на ранних этапах проектирования с целью прояснения ситуации. В дальнейшем каждое из таких выражений должно быть преобразовано в комбинацию отношений типов 1 и 2 (возможно, с добавлением вспомогательных ассоциативных сущностей и с введением новых отношений.

 

 

 

 

 

 

 

 

 

1

p:q

0 или 1

0 или

 

 

 

 

 

 

 

диапа-

 

 

 

 

1

 

 

или

 

 

 

 

 

 

 

 

 

 

зон

 

более

 

 

 

 

 

бо-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

лее

 

 

 

 

 

 

 

 

 

 

 

 

Рис. 14. Типы отношений

92