Таблица 1 - Основные образовательные программы ТюмГУ

advertisement
РОССИЙСКАЯ ФЕДЕРАЦИЯ
МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ
Федеральное государственное бюджетное образовательное учреждение
высшего профессионального образования
ТЮМЕНСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ
«УТВЕРЖДАЮ»:
Проректор по учебной работе
_______________________ /Волосникова Л.М./
__________ _____________ 2013 г.
ВЫСОКОУРОВНЕВЫЕ МЕТОДЫ
ИНФОРМАТИКИ И ПРОГРАММИРОВАНИЯ
Учебно-методический комплекс. Рабочая программа
для студентов специальности 080508.65 «Информационный менеджмент»
очная форма обучения
«ПОДГОТОВЛЕНО К ИЗДАНИЮ»:
Автор (ы) работы
___________________ В.Д. Козлов, Г.Н. Чапарова
«______»___________2013г.
Рассмотрено на заседании кафедры математических методов, информационных
технологий и систем управления в экономике
«_____» _____________ 2013 г., протокол № _____. Соответствует требованиям к
содержанию, структуре и оформлению.
«РЕКОМЕНДОВАНО К ЭЛЕКТРОННОМУ ИЗДАНИЮ»:
Объем _________стр.
Зав. кафедрой ________________________ В.В. Зыков
«______»___________ 2013 г.
Рассмотрено на заседании УМК Финансово-экономического института
«___»_______________2013_г. №_______
Соответствует ГОС ВПО и учебному плану образовательной программы.
«СОГЛАСОВАНО»:
Председатель УМК _______________________ Е.С. Корчемкина
«______»_____________2013 г.
«СОГЛАСОВАНО»:
И.о. директора ИБЦ _______________________Е.А. Ульянова
«______»_____________2013 г.
«СОГЛАСОВАНО»:
Зав. методическим отделом УМУ ____________И.Ю. Фарафонова
«______»_____________2013 г.
РОССИЙСКАЯ ФЕДЕРАЦИЯ
МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ
Федеральное государственное бюджетное образовательное учреждение
высшего профессионального образования
ТЮМЕНСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ
Финансово-экономический институт
Кафедра математических методов, информационных технологий и систем
управления в экономике
В.Д.Козлов, Г.Н.Чапарова
ВЫСОКОУРОВНЕВЫЕ МЕТОДЫ
ИНФОРМАТИКИ И ПРОГРАММИРОВАНИЯ
Учебно-методический комплекс. Рабочая программа
для студентов специальности 080508.65 «Информационный менеджмент»
очная форма обучения
Тюменский государственный университет
2013
Козлов В.Д., Чапарова Г.Н..Высокоуровневые методы информатики
и программирования. Учебно-методический комплекс. Рабочая программа
для студентов специальности 080508.65 «Информационный менеджмент»,
очная форма обучения. Тюмень, 2013, стр.
Рабочая программа составлена в соответствии с требованиями ГОС ВПО
с учетом рекомендаций и ПрООП ВПО по специальности «Информационный
менеджмент»
Рабочая учебная программа дисциплины опубликована на сайте ТюмГУ:
Высокоуровневые методы информатики и программирования [электронный
ресурс] / Режим доступа: http://www.umk.utmn.ru, свободный.
Рекомендовано к изданию кафедрой математических методов,
информационных технологий и систем управления в экономике. Утверждено
проректором по учебной работе Тюменского государственного университета.
ОТВЕТСТВЕННЫЙ РЕДАКТОР: В.В. Зыков, д.с.н., профессор, заведующий
кафедрой математических методов, информационных технологий и систем
управления в экономике.
© ФГБОУ ВПО Тюменский государственный университет, 2013.
© Козлов В.Д., Г.Н.Чапарова, 2013.
2
1. ПОЯСНИТЕЛЬНАЯ ЗАПИСКА.
1.1.
Цели и задачи дисциплины.
Цель курса:
Целью дисциплины является – сформировать у студентов представление
о современных технологиях и средствах разработки программного обеспечения
и тенденциях их развития; создать фундамент знаний в области объектноориентированного подхода к проектированию и разработке программ.
Задачи курса:
изучение основных составляющих современных технологий разработки
программного обеспечения, таких как объектно-ориентированный подход к
проектированию
и
программированию,
использование
компонентной
архитектуры, визуальное моделирование с использованием унифицированного
языка моделирования UML, основы программирования на языках высокого
уровня;
1.2.
ГОСТ
Данная
дисциплина
относится
к
национально-региональному
компоненту.
1.3.
Требования к уровню освоения содержания дисциплины.
В результате изучения данной дисциплины студент должен знать:
 методы объектно-ориентированного анализа;
 основные причины сложности программного обеспечения и пути
их преодоления с помощью новых технологий программирования;
 основные
