Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
90
Добавлен:
10.02.2015
Размер:
2.04 Mб
Скачать

Информационное моделирование процессов предметной области и применение потоковых диаграмм

Языки потоковых диаграмм, которые мы рассмотрим в этом разделе курса, акцентируют внимание на действиях-процессах, но с точки зрения приема-передачи-хранения-преобразования информации, т.е. откуда (или от кого) действия принимают информацию, куда (или кому) ее передают и как (посредством чего и кого) они преобразуют информацию. Иначе говоря, эти языки информационного моделирования процессов акцентируют внимание на информационных связях между действиями-процессами, а не на связях по управлению (порядком выполнения).

В таких языках используются различные виды графовых (сетевых) представлений.

  • Двудольный ориентированный граф: два типа вершин - хранилища данных и процессы (обработки данных), ориентированные ребра - потоки данных (DataFlow), которые показывают из каких хранилищ процессы берут входные данные, и в какие хранилища посылают результаты своей работы.

  • Простой ориентированный граф: вершины - процессы, ориентированные ребра - потоки данных. Такое представление показывает – «кто (процесс) на кого (процесс) работает и что (поток данных) при этом получает и передает».

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

Конкретные языки информационного моделирования, естественно, содержат и другие средства - в частности, внешние объекты - конечные пользователи и другие объекты, обменивающиеся данными с информационной системой; средства декомпозиции сложных данных и процессов...

ПОТОКОВЫЕ ОПЕРАЦИОННЫЕ ДИАГРАММЫ С ХРАНИЛИЩАМИ (DFD - Data Flow Diagramming).

Базовые элементы языка.

  • Д

    Имя действия (глагол)

    ействие (процесс)

Имя потока (существительное)

  • Поток данных

Имя хранилища (существительное)

  • Хранилище данных

  • Внешний объект

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

Группировка (композиция) и разгруппировка (декомпозиция) действий (процессов) представляется многоуровневыми потоковыми диаграммами, сложное действие представляется (прямоугольником) как единое целое в одной диаграмме и как набор взаимосвязанных действий в детализирующей диаграмме.

Группировка (композиция) и разгруппировка (декомпозиция) потоков представляется как их слияние и разветвление соответственно.

ЗАДАЧА о хозяине, его собаке и его друге.

Рассмотрим пример:

  • действующие объекты процесса - собака, ее хозяин и друг хозяина;

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

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

PROGRAM Pp; VAR

S0{начальное расстояние},

Sk{конечное расстояние}, Vh{скорость хозяина},

Vd{скорость друга}, Vs{скорость собаки}:REAL;

S{текущее расстояние},t{время}:REAL;

k{число пробегов}:INTEGER;

C{хозяин/друг}:CHAR;

BEGIN READ(S0,Sk,Vh,Vd,Vs); S:=S0; C:='Х'; k:=0;

WHILE S>=Sk DO

BEGIN IF C='Х' THEN BEGIN C:='Д'; t:=S/(Vs+Vd) END

ELSE BEGIN C:='Х'; t:=S/(Vs+Vh) END;

S:=S-t*(Vh+Vd); k:=k+1 END;

WRITE(k) END.

ПРИМЕР потоковой операционной диаграммы с хранилищами для задачи о бегающей собаке.

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

Потоки можно классифицировать на:

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

  • материальные, их особенность состоит в том, что при разветвлении содержимое потока не дублируется, а реально распределяется по ветвям (например, исходящие из одного источника финансовые средства поступят нескольким адресатам не в общей сумме, а в соответствующих долях);

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

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

Аналогично можно классифицировать (и соответственно по-разному обозначать) действия (процессы):

  • действия приема, передачи и преобразования потоков;

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

Соседние файлы в папке Базы данных(1 курс, 2 семестр,2011-2012)