Рабочая программа
Вид материала | Рабочая программа |
- Рабочая программа по дисциплине: Экономика недвижимости для специальности: Экспертиза, 293.4kb.
- Рабочая программа по дисциплине: Теоретические основы оценки собственности для специальности:, 226.61kb.
- Рабочая программа по дисциплине: Экономика недвижимости для специальности: Экономика, 293.45kb.
- Рабочая программа По истории 10 класс Пояснительная записка, 116.13kb.
- Рабочая программа учебной дисциплины ф тпу 1 -21/01, 102.93kb.
- Рабочая программа учебной дисциплины ф тпу 1-21/01 утверждаю, 68.83kb.
- Рабочая программа Программа лекционного курса План практических занятий, 1059.44kb.
- Рабочая программа Программа лекционного курса План практических занятий, 825.14kb.
- М. К. Аммосова программа к урса строение вещества для государственных университетов, 197.97kb.
- Рабочая программа по дисциплине «разработка и управление социальными проектами и программами», 92.78kb.
Министерство образования Российской Федерации
Санкт-Петербургский государственный электротехнический
университет “ЛЭТИ”
РАБОЧАЯ ПРОГРАММА
дисциплины
Качество и надежность программного обеспечения
Для подготовки дипломированных специалистов по направлению: 654600 -“ИНФОРМАТИКА И ВЫЧИСЛИТЕЛЬНАЯ ТЕХНИКА” по специальности 220400 --“Программное обеспечение вычислительной техники и автоматизированных систем”
Санкт - Петербург
2001
Санкт-Петербургский государственный электротехнический
университет “ЛЭТИ”
“УТВЕРЖДАЮ”
Проректор по учебной работе
д.т.н., проф. Ушаков В.Н.
“____”____________ 2001 г.
РАБОЧАЯ ПРОГРАММА
дисциплины
Качество и надежность программного обеспечения
Для подготовки дипломированных специалистов по направлению: 654600 -“ ИНФОРМАТИКА И ВЫЧИСЛИТЕЛЬНАЯ ТЕХНИКА” по специальности 220400 --“Программное обеспечение вычислительной техники и автоматизированных систем”
Факультет компьютерных технологий и информатики
Кафедра математического обеспечения и применения ЭВМ
Курс – 5
Семестр – 10
Лекции | 45 ч. | | Экзамен | 10 семестр |
| | | | |
| | | | |
Лабораторные занятия | 15 ч. | | Зачет | 10 семестр |
| | | | |
Аудиторные занятия | 60 ч. | |
Самостоятельные занятия | 70 ч. | |
Всего часов | 130 ч. | |
2001
Рабочая программа обсуждена на заседании кафедры математического обеспечения и применения ЭВМ “____”_______________2001 г., протокол №______.
Рабочая программа согласована с рабочими программами изученных ранее дисциплин:
1) Организация ЭВМ и систем
2) Программирование и основы алгоритмизации
Рабочая программа одобрена методической комиссией факультета компьютерных технологий и информатики “____”_____________2001г.
Цель и задачи дисциплины:
Качество и надежность программного обеспечения (ПО) – дисциплина, изучающая проблемы выбора и оценивания характеристик качества ПО на этапах от разработки спецификаций до завершения отладки и тестирования программного продукта. В курсе рассматриваются критерии, характеристики и метрики качества ПО; особый упор делается на характеристики корректности, надежности и сложности программ. Изучаются формальные модели и методы оценивания как статических, так и динамических характеристик качества ПО, позволяющие на различных стадиях разработки выявлять просчеты и дефекты программного изделия. Рассматриваются инструментальные средства поддержки и автоматизации анализа качества ПО.
Требования к уровню освоения дисциплины
В результате изучения курса студенты должны:
- ЗНАТЬ основные положения метрологии программных продуктов, принципы построения, проектирования и использования средств для измерений характеристик и параметров программ, программных систем и комплексов;
- УМЕТЬ оценивать качество и эффективность ПО при решении задач разработки, проверки корректности, тестирования, выбора и усовершенствования программ в различных предметных областях;
- ИМЕТЬ представление об основных направлениях развития метрологии ПО и проблемах разработки программных средств для автоматизации оценивания качества программ.
Содержание рабочей программы
Тема 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 |
Автор | |
к.т.н., доцент | Кирьянчиков В.А. |
| |
Рецензент | |
к.т.н., доцент | Казак А.Ф. |
| |
Зав. кафедрой МОЭВМ | |
д.т.н., профессор | Лисс А.Р. |
| |
Декан факультета КТИ | |
д.т.н., профессор | Герасимов И.В. |
| |
Программа согласована: | |
| |
Зав.отделом учебной литературы | Смирнова О.Н. |
| |
Председатель методической комиссии факультета КТИ | |
к.т.н., доцент | Чугунов Л.А. |
Руководитель методического отдела, | |
к.т.н., доцент | Марасина Л.А. |
| |