принципы,
лежащие
в
основе
объектно-
в области
создания
технологий
ориентированного подхода
Студент должен иметь представление:
 о
новейших
направлениях
программирования и о роли объектно-ориентированного подхода
среди них;
 о множестве задач, решаемых с использованием объектноориентированного подхода;
3
 о понятии класса и видах отношений между классами, понятии
переменных
и
операций
класса,
группирования
классов
и
интерфейса;
Студент должен владеть:
 навыками практического применения элементов языка визуального
моделирования UML;
 навыками
разработки
программ
с
применением
объектно-
ориентированных методов информатики.
1.4.
Объем дисциплины и виды учебной работы (очная форма
обучения).
Семестр 7. Форма промежуточной аттестации– зачет.
Вид учебной работы
Всего часов
Аудиторные занятия (всего)
В том числе:
Лекции
Семинары (С)
Лабораторные работы (ЛР)
Самостоятельная работа (всего)
Вид промежуточной аттестации (зачет, экзамен)
Общая трудоемкость
час
4
72
36
36
18
К/р, зачет
90
2. ТЕМАТИЧЕСКИЙ ПЛАН ДИСЦИПЛИНЫ
2.1. Распределение часов курса по темам и видам работ
Таблица 1
Тематический план (для студентов очной формы обучения)
Самостоятельна
я работа*
Итого часов по теме
Лабораторные
занятия*
3
Итого
количе
ство
баллов
Семинарские
(практические)
занятия*
2
Виды учебной работы и
самостоятельная работа, в час.
Лекции*
1
Тема
недели семестра
№
4
5
6
7
8
9
1
2
2
-
1
5
0-8
2-3
4
4
-
2
10
0-8
4-5
4
4
-
2
10
0-8
6-7
4
4
-
2
10
0-8
8-9
4
4
-
2
10
0-8
18
18
-
9
45
0-40
Модуль 1
1.
2.
3.
4.
5.
Введение. Программные
продукты и их основные
характеристики.
Характеристики качества
программного обеспечения
(ПО).
Классификация и сравнение
языков программирования.
Проектирование программных
продуктов. Классификация
методов проектирования ПП.
Этапы создания ПП.
Структура программных
продуктов. Проектирование
интерфейса пользователя.
Структурное проектирование и
программирование.
Особенности
программирования в оконных
операционных средах.
Основные стандартные модули,
обеспечивающие работу в
оконной операционной среде.
Среда разработки. Основы
визуального
программирования.
Компоненты; использование
компонентов. Реакция на
события. Отладка и
тестирование программ.
Всего
5
Модуль 2
1.
2.
3.
4.
5.
6.
Принципы лежащие в основе
объектно-ориентированного
подхода. Абстрагирование.
Инкапсуляция. Модульность.
Иерархичность. Типизация.
Параллелизм. Сохраняемость.
Объекты. Состояние объекта.
Поведение объекта.
Идентичность объекта.
Отношения между объектами.
Классы. Виды отношений
между классами. Ассоциация.
Агрегация и композитная
агрегация. Наследование.
Обобщение и типизация.
Зависимость (использование).
Инстанцирование. Переменные
и операции класса, утилиты.
Интерфейсы. Группирование
классов.
Объектно-ориентированный
анализ. Классический подход,
анализ поведения, анализ
предметной области, анализ
вариантов, неформальное
описание. Ключевые
абстракции.
Элементы языка визуального
моделирования UML:
диаграмма классов, диаграмма
объектов, диаграммы
взаимодействий (диаграмма
последовательностей и
диаграмма кооперации).
Итоговая контрольная работа.
Всего
Итого (часов, баллов):
10
2
2
-
1
5
0-8
1112
4
4
-
2
10
0-8
1314
4
4
-
2
10
0-8
1516
4
4
-
2
10
0-8
1718
4
4
-
2
10
0-8
-
18
36
-
-
-
18
36
-
9
18
45
90
0-20
0-60
0-100
№ темы
Устный опрос
Письменные работы
6
Технические формы
контроля
Информацио
нные
системы и
технологии
Итого
количест
во баллов
Таблица 2
2.2 Виды и формы оценочных средств в период текущего
контроля
комплексные
ситуационные
задания
электронные
практикум
0-1
0-1
-
0-1
-
0-8
0-1
0-1
0-1
0-2
0-1
0-1
-
0-1
-
0-8
0-1
0-1
0-1
0-2
0-1
0-1
-
0-1
-
0-8
0-1
0-1
0-1
0-2
0-1
0-1
-
0-1
-
0-8
0-1
0-1
0-1
0-2
0-1
0-1
-
0-1
-
0-8
0-5
0-5
0-5
0-10
0-5
0-5
-
0-5
-
0-40
0-1
0-1
0-1
0-2
0-1
0-1
-
тест
7
0-1
другие формы
программы
компьютерного
тестирования
0-2
реферат
(эссе)
0-1
контрольная
работа
0-1
ответ на
семинаре
0-1
собеседование
Модуль 1
1. Введение.
Программные
продукты и их
основные
характеристики.
Характеристики
качества программного
обеспечения (ПО).
2. Классификация и
сравнение языков
программирования.
3. Проектирование
программных
продуктов.
Классификация
методов
проектирования ПП.
Этапы создания ПП.
4. Структура
программных
продуктов.
Проектирование
интерфейса
пользователя.
Структурное
проектирование и
программирование.
5. Особенности
программирования в
оконных
операционных средах.
Основные стандартные
модули,
обеспечивающие
работу в оконной
операционной среде.
Среда разработки.
Основы визуального
программирования.
Компоненты;
использование
компонентов. Реакция
на события. Отладка и
тестирование
программ.
Всего
Модуль 2
1. Принципы лежащие
в основе объектноориентированного
подхода.
Абстрагирование.
Инкапсуляция.
-
0-8
Модульность.
Иерархичность.
Типизация.
Параллелизм.
Сохраняемость.
2. Объекты. Состояние
объекта. Поведение
объекта. Идентичность
объекта. Отношения
между объектами.
3. Классы. Виды
отношений между
классами. Ассоциация.
Агрегация и
композитная агрегация.
Наследование.
Обобщение и
типизация.
Зависимость
(использование).
Инстанцирование.
Переменные и
операции класса,
утилиты. Интерфейсы.
Группирование
классов.
4. Объектноориентированный
анализ. Классический
подход, анализ
поведения, анализ
предметной области,
анализ вариантов,
неформальное
описание. Ключевые
абстракции.
5. Элементы языка
визуального
моделирования UML:
диаграмма классов,
диаграмма объектов,
диаграммы
взаимодействий
(диаграмма
последовательностей и
диаграмма
кооперации).
6. Итоговая
контрольная работа.
Всего
Итого
0-1
0-1
0-1
0-2
0-1
0-1
-
0-1
-
0-8
0-1
0-1
0-1
0-2
0-1
0-1
-
0-1
-
0-8
0-1
0-1
0-1
0-2
0-1
0-1
-
0-1
-
0-8
0-1
0-1
0-1
0-2
0-1
0-1
-
0-1
-
0-8
-
-
0-20
-
-
-
-
-
-
0-20
0-5
0-10
0-5
0-10
0-25
0-30
0-10
0-20
0-5
0-10
0-5
0-10
-
0-5
0-10
-
0-60
0-100
8
2.3 Планирование самостоятельной работы студентов
Таблица 3
№
Модули и темы
Виды СРС
обязательные
дополнительн
ые
Неделя
семестра
Объем
часов
Кол-во
баллов
1
1
0-8
2-3
2
0-8
4-5
2
0-8
6-7
2
0-8
8-9
2
0-8
Модуль 1.
1.1
1.2
1.3
1.4
1.5
Введение. Программные
продукты и их основные
характеристики.
Характеристики качества
программного
обеспечения (ПО).
Классификация
и
сравнение
языков
программирования.
Проектирование
программных продуктов.
Классификация методов
проектирования
ПП.
Этапы создания ПП.
Структура программных
продуктов.
Проектирование
интерфейса пользователя.
Структурное
проектирование
и
программирование.
Особенности
программирования
в
оконных
операционных
средах.
Основные
стандартные
модули,
обеспечивающие работу в
оконной
операционной
среде. Среда разработки.
Основы
визуального
программирования.
Компоненты;
использование
компонентов. Реакция на
события.
Отладка
и
тестирование программ.
Всего по модулю 1:
Работа
с
учебной
литературой,
лекционным
материалом,
выполнение
домашних
контрольных
заданий, написание докладов
(рефератов).
Работа с учебной
литературой, лекционным
материалом,выполнение
домашних контрольных
заданий, написание докладов
(рефератов).
Работа
с
учебной
литературой,
лекционным
материалом,
выполнение
домашних
контрольных
заданий, написание докладов
(рефератов).
Работа
с
учебной
литературой,
лекционным
материалом,
выполнение
домашних
контрольных
заданий, написание докладов
(рефератов).
Анализ и
выполнения
заданий по
дополнительны
м источникам
Работа
с
учебной
литературой,
лекционным
материалом,
выполнение
домашних
контрольных
заданий, написание докладов
(рефератов).
Анализ и
выполнение
заданий по
дополнительны
м источникам
Анализ и
выполнение
заданий по
дополнительны
м источникам
Анализ и
выполнение
заданий по
дополнительны
м источникам
Анализ и
выполнение
заданий по
дополнительны
м источникам
1-9
9
0-40
Модуль 2
2.1
Принципы лежащие в
основе
объектноориентированного
подхода.
Абстрагирование.
Инкапсуляция.
Модульность.
Иерархичность.
Типизация. Параллелизм.
Сохраняемость.
Работа
с
учебной
литературой,
лекционным
материалом,
выполнение
домашних
контрольных
заданий, написание докладов
(рефератов).
9
Анализ и
выполнение
заданий по
дополнительны
м источникам
10
1
0-8
2.2
2.3
2.4
2.5
2.6
Объекты.
Состояние
объекта.
Поведение
объекта.
Идентичность
объекта.
Отношения
между объектами.
Работа
с
учебной
литературой,
лекционным
материалом,
выполнение
домашних
контрольных
заданий, написание докладов
(рефератов).
Анализ и
выполнение
заданий по
дополнительны
м источникам
11-12
Классы. Виды отношений
между
классами.
Ассоциация. Агрегация и
композитная
агрегация.
Наследование. Обобщение
и типизация. Зависимость
(использование).
Инстанцирование.
Переменные и операции
класса,
утилиты.
Интерфейсы.
Группирование классов.
Объектноориентированный анализ.
Классический
подход,
анализ поведения, анализ
предметной
области,
анализ
вариантов,
неформальное описание.
Ключевые абстракции.
Работа
с
учебной
литературой,
лекционным
материалом,
выполнение
домашних
контрольных
заданий, написание докладов
(рефератов).
Анализ и
выполнение
заданий по
дополнительны
м источникам
13-14
Работа
с
учебной
литературой,
лекционным
материалом,
выполнение
домашних
контрольных
заданий, написание докладов
(рефератов).
Анализ и
выполнение
заданий по
дополнительны
м источникам
15-16
Элементы
языка
визуального
моделирования
UML:
диаграмма
классов,
диаграмма
объектов,
диаграммы
взаимодействий
(диаграмма
последовательностей
и
диаграмма кооперации).
Итоговая
контрольная
работа.
Работа
с
учебной
литературой,
лекционным
материалом,
выполнение
домашних
контрольных
заданий, написание докладов
(рефератов).
Анализ и
выполнение
заданий по
дополнительны
м источникам
17-18
Работа
с
учебной
литературой,
лекционным
материалом,
выполнение
домашних
контрольных
заданий, написание докладов
(рефератов).
Анализ и
выполнение
заданий по
дополнительны
м источникам
Всего по модулю 2:
Итого:
9-18
1-18
2
0-8
2
0-8
2
0-8
2
0-8
-
0-20
9
18
0-60
0-100
2.4. Штрафные и премиальные баллы
«Бонусные» баллы: участие в научной студенческой конференции с докладом –
10 баллов; подготовка публикации в сборник статей – 10 баллов.
«Штрафные» баллы:пропуски лекций – 0,5 балла; систематическое (более чем 2
раза) невыполнение обязательных видов работ на семинарских занятиях – 5
баллов;
10
3. СОДЕРЖАНИЕ РАЗДЕЛОВ ДИСЦИПЛИНЫ.
3.1 Основные темы лекционных занятий.
ТЕМА 1. Введение. Программные продукты и их основные
характеристики. Характеристики качества ПО.
Содержание
разработки
дисциплины.
программного
Что
такое
обеспечения.
программирование.
Парадигмы
Процесс
программирования.
Классификация ПО. Проблемы, возникающие при создании программных
продуктов. Показатели качества ПО. Критерии оценки качества программ.
ТЕМА 2. Классификация и сравнение языков программирования.
Языки низкого и высокого уровней. Понятия компилятора, транслятора,
интерпретатора. Примеры.
ТЕМА 3. Проектирование программных продуктов. Классификация
методов проектирования ПП. Этапы создания ПП.
Методы проектирования ПП: неавтоматизированное, автоматизированное
и структурное проектирование. Информационное моделирование. Объектноориентированный подход. Этапы создания ПП: составление технического
задания на программирование; технический проект; рабочая документация;
ввод в действие.
ТЕМА 4. Структура программных продуктов. Проектирование
интерфейса
пользователя.
Структурное
проектирование
и
программирование.
Архитектура ПП. Программные модули: головной, управляющий,
рабочие, сервисные. Библиотеки процедур, объектов и методов обработки.
Диалоговый процесс и интерфейс. Графический интерфейс пользователя.
Нисходящее проектирование. Модульное и структурное программирование.
Состав модуля. Модульная структура приложения. Функционально-модульная
схема. Типовые управляющие структуры обработки данных различных
программных модулей.
11
ТЕМА 5. Особенности программирования в оконных операционных
средах. Основные стандартные модули, обеспечивающие работу в оконной
операционной
среде.
Среда
разработки.
Основы
визуального
программирования. Компоненты; использование компонентов. Реакция на
события. Отладка и тестирование программ.
Сложные
характеристики
промышленные
задач,
программные
решаемых
с
продукты.
Примеры
использованием
и
объектно-
ориентированного подхода. Причины сложности, присущей программному
обеспечению. Общие признаки сложных систем. Среда разработки: система
окон разработки; система меню. Основы визуального программирования.
Размещение нового компонента. Компоненты; использование компонентов.
Реакция на события. Отладка и тестирование программ.
ТЕМА 6. Принципы лежащие в основе объектно-ориентированного
подхода. Абстрагирование. Инкапсуляция. Модульность.
Иерархичность. Типизация. Параллелизм. Сохраняемость.
Абстрагирование: абстракция, барьер и уровни абстракции, контрактная
модель программирования, инварианты, обработка исключительных ситуаций.
Инкапсуляция: интерфейс и реализация, инструменты скрытия реализации.
Модульность: модуль, разделение описание-реализация, принципы, приемы и
правила разбиения системы на модули, подсистемы. Иерархичность: иерархии
типа «является» и «имеет», одиночное и множественное наследование.
Типизация: согласование типов, полиморфизм и его виды, операторы
приведения. Параллелизм: поток управления, активные и неактивные объекты.
Сохраняемость: сохранение объектов в пространстве и времени.
ТЕМА
7.
Объекты.
Состояние
объекта.
Поведение
объекта.
Идентичность объекта. Отношения между объектами.
Поведение объекта: операции (модификатор, селектор, конструктор,
деструктор), конструктор с одним аргументом, инициализаторы конструктора,
свободные подпрограммы. Идентичность объекта: проблема структурной
12
зависимости, конструктор копирования, присваивание и равенство объектов.
Отношения между объектами: связи и агрегация.
ТЕМА 8. Классы. Виды отношений между классами. Ассоциация.
Агрегация и композитная агрегация. Наследование. Обобщение и
типизация.
Зависимость
Переменные
и
(использование).
операции
класса,
Инстанцирование.
утилиты.
Интерфейсы.
Группирование классов.
Понятие класса. Виды отношений между классами. Ассоциация:
мощность ассоциации, рефлексивная ассоциация. Агрегация и композитная
агрегация. Обобщение (наследование): построение наследственных иерархий;
конкретные, абстрактные, листовые и базовые классы; операции и методы
класса; виртуальные и чисто виртуальные функции; защищенная часть класса.
Обобщение и типизация: открытое, закрытое и защищенное наследование;
чистый полиморфизм, динамическое определение типа, повышающее и
понижающее приведение. Множественное наследование: конфликт имен между
суперклассами,
повторное
наследование,
виртуальное
наследование.
Зависимость (использование). Инстанцирование: параметризованный класс,
параметрический полиморфизм. Переменные и операции класса, утилиты.
Интерфейсы. Группирование классов: пакеты и пространства имен.
ТЕМА 9. Объектно-ориентированный анализ. Классический подход,
анализ поведения, анализ предметной области, анализ вариантов,
неформальное описание. Ключевые абстракции.
Основы
объектно-ориентированного
анализа.
Анализ
поведения,
предметной области, вариантов. Неформальное описание. Поиск, выбор и
уточнение ключевых абстракций.
ТЕМА 10. Элементы языка визуального моделирования UML:
диаграмма
классов,
взаимодействий
диаграмма
(диаграмма
объектов,
последовательностей
кооперации).
13
диаграммы
и
диаграмма
История и современное состояние объектно-ориентированного подхода к
анализу и проектированию информационных систем. Обзор подхода к
объектно-ориентированному анализу и проектированию информационных
систем, с использованием Унифицированного Языка Моделирования (UML).
Архитектурные
представления
ИС,
используемые
UML.
Процессы
проектирования ИС с использованием UML. Формальное описание лексики,
синтаксиса и семантики основных конструкций UML. Типовые приемы
моделирования с использованием UML. Лексика UML. Синтаксис UML.
Средства расширения UML. Диаграмма классов, диаграмма объектов,
диаграммы взаимодействий (диаграмма последовательностей и диаграмма
кооперации).
3.2 Тематика семинарских занятий.
ТЕМА 1. Введение. Программные продукты и их основные
характеристики. Характеристики качества ПО.
 Процесс разработки программного обеспечения.
 Парадигмы программирования.
 Классификация ПО.
 Проблемы, возникающие при создании программных продуктов.
