Студопедия

Главная страница Случайная лекция


Мы поможем в написании ваших работ!

Порталы:

БиологияВойнаГеографияИнформатикаИскусствоИсторияКультураЛингвистикаМатематикаМедицинаОхрана трудаПолитикаПравоПсихологияРелигияТехникаФизикаФилософияЭкономика



Мы поможем в написании ваших работ!




Понятие экстремального программирования (XP-процесс)

Экстрема́льное программи́рование (Extreme Programming, XP) — одна из гибких методологий разработки программного обеспечения. Авторы методологии — Кент Бек, Уорд Каннингем, Мартин Фаулер и другие, 1999 год.

XP-программирование - это облегченное программирование для средних и малых ИС.

Для больших ИС применение ХР не рекомендуется в связи с необходимостью глубокой проработки стратегии построения системы на начальном этапе.

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

ХР процесс включает большое количество итераций проектирования и разработки ИС. При этом каждая итерация включает следующую последовательность шагов:

  1. кодирование;
  2. тестирование;
  3. выслушивание заказчика;
  4. проектирование следующей итерации.

Большинство принципов ХР-программирования основано на здравом смысле и ориентировано только на выполнение требований заказчика. При этом разработчик не ставит перед собой цель разработки универсальной долгопринимаемой программы, а старается в максимально сжатые сроки выполнить первоочередные требования заказчика, а только затем в процесс сопровождения ИС дорабатывать дополнительные функции. Как правило, первый вариант ИС выполняет 1-2 функции, а в последующих вариантах добавляется последующие функции (по 1-2 функции).

ХР-программирование включает 12 методов, многие из которых желательно применять и в других технологиях. 12 методов можно сгруппировать на 4 категории:

  1. Короткий цикл обратной связи (Fine scale feedback)
  • Разработка через тестирование (Test driven development) – непрерывное написание тестов для модулей, которые должны выполняться безупречно. Заказчики тоже пишут тесты для демонстрации законченности функций. Основной принцип: «тестируй, а затем кодируй». Этот принцип означает, что входным критерием для доработки программы является отказавший тестовый вариант.

Одним из минусов ХР-программирования, который, однако, позволяет реализовать саму идею ХР, является тестирование не на всем допустимом множестве исходных данных, а только на подмножестве данных, реально применяемых заказчиком (является базовым принципов ХР-программирования).

  • Игра в планирование (Planning game) – быстрое определение направления следующей итерации ПО путем оценки приоритетов системы и технических возможностей.
  • Заказчик всегда рядом (Whole team, Onsite customer) – в группе разработчиков всегда должен находиться представитель заказчика, который постоянно готов отвечать на возникшие вопросы.
  • Парное программирование (Pair programming) – весь код пишется двумя программистами, работающими на одном компьютере (резко повышает качество программирования).
  1. Непрерывный, а не пакетный процесс
  • Непрерывная интеграция (Continuous Integration) – система интегрируется и строится много раз в день по мере завершения каждой задачи.
  • Рефакторинг (Design Improvement, Refactor) – система реструктуризируется без изменения ее внешнего поведения. Её цель устранить дублирование, улучшить взаимодействие и добавить гибкость системы (является базовым принципов ХР-программирования).
  • Частые небольшие релизы (Small Releases) – смена релизов с периодом от 2 до 4 недель.
  1. Понимание, разделяемое всеми
  • Простота (Simple design) – проектирование выполняется настолько быстро, насколько это возможно на данном этапе.
  • Метафора системы (System metaphor) – вся разработка выполняется на основе простой общедоступной информации о том, как работает вся система.
  • Коллективное владение кодом (Collective code ownership) или выбранными шаблонами проектирования (Collective patterns ownership) – любой разработчик может улучшить код ИС в любое время.
  • Стандарт кодирования (Coding standard or Coding conventions) – всеми разработчиками должны выдерживаться единые правила, обеспечивающие одинаковое представление программного кода во всех частях ИС.
  1. Социальная защищенность программиста (Programmer welfare):
  • 40-часовая рабочая неделя (Sustainable pace, Forty hour week) – нельзя её удваивать за счёт сверхурочных работ (резко снижается качество программирования).

 


<== предыдущая страница | следующая страница ==>
Rad-технология разработки информационных систем | СИНДРОМ ХОРОШЕЙ ДЕВОЧКИ

Дата добавления: 2015-07-26; просмотров: 207; Нарушение авторских прав




Мы поможем в написании ваших работ!
lektsiopedia.org - Лекциопедия - 2013 год. | Страница сгенерирована за: 0.003 сек.