Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Корп.инф.сети_Задание на КП.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
2.6 Mб
Скачать

1.3.3. Описание внутренней логики процессов

При определении логики процесса CASE.Аналитик предоставляет средства в виде структурограмм, использующих "структуры" структурного программирования и аналогичных диаграммам Насси-Шнейдермана, которые позволяют выразить логику процесса четко и недвусмысленно.

Формальное определение языка описания логики процессов

Базовым элементом языка описания внутренней логики процессов является

Блок. Блок изображается при помощи прямоугольника и имеет заголовок:

Заголовок

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

.

Далее следуют определения языка.

ЛОГИКА ПРОЦЕССА < Имя процесса>

<оператор> =

< предложение>

<условный оператор>

<оператор выбора>

<оператор цикла>

<оператор ввода/вывода>

<оператор событий>

Предложение - любое осмысленное предложение на естественном языке

<условный оператор> =

ЕСЛИ <предложение>

{<оператор>}

ИНАЧЕ

{<оператор>}

<оператор выбора> =

В ЗАВИСИМОСТИ ОТ ЗНАЧЕНИЯ <предложение>

{<альтернатива>}

В ДРУГИХ СЛУЧАЯХ

{<оператор>}

<альтернатива> =

<gредложение>

{<оператор>}

<цикл> = <цикл ПОКА>/<цикл ДО>

<цикл ПОКА>=

ПОКА СПРАВЕДЛИВО <предложение>

{<операто>}

<цикл ДО> =

ПОВТОРЯТЬ

{<оператор>}

ПОКА СПРАВЕДЛИВО: {<предложение>}

<оператор ввода/вывода> =<оператор ввода>/<оператор вывода>

<оператор ввода> =

ВВЕСТИ <предложение>

<оператор вывода>

ВЫВЕСТИ: {<предложение>}

<оператор событий> = <возбудить событие>/<ждать событие>

<возбудить событие> =

ВОЗБУДИТЬ СОБЫТИЕ:{<выходное событие>}

<ждать событие> =

ЖДАТЬ; СОБЫТИЕ:[“[“ <время> “]”]{<входное событие>}

<время> = <предложение>

Используя приведенные разновидности блоков можно строить более сложные структуры, определяющие логику описываемого процесса. Примеры различных структур приведены в [3].

Авторы рассматриваемых методологий акцентируют внимание читателей на том, что, прежде чем переходить к декомпозиции какого-либо процесса, необходимо описать информационные потоки (объекты по терминологии SADT). Для этого в методологии Гейне ─ Сарсона предлагается формальный язык описания структур данных в виде структурограмм.

1.3.4. Структурограммы описания данных

Детализация содержания информационных потоков, информационных каналов и накопителей данных описывается при помощи структурограмм описания данных.

Элементы данных - это порции данных, которые не имеет смысла подвергать дальнейшему разбиению при достижении данной цели. Например, ДАТА - это для большинства случаев элемент данных при анализе, хотя в некоторых случаях возможно рассмотрение ДАТЫ как структуры, состоящей из ДНЯ, МЕСЯЦА, ГОДА.

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

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

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

Для определения языка приняты тот же способ и соглашение, что и для языка описания логики процессов.

Структурограмма данных =

СОДЕРЖАНИЕ: <тип> <имя>

{<Структура данных> │ <Элемент данных>}

<тип> = "ПОТОК ДАННЫХ"│ "СТРУКТУРА ДАННЫХ" │ "НАКОПИТЕЛЬ ДАННЫХ"

<СТРУКТУРА ДАННЫХ> =

{<Структура данных> │ <Элемент данных>}│

{< Альтернатива>}│

{<Условное вхождение>}│

{<Итерация>}

<Альтернатива> =

АЛЬТЕРНАТИВА

{<Структура данных> │ <Элемент данных>}

{<Структура данных> │ <Элемент данных>}

{<Структура данных> │ <Элемент данных>}

<Условное вхождение> =

НЕОБЯЗЯТЕЛЬНЫЙ КОМПОНЕНТ

{<Структура данных> │ <Элемент данных>}

<Итерация> =

ВХОДИТ ОТ <целое> ДО <раз>

{<Структура данных> │ <Элемент данных>}

Рекомендации по записи структурограмм данных

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

Альтернатива означает, что в структуру может входить один из ниже -перечисленных элементов.

Итерация означает вхождение любого числа в указанном диапазоне.

Описание структурных элементов. Несмотря на то, что в своей основе информационно-логическая модель является графической, структурные элементы диаграмм и структурограмм имеют дополнительно вербальные описания, хранящиеся в базе данных.

СОДЕРЖАНИЕ: структура данных “Извещение о платеже”

Дата

Поставщик

Адрес Поставщика

АЛЬТЕРНАТИВА

Номер чека

Детали оплаты

Банк

Номер счета поставщика

ВХОДИТ ОТ 1 ДО 999 РАЗ

Счет

Номер

Дата

Сумма

НЕОБЯЗАТЕЛЬНЫЙ КОМПОНЕНТ

Комментарий

Сальдо счыета

Рис. 1.6. Пример структурограммы данных

