ОТВЕТЫ НА ЭКЗАМЕНАЦИОННЫЕ ВОПРОСЫ
-
Назначение метрического анализа программ. Понятие метрики. Типы метрик и шкал. Понятие критерия оценки качества. Функциональные и конструктивные критерии оценки качества программ.
Характеристика качества программного средства: (software quality characteristic)
- набор свойств ПС, посредством которых описывается и оценивается его качество. Характе-ристика качества ПС может быть определена путем задания иерархии ее подхарактеристик.
Подхарактеристика качества программного средства( software quality subcharacteristic) - характеристика качества ПС, входящая в состав другой характеристики качества.
Показатель качества программного средства (software quality metric) -характеристика качества ПС, обладающая количественным значением.
Критерий оценки качества программного средства (software quality assessment criterion) - совокупность принятых правил и условий, с помощью которых устанавливается приемлемость в целом качества ПС для потребителя.
Критерии качества программ являются показателями, позволяющими на основе количественных оценок группы характеристик программ устанавливать их пригодность в целом для той или иной цели. Изменение доминирующей цели в зависимости от этапов жизненного цикла программ приводит к изменению состава критериев качества программ и степени их важности при анализе.
Для количественной оценки показателей качества ПИ выполняется сбор метрик, являющихся числовыми оценками параметров программы.
Под метрикой , заданной на некотором множестве элементов, понимают отношение, определяющее расстояние между элементами множества {x,y,z,…}, которое имеет следующие свойства:
1) всегда неотрицательно и равно 0, если элементы множества совпадают (аксиома тождества): (x,y) ≥ 0; if ( (x,y) = 0) then x ≡ y
2) симметрично относительно рассматриваемых элементов множества (аксиома коммутативности): (x,y) = (y,x)
3) подчиняется аксиоме треугольника: (x,y) ≤ (x,z) + (z,y) .
Метрики необходимы для упорядочения программных продуктов по выбранным свойствам, которые они характеризуют. В зависимости от особенностей рассматриваемых показателей качества применяются различные виды
метрик и шкал для их измерения.
Первый вид метрик, которому соответствует
интервальная шкала, характеризуется реально измеряемыми физическими показателями, например
-
временем выполнения программы,
-
числом маршрутов в программе,
-
числом таблиц в базе данных,
-
объемом программы и т.д.
Свойства, описываемые такими параметрами, численно представляются наиболее полно, с возможными градациями в пределах точности измерения показателей.
Второй вид метрик (порядковая шкала) позволяет ранжировать некоторые характеристики путем сравнения с опорными значениями. Для объекта измерения устанавливается приоритетность признаков. Различают абсолютные и относительные порядковые метрики, первые из которых показывают больше или меньше значение данного параметра программы по сравнению с опорным, а второй – во сколько раз больше или меньше. Математические преобразования с такими показателями более ограничены, чем у первого вида метрик.
Третий вид метрик (номинальная или категорийная шкала) характеризует только наличие рассматриваемого свойства или признака у программы без учета градации по численным значениям. Например: наличие у программы структурированности, гибкости, простоты освоения и т.д.
Разнообразие возможных критериев и факторов, от которых зависит качество программ на различных этапах, усложняет их использование. Поэтому целесообразно провести классификацию критериев, выделить функциональные и конструктивные критерии качества программ и упорядочить их по этапам жизненного цикла.
Функциональные критерии являются специализированными и отражают специфику областей применения и степень соответствия функций, выполняемых программой, ее целевому назначению.
Для программ управления в них входят
-
показатели точности, диапазоны изменения параметров,
-
время реакции на запрос или выполнения программы,
-
адаптивность к внешним воздействиям и т.д.
В системах автоматизации обработки информации функциональные показатели отражают
-
номенклатуру и объем данных,
-
время обработки простых и сложных запросов,
-
разнообразие функций доступа к данным и редактирования.
Функциональные критерии в том или ином виде характеризуют
эффект от использования программ в конкретных целях с учетом затрат на их создание.
Конструктивные критерии более инвариантны к целевому назначению и основным функциям программы, характеризуют общие свойства программ и позволяют сравнивать качество программ разного назначения. К ним относятся:
-
трудоемкость, сложность программ,
-
надежность функционирования,
-
степень использования ресурсов ЭВМ,
-
корректность и т.д.
Конструктивные критерии зависят не от области применения, а от этапа жизненного цикла программы (ЖЦП). На различных этапах ЖЦП рекомендуется использовать разные критерии:
Критерии этапа разработки
-
Трудоемкость ( статическая сложность )
-
Корректность ( правильность ) программы
Критерии этапа эксплуатации ПП
-
Функциональность
-
Производительность ( ресурсоемкость )
-
Надежность
Критерии этапа сопровождения
-
Трудоемкость
-
Понимаемость программы
-
Производительность программы
-
Надежность
-
Определение и сущность основных характеристик качества программ: функциональности, корректности и надежности, эффективности, сложности, трудоемкости и ресурсоемкости, производительности.
ОБЩИЕ ХАРАКТЕРИСТИКИ КАЧЕСТВА ПРОГРАММНОГО СРЕДСТВА
1. Функциональность программного средства (functionality)
Совокупность свойств ПС, определяемая наличием и конкретными особенностями набора функций, способных удовлетворять заданные или подразумеваемые потребности качества наряду с ее надежностью как технической системы.
2. Удобство использования программного средства (usability)
Совокупность свойств ПС, характеризующая усилия, необходимые для его использования, и оценку результатов его использования заданным кругом пользователей ПС.
3. Эффективность программного средства (efficiency)
Совокупность свойств ПС, характеризующая аспекты его уровня пригодности, которые связаны с характером и временем использования ресурсов, необходимых при заданных условиях функционирования.
Примечание: правильнее эту характеристику называть производительностью (performance); тогда как эффективность дожна также зависеть от затрат на создание и внедрение ПС.
4. Сопровождаемость программного средства(maintainability)
Совокупность свойств ПС, характеризующая усилия, которые необходимы для его модифи-кации. Модификация, может осуществляться для устранения дефектов, усовершенствования ПС или его адаптации к изменениям в условиях функционирования, a также в составе и особенностях требуемых функций.
5. Мобильность программного средства (portability)
Совокупность свойств ПС, характеризующая приспособленность для переноса из одной среды функционирования в другие.
6. Надежность программного средства (reliability)
Совокупность свойств, характеризующая способность программного средства сохранять заданный уровень пригодности в заданных условиях в течение заданного интервала времени.
Помимо перечисленных используются и другие характеристики качества ПС:
-
Корректность или правильность подразумевает соответствие проверяемого объекта некоторому эталонному объекту или совокупности формализованных эталонных характеристик и правил. Корректность программы наиболее полно определяется степенью ее соответствия предъявляемым к ней формализованным требованиям - программной спецификации.
Если
надежность программы - свойство, заложенное при ее изготовлении и проявляющееся при эксплуатации программы во времени (поэтому без длительного наблюдения нельзя сделать заключения о надежности программы), то
корректность может быть проверена в статике на этапе разработки программы.
-
Сложность программ. Рассматривается в трех аспектах:
-
сложность процесса разработки программ;
-
сложность программы как объекта разработки (статическая);
-
сложность выполнения программы (динамическая) – учитывает ресурсы, необходимые для ее выполнения.
-
Трудоемкость - совокупные затраты труда на создание или использование программы.
Различают трудоемкость на этапе проектирования программ и трудоемкость изучения и модификации программ при их сопровождении.
На этапе проектирования основные затраты составляет трудоемкость создания программ заданной сложности и корректности. Трудоемкость зависит от квалификации специалистов, технологии проектирования, степени автоматизации разработки, испытаний и т.д. Трудоемкость изучения и модификации программ при сопровождении определяется степенью документированности программ, уровнем языка программирования, структурностью их построения и другими факторами, связанными с удобством анализа ПС и внесения изменений. Этот критерий влияет на длительность жизни программ. Целесообразность и длительность использования, модернизации и переноса программ сохраняются до тех пор, пока не станет рентабельной новая разработка.
-
Этапы жизненного цикла программ и обеспечение качества программ на различных этапах. Характеристика статических и динамических составляющих качества программ.
Конструктивные критерии зависят не от области применения, а от этапа жизненного цикла программы (ЖЦП). На различных этапах ЖЦП рекомендуется использовать разные критерии:
Критерии этапа разработки
-
Трудоемкость ( статическая сложность )
-
Корректность ( правильность ) программы
Критерии этапа эксплуатации ПП
-
Функциональность
-
Производительность ( ресурсоемкость )
-
Надежность
Критерии этапа сопровождения
-
Трудоемкость
-
Понимаемость программы
-
Производительность программы
-
Надежность
В заключение рассмотрим основные компоненты, влияющие в целом на обеспечение заданного качества программных продуктов, состав которых показан на рис.1. На рисунке для трех основных составляющих качества ПП приведены метрики, определяющие качество ПП на уровне этой компоненты, и способ их использования для обеспечения высокого качества ПП.
следующая страница>