Добавил:
ivanov666
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Технологии и методы программирования. Учебное пособие-1
.pdf
отдельная характеристика (например, удобство использования или
надежность).
Окончательная оценка качества проводится в соответствии со стандартом ГОСТ Р ИСО/МЭК 25040–2014 [85]. Качество может повышаться за счет постоянного улучшения используемого продукта в связи
с процессами обнаружения, устранения и предотвращения сбоев/ дефектов в ПО.
МОДЕЛЬ КАЧЕСТВА ПО
Модель качества – определенное множество характеристик и взаимосвязей между ними, которые обеспечивают основу для задания требований к качеству и для оценки качества [86].
Модель качества ПО имеет четыре уровня детализации.
ПЕРВЫЙ УРОВЕНЬ соответствует определению характеристик
(показателей) качества для ПО, каждая из них отражает отдельную
точку зрения пользователя на качество. В
соответствии с [85] определено восемь характеристик, или восемь показателей качества в стандартной модели качества.
Характеристики качества программного обеспечения – набор
свойств (атрибутов) программной продукции, по которым ее качество
описывается и оценивается. Характеристики качества программного
обеспечения могут быть уточнены на множестве комплексных показателей (подхарактеристик), относящихся к конкретным свойствам программного продукта
.
1. Функциональная пригодность – степень, в которой продукт или
система обеспечивает выполнение функции в соответствии с заявленными и подразумеваемыми потребностями при использовании в указанных условиях. К атрибутам функциональной пригодности относятся:
функциональная полнота – степень покрытия совокупностью
функций всех определенных задач и целей пользователя;
функциональная корректность – степень обеспечения продуктом
или
системой необходимой точности корректных результатов;
функциональная целесообразность – степень функционального
упрощения выполнения определенных задач и достижения целей (для
решения задачи пользователю предоставляется возможность выполнять
только необходимые шаги, исключая любые ненужные).
81

2. Уровень производительности – производительность относительно суммы использованных при определенных условиях ресурсов,
включая другие программные продукты, конфигурацию программного
и аппаратного обеспечения системы и материалы (например, бумагу для
печати, носители). К атрибутам уровня производительности относятся:
временные характеристики – степень соответствия требованиям
по времени отклика, времени обработки и показателей пропускной способности продукта
или системы;
использование ресурсов – степень удовлетворения требований по
потреблению объемов и видов ресурсов продуктом или системой при
выполнении их функций;
потенциальные возможности – степень соответствия требова-
ниям предельных значений параметров продукта или системы (количество параллельно работающих пользователей, емкость канала, пропускная способность по транзакциям и размер базы данных).
3.
Совместимость – способность продукта, системы или компонента обмениваться информацией с другими продуктами, системами
или компонентами и/или выполнять требуемые функции при совместном использовании одних и тех же аппаратных средств или программной среды. К атрибутам совместимости относятся:
сосуществование (совместимость) – способность продукта сов-
местно функционировать с другими независимыми продуктами
в общей
среде с разделением общих ресурсов и без отрицательного влияния на
любой другой продукт;
функциональная совместимость (интероперабельность) – спо-
собность двух или более систем, продуктов или компонентов обмениваться информацией и использовать такую информацию.
4. Удобство использования – степень, с которой продукт или си-
стема может быть использован определенными пользователями для
достижения конкретных целей с эффективностью, результативностью и
удовлетворенностью в заданном контексте. Удобство использования
включает атрибуты:
определимость пригодности - возможность пользователей по-
нять, подходит ли продукт или система для их потребностей, сравним
ли с функциональной целесообразностью;
изучаемость – возможность использования продукта или системы
определенными пользователями для достижения конкретных целей
82

