Рабочая программа

Вид материалаРабочая программа

Содержание


Рабочая программа
Информатика и вычислительная техника
Цель и задачи дисциплины
Требования к уровню освоения дисциплины
Содержание рабочей программы
Перечень лабораторных работ
Изосимов А.В., Рыжко А.Л. Метрическая оценка качества программ.- М., МАИ, 1989.
Иыуду К.А. Надежность, контроль и диагностика вычислительных машин и систем. Учебное пособие для ВУЗов.- М.: Высшая школа, 1989.
Липаев В.В. Качество программного обеспечения. - М.: Финансы и статистика, 1983.
Кирьянчиков В.А.
Лисс А.Р.
Подобный материал:

Министерство образования Российской Федерации


Санкт-Петербургский государственный электротехнический

университет “ЛЭТИ”


РАБОЧАЯ ПРОГРАММА

дисциплины



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


Для подготовки дипломированных специалистов по направлению: 654600 -“ИНФОРМАТИКА И ВЫЧИСЛИТЕЛЬНАЯ ТЕХНИКА” по специальности 220400 --“Программное обеспечение вычислительной техники и автоматизированных систем”








Санкт - Петербург


2001


Санкт-Петербургский государственный электротехнический

университет “ЛЭТИ”


“УТВЕРЖДАЮ”



Проректор по учебной работе


д.т.н., проф. Ушаков В.Н.

“____”____________ 2001 г.


РАБОЧАЯ ПРОГРАММА

дисциплины



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

Для подготовки дипломированных специалистов по направлению: 654600 -“ ИНФОРМАТИКА И ВЫЧИСЛИТЕЛЬНАЯ ТЕХНИКА” по специальности 220400 --“Программное обеспечение вычислительной техники и автоматизированных систем”



Факультет компьютерных технологий и информатики

Кафедра математического обеспечения и применения ЭВМ


Курс – 5

Семестр – 10

Лекции

45 ч.




Экзамен

10 семестр































Лабораторные занятия

15 ч.




Зачет

10 семестр



















Аудиторные занятия

60 ч.




Самостоятельные занятия

70 ч.




Всего часов

130 ч.






2001

Рабочая программа обсуждена на заседании кафедры математического обеспечения и применения ЭВМ “____”_______________2001 г., протокол №______.


Рабочая программа согласована с рабочими программами изученных ранее дисциплин:

1) Организация ЭВМ и систем

2) Программирование и основы алгоритмизации


Рабочая программа одобрена методической комиссией факультета компьютерных технологий и информатики “____”_____________2001г.


Цель и задачи дисциплины:


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


Требования к уровню освоения дисциплины



В результате изучения курса студенты должны:

  1. ЗНАТЬ основные положения метрологии программных продуктов, принципы построения, проектирования и использования средств для измерений характеристик и параметров программ, программных систем и комплексов;
  2. УМЕТЬ оценивать качество и эффективность ПО при решении задач разработки, проверки корректности, тестирования, выбора и усовершенствования программ в различных предметных областях;
  3. ИМЕТЬ представление об основных направлениях развития метрологии ПО и проблемах разработки программных средств для автоматизации оценивания качества программ.






Содержание рабочей программы




Тема 1. Назначение курса. Основные понятия и термины метрологии ПО.

Стандарты в области качества ПО.


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


Тема 2. Понятие качества программного продукта (ПП).

Показатели и характеристики качества ПП.


Результаты разработки программного обеспечения: спецификация, проект, код, документация, тестовые наборы. Показатели, характеризующие качество разработки ПП. Характеристики качества собственно ПП: Корректность, Надежность, Сложность, Эффективность, Удобство использования, Сопровождаемость, Мобильность.


Тема 3. Критерии качества разработки и использования ПП.

Виды метрики качества ПП. Проблемы управления качеством.


Этапы цикла жизни ПП. Статический и динамический анализ качества ПП. Критерии качества технологий проектирования ПО и критерии качества собственно ПП. Функциональ-ные и конструктивные критерии качества ПП. Виды метрик для оценки качества ПП: номи-нальные, порядковые, ранжирующие. Организация сбора метрик качества ПП. Управление качеством ПП по результатам обработки метрик.


Тема 4. Интегральные метрики оценки сложности ПП


Концептуальные модели и метрики сложности ПП. Подход Холстеда, основанный на измеряемых свойствах программы. Интегральные метрики длины и объема программы. Метрики информационного уровня программы и уровня языка программирования. Интеллектуальное содержание программы. Метрики работы и времени программирования. Метрики ожидаемого числа ошибок в программе. Устранение несовершенств программы по метрикам Холстеда.


Тема 5. Измерительные методы анализа качества программ. Аппаратные мониторы.


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


Тема 6. Программные измерительные мониторы.


Принцип действия программных измерительных мониторов (ПИМ). Классификация ПИМ. Обобщенная структура ПИМ. Организации функциональной и системной частей. Способы трассирования исходных и загрузочных программных модулей. Типовые ПИМ для контроля работоспособности и оценивания производительности программ. Достоинства и недостатки ПИМ.


Тема 7. Примеры серийных и уникальных ПИМ.


ПИМ "TurboProfiler" как серийный монитор ПК Intel 80X86 для ОС MSDOS. Назначение и возможности. Организация измерений. ПИМ Vtune как серийный монитор для ПК Intel80X86 под ОС WINDOWS. Назначение и возможности. Организация измерений. Достоинства и недостатки. ПИМ "Sampler" - монитор уникального типа для ПК Intel 80X86. Схема и методика измерений. Временная диаграмма снятия отсчета. Способ коррекции измерений.


Тема 8. Оценки корректности программ.


