- •1. Понятие проекта в сфере разработки по.
- •2. «Железный треугольник».
- •3. Отличия разработки по от других отраслей.
- •4. Проект и организационная структура компании. Различия между функциональной и проектной структурой.
- •5. Матричная организация компании. «Слабая», «сбалансированная» и «жесткая» матрицы.
- •6. Модель зрелости процессов создания по (cmm – Capability Maturity Model).
- •7. Жизненный цикл проекта. Стадии жизненного цикла проекта.
- •8. Модель «Code & Fix».
- •9. Модель водопада. Стадии, преимущества, недостатки.
- •11. Итеративная модель. Стадии, преимущества, недостатки.
- •12. Основные отличия итеративного подхода от модели водопада.
- •13. Методология rup.
- •14. Спиральная модель.
- •15. Технология Microsoft Solutions Framework.
- •16. Понятие «экстремального программирования» (Extreme Programming - xp). Основные особенности хр.
- •17. Практики xp. Планирование
- •Тестирование
- •Парное программирование
- •Рефакторинги
- •Простой дизайн
- •18. Планирование и оценка проекта. Основные этапы/действия.
- •19. Метод Дельфи оценки проекта.
- •20. Экспертный метод оценки проекта. Отличия от метода Дельфи.
- •21. Модель оценки стоимости проекта сосомо. Уровни сосомо.
- •22. Модель сосомо II. Отличия от сосомо.
- •23. Использование сосомо/сосомо II для оценки многокомпонентного продукта.
- •24. Метод функциональных точек. Основные стадии.
- •25. Определение типа, области оценки, границ продукта и данных проекта по методу функциональных точек. Определение типа оценки
- •Определение области оценки и границ продукта
- •26. Методика подсчета функциональных точек, связанных с данными. Подсчет функциональных точек, связанных с данными
- •27. Методика подсчета функциональных точек, связанных с транзакциями. Подсчет функциональных точек, связанных с транзакциями
- •28. Методика расчета количества выровненных функциональных точек.
- •29. Оценка трудоемкости проекта по методике cocomo II. Факторы масштаба и множители трудоемкости cocomo II. Оценка длительности проекта по методике cocomo II.
- •30. Метод оценки проекта «по выполненному объему».
- •31. Структура управления рисками проекта.
- •32. Планирование управления рисками: входы, инструменты и методы, выходы.
16. Понятие «экстремального программирования» (Extreme Programming - xp). Основные особенности хр.
Экстремальное программирование (англ. Extreme Programming, XP) — это упрощенная методология организации разработки программ для небольших и средних по размеру команд разработчиков, занимающихся созданием программного продукта в условиях неясных или быстро меняющихся требований. ХР-группу образуют до 10 сотрудников, которые размещаются в одном помещении.
Основная идея ХР — устранить высокую стоимость изменения, характерную для приложений с использованием объектов, паттернов и реляционных баз данных. ХР-группа имеет дело с изменениями требований на всем протяжении итерационного цикла разработки, причем цикл состоит из очень коротких итераций. Четырьмя базовыми действиями в ХР-цикле являются: кодирование, тестирование, выслушивание заказчика и проектирование. Динамизм обеспечивается с помощью четырех характеристик: непрерывной связи с заказчиком (и в пределах группы), простоты (всегда выбирается минимальное решение), быстрой обратной связи (с помощью модульного и функционального тестирования), смелости в проведении профилактики возможных проблем.
Базис ХР образуют перечисленные ниже двенадцать методов:
Игра планирования (Planning game) — быстрое определение приблизительного плана работы и его постоянное обновление по мере того, как условия задачи становятся всё более четкими. Артефактами игры в планирование являются пожелания заказчика (customer stories) и приблизительный план работы по выпуску следующих одной или нескольких небольших версий продукта.
Частая смена версий (Small releases) — быстрый запуск в производство простой системы. Новые версии реализуются в очень коротком (двухнедельном) цикле.
Метафора (Metaphor) — это аналог того, что в большинстве методик называется архитектурой. Метафора системы даёт команде представление о том, каким образом система работает в настоящее время, в каких местах добавляются новые компоненты, и какую форму они должны принять.
Простое проектирование (Simple design) — проектирование выполняется настолько просто, насколько это возможно в данный момент.
Тестирование (Testing) — непрерывное написание тестов для модулей.
Реорганизация (Refactoring) — это методика улучшения кода без изменения его функциональности.
Парное программирование (Pair programming) — весь код пишется двумя программистами, работающими на одном компьютере.
Коллективное владение кодом (Collective ownership) — любой разработчик может улучшать любой код системы в любое время.
Непрерывная интеграция (Continuous integration) — система интегрируется и строится много раз в день по мере завершения каждой задачи. Непрерывное повторение предыдущих тестов, гарантирует, что изменения требований не приведут к регрессу функциональности.
40-часовая неделя (40-hour week) — как правило, работают не более 40 часов в неделю. Нельзя удваивать рабочую неделю за счет сверхурочных работ.
Локальный заказчик (On-site customer) — в группе все время должен находиться представитель заказчика, действительно готовый отвечать на вопросы разработчиков.
Стандарты кодирования (Coding standards) — должны выдерживаться правила, обеспечивающие одинаковое представление программного кода во всех частях программной системы.