Лабораторная
работа №2.
Создание IDEF0 модели начинается с контекстной или А-0 диаграммы(рис.1), где основным блоком является сам процесс обслуживания клиента. На вход процесса поступают аутентификационные данные (логин и пароль), база данных, лежащая в основе системе, к которой обращается клиент и сам запрос. Механизмами выполнения функции являются программы клиента и программы сервера. Управлением или ограничением является уровень доступа. На выход идет измененная база данных с отчетом, в случае отказа клиенту в доступе на выход поступает отказ выполнения.
Рисунок 1. Контекстная диаграмма.
При декомпозиции А-0 диаграммы мы получили четыре блока: аутентификация пользователя, обращение к подсистеме, обработка запроса клиента и изменение базы данных.
Рисунок 2. А0 диаграмма.
На общую схему А0 диаграммы поступают те же данные, что и в блок на уровне А-0, но на более низком уровне мы можем распределить поступающие данные на разные функции этого блока.
Первой функцией при работе с базой данных является аутентификация, на вход которой подается логин и ключ (пароль), с данными работает программа клиента, ограниченная уровнем доступа клиента. Далее происходит обращение к подсистеме. На вход этого блока поступают предоставленные полномочия, механизмом в этом блоке является программа клиента, а на выход предоставляется выбранная подсистема. Третьей функцией является обработка запроса клиента. Этот блок первым обращается к базе данных, поэтому на его вход извне поступает база данных, с данными в этом случае работает программа сервера, ограничение на работу накладывает выбранная подсистема. На прямой выход из этого блока идут отчеты. Следующей, последней функцией будет изменение базы данных. На вход блока подается выход предыдущего блока, т.е. запрос на изменение базы данных, с данными, как и в предыдущем блоке, работает программа сервера, и на выход, в зависимости от возможности изменения данных пользователем, подается либо отказ выполнения, либо измененная база данных.
Рисунок 3. Аутентификация.
На схему декомпозиции блока аутентификации поступают те же данные, что и в блок на уровне А0, как и в предыдущем случае с контекстной диаграммой.
Первой функцией в этом блоке будет определение группы пользователей. На вход в блок подается внешние данные логин и ключ, с этим блоком, как и со всеми на данном уровне работает программа клиента. На выход следующего блока, описывающего функцию определения предоставления полномочий, идет выход данного, т.е. определенная группа пользователя клиента. При предоставлении полномочий у нас есть ограничение по уровню доступа. На выход из блока идут предоставленные полномочия, которые так же идут на вход следующей функции открытия доступа к базе данных.
Блок обращение к подсистеме не будет декомпозирован, т.к. не является делимой функций.
Следующий блок – блок обработки запроса клиента. На вход подается запрос пользователя, который идет в блок принятия запроса, где у нас имеются ограничения по выбранной подсистеме. На этом уровне все функции выполняются программой сервера. На выход из первого блока идет запрос, он же является входом во второй блок. Следующая функция – обработка запроса. После обработки этот запрос идет на вход в функцию выполнения запроса. На выходе последнего блока идут отчеты и запрос на изменение базы данных.
Рисунок 4. Обработка запроса клиента.
Последний блок на А0 диаграмме – изменение базы данных. Рассмотрим его декомпозицию. Входящий параметр – запрос на изменение базы данных идет на вход в первый блок: определение возможности изменения базы данных этим пользователем. Все функции этого уровня выполняет программа сервера. На выход первого блока идет отказ выполнения или разрешение выполнения запроса. На вход второго блока поступает база данных и разрешение выполнение запроса. На выход идет измененная база данных. На вход последнего блока поступает сама база данных и измененная база данных, на этом этапе мы проверяем ее целостность и отдает на выход измененную базу данных.
Рисунок 5. Изменение базы данных.