Лекция 5
27.09.04.
Пример
Управляющие структуры СЕЯ
Спецификации процессов
Пример
Пример
БНФ-нотации
Словарь данных
Лекция 4
20.09.04.
Примеры DFD-модели
Система обслуживания клиентов
Контекстная диаграмма
Обслуживание пользователя
Детализируемая DFD первого уровня
Для описания потоков и хранилищ данных и DFD-модели используют словарь данных (репозиторий).
СД представляет собой организованный список элементов системы (ее DFD-модели) с их точными определениями, представляя общее понимание всех входных и выходных потоков данных, хранилище данных для различных категорий пользователей (от системных аналитиков до разработчиков кодов и тестов).
Для каждого потока элементов хранилища данных в СД представляют:
- имя потока данных / ХД
- тип потока данных / ХД
- атрибуты потока данных / ХД
Информация по каждому потоку/ХД состоит из ряда статей, каждая из которых начинается с ключевого слова:
@ имя =
@ тип =
По типам потоки данных бывают:
- простые (элементарные)
групповые (комплексные, агрегированные)
- внутренние
внешние
- потоки данных
управляющие потоки
- непрерывные
дискретные
Атрибуты потоков данных:
- имена синонимов потоков данных
- БНФ – определения (форма Боэма-Наура) – чаще всего используется для групповых потоков
@ BNF
- единица измерения (время, $)
- диапазон значений (типичные значения данных потока)
- список значений и их смысл (для дискретных потоков)
- список потоков, в котором данный поток входит как элементарный
- список номеров диаграмм, в котором поток встречается
- комментарии (для дополнительной информации)
БНФ-статья имеет вид:
- простой оператор
<простой оператор> - текстовый оператор, заключенный в <>
- БНФ-выражение
<БНФ-выражение>
БНФ-выражение допускает следующие операции и отношения:
- = - композиция из
- + - «и»
- ! – «или»
- () – необязательные компоненты
- {} – итерация компонента
3 { }5
3 – минимальное число итераций
5 – максимальное число итераций
1{оценка по Лецкому}3
1{оценка по Крепкой}
3{ }
{ }5
@ BNF = <государственный экзамен ! деловая игра>
+ 1{оценка}3 + <зачет> ! <повтор>
Используются для процессов activity в случае отсутствия необходимости дальнейшей его детализации. Спецификация процессов допускает не более 1 страницы. Множество спецификаций всех процессов определяет спецификацию всей системы.
Спецификация процессов содержит:
- номер и/или имя процесса
- списки входных и выходных данных в определенной структуре
- тело процесса (описание алгоритма процесса, предназначенного для преобразования входных потоков в выходные)
В настоящее время существует 3 подхода для описания тела процесса:
- СЕЯ
- таблицы и деревья решений
- визуальные языки проектирования (шаблоны) в виде FLOW-форм, среди которых выделяют диаграммы Насси-Шнейдермана
Входные и выходные данные в спецификации процессов соответствуют словарю данных. Они предшествуют описанию тела процесса.
Структура (все прописывается с заглавной буквы если из словаря данных):
@ ВХОД = <имя из словаря данных>
@ ВЫХОД = <имя из словаря данных>
@ ВХОД ВЫХОД = <имя из словаря данных>
@ СПЕЦПРОЦ = <имя или номер>
СЕЯ используется для описания спецификации процесса и является результатом комбинирования языков программирования и естественного языка.
СЕЯ состоит из:
- подмножество слов, организованных в определенные логические структуры
- арифметических выражений
- диаграмм
И т.д. состав, которых входят глаголы, ориентированные на действия и применяемые к объекту.
- термины и словаря данных
- предлоги и союзы
- физические, математические и технические термины
- комментарии
- последовательная структур
@ ВЫПЛНИТЬ <функция 1>
ВЫПЛНИТЬ <функция n>
- конструкция выбора
@ ЕСЛИ <условие>
ТО ВЫПОЛНИТЬ <функция 1>
ИНАЧЕ ВЫПОЛНИТЬ <функция 2>
КОНЕЦЕСЛИ
- итерационные конструкции ДЛЯ, ПОКА
Система обслуживания клиентов. В обслуживании пользователя выделяют 2 функции:
- администрирование системы (настройка и контроль за работой системы)
- информационное обслуживание пользователя (получение заказа)
Спецификация:
Activity Name: Получение заказа
Activity Definition:
@ ВХОД = ЗАЯВКА НА ОБСЛУЖИВАНИЕ
@ ВХОД = ДАННЫЕ О ПОЛЬЗОВАТЕЛЕ
@ ВХОД = ДАННЫЕ О КЛИЕНТЕ
@ ВЫХОД = ОТВЕТ НА ЗАЯВКУ
…
@ СПЕЦПРОЦ = ПОЛУЧЕНИЕ ЗАКАЗА
ЕСЛИ <пользователь имеет право доступа>
ТО ВЫПОЛНИТЬ <извлечь из ЗАЯВКИ НА ОБСЛУЖИВАНИЕ ПЕРВИЧНЫЕ
ДАННЫЕ О ВАГОНЕ>
ВЫПОЛНИТЬ <сохранить в ЗАКАЗЕ ПЕРВИЧНЫЕ ДАННЫЕ О ВАГОНЕ>
ВЫПОЛНИТЬ <ОТВЕТ НА ЗАЯВКУ = подтверждение операции>
КОНЕЦВЫПОЛНИТЬ
ИНАЧЕВЫПОЛНИТЬ …
КОНЕЦЕСЛИ