Основные определения в области качества и надежности программного обеспечения (ПО) ИС
Согласно ГОСТ ISO 9126: 1991 модель характеристик качества ПО состоит из 6 групп базовых показателей, каждая из которых детализирована несколькими нормативными субхарактеристиками:
Функциональная пригодность детализируется:
· пригодностью для применения;
· корректностью (правильностью, точностью);
· способностью к взаимодействию;
· защищенностью.
Надежность характеризуется:
· уровнем завершенности ( отсутствием ошибок);
· устойчивостью к дефектам;
· восстанавливаемостью;
· доступностью-готовностью.
Эффективность рекомендуется отражать:
· временной эффективностью;
· используемостью ресурсов.
Применимость( практичность) предлагается описывать:
· понятностью;
· простотой использования;
· изучаемостью;
· привлекательностью.
Сопровождаемость представляется:
· удобством для анализа;
· изменяемостью;
· стабильностью;
· тестируемостью
Переносимость( мобильность) предлагается отображать:
· адаптируемостью;
· простотой установки – инсталяции;
· сосуществованием – соответствием;
· замещаемостью.
Рассматривая надежность программного обеспечения и пытаясь применить разработанные для технических объектов положения теории надежности (ТН), следует учитывать особенности и отличия ПО от традиционных технических систем. Приведем основные отличия [1.4].
1. Не для всех типов программ применимы положения ТН. Их можно использовать только для ПО, работающего в реальном времени и непосредственно взаимодействующего с внешней средой.
2. Основным фактором, определяющим надежность ПО, являются дефекты и ошибки проектирования и разработки, а не физическое разрушение программных компонент под влиянием внешней среды.
3. Специфика понятия отказа ПО – это утрата работоспособности по причине несовершенства программного обеспечения. Но идеального программного обеспечения не существует. Знания о возможных отказах ПО априорно отсутствуют. При исправлении ошибок в программах надежность ПО может быть снижена.
4. Понятие отказа и сбоя ПО разделяются по длительности периода восстановления относительно некоторого допустимого времени простоя при функционировании информационных систем.
5. Для повышения надежности комплексов ПО особое значение имеют средства временной, информационной и программной избыточности, которые уменьшают время восстановления ПО и преобразуют отказы в кратковременные сбои.
6. Непредсказуемость места, времени и вероятности проявления сбоев и ошибок ПО, а также их редкое обнаружение при реальной эксплуатации надежного ПО. Поэтому традиционные методы априорного расчета показателей надежности технических систем для программ отсутствуют.
Как указано выше, стандарт ISO 9126 рекомендует анализировать и учитывать надежность комплексов программ четырьмя характеристиками: уровнем завершенности, устойчивостью к дефектам, восстанавливаемостью, доступностью - готовностью.
Завершенность - свойство программного обеспечения не попадать в состояние отказа вследствие скрытых ошибок и дефектов в программах и данных. Завершенность ПО определяется качеством тестового покрытия как отдельных компонентов ПО, так и системы ПО в целом.
Устойчивость – свойство ПО автоматически поддерживать заданный уровень качества при проявлениях дефектов или ошибок функционирования или нарушениях установленного интерфейса. Для повышения устойчивости в ПО должна вводиться временная, информационная и программная избыточность, которая обеспечивает оперативное обнаружение ошибок и автоматическое восстановление нормального функционирования ПО.
Восстанавливаемость - свойство ПО в случае отказа возобновлять требуемый уровень качества функционирования, а также поврежденные программы и данные. Восстанавливаемость характеризуется полнотой и длительностью восстановления после сбоев и отказов.
Доступность или готовность - свойство ПО быть в состоянии выполнить требуемую функцию в данный момент времени при заданных условиях использования. Доступность определяется комбинацией вышеперечисленных свойств: завершенностью, устойчивостью к ошибкам и восстанавливаемостью.