Рабочая программа наименование дисциплины Технологии программирования По направлению подготовки
Вид материала | Рабочая программа |
- Рабочая программа Наименование дисциплины технологии обработки информации по направлению, 198.33kb.
- Рабочая программа наименование дисциплины Безопасность жизнедеятельности По направлению, 314.84kb.
- Рабочая программа по дисциплине «Технологии программирования» (наименование дисциплины), 228.98kb.
- Аннотация рабочей программы наименование дисциплины цифровые технологии обработки трехмерной, 93.02kb.
- Рабочая программа аннотация Наименование дисциплины Технические средства допечатной, 83.77kb.
- Рабочая программа аннотация Наименование дисциплины Цифровые технологии обработки изобразительной, 98.83kb.
- Рабочая программа Наименование дисциплины Информационные технологии в бизнесе, экономике, 184.58kb.
- Рабочая программа учебной дисциплины (модуля) Технологии параллельного программирования, 79.5kb.
- Рабочая программа дисциплины «Основы программирования» Направление подготовки, 297.66kb.
- Рабочая программа аннотация Наименование дисциплины Основы преобразования информации., 93.47kb.
МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ
Р
ОССИЙСКОЙ ФЕДЕРАЦИИ
ФЕДЕРАЛЬНОЕ АГЕНТСТВО ПО ОБРАЗОВАНИЮ
Государственное образовательное учреждение высшего профессионального образования
«МОСКОВСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ ПЕЧАТИ»
УТВЕРЖДАЮ
Проректор по учебной работе
______________Т.В. Маркелова
«_____» ___________2011
РАБОЧАЯ ПРОГРАММА
Наименование дисциплины
Технологии программирования
По направлению подготовки 230400 - Информационные системы и технологии
По профилю подготовки
Информационные системы и технологии
(указывается наименование профиля в соответствии с ПрООП)
Факультет Информационных технологий и медиасистем
Кафедра Информационные системы
Квалификация (степень) выпускника бакалавр
Москва — 2011
Разработчики:
Профессор_______ д.ф.-м.н., проф. Белоусов И.Р.__________
(занимаемая должность) (учёная степень и учёное звание) (инициалы, фамилия)
Доцент___________ к.т.н. Шурыгин В.Н. __________
(занимаемая должность) (учёная степень и учёное звание) (инициалы, фамилия)
Рецензенты:
Профессор FH Шмалькальден д.т.н., проф. Байер Д.
(занимаемая должность) (учёная степень и учёное звание) (инициалы, фамилия)
Профессор_______ д.т.н., проф. Попов Д.И.__________
(занимаемая должность) (учёная степень и учёное звание) (инициалы, фамилия)
Рабочая программа обсуждена на заседании кафедры «___ Информационных систем__»
(дата) ____________ 2010 г, протокол № .
Зав. кафедрой __Марков А.А.____/ /
Одобрена Советом факультета _Цифровых систем и технологий
(дата) ____________ 2010 г, протокол №
Председатель__ Иванова А.Е.__________/ /
Индекс по учебному плану | Цикл | Компонент | ||
Базовая часть | вариативная часть | по выбору студента | ||
Б.3.Б6 | Гуманитарный и социальный и экономический цикл | | | |
Математический и естественнонаучный цикл | | | | |
Профессиональный цикл | Х | | |
Форма обучения | курс | семестр | Трудоемкость дисциплины в часах | Форма итогового контроля | ||||||
Всего часов | Аудиторных часов | Лекции | Семинарские (практически) занятия | Лабораторные занятия | Курсовая Работа (проект) | Самостоятельная работа | ||||
Очная | 3 | 5 | 252 | 85 | 34 | | 51 | | 167 | Экзамен |
Очно-заочная | | | | | | | | | | |
Заочная | | | | | | | | | | |
- Цели и задачи дисциплины:
Целью преподавания дисциплины является изучение технологий и методологий разработки компьютерных программ.
Частные цели: изучение организации процесса проектирования программного обеспечения (ПО); использования декомпозиции и абстракции при проектировании ПО; методов проектирования структуры ПО; методологии объектно-ориентированного программирования; технологических средств разработки программного обеспечения; инструментальных сред разработки; методов отладки и тестирования программ; документирования и оценки качества программных продуктов; методов проектирования интерфейса с пользователем; обучение практическим навыкам выполнения этапов разработки программных продуктов в средах Xcode или Eclipse.
Основной задачей изучения дисциплины является овладение теоретическими знаниями методик и практическими навыками проведения различных этапов проектирования программных продуктов.
2. Место дисциплины в структуре ООП: Данная учебная дисциплина входит в раздел «Б.3. Профессиональные дисциплины ФГОС по направлению подготовки ВПО «Информационные системы и технологии».
Данная учебная дисциплина взаимосвязана с другими дисциплинами, входящими в модуль Б.2. ФГОС по направлению подготовки ВПО «Информационные системы и технологии», а именно: «Математика», «Дискретная математика» «Информатика», «Физика», «Архитектура информационных систем», «Основы современных алгоритмов», «Объектно-ориентированное программирование», «Проектирование и дизайн медиа приложений», «Проектирование приложений для мобильных устройств».
Для изучения дисциплины необходимы компетенции, сформированные в результате обучения в средней общеобразовательной школе и в выше перечисленных дисциплинах.
Для направления «Информационные системы и технологии» курс «Технологии программирования» является профессиональной дисциплиной. Курс базируется на самых различных отраслях знаний и научных выводах математики, информатики, инженерных дисциплин. Изучением дисциплины достигается формирование у специалистов представления о неразрывном единстве методов и средств разработки программ.
(указывается цикл, к которому относится дисциплина; формулируя требования к входным знаниям, умениям и компетенциям студента, необходимым для ее изучения; определяются дисциплины, для которых данная дисциплина является предшествующей)
3. Требования к результатам освоения дисциплины:
Процесс изучения дисциплины направлен на формирование следующих компетенций:
Данная дисциплина способствует формированию следующих компетенций, предусмотренных ФГОС по направлению подготовки «Информационные системы и технологии»:
владение широкой общей подготовкой (базовыми знаниями) для решения практических задач в области информационных систем и технологий (ОК-6);
способность проводить рабочее проектирование (ПК–3);
способность проводить выбор исходных данных для проектирования (ПК–4);
способность оценивать надежность и качество функционирования объекта проектирования (ПК–6);
готовность разрабатывать, согласовывать и выпускать все виды проектной документации (ПК–10).
способность разрабатывать средства реализации информационных технологий (методические, информационные, математические, алгоритмические, технические и программные) (ПК–12);
готовность участвовать в работах по доводке и освоению информационных технологий в ходе внедрения и эксплуатации информационных систем (ПК–15);
способность осуществлять организацию рабочих мест, их техническое оснащение, размещение компьютерного оборудования (ПК–19);
способность к инсталляции, отладки программных и настройки технических средств для ввода информационных систем в опытную эксплуатацию (ПК-29);
готовность проводить сборку информационной системы из готовых компонентов (ПК–30);
способность осуществлять инсталляцию, отладку программных и настройку технических средств для ввода информационных систем в промышленную эксплуатацию (ПК–31).
способность поддерживать работоспособность информационных систем и технологий в заданных функциональных характеристиках и соответствии критериям качества (ПК–32);
готовность обеспечивать безопасность и целостность данных информационных систем и технологий (ПК–33);
готовность адаптировать приложения к изменяющимся условиям функционирования (ПК–34);
способность составления инструкций по эксплуатации информационных систем (ПК–35).
В результате освоения дисциплины обучающийся должен:
знать:
Принципы, базовые концепции технологий программирования, основные этапы и принципы создания программного продукта, абстракция, различие между спецификацией и реализацией, рекурсия, конфиденциальность информации, повторное использование, победа над сложностью, масштабирование, проектирование с учетом изменений, классификация, типизация, соглашения, обработка исключений, ошибки и отладка.
уметь:
Инсталлировать, тестировать, испытывать и использовать программные компоненты информационных систем, осуществлять их сертификацию по стандартам качества. Разрабатывать, согласовывать и выпускать все виды проектной документации;
владеть:
Языками процедурного и объектно-ориентированного программирования;
навыками владения одной из технологий программирования;
4. Объем дисциплины и виды учебной работы
Общая трудоемкость дисциплины составляет 7 зачетных единиц.
Вид учебной работы | Всего часов | Семестры | |||
5 | | | | ||
Аудиторные занятия (всего) | 85 | 85 | | | |
В том числе: | | - | - | - | - |
Лекции | 34 | 34 | | | |
Практические занятия (ПЗ) | | | | | |
Семинары (С) | | | | | |
Лабораторные работы (ЛР) | 51 | 51 | | | |
Самостоятельная работа (всего) | 167 | 167 | | | |
В том числе: | - | - | - | - | - |
Курсовой проект (работа) | | | | | |
Расчетно-графические работы | | | | | |
Реферат | | | | | |
Другие виды самостоятельной работы | 167 | 157 | | | |
| | | | | |
Вид промежуточной аттестации (зачет, экзамен) | экзамен | Экз | | | |
Общая трудоемкость час зач. ед. | 252 | 252 | | | |
7 | 7 | | | |
5. Содержание дисциплины
5.1. Содержание разделов дисциплины
№ п/п | Наименование раздела дисциплины | Содержание раздела |
1 | Проблемы разработки сложных программных систем | Программы «большие» и «маленькие». Принципы работы со сложными системами. |
2 | Жизненный цикл и процессы разработки ПО | Понятие жизненного цикла ПО. Стандарты жизненного цикла. Группа стандартов ISO. Группа стандартов IEEE. Группа стандартов CMM, разработанных SEI. Модели жизненного цикла. |
3 | Унифицированный процесс разработки и экстремальное программирование | «Тяжелые» и «легкие» процессы разработки. Унифицированный процесс Rational. Экстремальное программирование. |
4 | Анализ предметной области и требования к ПО | Анализ предметной области. Выделение и анализ требований. Варианты использования. |
5 | Качество ПО и методы его контроля | Качество программного обеспечения. Методы контроля качества. Тестирование. Проверка на моделях. Ошибки в программах. |
6 | Архитектура программного обеспечения | Анализ области решений. Архитектура программного обеспечения. Разработка и оценка архитектуры на основе сценариев. UML. Виды диаграмм UML. Статические диаграммы. Динамические диаграммы. |
7 | Образцы проектирования | Образцы человеческой деятельности. Образцы анализа. Архитектурные стили. Каналы и фильтры. Многоуровневая система. Данные–представление–обработка. Образцы проектирования. Подписчик. Идиомы. Шаблонный метод. Образцы организации и образцы процессов. Инспекция программ по Фагану. |
8 | Принципы создания удобного пользовательского интерфейса | Удобство использования программного обеспечения. Психологические и физиологические факторы. Человеку свойственно ошибаться. Скоростные показатели деятельности человека. Внимание человека. Понятность. Память человека. Разные категории пользователей. Факторы удобства использования и принципы создания удобного ПО. Методы разработки удобного программного обеспечения. Контроль удобства программного обеспечения. |
9 | Компонентные технологии и разработка распределенного ПО | Основные понятия компонентных технологий. Общие принципы построения распределенных систем. Синхронное и асинхронное взаимодействие. Транзакции. |
10 | Управление разработкой ПО | Задачи управления проектами. Окружение проекта. Структура организации-исполнителя проекта. Организационная культура. Заинтересованные в проекте лица. Виды деятельности, входящие в управление проектом. Управление содержанием проекта и качеством. Метрики ПО. Управление ресурсами. Специфика управления персоналом. Управление рисками. Управление коммуникациями и информационным обеспечением. |
(Содержание указывается в дидактических единицах. По усмотрению разработчиков материал может излагаться не в форме таблицы)
5.2 Разделы дисциплины и междисциплинарные связи с обеспечиваемыми (последующими) дисциплинами
№ п/п | Наименование обеспе-чиваемых (последую-щих) дисциплин | № № разделов данной дисциплины, необходимых для изучения обеспечиваемых (последующих) дисциплин | ||||||||
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | ||
| Информатика | Х | Х | Х | Х | Х | Х | Х | Х | Х |
| Математика | | | | | | Х | Х | Х | |
| Дискретная математика | Х | | Х | | Х | Х | Х | Х | Х |
| Физика | Х | | Х | | | | Х | Х | |
| Архитектура информационных систем | Х | Х | Х | Х | Х | Х | Х | Х | Х |
| Основы современных алгоритмов | Х | Х | Х | Х | Х | Х | Х | Х | Х |
| Объектно-ориентированное программирование | Х | Х | Х | Х | Х | Х | Х | Х | Х |
| Проектирование и дизайн медиа приложений | Х | Х | Х | Х | Х | Х | Х | Х | Х |
| Проектирование приложений для мобильных устройств | | | Х | Х | Х | Х | Х | Х | Х |
5.3. Разделы дисциплин и виды занятий
№ п/п | Наименование раздела дисциплины | Лекц. | Практ. зан. | Лаб. зан. | Семин | СРС | Все-го Час. |
1. | Проблемы разработки сложных программных систем | 2 | | | | 16 | 18 |
2. | Жизненный цикл и процессы разработки ПО | 2 | | | | 16 | 18 |
3. | Унифицированный процесс разработки и экстремальное программирование | 4 | | 8 | | 16 | 28 |
4. | Анализ предметной области и требования к ПО | 4 | | 16 | | 16 | 36 |
5. | Качество ПО и методы его контроля | 4 | | 8 | | 16 | 28 |
6. | Архитектура программного обеспечения | 4 | | 8 | | 22 | 34 |
7. | Образцы проектирования | 4 | | 11 | | 22 | 37 |
8. | Принципы создания удобного пользовательского интерфейса | 4 | | | | 18 | 22 |
9. | Компонентные технологии и разработка распределенного ПО | 4 | | | | 14 | 18 |
10. | Управление разработкой ПО | 2 | | | | 11 | 13 |
| ИТОГО | 34 | | 51 | | 167 | 252 |
6. Лабораторный практикум
№ п/п | № раздела дисциплины | Наименование лабораторных работ | Трудо-емкость (час.) |
1 | 3 | Анализ требований к системе, планирование проекта | 8 |
2 | 4 | Классификация, моделирование предметной области | 8 |
3 | 4 | Проектирование общей архитектуры системы. Многоуровневые и многослойные системы | 8 |
4 | 5 | Модульное тестирование. Изучение оболочки cppUnit и простых шаблонов тестирования | 8 |
5 | 6 | Рефакторинг. Изучение шаблонов рефакторинга | 8 |
6 | 7 | Шаблоны (паттерны) проектирования. Разработка приложений с использованием шаблонов | 11 |
| | ИТОГО | 51 |
7. Практические занятия (семинары) (не предусмотрены)
8. Примерная тематика курсовых работ (проектов) (не предусмотрена)
9. Учебно-методическое и информационное обеспечение дисциплины:
а) основная литература:
- Соммервилл И.. Инженерия программного обеспечения. М.: Вильямс, 2002.
- Брауде Э. Дж.. Технология разработки программного обеспечения. СПб.: Питер, 2004.
- Прата Стивен. Язык программирования С++. Лекции и упражнения. Вильямс. 2007
б) дополнительная литература:
- Герберт Шилдт С++ базовый курс. Вильямс. 2008.
- Герберт Шилдт Полный справочник по С++. Вильямс. 2007.
- Г. Буч. Объектно-ориентированный анализ и проектирование с примерами приложений на C++. Второе издание. М.: Бином, СПб.: Невский диалект, 2000.
- ГОСТ Р-1999. ИТ. Процессы жизненного цикла программных средств.
- У. Ройс. Управление проектами по созданию программного обеспечения. М.: Лори, 2002.
- А. Якобсон, Г. Буч, Дж. Рамбо. Унифицированный процесс разработки программного обеспечения. СПб.: Питер, 2002.
- А. Коберн. Современные методы описания требований к системам. М.: Лори, 2002.
- Д. Леффингуэлл, Д. Уидриг. Принципы работы с требованиями к программному
- обеспечению. Унифицированный подход. М.: Вильямс, 2002.
- В. В. Липаев. Методы обеспечения качества крупномасштабных программных средств. М.: Синтег, 2003.
- Э. М. Кларк, О. Грамберг, Д. Пелед. Верификация моделей программ: Model Checking. М.: МЦНМО, 2002.
- Б. Боэм, Дж. Браун, Х. Каспар и др. Характеристики качества программного обеспечения. М.: Мир, 1991.
- Л. Басс, П. Клементс, Р. Кацман. Архитектура программного обеспечения на практике. СПб.: Питер, 2006.
- Г. Буч, Дж. Рамбо, А. Джекобсон. Язык UML. Руководство пользователя. М.: ДМК, 2000.
- Дж. Рамбо, А. Якобсон, Г. Буч. UML: Специальный справочник. СПб.: Питер, 2002.
- М. Фаулер, К. Скотт. UML в кратком изложении. М.: Мир, 1999.
- Э. Гамма, Р. Хелм, Р. Джонсон, Дж. Влиссидес. Приемы объектно-ориентированного проекирования. Паттерны проектирования. СПб.: Питер-ДМК, 2001.
- У. Вудсон, Д. Коновер. Справочник по инженерной психологии для инженеров и художников-конструкторов. М.: Мир, 1968.
- Л. Константайн, Л. Локвуд. Разработка программного обеспечения. СПб.: Питер, 2004.
- Управление проектами. Сборник статей под ред. Дж. Пинто. СПб.: Питер, 2004.
- К. Камерон, Р. Куинн. Диагностика и измерение организационной культуры. СПб.: Питер, 2001.
- Ф. Брукс. Мифический человеко-месяц или Как создаются программные системы. СПб.: Символ-Плюс, 2001.
- Т. Демарко, Т. Листер. Человеческий фактор: успешные проекты и команды. СПб.: Символ-Плюс, 2005.
в) программное обеспечение и Интернет-ресурсы
- Ю. К. Стрелков. Инженерная и профессиональная психология. Доступно по ссылке u/science/public/strelkov/index.php.
- В. В. Головач. Дизайн пользовательского интерфейса. Доступна на сайте k1.ru.
г) базы данных, информационно-справочные и поисковые системы не предусмотрены
10. Материально-техническое обеспечение дисциплины:
Возможности доступа в Internet.
Компьютерный класс, оснащенный современными компьютерами (IBM PC или МАС) с лицензионным программным обеспечением.
Комплекс технических средств, позволяющих проецировать изображение из программ подготовки презентаций (экран, медиапроектор, Notebook). Возможности доступа в Internet.
11. Методические рекомендации по организации изучения дисциплины:
(указываются рекомендуемые модули внутри дисциплины или междисциплинарные модули, в состав которых она может входить, образовательные технологии, а также примеры оценочных средств для текущего контроля успеваемости и промежуточной аттестации)