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

Автор работы: Пользователь скрыл имя, 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 Мб (Скачать файл)
    • ПО должно работать на операционных системах Linux, Windows XP и MacOS X;
    • ПО должно работать с документами в форматах MS Word 97 и HTML;
    • ПО должно сохранять файлы отчетов в форматах MS Word 2000, MS Excel 2000, HTML, RTF и в виде обычного текста;
    • ПО должно сопрягаться с существующей системой записи данных о заказах.

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

1.3 Метрики

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

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

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

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

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

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

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

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

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

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

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

      Метрики программного продукта включают:

    • внешние метрики, обозначающие свойства продукта, видимые пользователю;
    • внутренние метрики, обозначающие свойства, видимые только команде разработчиков.

      Внешние метрики продукта - это метрики:

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

      Внутренние  метрики продукта включают:

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

      Внутренние  метрики позволяют определить производительность продукта и являются релевантными по отношению к внешним метрикам.

      Внешние и внутренние метрики задаются на этапе формирования требований к ПО и являются предметом планирования и управления достижением качества конечного программного продукта.

      Метрики продукта часто описываются комплексом моделей для установки различных  свойств, значений модели качества или прогнозирования. Измерения проводятся, как правило, после калибровки метрик на ранних этапах проекта. Общая мера - степень трассируемости, которая определяется числом трасс, прослеживаемых с помощью моделей сценариев и оценкой количества:

    • требований;
    • сценариев и действующих лиц;
    • объектов, включенных в сценарий, и локализация требований к каждому сценарию;
    • параметров и операций объекта и др.

      Стандарт ISO/IEC 9126-2 определяет следующие типы мер:

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

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

    • общее число объектов и число повторно используемых;
    • общее число операций, повторно используемых и новых операций;
    • число классов, наследующих специфические операции;
    • число классов, от которых зависит данный класс;
    • число пользователей класса или операций и др.

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

      Как правило, меры в значительной степени являются субъективными и зависят от знаний экспертов, производящих количественные оценки атрибутов компонентов программного продукта. [8, 9]

      Примером  широко используемых внешних метрик программ являются метрики Холстеда - это характеристики программ, выявляемые на основе статической структуры программы на конкретном языке программирования: число вхождений наиболее часто встречающихся операндов и операторов; длина описания программы как сумма числа вхождений всех операндов и операторов и др.

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

      В качестве метрик процесса могут быть время разработки, число ошибок и др. Практически используются следующие метрики процесса:

    • общее время разработки и отдельно время для каждой стадии;
    • время модификации моделей;
    • время выполнения работ на процессе;
    • число найденных ошибок при инспектировании;
    • стоимость проверки качества;
    • стоимость процесса разработки.

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

1.3.1 Основные направления применения метрик

      В настоящее время в мировой  практике используется несколько сотен  метрик программ. Существующие качественные оценки программ можно сгруппировать  по шести направлениям:

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

1.3.2 Метрические шкалы

      В зависимости от характеристик и  особенностей применяемых метрик им ставятся в соответствие различные  измерительные шкалы.

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

1.3.3 Метрики сложности программ

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

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

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