| 
 
  
 Рабочая учебная программа составлена на основе
 
 
            Образовательного стандарта, самостоятельно устанавливаемого Московским государственным университетом имени М.В.Ломоносова для реализуемых образовательных программ высшего профессионального образования по направлению подготовки «Прикладная математика и информатика», утверждённого приказом по МГУ от 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. При возникновении у студентов, писавших работу на пересдаче, вопросов по результатам проверки, студент может обратиться к преподавателю ВМК лично по электронной почте (скайпу). Свои координаты для консультаций с ним преподаватель сообщает студентам на первой лекции курса.
 
 
 
 |