обучения по эксплуатации продукта или системы с эффективностью, результативностью, свободой от риска и в соответствии с требованиями
в указанном контексте использования;
управляемость – наличие в продукте или системе атрибутов
(свойств), обеспечивающих простое управление и контроль;
защищенность от ошибки пользователя – уровень системной за-
щиты пользователей от ошибок.
эстетика
пользовательского интерфейса – степень «приятно-
сти» и «удовлетворенности» пользователя интерфейсом взаимодействия с пользователем (использование цвета и естественного графического дизайна);
доступность – возможность использования продукта или си-
стемы для достижения определенной цели в указанном контексте широким кругом людей с самыми разными возможностями.
5. Надежность – степень выполнения системой, продуктом или
ком-
понентом определенных функций при указанных условиях в течение
установленного периода времени. Надежность включает атрибуты:
завершенность – степень соответствия системы, продукта или ком-
понента при нормальной работе требованиям надежности;
готовность – степень работоспособности и доступности системы,
продукта или компонента (готовность можно оценить как долю общего
времени, в течение которого система, продукт или
компонент находятся
в работающем состоянии);
отказоустойчивость – способность системы, продукта или компонента работать как предназначено, несмотря на наличие дефектов программного обеспечения или аппаратных средств;
восстанавливаемость – способность продукта или системы восстановить данные и требуемое состояние системы в случае прерывания или сбоя.
6. Защищенность – степень защищенности информации и данных,
обеспечиваемая
продуктом или системой путем ограничения доступа
людей, других продуктов или систем к данным в соответствии с типами
и уровнями авторизации. Защищенность характеризуется атрибутами:
конфиденциальность – обеспечение продуктом или системой
ограничения доступа к данным только для тех, кому доступ разрешен;
целостность – степень предотвращения системой, продуктом или
компонентом несанкционированного доступа или модификации
компь-
ютерных программ или данных;
83

неподдельность – степень, с которой может быть доказан факт со-
бытия или действия таким образом, что этот факт не может быть отвергнут когда-либо позже;
отслеживаемость – степень, до которой действия объекта могут
быть прослежены однозначно;
подлинность – степень достоверности тождественности объекта
или ресурса требуемому объекту или ресурсу.
7. Сопровождаемость,
модифицируемость – результативность
и эффективность, с которыми продукт или система могут быть модифицированы предполагаемыми специалистами по обслуживанию. Характеристика сопровождаемости содержит следующие атрибуты:
модульность – степень представления системы или компьютер-
ной программы в виде отдельных блоков таким образом, чтобы изменение одного компонента оказывало минимальное воздействие на другие
компоненты;
возможность
многократного использования – степень, в которой
актив (документы требований, модули исходного кода, определения измерений и т. д.) может быть использован в нескольких системах или
в создании других активов;
модифицируемость – степень простоты эффективного и рацио-
нального изменения продукта или системы без добавления дефектов
и снижения качества продукта;
тестируемость – степень
простоты эффективного и рационального определения для системы, продукта или компонента критериев тестирования, а также простоты выполнения тестирования с целью определения соответствия этим критериям.
8. Переносимость, мобильность – степень простоты эффективного
и рационального переноса системы, продукта или компонента из одной
среды (аппаратных средств, программного обеспечения, операционных
условий или условий использования)
в другую. К атрибутам переноси-
мости относятся:
адаптируемость – степень простоты эффективной и рациональ-
ной адаптации для различающихся или усовершенствованных аппаратных средств, программного обеспечения, других операционных сред
или условий использования;
устанавливаемость – степень простоты эффективной и рацио-
нальной, успешной установки и/или удаления продукта или системы
в заданной среде;
84

взаимозаменяемость – способность продукта заменить другой
конкретный программный продукт для достижения тех же целей в тех
же условиях.
ВТОРОМУ УРОВНЮ соответствуют атрибуты качества (подхарактеристики) для каждой характеристики, которые детализируют разные
аспекты конкретной характеристики. Набор атрибутов характеристик
качества используется при оценке качества.
ТРЕТИЙ УРОВЕНЬ предназначен для измерения качества с помощью
метрик, каждая из которых согласно стандарту [84] определяется
как комбинация метода измерения атрибута и шкалы измерения значений атрибутов. При оценке атрибутов качества на этапах ЖЦ (при просмотре документации, программ и результатов тестирования программ)
используются метрики с заданным оценочным весом для нивелирования (выравнивания) результатов метрического анализа совокупных атрибутов
конкретного показателя и качества в целом. Атрибут качества
определяется с помощью одной или нескольких методик оценки на этапах ЖЦ и на завершающем этапе разработки ПО.
ЧЕТВЕРТЫЙ УРОВЕНЬ задает элемент метрики для оценки количественного или качественного значения отдельного атрибута показателя ПО с учетом его веса.
В зависимости от назначения
, особенностей и условий сопровождения ПО выбираются наиболее важные характеристики качества и их
приоритеты. Выбранные для каждой характеристики атрибуты и их
приоритеты отражаются в требованиях на разработку систем. Для программных систем, при разработки которых в требованиях не указан приоритет характеристик качества, используется приоритет эталона –
класса ПО, к которому
оно относится.
При определении требований к ПО задаются соответствующие им
внешние характеристики и их атрибуты (подхарактеристики), определяющие разные стороны использования продукта в заданной среде. Для
набора характеристик качества ПО, приведенных в требованиях, определяются соответствующие метрики, модели их оценки и диапазон значений мер для измерения отдельных атрибутов качества.
85

