Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

otvety_118

.pdf
Скачиваний:
55
Добавлен:
01.04.2015
Размер:
1.71 Mб
Скачать

1

1. РНР как средство разработки проектов

Общие понятия

Язык PHP специально предназначен для веб-программирования. PHP сочетает достоинства языков C и Perl и при этом весьма прост в изучении и обладает значительными преимуществами перед традиционными языками программирования.

Синтаксис PHP очень напоминает синтаксис языка C и во многом заимствован из таких языков как Java и Perl.

Программист С очень быстро освоит язык PHP и сможет использовать его с максимальной эффективностью.

В принципе, в PHP есть практически все операторы и функции, имеющиеся в стандартном GNU С (или их аналоги), например есть циклы (while, for), операторы выбора (if, switch), функции работы с файловой системой и процессами (fopen, *dir, stat, unlink, popen, exec), функции ввода-

вывода (fgets,fputs,printf) и множество других...

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

Типы данных в PHP

PHP поддерживает восемь простых типов данных: Четыре скалярных типа:

-boolean (двоичные данные)

-integer (целые числа)

-float (числа с плавающей точкой или 'double')

-string (строки)

Два смешанных типа:

-array (массивы)

-object (объекты)

И два специальных типа: resource (ресурсы)

NULL ("пустые")

Существуют также несколько псевдотипов:

-mixed (смешанные)

-number (числа)

-callback (обратного вызова)

Управляющие конструкции языка PHP Основными конструкциями языка PHP являются:

1.Условные операторы (if, else);

2.Циклы (while, do-while, for, foreach, break, continue);

3.Конструкции выбора (switch);

4.Конструкции объявления (declare);

5.Конструкции возврата значений (return);

6.Конструкции включений (require, include).

7.Пользовательские функции в PHP

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

9.В PHP такими подпрограммами являются пользовательские функции.

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

PHP известен, как серверный язык программирования. Это означает, что он работает на веб-сервере. Большинство языков веб-программирования являются серверными языками, но некоторые, например, JavaScript, работают на стороне клиента, это означает, что они работают на веб-браузере.

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

2

Выполнение кода со стороны сервера является более безопасным способом, чем на стороне клиента, как это делает JavaScript. Поскольку код JavaScript отправляется в веббраузер, для посетителей сайта легко его просмотреть и редактировать.

Код находящийся на стороне сервера остаѐтся веб-сервере и недоступен для посетителей

сайта.

PHP это инструмент, который находится на веб-сервере и там выполняет PHP скрипты. PHP - программное обеспечение с открытым исходным кодом

PHP представляет собой программное обеспечение с открытым исходным кодом.

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

Вы обнаружите, что подавляющее большинство веб-хостингов поддерживают работу

PHP.

PHP ориентирован на разработку веб-приложений

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

Считывание и обработка веб-форм и куки-файлов

Функции создания и работы с графикой

Установка связи с популярными базами данных такими, как MySQL и

Функции для работы с HTML.

Вы можете смешивать PHP код с HTML-кодом

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

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

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

Использование PHP

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

Программное обеспечение для ведения блогов таких, как WordPress

Системы электронной коммерции Magento

Система управления контентом, в том числеDrupal и Joomla! и

Программное обеспечение для ведения форумов, например, phpBB.

Кроме того, многие популярные веб-сайты, в том числе Yahoo!, Википедия, Facebook, Digg разработаны с использованием PHP.

Альтернативы PHP

Если вы не склонны использовать PHP, то есть много аналогичных доступных языков программирования. Некоторые серверные языки, включают:

Perl

ASP и его преемник, ASP.NET

Python

Ruby и

Java.

2. Основные подходы к отладке. Отладка кода и обработка ошибок. Принципы комплексной обработки ошибок.

Тестирование программного средства (ПС) - это процесс выполнения программ на некотором наборе данных, для которого заранее известен результат применения или известны правила поведения этих программ. Указанный набор данных называется тестовым или просто тестом. Тестирование программ является одной из составных частей более общего понятия - «отладка программ». Под отладкой понимается процесс, позволяющий получить программу, функционирующую с требующимися характеристиками в заданной области изменения входных данных.

3

Процесс отладки включает:

 действия, направленные на выявление ошибок (тестирование);  диагностику и локализацию ошибок (определение характера ошибок и их

местонахождение);  внесение исправлений в программу с целью устранения ошибок.

3. Оценка трудоемкости создания ПО: методы оценки и их классификация, средства оценки трудоемкости.

Модели и методы оценки трудоѐмкости используются для:

разработки бюджета проекта

анализа степени риска и выбора компромиссного решения

планирования и управления проектом

анализа затрат на улучшение качества ПС

