Автор работы: Пользователь скрыл имя, 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
Для оценки трудозатрат на базовом уровне модели COCOMO применяется следующая формула:
Т = a × Р b,
где a и b - константы, которые зависят от режима использования модели.
В
соответствии с этой формулой трудозатраты
вообще нелинейно зависят от размера
проекта и скачкообразно
F = 2,5 × Т k,
поскольку при этом изменяется значение константы k.
Значения коэффициентов модели COCOMO в зависимости от режима использования
Название режима | Значение коэффициента a | Значение коэффициента b | Значение коэффициента k |
Органичный | 2,4 | 1,05 | 0,38 |
Сблокированный | 3,0 | 1,12 | 0,35 |
Внедренный | 3,6 | 1,20 | 0,32 |
На более высоких уровнях COCOMO рассмотренные формулы усложняются, они обрастают дополнительными коэффициентами, позволяющими повысить точность оценок. Также модель допускает калибровку на основе хронологических данных по выполненным проектам.
COCOMO II. Сегодня оригинальная COCOMO уже считается устаревшей. Ей на смену пришла COCOMO II, представленная в 1997 г. Хотя она и имеет много общего со своей предшественницей, однако во многом основана на новых идеях, а также адаптирована к современным методологиям разработки ПО (в частности, если COCOMO подразумевала только каскадную модель жизненного цикла, то COCOMO II также пригодна для спиральной и итеративной).
При построении COCOMO II для обработки статистических данных использовался Байесовский анализ, который дает лучшие результаты для программных проектов, характеризующихся неполнотой и неоднозначностью, в отличие от многофакторного регрессионного, примененного в COCOMO. Также в ней допускается измерять размер проекта не только числом строк кода, но и более современными функциональными и объектными точками. Помимо прочего, при расчете показателей COCOMO II учитывает уровень зрелости процесса разработки в соответствии с моделями SEI CMM/CMMI.
Как
и COCOMO, COCOMO II также имеет несколько
вариантов использования, однако они
отличаются не столько детализацией, сколько
характером - фактически это разные модели
для решения разных (хотя и схожих) задач,
объединенные под одним общим названием.
При этом формулы для вычисления различных
показателей значительно усложнились.
При сохранении основных принципов модель
стала намного гибче и учитывает гораздо
большее число факторов, влияющих на выполнение
программного проекта. [15]
Модель COCOMO II фактически объединяет три различные подмодели
Таблица 5
Название модели | Описание |
Композиционная прикладная | Ориентирована на проекты, создаваемые с применением современных инструментальных средств и UML, использует в качестве метрики объектные точки |
Ранней разработки проекта | Применяется для получения приближенных оценок по проекту до определения его архитектуры, использует в качестве метрик количество строк кода или функциональные точки |
Постархитектурная модель | Наиболее детализированная
модель, используется после разработки
архитектуры проекта и |
1.6 Методы контроля качества
Как контролировать качество системы? Как точно узнать, что программа делает именно то, что нужно, и ничего другого? Как определить, что она достаточно надежна, переносима, удобна в использовании? Ответы на эти вопросы можно получить с помощью процессов верификации и валидации.
Эффективность верификации и валидации, как и эффективность разработки ПО в целом, зависит от полноты и корректности формулировки требований к программному продукту.
Основой
любой системы обеспечения
Методы контроля качества позволяют убедиться, что определенные характеристики качества ПО достигнуты. Сами по себе они не могут помочь их достижению, они лишь помогают определить, удалось ли получить в результате то, что хотелось, или нет, а также найти ошибки, дефекты и отклонения от требований. Методы контроля качества ПО можно классифицировать следующим образом:
1.7 Автоматизированные программные продукты по оценке качества ПО.
Эта категория инструментов позволяет рассчитать различные метрики проекта, прежде всего на основе исходного кода и UML-диаграмм (в первую очередь прецедентов и классов), хотя в общем случае может быть использовано практически все, относящееся к проекту и поддающееся измерению (требования, спецификации, документация, активность работы с системой контроля версий, прохождение тестов и пр.).
Почетное место занимают средства подсчета числа строк кода (метрики SLOC и ее производных) - их абсолютное большинство, как среди коммерческих, так и среди бесплатных продуктов, в том числе с открытым кодом.
Locmetrics - очень простой бесплатный продукт с минималистским интерфейсом. В числе поддерживаемых языков - C/C++, C#, Java, SQL - возможно вычисление не только метрики SLOC и ее разновидностей, но и цикломатической сложности. Отсутствие документации не является препятствием для использования программы, поскольку разобраться в интерфейсе из двух кнопок и двух полей ввода совсем несложно. Хуже, что нет даже описания методики расчета метрик. К недостаткам также следует отнести отсутствие хотя бы самых простых средств построения отчетности или экспорта данных в один из популярных форматов.
USC Codecount - бесплатный продукт с открытыми исходными кодами на языке ANSI C, разработанный Университетом Южной Калифорнии (University of Southern California, USC) - той же организацией, в которой были созданы COCOMO/COCOMO II. По этой причине USC Codecount является официальным инструментом для подсчета метрики SLOC при использовании указанных моделей. В число поддерживаемых языков входят C/C++, C#, Java, JavaScript, SQL, Perl, XML, в документации указано, что методика расчета соответствует принятой SEI для моделей CMM/CMMI.
По сути, USC Codecount представляет собой целый набор инструментов, разработанных по единым принципам - для каждого языка программирования имеется отдельный проект, и компилируемая консольная программа может быть использована только для него. Несмотря на видимые неудобства, эту особенность следует считать как раз преимуществом, поскольку таким образом максимально учитываются свойства (характеристики) конкретного языка.
USC Codecount
дает возможность вычислять
SLOCCount- бесплатный продукт, разработанный Дэвидом Вилером (David A. Wheeler), поставляется в виде исходных кодов на языке C по лицензии GNU GPL. Ориентирован на UNIX-платформы, хотя возможно применение и в Windows после соответствующей адаптации.
Среди рассматриваемых это, пожалуй, наиболее универсальный инструмент - в число поддерживаемых языков входят Ada, Assembler, awk, Bourne shell (включая производные: bash, ksh, zsh, pdksh), C, C++, C#, C shell (включая tcsh), COBOL, Expect, Fortran (включая Fortran 90), Haskell, Java, lex (включая flex), LISP (включая Scheme), make-файлы, Modula3, Objective-C, Pascal, Perl, PHP, Python, Ruby, sed, SQL, TCL, Yacc.
Продукт позволяет рассчитать физическое количество SLOC по проекту (в разрезе отдельных используемых языков), обладает возможностями вычисления трудоемкости и стоимости проекта на основе модели COCOMO (по устаревшей первой версии и только по базовой модели).
Благодаря своей универсальности этот продукт довольно популярен, к примеру, именно он используется в перспективном поисковом механизме для разработчиков Krugle для подсчета статистики по проектам.
Code Counter Pro - единственный коммерческий продукт, попавший в нашем обзоре в данную категорию. Впрочем, он совсем недорог ($25 за одну лицензию), зато в отличие от предыдущих имеет развитый графический интерфейс, что, безусловно, делает его использование более удобным.
Поддерживаются
следующие языки
Несмотря на то что программа хорошо справляется со своей задачей и даже позволяет строить детальные отчеты, чего не может предложить, скажем, Locmetrics, она уступает рассмотренным открытым аналогам по количеству вычисляемых показателей (только число физических строк кода, комментариев, пустых строк, а также суммарные значения).
Verisoft Complexity Measures Tool - коммерческий продукт с достаточно внушительной ценой в 1200 евро. Поддерживаются только языки C/C++ и Java (поставляется в виде двух различных редакций).
С помощью этого продукта можно рассчитывать следующие метрики: SLOC, цикломатическую сложность, метрики Холстеда, индекс сопровождаемости (вычисляется на основе предыдущих). Имеет графический интерфейс (с возможностью работы в режиме командной строки), позволяет формировать отчеты в текстовой форме или HTML.
Borland Together - коммерческий инструмент UML-моделирования, дополненный возможностями вычисления метрик исходного кода. Цена зависит от редакции (начиная с $200).
Поддерживается обширное число различных метрик, значительная часть которых - объект-но-ориентированные: SLOC, количественные метрики классов (число атрибутов, классов, конструкторов, операций), цикломатическая сложность, метрики сложности классов (LOCOM1, LOCOM2, LOCOM3, WMPC1, WMPC2, NORM), метрики связности, Холстеда, наследования, полиморфизма, процентные соотношения (доля комментариев, приватных, публичных и защищенных членов классов), максимальные значения (уровня вложенности, числа параметров и операций).
Информация о работе Критерии качества програмного обеспечения