Опубликован: 20.07.2007 | Доступ: свободный | Студентов: 765 / 147 | Оценка: 4.30 / 4.06 | Длительность: 09:58:00
Специальности: Программист
Введение 1:

Цели и задачи курса и практикума

Введение 1: 12345 || Лекция 1 >

3. Методология создания программных решений Microsoft Solutions Framework.

3.1. Введение в методологию MSF и историческая справка.

Что такое MSF. Основные концепции методологии: модель процессов, управление проектом, модель проектной группы, управление рисками. Позиционирование MSF в сравнении с другими методологиями разработки программного обеспечения. Инструментальная поддержка методологии до версии 3.0 включительно. Источники информации.

3.2. Нововведения версии MSF 4.0.

Разделение методологии на два направления: MSF for Agile Software Development и MSF for CMMI Process Improvement. Причины разделения методологии MSF на "облегченный" и "тяжелый" варианты, основные отличия направлений. Почему в основу курса положено направление MSF for Agile Software Development? Характеристика основных положений MSF for Agile Software Development. Инструментальная поддержка MSF 4.0 в среде разработки Microsoft Visual Studio 2005. Источники информации.

3.3. Формирование команды. Модель проектной группы MSF for Agile Software Development.

Основные принципы построения команды.

"Проектная группа - команда равных".

Каждая ролевая группа имеет зону ответственности и защищает интересы заинтересованных лиц из этой зоны.

"Масштабируемость" модели проектной группы в зависимости от числа участников.

Ролевые группы и роли, зоны ответственности ролевых групп, их задачи и взаимодействие с заинтересованными лицами.

MSF for Agile Software Development выделяет 7 ролевых групп: управление программой, архитектура продукта, разработка, тестирование, управление выпуском, удовлетворение потребителя, управление продуктом, - и 6 ролей: менеджер проекта, архитектор, разработчик, тестер, релиз-менеджер, бизнес-аналитик. Для каждой группы и роли, помимо зоны ответственности, в которой роль имеет решающий голос, определены заинтересованные стороны, как внутри, так и вне команды, с которыми группа должна взаимодействовать и чьи интересы представлять/отстаивать при принятии решений.

Рекомендации по возможному объединению ролей.

Пример: Задача о разработке программного комплекса бронирования билетов для аэропорта.

3.4. Управление рисками в MSF for Agile Software Development.

Основные сведения о рисках.

Планирование управления рисками.

Процесс управления рисками: выявление, анализ и приоритезация, планирование, мониторинг, корректирование, извлечение уроков.

Управление рисками как составная часть жизненного цикла проекта.

Пример: Задача о разработке программного комплекса бронирования билетов для аэропорта. Выделение рисков.

3.5. Модель процессов MSF for Agile Software Development.

Принципы модели процессов.

Взаимодействуйте с "заказчиками".

Поощряйте свободный обмен информацией в проекте.

Создавайте "единое видение проекта".

Следите за качеством продукта.

Проявляйте гибкость - будьте готовы к изменениям.

Ставьте "вехи".

Будьте готовы к внедрению сегодня.

Схема процесса разработки.

Основные структурные единицы схемы: циклы, фазы и вехи.

Цикличность всех уровней процесса разработки. Примеры циклов в различных задачах на различных уровнях: контроль версий, ежедневная сборка, итерация, версия продукта.

Фазы и вехи процесса разработки: выработка концепции, планирование проекта, разработка решения, стабилизация решения, внедрение решения. Распределение задач по фазам. Выбор продолжительности фаз. Принцип "каждой фазе - свои вехи". Вопросы, определяющие выполнение очередной фазы и достижение соответствующей вехи.

3.6. Старт проекта. Фаза выработки концепции.

Основные задачи фазы: создание ядра проектной группы, формирование видения проекта, подготовка документа общего описания и рамок проекта, подготовка документа оценки рисков и представление главных рисков проекта, выявление и анализ бизнес-требований.

Задачи ролевых групп на фазе выработки концепции.

Главная веха фазы: "Концепция утверждена".

Рекомендуемые промежуточные вехи: "Ядро проектной группы сформировано", "Черновой вариант концепции проекта составлен".

Результаты фазы: "Общее описание и рамки проекта", "Документ оценки рисков", "Описание структуры проекта".

Пример: Задача о разработке программного комплекса бронирования билетов для аэропорта. Выработка концепции.

3.7. Планирование проекта. Фаза планирования.

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

Категории проектных требований. Уровни процесса проектирования.

Задачи ролевых групп на фазе планирования.

Главная веха фазы: "Планы проекта утверждены".

Рекомендуемые промежуточные вехи: "Верификация технологий", "Базовая версия функциональной спецификации создана", "Базовая версия сводного плана проекта создана", "Базовая версия сводного календарного графика проекта создана", "Среды разработки и тестирования развернуты".

Результаты фазы: "Функциональная спецификация", "План управления рисками", "Сводный план и сводный календарный график проекта".

3.8. Разработка решения. Фаза разработки.

Основная задача фазы - создание компонент решения, включая как документацию, так и программный код.

Задачи ролевых групп на фазе разработки.

Главная веха фазы: "Разработка завершена ".

Рекомендуемые промежуточные вехи: "Концепция подтверждена", "Билд номер N завершен", "Билд номер N+1 завершен",…

Результаты фазы: "Исходный и исполняемый код приложений", "Скрипты установки и конфигурирования", "Окончательная функциональная спецификация", "Материалы поддержки решения", "Спецификации и сценарии тестов".