Использование описательной информации Для информационных потоков дополнительно указывается период передачи информации. Для каждого элемента данных указываются синонимы. Синонимы могут возникать из-за того, что пользователи в разных отделах одному и тому же понятию дают разные имена. Например, то, что служащие на складе называют НОМЕРОМ ТРЕБОВАНИЯ, занимающиеся закупочной деятельностью именуют НОМЕРОМ ЗАКАЗА. Также возникновение синонимов возможно из-за определения одного и того же элемента в программах, написанных на разных языках или различными программистами. НОМЕР ТРЕБОВАНИЯ (REQUISITION-NUMBER) может существовать как REQUISNU, REQNU, PUR 7061 и в виде других внутренних псевдонимов. Можно записать все из них и включить их не только как НОМЕР ТРЕБОВАНИЯ, но и отдельно, в их собственной словарной статье. Поэтому, просматривая старую документацию и найдя PUR 7061, можно найти словарную статью, говорящую:

"PUR 7061 псевдоним НОМЕРА-ТРЕБОВАНИЯ"

и, обратившись к НОМЕРУ-ТРЕБОВАНИЯ, найти все необходимые подробности.

Для каждого элемента данных указывается его тип. Предусмотрены следующие типы элементов данных:

  • непрерывные данные;

  • дискретные данные;

  • аналоговый сигнал;

  • дискретный сигнал..

  • Непрерывные данные ─ это данные, которые на практике могут принимать любое значение в пределах диапазона, например, сумма в рублях может быть от нуля до 999999,99 с точностью до копейки или температура ─ от 0 до 300 0 .

Для непрерывных данных указывается::

  • единица измерения;

  • диапазон значений;

  • типичное значение;

  • точность;

  • кодировка.

Единица измерения ─ это строка символов: диапазон значений определяется минимальным и максимальным возможными значениями. Например, элемент данных СУММА К ОПЛАТЕ на счете может принимать значение от 1 до 100 000 р. При этом точность определяет, следует ли учитывать копейки или нет: если точность = 0.01 р., то значение на счете должно быть указано с точностью до копейки; типичное значение (если таковое существует) может быть полезным при последующем проектировании входных и выходных форм; кодировка ─ это форма, в которой элемент данных будет физически кодироваться в системе, например, будет ли число храниться на диске в виде упакованного десятичного числа или передача по коммуникационной линии будет осуществляться в ASCII (стандартный американский код для обмена информацией) - или в EBCDIC (расширенный двоично-десятичный код для обмена информацией) - кодировке.

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

является внешним условием. В этом случае отсутствует управление

физическим форматом и аналитику следует отметить кодирование этого потока в словаре данных. Чаще всего участия аналитика на таком подробном уровне не требуется, оно может быть ограничено указанием типа внешних данных (цифровые, чисто буквенные или буквенно-цифровые).

  • Дискретные данные ─ это данные, которые могут принимать только определенные значения, например, номер отдела, который может быть равен 36; 08; 29 или 71. Другим примером этого второго типа может быть семейное положение, которое может принимать значения "холост", "женат", "вдовец", "разведен". Обычно значения являются кодом, означающим некий смысл. Для дискретных данных заполняют таблицу значений в формате, приведенном на рис.1.7. Кроме того, аналогично непрерывным данным, для

Значение

Смысл

36

Отдел сбыта

08

Бухгалтерия

29

Склад

71

Отдел снабжения

Рис. 1.7. Формат таблицы “значение ─ смысл” для дискретного данного

дискретных данных, связанных с внешними системами, может быть указана кодировка.

  • Аналоговые сигналы ─ это, как правило, измерительные данные от различного рода датчиков. Для них указывается:

  • единица измерения;

  • диапазон;

  • уровень сигнала;

  • тип датчика.

  • Дискретные сигналы ─ это, как правило, сигналы от датчиков положения (состояния) тех или иных устройств. Для них указывается:

  • уровень сигнала;

  • тип датчика.

Рекомендации по описанию данных

Аналитик не должен указывать диапазон на первом этапе создания базы данных проекта, а может сделать это на более позднем этапе.

Аналитик должен решать, когда имеет смысл перейти от рассмотрения элемента данных как дискретного, к непрерывному. Как показывает опыт, если таблица “значение ─ смысл” может быть напечатана на одной или двух сторонах листа, то следует занести значения в базу данных проекта. Также обычно более разумно определить накопитель данных, в котором будет храниться смысл значений.

Например, НОМЕР-ДЕТАЛИ можно рассматривать как дискретный элемент данных. Каждое значение имеет определенный смысл. Дискретные элементы данных применяются также для определения прилагательных, характеризующих диапазон знаний. Температура является непрерывным элементом данных с соответствующим конкретным целям диапазоном. Но может потребоваться называть температуру выше 35˚ - ВЫСОКАЯ, в диапазоне от 18˚ до 34˚ - НОРМАЛЬНАЯ, а ниже 18˚ - НИЗКАЯ. Тогда целесообразно определять "ВЫСОКАЯ", "НОРМАЛЬНАЯ" и "НИЗКАЯ" как значения дискретного элемента данных "ДИАПАЗОН-ТЕМПЕРАТУРЫ", смысл которого описан через непрерывный элемент данных ”ТЕМПЕРАТУРА".