
- •Case –технологии
- •2.4.1 Что такое case-средства
- •2.4.2 Общие требования к технологии и методологии
- •2.4.3 Классификация case-средств
- •2.5 Экстремальное программирование
- •Игра в планирование
- •Тестирование до начала разработки
- •Стандарты кодирования
- •Постоянная переработка
- •Продолжающаяся интеграция
- •Заказчик на рабочей площадке
- •Быстрый выпуск версий
- •Сорокачасовая рабочая неделя
- •Метафора системы
Метафора системы
Экстремальное программирование обеспечило нас простым, но эффективным инструментарием для освоения разрабатываемой системы. В частности, первое представление о системе может быть получено посредством метафоры, или сравнения с существующими аналогами. Для понимания системы используется сравнение с наиболее похожим уже существующим продуктом, потому что легче запомнить мелкие отличия, чем строить в уме всю систему по кусочкам заново.
Заключение
Эти собраные воедино методики, вобрав в себя лучшее из уже существующих методологий и предложив кое-что новое: рефакторинг, парное программирование и т.д., формируют новую методологию, заметно повышающую качество продукта и приближающую время его выпуска. Основное достоинство экстремального программирования это:
прогнозируемость и сведение к минимуму затрат на разработку;
предоставление заказчику того продукта, который он желает получить на момент выпуска;
общение и обучение разработчиков без отрыва от производства.
Более строгие подходы требуют всеобъемлющего предварительного анализа разрабатываемой области. В определенных случаях это оправдано, хотя и дороже обходится. Экстремальное программирование рассчитано на широкого пользователя. Это молодая, быстро развивающаяся методология разработки программного обеспечения. Она получает признание и широкое распространение благодаря своей простоте, рациональности и максимальному упрощению бюрократических процедур.
ХР неприменимо для крупных проектов, зато прекрасно работает для небольшой команды
(3-10человек) при постоянно меняющемся ТЗ. Еще одним критерием применяемости ХР является особенность предметной области, позволяющая создать автоматизированные тесты. Иногда для этого приходится переформулировать задание или преобразовать систему.