Учебный курс «Технологии программирования. Курс на базе Microsoft Solutions Framework (MSF)» Нижегородский государственный университет им. Н.И. Лобачевского Факультет вычислительной математики и кибернетики Учебный курс «Технологии программирования. Курс на базе Microsoft Solutions Framework (MSF)» Мееров И.Б., Сысоев А.В., Козинов Е.А. При поддержке компании Microsoft® (победитель конкурса Software Engineering Contest-2006) Нижний Новгород, 2006г.
2 Актуальность курса... Доля успешных проектов в области IT невелика * 0% 100% 31%53%16% %33%27% 28%46%26% 23%49%28% Провалены Испытали большие проблемы Успешные 28% % % 2004 * - по данным The Standish Group International, "CHAOS 2005", "Extreme Chaos", "Chaos Report",
3 Актуальность курса... В 2004 году на разработку программных средств ушло около $ Индустрия нуждается в повышении доли успешных проектов. Как этого добиться? Новые технологии. Квалифицированные кадры.
4 Актуальность курса Необходимо учить не только технологиям разработки программ, но и принципам и технологиям командной работы. Акцент все больше смещается от талантливых программистов-одиночек к грамотным командным «бойцам». Закончивший ВУЗ студент должен уметь органично влиться в коллектив разработчиков. Для формирования подобных навыков необходима теоретическая подготовка, подкрепленная практикой командной работы.
5 Цель курса Цель данного курса состоит в изучении основных путей организации и проведения успешных проектов в области разработки программного обеспечения на базе принципов Microsoft Solutions Framework (MSF). Важная роль отводится практической составляющей курса – работе в небольших командах.
6 Методы достижения цели Рассмотрение технологических основ процесса разработки программного обеспечения. Изучение основ унифицированного языка UML для визуального моделирования элементов предметной области в рамках проектирования программной системы и ее основных компонентов. Получение практического опыта работы в команде из 5-7 человек с применением методологии MSF. Приобретение и развитие навыков анализа, проектирования, документирования и разработки программных комплексов средней сложности.
7 Место курса в учебном плане ВМК ННГУ Основные параметры: –2-ой курс, 4-ый семестр; –16 часов лекции; –16 часов семинары; –32 часа лабораторные работы. CS101CS102 CS103 Элементы SE201
8 Характеристика курса... Данный курс читается на 2 курсе и является вводным. Опирается на изучение курсов –Основы программирования; –Объектно-ориентированное программирование; –Алгоритмы и структуры данных. Базовая методология – MSF 4.0 for Agile software development. Ориентация на разработку ПО в небольших командах.
9 Характеристика курса... Лекционная часть : – Введение (лекция 1) понятие программного обеспечения; проблема роста сложности разработки качественного продукта в заданные сроки в соответствии с имеющимся бюджетом; основные технологии программирования как средства борьбы со сложностью.
1010 Характеристика курса... Лекционная часть : – Первый раздел курса (лекция 2) Обзор некоторых понятий и принципов программной инженерии. В частности разбирается понятие программной инженерии, процесса, модели процесса разработки ПО. Рассматриваются классические модели процесса.
1 Характеристика курса... Лекционная часть : – Второй раздел курса (лекции 3-4) Принципы объектно-ориентированного анализа и проектирования ПО при помощи UML. Обзор принципов объектного подхода. Важные аспекты повторного использования. Элементы языка UML. Применение UML для визуализации проектирования лекционных примеров из читаемого параллельно курса CS103 «Алгоритмы и структуры данных».
1212 Характеристика курса... Лекционная часть : – Третий раздел курса (лекции 5-8) Методология разработки программных решений Microsoft Solutions Framework 4.0. История MSF. Основные принципы MSF. Модель проектной группы. Роли и фазы MSF. Через все фазы проводится лекционный пример – разработка системы бронирования билетов для аэропорта
1313 Характеристика курса... Семинары : –8 семинаров на закрепление лекционного материала. –Разбор учебного примера. –Изложение и анализ учебных задач. Разбиение на студентов на команды. –Практическое освоение принципов MSF. Командная работа.
1414 Характеристика курса... Лабораторные работы : –Командная работа – проектирование и разработка решения. –Тестирование, отладка. –Создание документации. –Сдача продукта заказчику (в роли заказчика может выступать преподаватель).
1515 Характеристика курса Отличительные особенности : –Командная работа. –Упор на практику. –Привлечение магистрантов, специализирующихся в области Software Engineering в качестве одной из ролей в проектных группах. –Сдача результата «заказчику» - преподавателю. –Изменение требований в процессе работы.
1616 Комплект поставки Программа курса Программа лабораторного практикума Лекции (материалы + презентации) Семинары (презентации) Шаблоны документов MSF (материалы, рус.) Постановки учебных задач Учебный пример (коды, документация – заполненные шаблоны) Презентация курса
1717 Контакты Сайт курса: Пишите нам на