Основные определения в области качества и надежности программного обеспечения (ПО) АСОИУ

Согласно ГОСТ ISO 9126: 1991 модель характеристик качества ПО состоит из 6 групп базовых показателей, каждая из которых детализирована несколькими нормативными субхарактеристиками:

Функциональная пригодность детализируется:

· пригодностью для применения;

· корректностью (правильностью, точностью);

· способностью к взаимодействию;

· защищенностью.

Надежность характеризуется:

· уровнем завершенности (отсутствием ошибок);

· устойчивостью к дефектам;

· восстанавливаемостью;

· доступностью-готовностью.

Эффективность рекомендуется отражать:

· временной эффективностью;

· используемостью ресурсов.

Применимость ( практичность) предлагается описывать:

· понятностью;

· простотой использования;

· изучаемостью;

· привлекательностью.

Сопровождаемость представляется:

· удобством для анализа;

· изменяемостью;

· стабильностью;

· тестируемостью

Переносимость( мобильность) предлагается отображать:

· адаптируемостью;

· простотой установки – инсталляции;

· сосуществованием – соответствием;

· замещаемостью.

Для того чтобы использовать разработанные для аппаратуры положения теории надежности (ТН) для анализа надежности программного обеспечения, следует учитывать особенности и отличия ПО от традиционных технических систем. Приведем основные отличия программного обеспечения как объекта исследования ТН [1.5].

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

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

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

4. Понятие отказа и сбоя ПО разделяются по длительности периода восстановления относительно некоторого допустимого времени простоя при функционировании информационных систем.

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

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

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

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

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

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

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