3.9. Стабилизация решения. Фаза стабилизации.

Основные задачи фазы: тестирование разработанного решения, приоритезация и устранение ошибок, подготовка решения к выпуску, пилотное внедрение.

Задачи ролевых групп на фазе стабилизации.

Главная веха фазы: "Готовность решения утверждена".

Рекомендуемые промежуточные вехи: "Точка конвергенции", "Точка достижения нуля ошибок", "Версии-кандидаты", "Контрольное тестирование завершено", "Тестирование приемлемости для потребителей завершено", "Пилотное внедрение завершено".

Результаты фазы: "Окончательный продукт", "Документация выпуска", "Материалы поддержки решения", "Результаты и инструментарий тестирования", "Исходный и исполнимый код приложений", "Проектная документация", "Анализ пройденной фазы".

3.10. Внедрение решения. Фаза внедрения.

Основные задачи фазы: внедрение технологий и компонент решения, стабилизация внедренного решения, передача работ персоналу поддержки и сопровождения, получение со стороны заказчика окончательного одобрения результатами проекта, анализ выполненной работы и удовлетворенности заказчика.

Задачи ролевых групп на фазе внедрения.

Главная веха фазы: "Внедрение завершено".

Рекомендуемые промежуточные вехи: "Ключевые компоненты развернуты", "Внедрение на местах завершено", "Внедренное решение стабилизировано".

Результаты фазы: "Информационные системы эксплуатации и поддержки", "Процедуры и процессы", "Базы знаний, отчеты, журналы протоколов", "Версии проектных документов, массивы данных и программный код, разработанные во время проекта", "Отчет о завершении проекта", "Окончательные версии всех проектных документов", "Показатели удовлетворенности заказчика и потребителей", "Описание последующих шагов".

4. Затрагиваемые разделы рекомендаций Computing Curricula 2001 (Software Engineering 2004)

Данный курс является вводным курсом в рамках направления "Программная инженерия" и затрагивает следующие элементы курса SE201:

CMP.ct - Технологии разработки

MAA.md - Моделирование

MAA.tm - Типы моделей

MAA.rfd - Требования

MAA.rsd - Спецификация и документирование требований

MAA.rv - Проверка требований

DES - Проектирование

PRO.imp - Процесс разработки

MGT - Управление процессом разработки

5. Учебно-методические материалы по курсу

5.1. Литература

  1. И. Соммервиль. Инженерия программного обеспечения, 6 изд. - И.д. "Вильямс", 2002.
  2. Г. Буч. Объектно-ориентированный анализ и проектирование с примерами приложений на С++. Второе издание. - Бином, 1998.
  3. N. Wirth. Program Development by Stepwise Refinement // Communications of the ACM vol.26(1).- 1971, 1983.
  4. O. Dahl, E. Dijkstra, C.A.R. Hoare. Structured Programming.-London, England: Academic Press, 1972.
  5. Р. Лингер, Х. Миллс, Б. Уитт. Теория и практика структурного программирования. - М.: Мир, 1982.
  6. Э. Салливан. Время - деньги. - М.:Microsoft Press, Русская редакция, 2002.
  7. Г. Буч, Дж. Рамбо, А. Джекобсон. UML. Руководство пользователя. - ДМК-Пресс, Питер, 2004.
  8. G. Booch, J. Rumbaugh, I. Jacobson. The Unified Modeling Language Reference Manual - Second Edition, Addison-Wesley, 2004.
  9. Модель процессов MSF. Белая книга, 2003, перевод eLine Software.
  10. Дисциплина управления рисками MSF. Белая книга, 2003, перевод eLine Software.
  11. Модель проектной группы MSF. Белая книга, 2003, перевод eLine Software.
  12. 1846A: Microsoft Solutions Framework Essentials. Microsoft Official Course, 2002
  13. 2710B: Analyzing Requirements and Defining Microsoft .NET Solutions Architecture. Microsoft Official Course, 2003
  14. MSF Process Model. White paper, 2002 Microsoft Corporation.
  15. MSF Risk Management Discipline. White paper, 2002 Microsoft Corporation.
  16. MSF Team Model. White paper, 2002 Microsoft Corporation.

5.2. Информационные ресурсы сети Интернет

  1. Ian Sommerville. Software Engineering. 6th Edition. [http://www.comp.lancs.ac.uk/computing/resources/IanS/SE6]
  2. Ian Sommerville. Software Engineering. 7th Edition. [http://www.comp.lancs.ac.uk/computing/resources/IanS/SE7]
  3. http://www.uml.org
  4. http://www.wikipedia.org
  5. http://www.microsoft.com/msf
  6. С. Якимчук. MSF - философия создания IT-решений или голые амбиции лидера, 2004: [http://www.citforum.ru/SE/project/msf/].
  7. Алистер Кокбёрн. Каждому проекту своя методология:[http://software-testing.ru/lib/cockburn/methodology-per-project.htm](перевод статьи Alistair Cockburn. Methodology per project: [http://alistair.cockburn.us/index.php/Methodology_per_project]).
  8. А. Терехов, А. Ложечкин. Microsoft Solutions Framework 4.0 - опыт Microsoft по организации командной разработки. Презентация с Microsoft Платформа 2006
  9. MSF for Agile Software Development Process Guidance: [http://go.microsoft.com/fwlink/?linkid=63524]
Введение 1: 12345 || Лекция 1 >