Министерство образования Российской Федерации Санкт-Петербургский государственный электротехнический университет “ЛЭТИ”
...
5 downloads
185 Views
175KB 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 - “Программное обеспечение вычислительной техники и автоматизированных систем”.
Санкт-Петербург 2000
1
Санкт-Петербургский государственный электротехнический университет “ЛЭТИ”
“УТВЕРЖДАЮ” Проректор по учебной работе проф. ___________ Ушаков В.Н. “_____”_______________2000 г.
РАБОЧАЯ ПРОГРАММА дисциплины Объектно-ориентированные технологии разработки программного обеспечения Для подготовки дипломированных специалистов по направлению 654600 “Информатика и вычислительная техника” по специальности 220400 - “Программное обеспечение вычислительной техники и автоматизированных систем”. Факультет компьютерных технологий и информатики Кафедра математического обеспечения и применения ЭВМ Курс – 5 Семестр – 9 Лекции
48 ч.
Курсовое проектирование
16 ч.
Аудиторные занятия Самостоятельные занятия Всего часов
64 ч. 80 ч. 144 ч.
Экзамен
2000
2
9 семестр
Рабочая программа обсуждена на заседании кафедры математического обеспечения и применения ЭВМ “____”_______________2000 г., протокол №______.
Рабочая программа согласована с рабочими программами изученной ранее дисциплины “Объектно-ориентированное программирование”.
Рабочая программа одобрена методической комиссией факультета компьютерных технологий и информатики “____”_____________2000 г.
3
Цели и задачи дисциплины Изучение современных подходов к анализу, проектированию и разработке объектноориентированного программного обеспечения, а также освоение соответствующих технологий. Формирование практических навыков в разработке программных систем и комплексов. Требования к уровню освоения дисциплины В результате изучения дисциплины студенты должны: 1) знать теоретические основы и современные объектно-ориентированные технологии анализа, проектирования и разработки системного, инструментального и прикладного программного обеспечения; 2) уметь проектировать и разрабатывать различные виды программного обеспечения; 3) иметь представление об языковых средствах, библиотеках классов и инструментальных средствах применяемых при разработке программного обеспечения. Содержание рабочей программы Введение Предмет дисциплины, ее структура и содержание. Цели и содержание дисциплины для подготовки студентов по выбранному направлению. Структура и план учебной деятельности студентов, рекомендуемая литература. Связь дисциплины с предшествующими и последующими дисциплинами и ее место в подготовке специалиста по программированию. Краткие сведения об истории развития и становления проблематики дисциплины. Стандарты по разработке программного обеспечения. Тема 1. Основные понятия дисциплины Жизненный цикл программного обеспечения. Управление проектом, планирование и распределение ресурсов, контроль исполнения сроков. Тестирование и оценка качества. Управление программными конфигурациями. Сопровождение. Модернизация и масштабирование программного обеспечения. Обзор методов проектирования и разработки программного обеспечения. Языки программирования четвертого поколения, CASE-системы, системы ускоренной разработки приложений. Языки и парадигмы программирования. Семантика и интерпретация языка программирования. Основные положения объектного подхода к разработке программ, Принципы объектного подхода, абстрагирование, ограничение доступа, модульность, иерархия, типизация, параллелизм, устойчивость. Способы распределения и заимствования шаблонов и поведения. Отношения между объектами и/или классами. Управление последовательностью действий в объектно-ориентированной программе. Объект и процесс. Инициализация и взаимодействие объектов и процессов. Сообщения. Реализация механизмов посылки сообщений. Примеры функционирования объектно-ориентированной программы. Формальные модели объектов и классов: автоматная и алгебраическая модели объектов, исчисления типов.
4
Тема 2. Анализ и проектирование программного обеспечения Системный анализ. Принципы объектно-ориентированного анализа и их обсуждение. Основные определения: система, домен, подсистема, элемент, связи, среда. Структура системы, декомпозиция, иерархия элементов. Процессы в системе и потоки информации. Исследование действий. Построение моделей доменов и подсистем, связей и взаимодействия подсистем, взаимодействия объектов, событий, процессов, потоков данных, действий. Описание классов и их взаимосвязей. Динамика поведения объектов, диаграммы перехода состояний. Диаграммы объектов. Видимость и синхронизация объектов, временные диаграммы. Диаграмма процессов. Обработка исключительных ситуаций. Рабочие продукты, методологии и средства анализа и проектирования. Тема 3. Языки разработки программного обеспечения Классификация языков объектно-ориентированного программирования. Особенности языков с точки зрения реализации объектно-ориентированного проекта. Системы объектноориентированного программирования. Языковые средства реализации механизмов наследования. Множественное наследование, достоинства и недостатки. Подклеенные классы Понятие интерфейса. Абстрактные базовые классы. Конечные производные классы. Шаблоны. Полиморфные контейнерные классы, итераторы и аппликаторы. Анализ различных моделей обработки исключительных ситуаций. Стандартные средства контроля подтверждений. Применение методов доказательства корректности программ. Проверка предусловий и постусловий, вычисления инвариантов. Контроль асинхронных событий. Реализация модели обработки синхронных ситуаций с завершением в С++. Тема 4. Разработка и применение библиотек классов Проектирование библиотек классов. Виды классов: конкретный тип, абстрактный тип, узловой класс, интерфейсный класс. Динамическая идентификация типа. Управление видимостью и областью действия имен. Управление памятью. Библиотека потокового ввода/вывода. Форматирование в памяти. Библиотеки контейнерных классов. Контейнеры низкого и высокого уровней. Прямые и косвенные контейнеры. Управление памятью контейнеров. Виды итераторов и аппликаторов. Номенклатура контейнеров и примеры их использования. Библиотеки интерфейсных элементов. Понятие приложения. Диалоговые окна и дочерние элементы управления. Проверка правильности данных. Приложения MDI. Иерархия классов исключений. Тема 5. Разработка стандартных управляющих элементов Программирование связи и обмена данными между прикладными программами. Динамические библиотеки, динамический обмен данными и технологии связи и внедрения объектов. Объекты-серверы и объекты-клиенты. Автоматизированные объекты. Готовые стандартные управляющие элементы ( VBX, OCX, Active X, апплеты). Инструментальные средства создания управляющих элементов.
5
Тема 6. Информационные технологии коллективной разработки программного обеспечения Обзор и классификация средств поддержки коллективной разработки программного обеспечения. Программные средства планирования и управления процессом разработки. Сетевые графики и диаграммы рабочего процесса. Сценарии выполнения работ, согласование графиков. Применение систем управления документами. Инструментальные средства верификации и тестирования программ. Планирование и автоматизированная генерация тестов. Сценарии тестирования. Анализаторы профиля выполнения теста. Репозиторий тестов. Контроль показателей качества. Заключение Тенденции развития объектно-ориентированных технологий разработки программного продукта. Пути дальнейшего изучения студентами вопросов, рассмотренных в курсе. Цели и содержание курсового проекта Целью курсового проекта является приобретение практических навыков проектирования и разработки готовой программной системы или стандартного управляющего элемента с применением современных объектно-ориентированных технологий. Задание на курсовой проект содержит описание основных функции программы. В процессе работы над проектом студенты должны выполнить планирование разработки, анализ предметной области и проектирование программной системы с формированием соответствующих рабочих продуктов, разработку программной системы с применением соответствующих технологий, верификацию разработанного программного обеспечения. Результат выполнения курсового проекта оформляется в виде пояснительной записки, содержащей описание этапов разработки, основные рабочие продукты и программные документы, а также обоснование принятых решений. Ориентировочная трудоемкость выполнения проекта составляет 16 аудиторных, около 50 самостоятельных часов работы.
6
Распределение учебных часов по темам и видам занятий № темы
Объем учебных часов Название разделов и тем
Введение 1 Основные понятия дисциплины 2 Анализ и проектирование программного обеспечения 3 Языки разработки программного обеспечения 4 Разработка и применение библиотек классов 5 Разработка стандартных управляющих элементов 6 Информационные технологии коллективной разработки программного обеспечения Заключение Курсовое. проектирование ИТОГО:
Лекции
Лабор. занятия
Практ. занятия
Аудит. занятия
Самост. работа
Всего
Семест р
1 6 20
9 9 9
6
9
1 6 10
1 6 10
6
6
12
12
10
22
9
6
6
10
16
9
6
6
6
9
1
1 16 64
1 66 144
9 9
48
7
0
0
10
50 80
ЛИТЕРАТУРА Основная №
Название, библиографическое описание
Лек
1
Страуструпп Б. Язык программирования 9 С++.-М.: БИНОМ, 2001.
2
Гамма Э., Хелм Р., Джонсон Р.,. Влиссидес Дж. Примеры объектно-ориентированного проектирования. Паттерны проектирования – СПб: Питер, 2001. Фаулер М., Скотт К. UML в кратком изложении. Применение стандартного 9 языка объектного моделирования. - М.: Мир, 1999 Буч Г., Рамбо Дж., Джекобсон А.. Язык UML. Руководство пользователя –М.: 9 ДМК, 2001. Круглински Д. Дж. Программирование на Microsoft Visual C++ 6.0 для профессиона- 9 лов. – СПб.: Питер, 2001
3
4 5
Лр
Кп (р)
Ин д. зад.
К-во экз. в библ. (на каф.)
Гриф
9
9
14: У(10), ЧЗ1(2), Ф(2)
Мин. обр. РФ
9
9
15: У(11), Ф(4)
Мин. обр. РФ
Мин. обр. РФ
9
9 9
9
1: Ф(1)
9
5: ЧЗ1(2), У(1), Ф(2)
9
20
Мин. обр. РФ Мин. обр. РФ
Дополнительная №
Название, библиографическое описание
1
Буч Г. Объектно-ориентированный анализ и проектирование с примерами приложений на С++. – М.:Бином, 2001 Фролов А.В., Фролов Г.В. Разработка приложений для Internet. Microsoft Visual C++ и MFC. – МИФИ, 1997 Чеппел Д. Технологии ActiveX и OLE. – М.: Русская Редакция, 1997 Топп У. Структуры данных в С++. – М.: Бином, 2000
2 3 4
К-во экз. в библ. (на каф.)
2: Ф(2) 7: У(5), Ф(2) 1: Ф(1) 24
5
Бадд Т. Объектно-ориентированное программирование в действии. – СПб., 20: У(16), Диалектика, 1997
6
Якобсон А., Буч Г., Рамбо Дж. Унифицированный процесс разработки Учз1-1, Ф-4 программного обеспечения, СПб.: Питер, 2002 Подбельский В.В. Язык С++. – М.: Финансы и статистика, 2001 16
Ф(4)
7
8
Автор к.т.н., доцент
Спицын А.В.
Рецензент к.т.н., доцент
Племянников А.К.
Зав. кафедрой МОЭВМ д.т.н., профессор
Лисс А.Р.
Декан ФКТИ д.т.н., профессор
Герасимов И.В.
Программа согласована: Зав. отделом учебной литературы (для технических дисциплин) Председатель методической комиссии ФКТИ к.т.н., доцент Руководитель методического отдела к.т.н., доцент
Смирнова О.Н. Чугунов Л.А. Марасина Л.А.
9