- •Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования «Ивановский государственный энергетический университет имени в.И. Ленина».
- •Иваново 2014
- •Оглавление
- •Предисловие
- •Введение
- •1.Предмет программной инженерии
- •1.1.Определение и свойства программного обеспечения
- •1.2.Проблемы разработки программного обеспечения
- •1.3.Процессы производства программного обеспечения
- •1.4.Понятие программного проекта
- •1.5. Стандартизация в области производства по
- •1.6.Определение программной инженерии и ее место в системе информационных технологий
- •2.Жизненный цикл программных продуктов
- •2.1.Понятие жизненного цикла
- •2.2.Процессы жизненного цикла программного обеспечения
- •2.3.Модели жизненного цикла
- •3.Виды деятельности в программной инженерии
- •3.1.Управление требованиями
- •3.1.1.Проблема
- •3.1.2.Цикл работы с требованиями
- •3.1.3.Виды и свойства требований
- •3.1.4.Варианты формализации требований
- •3.2.Проектирование программного обеспечения
- •3.2.1.Понятие
- •3.2.2.Принципы
- •3.2.3.Шаблоны
- •3.2.4.Моделирование по
- •3.2.5.Методологии
- •3.2.6.Оценка качества
- •3.3.Конструирование программного обеспечения
- •3.3.1.Определение
- •3.3.2.Связь с другими процессами
- •3.3.3.Принципы
- •3.3.4.Модели и методы
- •3.3.5.Языки конструирования
- •3.4.Конфигурационное управление
- •3.4.1.Проблемы управления активами программного проекта
- •3.4.2.Единицы конфигурационного управления
- •3.4.3.Управление версиями
- •3.4.4.Управление сборками
- •3.4.5.Понятие baseline
- •3.5.Тестирование программного обеспечения
- •3.5.1.Основные определения
- •3.5.2.Уровни тестирования (Test Levels)
- •3.5.3.Виды тестирования
- •3.5.4.Метрики
- •3.6.Сопровождение программного обеспечения
- •Эволюция программного обеспечения (Evolution of Software)
- •4.Методология объектно-ориентированного анализа и проектирования
- •4.1.Основные понятия
- •4.1.1.Объекты и классы
- •4.1.2.Принципы ооп
- •4.1.3.Разработка объектно-ориентированных программ
- •4.2.Язык uml
- •4.2.1.Что дает uml
- •4.2.2.Структура языка uml
- •4.2.3.Uml диаграммы
- •4.2.4.Программы поддержки языка uml
- •4.3.Вопросы для самоконтроля
- •5.Технологии разработки программного обеспечения
- •5.1.Тяжеловесные и облегченные технологии
- •5.2.Технология rup
- •5.3.Гибкие технологии
- •5.4.Технология msf
- •5.4.1. Управление рисками в msf for Agile Software Development1
- •5.4.2.Основные сведения о рисках
- •5.4.3.Планирование управления рисками
- •5.4.4.Процесс управления рисками
- •5.4.5.Управление рисками как составная часть жизненного цикла проекта
- •5.4.6.Учебный пример. Выделение рисков
- •5.5.Модель процессов msf for Agile Software Development2
- •5.5.1.Принципы модели процессов
- •5.5.2.Управление компромиссами
- •5.5.3.Схема процесса разработки
- •5.6.1. Подготовка проекта
- •5.6.2. Планирование проекта
- •5.6.3. Планирование спринта
- •5.6.4. Выполнение спринта
- •5.6.5. Отслеживание проекта
- •5.7.1. Каково назначение модели cmmi?
- •5.7.2. Как лучше использовать модель cmmi?
- •5.7.3. Элементы модели cmmi
- •Заключение Литература
- •153003, Г. Иваново, ул. Рабфаковская, 34.
5.6.4. Выполнение спринта
В ходе спринта команда выполняет задачи, необходимые для реализации описаний функциональности пользователей из списка невыполненных работ спринта.До завершения каждого спринта команда может отслеживать ход его выполнения и проверять соответствие готового программного обеспечения условиям приемки заказчиков и критериям, установленным в команде.
Завершение описаний функциональности пользователей
Завершив планирование спринта, команда формирует список описаний функциональности пользователей, которые она обязуется реализовать в течение спринта.Эти описания функциональности разбиваются на задачи.В момент начала спринта каждый участник команды выбирает себе одну из задач.После завершения этой задачи участник команды обновляет ее состояние и выбирает следующую задачу.Таким образом команда обрабатывает все задачи, необходимые для реализации описаний функциональности пользователей из списка невыполненных работ спринта.Член группы может указать выполненные задачи при возврате кода.Дополнительные сведения см. в разделе Сопоставление рабочих элементов с наборами изменений.
Дополнительные сведения о назначении задач и обновлении их состояния см. в разделе Задача (гибкая разработка).
Методология Scrum в первую очередь основана на взаимодействии людей, а не на формальных процессах. Благодаря этому достигается ясное понимание всех зависимостей и обеспечивается обмен полученными знаниями и опытом и эффективное внедрение изменений планов.Команда должна ежедневно проводить короткое Scrum-собрание, на котором каждый участник команды сообщает о работе, выполненной за предыдущий день и запланированной на текущий день. Кроме того, он докладывает обо всех проблемах или препятствиях, которые могут отрицательно сказаться на ходе работы или требуют помощи со стороны других участников команды.Дополнительные сведения см. в разделе Ежедневное Scrum-собрание.
В своей книге "Extreme Programming Explained" Кент Бек (Kent Beck) рассказывает о том, почему гораздо эффективнее исправлять ошибки на ранних этапах работы.Учитывая этот факт, команда должна понимать приоритеты заказчика.Возможно, заказчик больше ценит качество продукта, чем поддержку большего количества функций.Владелец продукта обязан знать такого рода информацию, поскольку заказчики контролируют рабочий процесс команды.
Программное обеспечение, создаваемое командой Scrum, не должно содержать ошибок.Однако команды, скорее всего, будут находить ошибки в своих проектах.Обрабатывая ошибки, команда должна понимать, что быстрее и дешевле сразу исправлять найденные ошибки, чем откладывать их исправление на более поздние сроки.При обнаружении ошибок команде следует исправлять их немедленно.Если команда не может устранить ошибку в тот же день, когда она была найдена, участник команды должен создать рабочий элемент ошибки в Visual Studio ALM и исправить ее до окончания спринта.
Дополнительные сведения см. в разделе Ошибка (гибкая разработка).
Отслеживание хода выполнения спринта
Команда может отслеживать ход выполнения спринта для проверки того, что работа выполняется должным образом и соответствует условиям приемки.Для отслеживания хода выполнения работ в течение спринта команды чаще всего используют отчет "Выработка".Платформа MSF для гибкой разработки программного обеспечения версии 5.0 предоставляет набор отчетов, которые могут использоваться командами для отслеживания хода выполнения спринта.
Отчет "Выработка и темп работ" (гибкая разработка)
Отчет "Индикаторы качества построения"
Отчет "Ход выполнения плана тестирования"
Отчет "Ход выполнения описаний функциональности" (гибкая разработка)
Команды часто обнаруживают, что для выполнения задачи им требуется больше или меньше времени, чем они оценивали во время собрания по планированию выпуска.Этот тип отклонения является типичным.Можно записать эти сведения, указав фактическое время, затраченное командой на выполнение задачи.
В ходе выполнения спринта команда может обнаружить незапланированную работу, необходимую для реализации описания функциональности пользователя.В этом случае команда должна создать задачу, оценить ее и определить, может ли она выполнить эту задачу за время, оставшееся в спринте.Если задачу можно выполнить, команде следует продолжить спринт.Если завершить задачу в рамках спринта невозможно, необходимо обсудить дальнейшее продолжение работы с владельцем продукта.Владелец продукта и команда могут разрешить проблему, внеся следующие изменения.
Снижение условий приемки для пользовательского описания функциональности, что сделает данную задачу необязательной.
Удаление пользовательского описания функциональности из списка невыполненных работ спринта.
Отмена спринта.
Завершение спринта
По мере приближения завершения спринта необходимо убедиться в том, что все описания функциональности пользователей или требования полностью выполняются командой.Например, необходимо проверить, что приемочные тесты проходят успешно, и каждое описание функциональности пользователей отвечает установленным командой критериям.Дополнительные сведения о том, что понимается под полным выполнением, см. на следующей веб-странице: Mitch Lacey & Associates, Inc.
Отчет "Состояние ошибки"
Отчет "Тенденции ошибок"
В последний день спринта команда продемонстрирует реализованные описания функциональности пользователей владельцу продукта и, возможно, заказчикам.Владелец продукта и заказчики принимают решение о приемке по каждому описанию функциональности пользователя.Дополнительные сведения см. в разделе Краткое собрание по проверке результатов.
После проверки заказчиков команда проведет ретроспективное собрание.Дополнительные сведения см. в разделе Ретроспективное собрание.
