Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Технологии и методы программирования. Учебное пособие-1

.pdf
Скачиваний:
0
Добавлен:
07.09.2026
Размер:
2 Мб
Скачать
отдельная характеристика (например, удобство использования или надежность).
Окончательная оценка качества проводится в соответствии со стан­дартом ГОСТ Р ИСО/МЭК 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
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]