Показатели качества ПО.

Критерии оценки качества программ
ТЕМА 2. Классификация и сравнение языков программирования.
 Языки низкого и высокого уровней.

Понятия компилятора, транслятора, интерпретатора.
ТЕМА 3. Проектирование программных продуктов. Классификация
методов проектирования ПП. Этапы создания ПП.
 Методы
проектирования
ПП:
неавтоматизированное,
автоматизированное и структурное проектирование.

Информационное моделирование.

Объектно-ориентированный подход.
14

Этапы создания ПП: составление технического задания на
программирование; технический проект; рабочая документация;
ввод в действие.
ТЕМА 4. Структура программных продуктов. Проектирование
интерфейса пользователя. Структурное проектирование и
программирование.
 Архитектура ПП.

Программные
модули:
головной,
управляющий,
рабочие,
сервисные.

Библиотеки процедур, объектов и методов обработки.
 Диалоговый процесс и интерфейс.

Графический интерфейс пользователя.

Нисходящее
проектирование.
Модульное
и
структурное
программирование.

Состав модуля.

Модульная структура приложения.

Функционально-модульная схема.

Типовые управляющие структуры обработки данных различных
программных модулей.
ТЕМА 5. Особенности программирования в оконных операционных
средах. Основные стандартные модули, обеспечивающие работу в оконной
операционной среде. Среда разработки. Основы визуального
программирования. Компоненты; использование компонентов. Реакция на
события. Отладка и тестирование программ.
 Сложные промышленные программные продукты.

