
- •Процесс оценки проекта на основе размерно-(функционально-)ориентированных метрик
- •Cocomo 81: принципы оценки, иерархия , типы по
- •Cocomo 2: модель композиции приложения
- •7.Cocomo 2: модель раннего этапа проектирования
- •8.Cocomo 2: модель этапа постархитектуры
- •9. Оценки на основе диаграммы вариантов использования
- •10. Case-средства: понятие, история появления и развития
- •11. Case-средства: понятие, структура и состав
- •12. Case-средства: понятие, классификация
- •Унифицированный процесс: понятие, измерения
- •14. Унифицированный процесс: понятие, управление риском
- •15. Этап начало унифицированного процесса: цели, действия, артефакты, веха
- •Этап развитие унифицированного процесса: цели, действия, артефакты, веха
- •Этап конструирование унифицированного процесса: цели, действия, артефакты, веха
- •Этап переход унифицированного процесса: цели, действия, артефакты, веха
- •Процесс «Управление проектом»: цели и содержание, роли и артефакты
- •Процесс «Бизнес-моделирование»: цели и содержание, роли и артефакты
- •Процесс «Управление требованиями»: цели и содержание, роли и артефакты
- •22.Процесс «Анализ и проектирование»: цели и содержание, роли и артефакты
- •23.Процесс «Реализация»: цели и содержание, роли и артефакты
- •24. Процесс «Тестирование»: цели и содержание, роли и артефакты
- •25.Процесс «Развертывание»: цели и содержание, роли и артефакты
- •26. Проблемы классического похода к разработке по и причины появления гибких методологий.
- •27. Манифест и принципы гибких методологий
- •28. Преимущества и область применения гибких методологий
- •29. Экстремальное программирование: понятие, базис xp
- •30. Экстремальное программирование: понятие, структура xp цикла разработки
- •31. Scrum процесс: понятие, роли scrum
- •32. Scrum процесс: понятие, мероприятия scrum
- •33. Scrum процесс: понятие, артефакты scrum
- •34. Scrum процесс: этапы командообразования в scrum
- •35. Scrum процесс: уровни команд в scrum
- •36. Scrum процесс: покер-планирование.
- •37. Scrum процесс: диаграмма сгорания и ее использование.
- •38. Scrum процесс: доска задач и ее использование
- •39.Разработка, управляемая тестированием (Test Driven Development)
- •40.Разработка, управляемая поведением (Behavior Driven Development)
29. Экстремальное программирование: понятие, базис xp
Экстремальное программирование (англ. Extreme Programming, XP) - одна из гибких методологий разработки программного обеспечения.
Основная идея ХР — устранить высокую стоимость изменения, характерную для приложений с использованием объектов, паттернов* и реляционных баз данных. Таким образом ХР - это упрощенный, эффективный, гибкий, предсказуемый, научно обоснованный и весьма приятный способ разработки программного обеспечения, предусматривающий низкий уровень риска.
Базис ХР образуют перечисленные ниже двенадцать методов могут быть объединены в четыре группы:
короткий цикл обратной связи;
непрерывный, а не пакетный процесс;
понимание, разделяемое всеми;
социальная защищенность программиста.
Методы XP-процесса:
Игра планирования (Planning game) — быстрое определение области действия следующей реализации путем объединения деловых приоритетов и технических оценок.
Частая смена версий (Small releases) — быстрый запуск в производство простой системы. Новые версии реализуются в очень коротком (двухнедельном) цикле.
Метафора (Metaphor) — вся разработка проводится на основе том, как работает вся система.
Простое проектирование (Simple design) — проектирование выполняется настолько просто, насколько это возможно в данный момент.
Тестирование (Testing) — непрерывное написание тестов для модулей, которые должны выполняться безупречно; заказчики пишут тесты для демонстрации законченности функций.
Реорганизация (Refactoring) — система реструктурируется, но ее поведение не изменяется; цель — устранить дублирование, улучшить взаимодействие, упростить систему или добавить в нее гибкость.
Парное программирование (Pair programming) — весь код пишется двумя программистами, работающими на одном компьютере.
Коллективное владение кодом (Collective ownership) — разработчик может улучшать в любое время любой код системы.
Непрерывная интеграция (Continuous integration) — система интегрируется и строится много раз в день, по мере завершения каждой задачи. Непрерывное регрессионное тестирование, то есть повторение предыдущих тестов, гарантирует, что изменения требований не приведут к регрессу функциональности.
40-часовая неделя (40-hour week) — как правило, работают не более 40 часов в неделю. Нельзя удваивать рабочую неделю за счет сверхурочных работ.
Локальный заказчик (On-site customer) — в группе все время должен находиться представитель заказчика, действительно готовый отвечать на вопросы разработчиков.
Стандарты кодирования (Coding standards) — должны выдерживаться правила, обеспечивающие одинаковое представление программного кода во всех частях программной системы.
30. Экстремальное программирование: понятие, структура xp цикла разработки
Экстремальное программирование (англ. Extreme Programming, XP) - одна из гибких методологий разработки программного обеспечения.
Основная идея ХР — устранить высокую стоимость изменения, характерную для приложений с использованием объектов, паттернов* и реляционных баз данных. Таким образом ХР - это упрощенный, эффективный, гибкий, предсказуемый, научно обоснованный и весьма приятный способ разработки программного обеспечения, предусматривающий низкий уровень риска.
Структура XP цикла разработки: Жизненный цикл проекта в XP состоит из последовательности релизов. Каждый релиз – это полноценная версия продукта, которую может использовать заказчик, и содержащая дополнительную функциональность по сравнению с предыдущим релизом. Релиз появляется в результате одной или нескольких итераций, длящихся от одной до четырех недель. В XP не рекомендуется тратить много времени на планирование; сам процесс планирования называется игрой (planning game). Подробный план составляется только на очередную итерацию и ближайшие один-два релиза.
Рассмотрим структуру «идеального» ХР-процесса. Основным структурным элементом процесса является ХР-реализация, в которую многократно вкладывается базовый элемент — ХР-итерация. В состав ХР-реализации и ХР-итерации входят три фазы — исследование, блокировка, регулирование. Исследование (exploration) — это поиск новых требований (историй, задач), которые должна выполнять система. Блокировка (commitment) — выбор для реализации конкретного подмножества из всех возможных требований (иными словами, планирование). Регулирование (steering) — проведение разработки, воплощение плана в жизнь.
ХР рекомендует: первая реализация должна иметь длительность 2-6 месяцев, продолжительность остальных реализаций — около двух месяцев, каждая итерация длится приблизительно две недели, а численность группы разработчиков не превышает 10 человек.
Процесс инициируется начальной исследовательской фазой.
Фаза исследования, с которой начинается любая реализация и итерация, имеет клапан «пропуска», на этой фазе принимается решение о целесообразности дальнейшего продолжения работы.
Предполагается, что длительность первой реализации составляет 3 месяца, длительность второй — седьмой реализаций — 2 месяца. Вторая — седьмая реализации образуют период сопровождения, характеризующий природу XP-проекта. Каждая итерация длится две недели, за исключением тех, которые относят к поздней стадии реализации — «запуску в производство».
Наиболее трудна первая реализация — пройти за три месяца от обычного старта к поставке заказчику системы промышленного качества очень сложно.