МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ
РОССИЙСКОЙ ФЕДЕРАЦИИ
ФЕДЕРАЛЬНОЕ АГЕНТСТВО ПО ОБРАЗОВАНИЮ
![]() |
Государственное образовательное учреждение высшего профессионального образования
«МОСКОВСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ ПЕЧАТИ»
УТВЕРЖДАЮ
Проректор по учебной работе
______________
«_____» ___________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. Учебно-методическое и информационное обеспечение дисциплины:
а) основная литература:
1. . Инженерия программного обеспечения. М.: Вильямс, 2002.
2. Дж.. Технология разработки программного обеспечения. СПб.: Питер, 2004.
3. Прата Стивен. Язык программирования С++. Лекции и упражнения. Вильямс. 2007
б) дополнительная литература:
1. Герберт Шилдт С++ базовый курс. Вильямс. 2008.
2. Герберт Шилдт Полный справочник по С++. Вильямс. 2007.
3. Г. Буч. Объектно-ориентированный анализ и проектирование с примерами приложений на C++. Второе издание. М.: Бином, СПб.: Невский диалект, 2000.
4. ГОСТ Р-1999. ИТ. Процессы жизненного цикла программных средств.
5. У. Ройс. Управление проектами по созданию программного обеспечения. М.: Лори, 2002.
6. А. Якобсон, Г. Буч, Дж. Рамбо. Унифицированный процесс разработки программного обеспечения. СПб.: Питер, 2002.
7. А. Коберн. Современные методы описания требований к системам. М.: Лори, 2002.
8. Д. Леффингуэлл, Д. Уидриг. Принципы работы с требованиями к программному
9. обеспечению. Унифицированный подход. М.: Вильямс, 2002.
10. . Методы обеспечения качества крупномасштабных программных средств. М.: Синтег, 2003.
11. , О. Грамберг, Д. Пелед. Верификация моделей программ: Model Checking. М.: МЦНМО, 2002.
12. Б. Боэм, Дж. Браун, Х. Каспар и др. Характеристики качества программного обеспечения. М.: Мир, 1991.
13. Л. Басс, П. Клементс, Р. Кацман. Архитектура программного обеспечения на практике. СПб.: Питер, 2006.
14. Г. Буч, Дж. Рамбо, А. Джекобсон. Язык UML. Руководство пользователя. М.: ДМК, 2000.
15. Дж. Рамбо, А. Якобсон, Г. Буч. UML: Специальный справочник. СПб.: Питер, 2002.
16. М. Фаулер, К. Скотт. UML в кратком изложении. М.: Мир, 1999.
17. Э. Гамма, Р. Хелм, Р. Джонсон, Дж. Влиссидес. Приемы объектно-ориентированного проекирования. Паттерны проектирования. СПб.: Питер-ДМК, 2001.
18. У. Вудсон, Д. Коновер. Справочник по инженерной психологии для инженеров и художников-конструкторов. М.: Мир, 1968.
19. Л. Константайн, Л. Локвуд. Разработка программного обеспечения. СПб.: Питер, 2004.
20. Управление проектами. Сборник статей под ред. Дж. Пинто. СПб.: Питер, 2004.
21. К. Камерон, Р. Куинн. Диагностика и измерение организационной культуры. СПб.: Питер, 2001.
22. Ф. Брукс. Мифический человеко-месяц или Как создаются программные системы. СПб.: Символ-Плюс, 2001.
23. Т. Демарко, Т. Листер. Человеческий фактор: успешные проекты и команды. СПб.: Символ-Плюс, 2005.
в) программное обеспечение и Интернет-ресурсы
1. . Инженерная и профессиональная психология. Доступно по ссылке http://psy. msu. ru/science/public/strelkov/index. html.
2. . Дизайн пользовательского интерфейса. Доступна на сайте http://www. uibook1.ru.
г) базы данных, информационно-справочные и поисковые системы не предусмотрены
10. Материально-техническое обеспечение дисциплины:
Возможности доступа в Internet.
Компьютерный класс, оснащенный современными компьютерами (IBM PC или МАС) с лицензионным программным обеспечением.
Комплекс технических средств, позволяющих проецировать изображение из программ подготовки презентаций (экран, медиапроектор, Notebook). Возможности доступа в Internet.
11. Методические рекомендации по организации изучения дисциплины:
(указываются рекомендуемые модули внутри дисциплины или междисциплинарные модули, в состав которых она может входить, образовательные технологии, а также примеры оценочных средств для текущего контроля успеваемости и промежуточной аттестации)



