Билет №3

1. Наследование в объектно-ориентированном программировании

Наследование (inheritance) - это процесс, посредством которого один объект может приобретать свойства другого. Точнее, объект может наследовать основные свойства другого объекта и добавлять к ним черты, характерные только для него. Наследование является важным, поскольку оно позволяет поддерживать концепцию иерархии классов (hierarchical classification). Применение иерархии классов делает управляемыми большие потоки информации. Например, подумайте об описании жилого дома. Дом - это часть общего класса, называемого строением. С другой стороны, строение - это часть более общего класса - конструкции, который является частью ещё более общего класса объектов, который можно назвать созданием рук человека. В каждом случае порождённый класс наследует все, связанные с родителем, качества и добавляет к ним свои собственные определяющие характеристики. Без использования иерархии классов, для каждого объекта пришлось бы задать все характеристики, которые бы исчерпывающи его определяли. Однако при использовании наследования можно описать объект путём определения того общего класса (или классов), к которому он относится, с теми специальными чертами, которые делают объект уникальным. Наследование играет очень важную роль в OOП.

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

Наследование в языке C++

class A{ //базовый класс

};

class B : public A{ //public наследование

}

class C : protected A{ //protected наследование

}

class Z : private A{ //private наследование

}

Класс, от которого произошло наследование, называеться «базовым». Классы, которые произошли от базового, называются «потомками» или «наследниками».

В C++ существует три типа наследования: public, protected, private. Спецификаторы доступа членов базового класса меняются в потомках следующим образом:

при public-наследовании все спецификаторы остаются без изменения.

при protected-наследовании все спецификаторы остаются без изменения, кроме спецификатора public, который меняется на спецификатор protected (то есть public-члены базового класса в потомках становятся protected).

при private-наследовании все спецификаторы меняются на private.

Одним из основных преимуществ наследования является то, что указатель на классы-наследники может быть неявно преобразован в указатель на базовый класс, то есть для примера выше, можно написать

A* a = new B;

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

Динамическое определение типа (англ. Run-time Type Information или RTTI) позволяет узнать тип объекта во время выполнении программы (run time).

Для этого применяется оператор dynamic_cast в C++.

"Целевой тип операции должен быть типом указателя, ссылки или void*.

Если целевой тип - тип указателя, то аргументом должен быть указатель на объект класса;

если целевой тип - ссылка, то аргумент должен также быть соответствующей ссылкой.

Если целевым типом является void*, то аргумент также должен быть указателем, а результатом операции будет указатель, с помощью которого можно обратиться к любому элементу “самого производного” класса иерархии, который сам не может быть базовым ни для какого другого класса."

2. Характеристика иерархической, сетевой, реляционной моделей БД.

Иерархические базы данных

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

Однако иерархическая модель не всегда удобна. Допустим, что один и тот же тип болтов используется в автомобиле 300 раз в различных узлах. При использовании иерархической модели, данных тип болтов будет фигурировать в базе данных не 1 раз, а 300 раз (в каждом узле - отдельно). Налицо дублирование информации. Чтобы устранить этот недостаток была введена сетевая модель представления данных.

Сетевая МОДЕЛЬ базЫ данных

Сетевая база данных - это база данных, которой одна запись может участвовать в нескольких отношениях предок-потомок (см. рис. 1.2.) Фактически база данных представляет собой не дерево а произвольный граф.

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

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

Реляционные базы данных

Общими понятиями баз данных являются тип данных, домен, атрибут, кортеж, отношение, первичный ключ.

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

Домен можно рассматривать как допустимое потенциальное множество значений данного типа. В некоторых реляционных СУБД понятие домена не используется.

Отношение. Схема отношения показывает, какие атрибуты определены для одного элемента баз данных. Для СУБД Access - структура таблицы. Каждая таблица имеет свою схему отношения.

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

Отдельное отношение - множество кортежей, соответствующих одной схеме отношения.

Реляционная база данных - набор отношений, имена которой совпадают с именами схем отношений, определенных в базе данных.

3. Направления обеспечения информационной безопасности. Организационная защита.

1. Правовая защита; 2. Организационно методические мероприятия; 3. Инженерно технические средства.

Правовая защита

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

Правовые меры обеспечения безопасности являются основой порядка деятельности и поведения сотрудников предприятия и определяют меры их ответственности за нарушение установленных норм.

Организационная защита

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

Организационные меры:

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

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

- организационная работа с документами, документированной информацией и их носителями: Сюда относится организация разработки и использования документов и их носителей, их учёт, использование, возврат, хранение и уничтожение.

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

- организация работ по анализу внутренних и внешних угроз и выработки мер по защите.

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

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

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

К основным документам которые должны разработать служба безопасности на любом предприятии:

Положение о сохранении конфиденциальности информации; Перечень сведений составляющих конфиденциальную информацию; Инструкция о порядке допуска сотрудников к сведениям составляющих конфиденциальную информацию; Положение о специальном делопроизводстве и документообороте; Перечень сведений разрешённых к опубликованию в открытой печати; Обязательство сотрудника о сохранении конфиденциальности информации; Памятка сотруднику о сохранении коммерческой тайны.

Инженерно-техническая защита и физические методы

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

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

 

Hosted by uCoz