Надежность программного средства (reliability)

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

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

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

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

2. Сложность программ. Рассматривается в трех аспектах:

¨ сложность процесса разработки программ;

¨ сложность программы как объекта разработки (статическая);

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

3. Трудоемкость- совокупные затраты труда на создание или использование программы.

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

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

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

Для количественной оценки показателей качества ПИ выполняется сбор метрик, являющихся числовыми оценками параметров программы.

В зависимости от характеристик и особенностей показателя качества применяются различные виды метрик и шкал для их измерения.

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

· временем выполнения программы,

· числом маршрутов в программе,

· числом таблиц в базе данных,

· объемом программы и т.д.

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

Второй вид метрик (порядковая шкала) позволяет ранжировать некоторые характеристики путем сравнения с опорными значениями. Для объекта измерения устанавливается приоритетность признаков. Различают абсолютные и относительные порядковые метрики, первые из которых показывают больше или меньше значение данного параметра программы по сравнению с опорным, а второй – во сколько раз больше или меньше. Математические преобразования с такими показателями более ограничены, чем у первого вида метрик.

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

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

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

Для программ управления в них входят:

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

· время реакции на запрос или выполнения программы,

· адаптивность к внешним воздействиям и т.д.

В системах автоматизации обработки информации функциональные показатели отражают:

· номенклатуру и объем данных,

· время обработки простых и сложных запросов,

· разнообразие функций доступа к данным и редактирования.

Функциональные критерии в том или ином виде характеризуют эффект от использования программ в конкретных целях с учетом затрат на их создание.

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

· трудоемкость, сложность программ,

· надежность функционирования,

· степень использования ресурсов ЭВМ,

· корректность и т.д.

Конструктивные критерии зависят не от области применения, а от этапа жизненного цикла программы (ЖЦП). На различных этапах ЖЦП рекомендуется использовать разные критерии:

Критерии этапа разработки

1. Трудоемкость ( статическая сложность )

2. Корректность ( правильность ) программы