МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ Саратовский государственный университет имени Н.Г. Чернышевского Факультет компьютерных наук и информационных технологий УТВЕРЖДАЮ ___________________________ "__" __________________20__ г. Рабочая программа дисциплины Технологии командной разработки ПО Направление подготовки 231000 Программная инженерия Профиль подготовки Разработка программно-информационных систем Квалификация (степень) выпускника Бакалавр Форма обучения очная Саратов, 2011 год 1. Цели освоения дисциплины Целью освоения дисциплины «Технологии командной разработки ПО» является получение обучаемыми знаний по современным технологиям разработки программного обеспечения, а также практическое решение технических задач, возникающих в процессе данной разработки; от этапа составления коммерческого задания до сдачи проекта и формирования итогового отчета. 2. Место дисциплины в структуре ООП бакалавриата Данная учебная дисциплина входит в раздел «Профессиональный цикл. Дисциплины по выбору» ФГОС-3. Для изучения дисциплины необходимы компетенции, сформированные у обучающихся в результате изучения курсов «Основы программной инженерии» и «Тестирование и отладка программного обеспечения». Компетенции, сформированные в результате изучения данной дисциплины, будут использоваться при написании выпускной квалификационной работы. 3. Компетенции обучающегося, формируемые в результате освоения дисциплины (модуля. Данная дисциплина способствует формированию следующих компетенций: готовность обосновать принимаемые проектные решения, осуществлять постановку и выполнение экспериментов по проверке их корректности и эффективности (ПК-4) способность выполнить начальную оценку степени трудности, рисков, затрат и сформировать рабочий график (ПК-7); способность готовить коммерческие предложения с вариантами решения (ПК-8). выпускник должен демонстрировать: умение применять основы информатики и программирования к проектированию, конструированию и тестированию программных продуктов (ПК-10); навыки чтения, понимания и выделения главной идеи прочитанного исходного кода, документации (ПК-11); навыки использования различных технологий разработки программного обеспечения (ПК-16); умение применять основные методы и инструменты разработки программного обеспечения (ПК-17); понимание концепций и атрибутов качества программного обеспечения (надежности, безопасности, удобства использования), в том числе, роли людей, процессов, методов, инструментов и технологий обеспечения качества (ПК-18); навыки проведения практических занятий с пользователями программных систем (ПК-20); способность оформления методических материалов и пособий по применению программных систем (ПК-21). понимание основ групповой динамики, психологии и профессионального поведения, специфичных для программной инженерии (ПК-24); В результате освоения дисциплины обучающийся должен: Знать: ключевые принципы оценки затрат, рисков и трудоемкости разработки ПО; современные подходы к разработке программного обеспечения; принципы формирования проектной команды; критерии оценки качества программного обеспечения; Уметь: принимать проектные решения и обосновывать свой выбор; применять знания по основам информационных технологий к проектированию, конструированию и тестированию ПО; Владеть: навыками создания коммерческих предложений; навыками составления тестовой документации тестирования разработанного программного обеспечения 4. Структура и содержание дисциплины (модуля) Общая трудоемкость дисциплины составляет 5 зачетных единицы, 180 часов. № п/п Раздел дисциплины Сем естр Неделя семестра Виды учебной работы, включая самостоятельную работу студентов и трудоемкость (в часах) Л Лб Пр СР Основы разработки программных проектов Методологии разработки ПО 8 1-2 6 6 10 8 3-5 9 9 10 3 Непрерывная интеграция 8 6-7 6 6 10 4 Оценка трудоемкости 8 8-9 6 6 10 1 2 Формы текущего контроля успеваемости (по неделям семестра) Формы промежуточной аттестации (по семестрам) Опросы № 1 и №2. Опросы № 3, №4 и № 5. Лабораторная работа №1. Опросы № 6 и №7. Лабораторная работа №2. Контрольная работа №1 Опросы № 8 и №9. Лабораторная работа №3. 5 Реализация проекта 8 10-11 6 6 10 6 Тестирование проекта 8 12 3 3 8 7 Качество программного обеспечения 8 13 3 3 8 39 39 66 Промежуточная аттестация Итого Опросы № 10 и №11. Лабораторная работа №4 Опрос № 12. Лабораторная работа №5. Опрос № 13. Лабораторная работа №6. Контрольная работа №2 Экзамен 36 Основы разработки программных проектов. Понятие проекта. Ключевые этапы проекта. Жизненный цикл проекта. Понятие проектной команды. Проектные роли. Работа с коммерческим предложением. Методологии разработки ПО. Классическая водопадная схема жизненного цикла ПО, циклическая схема. Методологии Agile, SCRUM. Командная работа над проектом. Непрерывная интеграция. Технологии обеспечения командной работы над проектом. Системы контроля версий. Системы автоматического тестирования. Багтрекинговые-системы. Оценка трудоемкости. Методики оценки трудоемкости работ. Методы экспертных оценок. Метод PERT. Выделение приоритетных направлений работ. Реализация проекта. Рабочее планирование проекта. Переоценка трудоемкости на основе реальных временных результатов. Планирование работ по анализу и тестированию кода. Тестирование проекта. Поиск и исправление ошибок в программе. Системы логирования и автоматической обработки ошибок. Качество программного обеспечения. Ключевые критерии и способы оценки качества ПО. Требования к надежности. 5. Образовательные технологии При проведении занятий планируется использование таких активных и интерактивных форм занятий, как перекрестный опрос и мультимедийные презентации. 6. Учебно-методическое обеспечение самостоятельной работы студентов. Оценочные средства для текущего контроля успеваемости, промежуточной аттестации по итогам освоения дисциплины. 7. Учебно-методическое дисциплины и информационное обеспечение а) основная литература: 1. Исаев Г.Н. Управление качеством информационных систем: моногр. М. : Изд. Моск. ин-та радиотехники, электрон. и автоматики (техн. унт), 2003. - 199 с. Бек Кент. Экстремальное программирование: разработка через тестирование. – М: Питер, 2003. – 224 с. Кармайкл Энди, Хейвуд Ден. Быстрая и качественная разработка программного обеспечения. – М.: Вильямс, 2003. – 393 с. Вигерс Карл. Разработка требований к программному обеспечению: Практические приемы сбора требований и управления ими при разработке программного продукта : пер. с англ. – М.: Рус. Ред., 2004 – 554 с. б) дополнительная литература: 1. Архипенков С. Лекции по управлению программными проектами. 2009. Электронный ресурс: http://www.arkhipenkov.ru/resources/sw_project_management.pdf 2. Архипенков С. Руководство командой разработчиков программного обеспечения. Прикладные мысли. 2008. Электронный ресурс: http://www.arkhipenkov.ru/resources/sw_team_management.pdf 3. Верзух Э. Управление проектами. - М.: Диалектика, 2007. 472с. 4. С. Макконнелл, «Сколько стоит программный проект», «Питер», 2007. 5. Том Демарко, Тимоти Листер, «Человеческий фактор: успешные проекты и команды», Спб. Символ-Плюс, 2005. 6. Том ДеМарко, Тимоти Листер, «Вальсируя с Медведями. Управление рисками в проектах по разработке программного обеспечения», М., Компания p.m.Office, 2005. 7. Брукс Фредерик, «Мифический человеко-месяц, или Как создаются программные комплексы», Пер. с англ., СПб., Символ-Плюс, 1999 в) программное обеспечение и Интернет-ресурсы 1. Visual Studio 2010. 2. Tortoise SVN на клиентских машинах и Visual SVN на сервере. 3. Bugzilla в качестве баг-трекинговой системы. 4. Сайт http://msdn.microsoft.com 8. Материально-техническое обеспечение дисциплины (модуля) Мультимедийная лекционная аудитория. «Программа составлена в соответствии с требованиями ФГОС ВПО с учетом рекомендаций и Примерной ООП ВПО по направлению и профилю подготовки «Разработка программно-информационных систем». Автор Ведущий программист Саратовского филиала компании EPAM Systems ___________ А.В. Кузнецов Программа одобрена на заседании базовой кафедры Математическое обеспечение вычислительных комплексов и информационных систем от «15» февраля 2011 года, протокол № 1. Заведующий кафедрой профессор ___________ Д. К. Андрейченко Декан факультета КНиИТ, доцент ___________ А. Г. Федорова