Примеры и характеристики задач, решаемых с использованием
объектно-ориентированного подхода.

Причины сложности, присущей программному обеспечению.

Общие признаки сложных систем.
15

Среда разработки: система окон разработки; система меню.

Основы визуального программирования.

Размещение нового компонента.
 Компоненты; использование компонентов.

Реакция на события. Отладка и тестирование программ.
ТЕМА 6. Принципы лежащие в основе объектно-ориентированного
подхода. Абстрагирование. Инкапсуляция. Модульность.
Иерархичность. Типизация. Параллелизм. Сохраняемость.
 Абстрагирование: абстракция, барьер
и уровни абстракции,
контрактная модель программирования, инварианты, обработка
исключительных ситуаций.

Инкапсуляция: интерфейс и реализация, инструменты скрытия
реализации.

Модульность:
модуль,
разделение
описание-реализация,
принципы, приемы и правила разбиения системы на модули,
подсистемы.

Иерархичность: иерархии типа «является» и «имеет», одиночное и
множественное наследование.
 Типизация: согласование типов, полиморфизм и его виды,
операторы приведения.

Параллелизм: поток управления, активные и неактивные объекты.
 Сохраняемость: сохранение объектов в пространстве и времени..
ТЕМА
7.
Объекты.
Состояние
объекта.
Поведение
объекта.
Идентичность объекта. Отношения между объектами.
 Поведение
