Тема 1.2. Критерии оценки качества ПО.

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

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

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

Разработчики ПС стремятся выделить и определить единый критерий эффективности программ:

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

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

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

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

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

  1. Функциональные критерии качества отражают основную специфику применения и степень соответствия ПС их целевому назначению. Для программ управления в них входят показатели точности выходных данных, диапазоны изменения параметров, время реакции, адаптивность к внешним воздействиям и т.д. В системах обработки данных функциональные показатели отражают номенклатуру исходных данных, достоверность результатов, разнообразие функций и другое. Функциональные критерии весьма различны и соответствуют разнообразию целевого назначения, функций и областей применения ПС. Они являются важнейшими для каждой системы (перечень исходных документов - конкретно).
  2. Конструктивные критерии качества ПС более или менее инвариантны к их целевому назначению и основным функциям. К ним относятся сложность программ, надежность функционирования, используемые ресурсы, корректность программ и т.п. Некоторые конструктивные критерии могут быть важны с позиции прямого функционального назначения, определяемых программными средствами (надежность).

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

Особо следует выделить временные показатели ЖЦ программ:

  1. длительность проектирования
  2. продолжительность эксплуатации очередной версии
  3. длительность проведения каждой модификации

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

Программное обеспечение (softwаrе) на данный момент составляет сотни тысяч программ, которые предназначены для обработки самой разнообразной информация с самыми различными целями. В зависимости от того, какие задачи выполняет то или иное программное обеспечение можно разделять все программное обеспечение на несколько групп:

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

­ Операционные системы

­ Оболочки операционных систем.

­ Программы-утилиты

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

­ текстовые и графические редакторы

­ электронные таблицы

­ системы управления базами данных (СУБД)

­ интегрированные среды

­ обучающие и учебные программы

­ прикладные программы

­ игры

­ мультимедиа и т.д.

  1. Инструментальное ПО (или системы программирования) обеспечивают создание всех классов программ: системных, прикладных и новых систем программирования. Или Инструментальное ПО (или системы программирования) обеспечивает создание новых прикладных программ для компьютера. Это комплексы программ и прочих средств, предназначенных каждый для разработки и эксплуатации программ на конкретном языке программирования для конкретного вида ЭВМ. Системы программирования обычно включают некоторую версию языка программирования, транслятор программ и т.д.