В.В. Кулямин - Технологии программирования. Компонентный подход (1134162), страница 20
Текст из файла (страница 20)
Характеристики и атрибуты качества ПО по ISO 9126.Ниже приведены определения этих характеристик и атрибутов по стандарту ISO 9126:2001.• Функциональность (functionality).Способность ПО в определенных условиях решать задачи, нужные пользователям.Определяет, что именно делает ПО, какие задачи оно решает.o Функциональная пригодность (suitability).Способность решать нужный набор задач.o Точность (accuracy).Способность выдавать нужные результаты.o Способность к взаимодействию (interoperability).Способность взаимодействовать с нужным набором других систем.o Соответствие стандартам и правилам (compliance).Соответствие ПО имеющимся индустриальным стандартам, нормативным изаконодательным актам, другим регулирующим нормам.o Защищенность (security).Способность предотвращать неавторизированный, т.е.
без указания лица, пытающегосяего осуществить, и не разрешенный доступ к данным и программам.• Надежность (reliability).Способность ПО поддерживать определенную работоспособность в заданных условиях.o Зрелость, завершенность (maturity).Величина, обратная частоте отказов ПО. Обычно измеряется средним временем работыбез сбоев и величиной, обратной вероятности возникновения отказа за данный периодвремени.o Устойчивость к отказам (fault tolerance)Способность поддерживать заданный уровень работоспособности при отказах инарушениях правил взаимодействия с окружением.o Способность к восстановлению (recoverability).Способность восстанавливать определенный уровень работоспособности и целостностьданных после отказа, необходимые для этого время и ресурсы.o Соответствие стандартам надежности (reliability compliance).Этот атрибут добавлен в 2001 году.63••••Удобство использования (usability) или практичность.Способность ПО быть удобным в обучении и использовании, а также привлекательным дляпользователей.o Понятность (understandability).Показатель, обратный к усилиям, которые затрачиваются пользователями на восприятиеосновных понятий ПО и осознание их применимости для решения своих задач.o Удобство обучения (learnability).Показатель, обратный усилиям, затрачиваемым пользователями на обучение работе сПО.o Удобство работы (operability).Показатель, обратный усилиям, предпринимаемым пользователями для решения своихзадач с помощью ПО.o Привлекательность (attractiveness).Способность ПО быть привлекательным для пользователей.
Этот атрибут добавлен в2001.o Соответствие стандартам удобства использования (usability compliance).Этот атрибут добавлен в 2001.Производительность (efficiency) или эффективность.Способность ПО при заданных условиях обеспечивать необходимую работоспособность поотношению к выделяемым для этого ресурсам.
Можно определить ее и как отношениеполучаемых с помощью ПО результатов к затрачиваемым на это ресурсам всех типов.o Временная эффективность (time behaviour).Способность ПО выдавать ожидаемые результаты, а также обеспечивать передачунеобходимого объема данных за отведенное время.o Эффективность использования ресурсов (resource utilisation).Способность решать нужные задачи с использованием определенных объемов ресурсовопределенных видов. Имеются в виду такие ресурсы, как оперативная и долговременнаяпамять, сетевые соединения, устройства ввода и вывода, и пр.o Соответствие стандартам производительности (efficiency compliance).Этот атрибут добавлен в 2001.Удобство сопровождения (maintainability).Удобство проведения всех видов деятельности, связанных с сопровождение программ.o Анализируемость (analyzability) или удобство проведения анализа.Удобство проведения анализа ошибок, дефектов и недостатков, а также удобствоанализа необходимости изменений и их возможных последствий.o Удобство внесения изменений (changeability).Показатель, обратный трудозатратам на выполнение необходимых изменений.o Стабильность (stability).Показатель, обратный риску возникновения неожиданных эффектов при внесениинеобходимых изменений.o Удобство проверки (testability).Показатель, обратный трудозатратам на проведение тестирования и других видовпроверки того, что внесенные изменения привели к нужным результатам.o Соответствие стандартам удобства сопровождения (maintainability compliance).Этот атрибут добавлен в 2001.Переносимость (portability).Способность ПО сохранять работоспособность при переносе из одного окружения в другое,включая организационные, аппаратные и программные аспекты окружения.Иногда эта характеристика называется в русскоязычной литературе мобильностью.
Однакотермин «мобильность» стоит зарезервировать для перевода «mobility» — способности ПО и64компьютерной системы в целом сохранять работоспособность при ее физическомперемещении в пространстве.o Адаптируемость (adaptability).Способность ПО приспосабливаться к различным окружениям без проведения для этогодействий, помимо заранее предусмотренных.o Удобство установки (installability).Способность ПО быть установленным или развернутым в определенном окружении.o Способность к сосуществованию (coexistence).Способность ПО сосуществовать с другими программами в общем окружении, деля сними ресурсы.o Удобство замены (replaceability) другого ПО данным.Возможность применения данного ПО вместо других программных систем для решениятех же задач в определенном окружении.o Соответствие стандартам переносимости (portability compliance).Этот атрибут добавлен в 2001.Перечисленные атрибуты относятся к внутреннему и внешнему качеству ПО согласноISO 9126.
Для описания качества ПО при использовании стандарт ISO 9126-4 [4] предлагаетдругой, более узкий набор характеристик.• Эффективность (effectiveness).Это способность ПО предоставлять пользователям возможность решать их задачи снеобходимой точностью при использовании в заданном контексте.• Продуктивность (productivity).Способность ПО предоставлять пользователям определенные результаты в рамкахожидаемых затрат ресурсов.• Безопасность (safety).Способность ПО обеспечивать необходимо низкий уровень риска нанесения ущерба жизнии здоровью людей, бизнесу, собственности или окружающей среде.• Удовлетворение пользователей (satisfaction).Способность ПО приносить удовлетворение пользователям при использовании в заданномконтексте.Помимо перечисленных характеристик и атрибутов качества стандарт ISO 9126:2001определяет наборы метрик для оценки каждого атрибута.
Приведем следующие примеры такихметрик.• Полнота реализации функций — процент реализованных функций по отношению кперечисленным в требованиях. Используется для измерения функциональной пригодности.• Корректность реализации функций — правильность их реализации по отношению ктребованиям. Используется для измерения функциональной пригодности.• Отношение числа обнаруженных дефектов к прогнозируемому.
Используется дляопределения зрелости.• Отношение числа проведенных тестов к общему их числу. Используется для определениязрелости.• Отношение числа доступных проектных документов к указанному в их списке.Используется для измерения удобства проведения анализа.• Наглядность и полнота документации. Используется для оценки понятности.Перечисленные характеристики и атрибуты качества ПО позволяют систематически описыватьтребования к нему, определяя, какие свойства ПО по данной характеристике хотят видетьзаинтересованные стороны. Таким образом, требования должны определять следующее.• Что ПО должно делать, например:позволять клиенту оформить заказы и обеспечить их доставку;65обеспечивать контроль качества строительства и отслеживать проблемные места;поддерживать нужные характеристики автоматизированного процесса производства,предотвращая аварии и оптимальным образом используя имеющиеся ресурсы.• Насколько оно должно быть надежно, например:работать 7 дней в неделю и 24 часа в сутки;допускается неработоспособность в течение не более 3 часов в год;никакие введенные пользователями данные при отказе не должны теряться.• Насколько им должно быть удобно пользоваться, например:покупатель должен, зная название товара и имея средние навыки работы в Интернет,находить нужный ему товар за не более чем 2 минуты;инженер по специальности «строительство мостов» должен в течение одного дня уметьразобраться в 80% функций системы.• Насколько оно должно быть эффективно, например:поддерживать обслуживание до 10000 запросов в секунду;время отклика на запрос при максимальной загрузке не должно превышать 3 с;время реакции на изменение параметров процесса производства не должно превышать0.1 с;на обработку одного запроса не должно тратиться более 1 MB оперативной памяти.• Насколько удобно должно быть его сопровождение, например:добавление в систему нового вида запросов не должно требовать более 3 человеко-дней;добавление поддержки нового этапа процесса производства не должно стоить более$20000.• Насколько оно должно быть переносимо, например:ПО должно работать на операционных системах Linux, Windows XP и MacOS X;ПО должно работать с документами в форматах MS Word 97 и HTML;ПО должно сохранять файлы отчетов в форматах MS Word 2000, MS Excel 2000, HTML,RTF и в виде обычного текста;ПО должно сопрягаться с существующей системой записи данных о заказах.Приведенные атрибуты качества закреплены в стандартах, но это не значит, что они вполнеисчерпывают понятие качества ПО.
Так, в стандарте ISO 9126 отсутствуют характеристики,связанные с мобильностью ПО (mobility), т.е. способностью программы работать при физическихперемещениях машины, на которой она работает. Вместо надежности многие исследователипредпочитают рассматривать более общее понятие добротности (dependability), описывающееспособность ПО поддерживать определенные показатели качества по основным характеристикам(функциональности, производительности, удобству использования) с заданными вероятностямивыхода за их рамки и определенным максимальным ущербом от возможных нарушений.
Крометого, активно исследуются понятия удобства использования, безопасности и защищенности ПО,— они кажутся большинству специалистов гораздо более сложными, чем это описывается даннымстандартом.Методы контроля качестваКак контролировать качество системы? Как точно узнать, что программа делает именно то, чтонужно, и ничего другого? Как определить, что она достаточно надежна, переносима, удобна виспользовании? Ответы на эти вопросы можно получить с помощью процессов верификации ивалидации.• Верификация обозначает проверку того, что ПО разработано в соответствии со всемитребованиями к нему, или что результаты очередного этапа разработки соответствуютограничениям, сформулированным на предшествующих этапах.• Валидация — это проверка того, что сам продукт правилен, т.е.