Понятие корректности программ. Методы проверки корректности. Особенности корректности текстов программ, программных модулей и корректности данных. Основные задачи анализа корректности программ. Валидация и верификация ПП. Доказательство корректности программ. Правила индуктивного вывода и аксиоматические методы Хоара.

Особенности методов тестирования, влияющих на корректность программ.


Тема 9. Модели описания структур программ. Оценка трудоемкости

разработки ПП по метрикам структурной сложности.


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


Тема 10. Отладчики и методы отладки ПП


Назначение, функции и архитектура Отладчика. Аппаратная и системная поддержка отладочного режима.· Контрольные точки и выполнение программ в пошаговом режиме. Наблюдение данных и контекста программы. Многопоточная (multithreaded) отладка. Отладка приложений графического интерфейса пользователя.


Тема 11. Тестирование программных продуктов.


Цели, методы и критерии тестирования. Понятие теста. Основные принципы тестирования. Критерии завершения тестирования. Объекты тестирования. Категории тестов. для различных объектов тестирования. Тестирование на основе потока управления. Критерии покрытия решений, покрытия условий и комбинаторного покрытия условий. Функциональное тестирование. Метод эквивалентного разбиения. Анализ граничных значений. Тестирование программ при отладке. Тестирование программ при сопровождении.


Тема 12. Оценки надежности программ.


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


ЗАКЛЮЧЕНИЕ

Перспективы развития методов и систем автоматизации измерения характеристик программ.

Перечень лабораторных работ





Наименование работы

Номер темы

1

Расчет характеристик качества разработки программ по метрикам Холстеда



4

2

Измерение и настройка характеристик динамической сложности программ с помощью стандартного профилировщика TurboProfiler


7,8

3

Измерение и настройка характеристик динамической сложности программ с помощью профилировщика Vtune


7,8

4

Поиск «узких мест» и улучшение характеристик динамической сложности

Программ с помощью уникального профилировщика Sampler.


7,8

5

Разработка графовых моделей программ. Выделение маршрутов и оценка структурной сложности программных модулей.


9

6

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


10

7

Выбор тестов и проведение тестирования ПП на основе методов

структурного и функционального тестирования

Организация функционирования сетей ЭВМ

11

8

Оценка параметров надежности программ по временным моделям обнаружения ошибок


12


Распределение учебных часов по темам и видам занятий





те

мы

Название разделов и тем

Объем учебных часов


Лек

Лаб.

Раб.

Ауд.

занят

Сам.

Раб.

Всего

Сем.

1

Назначение курса. Основные понятия и термины. Стандарты в области качества ПО.


2




2




2

10

2

Понятие качества программного продукта. Показатели и характеристики качества ПП.


2




2

2

4

10

3

Критерии качества ПП. Виды метрик качества. Проблемы управления качеством ПП.


2




2

2

4

10

4

Интегральные метрики оценки сложности ПП


6

2

8

8

16

10

5

Измерительные методы анализа программ. Аппаратные мониторы.


4




4

6

10

10

6

Программные измерительные мониторы.


2




2

4

6

10

7

Примеры серийных и уникальных ПИМ.



4

5

9

10

19

10

8

Оценка корректности программ.


4




4

8

12

10

9

Модели структур программ. Оценка трудоемкости ПП по метрикам структурной сложности.

4




4

6

10

10

10

Отладчики и методы отладки ПП.

2

2

4

6

10

10

11

Тестирование программных продуктов.


6

4

10

10

20

10

12

Оценка надежности программ.


6

2

8

8

16

10




Заключение.


1




1




1

10

ИТОГО:

45

15

60

70

130






ЛИТЕРАТУРА


Основная




Название, библиографическое описание

Л

Лр

К-во экз. в библ. (на каф.)

Гриф

1
Изосимов А.В., Рыжко А.Л. Метрическая оценка качества программ.- М., МАИ, 1989.

10

10

Уч 0,

ф 2

ГК СССР по нар.обр.

2
Иыуду К.А. Надежность, контроль и диагностика вычислительных машин и систем. Учебное пособие для ВУЗов.- М.: Высшая школа, 1989.

10

10

Уч 0,

ф 2

ГК СССР по нар.обр.

3

Кузовлев В.И.,Шкатов П.Н. Разработка САПР: в 10 кн. Кн.8: Математические методы анализа производительности и надежности САПР, М.: Высшая школа, 1990.


10

10

Уч 11,

ф 2

ГК СССР по нар.обр.



Дополнительная





Название, библиографическое описание

К-во экз. в библ.

1
Липаев В.В. Качество программного обеспечения. - М.: Финансы и статистика, 1983.

16

2
Холстед М.Х. Начала науки о программах. - М.: Финансы и статистика,1981.

17

3

Майерс Г. Искусство тестирования программ.- М.: Финансы и статистика,1982.


48

4

Боэм Б. и др. Характеристики качества программного обеспечения. Пер. с англ. Е.К.Масловского. - М.: Мир, 1981.


0

5

Назаров С.В.,Барсуков А.Г. Измерительные средства и оптимизация вычислительных систем.- М.:Радио и связь, 1990.- 248с.


0

6

Коган Б.И. Экспериментальные исследования программ.- М.: Наука,

1988.- 184с.


0



Автор




к.т.н., доцент

Кирьянчиков В.А.








Рецензент




к.т.н., доцент

Казак А.Ф.







Зав. кафедрой МОЭВМ




д.т.н., профессор

Лисс А.Р.








Декан факультета КТИ




д.т.н., профессор

Герасимов И.В.







Программа согласована:










Зав.отделом учебной литературы

Смирнова О.Н.







Председатель методической комиссии факультета КТИ




к.т.н., доцент

Чугунов Л.А.

Руководитель методического отдела,




к.т.н., доцент

Марасина Л.А.