УТВЕРЖДАЮ Зам. директора института кибернетики по учебной работе ___________ Гайворонский С.А. «___»_____________2014 г. РАБОЧАЯ ПРОГРАММА ДИСЦИПЛИНЫ РАЗРАБОТКА WEB ПРИЛОЖЕНИЙ ДЛЯ БИЗНЕСА НАПРАВЛЕНИЕ ООП 09.03.04 Программная инженерия КВАЛИФИКАЦИЯ (СТЕПЕНЬ) бакалавр БАЗОВЫЙ УЧЕБНЫЙ ПЛАН ПРИЕМА 2014 г. КУРС 6 3 СЕМЕСТР КОЛИЧЕСТВО КРЕДИТОВ 6 ПРЕРЕКВИЗИТЫ КОРЕКВИЗИТЫ Б1.В6, Б1.В8, Б1.В14 Б1.В15 ВИДЫ УЧЕБНОЙ ДЕЯТЕЛЬНОСТИ И ВРЕМЕННОЙ РЕСУРС: Лекции 40 час. Лабораторная работа 40 час. Практические занятия 0 час. АУДИТОРНЫЕ ЗАНЯТИЯ 80 час. САМОСТОЯТЕЛЬНАЯ РАБОТА 136 час. ИТОГО 216 час. ФОРМА ОБУЧЕНИЯ очная ВИД ПРОМЕЖУТОЧНОЙ АТТЕСТАЦИИ экзамен ОБЕСПЕЧИВАЮЩЕЕ ПОДРАЗДЕЛЕНИЕ кафедра ОСУ ЗАВЕДУЮЩИЙ КАФЕДРОЙ О.Б. Фофанов РУКОВОДИТЕЛЬ ООП Е.С. Чердынцев ПРЕПОДАВАТЕЛЬ А.Ф. Тузовский 2014 г. 1. Цели освоения дисциплины Цель данной дисциплины – дать систематический обзор современных подходов и технологий разработки web-приложений, изучить и освоить способы разработки web-приложений с применением технологий ASP.Net Web Forms и MVC, рассмотреть методы проектирования новых web-приложений. Поставленные цели полностью соответствуют целям (Ц1, Ц2, Ц3) ООП. Код Формулировка цели цели Подготовка выпускников к проектно-конструкторской деятельности в обЦ1 Ц2 Ц3 ласти создания и внедрения аппаратных и программных средств объектов профессиональной деятельности в соответствии с техническим заданием и с использованием средств автоматизации проектирования. Подготовка выпускников к проектно-технологической деятельности в области создания компонентов программных комплексов и баз данных, автоматизации технологических процессов с использованием современных инструментальных средств и технологий программирования. Подготовка выпускников к комплексным инженерным исследованиям для решения задач, связанных с разработкой аппаратных и программных средств объектов профессиональной деятельности. 2. Место дисциплины в структуре ООП Дисциплина «Разработка Web-приложений для бизнеса» относится к вариативной части профессионального цикла Б1.В.2 учебных дисциплин ООП. Для изучения дисциплины «Проектирование и разработка Webприложений» студент должен: Знать: основные понятия компьютерных сетей и систем телекоммуникации; основы объектно-ориентированного подхода к разработке программного обеспечения; Уметь: ставить и решать прикладные задачи с использованием современных информационно-коммуникационных технологий; программировать на одном из алгоритмических языков; Владеть: основами алгоритмизации. Пререквизиты: Б1.В6 (Программирование), Б1.В8 (Технологии программирования), Б1.В14 (Конструирование программного обеспечения) Кореквизиты: Б1.В15 (Проектирование и архитектура программных систем) 3. Результаты освоения дисциплины Планируемым результатом освоения данной дисциплины является способность ставить и решать задачи комплексного анализа, связанные с созданием аппаратно-программных средств информационных и автоматизированных систем, с использованием базовых и специальных знаний, современных аналитических методов и моделей (Р3). В результате освоения дисциплины студент должен знать: понимание создания и развертывания программного обеспечения, работающего в компьютерных сетях с использованием Интернет технологий (З.3.2.3): теоретические основы функционирований Web-сети (З.3.2.3.1); понятие web-приложений и web-сервисов (З.3.2.3.2); основные подходы к разработке web-приложений (З.3.2.3.3); технологию разработки web-приложений Microsoft ASP.Net (З.3.2.3.4); способы проектирования web-приложений (З.3.2.3.5). уметь: Проектировать и разрабатывать web-приложения с использованием технологии ASP.Net и выполнять приложения Microsoft.Net и языка программирования C#. (У.3.2.3) разрабатывать Web-приложения с использованием технологии разработки Web-приложений Microsoft ASP.Net (У.3.2.3.1); разработка Web-сервисов с использованием технологии разработки Web-приложений Microsoft ASP.Net MVC (У.3.2.3.2); проектировать web-приложения (У.3.2.3.3). владеть: практическими навыками создания, отладки и развертывания webприложений с помощью системы программирования Microsoft Visual Studio.Net. (В.3.2.3). В процессе освоения дисциплины у студентов развиваются следующие компетенции: 1.Универсальные (общекультурные) владеет культурой мышления, способен к обобщению, анализу, восприятию информации, постановки цели и путей ее достижения (ОК-1, ФГОС); стремится к саморазвитию, повышению своей квалификации и мастерства (ОК-6, ФГОС); имеет навыки работы с компьютером как средством управления информацией (ОК-12, ФГОС); способен работать с информацией в глобальных компьютерных сетях (ОК-8, ФГОС). 2. Профессиональные: Выпускник должен обладать следующими профессиональными компетенциями (ПК): способен: осваивать методики использования программных средств для решения практических задач (ПК-2, ФГОС); разрабатывать интерфейсы «человек - ЭВМ» (ПК-3, ФГОС); разрабатывать компоненты программных комплексов и баз данных, использовать современные инструментальные средства и технологии программирования (ПК-5, ФГОС). 4. Структура и содержание дисциплины 4.1. Содержание разделов дисциплины: Тема № 1. Основные стандарты Web сети Универсальные адреса ресурсов URL, URI, URN. Web страницы. Язык описания документов HTML. Каскадные таблицы стилей CSS. Язык JavaScript. Объектная модель документа. Клиентские скрипты. Протокол взаимодействия HTTP. Тема № 2. Понятие web-приложений и походы к их разработке Понятие web-приложения. Технология CGI. Серверные скрипты. Объектные технологии. Классическая технология ASP. Платформа программирования Microsoft .Net. Новый тип приложений – сборка (assembly). Метаданные и промежуточный код. Среда выполнения (Runtime Environment). Пространства имен (namespaces). Единая библиотека платформы - Microsoft Framework Library, основные пространства имен. Технологии ASP.Net. Тема № 3. Основы технологии ASP.Net Web Forms Понятие Web формы (страница). Способы описание web страниц. Жизненный цикл web приложения. Жизненный цикл web страницы. Класс Page. Основные свойства в классе Page (Session, Application, Cache, Request, Response, Server, User). Программирование обработчиков событий web страниц. Создание класса производного от класса Page. Создание web приложений с использованием интегрированной среды разработки Visual Studio 2008. Web сайты и web проекты. Создание web страниц (web form). Тема № 4. Серверные элементы управления Типы серверных элементов управления (ЭУ). HTML серверные ЭУ. Web ЭУ. List ЭУ. Элементы управления для проверки введенных данных (Validation controls). Сложные ЭУ. Тема № 5. Структура и оформление web приложения Создание и использование каскадных таблицей стилей (CSS). Темы и покрытия (Theme, skin). Master Pages. Тема № 6. Навигация по web-страницам приложения Способы перехода между web страницами. Страницы с несколькими представлениями (Multiple views). Карты сайта (Site maps). Элемент управления TreeView, Menu. Тема № 7. Управление состоянием web приложения Способы хранения состояния. View state. Передача информации между страницами. Cokies. Состояние сеанса (Session state). Состояние приложения (Application state). Кэш (Caсhe). Профили пользователей (Profiles). Тема № 8. Работа web-приложения с базами данных Основы ADO.Net. Провайдеры баз данных. Соединенный режим работы с БД. Классы Connection, Command и DataReader. Отсоединенный режим работы с БД. Классы DataAdapter, DataTable, DataRow и DataSet. Типизированный класс DataSet. Связывание элементов управления с БД. Специальные ЭУ для работы с данными. Технология встроенных запросов к данным - LINQ. Тема № 9. Безопасность web-приложений Аутентификация и авторизация. Способы аутентификации пользователей. Window аутентификация. Аутентификация с использованием форм (Forms Authontication). Провайдеры хранилищ. Создание форм подключения и регистрации. Классы для работы с данными пользователей и ролей. Membership API. Авторизация и роли. Профили пользователей (Profiles) Тема № 10. Разработка web-сервисов Понятие web-сервисов. Разработка web сервисов. Взаимодействие web приложений с web-сервисами. Тема № 11. Технология разработки web-приложений ASP.Net MVC Понятие MVC шаблона. Разработка компонент MVC. Тема № 12. Проектирование web-приложений Подходы к разработке Web приложений. Архитектура Web-приложений. Рекомендации по разработке архитектуры Web-приложений. 4.2. Структура дисциплины по разделам и формам организации обучения Таблица 1. Структура модуля (дисциплины) по разделам и формам организации обучения Название раздела/темы 1. Основные стандарты Web сети 2. Понятие webприложений и подходы к их разработке 3. Основы технологии ASP.Net Web Forms 4. Серверные элементы управления 5. Структура и оформление web-приложения 6. Навигация по webстраницам приложения 7. Управление состоянием web-приложения 8. Работа webприложения с базами данных 9. Безопасность webприложений 10. Разработка webсервисов 11. Технология разработки web-приложений Аудиторная работа (час) Лекции Практ./сем. Лаб. зан. занятия 6 2 СРС (час) Колл, Контр.Р. Итого 10 18 2 2 10 14 2 2 10 14 4 2 12 2 4 12 18 2 4 12 18 2 4 12 18 4 4 12 4 4 12 20 4 4 12 20 6 4 12 20 КP-1 КP-2 18 20 Название раздела/темы Аудиторная работа (час) Лекции Практ./сем. Лаб. зан. занятия ASP.Net MVC 12. Проектирование web-приложений 2 Итого 40 0 СРС (час) Колл, Контр.Р. Итого 4 10 16 40 136 216 4.3 Распределение компетенций по разделам дисциплины Таблица 2. Распределение по разделам дисциплины планируемых результатов обучения № Формируемые компетенции 1. 2. 3. 4. 5. 6. 7. 8. 9. З.3.2.3.1 З.3.2.3.2 З.3.2.3.3 З.3.2.3.4 З.3.2.3.5 У.3.2.3.1 У.3.2.3.2 У.3.2.3.3 В.3.2.3. 1 * 2 3 4 Темы дисциплины 5 6 7 8 9 10 * * * * * 11 12 * * * * * * * * * * * * * * * * * * * * * * * * * * 5. Образовательные технологии Таблица 3. Методы и формы организации обучения (ФОО) ФОО Лекц. Методы IT-методы Работа в команде Case-study Игра Методы проблемного обучения. Обучение на основе опыта Опережающая самостоятельная работа Проектный метод Поисковый метод Лаб. раб. Пр. зан./ сем. Тр* / Мк* СРС 4 8 4 4 8 2 4 8 4 4 8 8 К. пр. Исследовательский 4 метод Другие методы * - Тренинг, ** - Мастер-класс 4 8 6. Организация и учебно-методическое обеспечение самостоятельной работы студентов 6.1. Самостоятельную работу студентов (СРС) делится на текущую и творческую Текущая СРС : работа с лекционным материалом, поиск и обзор литературы и электронных источников информации по индивидуально заданной проблеме курса, выполнение домашних заданий, домашних контрольных работ, опережающая самостоятельная работа, изучение тем, вынесенных на самостоятельную проработку, подготовка к лабораторным работам; подготовка к контрольной работе; подготовка к зачету. Творческая проблемно-ориентированная самостоятельная работа (ТСР): поиск, анализ, структурирование и презентация информации, исследовательская работа и участие в научных студенческих конференциях, семинарах и олимпиадах. 6.2. Содержание самостоятельной работы студентов по дисциплине 1. Подготовка к следующим лекциям по конспектам, презентациям и пособию. 2. Подготовка к лабораторным работам путем изучения требуемого теоретического материала. 3. Изучение заданного перечень самостоятельно осваиваемых тем Темы, выносимые на самостоятельную проработку Тема № 1. Технология AJAX Объект XMLHttpRequest. Использование AJAX с обратными вызовами (client callbacks). ASP.Net AJAX на стороне клиента и сервера. Библиотека jQuery. Тема № 2. Разработка пользовательских элементов управления (User Contros) Описание пользовательских ЭУ. Использование пользовательских ЭУ 6.3 Контроль самостоятельной работы Оценка результатов самостоятельной работы будет вестись в ходе выполнения контрольных работ и сдачи экзамена. 7. Средства (ФОС) текущей и итоговой оценки качества освоения дисциплины 7.1. Входной контроль (пример вопросов тестовой форме) 1. 2. 3. 4. Что такое сеть Интернет? Основные протоколы работы сети Интернет? Что такое язык HTML? Скриптовый язык JavaScript (назначение, описание, использование). 7.3. Рубежный контроль (пример вопросов тестовой форме) 1. Протокол передачи гипертекстовых документов (HTTP). 2. Каскадные таблицы стилей (CSS) (назначение, описание и использование). 3. HTML формы (описание и использование). 4. Web сервер и логика его работы. 5. Объектная модель документа (назначение, использование). 6. Технологии web - программирования на стороне сервера. 7. Технологии web - программирования на стороне клиента. Пример вопросов для экзамена 1. Технология разработки web-приложений Common Gateway Interface (CGI). 2. Скриптовые технологии разработки web-приложений на стороне сервера. 3. Что такое ASP.Net web-приложения (состав, логика работы, отличие от Windows приложений). 4. Порядок работы ASP.Net web-приложения. 5. Что такое web страницы (web формы)? Для чего предназначены, что они включают, как описываются? 6. Обработка web-страниц на сервере. Жизненный цикл web страницы. Основные события и действия. 7. Класс Page. Назначение, основные элементы, способ использования. 8. Серверные HTML элементы управления (состав, логика работы). 9. Серверные Web элементы управления (состав, логика работы). 10. Что такое обратные отправки (post back)? Для чего и как используются? 11. Проверочные элементы управления (validator) (состав, способы использования). 12. Связывание элементов управления с данными (что такое, как выполняется). 13. Способы сохранения состояния приложения (виды, назначение). 14. Способы оформления web-страниц приложения (CSS, Темы) 15. Назначение, описание и использование MasterPages. 16. Обеспечение аутентификации и авторизации пользователей в webприложении. 17. Персонализация пользователей в Web- приложении. 18. Реализация переходов между web-формами и навигации на сайте. 19. Взаимодействие web приложения с Базами Данных. 8. Рейтинг качества освоения дисциплины Дисциплина Институт Кафедра Семестр Группы Преподаватель Разработка web-приложений для бизнеса Кибернетики ОСУ 6 3 курс Тузовский А.Ф., профессор Число недель Кол-во кредитов Лекции, час Практич. занятия, час Лаб.работы, час. 18 8 40 Всего аудит.работы, час Самост.работа, час 80 136 ВСЕГО, час 216 40 Рейтинг-план освоения дисциплины в течение семестра Теоретический материал Название модуля 1 2 Основные стандарты Web сети 3 4 Понятие webприложений и подходы Контролир. матер. Практическая деятельность Темы практических занятий Рубежные контрольные работы Баллы Проблемноориентированные задания Баллы Название лабораторных работ Баллы Интернет-сеть и WWW 1 Разработка простой web-формы 2 3 Протокол HTTP 1 Серверные элементы управления 2 3 Языки HTML, CSS и JavaScript 1 Серверные элементы управления 2 3 Понятие webприложений и подходы к их разработке 1 Поддержка данных состояния 2 3 Темы лекций Баллы Баллы Итого Недели Текущий контроль Теоретический материал Название модуля Контролир. матер. Практическая деятельность Баллы Название лабораторных работ Баллы Основы технологии ASP.Net Web Forms 2 Поддержка данных состояния 2 Серверные элементы управления 1 Поддержка данных состояния 2 Структура и оформле-ние webприложения 1 Навигация по webприложению 2 Навигация по webстраницам приложения 1 Навигация по webприложению 2 Управление состоянием webприложения 1 Мастер-страницы и шаблоны 3 Темы лекций Темы практических занятий Баллы Рубежные контрольные работы Баллы Проблемноориентированные задания Баллы Итого Недели Текущий контроль к их разработке 5 6 7 8 9 Основы технологии ASP. Net Web Forms Серверные элементы управления Структура и оформле-ние web-прило жения Навигация по webстраницам приложения Управление состоянием web-прило жения 4 3 3 Всего по контрольной точке (аттестации) № 1 10 Работа webприложе- Способы взаимодействия с БД 1 Мастер-страницы и шаблоны 4 2 4 30 3 11 12 13 14 15 16 17 18 Теоретический материал Название модуля ния с базами данных Безопасность webприложений Разработка webсервисов Технология разработки webприложений ASP.Net MVC Проектирование webприложений Темы лекций Контролир. матер. Практическая деятельность Баллы Компоненты связывания с источниками данных 1 Основные задачи поддержки безопасности 1 Аутентификация на основе форм 1 Разработка webсервисов 1 Основные идеи технологии MVC Разработка контроллеров MVCприложений Разработка представлений MVCприложений Проектирование web-приложений Название лабораторных работ Работа webприложения с данными Работа webприложения с данными Работа webприложения с данными Баллы Темы практических занятий 2 Баллы Рубежные контрольные работы Баллы Проблемноориентированные задания Баллы Итого Недели Текущий контроль 3 2 3 2 3 Безопасность webприложения 3 3 1 Разработка MVCприложений 2 3 1 Разработка MVCприложений 2 4 1 Разработка MVCприложений 2 4 2 Проектирование webприложений 2 4 Всего по контрольной точке (аттестации) № 2 30 Итоговая текущая аттестация 60 Экзамен (зачет) 40 Итого баллов по дисциплине 100 9. Учебно-методическое и информационное обеспечение дисциплины Основная литература: 1. Тузовский А.Ф. Проектирование и разработка web-приложений: учебное пособие (ИДО). – Томск: Изд-во ТПУ, 2013. — 204 с. 2. Камер Д.Э. Компьютерные сети и Internet. Разработка приложений для Internet. : пер. с англ., 3-e изд. – Москва: Вильямс, 2002. – 640 с. 3. Чедвик Д., Снайдер Т., Панда Х. ASP.NET MVC 4: разработка реальных веб-приложений с помощью ASP.NET MVC : пер. с англ – Москва: Вильямс, 2013. — 427 с. 4. Сухов К. HTML5 – путеводитель по технологии. – Москва: ДМК Пресс, 2012. Схема доступа: http://e.lanbook.com/books/element.php?pl1_cid=25&pl1_id=4816 5. Тузовский А.Ф. Проектирование Интернет-приложений [Электронный ресурс] : учебно-методическое пособие ТПУ. — 1 компьютерный файл (pdf; 4.5 MB). — Томск: Изд-во ТПУ, 2011. Схема доступа: http://www.lib.tpu.ru/fulltext2/m/2011/m427.pdf Дополнительная литература: 6. Эспозито Д. Разработка приложений для Windows 8 на HTML5 и JavaScript : пер. с англ. / Д. Эспозито, Ф. Эспозито. — Санкт-Петербург: Питер, 2014. — 384 с. 7. Фримен А. ASP.NET MVC 3 Framework с примерами на C# для профессионалов : пер. с англ. / А. Фримен, С. Сандерсон. — 3-е изд. — Москва: Вильямс, 2012. — 667 с. 8. Комагоров В.П. Технологии сети интернет: протоколы и сервисы : учебное пособие / В. П. Комагоров – Томск: Изд-во ТПУ, 2009. — 107 с. 9. Дейтел Х.М. Как программировать для Internet и WWW : пер. с англ. / Х. М. Дейтел, П. Дж. Дейтел, Т. Р. Нието. — Москва: Бином, 2002. — 1180 с. 5. Сандерсон С. ASP.NET MVC Framework с примерами на C# для профессионалов / С. Сандерсон. — Москва: Вильямс, 2010. — 556 с. Программное обеспечение и Internet-ресурсы: Visual Studio Express Edition Учебно-методические материалы, находящие в локальной сети кафедры ОСУ. 10. Материально-техническое обеспечение модуля (дисциплины) Компьютерный класс – 10 компьютеров Pentium IV(MB S-478 Bayfild D865GBFL i865G 800 MHz, Celeron 2.4GHz, 2 Dimm 256 Mb, HDD 40 Gb) Программа составлена на основе Стандарта ООП ТПУ в соответствии с требованиями ФГОС по направлению и профилю подготовки 231000 Программная инженерия. Программа одобрена на заседании кафедры ОСУ (протокол № ____ от «___» _______ 20___ г.). Автор д.т.н., профессор каф. ОСУ __________________ А.Ф. Тузовский Рецензент(ы) __________________________