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

Модели ЖЦ.

Жизненный цикл программного продукта.

Жизненный цикл (ЖЦ) – это период от момента появления идеи создания ПО до момента завершения его поддержки.

  1. Постановка задачи (Техническое задание).
  2. Анализ требований и разработка спецификаций (Эскизный проект).
  3. Проектирование (Технический проект).
  4. Реализация (Рабочий проект).
  5. Сопровождение (отсутствует в современном стандарте).

Стандарт ISO/IEC 12207: 1995 “Information Technology – Software Life Cycle Process”. Содержит этапы: подготовительная работа (выбор моделей ЖЦ, методов, средств разработки, составление плана работ); анализ требований к системе; проектирование архитектуры; анализ требований к программному обеспечению; проектирование архитектуры ПО; детальное проектирование ПО; кодирование и тестирование ПО; интеграция ПО; квалификационное тестирование ПО; интеграция системы; квалификационное тестирование системы; установку ПО; приёмку ПО.

  1. Каскадная (водопадная) модель.

Постановка задачи, анализ требований, проектирование, кодирование, тестирование, модификация.

  1. КМ с промежуточным контролем.
  2. Спиральная модель.

Постановка задачи, анализ, проектирование, реализация. Прототипирование.

  1. RAD – технология.

RAD (от англ. rapid application development — быстрая разработка приложений) — концепция создания средств разработки программных продуктов, уделяющая особое внимание быстроте и удобству программирования, созданию технологического процесса, позволяющего программисту максимально быстро создавать компьютерные программы. С конца XX века RAD получила широкое распространение и одобрение. Концепцию RAD также часто связывают с концепцией визуального программирования.

  • Инструментарий должен быть нацелен на минимизацию времени разработки.
  • Создание прототипа для уточнения требований заказчика.
  • Цикличность разработки: каждая новая версия продукта основывается на оценке результата работы предыдущей версии заказчиком.
  • Минимизация времени разработки версии, за счёт переноса уже готовых модулей и добавления функциональности в новую версию.
  • Команда разработчиков должна тесно сотрудничать, каждый участник должен быть готов выполнять несколько обязанностей.
  • Управление проектом должно минимизировать длительность цикла разработки.

5. Экстремальное программирование.

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

– Разработка через тестирование (Test driven development) – техника программирования, при которой модульные тесты для программы или её фрагмента пишутся до самой программы (англ. test-first development) и, по существу, управляют её разработкой. Является одной из основных практик экстремального программирования;

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

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

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

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

– Непрерывная интеграция (Continuous Integration) – это практика разработки программного обеспечения, которая заключается в выполнении частых автоматизированных сборок проекта для скорейшего выявления и решения интеграционных проблем;

– Рефакторинг (Design Improvement, Refactor) – процесс полного или частичного преобразования внутренней структуры программы при сохранении её внешнего поведения.

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

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

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

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

– Коллективное владение кодом (Collective code ownership) или выбранными шаблонами проектирования (Collective patterns ownership) – каждый член команды несёт ответственность за весь исходный код, каждый вправе вносить изменения в любой участок программы

– Стандарт кодирования (Coding standard or Coding conventions) – набор правил и соглашений, используемых при написании исходного кода на некотором языке программирования

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

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


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: