- •Введение
- •1.Теоретическая часть
- •1.1 Защитное программирование
- •1.1.1 Правила написания программ с блоками защиты от несанкционированного ввода данных
- •1.1.2 Приемы надежного программирования
- •1.1.3 Причины ошибок программного обеспечения
- •1.1.4 Источники ошибок программного обеспечения
- •1.1.5 Классификация ошибок программного обеспечения
- •1.1.6 Основные пути борьбы с ошибками
- •1.2 Методы структурирования
- •1.2.1 Метод дублирования блоков
- •1.2.2 Метод булева признака
- •1.2.3 Метод введения переменной состояния
- •1.2.4 Концептуальное программирование
- •2. Практическая часть
- •2.1 Delphi. Основные понятия и определения
- •2.2 Процесс написания программы
- •Заключение
- •Приложение. Листинг программы
1.1.6 Основные пути борьбы с ошибками
Учитывая рассмотренные особенности действий человека при переводе можно указать следующие пути борьбы с ошибками:
сужение пространства перебора (упрощение создаваемых систем),
обеспечение требуемого уровня подготовки разработчика (это функции менеджеров коллектива разработчиков),
обеспечение однозначности интерпретации представления информации,
контроль правильности перевода (включая и контроль однозначности интерпретации).
1.2 Методы структурирования
В общем случае произвольная программа не может быть преобразована в структурированную программу, которая реализует тот же алгоритм, построена с применением тех же конструкций и не использует дополнительных переменных. Такое преобразование возможно при использовании трех известных методов:
- дублирование кодов программы,
- введение переменной состояния,
- метод булевых признаков.
1.2.1 Метод дублирования блоков
Для блокирования (парирования) случайных угроз безопасности информации в компьютерных системах должен быть решен комплекс задач. Дублирование информации является одним из самых эффективных способов обеспечения целостности информации. Оно обеспечивает защиту информации как от случайных угроз, так и от преднамеренных воздействий. В зависимости от ценности информации, особенностей построения и режимов функционирования КС могут использоваться различные методы дублирования, которые классифицируются по различным признакам.
По времени восстановления информации методы дублирования могут быть разделены на:
оперативные;
неоперативные.
К оперативным методам относятся методы дублирования информации, которые позволяют использовать дублирующую информацию в реальном масштабе времени. Это означает, что переход к использованию дублирующей информации осуществляется за время, которое позволяет выполнить запрос на использование информации в режиме реального времени для данной КС. Все методы, не обеспечивающие выполнения этого условия, относят к неоперативным методам дублирования. По используемым для целей дублирования средствам методы дублирования можно разделить на методы, использующие:
дополнительные внешние запоминающие устройства (блоки);
специально выделенные области памяти на несъемных машинных носителях;
съемные носители информации.
По числу копий методы дублирования делятся на:
одноуровневые;
многоуровневые.
Как правило, число уровней не превышает трех. По степени пространственной удаленности носителей основной и дублирующей информации методы дублирования могут быть разделены на следующие методы:
сосредоточенного дублирования;
рассредоточенного дублирования
Для определенности целесообразно считать методами сосредоточенного дублирования такие методы, для которых носители с основной и дублирующей информацией находятся в одном помещении. Все другие методы относятся к рассредоточенным.
В соответствии с процедурой дублирования различают методы:
полного копирования;
зеркального копирования;
частичного копирования;
комбинированного копирования.
При полном копировании дублируются все файлы. При зеркальном копировании любые изменения основной информации сопровождаются такими же изменениями дублирующей информации. При таком дублировании основная информация и дубль всегда идентичны. Частичное копирование предполагает создание дублей определенных файлов, например, файлов пользователя. Одним из видов частичного копирования, получившим название инкрементного копирования, является метод создания дублей файлов, измененных со времени последнего копирования.
Комбинированное копирование допускает комбинации, например, полного и частичного копирования с различной периодичностью их проведения. Наконец, по виду дублирующей информации методы дублирования разделяются на:
методы со сжатием информации;
методы без сжатия информации.
В качестве внешних запоминающих устройств для хранения дублирующей информации используются накопители на жестких магнитных дисках и магнитных лентах. Накопители на жестких магнитных дисках применяются обычно для оперативного дублирования информации. Наиболее простым методом дублирования данных в КС является использование выделенных областей памяти на рабочем диске. В этих областях дублируется наиболее важная системная информация. Например, таблицы каталогов и таблицы файлов дублируются таким образом, чтобы они были размещены на цилиндрах и поверхностях жесткого диска (пакета дисков), отличных от тех, на которых находятся рабочие таблицы. Такое дублирование защищает от полной потери информации при повреждении отдельных участков поверхности дисков.
Очень надежным методом оперативного дублирования является использование зеркальных дисков. Зеркальным называют жесткий магнитный диск отдельного накопителя, на котором хранится информация, полностью идентичная информации на рабочем диске. Достигается это за счет параллельного выполнения всех операций записи на оба диска. При отказе рабочего накопителя осуществляется автоматический переход на работу с зеркальным диском в режиме реального времени. Информация при этом сохраняется в полном объеме.