КРИТЕРИИ ОЦЕНКИ КАЧЕСТВА ПРОГРАММНОГО СРЕДСТВА
Критерий оценки качества программного средства – набор определенных и задокументированных правил и условий, которые используются для решения о приемлемости общего качества конкретной программной продукции [84]. Качество представляется набором установленных уровней, связанных с программной продукцией.
Уровень качества функционирования – степень, в которой удовлетворяются потребности, представленные конкретным набором значений
для характеристик качества [85].
Критерии качества программ являются показателями, позволяющими на основе количественных оценок группы характеристик программ устанавливать их пригодность в целом для той или иной цели.
Изменение доминирующей цели в зависимости от этапов жизненного
цикла программ приводит к изменению состава критериев качества программ и степени их важности при
анализе.
Разнообразие возможных критериев и факторов, от которых зависит
качество программ на различных этапах разработки и эксплуатации,
усложняет их использование. Поэтому целесообразно провести классификацию критериев, выделить функциональные и конструктивные критерии качества программ и упорядочить их по этапам жизненного
цикла.
Для определения степени удовлетворения программным продуктом
предъявляемым требованиям, т.
е. для оценки качества, необходим
набор измеримых показателей, соответствующих характеристикам
(свойствам), либо совокупности свойств (критериям качества) ПО, которые позволяли бы не только формировать требования, но и контролировать их выполнение в ходе разработки ПО.
Примеры критериев: сложность, корректность, надежность, трудо-
емкость и т. д.
Примеры свойств: число строк программы
, количество точек входа,
время подготовки исходных данных, общее время работы, время выдачи
выходных результатов, количество разработчиков и т. д.
Функциональные критерии являются специализированными и
отражают специфику областей применения и степень соответствия
функций, выполняемых программой, ее целевому назначению. В том
или ином виде они характеризуют эффект от использования программ в
конкретных целях с учетом затрат на их создание.
86

Конструктивные критерии более инвариантны к целевому назначению и основным функциям программы, характеризуют общие свойства программ и позволяют сравнивать качество программ разного
назначения. Эти критерии зависят не от области применения, а от этапа
жизненного цикла программы. На различных этапах ЖЦ рекомендуется
использовать разные критерии.
Критерии этапа разработки:
трудоемкость (статическая
сложность);
корректность (правильность) программы.
Критерии этапа эксплуатации ПП:
функциональность;
производительность (ресурсоемкость);
надежность.
Критерии этапа сопровождения:
трудоемкость.;
понимаемость программы;
производительность программы;
надежность.
Для количественной оценки показателей качества ПП выполняется
сбор метрик, являющихся числовыми оценками параметров программы.
МЕТРИКИ
Метрика качества программного обеспечения – количественный
масштаб и метод, которые могут быть использованы для определения значения признака, принятого для конкретной программной продукции [84].
Метрика качества программ – система измерений качества программ. Эти измерения могут проводиться на уровне критериев качества
программ или на уровне отдельных характеристик качества. В первом
случае система измерений позволяет
непосредственно сравнивать программы по качеству. При этом сами измерения не могут быть проведены
без субъективных оценок свойств программ. Во втором случае измерения характеристик можно выполнить объективно и достоверно, но
оценка качества ПО в целом будет связана с субъективной интерпретацией получаемых оценок.
Шкала (измерений) – отображение множества различных проявле
ний количественного или качественного свойства на принятое по соглашению упорядоченное множество чисел или другую систему логически
связанных знаков (обозначений) [87].
-
87