Последствия неадекватной оценки трудоемкости

Недооценка стоимости, времени и ресурсов

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

разработки

нарушение графика, утрата доверие к разработчику

Переоценка

проект более дорогостоящий

Методы оценки трудоемкости:

Алгоритмическое моделирование

анализ статистических данных о ранее выполненных проектах

определяется зависимость трудоѐмкости проекта от какого-нибудь количественного показателя программного продукта

оценка этого показателя для данного проекта

Экспертные оценки

опрос нескольких экспертов

сравнивание оценок

повторение до согласия

Оценка по аналогии

сравнение планируемого проекта с предыдущими проектами

эксперты вычисляют высокую, низкую и наиболее вероятную оценку

трудоѐмкости

Закон Паркинсона

усилия, затраченные на работу, распределяются равномерно по выделенному на проект времени

критерием являются человеческие ресурсы

Оценка с целью выиграть контракт

трудоѐмкость проекта зависит от бюджета заказчика

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

бюджета Основные параметры для определения трудоѐмкости разработки ПС:

размер конечного продукта

особенности процесса, используемого для получения конечного продукта

возможности персонала, участвующего в разработке ПС

среда (инструментарий + методы)

требуемое качество продукта

Определение трудоѐмкости:

Трудоѐмкость = (Персонал) * (Среда) * (Качество) * (Размер Процесс) Процедура оценки трудоѐмкости разработки ПС:

1.оценка размера разрабатываемого продукта

4

2.оценка трудоѐмкости в человеко-месяцах или человеко-часах

3.оценка продолжительности проекта в календарных месяцах

4.оценка стоимости проекта

Основные единицы измерения размера ПС:

количество строк кода (LOC – Lines of Code)

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

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

не линейная зависимость к затрачиваемым усилиям

функциональные точки (FP – Function Points)

трудоѐмкость вычисляется на основе функциональности разрабатываемого ПО

4. Безопасность данных в информационных системах, реализованная средствами

СУБД

Исследования проблем информационной безопасности (см., например, [1]) показывают, что среди максимальных по объему потерь различных организаций от атак разных видов есть такие, которые напрямую являются следствием недостаточной защиты информации в базах данных (БД), а именно:

кража конфиденциальных данных;

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

Проблема защиты данных в СУБД, как и в любой другой информационной системе, может быть разложена на три задачи по обеспечению:

конфиденциальности данных;

целостности данных;

доступности данных.

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

Объекты защиты Для начала рассмотрим, на каких уровнях можно защитить информацию в БД, т. е.

определим объекты защиты. Во-первых, мы можем защищать данные, хранящиеся в различных структурных элементах БД, т. е. защищать (см. рис. 1):

целиком базы данных;

отдельные таблицы БД;

записи конкретных таблиц БД;

значения конкретных полей таблиц или записей.

Рис. 1. Защита элементов БД Во-вторых, логические структурные элементы БД физически хранятся на жестких

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

файлы данных;

программные модули СУБД (от модификации и внедрения программных закладок, изменяющих логику работы СУБД в каких-либо целях атакующего);

5

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

Защищать программные модули, а также информацию, хранящуюся на жестком диске и передаваемую по сети, можно точно так же, как и любую аналогичную информацию, не относящуюся к СУБД. Например, с помощью моделей доступа, а также с помощью криптографических методов:

шифрование файлов и сетевого трафика поможет обеспечить конфиденциальность;

методы контроля целостности (например, хэширование) позволят сохранять целостность данных и программных модулей.

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

икажется необходимым использовать специфичные для БД методы защиты, в частности:

представления (views);

триггеры;

встроенные функции шифрования данных.

Рассмотрим поочередно данные методы. Представления

«Представление – это поименованная динамически поддерживаемая сервером выборка из одной или нескольких таблиц» [1]. Иными словами, представление является виртуальной таблицей, все записи которой формируются в процессе обращения пользователя к представлению согласно тому запросу, который был сопоставлен данному представлению. Таким образом, пользователь получает доступ не к целой таблице (или к нескольким таблицам), а, в простейшем случае, к совокупности столбцов или записей, которые определены в представлении.

Например, существует таблица, которая содержит основную информацию о преподавателях института:

Prep

NP

Name

Position

ChartNum

Salary

 

 

 

 

 

1

Иванов

Доцент

403

20 000

 

 

 

 

 

2

Петров

Ст. преп.

556

10 000

 

 

 

 

 

3

Сидоров

Профессор

212

30 000

 

 

 

 

 

И есть три сотрудника института, которым необходимы данные из этой таблицы:

работник кадровой службы, который не должен иметь доступ к столбцу зарплаты

(salary);

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

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

главный бухгалтер работает непосредственно с таблицей Prep;