объекта:
операции
(модификатор,
селектор,
конструктор, деструктор), конструктор с одним аргументом,
инициализаторы конструктора, свободные подпрограммы.

Идентичность
объекта:
проблема
структурной
зависимости,
конструктор копирования, присваивание и равенство объектов.
16
 Отношения между объектами: связи и агрегация.
ТЕМА 8. Классы. Виды отношений между классами. Ассоциация.
Агрегация и композитная агрегация. Наследование. Обобщение и
типизация.
Переменные
Зависимость
и
(использование).
операции
класса,
Инстанцирование.
утилиты.
Интерфейсы.
Группирование классов.
 Понятие класса. Виды отношений между классами.
 Ассоциация: мощность ассоциации, рефлексивная ассоциация.
 Агрегация и композитная агрегация.
 Обобщение (наследование): построение наследственных иерархий;
конкретные, абстрактные, листовые и базовые классы; операции и
методы класса; виртуальные и чисто виртуальные функции;
защищенная часть класса.
 Обобщение и типизация: открытое, закрытое и защищенное
наследование; чистый полиморфизм, динамическое определение
типа, повышающее и понижающее приведение.
 Множественное
суперклассами,
наследование:
повторное
конфликт
наследование,
имен
между
виртуальное
наследование. Зависимость (использование).
 Инстанцирование: параметризованный класс, параметрический
