// Параметр ty передается конструктору базового класса
{
double rad = 3.1415926 / 180; // Константа перевода в радианы
// Проверка на валидность входных параметров
t - (tt > 90 || tt < 0) ? 0: tt;
f = (fi > 360 || fi < 0) ? 0: fi;
d = (ds < 0) ? 0: ds;
// Перевод углов в радианы
tr = t * rad; fr = f * rad;
// Проекция радиуса-вектора на горизонтальную плоскость
r = d * cos(tr);
// Декартовы координаты
х = r * sin (fr); у = r * cos (fr); z =d * sin (tr);
};
Конструктор с параметрами создаст объект класса Spheric и присваивает внутренним координатам объекта f, t, d значения своих параметров. Обратите внимание на то что один раз затратив усилия на разработку конструктора, мы навсегда избавляемся от возможности ошибочно или преднамеренно создать объект со значениями координат вне пределов ОДЗ.
Выражение типа (ds < 0 ) ? О : ds вырабатывает значение нуль, если параметр ds отрицателен и значение, равное ds, в остальных случаях. Синтаксис с использованием символов ? (если) и: (иначе) компактен и достаточно выразителен. Символы || означают операцию логического ИЛИ (дизъюнкция).
Производный класс Spheric имеет свои собственные копии переменных х, у, z. Они унаследованы от родительского класса Coord. Механизм их инициализации обеспечивается конструктором. Выражение:Coord (ty), стоящее в заголовке конструктора класса Spheric, инициализирует конструктор класса Coord и передает ему параметр char *ty (указатель на строку символов, содержащую тип цели). Таким образом, создавая класс, производный от базового, нам нет необходимости что-либо изменять в базовом классе. Более сложный объект класса Spheric унаследовал от более простого класса Coord декартовы координаты цели, добавив к ним свои внутренние данные. При этом структура класса Coord осталась нетронутой. Так как приведенный пример имеет чисто иллюстративный характер, то набор методов класса минимален. На практике он должен быть значительно шире, чтобы иметь возможность адекватно управлять объектами созданных классов. Объектно-ориентированный подход и возможности языка C++ позволяют продолжить развитие иерархии классов, создав, например, класс "Цель", производный от класса Spheric и добавить в нем такие данные, как скорость, масса, дальность полета и т.д.
Концепция ООП, используемая в процессе создания иерархии классов, вынуждает разработчика ПО тщательно обдумывать структуру данных класса и набор методов, необходимых для манипуляции этими данными. Результатом усилий должны быть легко читаемые, самодокументированные модули описаний классов, что упрощает их семантический анализ на этапе контроля и облегчает анализ модулей реализации тел методов на наличие в них закладок. При условии соблюдения технологии ООП вероятность оставить программную закладку незамеченной существенно ниже, чем в рамках технологии структурного программирования.
1. Е.П.Палусун, Р.М.Юсупов. Оценка надежности ПО, СПб, Наука, 1994.
2. Н.Н. Безрукое. Компьютерная вирусология: Справочное руководство, Киев, 1994.
3. Р-М.Юсупм, В.И.Воробьев. Отчет о НИР "Разработка методики оценки степени безопасности про1раммного обеспечения". -СПб.: 1991.
4. А.Щербаков. Разрушающие программные воздействия. -М.: Эдель, 1993. -64с. 5- М- Элис, Б.Страуструп. Справочное руководство по языку программирования C++ с комментариями. Мир,1992.
Современный уровень развития технических средств управления характеризуется высокой долей применения автоматизированных систем управления (СУ), представляющих собой вычислительные компьютерные системы (ВС). Бесперебойное и безаварийное функционирование ВС тесно связано с применением информационно-безопасных технологий. В данном разделе рассматриваются общие принципы построения информационно-безопасных технологий (ИБТ) разработки специального программного обеспечен» (СПО) и общие принципы построения специального программного обеспечения систем поддержки и контроля информационной безопасности на этапах проектирования, создания образцов и модернизации СУ. Под информационной безопасностью (ИБ) понимается защита СПО от намеренно введенных программных ошибок, программных закладок и ненамеренных ошибок разработчика, приводящих к разрушительном воздействию.
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.