Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Специальные требования к безопасности программного обеспечения.docx
Скачиваний:
27
Добавлен:
08.06.2016
Размер:
44.63 Кб
Скачать

Требования к безопасности программного обеспечения (Дополнение к гост 28195-99)

        

Содержание

  1. Тестирование сложности системы

  2. Принципы объектно-ориентированного подхода

  3. Венгерская нотация

  4. Обработка исключений

  5. Защита от НСД

 

1. Тестирование сложности системы (дополнение к показателю с1 в гост 28195-99)

 

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

Сложность системы, для которой нужно разработать программное обеспечение определяется по пяти признакам:

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

- в системе могут быть выделены подсистемы, для которых внутриэлементные связи сильнее, чем межэлементные;

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

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

- развитие всей системы основано на развитии ее подсистем.

К системам, удовлетворяющим вышеперечисленным признакам, структурное программирование (сверху вниз) не применимо. Такая система никогда не будет полностью работоспособна.

Если система обладает более простой конструкцией, к ней может быть применен ГОСТ 28195-99.

 

2. Принципы объектно-ориентированного подхода (дополнение к показателям с2 и с3 в гост 28195-99)

 

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

-         объектно-ориентированного анализа;

-         объектно-ориентированного проектирования;

-         объектно-ориентированного программирования.

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

При реализации этих функций необходимо применить объектно-ориентированное проектирование, состоящее из следующих основ:

-         абстрагирование;

-         ограничение доступа;

-         модульность;

-         иерархичность;

-         типизация;

-         параллелизм;

-         устойчивость.

Для реализации объектно-ориентированного проектирования разработаны принципы объектно-ориентированного программирования, состоящие из трех базовых концепций:

-         наследование;

-         инкапсуляция;

-         полиморфизм.

Эти принципы положены в основу реализации любого объектно-ориентированного языка с любой средой для компиляции (Delphi, Borland, Visual и т.д.).

Реализация принципа наследования состоит в создании новых классов (потомков) на основе уже имеющихся классов с передачей их свойств и методов по наследству. Наследование, таким образом, исключает написание одинакового кода.

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

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

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

Принцип полиморфизма обеспечивает взаимозаменяемость объектов с одинаковым интерфейсом. В программе должен присутствовать механизм перегрузки методов (функций, операций).

Структура программного продукта должна иметь объектно-ориентированную декомпозицию, представленную на Рисунке 1, т.е. в проекте должны присутствовать модули:

- основной файл;

- файл изменений;

- контрольная сумма.

 

 

 

Рис 1. Объектно-ориентированная декомпозиция