Смекни!
smekni.com

Критерии качества програмного обеспечения (стр. 3 из 17)

o Производительность (efficiency) или эффективность. - Способность ПО при заданных условиях обеспечивать необходимую работоспособность по отношению к выделяемым для этого ресурсам. Можно определить ее и как отношение получаемых с помощью ПО результатов к затрачиваемым на это ресурсам всех типов.

· Временная эффективность (time behavior). - Способность ПО выдавать ожидаемые результаты, а также обеспечивать передачу необходимого объема данных за отведенное время.

· Эффективность использования ресурсов (resource utilization). - Способность решать нужные задачи с использованием определенных объемов ресурсов определенных видов. Имеются в виду такие ресурсы, как оперативная и долговременная память, сетевые соединения, устройства ввода и вывода и пр.

· Соответствие стандартам производительности (efficiency compliance). - Этот атрибут добавлен в 2001 году.

o Удобство сопровождения (maintainability). - Удобство проведения всех видов деятельности, связанных с сопровождение программ.

· Анализируемость (analyzability) или удобство проведения анализа. - Удобство проведения анализа ошибок, дефектов и недостатков, а также удобство анализа необходимости изменений и их возможных последствий.

· Удобство внесения изменений (changeability). - Показатель, обратный трудозатратам на выполнение необходимых изменений.

· Стабильность (stability). - Показатель, обратный риску возникновения неожиданных эффектов при внесении необходимых изменений.

· Удобство проверки (testability). - Показатель, обратный трудозатратам на проведение тестирования и других видов проверки того, что внесенные изменения привели к нужным результатам.

· Соответствие стандартам удобства сопровождения (maintainability compliance). - Этот атрибут добавлен в 2001 году.

o Переносимость (portability). - Способность ПО сохранять работоспособность при переносе из одного окружения в другое, включая организационные, аппаратные и программные аспекты окружения.

· Адаптируемость (adaptability). - Способность ПО приспосабливаться различным окружениям без проведения для этого действий, помимо заранее предусмотренных.

· Удобство установки (install ability). - Способность ПО быть установленным или развернутым в определенном окружении.

· Способность к сосуществованию (coexistence). - Способность ПО сосуществовать с другими программами в общем окружении, деля с ними ресурсы.

· Удобство замены (replace ability) другого ПО данным. - Возможность применения данного ПО вместо других программных систем для решения тех же задач в определенном окружении.

· Соответствие стандартам переносимости (portability compliance). - Этот атрибут добавлен в 2001 году.

Перечисленные атрибуты относятся к внутреннему и внешнему качеству ПО согласно ИСО 9126. Для описания качества ПО при использовании стандарт ИСО 9126-4 предлагает другой, более узкий набор характеристик.

o Эффективность (effectiveness). - Способность ПО предоставлять пользователям возможность решать их задачи с необходимой точностью при использовании в заданном контексте.

o Продуктивность (productivity). - Способность ПО предоставлять пользователям определенные результаты в рамках ожидаемых затрат ресурсов.

o Безопасность (safety). - Способность ПО обеспечивать необходимо низкий уровень риска нанесения ущерба жизни и здоровью людей, бизнесу, собственности или окружающей среде.

o Удовлетворение пользователей (satisfaction). - Способность ПО приносить удовлетворение пользователям при использовании в заданном контексте.

Помимо перечисленных характеристик и атрибутов качества, стандарт ИСО 9126:2001 определяет наборы метрик для оценки каждого атрибута. Приведем следующие примеры таких метрик.

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

· Корректность реализации функций - правильность их реализации по отношению к требованиям. Используется для измерения функциональной пригодности.

· Отношение числа обнаруженных дефектов к прогнозируемому. Используется для определения зрелости.

· Отношение числа проведенных тестов к общему их числу. Используется для определения зрелости.

· Отношение числа доступных проектных документов к указанному в их списке. Используется для измерения удобства проведения анализа.

· Наглядность и полнота документации. Используется для оценки понятности.

Перечисленные характеристики и атрибуты качества ПО позволяют систематически описывать требования к нему, определяя, какие свойства ПО по данной характеристике хотят видеть заинтересованные стороны. Таким образом, требования должны определять следующее.

o Что ПО должно делать, например:

