Критерии качества програмного обеспечения

Автор работы: Пользователь скрыл имя, 01 Октября 2011 в 22:26, дипломная работа

Описание работы

Требования к качеству программных средств всё время повышаются. Процессы разработки, приобретения и внедрения сложных систем, к которым относятся в частности программные комплексы, должны находится под жестким управленческим контролем. В настоящее время практически во всех организациях обеспечивается контроль важнейших характеристик, связанных с производством и использованием программных продуктов, таких как время, финансовые средства, ресурсы и т.п. Однако в большинстве случаев вне пределов сферы контроля оказывается наиболее важная характеристика программных продуктов, ради которой, собственно и осуществляются затраты времени, финансовых средств и ресурсов - это качество продукта, поскольку «невозможно контролировать то, что нельзя измерить» (“You cannot control what you cannot measure”).

Содержание работы

Введение 3
ГЛАВА 1. Качество программного обеспечения 6
1.1 Понятие качества 6
1.2 Стандарт ГОСТ Р ИСО МЭК 9126 8
1.2.1 Модель характеристик качества 9
1.2.2 Характеристики и атрибуты качества 13
1.3 Метрики 19
1.3.1 Основные направления применения метрик 23
1.3.2 Метрические шкалы 24
1.3.3 Метрики сложности программ 24
1.3.4 Объектно-ориентированные метрики 35
1.3.5 Метрики Холстеда 36
1.3.6 Метрики цикломатической сложности по Мак-Кейбу 45
1.3.7 Метрики Чепина 50
1.3.8 Размерно-ориентированные метрики (показатели оценки объема) 52
1.4 Альтернативные подходы к измерению качества 56
1.5 Оценка результата 62
1.5.1 Линейный подход 62
1.5.2 Оценка с использованием эмпирических данных 63
1.6 Методы контроля качества 67
1.7 Автоматизированные программные продукты по оценке качества ПО. 69
1.7.1 Вычисление метрики SLOC 69
1.7.2 Вычисление метрик сложности 71
1.7.3 Оценки экономических параметров 72
Вывод по главе 1 78
ГЛАВА 2. Изучение темы критерии качества программного обеспечения 80
2.1 Анализ стандарта по профильному курсу информатики 80
2.2 Описание элективного курса «Критерии качества ПО» 83
2.4 Организация и проведение педагогического эксперимента 91
Вывод по главе 2 93
Заключение 94
Приложение 95
Библиографический список 107

Файлы: 1 файл

Диплом.doc

— 1.99 Мб (Скачать файл)

Рис. 3. Основные аспекты качества ПО по ИСО 9126

      Требования  пользователя к качеству в спецификациях  должны в процессе верификации преобразовываться  в требования к внешнему качеству, а затем в требования к внутреннему качеству. Процессы реализации требований к внутреннему качеству должны обеспечивать внешнее качество, а последнее - воплощаться в качество для пользователей (рис. 4).

Рис. 4. - Различные подходы к качеству ПС и соответствующим метрикам качества.

      Модель  качества ПО имеет следующие четыре уровня представления:

      Первый  уровень соответствует определению характеристик (показателей) качества ПО, каждая из которых отражает отдельную точку зрения пользователя на качество. Согласно стандарту в модель качества входит шесть характеристик или шесть показателей качества:

    • функциональность (functionality);
    • надежность (realibility);
    • удобство (usability);
    • эффективность (efficiency);
    • сопровождаемость (maitainnability);
    • переносимость (portability).

      Второму уровню соответствуют атрибуты для каждой характеристики качества, которые детализируют разные аспекты конкретной характеристики. Набор атрибутов характеристик качества используется при оценке качества.

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

      Четвертый уровень - это оценочный элемент метрики (вес), который используется для оценки количественного или качественного значения отдельного атрибута показателя ПО. В зависимости от назначения, особенностей и условий сопровождения ПО выбираются наиболее важные характеристики качества и их атрибуты (рис. 5). [1, 2, 4]

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

Рис. 5. Модель характеристик качества

