Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Kurilenko_otvetnik.docx
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
270.3 Кб
Скачать

22. Гибкая методология разработки программного обеспечения

  1. Введение

  2. Принципы и ценности agile, включенные в манифест agile

  3. Жизненный цикл agile

  4. Экстремальное программирование (Методология XP) : особенности, преимущества, недостатки.

  5. Методология OpenUP

  6. Методология FDD

  7. Методология SCRUM

Гибкая методология разработки (англ. Agile software development) — это концептуальный каркас, в рамках которого выполняется разработка программного обеспечения. Существует несколько подобных методик.

Большинство гибких методологий нацелены на минимизацию рисков, путём сведения разработки к серии коротких циклов, называемых итерациями, которые обычно длятся две-три недели. Каждая итерация сама по себе выглядит как программный проект в миниатюре, и включает все задачи, необходимые для выдачи мини-прироста по функциональности: планирование, анализ требований, проектирование, кодирование, тестирование и документирование. Хотя отдельная итерация, как правило, недостаточна для выпуска новой версии продукта, подразумевается, что гибкий программный проект готов к выпуску в конце каждой итерации. По окончании каждой итерации, команда выполняет переоценку приоритетов разработки.

Agile-методы делают упор на непосредственное общение лицом к лицу. Большинство agile-команд расположены в одном офисе, иногда называемом bullpen. Как минимум, она включает и «заказчиков» (product owner - заказчик или его полномочный представитель, определяющий требования к продукту; эту роль может выполнять менеджер проекта, бизнес-аналитик или клиент). Офис может также включать тестировщиков, дизайнеров интерфейса, технических писателей и менеджеров.

Основной метрикой agile-методов является рабочий продукт. Отдавая предпочтение непосредственному общению, agile-методы уменьшают объем письменной документации, по сравнению с другими методами. Это привело к критике этих методов, как недисциплинированных.

OpenUP — это итеративно-инкрементальный метод разработки ПО. Позиционируется как легкий и гибкий вариант RUP.

В основу OpenUP положены следующие основные принципы:

  • Совместная работа с целью согласования интересов и достижения общего понимания;

  • Развитие с целью непрерывного обеспечения обратной связи и совершенствования проекта;

  • Концентрация на архитектурных вопросах на ранних стадиях для минимизации рисков и организации разработки;

  • Выравнивание конкурентных преимуществ для максимизации потребительской ценности для заинтересованных лиц.

OpenUP делит жизненный цикл проекта на четыре фазы: начальная фаза, фазы уточнения, конструирования и передачи. Жизненный цикл проекта обеспечивает предоставление заинтересованным лицам и членам коллектива точек ознакомления и принятия решений на протяжении всего проекта. Это позволяет эффективно контролировать ситуацию и вовремя принимать решения о приемлемости результатов. План проекта определяет жизненный цикл, а конечным результатом является окончательное приложение.

Feature Driven Development(FDD) - итерационная функционально-ориентированная разработка программного обеспечения(ПО). Это одна из методологий гибкой разработки. FDD представляет собой объединение нескольких наиболее распространенных методик в единое целое. Данные методики определяются с точки зрения клиент-значной функциональности (свойств). Основная цель - предоставление работающего программного обепечения,разделяя время разработки ПО на короткие итерации, каждая из которых служит для проработки определенной части функциональности системы.

FDD включает пять процессов, последние два из которых повторяются для каждой функции:

  • Элемент нумерованного списка

  • Разработка общей модели

  • Составление списка необходимых функций системы

  • Планирование работы над каждой функцией

  • Проектирование функции

  • Конструирование функции

XP. Основные приёмы XP

Двенадцать основных приёмов экстремального программирования (по первому изданию книги Extreme programming explained) могут быть объединены в четыре группы:

  • Короткий цикл обратной связи (Fine scale feedback)

    • Разработка через тестирование (Test driven development)

    • Игра в планирование (Planning game)

    • Заказчик всегда рядом (Whole team, Onsite customer)

    • Парное программирование (Pair programming)

  • Непрерывный, а не пакетный процесс

    • Непрерывная интеграция (Continuous Integration)

    • Рефакторинг (Design Improvement, Refactor)

    • Частые небольшие релизы (Small Releases)

  • Понимание, разделяемое всеми

    • Простота (Simple design)

    • Метафора системы (System metaphor)

    • Коллективное владение кодом (Collective code ownership) или выбранными шаблонами проектирования (Collective patterns ownership)

    • Стандарт кодирования (Coding standard or Coding conventions)

  • Социальная защищенность программиста (Programmer welfare):

    • 40-часовая рабочая неделя (Sustainable pace, Forty hour week)

Scrum — методология управления разработкой информационных систем для гибкой разработки программного обеспечения. Scrum чётко делает акцент на качественном контроле процесса разработки

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]