· позволять клиенту оформить заказы и обеспечить их доставку;

· обеспечивать контроль качества строительства и отслеживать проблемные места;

· поддерживать нужные характеристики автоматизированного процесса производства, предотвращая аварии и оптимальным образом используя имеющиеся ресурсы.

o Насколько оно должно быть надежно, например:

· работать 7 дней в неделю и 24 часа в сутки;

· допускается неработоспособность в течение не более 3 часов в год;

· никакие введенные пользователями данные при отказе не должны теряться.

o Насколько им должно быть удобно пользоваться, например:

· покупатель должен, зная название товара и имея средние навыки работы в Интернет, находить нужный ему товар за не более чем 2 минуты;

· инженер по специальности "строительство мостов" должен в течение одного дня уметь разобраться в 80% функций системы.

o Насколько оно должно быть эффективно, например:

· поддерживать обслуживание до 10000 запросов в секунду;

· время отклика на запрос при максимальной загрузке не должно превышать 3 с;

· время реакции на изменение параметров процесса производства не должно превышать 0.1 с;

· на обработку одного запроса не должно тратиться более 1 MB оперативной памяти.

o Насколько удобно должно быть его сопровождение, например:

· добавление в систему нового вида запросов не должно требовать более 3 человеко-дней;

· добавление поддержки нового этапа процесса производства не должно стоить более $20000.

o Насколько оно должно быть переносимо, например:

· ПО должно работать на операционных системах Linux, Windows XP и MacOS X;

· ПО должно работать с документами в форматах MS Word 97 и HTML;

· ПО должно сохранять файлы отчетов в форматах MS Word 2000, MS Excel 2000, HTML, RTF и в виде обычного текста;

· ПО должно сопрягаться с существующей системой записи данных о заказах.

Приведенные атрибуты качества закреплены в стандартах, но это не значит, что они вполне исчерпывают понятие качества ПО. Так, в стандарте ИСО 9126 отсутствуют характеристики, связанные с мобильностью ПО (mobility), т.е. способностью программы работать на любой машине в различных операционных системах. Вместо надежности многие исследователи предпочитают рассматривать более общее понятие добротности (dependability), описывающее способность ПО поддерживать определенные показатели качества по основным характеристикам (функциональности, производительности, удобству использования) с заданными вероятностями выхода за их рамки и определенным максимальным ущербом от возможных нарушений. Кроме того, активно исследуются понятия удобства использования, безопасности и защищенности ПО, - они кажутся большинству специалистов гораздо более сложными, чем это описывается данным стандартом.

1.3 Метрики

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

Система измерения включает метрики и модели измерений, которые используются для количественной оценки качества ПО.

При определении требований к ПО задаются соответствующие им внешние характеристики и их атрибуты (подхарактеристики), определяющие разные стороны управления продуктом в заданной среде. Для набора характеристик качества ПО, приведенных в требованиях, определяются соответствующие метрики, модели их оценки и диапазон значений мер для измерения отдельных атрибутов качества.

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

Метрика качества программ - система измерений качества программ. Эти измерения могут проводиться на уровне критериев качества программ или на уровне отдельных характеристик качества. В первом случае система измерений позволяет непосредственно сравнивать программы по качеству. При этом сами измерения не могут быть проведены без субъективных оценок свойств программ. Во втором случае измерения характеристик можно выполнить объективно и достоверно, но оценка качества ПО в целом будет связана с субъективной интерпретацией получаемых оценок. [3, 12]

В исследовании метрик ПО различают два основных направления:

· поиск метрик, характеризующих наиболее специфические свойства программ, т.е. метрик оценки самого ПО;

· использование метрик для оценки технических характеристик и факторов разработки программ, т.е. метрик оценки условий разработки программ.

По виду информации, получаемой при оценке качества ПО метрики можно разбить на три группы:

· метрики, оценивающие отклонение от нормы характеристик исходных проектных материалов. Они устанавливают полноту заданных технических характеристик исходного кода.

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

· метрики, по которым принимается решение о соответствии конечного ПО заданным требованиям. Они позволяют оценить соответствие разработки заданным требованиям.

Существует три типа метрик:

· метрики программного продукта, которые используются при измерении его характеристик - свойств;