Учебное пособие 1587
.pdfМожно использовать диаграммы Насси-Шнейдермана (это дальнейшее развитие FLOW-форм). В диаграммах Насси-Шнейдермана используются те же обозначения, что и в FLOW-формах, но условия рисуются с помощью треугольника.
|
условие |
нет |
|
да |
|
блок по |
блок |
по |
|
Например, |
|
|
for j = 1 to n-1 |
|
|
do |
|
|
……… сравнить |
и |
поменять |
местами |
|
|
if a[j] > a[j+1] |
||
да |
|
|
нет |
|
|
……… |
|
поменять |
местами |
|
|
|
temp = a[j] |
Увеличение трудности проектирования при использовании различных методов:
текстовое описание
невозможно автоматическое кодирование из-за неоднозначностей
структурированный естественный язык
ТР
отсутствие процедурных возможностей
ДР
визуальный язык
трудность модификаций
язык
программирования
Сложность возникает из-за того, что в DFD потоки данных описаны абстрактно, а при исполнении языков программирования требуется конкретизация. Т.о. сложность будет состоять в согласовании СП с DFD, особенно при модификациях и корректировке.
Спецификации управления
Спецификации управления описывают отношения между входящими и выходящими управляющими потоками. Строятся на основе STD (диаграмм переходов состояний). Работа системы моделируется на основе предыдущего и текущего ее функционирования.
STD представляется с помощью 3-х объектов:
Начальное состояние – это узел STD, являющийся начальной точкой. Начальное состояние только одно. Это состояние системы после ее инсталляции.
Состояние – (текущее) рассматривается как устойчивое состояние. Имя состояния отражает реальное состояние, в котором находится система (НАГРЕВАНИЕ, ОХЛАЖДЕНИЕ).
Переход – из одного состояния в другое. Имя определяет событие, являющееся причиной перехода. Событие обычно состоит из управляющего потока, возникающего при выполнении некоторого условия (СЧЕТЧИК = 1000, КНОПКА НАЖАТА).
На диаграммах STD:
состояния изображаются узлами;
переходы – дугами;
условие
Около дуги (перехода) записываются
действие
Начальное состояние имеет 1 переход. Начальное состояние обычно изображается прямоугольником меньшего размера.
начальное состояние
СОСТОЯНИЕ 1
условие
действие
СОСТОЯНИЕ 2
Имена управляющих потоков и процессов заключаются в кавычки (для А, Т, E/D потоков).
Пример
активизируется каждый раз
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
«некорректный |
«введенная кредитная |
|
«корректный |
|
||||||||
|
пароль» |
|
карта» |
|
|
пароль» |
||||||
Т |
: удалить |
А: «получить пароль» |
Т: обеспечить |
|||||||||
кредитную карту |
|
|
|
|
|
требуемый сервис, |
||||||
|
|
|
|
|
||||||||
|
|
|
|
ОБРАБОТКА |
|
|
удалить кредитную |
|||||
|
|
|
|
|
|
|||||||
|
|
|
|
|
|
|
карту |
|||||
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
Здесь только 2 состояния: ожидание о обработка. Переход из ожидания в обработку только при условии ввода кредитной карты. При выполнении этого условия выполняется действие: ПОЛУЧИТЬ ПАРОЛЬ (процесс 1.1.). Для запуска 1.1. используется А-поток. Переход из ОБРАБОТКИ в ОЖИДАНИЕ происходит 2-мя способами:
1. после 3-х кратного ввода неверного пароля кредитная карта удаляется;
2.при условии ―КОРРЕКТНЫЙ ПАРОЛЬ‖ последует включение процессов 1.2. и 1.3. и удаляется кредитная карта;
Рекомендации по построению STD:
STD строиться на возможно более высоком уровне детализации DFD; STD строиться как можно более простой;
STD по возможности детализируется;
правила выбора имен те же, что и для процессов и потоков.
Наброски STD:
а) либо определяются все возможные состояния и все возможные переходы между ними;
б) либо последовательно из начального состояния строятся все последующие.
Набросок тестируется по вопросам:
все ли состояния определены и имеют уникальные имена? все ли состояния достижимы?
все ли состояния имеют выход?
как состояние реагирует на всевозможные условия (ненормальные) в любом состоянии?
все ли управляющие потоки отражены на STD?
Если число состояний слишком велико вместо STD можно использовать таблицы и матрицы переходов состояний.
Список |
Условие |
Действие |
Следую |
всех |
|
|
щее |
состояний |
|
|
состоян |
|
|
|
ие |
|
|
|
|
НАЧАЛЬ |
Активизир |
|
ОЖИДА |
НОЕ |
уется |
|
НИЕ |
СОСТОЯ |
несколько |
|
|
НИЕ |
раз |
|
|
|
|
|
|
ОЖИДАН |
Введенная |
Получить |
ОБРАБ |
ИЕ |
кредитная карта |
пароль |
ОТКА |
|
|
|
|
ОБРАБОТ |
Некоррект |
Удалить |
ОЖИДА |
|
|
|
|
КА |
ный |
кредитную |
НИЕ |
|
пароль |
карту |
|
|
|
|
|
ОБРАБОТ |
Корректн |
Обеспечить |
ОЖИДА |
КА |
ый |
сервис, |
НИЕ |
|
пароль |
удалить |
|
|
|
кредитную карту |
|
|
|
|
|
Матрица состояний:
Список |
Условие 1 |
Условие 2 |
|
|
условий |
|
|
|
|
Список |
|
|
|
|
состояний |
|
|
|
|
|
|
|
|
|
Состояние 1 |
Список |
……… |
|
|
|
действий, |
………. |
|
|
|
следующее |
|
|
|
|
состояние |
|
|
|
|
|
|
|
|
…………… |
………………. |
……… |
|
|
…. |
|
………. |
|
|
…………… |
|
|
|
|
…. |
|
|
|
|
Либо: |
|
|
|
|
|
|
|
|
|
Следующее |
Следующее |
|
|
|
состояние |
состояние1 |
|
|
|
Текущее |
|
|
|
|
состояние |
|
|
|
|
|
|
|
|
|
Состояние 1 |
Список |
|
|
|
|
действий, |
|
|
|
|
следующее |
|
|
|
|
|
|
|
|
…………… |
………………. |
|
|
|
…. |
|
|
|
|
…………… |
|
|
|
|
…. |
|
|
|
|
|
|
|
|
|
Словарь данных.
Словарь данных нужен для того, чтобы описать, каким образом преобразуется информация, какая именно преобразуется информация.
Словарь состоит из списка (организованного специальным образом) всех элементов данных с их точными определениями.
По любому потоку в словаре храним: имя
тип
атрибуты Хранение - в виде статей. Каждая статья начинается с ключа – заголовка,
перед заголовком ставится «@». Типы потока:
простой или групповой; внутренний (только внутри системы) или внешний (связывает
различные системы); поток данных или управляющий;
непрерывный или дискретный. Выделяют следующие атрибуты:
имена-синоним; БНФ-определения; единицы измерения;
диапазон значений, типичное значение, экстремальные значения (для непрерывного потока);
список значений дискретного потока и их смысл; список номеров диаграмм, в которых поток встречается; список потоков, куда входит данный поток;
комментарии (направление, цель введения данного потока).
БНФ используется для объединения/расщепления потоков. Для БНФопределений используются специальные правила записи:
@БНФ = <простой оператор> ! <БНФ-выражение> <простой оператор> - это текст, заключенный в «/», например., /текущий счет
клиента/.
БНФ-выражение строится с использованием операций: = - композиция из;
+ - и; [!] - или;
() - компонент в скобках не обязательный; {} - итерация компонента в скобках; ―‖ - литерал.
Для обозначения итераций указывают верхнюю и нижнюю границы (или одну из них).
3 {болт} 7 – от 3 до 7 итераций,
1 {болт} – 1 и более итераций, {шайба} 3 – не более 3-х итераций. Пример БНФ-выражения:
@БНФ = [винт!болт + 2{гайка}2 + (прокладка)!клей] Примеры описания потока данных:
@имя = восьмеричная цифра @тип = дискретный поток
@БНФ = [―0‖!‖1‖!‖2‖!‖3‖!‖4‖!‖5‖!‖6‖!‖7‖]
@имя = введенная кредитная карта @тип = управляющий поток
@БНФ = /указывает, что кредитная карта введена/
@имя = данные кредитной карты @тип = дискретный поток
@БНФ = пароль + детали клиента + лимит денег
@имя = данные по балансу @тип = дискретный поток
@БНФ = /текущий баланс счета клиента/ @единица измерения = доллар @диапазон = +/- 100000 @точность = .01
@имя = деньги @тип = дискретный поток
@БНФ = /деньги, выдаваемые клиенту/ @единица измерения = доллар
@норма = 5..1000 @комментарий = сумма выдаваемых денег должна быть кратна 5
Диаграммы «сущность-связь» (ERD).
В словаре данных никак (кроме БНФ) не описываются взаимоотношения данных системы. Следовательно, связи описываются в ERD.
Эти диаграммы определяют данные и отношения между ними. Диаграммы используются для:
1.детализации хранилищ;
2.определения внешних сущностей. Здесь важны следующие понятия:
Сущность – объекты, важные в данной предметной области. Атрибуты – свойства объектов.
Связь – отношение к другим объектам.
Графическое представление разработано Ченом (Chan) и Баркером (Barker).
Спомощью этих представлений моделируют данные: ERD, диаграммы атрибутов, диаграммы декомпозиции. Эти диаграммные техники используются для проектирования реляционных баз данных.
Нотация ………: |
|
|
Сущности: |
|
|
|
имя |
|
Независимая сущность |
|
|
|
существительное |
|
|
|
|
|
|
|
|
|
|
Зависимая сущность |
|
имя |
|
существительное |
|
|
|
|
Ассоциированная сущность |
|
|
|
|
|
|
|
|
Отношения: |
|
|
|
|
|
Неограниченное отношение |
|
глагол |
(обязательное) |
|
|
Ограниченное отношение |
|
глагол |
(необязательное) |
|
|
Существенно-ограниченное |
|
глагол |
отношение |
|
|