Введение

Процесс разработки программного обеспечения

Рациональный унифицированный процесс (RUP) — это итеративная структура разработки программного обеспечения, созданная компанией Rational Software Corporation, которая с 2003 года является подразделением IBM. RUP — это не единый, жёстко регламентированный процесс, а скорее гибкая структура, предназначенная для адаптации организациями разработки и командами программных проектов, которые выбирают элементы процесса, соответствующие их потребностям. RUP является конкретной реализацией Унифицированного процесса.

Четыре этапа жизненного цикла проекта

В рамках RUP определен жизненный цикл проекта, состоящий из четырех фаз. Эти фазы позволяют представить процесс на высоком уровне, аналогично представлению проекта, реализованного по каскадной модели ("водопад"), хотя суть процесса заключается в итерациях разработки, которые присутствуют во всех фазах. Кроме того, каждая фаза имеет одну ключевую цель и контрольную точку в конце, свидетельствующую о достижении этой цели. Визуальное представление фаз и дисциплин RUP во времени называется диаграммой RUP.

Фаза строительства

Основная цель – создание программной системы. На этом этапе основное внимание уделяется разработке компонентов и других функций системы. Именно на этой фазе выполняется большая часть программирования. В крупных проектах может быть проведено несколько итераций разработки, чтобы разбить варианты использования на управляемые сегменты и создать демонстрационные прототипы.

Переходный этап

Основная цель – перевести систему из стадии разработки в стадию эксплуатации, сделав её доступной и понятной для конечного пользователя. Деятельность на этом этапе включает в себя обучение конечных пользователей и специалистов по поддержке, а также бета-тестирование системы для подтверждения соответствия её ожиданиям пользователей. Система также проходит этап оценки, в ходе которого разработчики, не выполняющие необходимую работу, заменяются или отстраняются. Продукт проверяется на соответствие уровню качества, установленному на этапе инициации. Если все цели достигнуты, достигается веха выпуска продукта, и цикл разработки завершается.

Продукт IBM Rational Method Composer

Продукт IBM Rational Method Composer — это инструмент для разработки, настройки, просмотра и публикации процессов. Подробности см. в документации IBM Rational Method Composer и в проекте Eclipse Process Framework (EPF) с открытым исходным кодом.

Сертификация

В январе 2007 года был выпущен новый экзамен для получения сертификации RUP для IBM Certified Solution Designer – Rational Unified Process 7.0, заменяющий предыдущую версию курса IBM Rational Certified Specialist – Rational Unified Process. Новый экзамен проверяет не только знания содержания RUP, но и элементы структуры процесса. Для успешной сдачи нового экзамена по сертификации RUP необходимо сдать тест IBM 839: Rational Unified Process v7.0. На выполнение экзамена из 52 вопросов отводится 75 минут. Проходной балл составляет 62%.

Шесть лучших практик

Для программных проектов определены шесть лучших практик разработки программного обеспечения, позволяющих минимизировать ошибки и повысить производительность. Это:

Разработка итерациями. В идеале, лучше знать все требования заранее, однако часто это невозможно. Существуют различные процессы разработки программного обеспечения, направленные на минимизацию затрат на разных этапах разработки.

Управление требованиями. Всегда учитывайте требования, предъявляемые пользователями.

Использование компонентов. Разбиение сложного проекта не только рекомендуется, но и фактически неизбежно. Это позволяет тестировать отдельные компоненты до их интеграции в более крупную систему. Кроме того, повторное использование кода – значительное преимущество, которое легче реализовать с помощью объектно-ориентированного программирования.

Визуальное моделирование. Используйте диаграммы для представления основных компонентов, пользователей и их взаимодействия. "UML" (Unified Modeling Language – унифицированный язык моделирования) – один из инструментов, облегчающих эту задачу.

Проверка качества. Тестирование должно быть неотъемлемой частью проекта на любом этапе. По мере развития проекта тестирование становится более трудоемким, но должно оставаться постоянным фактором при создании любого программного продукта.

Контроль изменений. Многие проекты разрабатываются несколькими командами, часто в разных местах, с использованием различных платформ и т.д. Поэтому важно обеспечить синхронизацию и постоянную проверку любых изменений, вносимых в систему. (См. Непрерывная интеграция).