Надежность программного средства (reliability)
Совокупность свойств, характеризующая способность программного средства сохранять заданный уровень пригодности в заданных условиях в течение заданного интервала времени.
Помимо перечисленных используются и другие характеристики качества ПС:
1. Корректность или правильность подразумевает соответствие проверяемого объекта некоторому эталонному объекту или совокупности формализованных эталонных характеристик и правил. Корректность программы наиболее полно определяется степенью ее соответствия предъявляемым к ней формализованным требованиям - программной спецификации.
Если надежность программы - свойство, заложенное при ее изготовлении и проявляющееся при эксплуатации программы во времени (поэтому без длительного наблюдения нельзя сделать заключения о надежности программы), то корректность может быть проверена в статике на этапе разработки программы.
2. Сложность программ. Рассматривается в трех аспектах:
¨ сложность процесса разработки программ;
¨ сложность программы как объекта разработки (статическая);
¨ сложность выполнения программы (динамическая) – учитывает ресурсы, необходимые для ее выполнения.
3. Трудоемкость- совокупные затраты труда на создание или использование программы.
Различают трудоемкость на этапе проектирования программ и трудоемкость изучения и модификации программ при их сопровождении.
На этапе проектирования основные затраты составляет трудоемкость создания программ заданной сложности и корректности. Трудоемкость зависит от квалификации специалистов, технологии проектирования, степени автоматизации разработки, испытаний и т.д. Трудоемкость изучения и модификации программ при сопровождении определяется степенью документированности программ, уровнем языка программирования, структур-ностью их построения и другими факторами, связанными с удобством анализа ПС и внесения изменений. Этот критерий влияет на длительность жизни программ. Целесообразность и длительность использования, модернизации и переноса программ сохраняются до тех пор, пока не станет рентабельной новая разработка.
Критерии качества программ являются показателями, позволяющими на основе количественных оценок группы характеристик программ устанавливать их пригодность в целом для той или иной цели. Изменение доминирующей цели в зависимости от этапов жизненного цикла программ приводит к изменению состава критериев качества программ и степени их важности при анализе.
Для количественной оценки показателей качества ПИ выполняется сбор метрик, являющихся числовыми оценками параметров программы.
В зависимости от характеристик и особенностей показателя качества применяются различные виды метрик и шкал для их измерения.
Первый вид метрик, которому соответствует интервальная шкала, характеризуется реально измеряемыми физическими показателями, например:
· временем выполнения программы,
· числом маршрутов в программе,
· числом таблиц в базе данных,
· объемом программы и т.д.
Свойства, описываемые такими параметрами, численно представляются наиболее полно, с возможными градациями в пределах точности измерения показателей.
Второй вид метрик (порядковая шкала) позволяет ранжировать некоторые характеристики путем сравнения с опорными значениями. Для объекта измерения устанавливается приоритетность признаков. Различают абсолютные и относительные порядковые метрики, первые из которых показывают больше или меньше значение данного параметра программы по сравнению с опорным, а второй – во сколько раз больше или меньше. Математические преобразования с такими показателями более ограничены, чем у первого вида метрик.
Третий вид метрик (номинальная или категорийная шкала) характеризует только наличие рассматриваемого свойства или признака у программы без учета градации по численным значениям. Например: наличие у программы структурированности, гибкости, простоты освоения и т.д.
Разнообразие возможных критериев и факторов, от которых зависит качество программ на различных этапах, усложняет их использование. Поэтому целесообразно провести классификацию критериев, выделить функциональные и конструктивные критерии качества программ и упорядочить их по этапам жизненного цикла.
Функциональные критерии являются специализированными и отражают специфику областей применения и степень соответствия функций, выполняемых программой, ее целевому назначению.
Для программ управления в них входят:
· показатели точности, диапазоны изменения параметров,
· время реакции на запрос или выполнения программы,
· адаптивность к внешним воздействиям и т.д.
В системах автоматизации обработки информации функциональные показатели отражают:
· номенклатуру и объем данных,
· время обработки простых и сложных запросов,
· разнообразие функций доступа к данным и редактирования.
Функциональные критерии в том или ином виде характеризуют эффект от использования программ в конкретных целях с учетом затрат на их создание.
Конструктивные критерии более инвариантны к целевому назначению и основным функциям программы, характеризуют общие свойства программ и позволяют сравнивать качество программ разного назначения. К ним относятся:
· трудоемкость, сложность программ,
· надежность функционирования,
· степень использования ресурсов ЭВМ,
· корректность и т.д.
Конструктивные критерии зависят не от области применения, а от этапа жизненного цикла программы (ЖЦП). На различных этапах ЖЦП рекомендуется использовать разные критерии:
Критерии этапа разработки
1. Трудоемкость ( статическая сложность )
2. Корректность ( правильность ) программы