полиморфизм. Переменные и операции класса, утилиты.

Интерфейсы. Группирование классов: пакеты и пространства имен.
ТЕМА 9. Объектно-ориентированный анализ. Классический подход,
анализ поведения, анализ предметной области, анализ вариантов,
неформальное описание. Ключевые абстракции.
 Основы объектно-ориентированного анализа.

Анализ поведения, предметной области, вариантов.

Неформальное описание. Поиск, выбор и уточнение ключевых
абстракций.
17
 ТЕМА 10. Элементы языка визуального моделирования UML:
диаграмма
классов,
диаграмма
объектов,
диаграммы
взаимодействий (диаграмма последовательностей и диаграмма
кооперации).
 История и современное состояние объектно-ориентированного
подхода к анализу и проектированию информационных систем.

Обзор
подхода
к
объектно-ориентированному
анализу
и
проектированию информационных систем, с использованием
Унифицированного Языка Моделирования (UML).

Архитектурные представления ИС, используемые UML.

Процессы проектирования ИС с использованием UML.

Формальное описание лексики, синтаксиса и семантики основных
конструкций UML.

Типовые приемы моделирования с использованием UML.

Лексика UML. Синтаксис UML. Средства расширения UML

Диаграмма
классов,
диаграмма
объектов,
диаграммы
взаимодействий (диаграмма последовательностей и диаграмма
кооперации).
3.3 Пример тестового задания.
по
теме
7.
«Объекты.
Состояние
объекта.
Поведение
объекта.
Идентичность объекта. Отношения между объектами.» :
Какой результат будет иметь действие “MyObject.Create” (переменная
MyObject : TMyClass ещё не создана)?
1) Обнуление значения полей объекта MyObject
2*) Ошибка доступа (Access violation)
3) Освобождается доступ к объекту MyObject
4) Объект MyObject будет создан
18
4. ВОПРОСЫ ДЛЯ САМОСТОЯТЕЛЬНОЙ РАБОТЫ (ТЕМЫ
РЕФЕРАТОВ).
1. Теоретические проблемы разработки языков программирования. История
языков программирования. Эволюция архитектуры программного
обеспечения.
2. Парадигмы программирования. Общие принципы построения и
использования языков программирования; средства описания данных;
средства описания действий.
3. Теоретические проблемы разработки языков программирования.
Стандарты языков программирования.
4. Алгоритм. Алгоритмы на графах. Минимальные покрывающие деревья.
Алгоритмы Крускала и Прима.
5. Структуры данных. Двоичные деревья поиска. Красно-черные деревья.
6. Методы построения и анализа алгоритмов.
7. Алгоритм. Формы представления. Способы представления и записи
алгоритмов. Описание известных алгоритмов.
8. Алгоритмы сортировки одномерных массивов.
9. История возникновения программирования. Основные принципы и
подходы при создании языков программирования.
10.Программирование. Стили программирования. История развития стилей
программирования.
11.Системное программирование. История возникновения. Основные
принципы, обзор основных процедур и функций.
12.Способы хранения информации в ПК. Представление целых,
вещественных и текстовых форматов.
13.Логическое программирование. История возникновения. Основные
принципы, обзор основных процедур и функций.
14.Функциональное программирование. История возникновения. Основные
принципы, обзор основных процедур и функций.
15.Информация. Свойства информации. Информационные процессы:
получение, передача, преобразование и хранение информации.
16.Oбъектно-ориентированное программирование. История развития.
Иерархия объектов. Основные свойства оъектно-ориентированного языка
программирования.
17.Визуальные языки программирования. Обзор. История возникновения.
Основные принципы, обзор основных процедур и функций.
18.Основы компьютерной графики. Основные понятия. Представление
изображения. Разрешающая способность. Аппаратная поддержка
графики.
19.Технология разработки программных продуктов. Этапы создания.
20.Моделирование потоков данных (процессов). Общие сведения. Состав
диаграмм потоков данных. Построение иерархии диаграмм потоков
данных.
19
5. ВОПРОСЫ К ЗАЧЕТУ.
1. Назовите современные методы обработки информации.
2. Чем занимается инженерия знаний?
3. Дайте определение термина модель представления знаний.
4. Назовите и охарактеризуйте модели представления знаний.
5. Какие парадигмы программирования Вы знаете?
6. Сформулируйте принципы логического программирования.
7. Какие языки программирования поддерживают логическое
программирование?
8. На чем основано функциональное программирование? Какие языки его
поддерживают?
9. В чем заключаются принципы структурного проектирования и
программирования?
10.Сформулируйте принципы модульного программирования.
11.Дайте определение объекта, класса, экземпляра.
12.Сформулируйте принципы объектно-ориентированного подхода.
13.Что такое наследование? Какие виды наследования Вы знаете?
14.В чем заключаются инкапсуляция и полиморфизм?
15.Приведите примеры объектно-ориентированных языков.
16.Приведите сравнительную характеристику языков С и С++.
17.Дайте определение компонентных данных и компонентных функций.
18.Сформулируйте принципы доступности компонент класса.
19.Дайте определение конструкторов и деструкторов класса.
20.В чем заключается метод «друзья класса»? Зачем он применяется?
21.Как и с какой целью осуществляется перегрузка операций?
22.Дайте определение виртуальных функций и классов. Когда они
применяются?
23.Как осуществляется ввод-вывод в языке С++?
24.Дайте определение классов-шаблонов и контейнеров. Когда и с какой
целью они применяются?
25.Перечислите основные особенности программирования в оконных
средах.
26.Что такое среда программирования?
27.Опишите среду разработки С++ под Windows.
28.Как происходит отладка и тестирование программ в среде С++ под
Windows?
29.Дайте определение технологии визуального программирования?
30.Что такое GDI и MDI?
31.Чтотакое Resourse Workshop? Как его использовать?
32.Что такое AppExpert? Когда он используется?
33.Что такое ClassExpert? С какой целью он применяется?
20
34.Что такое окно диалога? Как его создать средствами С++?
35.Опишите объекты Windows.
36.Что такое событие и как его обработать?
37.Классификаторы и отношения
38.Виды отношений
39.Виды диаграмм
40.Архитектурные представления UML
41.Стереотипы и их роль в спецификации базового языка UML
42.Диаграммы прецедентов
43.Диаграммы кооперации
44.Диаграммы последовательностей
45.Классы на диаграммах классов
46.Отношения на диаграммах классов
47.Отношение ассоциации. Роль. Кратность. Ассоциация как класс
48.Классификаторы и формальное определение основных конструкций UML
49.Диаграммы состояний
50.Диаграммы деятельности
51.Диаграммы компонентов
52.Диаграммы размещения
6.
УЧЕБНО-МЕТОДИЧЕСКОЕ
И
ИНФОРМАЦИОННОЕ
ОБЕСПЕЧЕНИЕ ДИСЦИПЛИНЫ (МОДУЛЯ).
6.1 Основная литература:
1.
Макарова, Н. В. Информатика: учебник для студентов вузов / Н. В.
Макарова, В. Б. Волков. - Санкт-Петербург: Питер, 2013. (150 экз)
2.
Информатика : базовый курс : учеб. пособие для студентов втузов :
/ ред. С. В. Симонович. - 3-е изд. - Санкт-Петербург : Питер, 2012. - 640 с. (33
экз)
3.
Иванова, Г. С. Программирование: учебник для студентов вузов / Г.
С. Иванова. - Москва : КНОРУС, 2013. - 432 с. (93 экз)
4.
Плещев, В. В. Разработка и стандартизация программных средств,
информационных технологий и систем : организация, методология, метрология,
качество, CASE-средства : учеб. пособие / В. В. Плещев. - Тюмень : Изд-во
ТюмГУ, 2011. - 312 с. (30 экз)
21
6.2 Дополнительная литература:
1.
Чиртик, А. А. Программирование на C++ : трюки и эффекты / А. А.
Чиртик. - Санкт-Петербург : Питер, 2010. - 352 с. : ил. ; 24 см + 1 эл. опт. диск
(CD-ROM). (1 экз)
2.
Пряхина, Е. Н. Информатика и программирование : учебно-
методический комплекс : дидактические материалы / Е. Н. Пряхина ; Тюм. гос.
ун-т, Ин-т мат. и компьютерных наук, Каф. програм. обеспечения. - Тюмень :
Изд-во ТюмГУ, 2013. - 36 с. (200 экз)
3.
Павловская, Т. А. C#: программирование на языке высокого уровня
: учебник / Т. А. Павловская. - Санкт-Петербург : Питер, 2010. - 432 с. (1 экз)
4.
Павловская, Т. А. C/C ++: структурное и объектно-
ориентированное программирование: практикум / Т. А. Павловская. - СанктПетербург : Питер, 2010. - 352 с. (1 экз)
5.
Фризен, И. Г. Офисное программирование : учеб. пособие / И. Г.
Фризен. - 2-е изд. - Москва : Дашков и К°, 2010. - 244 с. (1 экз)
6.3 Программное обеспечение и Интернет – ресурсы:
Изучение дисциплины предполагает использование программного
обеспечения пакета Microsoft Office и Visual Studio.
Дополнительным источником информации для изучения дисциплины
должны служить Интернет ресурсы:
1.
http://www.intuit.ru/
2.
http://algolist.manual.ru/
3.
http://alglib.sources.ru/
4.
http://www.allbest.ru/info.htm
6.4. Учебно-методические материалы
22
Дисциплина обеспечена электронным курсом лекций, заданиями для
аудиторной и домашней работы, заданиями для самостоятельной работы
7.
ТЕХНИЧЕСКИЕ
СРЕДСТВА
И
МАТЕРИАЛЬНО-
ТЕХНИЧЕСКОЕ ОБЕСПЕЧЕНИЕ ДИСЦИПЛИНЫ (МОДУЛЯ).
Наличие компьютерных классов с выходом в Интернет, достаточное
количество посадочных мест в читальных залах библиотеки. Наличие доступа к
электронно-библиотечной системе, содержащей издания по дисциплине.
Лекционные аудитории, оснащенные мультимедийными средствами
обучения.
23
Download