Федеральное агентство по образованию
ГОУ ВПО «ГЛАЗОВСКИЙ ГОСУДАРТСТВЕННЫЙ ПЕДАГОГИЧЕСКИЙ
ИНСТИТУТ имени В.Г. Короленко»
Метрология и качество программного обеспечения
Учебная программа
Глазов 2008
Утверждена на заседании Ученого Совета факультета социальных и информационных технологий
Дата ______ Протокол №______
Учебная программа
Дисциплина - Метрология и качество программного обеспечения
Специальность: 351500– «Математическое обеспечение и администрирование информационных систем»
Составитель – к.т.н., доцент А.Г. Шкляев
© Глазовский государственный педагогический институт, 2008
-
ЦЕЛЬ И ЗАДАЧИ ДИСЦИПЛИНЫ
Цель курса - приобретение студентами знаний, формирование умений и навыков в области метрологии и оценки качества программного обеспечения (ПО).
В результате изучения курса "Метрология и качество программного обеспечения" студент должен знать: основные принципы оценки качества программного обеспечения; уметь изложить основные положения и теории, связанные с оценкой качества программного обеспечения.
Дисциплина относится к блоку дисциплин специальности федерального компонента и изучается в седьмом семестре.
-
В методическом отношении курс включает лекции, семинарские и лабораторные занятия, выполнение курсовой работы или дипломной работы, а так же самостоятельную работу студентов. После обучения студенты сдают экзамен по курсу.
-
ТРЕБОВАНИЯ К УРОВНЮ ОСВОЕНИЯ СОДЕРЖАНИЯ ДИСЦИПЛИНЫ
В результате изучения курса студент должен:
-
Изучить основные принципы оценки качества программного обеспечения;
-
Знать основные положения и теории, связанные с оценкой качества программного обеспечения иметь практические навыки работы с ними;
-
Иметь представление о метриках и моделях, применяемых для оценки качества программного обеспечения.
3. Объем дисциплины и виды учебной работы
-
Вид учебной работы
|
Всего часов
|
Семестры
|
Общая трудоемкость |
100
|
7
|
Аудиторные занятия |
48
|
|
Лекции
|
20
|
|
Семинары
|
10
|
|
Лабораторные работы
|
18
|
|
Самостоятельная работа
|
52
|
|
Контроль самостоятельной
работы
|
-
|
|
Курсовые работы/ВКР
|
По выбору студента
|
|
Вид итогового контроля
|
|
зачет и экзамен
|
4.СОДЕРЖАНИЕ ДИСЦИПЛИНЫ
4.1. РАЗДЕЛЫ ДИСЦИПЛИНЫ И ВИДЫ ЗАНЯТИЙ
-
№п/п
| Разделы дисциплины |
Лекции
|
Практ.
|
Лабор.
|
1.
|
Введение. Основные понятия. Основные определения. Задачи метрологии ПО.
|
Х
|
Х
|
|
2.
|
Критерии качества: сложность, корректность, надежность, трудоемкость.
|
Х
|
Х
| Х |
3.
|
Метрическая теория программ
Понятие программной метрики.
|
Х
|
Х
| Х |
4.
| -
Процедурно-ориентированные метрики, основанные на лексическом анализе, анализе потока управления, взаимодействии системных компонентов.
|
Х
|
Х
| Х |
5.
| -
Модели надежности программного обеспечения.
|
Х
|
Х
| Х |
6.
| -
Оценка сложности и корректности программ
|
Х
|
Х
| Х |
4.2. СОДЕРЖАНИЕ РАЗДЕЛОВ ДИСЦИПЛИНЫ
4.2.1.
Введение. Основные понятия. Основные определения. Задачи метрологии ПО
Задача количественной оценки качества программного обеспечения; критерии качества: сложность, корректность, надежность, трудоемкость;
Этапы жизненного цикла программы.
4.2.2. Критерии качества ПО
Оценки качества программного обеспечения. Критерии качества: сложность, корректность, надежность, трудоемкость…. ISO 9126.
4.2.3. Метрическая теория программ
Основные понятия метрики: интервальные, порядковые и категорийные шкалы. Способы и алгоритмы вычисления значений. Цели использования метрик: контроль процесса разработки, качества, сложности, управляемости проекта, выявление недостатков. Интервальные метрики. Порядковые и категорийные шкалы.
4.2.4. Процедурно-ориентированные метрики.
Метрики Холстеда: словарь, длина, объем и уровень сложности программы. Цикломатическая сложность МакКейба. Метрика Джилба.
4.2.5. Модели надежности программного обеспечения.
Основные модели, способы и алгоритмы вычисления значений.
Примеры оценки качества программного обеспечения при помощи различных моделей (Шумана, Нельсона, Коркорэна, Мусы и т.п.). Тестирование программ.
4.2.6. Оценка сложности и корректности программ
Инструментальные программные и аппаратные средства измерений и количественной оценки программного обеспечения.
4.3. Рекомендуемый перечень семинарских занятий
-
1. Оценки качества программного обеспечения. Критерии качества: сложность, корректность, надежность, трудоемкость. Этапы жизненного цикла ПО.
-
2. Понятие программной метрики. Цели использования метрик: контроль процесса разработки, качества, сложности, управляемости проекта, выявление недостатков дизайна. Интервальные метрики. Порядковые и категорийные шкалы. Основные модели, способы и алгоритмы вычисления значений.
-
3.Процедурно-ориентированные метрики. Процедурно-ориентированные метрики, основанные на лексическом анализе, анализе потока управления, взаимодействии системных компонентов. Метрики Холстеда: словарь, длина, объем и уровень программы, уравнение работы. Цикломатическая сложность МакКейба.
-
4. Модели оценки качества программного обеспечения. Формальные обозначения и терминология. Примеры оценки качества ПО при помощи моделей Шумана, Нельсона, Коркорэна, Мусы…
-
5. Оценка сложности и корректности программ. Измерения и оценка сложности программ и программных комплексов на различных этапах жизненного цикла. Корректность программ: формальная, детерминированная, стохастическая, динамическая. Эталоны. Методы измерений и проверки корректности. Надежность программ.
5. УЧЕБНО-МЕТОДИЧЕСКОЕ ОБЕСПЕЧЕНИЕ
Основная литература
-
Благодатских В.А., Волнин В.А., Поскакалов К.Ф. Стандартизация разработки программных продуктов: Учебное пособие для вузов. М.: Финансы. 2005.
-
Орлов С.А. Технологии разработки программного обеспечения. Разработка сложных программных систем. М., С-Птб. Питер. 2002 (электронный вариант)
дополнительная литература
-
Тамре Л. Введение в тестирование программного обеспечения. М.: Вильямс. 2003
-
Карло Гецци, Мехди Джазайери, Дино Мандриоли. Основы инженерии программного обеспечения. С-Птб. БХВ-Петербург. 2005.
-
Назаров Метрология. Основные понятия и математические модели. Учебное пособие для Вузов. М.: Высшая школа.2002.
-
Дастин Э. Автоматизированное тестирование программного обеспечения: внедрение, управление и эксплуатация. М.: Лори. 2003.
-
Липаев.В.В. Анализ и сокращение рисков проектов сложных программных средств. (Управление качеством). М.: Синтез. 2005.
-
М.Х. Холстед. Начала науки о программах - 1981.
-
ИСО 9000-3: ИСО 9001 Общее руководство качеством и стандарты по обеспечению качества, часть 3: Руководящие указания по применению ИСО 9001 при разработке, поставке и обслуживанию программного обеспечения. Международная организация стандартов Женева - 1991.
-
ИСО/МЭК 9126 Информационные технологии. Оценка продукции программного обеспечения. Характеристики качества и инструкции по их применению. Международная организация стандартов Женева - 1991.
Ресурсы интернет
-
Модели и метрики оценки качества ПО (рус.)
-
Статический анализ программ (рус.)
-
Технологии оценки качества программных продуктов (рус.)
-
Обзор паттернов проектирования (рус.)
-
Patterns home page (eng)
Вопросы к экзамену
-
Введение. Основные понятия. Задачи метрологии ПО.
-
Специфические особенности программных средств ВТ. ПС - новый вид товарной продукции.
-
Модели жизненного цикла программ, каскадная и спиральная. Содержание основных этапов жизненного цикла ПС.
-
ГОСТ Р ISO МЭК 9126 1993. Оценка программного продукта. Характеристики качества и руководство по их применению.
-
Оценки качества программного обеспечения. Критерии качества.
-
Понятие метрики. Основные направления применения метрик. Обзор наборов метрик.
-
Понятие шкала метрики. Уровни ранжирования шкалы метрики.
-
Метрика Джилба.
-
Метрики Холстеда.
-
Метрика МакКейба. Цикломатическое число МакКейба.
-
Оценка надежности и стоимости программного обеспечения по Майерсу.
-
Общая характеристика методов тестирования. Принципы и методы тестирования ПС.
-
Ошибки ПС. Причины ошибок в ПС.
-
Классификация программных ошибок.
-
Общая характеристика моделей надежности ПС.
-
Модель Коркорэна.
-
Модель Миллса.
-
Модель простая интуитивная.
-
Модель Муса.
-
Модель Шумана.
-
Модель Нельсона.
-
Факторы влияющие на сбой или отказ ПО. Причины отказов программ.
-
Методы тестирования программного обеспечения. Основные этапы тестирования.
-
Метрика уровеня комментированности программ.
-
Метрика уровня комментированности программ.
-
Определение уровней ранжирования метрики качества по ГОСТ Р ИСО/МЭК 9126-93
-
Тематика курсовых работ
-
1. Основы метрологии программных средств. Роль метрологии в повышении качества программных средств
-
2. История русской метрологии XI-XXв.
-
3. Метрология и научно-технический прогресс.
-
4. Применение метрик в управлении качеством программных средств.
-
5. Характеристика показателей качества программных средств.
-
6. Методы определения численных значений показателей качества программных средств.
-
7. Сложность проектирования и функционирования программных средств.
-
8. Оценка структурной сложности программных средств.
-
9. Корректность программных средств и методы ее измерения.
-
10. Ошибки в программных средствах.
-
11. Применение метрики программных средств для обнаружения и устранения ошибок.
-
12. Верификация и синтез программ.
-
13. Методы испытаний программ на надежность.
-
14. Технико-экономические показатели разработки программных средств и их оценка.
-
15. Эмпирические модели надежности программных средств.
-
16. Динамические модели надежности программных средств.
-
17. Статические модели надежности программных средств.
-
18. Моделирование и обеспечение надежности в процессе создания программных средств.
-
19. Роль сертификации программных средств в повышении их качества и конкурентоспособности.
-
20. Нормативное обеспечение сертификации программных средств.
-
21. Стандартизация программных средств и ее место в управлении качеством программных средств.
-
22. Органы и службы стандартизации в РФ.
-
23. Международная стандартизация,ее роль в мировой экономике.
-
МАТЕРИАЛЬНО-ТЕХНИЧЕСКОЕ ОБЕСПЕЧЕНИЕ
-
Аудитории и компьютерные классы;
-
Технические и аудиовизуальные средства обучения;
-
Комплекты программных продуктов приобретенных институтом;
-
Методические рекомендации по организации изучения дисциплины
7.1. Рекомендации по организации самостоятельной работы студентов
Самостоятельная работа студентов осуществляется в аудиториях, компьютерных классах и библиотеке с основной и дополнительной литературой, а также по методическим указаниям и инструкциям. В процессе самостоятельной работы по изучению дисциплины студенты могут выполнять курсовые работы и выпускные квалификационные работы, а также по отдельным темам по поручению преподавателя могут разрабатывать доклады и рефераты. При этом желательно использование компьютера и Интернет ресурсов. Для самостоятельных занятий студентов по темам на лекциях записываются вопросы с указанием литературы.
-
Организация контроля самостоятельной работы студентов
-
Материал для проведения контрольного среза в соответствии с содержанием государственного стандарта включает наиболее важные и основополагающие понятия и положения дисциплины и состоит из контрольных вопросов и задач. Причем в задачах отражены наиболее известные модели для вычисления надежности ПО.
-
При выполнении контрольно-измерительных материалов по данной дисциплине студенты могут пользоваться справочной литературой для поиска и использования в расчетах некоторых табличных и статистических данных, коэффициентов и эмпирических математических выражений.
Для контроля усвояемости материала и контроля самостоятельных занятий ниже представлены конторольно-измерительные материалы. При этом для проведения письменного контрольного среза в течение двух академических часов необходимо выбрать два вопроса и одну задачу.
Вопросы:
-
Задача количественной оценки качества программного обеспечения.
-
Понятие программной метрики. Цели использования метрик. Метрики Холстеда.
-
Аналитические модели определения качества программных средств. Модель Миллса.
-
Этапы жизненного цикла программных продуктов.
-
Метрики МакКейба и Джилба.
-
Критерии оценки качества ПО: сложность, корректность, надежность, трудоемкость.
-
Оценка качества программного обеспечения по ГОСТ Р ISO 9126.
-
Факторы влияющие на надежность ПО. Причины отказов программ.
-
Метрика уровня комментированности программ.
-
Методы и этапы тестирования программ.
Задачи:
Задача 1.
В процессе тестирования программы 1-я группа нашла 5 ошибок, 2-я группа нашла 2 ошибки, общих ошибок было 2. Определить надёжность по простой интуитивной модели.
Задача 2.
В процессе тестирования программы 1-я группа нашла 35 ошибок, 2-я группа нашла 25 ошибки, общих ошибок было 20. Определить надёжность по простой интуитивной модели.
Задача 3.
В процессе тестирования программы 1-я группа нашла 5 ошибок, 2-я группа нашла 40 ошибок, общих ошибок было 5. Определить надёжность по простой интуитивной модели.
Задача 4
Оттестировать и оценить надёжность по модели Коркорэна. Было проведено 100 испытаний программы. 20 из 100 испытаний прошли безуспешно, а в остальных случаях получились следующие данные:
Тип ошибки
|
Вероятность появления
|
Вероятность появления ош. При исп. Ni
|
1. Ошибки вычисления
|
0,09
|
8
|
2. Логические ошибки
|
0,26
|
--
|
3. Ошибки ввода/вывода
|
0,17
|
4
|
4. Ошибки манипулирования данными
|
0,2
|
25
|
5. Ошибки сопряжения
|
0,8
|
25
|
6. Ошибки определения данных
|
0,08
|
3
|
7. Ошибки в БД
|
0,16
|
5
|
Задача 5
Оттестировать и оценить надёжность по модели Коркорэна. Было проведено 100 испытаний программы. 20 из 100 испытаний прошли безуспешно, а в остальных случаях получились следующие данные:
Тип ошибки
|
Вероятность появления
|
Вероятность появления ош. При исп. Ni
|
1. Ошибки вычисления
|
0,2
|
4
|
2. Логические ошибки
|
0,26
|
3
|
3. Ошибки ввода/вывода
|
0,17
|
11
|
4. Ошибки манипулирования данными
|
0,9
|
--
|
5. Ошибки сопряжения
|
0,08
|
3
|
6. Ошибки определения данных
|
0,8
|
5
|
7. Ошибки в БД
|
0,16
|
25
|
Задача 6.
Оценить надёжность по модели Шумана.
Дано:
Общее число операторов:19000
Оценка осуществляется после 8 прогонов.
Данные:
Tчас 0.5 0.3 0.75 0.1 0.3 0.4 0.3 0.4
Кол-во
ошибок 1 4 2 2 1 2 2 1
Задача 7.
Программа находится в процессе испытаний 15 часов. При этом было выявлено 40 ошибок. Коэффициент сжатия тестов = 6. Первоначальное число ошибок в программе – 90. Заданная наработка на отказ – 4. Количество операторов в программе – 1300.
V = 108; K = 3*10-7;
Найти надёжность по модели Муса?
Задача 8.
Программа находится в процессе испытаний 15 часов. При этом было выявлено 35 ошибок. Коэффициент сжатия тестов = 4. Первоначальное число ошибок в программе – 120. Заданная наработка на отказ – 6. Количество операторов в программе – 1800.
V=1000; К= 0,0000005;
Найти надёжность по модели Муса?
-
Критерии оценки
-
При определении требований к оценке среза знаний предлагается руководствоваться следующим:
-
Оценки «отлично» заслуживает студент, обнаруживший всесторонние, систематические и глубокие знания программного материала, умение свободно выполнять задания, предусмотренные КИМами и выполнивший все три задания.
-
Оценки «хорошо» заслуживает студент, обнаруживший полное знание учебного материала, показавший систематический характер знаний по дисциплине решивший задачу и давший полный ответ на один из вопросов и сделав небольшие погрешности в ответе на другой вопрос.
-
Оценки «удовлетворительно» заслуживает студент ответивший на два вопроса или один вопрос и задачу.
-
Оценка «неудовлетворительно» выставляется студенту, обнаружившему пробелы в знаниях основного учебного материала, допустившему принципиальные ошибки в выполнении заданий.
К погрешностям принципиального характера следует отнести:
-
отсутствие фрагментов знаний по содержанию вопросов;
-
слабость навыков анализа по оценке качества ПО;
-
отсутствие четкого понимания содержания и условий применения методов оценки качества ПО;
-
отсутствие системности приобретенных знаний.
-
-
Технология обучения по дисциплине «Метрология и качество ПО»
Технология обучения:
1) лекционный курс; 2) семинарские занятия; 3) лабораторные работы; 4) самостоятельная деятельность студентов; 5) диагностика качества знаний.
-
Изложение лекционного курса традиционное.
-
Семинарские занятия ведутся по разработанному плану, который предусматривает обсуждение теоретических и практических аспектов работы с метриками и моделями качества ПО.
-
Лабораторные занятия проходят в компьютерных классах. Студенты выполняются лабораторные работы на компьютере и оформляют отчеты в рабочей тетради.
-
Самостоятельная деятельность студентов включает изучение теоретического материала, решение практических задач, выполнение курсовых и выпускных квалификационных работ.
-
Диагностика качества знаний осуществляется в форме зачета и экзамена, а также тестирования остаточных знаний.
Новые формы и методы обучения:
1) средства организации познавательной деятельности; 2) организация самостоятельной работы; 3) ориентация на практическую деятельность; 4) организация научно-исследовательской деятельности студентов; 5) использование новых информационных технологий и вычислительной техники.
-
Лабораторные занятия проводятся на базе компьютерного класса стандартной конфигурации, оснащенного IBM-совместимыми компьютерами с процессорами типа Celeron.
-
Студенты изучают материал лекций. Они должны знать термины и положения, уметь самостоятельно решать типовые задачи, изучить литературу, рекомендованную в плане семинарских занятий. После изучения дисциплины студент должен знать основные метрики и модели, применяемые для оценки качества программного обеспечения. Основную нормативную документацию по оценке качества ПО.
-
На лабораторных занятиях студенты работают с компьютером под руководством преподавателя. После выполнения лабораторных работ у каждого студента остается отчет и электронный носитель информации, в которых приведены результаты выполнения лабораторных работ. Учебный материал курса играет важную роль в формировании научного мировоззрения в области определения качества ПО будущего математика-программиста.
4. Студенты выполняют домашние индивидуальные работы (курсовые и выпускные квалификационные работы), представляя их в последующем преподавателю для проверки в соответствии с графиком выполнения.
5. При изучении курса используются электронные версии методических материалов, выставленные на сайте института по адресу «Мой компьютер»\ houm на «белка» (U:\).