2 Разработка функциональной модели
Методология IDEFO (более известная как методологий SADT— StructureAnalysisandDesignTechnique) предназначена для представления функций системы и анализа требований к системам и является одной из самых известных и широко используемых методологий проектирования АСУ.
В терминах IDEFO система представляется в виде комбинации блоков и дуг. Блоки используются для представления функций системы и сопровождаются текстами на естественном языке.
Кроме функциональных блоков другим ключевым элементом методологии является дуга. Дуги представляют множества объектов (как физических, так и информационных) или действия, которые образуют связи между функциональными блоками.
Место соединения дуги с блоком определяет тип интерфейса. Данные, управляющие выполнением функции, входят в блок сверху, в то время как информация, которая подвергается воздействию функции, показана с левой стороны блока; результаты выхода показаны с правой стороны. Механизм (человек или автоматизированная система), который осуществляет функцию, представляется дугой, входящей в блок снизу.
Функциональный блок (или Функция) преобразует Входы в Выходы (т.е. входную информацию в выходную). Управление определяет, когда и как это преобразование может, или должно произойти. Исполнители непосредственно осуществляют это преобразование.
С дугами связаны надписи (или метки) на естественном языке, описывающие данные, которые они представляют. Дуги показывают, как функции между собой взаимосвязаны, как они обмениваются данными и осуществляют управление друг другом. Выходы одной функции могут быть Входами, Управлением или Исполнителями для другой.
Дуги могут разветвляться и соединяться.
Функциональный блок, который представляет систему в качестве единого модуля, детализируется на другой диаграмме с помощью нескольких блоков, соединенных между собой интерфейсными дугами. Эти блоки представляют основные подфункции (подмодули) единого исходного модуля. Данная декомпозиция выявляет полный набор подмодулей, каждый из которых представлен как блок, границы которого определены интерфейсными дугами. Каждый из этих подмодулей может быть декомпозирован подобным же образом для более детального представления.
Рассмотрим построение функциональной модели применительно к моей модели разграничения доступа.
2.1 Первый уровень функциональной модели
На входе функционального блока «Разграничение доступа» (А0) – «параметры пользователя», необходимая для последующего ее преобразования, на выходе – «отказ в запросе» и «выполнение запроса» (см. рисунок 1). Результат «отказ в запросе» может появиться в случае невыполнения каких-либо необходимых условий и требований. Управляющее воздействие, в данной модели, - это «монитор безопасности». Механизмом, который осуществляет данную функцию, является компьютерная система.
Рисунок 1 – Первый уровень
Как уже выше было сказано, функциональный блок, который представляет систему в качестве единого модуля, детализируется на другой диаграмме с помощью нескольких блоков, соединенных между собой интерфейсными дугами.Эти блоки представляют основные подфункции (подмодули) единого исходного модуля. Следовательно, можно рассмотреть второй уровень модели, детализирующий первый.
2.2 Второй уровень функциональной модели
Второй уровень раскрывает первый, «разграничение доступа» состоит из нескольких следующих этапов:
- идентификация пользователя, который подает запрос (А1);
- анализ запроса, включающий в себя ряд функциональных операций по обработке запроса и осуществляющий функцию разграничения доступа (А2);
Рисунок 2- Второй уровень. Детализация блока А0
2.3 Третий уровень функциональной модели
Третий уровень раскрывает все блоки второго уровня. Рассмотрим их поочередно:
- Блок А1 (Идентификация пользователя) включает в себя:
а) Ввод идентификационных данных (А11);
б) Проверка идентификационных данных (А12);
в) Анализ идентификационных данных (А13).
Если на одном из этапов произошло не выполнение каких-либо требований, то система оповещает о том, что в данном случае в запросе отказано.
Рисунок 3 – Третий уровень. Детализация блока А1
- Блок А2 (Анализ запроса) включает в себя:
а) ввод запроса (А21);
б) определение вида и обработка запроса (А22).
Рисунок 4 – Третий уровень. Детализация блока А2
2.4 Четвертый уровень функциональной модели
- Блок А13(Анализ идентификационных данных) изображен на рисунке 5 и включает в себя:
а) определение прав в матрице доступа (А131);
б) определение уровня доверия пользователю (А132).
Рисунок 5 – Четвертый уровень. Детализация А13
- Блок А22 (определение вида и обработка запроса) включает в себя:
а) определение вида запроса (А221);
б) выборка запроса из множества запросов (А225);
в) определение уровня защиты объекта (А224);
г) проверка на наличие опасных информационных потоков (А222);
д) проверка соблюдения правил NRU и NWD;
е) проверка наличия соответствующих прав доступа в матрице доступа.
Рисунок 6 – Четвертый уровень. Детализация А22
2.4 Пятый уровень функциональной модели
- Блок А222 (Проверка на наличие опасных информационных потоков) включает в себя:
а) проверка на наличие полученных доступов (А2241);
б) определение уровней защиты объектов, к которым получен доступ (А2242);
в) проверка на недопустимые информационные потоки (А2243).
Рисунок 7 – Пятый уровень. Детализация А222
- Блок А223 (Проверка правил NRU и NWD) включает в себя:
а) проверка правила NWD (А2231);
б) проверка правила NRU (А2232).
Рисунок 8 – Пятый уровень. Детализация А223
3 Разработка информационной модели
Цель информационной модели заключается в выработке непротиворечивой интерпретации данных и взаимосвязей между ними, что необходимо для интеграции, совместного использования и управления целостностью данных.
Методология IDEF1X- один из подходов к семантическому моделированию данных (определению значений данных в контексте их взаимосвязей с другими данными), основанный на концепции Сущность-Отношение. Это инструмент используется для анализа информационной структуры систем различной природы. Информационная модель, построенная с помощью IDEFlX- методологии, представляет логическую структуру информации об объектах системы. Эта информация является необходимым дополнением функциональной IDEFO- модели поскольку детализирует объекты, которыми манипулируют функции системы.
Основными компонентами IDEF1X- модели являются:
- Сущности, представляющие множество реальных или абстрактных предметов (людей, объектов, мест, событий, состояний, идей, пар предметов и т.д). Они изображаются блоками. Могут быть:
· независимые от идентификатора сущности;
· зависимые от идентификатора сущности.
- Отношения между этими предметами, изображаемые соединяющими блоки линиями. Могут быть:
· отношения, идентифицирующие связи;
· отношения, не идентифицирующие связи;
· отношения категоризации;
· неспецифические отношения.
- Характеристики сущностей, изображаемые именами атрибутов внутри блоков. Атрибуты могут быть:
· неключевыми;
· первичными ключами;
· альтернативными ключами;
· внешними ключами.
Сущность – это совокупность похожих объектов/экземпляров (людей, мест, предметов, событий), которая именуется общим существительным, обладает ключом (однозначно идентифицирующим каждый экземпляр) и имеет один или несколько атрибутов (описывающих каждый экземпляр).
Каждая сущность может обладать любым количеством отношений с другими сущностями. Сущность является независимой, если каждый экземпляр сущности может быть однозначно идентифицирован без определения его отношений с другими сущностями. Независимая сущность на диаграмме изображается блоком с прямыми углами. Сущность называется зависимой, если однозначная идентификация экземпляра сущности зависит от его отношения к другой сущности. Если сущность зависима от идентификатора, то углы блока закругляются.
Отношение связи, называемое также отношением родитель-потомок, - это связь между сущностями, при которой каждый экземпляр сущности-родитель ассоциирован с произвольным (в том числе нулевым) количеством экземпляров сущности-потомком, а - каждый экземпляр сущности-потомка ассоциирован в точности с одним экземпляром сущности-родителя.
Идентифицирующим отношением называется отношение, при котором экземпляр сущности-потомка однозначно определяется своей связью с сущностью-родителем. В противном случае отношение называется неидентифицирующим. Идентифицирующее отношение изображается сплошной линией, пунктирная линия изображает неидентифицирующее отношение.
Отношению дается имя, выражаемое грамматическим оборотом глагола. Имя отношения всегда формируется с точки зрения родителя, так что может быть образовано предложение, если соединить имя сущности-родителя, имя отношения, выражение мощности и имя сущности-потомка.
Каждый экземпляр общей сущности и связанный с ним экземпляр одной из категорных сущностей изображают один и тот же предмет реального мира и поэтому обладают одним и тем же уникальным идентификатором. Для сущности-категории мощность не указывается, поскольку она всегда равна нулю или единице. Значение некоторого атрибута в экземпляре общей сущности определяет, с каким из возможных сущностей-категорий он связан. Этот атрибут называется дискриминатором отношения категоризации.