Министерство образования Российской Федерации Санкт-Петербургский государственный электротехнический университет “ЛЭТИ”
...
25 downloads
187 Views
211KB Size
Report
This content was uploaded by our users and we assume good faith they have the permission to share this book. If you own the copyright to this book and it is wrongfully on our website, we offer a simple DMCA procedure to remove your content from our site. Start by pressing the button below!
Report copyright / DMCA form
Министерство образования Российской Федерации Санкт-Петербургский государственный электротехнический университет “ЛЭТИ”
РАБОЧАЯ ПРОГРАММА дисциплины Технология разработки программного обеспечения Для подготовки дипломированных специалистов по направлению 654600 – “Информатика и вычислительная техника” по специальности 220400 -“Программное обеспечение вычислительной техники и автоматизированных систем”.
Санкт-Петербург 2001
Санкт-Петербургский государственный электротехнический университет “ЛЭТИ”
“УТВЕРЖДАЮ” Проректор по учебной работе проф. ___________ Ушаков В.Н. “_____”_______________2001 г.
РАБОЧАЯ ПРОГРАММА дисциплины Технология разработки программного обеспечения Для подготовки дипломированных специалистов по направлению 654600 –“Информатика и вычислительная техника” по специальности 220400 -“Программное обеспечение вычислительной техники и автоматизированных систем”. Факультет компьютерных технологий и информатики Кафедра математического обеспечения и применения ЭВМ Курс – 4 Семестр – 8 Лекции
60 ч.
Экзамен
8 семестр
Лабораторные занятия
15 ч.
Зачет
8 семестр
Курсовое проектирование
15 ч.
Аудиторные занятия Самостоятельные занятия Всего часов
90 ч. 80 ч. 170 ч.
2001
2
Рабочая программа обсуждена на заседании кафедры Математического обеспечения и применения ЭВМ “____”_______________2001 г., протокол №______. Рабочая программа составлена в соответствии с государственным образовательным стандартом по направлению 654600 –“Информатика и вычислительная техника” и специальности 220400 -“Программное обеспечение вычислительной техники и автоматизированных систем”. Рабочая программа согласована с рабочими программами изученных ранее дисциплин: 1) Программирование; 2) Структуры и алгоритмы обработки данных; 3) Теория вычислительных процессов. 4) Теория языков программирования и методы трансляции. 5) Базы данных. Рабочая программа одобрена методической комиссией факультета компьютерных технологий и информатики “____”_____________2001г.
3
Цели и задачи дисциплины 1. Изучение методов проектирования и производства программного продукта, принципов построения, структуры и приемы работы с инструментальными средствами, поддерживающими создание программного обеспечения; методов организации работы в коллективах разработчиков программного обеспечения. 2. Формирование навыков проектирования, реализации, оценки качества и анализа эффективности программного обеспечения. Требования к уровню освоения дисциплины В результате изучения дисциплины студенты должны: 1. Знать методы проектирования и производства программного продукта, принципы построения, структуры и приемы работы с инструментальными средствами, поддерживающими создание программного обеспечения; методы организации работы в коллективах разработчиков программного обеспечения; основные положения метрологии программных продуктов, принципы построения, проектирования и использования средств для измерений характеристик и параметров программ, программных систем и комплексов. 2. Уметь применять методы проектирования и производства программного продукта, принципы построения, структуры и приемы работы с инструментальными средствами, поддерживающими создание программного обеспечения; методы организации работы в коллективах разработчиков программного обеспечения; основные положения метрологии программных продуктов, принципы построения, проектирования и использования средств для измерений характеристик и параметров программ, программных систем и комплексов. 3. Иметь представление о проблемах и направлениях развития технологии программирования; об основных методах и средствах автоматизации проектирования, производства, испытаний и оценки качества программного обеспечения; о направлениях развития методов и программных средств коллективной разработки программного обеспечения. Содержание рабочей программы ВВЕДЕНИЕ
Предмет и задачи дисциплины. Методология изучения технологии программирования. Перечень вопросов, относящихся к технологии разработки программных систем. Связь с другими дисциплинами. Анализ учебной литературы. Тема 1. Жизненный цикл программных систем Программа, программная система. Программный продукт. Программная систем как технологический объект. Концепция программной системы (ПС) как изделия, имеющего самостоятельное значение, процессы проектирования и изготовления которого аналогичны процессам, связанным с созданием любых других изделий. Понятие жизненного цикла программных систем. Модели жизненного цикла программных систем: поэтапная, каскадная, спиральная и др. Матрица фазы-функции. Возможности формализации и автоматизации отдельных стадий и этапов жизненного цикла.
4
Тема 2. Сложность программных систем Основные проблемы разработки программных систем. Сложность как основная проблема программирования. Источники сложности. Способы борьбы со сложностью. Модульность программных систем. Эволюция модульного подхода. Интерфейс. Проблемы экспорта-импорта данных. Контекст. Пакетирование модулей. Задачи. Требования к оформлению модулей в промышленной технологии программирования: средства настройки, раздельная компиляция, статическое и динамическое связывание модулей. Тема 3. Качество программных систем Качество программной системы как совокупность ее свойств, которые обуславливают пригодность удовлетворять заданные или подразумеваемые потребности в соответствии с назначением системы. Критерии оценки качества программных систем, характеристики качества и показатели качества. Общие характеристики качества программных систем: функциональность, надежность, удобство использования, эффективность, сопровождаемость, мобильность. Оценка качества программных систем. ГОСТ 28195. Методика оценки качества ПС. Факторы качества, критерии качества, метрики и оценочные элементы. Методы оценки: расчетный, экспертный. Общая оценка качества ПС. Взаимосвязь факторов, критериев и метрик с фазами жизненного цикла ПС. Выбор оценочных элементов для программных систем различного назначения. Методы управления качеством, используемые в современных технологиях программирования. Аттестация программных систем. Инструментальные системы оценки качества программных систем. Тема 4. Разработка и анализ требований к программной системе Требования к программной системе. Функциональные и нефункциональные требования. Методы первичного сбора требований. Анализ требований. Правила формулировки непротиворечивых требований. Критерий проверяемости требований. Спецификация требований и ее согласование с заказчиком. ГОСТ 19.201. Техническое задание. Отслеживание и контроль требований. Использование инструментальных средств. Тема 5. Спецификации программной системы Внешнее проектирование программной системы. Принцип концептуальной целостности. Пользователи программной системы. Классификация, права и обязанности различных групп пользователей. Проектирование интерфейса. Описание данных и функций программной системы. Языки спецификаций. Универсальные и специализированные. Специализация по предметной области и используемому для спецификации формализму. Табличные языки спецификации. Системы подстановок. Графические языки: потоковые диаграммы, сети Петри, диаграммы "сущность-связь", контекстные деревья. Методика спецификаций Парнаса. Проверка правильности спецификаций. Методы верификации. Внесение изменений в спецификации. Спецификация и качество ПС. Инструментальные средства поддержки проектирования спецификаций. Тема 6. Проектирование архитектуры и структуры программной системы Архитектура программных систем. Модели программных систем. Уровни абстракции. Системы, управляемые методом портов. Системы, управляемые сообщениями. Структура программных систем. Стратегии декомпозиции систем. Определение межмодульного интерфейса. 5
Документирование архитектуры и структуры программной системы. Инструментальные средства поддержки. Тема 7. Испытания программных систем Тестирование и отладка. Статическое тестирование модуля. Тестирование сопряжений. Комплексное тестирование. Документирование тестирования и отладки. Стратегии тестирования. Методы "белого" и "черного" ящика. Методы тестирования и отладки. Доказательство свойств программы и их экспериментальная проверка. Тестирование. Неразрешимость проблемы тестирования. Критерии тестирования модулей ПС. Комплексное тестирование. Макетирование ПС. Моделирование окружения. Проектирование тестов. Драйверы и заглушки. Инструментальные средства поддержки тестирования и отладки. Виды испытаний. ГОСТ 16504, ГОСТ 34.603. Критерии оценки качества систем различного назначения. Документирование испытаний. Тема 8. Внедрение, эксплуатация и сопровождение Внедрение программных систем. Эксплуатация программных систем. Место сопровождения в жизненном цикле программных систем. Модификация, усовершенствование и коррекция программных систем в процессе сопровождения. Средства и приемы сопровождения. Планирование и организация сопровождения. Эксплуатационная документация. Инструментальные средства, поддерживающие этап сопровождения. Стиль программирования, ориентированный на эффективную поддержку этапа сопровождения. Тема 9. Организация разработки программных систем Структура организации-разработчика программных систем. Организация коллектива программистов. Характер труда разработчиков программных систем. Бригада - основная форма организации труда программистов. Критерии оценки труда бригады и отдельного члена бригады. Методы контроля. Способы организации бригад. Бригада независимых программистов. Демократическая бригада. Бригада главного программиста. Права и обязанности членов бригады. Организация их взаимодействия. Управление бригадой на различных этапах проектирования. Инструментальные средства поддержки. Тема 10. Планирование проектирования программной системы Стандартизация процесса разработки программной системы и документации на программное изделие. Государственные стандарты, отраслевые стандарты и стандарты предприятия. Планирование программного проекта. Создание проектного плана. Методы оценки ресурсов и распределения работ. Риск анализ. Отслеживание и контроль плана. Гант диаграммы, ПЕРТ диаграммы. Использование инструментальных средств. База развития проекта и ее использование. Тема 11. Системы автоматизации разработки программных систем Классификация САПР ПО по сфере применения поддерживаемых технологий программирования (ТП). Требования к различным классам САПР ПО, анализ современных САПР ПО по степени полноты открытия жизненного цикла, по интерфейсным и коммуникационным возможностям, по степени открытости.
6
Тема 12. Сборочная технология программирования Сборочная ТП. Особенности жизненного цикла сборочной ТП. Требования к модулям и интерфейсам. Средства поддержки сборочной ТП. Тема 13. Технологии программирования управляющих систем ТП управляющих систем. Сложность проектирования программных систем с ресурсными ограничениями. Особенности ТП управляющих систем. Целевая компиляция, сборка автономных систем, натурные испытания и сопровождение на объекте. Классификация инструментальных систем разработки программного обеспечения управляющих систем. Тема 14. Технологии программирования отказоустойчивых систем ТП отказоустойчивых систем. Надежность программных комплексов. Особенности ТП отказоустойчивых систем. ТП отказоустойчивых распределенных систем. Методы нейтрализации ошибок, адаптации структуры, восстановления состояния. Инструментальные системы программирования отказоустойчивых систем. Тема 15. Технологии программирования распределенных систем и сетей ТП распределенных систем и сетей. Программное обеспечение распределенных систем со статическим и динамическим распределением функций, требования и особенности реализации. Методы повышения надежности распределенных систем. ЗАКЛЮЧЕНИЕ Перспективы развития технологии программирования, автоматизированного проектирования программных систем на основе языков новых поколений. Доказательное программирование и визуальное программирование. Метатехнология в программировании больших программных комплексов. Перечень лабораторных работ № 1 2 3 4 5
Наименование работы Разработка и анализ требований к программной системе Спецификации программной системы Испытания программных систем Использование систем автоматизации разработки програм Компонентное программирования
Номер темы 4 5 7 11 12
Цели и содержание курсового проекта (работы) и его ориентировочная трудоемкость Цель: получение умений и навыков по применению методов проектирования программ, при помощи инструментальных средств, поддерживающих создание программ; по организации работы в коллективах разработчиков программного обеспечения. Содержание: разработка требований, спецификаций и приложения, реализующего задание на курсовую работу, его тестирование и испытание. Ориентировочная трудоемкость: 47 ч.
7
Распределение учебных часов по темам и видам занятий № темы
1 3 4 5 6 7 8 9 10 11 12 13 14 15
Объем учебных часов Аудит. занятия
Самост. работа
Всего
Семест р
1 2
1 2
0 1
1 3
8 8
2 2 6
2
2 2 8
2 4 6
4 6 14
8 8 8
8
4
12
6
18
8
2
2
4
8
5 2
2 3
7 5
8 8
6
6
4
10
8
7
7
2
9
8
Название разделов и тем
Лекции
Введение Жизненный цикл программных систем Сложность программных систем Качество программных систем Разработка и анализ требований к программной системе Спецификации программной системы Проектирование архитектуры и структуры программной системы Испытания программных систем Внедрение, эксплуатация и сопровождение Организация разработки программных систем Планирование проектирования программной системы Системы автоматизации разработки программных систем Сборочная технология программирования Технологии программирования управляющих систем Технологии программирования отказоустойчивых систем Технологии программирования распределенных систем и сетей Заключение Курсовое проектирование ИТОГО:
Лабор. занятия
2 3 2
2
Практ. занятия
4
4
8
4
12
8
6
3
9
6
15
8
4
4
3
7
8
2
2
0
2
8
2
2
3
5
8
1
1 15 90
0 32 80
1 47 170
8 8
60
8
15
ЛИТЕРАТУРА Основная
№
Название, библиографическое описание
1
Липаев В.В. Проектирование программных средств: Учеб.пособ. для вузов/В.В.Липаев.- М.: Высш. шк., 1990 Опалева Э.А., Самойленко В.П. Технология разработки программного обеспечения: Учеб. пособие/ ЛЭТИ.- Л., 1988.
2
Л
Лр
8 8
8
Кп
(р)
К-во экз. в библ. (на каф.)
8
7
8
138
Гриф
ГК СССР по нар.обр. ГК СССР по нар.обр.
Дополнительная №
Название, библиографическое описание
1
Калянов Г.Н. CASE структурный и системный анализ (автоматизация и применение)/М.: Изд-во «ЛОРИ», 1996. Фокс Дж. Программное обеспечение и его разработка.- М.: Мир, 1985. Роббинс Дж. Отладка приложений: Пер. с англ. – СПб,: БХВ-Петербург, 2001. Бадд Т. Объектно-ориентированное программирование в действии. - 1997
2 3 4 5 6 7
8 9 10 11 12
Буч Г. Объектно-ориентированный анализ и проектирование с примерами приложений на C++/ Пер. с англ. под ред. И.Романовского, Ф.Андреева. 1998 Телло Э.Р. Объективно - ориентированное программирование в среде Windows/ Пер. с англ. Д.М.Арапова, А.К.Петренко. - 1993 Савченко А.В.. Злектронные вычислительные машины: В 8 кн./ Под ред. А.Я.Савельева . -М.: Высш. шк. Кн. 6: Савченко А.В., Сальников Ю.В., Филиппов А.Н. Средства общения с ЭВМ / Ю.В.Сальников, А.Н.Филиппов; А.Я.Савельев. - 1991 Г.Буч, Дж.Рамбо, А.Джекобсон. Язык UML: Руководство пользователя / Г.Ф.Баканов. - 2001 А. Мешков, Ю. Тихомиров. Visual C++ и MFC: Программирование для Windows NT и Windows 95: В 3-х т. -СПб.: BHV - Санкт-Петербург. -1997 Т. 1. - 1997 А. Мешков, Ю. Тихомиров. Visual C++ и MFC: Программирование для Windows NT и Windows 95: В 3-х т. -СПб.: BHV - Санкт-Петербург. -1997 Т. 2. - 1997 Кинг Д. Создание эффективного программного обеспечения/ Пер. с англ. Л.В.Ухова; Под ред. В.В.Мартынюка. - 1991 Р.И.Полонников, А.В.Никандров. Методы оценки показатей надежности программного обеспечения. – 1992
9
К-во экз. в библ. (на каф.)
0 80 0 Уч 16 ф4 Уч 0 ф1
43 45
5 0 2 33 103
Авторы: ск.т.н., доцент
Самойленко В.П.
Рецензент к.т.н., доцент
Казак А.Ф.
Зав. кафедрой математического обеспечения и применения ЭВМ д.т.н., профессор
Лисс А.Р.
Декан факультета название д.т.н., профессор
Герасимов И.В.
Программа согласована: Зав. отделом учебной литературы
Смирнова О.Н.
Руководитель методического отдела к.т.н., доцент
Марасина Л.А.
10