Рабочая учебная программа составлена на основе
Образовательного стандарта, самостоятельно устанавливаемого Московским государственным университетом имени М.В.Ломоносова для реализуемых образовательных программ высшего профессионального образования по направлению подготовки «Прикладная математика и информатика», утверждённого приказом по МГУ от 22 июля 2011 года № 729 (в редакции приказов по МГУ от 22 ноября 2011 года № 1066, от 21 декабря 2011 года № 1228, от 30 декабря 2011 года № 1289, от 27 апреля 2012 года № 303).
Программ обязательных учебных курсов факультета ВМК МГУ: 3 поток/Ред. Березин Б.И., Ломов И.С. Сост. Кобелева А.Н.. - М.: Издательский отдел факультета ВМК МГУ имени М.В.Ломоносова (лицензия ИД № 05899 от 24.09.2001 г.); МАКС Пресс, 2010. – 100 с.
Положения о рабочей учебной программе дисциплины высшего профессионального образования (квалификаций «бакалавр» и «магистр»), утвержденного Методическим советом Филиала МГУ в г. Севастополе (протокол № 4 от 2 марта 2012 г.)
Рабочая программа разработана
доцентом факультета ВМК МГУ имени М.В.Ломоносова, к. ф.-м. н. В. В. Куляминым в 2012 г.
курс – III
семестр – 6
зачетных единиц – 3 кредита
академических часов – 108, в т.ч.:
лекций – 36 часов,
практических занятий – нет
Формы промежуточной аттестации:
зачёты в семестрах – нет
Форма итоговой аттестации:
экзамен в 6 семестре.
Оглавление
Введение 4
1. Структура и содержание дисциплины 6
2. Содержание разделов дисциплины 7
3. Рекомендуемые образовательные технологии 9
4. Учебно-методическое обеспечение
самостоятельной работы студентов 10
5. Учебно-методическое и информационное
обеспечение дисциплины 13
Введение
1. Цель и задачи освоения дисциплины
Цель освоения дисциплины - ознакомить студентов с предметом и основными методами программной инженерии.
Основные задачи дисциплины:
- ознакомить студентов с технологическими проблемами разработки крупномасштабных программных систем, отличающими ее от создания небольших программ, и методами решения этих проблем:
- рассмотреть основные понятия и методы инженерии программных систем;
- дать студентам хорошее представление об использовании современных высокотехнологичных методов в разработке сложного промышленных программного обеспечения (ПО), о практических способах построения качественных, гибких и масштабируемых систем в условиях жесткой конкурентной борьбы на рынке программного обеспечения.
2. Место дисциплины в структуре ООП
Дисциплина «Основы программной инженерии» входит в блок профессиональных дисциплин вариативной части общей образовательной программы по направлению подготовки 010400.62 «Прикладная математика и информатика».
Логически и содержательно изучаемый материал связан с курсами «Алгоритмы и алгоритмические языки», «Архитектура ЭВМ и язык ассемблера» и «Операционные системы», «Системы программирования»
Курс поддерживается дисциплиной Практикум на ЭВМ (6 семестр) входящей в общепрофессиональный блок базовой части общей образовательной программы.
3. Требования к результатам освоения дисциплины
В результате освоения дисциплины обучающийся должен:
Знать:
основные модели жизненного цикла ПО, основные задачи управления проектами;
основные виды деятельности при разработке ПО;
методы выделения, анализа и описания требований;
методы проектирования и анализа архитектуры ПО;
образцы проектирования, характеристики качества ПО и методы их оценки;
методы верификации и тестирования ПО.
Уметь:
выделять, уточнять и представлять требования в виде вариантов использования;
описывать архитектуры ПО с помощью диаграмм UML;
анализировать архитектуры ПО на основе сценариев его использования и модификации,
Владеть:
базовыми навыками разработки тестов и оценки удобства использования ПО;
базовыми навыками использования и выделения образцов анализа и проектирования.
Универсальные, профессиональные и специализированные компетенции, которыми должен обладать студент в результате освоения дисциплины
применять принципы ООП для описания задач обработки информации (ИК-3);
использовать средства систем программирования для разработки индустриальных прикладных программ (ПК-3).
1. Структура и содержание дисциплины
а) Общая трудоемкость дисциплины:
- 3 зачетных единицы,
- 108 академических часов. В том числе: 36 часов лекций, 72 часа самостоятельной работы.
б) Тематический план
Таблица 1.
ТЕМАТИЧЕСКИЙ ПЛАН
Семестр IV
№ п/п
|
Название темы
|
Количество часов
|
Формы текущего контроля успеваемости
(по темам) / Форма промежуточной атте-
стации (по семестрам)
|
Л
|
С(П,Лб)
|
СРС
|
1
|
2
|
3
|
4
|
5
|
6
|
1
|
Предмет и основные принципы программной инженерии
|
2
|
|
4
|
Консультации
|
2
|
Жизненный цикл программного обеспечения и процессы его разработки
|
4
|
|
8
|
Консультации
|
3
|
Примеры промышленных процессов разработки программного обеспечения
|
3
|
|
6
|
Консультации
|
4
|
Управление разработкой программного обеспечения
|
4
|
|
8
|
Консультации
|
5
|
Анализ требований к программному обеспечению
|
4
|
|
8
|
Консультации
|
6
|
Качество программного обеспечения и методы его контроля
|
4
|
|
8
|
Консультации
|
7
|
Архитектура программного обеспечения и ее проектирование
|
6
|
|
12
|
Консультации
|
8
|
Проектирование программных модулей. Образцы анализа и проектирования
|
6
|
|
12
|
Консультации
|
9
|
Удобство использования программного обеспечения
|
3
|
|
6
|
Консультации
|
Всего, часов
|
36
|
|
72
|
|
Итоговый контроль
|
Экзамен - 36 часов
|
где: Л – лекции, С – семинарские занятия, П – практические занятия, Лб – лабораторные занятия, СРС – самостоятельная работа студентов.
2. Содержание разделов дисциплины
Планы лекций
Лекция 1. Предмет и основные принципы программной инженерии
Проблемы разработки сложного программного обеспечения. Характеристики сложных программных систем. Предмет программной инженерии. Общие принципы программной инженерии: абстракция и уточнение, модульность, повторное использование. Примеры их применения.
Лекция 2. Жизненный цикл программного обеспечения и процессы его разработки
Основные модели жизненного цикла: водопадная, итеративная, спиральная. Международные стандарты, описывающие требования к процессам жизненного цикла: ISO 12207, ISO 15288, ISO 15504, IEEE 1074. Модели процессов разработки CMM и CMMI.
Лекция 3. Примеры промышленных процессов разработки программного обеспечения
Примеры процессов разработки. Унифицированный процесс Rational (RUP). Гибкие подходы к разработке программного обеспечения. Экстремальное программирование (XP). Другие процессы (MSF, DSDM).
Лекция 4. Управление разработкой программного обеспечения
Виды деятельности, входящие в управление проектами. Управление содержанием проекта и качеством. Планирование и управление ресурсами. Особенности управления разработкой программного обеспечения. Метрики программного обеспечения и их использование. Управление рисками. Управление персоналом. Структура и культура организаций. Мотивация работников. Построение сплоченной команды. Управление конфликтами. Ведение переговоров и информационное обеспечение проектов.
Лекция 5. Анализ требований к программному обеспечению
Анализ предметной области. Требования. Стандарты, определяющие характеристики требований: IEEE 830, IEEE 1233. Методы выделения требований. Методы описания и систематизации требований. Графическое представление моделей предметной области и требований. Диаграммы потоков данных, сущностей и связей, вариантов использования. Описание требований в виде вариантов использования. Анализ полноты и согласованности требований. Формализация требований.
Лекция 6. Качество программного обеспечения и методы его контроля
Понятие качества программного обеспечения и его основные характеристики. Стандарты ISO 9000 и ISO 9126. Методы контроля качества программного обеспечения. Верификация и валидация. Экспертиза и инспекция проектных документов. Методы статического анализа. Проверка моделей. Дедуктивный анализ. Тестирование. Основные виды тестирования. Критерии полноты тестирования. Основные методы построения тестов.
Лекция 7. Архитектура программного обеспечения и ее проектирование
Понятие архитектуры программного обеспечения. Методы разработки и анализа архитектуры программного обеспечения на основе сценариев его работы и модификации. Описание архитектуры. Универсальный язык моделирования UML. Основные виды диаграмм UML и их элементы.
Архитектурные стили и их использование.
Лекция 8. Проектирование программных модулей. Образцы анализа и проектирования
Проектирование программных модулей. Интерфейс и контракт модуля. Модули и компоненты. Образцы анализа, образцы проектирования, идиомы. Описание образцов. Системы образцов. Примеры образцов и их использования.
Лекция 9. Удобство использования программного обеспечения
Психологические и физиологические факторы работы человека с программным обеспечением. Принципы и методы разработки удобного программного обеспечения. Методы контроля удобства использования.
3. Рекомендуемые образовательные технологии
Работа в аудитории: лекции; консультации перед экзаменом.
Процесс изложения учебного материала сопровождается презентациями и демонстрацией решения задач в интерактивном режиме.
Параллельно с чтением лекций проводится дисциплина Практикум на ЭВМ (6 семестра). Студенты выполняют индивидуальные задания, которые предназначены для закрепления теоретической части курса и получения практических навыков их применения.
Внеаудиторная работа: изучение пройденных на лекциях тем, самостоятельное изучение литературы по системам программирования
4. Учебно-методическое обеспечение
самостоятельной работы студентов
а) Оценочные средства для текущего контроля успеваемости
Консультации.
Самостоятельная работа по изучению данной дисциплины включает:
проработку теоретических основ лекционного материала;
систематизацию изученного материала по курсу;
научно-исследовательская работа учащегося в библиотеках;
-
работа с информацией в Интернет;
участие в одном из открытых проектов;
работа с заданиями по разным видам деятельности в рамках проекта (анализ и описание требований, анализ и описание архитектуры;
оценка качества и описание найденных проблем;
разработка отдельных компонентов кода и документации);
создание презентации проекта;
подготовка к устному экзамену.
б) Система итогового контроля знаний
По итогам освоения дисциплины проводится устный экзамен.
Список вопросов к экзамену
Предмет и основные принципы программной инженерии. Проблемы разработки сложного программного обеспечения. Характеристики сложных программных систем.
Предмет программной инженерии. Общие принципы программной инженерии: абстракция и уточнение, модульность, повторное использование. Примеры их применения.
Жизненный цикл программного обеспечения и процессы его разработки. Основные модели жизненного цикла: водопадная, итеративная, спиральная.
Международные стандарты, описывающие требования к процессам жизненного цикла: ISO 12207, ISO 15288, ISO 15504, IEEE 1074.
Модели процессов разработки CMM и CMMI.
Примеры промышленных процессов разработки программного обеспечения. Примеры процессов разработки. Унифицированный процесс Rational (RUP). Гибкие подходы к разработке программного обеспечения.
Экстремальное программирование (XP). Другие процессы (MSF, DSDM).
Управление разработкой программного обеспечения. Виды деятельности, входящие в управление проектами. Управление содержанием проекта и качеством.
Планирование и управление ресурсами. Особенности управления разработкой программного обеспечения.
Метрики программного обеспечения и их использование. Управление рисками. Управление персоналом. Структура и культура организаций.
Мотивация работников. Построение сплоченной команды. Управление конфликтами. Ведение переговоров и информационное обеспечение проектов.
Анализ требований к программному обеспечению. Анализ предметной области. Требования. Стандарты, определяющие характеристики требований: IEEE 830, IEEE 1233. Методы выделения требований. Методы описания и систематизации требований.
Графическое представление моделей предметной области и требований. Диаграммы потоков данных, сущностей и связей, вариантов использования. Описание требований в виде вариантов использования. Анализ полноты и согласованности требований. Формализация требований.
Качество программного обеспечения и методы его контроля. Понятие качества программного обеспечения и его основные характеристики. Стандарты ISO 9000 и ISO 9126.
Методы контроля качества программного обеспечения. Верификация и валидация. Экспертиза и инспекция проектных документов. Методы статического анализа.
Проверка моделей. Дедуктивный анализ. Тестирование. Основные виды тестирования. Критерии полноты тестирования. Основные методы построения тестов.
Архитектура программного обеспечения и ее проектирование. Понятие архитектуры программного обеспечения. Методы разработки и анализа архитектуры программного обеспечения на основе сценариев его работы и модификации. Описание архитектуры.
Универсальный язык моделирования UML. Основные виды диаграмм UML и их элементы. Архитектурные стили и их использование.
Проектирование программных модулей. Образцы анализа и проектирования. Проектирование программных модулей. Интерфейс и контракт модуля. Модули и компоненты.
Образцы анализа, образцы проектирования, идиомы. Описание образцов. Системы образцов. Примеры образцов и их использования.
Удобство использования программного обеспечения. Психологические и физиологические факторы работы человека с программным обеспечением.
Принципы и методы разработки удобного программного обеспечения. Методы контроля удобства использования.
Критерии оценивания знаний студента на экзамене.
Отметка «отлично» ставится, если:
раскрыты и точно употреблены основные понятия;
сущность вопросов раскрыта полно, развернуто, структурировано, логично;
использованы при ответе примеры, иллюстрирующие теоретические положения;
представлены разные точки зрения на проблему;
выводы обоснованы и последовательны;
диалог с преподавателем выстраивается с обоснованием связи сути вопросов билета с другими вопросами и разделами учебной дисциплины;
полно и оперативно отвечает на дополнительные вопросы.
Отметка «хорошо» ставится, если:
частично раскрыты основные понятия;
в целом материал излагается полно, по сути билета;
использованы при ответе примеры, иллюстрирующие теоретические положения;
выводы обоснованы и последовательны;
выстраивается диалог с преподавателем по содержанию вопроса;
ответил на большую часть дополнительных вопросов.
Отметка «удовлетворительно» ставится, если:
раскрыта только меньшая часть основных понятий;
не достаточно точно употреблял основные категории и понятия;
не достаточно полно и не структурировано отвечал по содержанию вопросов;
не использовал примеры, иллюстрирующие теоретические положения;
не рассматривал разные точки зрения на проблему;
диалог с преподавателем не получился;
возникли проблемы в обосновании выводов, аргументаций;
не ответил на большинство дополнительных вопросов.
Отметка «неудовлетворительно» ставится в случае, если:
не раскрыто ни одно из основных понятий;
не знает основные определения категорий и понятий дисциплины;
допущены существенные неточности и ошибки при изложении материала;
практическое отсутствие реакции на дополнительные вопросы по билету.
5. Учебно-методическое и информационное
обеспечение дисциплины
а) основная литература
И. Соммервилл. Инженерия программного обеспечения. М.: Вильямс, 2002.
Л. Басс, П. Клементс, Р. Кацман. Архитектура программного обеспечения на практике. СПб.: Питер, 2006.
Л. Константайн, Л. Локвуд. Разработка программного обеспечения. СПб.: Питер, 2004.
Е. А. Жоголев. Лекции по технологии программирования: Учебное пособие. М.: Издательский отдел факультета ВМиК МГУ, 2001.
А. Коберн. Современные методы описания требований к системам. М.: Лори, 2002.
Г. Буч, Дж. Рамбо, А. Джекобсон. Язык UML. Руководство пользователя. М.: ДМК, 2000.
А. Якобсон, Г. Буч, Дж. Рамбо. Унифицированный процесс разработки программного обеспечения. СПб.: Питер, 2002.
К. Бек. Экстремальное программирование. СПб.: Питер, 2002.
Э. Хант, Д. Томас. Программист-прагматик. М.: Лори, 2004.
Э. Гамма, Р. Хелм, Р. Джонсон, Дж. Влиссидес. Приемы объектно-ориентированного проектирования. Паттерны проектирования. СПб.: Питер-ДМК, 2001.
Ф. Брукс. Мифический человеко-месяц или Как создаются программные системы. СПб.: Символ-Плюс, 2001.
Т. Демарко, Т. Листер. Человеческий фактор: успешные проекты и команды. СПб.: Символ-Плюс, 2005.
В. В. Кулямин. Технологии программирования. Компонентный подход. М.: Интернет-университет информационных технологий, Бином, 2007.
б) дополнительная литература
Software Engineering Body of Knowledge, 2005. http://www.swebok.org/ironman/pdf/SWEBOK_Guide_2004.pdf.
Э. Дж. Брауде. Технология разработки программного обеспечения. СПб.: Питер, 2004.
У. Ройс. Управление проектами по созданию программного обеспечения. М.: Лори, 2002.
Д. Леффингуэлл, Д. Уидриг. Принципы работы с требованиями к программному обеспечению. Унифицированный подход. М.: Вильямс, 2002.
В. В. Липаев. Методы обеспечения качества крупномасштабных программных средств. М., Синтег, 2003.
M. Fowler. Analysis Patterns: Reusable Object Models. Addison-Wesley, 1997.
М. Фаулер и др. Архитектура корпоративных программных приложений. М.: Вильямс, 2004.
Б. Майер. Объектно-ориентированное программирование. Концепции разработки. М.: Русская редакция, 2004.
Дж. Рамбо, А. Якобсон, Г. Буч. UML: Специальный справочник. СПб.: Питер, 2002.
Г. Буч. Объектно-ориентированный анализ и проектирование с примерами приложений на C++. Второе издание. М.: Бином, СПб.: Невский диалект, 2000.
А. Купер. Психбольница в руках пациентов. СПб.: Символ-Плюс, 2004.
в) Интернет-ресурсы
электронная учебно-методическая система «Ownlibrari» кафедры программирования Филиала МГУ в г. Севастополе, видеофильмы и вэбинары «MicrosoftConference»;
сайт кафедры Системного программирования http://sp.cmc.msu.ru/
6. Материально-техническое обеспечение дисциплины
- библиотека Филиала МГУ в г. Севастополе;
- библиотека кафедры программирования Филиала МГУ в г. Севастополе;
- лекционная аудитория, оборудованную средствами подключения к сети электропитания и локальной сети университета, а также средствами интерактивного отображения информации для показа презентаций лекций и демонстрации решения задач.;
- для самостоятельной работы студентов - специализированные компьютерные классы с доступом к Интернет-ресурсам с любого компьютера.
ПРИЛОЖЕНИЕ А
ПОЛОЖЕНИЕ
о проведении пересдач задолженностей студентов по итоговым аттестациям
на кафедре программирования Филиала МГУ в г. Севастополе
прикомандированными преподавателями с факультета ВМК МГУ
протокол №5 заседания кафедры от 10 апреля 2012 г.
Настоящее положение регулирует порядок проведения пересдач задолженностей студентами факультета Компьютерной математики на кафедре программирования Филиала МГУ в г. Севастополе прикомандированными преподавателями с факультета ВМК МГУ.
1. Пересдача задолженностей принимается по графику пересдач задолженностей, установленному кафедрой программирования в принятые ректоратом МГУ имени М.В.Ломоносова сроки, в отдельных случаях - в сроки установленные комиссией по студенческим делам.
2. График пересдач задолженностей сообщается в учебный отдел в виде служебной записки и преподавателю факультета ВМК МГУ, по дисциплине которого проводится пересдача.
3. Пересдачи экзаменов (зачётов) в отсутствие преподавателей факультета ВМК в Филиале МГУ в г. Севастополе проводятся в письменной форме, независимо от того в какой форме проводился основной экзамен (зачёт).
4. Вариант письменной экзаменационной (зачётной) работы для пересдачи составляет преподаватель, проводивший основной экзамен. Также преподаватель указывает требования к проведению экзамена (сколько времени даётся на написание работы, какими материалами разрешается пользоваться студенту при написании работы и др.)
5. Кафедрой программирования назначаются местные преподаватели кафедры, которые проводят пересдачу в установленные даты и время в соответствии с графиком пересдач по присланному варианту с выполнением всех требований к проведению.
6. Написанные студентами при пересдаче экзаменационные (зачётные) работы сканируются по окончании пересдачи и пересылаются по электронной почте на проверку преподавателю факультета ВМК МГУ.
7. Преподавателю ВМК МГУ пересылается скан ведомости пересдачи для выставления отметок по результатам пересдачи.
8. Преподаватель ВМК присылает в Филиал скан заполненной им ведомости пересдачи и сканы проверенных им работ.
9. Полученный скан ведомости подписывается зам. зав. кафедрой.
10. Скан ведомости пересдачи сдаётся в учебный отдел Филиала.
11. Кафедра знакомит студентов, писавших работу на пересдаче, с результатами пересдачи.
12. При возникновении у студентов, писавших работу на пересдаче, вопросов по результатам проверки, студент может обратиться к преподавателю ВМК лично по электронной почте (скайпу). Свои координаты для консультаций с ним преподаватель сообщает студентам на первой лекции курса.
|