работник кадровой службы работает с представлением PrepView1, в котором отсутствует столбец Salary;

работник бухгалтерии работает с представлением PrepView2, в котором отсутствуют записи о преподавателях с высокой зарплатой.

Упомянутые представления PrepView1 и PrepView2 могут быть созданы следующими простыми запросами (использована нотация СУБД MySQL 5.0 [2]):

CREATE VIEW PrepView1 AS SELECT NP, Name, Position, ChartNum FROM Prep;

CREATE VIEW PrepView2 AS SELECT NP, Name, Position, ChartNum, Salary FROM Prep WHERE Salary <= 20000;

6

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

четко ограничить данные, доступные пользователю;

контролировать тот набор данных, который пользователь имеет право модифицировать.

Триггеры

«Триггер (trigger) – это хранимая процедура особого типа, которую пользователь не вызывает непосредственно, а исполнение которой обусловлено наступлением определенного события (действием) – по сути добавлением INSERT или удалением DELETE строки в заданной таблице, или модификации UPDATE данных в определенном столбце заданной таблицы реляционной базы данных» [3].

Таким образом, триггер – это некая подпрограмма, срабатывающая автоматически в случае модификации данных в таблице. Причем, триггер может срабатывать как до, так и после наступления конкретного события, что определяется ключевыми словами AFTER и BEFORE соответственно.

Сточки зрения защиты данных в БД триггеры позволяют:

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

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

В [3] приведен пример простейшего триггера, который записывает в таблицу аудита (info) информацию о произошедшем изменении строки таблицы district, для которой определяется триггер (нотация СУБД Oracle):

CREATE OR REPLACE TRIGGER DistrictUpdatedTrigger AFTER UPDATE ON district FOR EACH ROW

BEGIN

INSERT INTO info VALUES ('one string in table "district" has changed'); END;

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

Функции шифрования Стоит отметить, что встроенные функции шифрования присутствуют далеко не во всех

СУБД. Следовательно, универсальным данный метод назвать нельзя.

Рассмотрим функции шифрования на примере СУБД MySQL 5.0 [2]. Данная СУБД предлагает два однотипных набора функций шифрования, в одном из которых реализован алгоритм DES, а в другом – AES. Кроме того, в MySQL реализовано несколько алгоритмов хэширования. Набор криптографических функций данной СУБД выглядит так:

 

Функция

Назначение

 

 

 

 

AES_ENC

Зашифрование данных

 

RYPT()

алгоритмом AES.

 

 

 

 

AES_DEC

Расшифрование данных

 

RYPT()

алгоритмом AES.

 

 

 

 

DES_ENC

Зашифрование данных

 

RYPT()

алгоритмом DES.

 

 

 

7

 

DES_DEC

Расшифрование данных

 

RYPT()

алгоритмом DES.

 

 

 

 

ENCRYPT

Зашифрование данных

 

()

функцией crypt().

 

 

 

 

MD5()

Хэширование данных

 

 

алгоритмом MD5.

 

 

 

 

SHA1()

Хэширование данных

 

или SHA()

алгоритмом SHA-1.

 

 

 

Функции шифрования данных алгоритмом AES используют 128-битный ключ шифрования, т. е. шифрование ключами размером 192 и 256 бит, предусмотренными стандартом AES [4], в MySQL не реализовано. Ключ шифрования задается явным образом как один из параметров функции.

В отличие от них, функции DES_ENCRYPT() и DES_DECRYPT(), которые шифруют алгоритмом TripleDES, помимо явного задания ключа шифрования, допускают простейший вариант управления ключами в виде ключевого файла, содержащего пронумерованные значения ключей. Однако, данные функции по умолчанию выключены, для их использования необходимо включить поддержку протокола SSL в конфигурации СУБД.

Функция ENCRYPT() может быть использована только в операционных системах семейства Unix, поскольку она шифрует данные с помощью системного вызова crypt(). Что касается используемых функций хэширования, то в документации на MySQL [2]

содержится предупреждение о том, что лежащие в их основе алгоритмы взломаны (подробно об этом написано, в частности, в [5]), поэтому использовать их следует с осторожностью. Однако, MySQL пока не предлагает более стойких функций хэширования взамен существующих. Перечисленные выше криптографические функции также весьма просты в использовании. Например, следующий запрос помещает в таблицу table значение ―text‖, зашифрованное на ключе ―password‖ [2]:

INSERT INTO table VALUES ( 1, AES_ENCRYPT( 'text', 'password' ) ).

Отметим, что формат поля, в которое записывается зашифрованное значение, должен соответствовать ограничениям, накладываемым используемым криптоалгоритмом – в данном случае, оно должно быть двоичным (например, типа VARBINARY) и предполагать выравнивание в соответствии со 128-битным размером блока алгоритма AES.

