МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования «ТЮМЕНСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ» Институт математики и компьютерных наук Кафедра программного обеспечения Ялдыгин Валерий Борисович ПОСТРОЕНИЕ ИНФОРМАЦИОННЫХ ПРИЛОЖЕНИЙ НА БАЗЕ ПРОМЫШЛЕННЫХ СУБД Учебно-методический комплекс. Рабочая программа для студентов направления 02.04.03 Математическое обеспечение и администрирование информационных систем. Магистерская программа «Высокопроизводительные вычислительные системы» (очная форма обучения) Тюменский государственный университет 2015 2 Ялдыгин В.Б. Построение информационных приложений на базе промышленных СУБД. Учебно-методический комплекс. Рабочая программа для студентов направления 02.04.03 Математическое обеспечение и администрирование информационных систем, магистерская программа «Высокопроизводительные вычислительные системы» (очная форма обучения). Тюмень, 2015, 16 стр. Рабочая программа составлена в соответствии с требованиями ФГОС ВО с учетом рекомендаций и ПрОП ВО по направлению подготовки. Рабочая программа дисциплины опубликована на сайте ТюмГУ: Построение информационных приложений на базе промышленных СУБД [электронный ресурс] / Режим доступа: http://www.umk3plus.utmn.ru, свободный. Рекомендовано к изданию кафедрой программного обеспечения. Утверждено директором Института математики и компьютерных наук. ОТВЕТСТВЕННЫЙ РЕДАКТОР: Захарова И.Г., д.п.н., профессор. © Тюменский государственный университет, 2015. © Ялдыгин В.Б., 2015. 3 1. Пояснительная записка. 1.1. Цели и задачи дисциплины Цель дисциплины: дать знания, сформировать умения и владения, позволяющие разрабатывать информационные приложения на базе современных промышленных СУБД. Задачи дисциплины: - дать знания в области построения информационных приложений на основе промышленных СУБД; - научить производить выбор промышленной СУБД и архитектуры разрабатываемых приложений; - дать навыки разработки приложений, использующих СУБД Oracle. 1.2. Место дисциплины в структуре основной образовательной программы Дисциплина «Построение информационных приложений на базе промышленных СУБД» относится к дисциплинам по выбору вариативной части блока 1 Федерального государственного образовательного стандарта высшего образования направления подготовки 02.04.03 Математическое обеспечение и администрирование информационных систем. В соответствии с учебным планом образовательной программы изучение данной дисциплины предусмотрено в 2-м семестре 1-го года обучения. Дисциплина «Построение информационных приложений на базе промышленных СУБД» опирается на материалы таких дисциплин, как «Иностранный язык профессиональной коммуникации», «Иностранный язык в компьютерных технологиях», «Алгоритмы и технологии разработки параллельных программ», «Администрирование распределенных систем», а также использует знания в области баз данных и систем управления базами данных. Таблица 1. Разделы дисциплины и междисциплинарные связи с обеспечиваемыми (последующими) дисциплинами № п/п Наименование обеспечиваемых (последующих) дисциплин 1. 2. 3. Управление проектами Преддипломная практика Научно-исследовательская работа Выпускная квалификационная работа 4. Темы дисциплины, необходимые для изучения обеспечиваемых (последующих) дисциплин 1.1 1.2 1.3 1.4 1.5 2.1 2.2 + + + + + + + + + + + + + + + + + + + + + 1.3. Компетенции обучающегося, формируемые в результате освоения данной дисциплины. В результате освоения дисциплины «Алгоритмы и технологии разработки параллельных программ» выпускник должен обладать следующими компетенциями: 4 - владение теоретическими основами информатики как науки; знание проблем современной информатики, ее категорий и связей с другими научными дисциплинами, понимание основных этапов и тенденций развития программирования, математического обеспечения и информационных технологий (ОПК-4); - владение навыками выбора, проектирования, реализации, оценки качества и анализа эффективности программного обеспечения для решения задач в различных предметных областях (ОПК-12). 1.4. Перечень планируемых результатов обучения по дисциплине: В результате освоения дисциплины обучающийся должен: Знать: основные преимущества и проблемы использования промышленных СУБД, перспективы развития промышленных СУБД. Уметь: оценивать достоинства и недостатки современных промышленных СУБД, производить выбор применяемой СУБД исходя из имеющейся задачи. Владеть: навыками разработки информационных приложений на базе промышленных СУБД. 2. Структура и трудоемкость дисциплины. Семестр 2. Форма промежуточной аттестации – зачет. Общая трудоемкость дисциплины составляет 3 зачетные единицы, 108 академических часов, из них 69,9 часов, выделенных на контактную работу с преподавателем (34 часа лекций, 34 часа лабораторных занятий, 1,9 часа – иные виды работ), 38,1 часа, выделенных на самостоятельную работу. Таблица 2. Вид учебной работы Контактная работа: Аудиторные занятия (всего) В том числе: Лекции Практические занятия (ПЗ) Семинары (С) Лабораторные работы (ЛР) Иные виды работ Самостоятельная работа (всего) Общая трудоемкость зач. ед. часов Вид промежуточной аттестации 5 Всего часов 69,9 68 34 34 1,9 38,1 3 108 Семестры 2 69,9 68 34 34 1,9 38,1 3 108 зачет 3. Тематический план. Таблица 3. Лабораторные занятия Самостоятельная работа Итого часов по теме Из них в интерактивной форме Лекции 5 6 7 8 9 10 4 2 10 2 Опрос при сдаче лабораторной работы 1 2 3 4 Модуль 1. Использование СУБД Oracle 1.1 Распределенные базы 1-2 4 данных 1.2 Архитектура данных Oracle 3-4 4 4 4 12 2 Опрос при сдаче лабораторной работы 5-6 4 4 4 12 2 Опрос при сдаче лабораторной работы и в 7-8 4 4 2 10 2 Опрос при сдаче лабораторной работы 1.5 Блокировки и транзакции в БД Oracle 9-10 4 4 4 12 2 Опрос при сдаче лабораторной работы 20 20 16 56 10 1.3 Управление экземпляром данных Oracle базы Формы контроля Семинарские (практические) занятия Виды учебной работы и СРС (в часах) Неделя семестра № Тема базы 1.4 Параллелизм многоверсионность БД Oracle Всего 6 Модуль 2. Разработка приложений, использующих базы данных 2.1 Использование PL/SQL языка 11-13 6 6 10 22 6 Опрос при сдаче лабораторной работы 2.2 Разработка приложений, использующих данных .NET- 14-17 8 8 12,1 28,1 4 Опрос при сдаче лабораторной работы Всего 14 14 22,1 50,1 10 Итого (часов) 34 34 38,1 базы Из них в интерактивной форме 18 Иные виды работ 1,9 Итого (часов), с учетом иных видом работ 108 4. Содержание дисциплины. Модуль 1. Тема 1.1. Распределенные базы данных. Система распределенных баз данных. Узлы. Распределенная система управления базами данных (РСУБД). Однородность. Преимущества распределенных хранилищ данных. Примеры распределенных систем. Основной принцип распределенных систем. Тема 1.2. Архитектура базы данных Oracle. Архитектура процессов. Структуры памяти. Логическая и физическая структуры хранения. Архитектура ASM. Тема 1.3. Управление экземпляром базы данных Oracle. Инструменты, используемые при администрировании базы данных Oracle. Варианты установки программного обеспечения Oracle на различных платформах. Создание базы данных. Запуск и остановка. Управление паролями. Использование Oracle Enterprise Manager, SQL*Plus. Просмотр предупреждений. Настройка прослушивателя. Использование утилиты tnsping. Выделенный и разделяемый сервер. Тема 1.4. Параллелизм и многоверсионность в БД Oracle. 7 Последствия многоверсионной согласованности чтения. Согласованность записи. Параллельные запросы. Параллельный DML. Параллельный DDL. Параллельное восстановление. Процедурный параллелизм. Тема 1.5. Блокировки и транзакции в БД Oracle. Проблемы блокировки. Типы блокировок. Уровни изоляции транзакций. Операторы управления транзакциями. Атомарность. Ограничения целостности и транзакции. Распределенные транзакции. Автономные транзакции. Модуль 2. Тема 2.1. Использование языка PL/SQL. Типы блоков PL/SQL. Объявление переменных. Вложенные блоки. Управление транзакциями в PL/SQL. Управляющие структуры. Составные типы данных. Использование явных курсоров. Исключения. Создание и вызов хранимых процедур и функций. Использование пакетов. Стандартные пакеты Oracle. Динамический SQL. Создание триггеров. Управление компилятором PL/SQL. Условная компиляция. Управление зависимостями. Тема 2.2. Разработка .NET- приложений, использующих базы данных Установка Oracle Data Provider for .NET (ODP .NET). Использование Oracle Developer Tools for Visual Studio. Получение и обновление данных с помощью ODP .NET. Вызов хранимых процедур из приложения ODP .NET. Разработка хранимых процедур .NET. 5. Планы семинарских занятий. Семинарские занятия учебным планом не предусмотрены 6. Темы лабораторных работ (Лабораторный практикум). Тема 1.1. Распределенные базы данных. Использование распределенного хранилища данных на базе СУБД Oracle. Использование связей с базами данных (database links). Тема 1.2. Архитектура базы данных Oracle. Архитектура процессов. Структуры памяти. Логическая и физическая структуры хранения. Архитектура ASM. Тема 1.3. Управление экземпляром базы данных Oracle. Инструменты, используемые при администрировании базы данных Oracle. Варианты установки программного обеспечения Oracle на различных платформах. Создание базы данных. Запуск и остановка. Управление паролями. Использование Oracle Enterprise Manager, SQL*Plus. Просмотр предупреждений. Настройка прослушивателя. Использование утилиты tnsping. Выделенный и разделяемый сервер. 8 Тема 1.4. Параллелизм и многоверсионность в БД Oracle. Выполнение заданий по параллельной обработке в БД Oracle. Тема 1.5. Блокировки и транзакции в БД Oracle. Выполнение заданий по блокировкам и транзакциями в БД Oracle. Изучение влияния уровней изоляции транзакций на обработку данных. Тема 2.1. Использование языка PL/SQL. Написание хранимых процедур, функций и пакетов. Написание триггеров. Управление компилятором PL/SQL. Тема 2.2. Разработка .NET- приложений, использующих базы данных Разработка приложений на платформе .NET с использованием подключенного уровня, объектов Dataset и Entity Framework. 7. Примерная тематика курсовых работ Курсовые работы учебным планом не предусмотрены. 8. Учебно-методическое обеспечение и планирование самостоятельной работы студентов Таблица 5. Планирование самостоятельной работы студентов № Модули и темы Виды СРС обязательные дополнит. Неделя семестра Объем часов 1-2 2 3-4 4 5-6 4 7-8 2 Модуль 1. Использование СУБД Oracle 1.1 1.2 1.3 1.4 Распределенные базы данных Архитектура данных Oracle Управление экземпляром данных Oracle базы базы Параллелизм и многоверсионность в Выполнение практических заданий, тестовых и контрольных работ Выполнение практических заданий, тестовых и контрольных работ Выполнение практических заданий, тестовых и контрольных работ Выполнение практических заданий, тестовых 9 Работа с литературой, источниками Интернет Работа с литературой, источниками Интернет Работа с литературой, источниками Интернет Работа с литературой, источниками БД Oracle 1.5 Блокировки транзакции Oracle в и БД и контрольных работ Выполнение практических заданий, тестовых и контрольных работ Интернет Работа с литературой, источниками Интернет 9-10 Всего 4 16 Модуль 2. Разработка приложений, использующих базы данных 2.1 2.2 Использование языка PL/SQL Разработка .NETприложений, использующих базы данных Выполнение практических заданий, тестовых и контрольных работ Выполнение практических заданий, тестовых и контрольных работ Работа с литературой, источниками Интернет Работа с литературой, источниками Интернет 11-13 10 14-17 12,1 Всего 22,1 Итого 38,1 10 9. Фонд оценочных средств для проведения промежуточной аттестации по итогам освоения дисциплины 9.1. Перечень компетенций с указанием этапов их формирования в процессе освоения образовательной программы (выдержка из семестр матрицы компетенций): 1 2 3 4 ОПК-4 – владение теоретическими основами информатики как науки; ОПК-12 – владение навыками выбора, проектирования, реализации, знание проблем современной информатики, ее категорий и связей с оценки качества и анализа эффективности программного другими научными дисциплинами, понимание основных этапов и обеспечения для решения задач в различных предметных областях тенденций развития программирования, математического обеспечения и информационных технологий Дисциплины учебного плана Б1 История и методология компьютерных наук Б1 Методика преподавания компьютерных наук Б1 Алгоритмы и технологии разработки параллельных программ Б1 Системы компьютерной математики Б1 Вычислительный эксперимент c использованием пакета MatLab Б1 Дополнительные главы дискретной математики Б1 Дополнительные главы математической логики Б1 Современные технологии программирования Б1 Алгоритмы и технологии разработки параллельных программ Б1 Распределенные хранилища данных Б1 Современные технологии программирования Б1 Построение информационных приложений на базе Б1 Распределенные хранилища данных промышленных СУБД Б1 Построение информационных приложений на базе промышленных СУБД Б1 Системы имитационного моделирования Б1 Управление проектами Б1 Задачи оптимального управления Б1 Метрология качества программного обеспечения Б1 Открытые технологии разработки программного обеспечения Б1 Экономико-правовые основы рынка программного обеспечения Б1 Разработка мобильных приложений (продвинутый курс) Б2 Преддипломная практика Код компетенции 9.2. Описание показателей и критериев оценивания компетенций на различных этапах их формирования, описание шкал оценивания ОПК-4 Критерии в соответствии с уровнем освоения ОП пороговый базовый (хор.) (удовл.) повышенный (отл.) Знает: основные тенденции развития технологий разработки программного обеспечения, использующего данные. Знает: проблемы и тенденции развития технологий разработки программного обеспечения, использующего данные. Знает: проблемы и тенденции развития технологий разработки программного обеспечения, использующего данные, на различных платформах. Умеет: осуществлять выбор технологии разработки программного обеспечения, использующего данные. Умеет: осуществлять выбор технологии разработки программного обеспечения, использующего данные, с учетом тенденций их развития. Умеет: осуществлять выбор технологии разработки программного обеспечения, использующего данные, с учетом их проблем и тенденций развития. Владеет: теоретическими основами технологий разработки программного обеспечения, использующего данные. Владеет: теоретическими основами технологий разработки программного обеспечения, использующего данные, на различных платформах. Владеет: теоретическими основами технологий и подходов разработки программного обеспечения, использующего данные, на различных платформах. 12 Виды занятий Оценочные средства Лекции, лабораторные работы Опрос на лекциях Проекты по разработке программного продукта Зачет ОПК12 Знает: основные принципы выбора программного обеспечения, используемого при проектировании и реализации приложений, использующих данные. Знает: принципы и критерии выбора программного обеспечения, используемого при проектировании и реализации приложений, использующих данные. Знает: принципы, критерии и подходы к выбору программного обеспечения, используемого при проектировании и реализации приложений, использующих данные. Умеет: осуществлять выбор программного обеспечения, используемого при проектировании и реализации приложений, использующих данные. Умеет: осуществлять выбор программного обеспечения, используемого при проектировании и реализации приложений, использующих данные, с учетом особенностей имеющихся задач. Умеет: осуществлять выбор программного обеспечения, используемого при проектировании и реализации приложений, использующих данные, с учетом особенностей имеющихся задач и ограничений. Владеет: основными навыками проектирования и реализации приложений, использующих данные. Владеет: навыками проектирования и реализации приложений, использующих данные, для различных платформ. Владеет: навыками проектирования и реализации приложений, использующих данные, для различных платформ и различных объемов задач. 13 Лекции, лабораторные работы Опрос на лекциях Проекты по разработке программного продукта Зачет 9.3. Типовые контрольные задания или иные материалы, необходимые для оценки знаний, умений, навыков и (или) опыта деятельности, характеризующей этапы формирования компетенций в процессе освоения образовательной программы Комплексное задание по дисциплине «Построение информационных приложений на базе промышленных СУБД» Необходимо разработать приложение в соответствии со следующими требованиями. 1. Приложение должно иметь практическую направленность. 2. База данных должна содержать не менее 8-ми таблиц. 3. В базе данных требуется наличие комментариев для каждого поля в таблицах. 4. База данных должна включать CHECK CONSTRAINTS, внешние ключей с разными DELETE RULE (RESTRICT / CASCADE), индексы. 5. База данных должна содержать не менее 6 представлений, в т.ч. представление к представлению, обновляемые представления. 6. База данных должна содержать не менее 5 хранимых процедур, в т.ч. не менее 2 процедур, работающих с несколькими таблицами. 7. База данных должна содержать не менее 3 функций. 8. База данных должна содержать не менее 3 триггеров. 9. Для разработки необходимо использовать современное средство разработки (например, Visual Studio 2013) и современный подход к разработке ПО (например, Entity Framework). 10. Дополнительные возможности приложения, которые рекомендуется реализовать: Наличие иерархии в таблице(ах), использование иерархического запроса. Наличие отношения «is-a» (является, класс-подкласс). Учет вопросов безопасности, управление пользователями. Отчеты с использованием современного подхода к построению отчетов (например, Crystal Reports). Вопросы к зачету 1. Узлы в системах распределенных хранилищ данных. 2. Распределенная система управления базами данных (РСУБД). 3. Однородность и неоднородность распределенных хранилищ данных. 4. Преимущества распределенных хранилищ данных. 5. Основной принцип распределенных систем. 6. Основные цели создания распределенных хранилищ данных. 7. Проблема скорости обработки в распределенных хранилищах данных. 8. Минимизация использования сетей в распределенных хранилищах данных. 9. Последствия многоверсионной согласованности чтения в БД Oracle. 10. Возможности СУБД Oracle по созданию распределенных хранилищ. 11. Согласованность записи в БД Oracle. 12. Архитектура процессов БД Oracle. 13. Структуры памяти БД Oracle. 14. Логическая и физическая структуры хранения БД Oracle. 15. Управление пространством в табличных пространствах. Выполнение действий с табличными пространствами БД Oracle. 16. Oracle Managed Files (OMF). 17. Управление одновременным доступом БД Oracle. 18. Управление данными отмены БД Oracle. 19. Концепции резервирования и восстановления БД Oracle. 20. Типы блоков PL/SQL. Объявление переменных. 21. Вложенные блоки. Управление транзакциями в PL/SQL. 22. Управляющие структуры PL/SQL. 23. Составные типы данных PL/SQL. 24. Использование явных курсоров в PL/SQL. 25. Исключения в PL/SQL. 26. Иерархические запросы в Oracle SQL. 27. Создание и вызов хранимых процедур и функций. Использование пакетов. 28. Стандартные пакеты Oracle. 29. Создание триггеров. 30. Управление компилятором PL/SQL. Условная компиляция. 31. Получение и обновление данных с помощью ODP .NET. 32. Вызов хранимых процедур из приложения ODP .NET. 33. Разработка хранимых процедур .NET. 34. Разработка приложений для обращения к распределенным хранилищам данных. 35. Процедурный параллелизм. 9.4. Методические материалы, определяющие процедуры оценивания знаний, умений, навыков и (или) опыта деятельности характеризующих этапы формирования компетенций. Форма промежуточной аттестации – зачет. Зачет проводится в устно-письменной форме. Билет содержит 3 вопроса: на 1–2 вопросы необходимо дать ответ с практической иллюстрацией, 3-й вопрос представляет собой практическое задание по одному из вопросов. При выставлении итоговой оценки учитывается качество выполненных в течение семестра лабораторных работ. При необходимости экзаменатор может задавать вопросы по существу выполненных и (или) невыполненных работ. 10. Образовательные технологии. Для реализации компетентностного подхода используются как традиционные формы и методы обучения, так и интерактивные формы (круглый стол, взаиморецензированиие, 15 представление и обсуждение проектных разработок), направленные на формирование у магистрантов навыков коллективной работы, умения анализировать технологии для оптимального их использования при разработке программных продуктов. 11. Учебно-методическое и информационное обеспечение дисциплины. 11.1. Основная литература: 1. Агальцов, В.П. Базы данных. В 2-х кн. Кн. 2. Распределенные и удаленные базы данных [Электронный ресурс]: учебник / В.П. Агальцов. – Электрон. текстовые дан. – М.: ИД ФОРУМ: НИЦ Инфра-М, 2013. – Режим доступа: http://znanium.com/bookread.php?book=372740 (дата обращения: 15.04.2015). 2. Затонский, А.В. Информационные технологии: разработка информационных моделей и систем [Электронный ресурс]: учеб. пособие / А.В. Затонский. – Электрон. текстовые дан. – М.: ИЦ РИОР: НИЦ ИНФРА-М, 2014. Режим доступа: http://znanium.com/bookread.php?book=400563 (дата обращения: 15.04.2015). 11.2. Дополнительная литература: 1. Стасышин, В.М. Проектирование информационных систем и баз данных: учебное пособие / В.М. Стасышин. – Электр. текст. дан. – Новосибирск: НГТУ, 2012. - 100 с. Режим доступа: http://biblioclub.ru/index.php?page=book&id=228774 (дата обращения: 15.04.2015). 2. Заботина, Н.Н. Проектирование информационных систем [Электронный ресурс]: учеб. пособие / Н.Н. Заботина. – Электрон. текстовые дан. – М.: НИЦ ИНФРА-М, 2014. Режим доступа: http://znanium.com/bookread.php?book=454282 (дата обращения: 15.04.2015). 11.3. Интернет – ресурсы: 1. http://biblioclub.ru – Электронно-библиотечная система «Университетская библиотека он-лайн»: 2. http://znanium.com – Электронно-библиотечная система издательства «Инфра». 3. http://docs.oracle.com – Документация по продуктам Oracle. 12. Технические средства и материально-техническое обеспечение дисциплины: Для чтения лекций используется аудитория, оборудованная мультимедиа-проектором и персональным компьютером. Для выполнения лабораторных работ необходим компьютерный класс с установленными программными продуктами Microsoft Visual Studio 2013, Microsoft Office Visio, Microsoft SQL Server 2014, Oracle Database 12c. 16