1.2.2 Характеристики и атрибуты качества

      Характеристики  качества программного обеспечения – набор свойств (атрибутов) программного продукции, по которым ее качество описывается и оценивается. Характеристики качества программного обеспечения могут быть уточнены на множестве уровней комплексных показателей (подхарактеристик).

  • Функциональность (functionality) – Способность ПО в определенных условиях решать задачи, нужные пользователям. Определяет, что именно делает ПО, какие задачи оно решает.
    • Функциональная пригодность (suitability). - Способность решать нужный набор задач.
    • Точность (accuracy). - Способность выдавать нужные результаты.
    • Способность к взаимодействию (interoperability). - Способность взаимодействовать с нужным набором других систем.
    • Соответствие стандартам и правилам (compliance). - Соответствие ПО имеющимся индустриальным стандартам, нормативным и законодательным актам, другим регулирующим нормам.
    • Защищенность (security). - Способность предотвращать неавторизированный, т.е. без указания лица, пытающегося его осуществить, и неразрешенный доступ к данным и программам.
  • Надежность (reliability). - Способность ПО поддерживать определенную работоспособность в заданных условиях.
    • Зрелость, завершенность (maturity). - Величина, обратная частоте отказов ПО. Обычно измеряется средним временем работы без сбоев и величиной, обратной вероятности возникновения отказа за данный период времени.
    • Устойчивость к отказам (fault tolerance). - Способность поддерживать заданный уровень работоспособности при отказах и нарушениях правил взаимодействия с окружением.
    • Способность к восстановлению (recoverability). - Способность восстанавливать определенный уровень работоспособности и целостность данных после отказа, необходимые для этого время и ресурсы.
    • Соответствие стандартам надежности (reliability compliance). - Этот атрибут добавлен в 2001 году.
    • Удобство применения (usability) или практичность. - Способность ПО быть удобным в обучении и использовании, а также привлекательным для пользователей.
    • Понятность (understandability). - Показатель, обратный к усилиям, которые затрачиваются пользователями на восприятие основных понятий ПО и осознание их применимости для решения своих задач.
    • Удобство обучения (learn ability). - Показатель, обратный усилиям, затрачиваемым пользователями на обучение работе с ПО.
    • Удобство работы (operability). - Показатель, обратный усилиям, предпринимаемым пользователями для решения своих задач с помощью ПО.
    • Привлекательность (attractiveness). - Способность ПО быть привлекательным для пользователей. Этот атрибут добавлен в 2001 году.
    • Соответствие стандартам удобства использования (usability compliance). - Этот атрибут добавлен в 2001 году.
    • Производительность (efficiency) или эффективность. - Способность ПО при заданных условиях обеспечивать необходимую работоспособность по отношению к выделяемым для этого ресурсам. Можно определить ее и как отношение получаемых с помощью ПО результатов к затрачиваемым на это ресурсам всех типов.
      • Временная эффективность (time behavior). - Способность ПО выдавать ожидаемые результаты, а также обеспечивать передачу необходимого объема данных за отведенное время.
      • Эффективность использования ресурсов (resource utilization). - Способность решать нужные задачи с использованием определенных объемов ресурсов определенных видов. Имеются в виду такие ресурсы, как оперативная и долговременная память, сетевые соединения, устройства ввода и вывода и пр.
      • Соответствие стандартам производительности (efficiency compliance). - Этот атрибут добавлен в 2001 году.
        • Удобство сопровождения (maintainability). - Удобство проведения всех видов деятельности, связанных с сопровождение программ.
          • Анализируемость (analyzability) или удобство проведения анализа. - Удобство проведения анализа ошибок, дефектов и недостатков, а также удобство анализа необходимости изменений и их возможных последствий.
          • Удобство внесения изменений (changeability). - Показатель, обратный трудозатратам на выполнение необходимых изменений.
          • Стабильность (stability). - Показатель, обратный риску возникновения неожиданных эффектов при внесении необходимых изменений.
          • Удобство проверки (testability). - Показатель, обратный трудозатратам на проведение тестирования и других видов проверки того, что внесенные изменения привели к нужным результатам.
          • Соответствие стандартам удобства сопровождения (maintainability compliance). - Этот атрибут добавлен в 2001 году.
            • Переносимость (portability). - Способность ПО сохранять работоспособность при переносе из одного окружения в другое, включая организационные, аппаратные и программные аспекты окружения.
            • Адаптируемость (adaptability). - Способность ПО приспосабливаться различным окружениям без проведения для этого действий, помимо заранее предусмотренных.
            • Удобство установки (install ability). - Способность ПО быть установленным или развернутым в определенном окружении.
            • Способность к сосуществованию (coexistence). - Способность ПО сосуществовать с другими программами в общем окружении, деля с ними ресурсы.
            • Удобство замены (replace ability) другого ПО данным. - Возможность применения данного ПО вместо других программных систем для решения тех же задач в определенном окружении.
            • Соответствие стандартам переносимости (portability compliance). - Этот атрибут добавлен в 2001 году.

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

              • Эффективность (effectiveness). - Способность ПО предоставлять пользователям возможность решать их задачи с необходимой точностью при использовании в заданном контексте.
              • Продуктивность (productivity). - Способность ПО предоставлять пользователям определенные результаты в рамках ожидаемых затрат ресурсов.
              • Безопасность (safety). - Способность ПО обеспечивать необходимо низкий уровень риска нанесения ущерба жизни и здоровью людей, бизнесу, собственности или окружающей среде.
              • Удовлетворение пользователей (satisfaction). - Способность ПО приносить удовлетворение пользователям при использовании в заданном контексте.

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

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

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

                  • Что ПО должно делать, например:
    • позволять клиенту оформить заказы и обеспечить их доставку;
    • обеспечивать контроль качества строительства и отслеживать проблемные места;
    • поддерживать нужные характеристики автоматизированного процесса производства, предотвращая аварии и оптимальным образом используя имеющиеся ресурсы.
                  • Насколько оно должно быть надежно, например:
    • работать 7 дней в неделю и 24 часа в сутки;
    • допускается неработоспособность в течение не более 3 часов в год;
    • никакие введенные пользователями данные при отказе не должны теряться.
                  • Насколько им должно быть удобно пользоваться, например:
    • покупатель должен, зная название товара и имея средние навыки работы в Интернет, находить нужный ему товар за не более чем 2 минуты;
    • инженер по специальности "строительство мостов" должен в течение одного дня уметь разобраться в 80% функций системы.
                  • Насколько оно должно быть эффективно, например:
    • поддерживать обслуживание до 10000 запросов в секунду;
    • время отклика на запрос при максимальной загрузке не должно превышать 3 с;
    • время реакции на изменение параметров процесса производства не должно превышать 0.1 с;
    • на обработку одного запроса не должно тратиться более 1 MB оперативной памяти.
                  • Насколько удобно должно быть его сопровождение, например:
    • добавление в систему нового вида запросов не должно требовать более 3 человеко-дней;
    • добавление поддержки нового этапа процесса производства не должно стоить более $20000.
                  • Насколько оно должно быть переносимо, например:

Информация о работе Критерии качества програмного обеспечения