Сущность объектно-ориентированного подхода к информационной безопасности
Суть объектно-ориентированного подхода (ООП) состоит в том, что проектируются не данные и программы в отдельности, а объекты, сочетающие в себе и данные, и программы, информационно и функционально характеризующие соответствующие сущности предметной области.
Основное преимущество ООП – возможность создавать классы и объекты визуальным способом, т.е. прорисовывать на экране основные элементы, определять цвет, местоположение элементов и т.д. При определённом навыке объекты можно быстро создавать, записывая в методы фрагменты программного кода, определяющие их поведение при наступлении определённых событий. В дальнейшем из визуальных элементов и этих программных фрагментов генерируется общая программа. Этим занимается сама система.
Подход полезен как с методической точки зрения (две разнородные характеристики предметной области – данные и программы – объединяются в объекты), так и с точки зрения техники проектирования и разработки программных систем (вместо двух технически не связанных, но логически переплетенных веток образуется один надёжный ствол).
На различных этапах анализа и синтеза систем возникают проблемы разбиения (декомпозиции) системы на подсистемы, задачи на подзадачи, программного обеспечения на отдельные программы и подпрограммы. При этом объекты каждого последующего уровня разбиения представляют собой абстрактные компоненты (объекты) системы предыдущего уровня, реализация которого зависит от конкретной рассматриваемой проблемы.
В объектно-ориентированных системах декомпозиция системы на объекты осуществляется с учётом удобства последующего детального анализа, разработки и внедрения системы. Одним из наиболее важных критериев выделения компонентов системы является минимизация числа аппаратно-зависимых её компонент. Это позволяет снизить затраты на адаптацию системы при переносе на другую аппаратную платформу, а также уменьшить количество неиспользуемых компонент при работе на конкретной платформе. Решение этой проблемы осуществляется путём исследования существующих платформ, оценки направлений их развития, анализа возможностей использования принятых и (или) предложения новых стандартов взаимодействия системы с аппаратной платформой.
На основе декомпозиции системы:
выделяют задачи, подлежащие автоматизации; | |
определяют необходимое множество процедур реализации заданного множества функциональных задач и необходимой для этого информации; | |
осуществляют предварительную оценку уровня стандартизации используемых алгоритмов и интерфейсов. |
Использование объектно-ориентированного подхода позволяет свести проектирование системы к оптимальному синтезу функционально независимых компонент (объектов), совместно выполняющих заданные функции системы. Таким образом, значительно снижаются затраты на разработку, внедрение и модификацию систем.
В пользу объектно-ориентированного подхода (ООП) говорит большое количество успешно реализованных систем различной природы, спроектированных по этому принципу. Он породил создание распределённой среды обработки данных, включающей системы обработки данных, информации и знаний.
Под распределённой обработкой данных понимают обработку приложений несколькими территориально разделёнными ЭВМ. При этом в приложениях, связанных с обработкой базы данных, собственно управление базой данных может выполняться централизованно
№5 Управление требованиями, выработка требований и определение требований — краеугольные камни успеха любого IT-проекта. По данным исследования, проведенного IBM в области IT, 60% затрат времени организации-разработчики программного обеспечения несут в результате неэффективного подхода к управлению требованиями. В организациях, не располагающих достаточными возможностями бизнес-анализа, проекты в три раза чаще заканчиваются неудачей, чем успехом. При правильном определении требований и управлении ими перерасходы по проекту можно снизить на 20% благодаря сокращению числа неточных, неполных и упущенных требований.
Основные понятия объектно-ориентированного подхода
Основные понятия объектно-ориентированного подхода
Объектно-ориентированный подход использует объектную декомпозицию, то есть поведение системы описывается в терминах взаимодействия объектов.
Что же понимается под объектом и каковы другие основополагающие понятия данного подхода?
Прежде всего, введем понятие класса. Класс - это абстракция множества сущностей реального мира, объединенных общностью структуры и поведения.
Объект - это элемент класса, то есть абстракция определенной сущности.
Подчеркнем, что объекты активны, у них есть не только внутренняя структура, но и поведение, которое описывается так называемымиметодами объекта. Например, может быть определен класс "пользователь", характеризующий "пользователя вообще", то есть ассоциированные с пользователями данные и их поведение ( методы ). После этого может быть создан объект "пользователь Иванов" с соответствующей конкретизацией данных и, возможно, методов.
К активности объектов мы еще вернемся.
Следующую группу важнейших понятий объектного подхода составляют инкапсуляция, наследование и полиморфизм.
Основным инструментом борьбы со сложностью в объектно-ориентированном подходе является инкапсуляция - сокрытие реализацииобъектов (их внутренней структуры и деталей реализации методов ) с предоставлением во вне только строго определенных интерфейсов.
Понятие " полиморфизм " может трактоваться как способность объекта принадлежать более чем одному классу. Введение этого понятия отражает необходимость смотреть на объекты под разными углами зрения, выделять при построении абстракций разные аспекты сущностей моделируемой предметной области, не нарушая при этом целостности объекта. (Строго говоря, существуют и другие виды полиморфизма, такие как перегрузка и параметрический полиморфизм, но нас они сейчас не интересуют.)
Наследование означает построение новых классов на основе существующих с возможностью добавления или переопределения данных иметодов. Наследование является важным инструментом борьбы с размножением сущностей без необходимости. Общая информация не дублируется, указывается только то, что меняется. При этом класс -потомок помнит о своих "корнях".
Очень важно и то, что наследование и полиморфизм в совокупности наделяют объектно-ориентированную систему способностью к относительно безболезненной эволюции. Средства информационной безопасности приходится постоянно модифицировать и обновлять, и если нельзя сделать так, чтобы это было экономически выгодно, ИБ из инструмента защиты превращается в обузу.
Мы еще вернемся к механизму наследования при рассмотрении ролевого управления доступом. Пополним рассмотренный выше классический набор понятий объектно-ориентированного подхода еще двумя понятиями: грани объекта и уровня детализации.
Объекты реального мира обладают, как правило, несколькими относительно независимыми характеристиками. Применительно к объектной модели будем называть такие характеристики гранями . Мы уже сталкивались с тремя основными гранями ИБ - доступностью, целостностью и конфиденциальностью. Понятие грани позволяет более естественно, чем полиморфизм, смотреть на объекты с разных точек зрения и строить разноплановые абстракции.
Понятие уровня детализации важно не только для визуализации объектов, но и для систематического рассмотрения сложных систем, представленных в иерархическом виде. Само по себе оно очень простое: если очередной уровень иерархии рассматривается с уровнем детализации n > 0, то следующий - с уровнем (n - 1). Объект с уровнем детализации 0 считается атомарным.
Понятие уровня детализации показа позволяет рассматривать иерархии с потенциально бесконечной высотой, варьировать детализацию какобъектов в целом, так и их граней.
Весьма распространенной конкретизацией объектно-ориентированного подхода являются компонентные объектные среды, к числу которых принадлежит, например, JavaBeans. Здесь появляется два новых важных понятия: компонент и контейнер.
Неформально компонент можно определить как многократно используемый объект, допускающий обработку в графическом инструментальном окружении и сохранение в долговременной памяти.
Контейнеры могут включать в себя множество компонентов, образуя общий контекст взаимодействия с другими компонентами и с окружением. Контейнеры могут выступать в роли компонентов других контейнеров .
Компонентные объектные среды обладают всеми достоинствами, присущими объектно-ориентированному подходу:
· инкапсуляция объектных компонентов скрывает сложность реализации, делая видимым только предоставляемый вовне интерфейс;
· наследование позволяет развивать созданные ранее компоненты, не нарушая целостность объектной оболочки;
· полиморфизм по сути дает возможность группировать объекты, характеристики которых с некоторой точки зрения можно считать сходными.
Понятия же компонента и контейнера необходимы нам потому, что с их помощью мы можем естественным образом представить защищаемую ИС и сами защитные средства. В частности, контейнер может определять границы контролируемой зоны (задавать так называемый "периметр безопасности").
На этом мы завершаем описание основных понятий объектно-ориентированного подхода.
Дата добавления: 2016-06-15; просмотров: 4266;