Как правильно защищать базы данных?

Мероприятия по защите ПД немногим отличаются от общепринятого подхода по защите информации, ограниченного доступа. Итак, комплексный подход к защите БД состоит из последовательных этапов, среди них:

определение адекватной модели угроз;

оценка рисков;

разработка системы защиты на ее основе с использованием методов, предусмотренных для соответствующего класса информационных систем (ИС);

проверка готовности систем защиты информации (СЗИ) с оформлением соответствующей документации (описание системы, правила работы, регламенты и т.д.), в том числе заключения о возможности эксплуатации данной СЗИ;

установка и ввод в эксплуатацию СЗИ;

учет применяемых СЗИ, технической документации к ним, а также носителей ПД;

учет лиц, допущенных к работе с ПД в ИС;

разработка полного описания системы защиты ПД;

контроль использования СЗИ.

При этом традиционно применяют две составляющих построения системы защиты информации: организационные меры и технические средства защиты. Причем, основная роль здесь принадлежит именно оргмерам. Судите сами, для того, чтоб организовать систему защиты БД, необходимо, как минимум, провести инвентаризацию информационных ресурсов,

8

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

Все эти мероприятия следует описать и утвердить в нормативно-распорядительной документации. При этом очень важна поддержка руководства для последовательного проведения в жизнь выработанной политики безопасности. Очевидно, что лучшей практикой является подписание каждым сотрудником отдельного соглашения по работе с информацией ограниченного доступа. В крайнем случае, в обязательном порядке сотрудники должны быть проинструктированы, что, в свою очередь, должно быть подтверждено подписью "ознакомлен" с указанием ФИО, должности сотрудника во всех приказах и распоряжениях.

Перейдем к рассмотрению технических средств защиты БД, содержащей персональные данные, более подробно.

Основные компоненты системы защиты баз данных Классическая схема защиты баз данных (БД) подразделяется на следующие

обязательные процедуры:

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

Защита доступа - доступ к данным может получить пользователь, прошедший процедуру идентификации и аутентификации.

Шифрование данных - шифровать необходимо как передаваемые в сети данные для защиты от перехвата, так и данные, записываемые на носитель, для защиты от кражи носителя и несанкционированного просмотра/изменения не-средствами системы управления БД (СУБД).

Аудит доступа к данным - действия с критичными данными должны протоколироваться. Доступ к протоколу не должны иметь пользователи, на которых он ведется.

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

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

5. Эффективность ИС

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

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

При этом общая характеристика системы управления может определяться следующим набором параметров:

среднее время выработки решения (быстрота реакции);

частота ошибочных решений (вероятность принятия неправильного решения);

средние затраты на выработку решения;

ущерб от необоснованных решений за определенный период;

скорость обнаружения ошибок в принимаемых решениях.

Существует множество подходов к этому вопросу.

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

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

9

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

Экономическая (финансовая, бюджетная) эффективность определяется соотношением затрат и результатов в стоимостном выражении. Ключевыми факторами экономической эффективности являются:

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

снижение текущих производственных (эксплуатационных) затрат;

снижение административно-управленческих затрат;

минимизация налоговых и других обязательных выплат;

снижение потребности в капитальных затратах;

увеличение оборачиваемости текущих активов.

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

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

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

6. Надежность информационных систем

Качество информационной системы Качество информационной системы — это совокупность свойств системы,

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

3.3.1. Надежность Этосвойство системы сохранять во времени в установленных пределах значения всех

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

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

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

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

Безотказность - свойство системы сохранять работоспособное состояние в течение некоторого времени или наработки (наработка - продолжительность или объем работы системы).

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

ивосстановлению работоспособного состояния путем проведения технического обслуживания

иремонтов.

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

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

10

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

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

Для обеспечения надежности технических средств чаще всего выполняется:

1)резервирование (дублирование) технических средств (компьютеров и их компонентов, сегментов сетей и т. д.);

2)использование стандартных протоколов работы устройств ИС;

3)применение специализированных технических средств защиты информации.

Для обеспечения надежности функционирования программного комплекса ИС выполняется:

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

2)использование стандартных протоколов, интерфейсов, библиотек процедур, лицензионных программных продуктов;

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

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

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

Основные стандартизованные определения показателей надежности

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

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

Безотказность – свойство системы или элемента непрерывно сохранять работоспособное состояние в течение некоторого времени или некоторой наработки.

^ Под наработкой понимают объем работы объекта (системы).

Сохраняемость – свойство системы непрерывно сохранять исправное, работоспособное состояние в течение всего времени хранения.

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

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

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]