Дерево связей функций

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

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

Рис. 2.28. Модель потоков формирования заказа клиента


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

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

Дерево связей функций немного отличается от моделей классических деревьев функций, отражая не только зависимость одной функции от другой, но и показывая последовательность реализации процесса, а дополнение дерева функций элементами окружения в виде информационных объектов дает понимание необходимости подготовки данных для выполнения


каждой функции. Так, на первом уровне рассмотрения дерева по процессу формирования заказа клиента рассматриваются три функции (рис. 2.29).

Рис. 2.29. Первый уровень процесса формирования заказа


На первом уровне инициатором процесса является событие "Потребность в товарах", которое выражается в понимании клиентом желания приобрести в магазине товары и формируется информационное наполнение этого желания в виде потребности в определенных товарах, определяемых критериями отбора, что ранее было сформулировано атрибутивным составом этого информационного объекта (см. рис. 2.10). Также отражено, что процесс начинает выполнять пользователь "Клиент", который, согласно ранее определенным правилам, является исполнителем всего процесса работы с данными. В результате выполнения процесса формируется документ "Заказ", структура которого также ранее была определена (см. рис. 2.17).

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

Так, для функции "Представление каталога товаров" (рис. 2.30) на этапе моделирования бизнес-процессов были выделены задачи, определяющие процесс реализации функции (см. рис. 2.23).

Рис. 2.30. Выделение операций по функции "Представление каталога товаров"




Здесь предполагается выполнение трех задач, где задача "Формирование списка доступных товаров" использует сведения из информационного объекта "Потребность в товарах", а задача "Формирование каталога товаров" должна представить каталог товаров в структурированном виде в форме электронного документа, представляемого экранной формой для выбора товаров, чтобы разместить их в виртуальной корзине клиента (покупателя).

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

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


"Представление каталога товаров"

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

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

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

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

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

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

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

• входящий/выходящий информационный поток — эти графы определяют различные представления информационных элементов, получаемых или формируемых информационной системой, разделяя их не несколько видов: поток данных, элемент базы данных (БД), документ (Д), экранная форма (ЭФ);

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


Описание дерева связей функций процесса
"Формирование заказа клиента"

п/п

Функция/задача/

операция

Базовый процесс

Информационный поток

Описание

Входящий

Выходящий

1

Представление каталога товаров

Потребность в товарах

Формирование структурированного списка товаров для выбора клиентом с целью размещения в виртуальной корзине

1.1

Подготовка сведений для формирования каталога товаров

Подготовка сведений, необходимых клиенту для фильтрации списка товаров в каталоге товаров

1.1.1

Выбор списка категорий товаров

Ведение справочника категорий товаров

(БД) Категории товаров

Список категорий товаров

Реализация информационной потребности пользователя (клиента) в получении списка категорий товаров для последующего использования при фильтрации списка товаров

1.2

Формирование списка доступных товаров

Потребность в товарах

Подготовка списка товаров, которые удовлетворяют требованиям клиента

1.2.1

Выбор списка товаров

Ведение справочника товаров

(БД) Каталог товаров

Список категорий товаров

Список товаров

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

1.3

Формирование каталога товаров

(Д) Каталог товаров

Формирование электронного документа со списком товаров, структурированных по категориям



п/п

Функция/задача/

операция

Вазовый процесс

Информационный поток

Описание

Входящий

Выходящий

1.3.1

Выбор структуры каталога товаров

Ведение справочника структуры каталога товаров

(БД) Структура каталога товаров

Структура каталога товаров

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

1.3.2

Структуризация

товаров

Структура каталога товаров Список товаров

Структура товаров

Распределение товаров по элементам структуры, представленных иерархическим списком категорий товаров

1.3.3

Формирование каталога товаров

-

Структура товаров

Каталог товаров

Представление каталога товаров в виде электронного структурированного документа

1.3.4

Визуализация каталога товаров

Каталог товаров Список категорий товаров

(ЭФ) Каталог товаров

Отображение и стилизация каталога товаров в виде экранной формы

2

Наполнение корзины товаров

Указание пользователем (клиентом) товаров, которые он планирует приобрести

...

...

...

...

...

3

Формирование

заказа

(Д) Заказ клиента

Формирование заказа клиента в форме документа для последующей распечатки и использования при реализации заказа

...

...

...

...



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

Многие подходы к реализации баз данных зачастую опускают такой элемент, как программная процедура и функция, которые уже более 10 лет являются компонентами баз данных и направлены на реализацию процедур обработки данных в более защищенном и эффективном режиме, нежели это делается в программном приложении. Поэтому рассмотрение процессов в рамках моделирования баз данных является одним из важнейших этапов разработки базы данных, определяя необходимые программные компоненты уровня базы данных.