- •1. Структурные методологии системного моделирования бизнес – процессов
- •1.1.Этапы, участники и организация процесса моделирования
- •1.2. Введение в структурные методологии
- •1.2.1 Понятия и определения
- •1.3. Методология Гейне/ Сарсона информационно – логического моделирования
- •1.3.1 Общие сведения
- •1.3.2. Потоковые диаграммы информационно-логической модели
- •1.3.3. Описание внутренней логики процессов
- •1.3.4. Структурограммы описания данных
- •1.4. Sadt- методология. Idef0 – функциональное моделирование
- •1.4.1 Синтаксис и применение диаграмм
- •1.4.2 Синтаксис моделей и работа с ними
- •4.3 Выводы.
- •Раздел II инструментальные средства моделирования
- •2.1. Инструментальное средство функционального моделирования AllFusionBPwin 4.0
- •2.2. Краткое введение в idef3 – моделирование
- •2.2.1. Синтаксис и семантика моделей idеfз
- •2.3. Инструментальное средство case.Аналитик
- •2.5.1. Назначение case.Аналитика
- •2.5.2 Функциональная структура case.Аналитика
- •2.5.3 Особенности систем, для разработки которых предназначен case.Аналитик
- •Функциональная модель Проектирование модели системы планирования себестоимости продукции в bPwin как есть
- •Диаграммы декомпозиции
- •Исходные данные
- •Содержательная часть
- •Ввод данных
- •Нормы расходов
- • Данные по расходу продукта
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 .
Для непрерывных данных указывается::
|
||||||||||
|
физическим форматом и аналитику следует отметить кодирование этого потока в словаре данных. Чаще всего участия аналитика на таком подробном уровне не требуется, оно может быть ограничено указанием типа внешних данных (цифровые, чисто буквенные или буквенно-цифровые).
Дискретные данные ─ это данные, которые могут принимать только определенные значения, например, номер отдела, который может быть равен 36; 08; 29 или 71. Другим примером этого второго типа может быть семейное положение, которое может принимать значения "холост", "женат", "вдовец", "разведен". Обычно значения являются кодом, означающим некий смысл. Для дискретных данных заполняют таблицу значений в формате, приведенном на рис.1.7. Кроме того, аналогично непрерывным данным, для
Значение |
Смысл |
36 |
Отдел сбыта |
08 |
Бухгалтерия |
29 |
Склад |
71 |
Отдел снабжения |
Рис. 1.7. Формат таблицы “значение ─ смысл” для дискретного данного
дискретных данных, связанных с внешними системами, может быть указана кодировка.
Аналоговые сигналы ─ это, как правило, измерительные данные от различного рода датчиков. Для них указывается:
единица измерения;
диапазон;
уровень сигнала;
тип датчика.
Дискретные сигналы ─ это, как правило, сигналы от датчиков положения (состояния) тех или иных устройств. Для них указывается:
уровень сигнала;
тип датчика.
Рекомендации по описанию данных
Аналитик не должен указывать диапазон на первом этапе создания базы данных проекта, а может сделать это на более позднем этапе. |
Аналитик должен решать, когда имеет смысл перейти от рассмотрения элемента данных как дискретного, к непрерывному. Как показывает опыт, если таблица “значение ─ смысл” может быть напечатана на одной или двух сторонах листа, то следует занести значения в базу данных проекта. Также обычно более разумно определить накопитель данных, в котором будет храниться смысл значений. |
|
Например, НОМЕР-ДЕТАЛИ можно рассматривать как дискретный элемент данных. Каждое значение имеет определенный смысл. Дискретные элементы данных применяются также для определения прилагательных, характеризующих диапазон знаний. Температура является непрерывным элементом данных с соответствующим конкретным целям диапазоном. Но может потребоваться называть температуру выше 35˚ - ВЫСОКАЯ, в диапазоне от 18˚ до 34˚ - НОРМАЛЬНАЯ, а ниже 18˚ - НИЗКАЯ. Тогда целесообразно определять "ВЫСОКАЯ", "НОРМАЛЬНАЯ" и "НИЗКАЯ" как значения дискретного элемента данных "ДИАПАЗОН-ТЕМПЕРАТУРЫ", смысл которого описан через непрерывный элемент данных ”ТЕМПЕРАТУРА".