В зависимости от характеристик и особенностей применяемых метрик им ставятся в соответствие различные измерительные шкалы:
номинальной шкале соответствуют метрики, классифицирующие
программы на типы по признаку наличия или отсутствия некоторой характеристики без учета градаций, например, наличие у программы
структурированности, гибкости, простоты освоения и т. д.;
порядковой шкале соответствуют
метрики, позволяющие ранжи-
ровать по возрастанию или убыванию некоторые характеристики путем
сравнения с опорными значениями, т. е. измерение по этой шкале фактически определяет взаимное положение конкретных программ. Различают абсолютные и относительные порядковые метрики, первые из которых показывают, больше или меньше значение данного параметра
программы по сравнению с
опорным, а вторые – во сколько раз больше
или меньше;
интервальной шкале соответствуют метрики, которые показывают не только относительное положение программ, но и то, как далеко
они отстоят друг от друга. Характеризуются реально измеряемыми физическими показателями, например временем выполнения программы,
числом маршрутов в программе, числом таблиц в базе
данных, объемом
программы и т. д.
Система измерения включает метрики и модели измерений, которые
используются для количественной оценки качества ПО.
Метрики определяются по модели измерения атрибутов ПО на всех
этапах ЖЦ (внутренние метрики, обозначающие свойства, видимые
только команде разработчиков) и особенно на этапе функционирования
(внешние метрики, обозначающие свойства продукта, видимые
пользо-
вателю продукта).
Внешние метрики продукта – это метрики:
надежности продукта, которые служат для определения числа де-
фектов;
функциональности, с помощью которых устанавливается наличие
и правильность реализации функций в продукте;
сопровождения, с помощью которых измеряются ресурсы про-
дукта (скорость, память, среда);
применимости продукта, которые способствуют определению
степени доступности
для изучения и использования;
стоимости, которыми определяется стоимость созданного про-
дукта.
88

Внутренние метрики продукта включают:
метрики размера, необходимые для измерения продукта с помо-
щью его внутренних характеристик;
метрики сложности, необходимые для определения сложности
продукта;
метрики стиля, которые служат для определения подходов и тех-
нологий создания отдельных компонентов продукта и его документов.
Внутренние метрики позволяют определить производительность
продукта и являются
релевантными по отношению к внешним мет-
рикам.
Внешние и внутренние метрики задаются на этапе формирования
требований к ПО и являются предметом планирования и управления достижением качества конечного программного продукта.
По виду информации, получаемой при оценке качества ПО, метрики
можно разбить на три группы.
1. Метрики, оценивающие отклонение от нормы
характеристик исходных проектных материалов. Они устанавливают полноту заданных
технических характеристик исходного кода.
2. Метрики, позволяющие прогнозировать качество разрабатываемого ПО. Они заданы на множестве возможных вариантов решений поставленной задачи и их реализаций и определяют качество ПО, которое
будет достигнуто в итоге.
3. Метрики, по которым принимается решение о соответствии
ко-
нечного ПО заданным требованиям. Они позволяют оценить соответствие разработки заданным требованиям.
В исследовании метрик ПО различают два основных направления:
поиск метрик, характеризующих наиболее специфические свой-
ства программ, т. е. метрик оценки самого ПО;
использование метрик для оценки технических характеристик
и факторов разработки программ, т. е. метрик
оценки свойств процесса
ЖЦ создания продукта.
В настоящее время известно большое количество программных мет-
рик [88].
Существующие оценки программ можно сгруппировать по шести
направлениям:
оценка топологической и информационной сложности программ;
89

оценка надежности программных систем, позволяющая прогнози-
ровать отказовые ситуации;
оценка производительности ПО и повышения его эффективности
путем выявления ошибок проектирования;
оценка уровня языковых средств и их применения;
оценка трудности восприятия и понимания программных текстов,
ориентированная на психологические факторы, существенные для сопровождения и модификации программ;
оценка
производительности труда программистов для прогнозирования сроков разработки программ и планирования работ по созданию программных комплексов.
90
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]
