МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ

Подпись: РОССИЙСКОЙ ФЕДЕРАЦИИ

ФЕДЕРАЛЬНОЕ АГЕНТСТВО ПО ОБРАЗОВАНИЮ

Государственное образовательное учреждение высшего профессионального образования

«МОСКОВСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ ПЕЧАТИ»

   

  УТВЕРЖДАЮ

Проректор по учебной работе

______________

«_____» ___________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. Методические рекомендации по организации изучения дисциплины:

(указываются рекомендуемые модули внутри дисциплины или междисциплинарные модули, в состав которых она может входить, образовательные технологии, а также примеры оценочных средств для текущего контроля успеваемости и промежуточной аттестации)