Статья была опубликована на сайте www.cmcons.ru
IBM Rational Unified Process — это:
RUP предлагает разработчикам не жесткие правила, регламентирующие выполнение всех действий в ходе разработки, а набор достаточно гибких методов и подходов, из которых разработчик может выбирать то, что более всего соответствует его задачам и особенностям проекта.
Основными принципами RUP являются итерационная разработка, управление процессом на основе прецедентов использования и ориентация на архитектуру.
IBM Rational Unified Process — это итерационный процесс. Создавать современные сложные программные системы последовательно, т.е. сначала определять все проблемы, затем принимать все проектные решения, формировать ПС и, наконец, проверять изделие, невозможно. Такой подход (называемый каскадным подходом или "водопадом") в современной информационной индустрии не оправдывает себя, поскольку его использование часто приводит к непредсказуемому увеличению проектной стоимости и сроков выпуска ПС. Эффективной альтернативой "водопаду" служит итерационный процесс разработки ПС.
При итерационном процессе каждая из фаз процесса разработки ПС состоит из итераций, целью которых является последовательное осмысление стоящих проблем, наращивание эффективности решений и снижение риска потенциальных ошибок в проекте. На выходе каждой итерации создается законченная версия работающего программного продукта.
При таком подходе можно гибко учитывать новые требования или производить тактические изменения в деловых целях, такой подход позволяет выявлять проблемы и разрешать их на самых ранних этапах разработки, что связано с меньшими затратами.
Итерация — это законченный цикл разработки, приводящий к выпуску конечного продукта или некоторой его сокращенной версии, которая расширяется от итерации к итерации, чтобы, в конце концов, стать законченной системой.
IBM Rational Unified Process — процесс, управляемый на основе прецедентов. Это означает, что в качестве метода описания функциональных требований к системе, а также в качестве естественной единицы для дальнейшего планирования и оценки выполнения работ используются сценарии использования. Сценарии использования позволяют легко выявлять реальные потребности будущих пользователей системы и отслеживать полноту описания этих требований. Они гарантируют выполнения требований заказчика к ПС. Кроме того, использование завершенных сценариев в качестве единицы измерения прогресса помогает избежать неадекватной оценки степени выполнения проекта исполнителем.
IBM Rational Unified Process предполагает разработку, реализацию и тестирование архитектуры на самых ранних стадиях выполнения проекта. Такой подход позволяет устранять самые опасные риски, связанные с архитектурой, на ранних стадиях разработки. Благодаря ему удается избежать существенных переработок в последний момент, если вдруг выяснится, что выбранное решение не обеспечивает, к примеру, выполнение требований к производительности системы.
RUP создавался по методике, используемой при проектировании ПС. В частности, моделирование производилось с помощью Software Process Engineering Metamodel (SPEM) — стандарта моделирования процессов, основанного на Unified Modeling Language (UML). У процесса есть два измерения: Динамическая структура. Горизонтальное измерение представляет собой динамическую структуру или временное измерение процесса. Оно показывает, как процесс, выраженный в форме циклов, фаз, итераций и вех, развертывается в ходе жизненного цикла проекта.
Статическая структура. Вертикальное измерение представляет собой статическую структуру процесса. Оно описывает, как элементы процесса — задачи, дисциплины, артефакты и роли — логически группируются в дисциплины или рабочие процессы (workflows).
Динамическая структура RUP состоит из четырех фаз: Inception, Elaboration, Construction и Transition. Фазы могут подразделяться на итерации. Переход с фазы на фазу возможен только после выполнения задач фазы и представляет собой контрольную точку (milestone) процесса.
Статическая структура RUP состоит из дисциплин, в которые группируются работы, задачи, артефакты и роли. Для описания осмысленной последовательности выполнения работ и задач используются рабочие процессы. Они описывают кто, что, как и когда выполняет в процессе. В RUP входят 6 основных дисциплин:
И три вспомогательные:
В отличие от каскадного подхода ("водопада"), в RUP все дисциплины выполняются практически во всех фазах жизненного цикла ПС. Однако, в зависимости от фазы, меняются текущие цели проекта и соотношение между объемами работ, соответствующих различным дисциплинам.
Так фаза Inception посвящена определению границ системы и устранению экономических рисков (в частности, именно здесь принимается решение о том, имеет ли смысл продолжать разработку). Основное внимание в ней уделяется моделированию бизнес процессов и работе с требованиями. В этой фазе, как правило, осуществляется проектирование и реализация первого прототипа системы.
Фаза Elaboration, посвящена тщательной проработке требований и выбору основных проектных решений. В этой фазе концептуальный прототип превращается в реальную систему, позволяющую протестировать и оценить выбранные архитектурные решения. В результате, к концу фазы команда готова к быстрой и качественной разработке основного объема кода системы. Наличие тщательно проработанной устойчивой архитектуры гарантирует, что в дальнейшем не придется перерабатывать большие фрагменты системы.
В фазе Construction основными задачами становится быстрая и экономичная разработка кода системы. К концу фазы система должна быть готова к передаче заказчику для бета-тестирования и/или приемо-сдаточных испытаний.
Фаза Transition жизненного цикла посвящена подготовке разработанного продукта к передаче его заказчику или к тиражированию и распространению (если это "коробочный" продукт).
IBM Rational Unified Process представляет собой готовый продукт. Он состоит из нескольких частей.
Это:
Пользователи RUP могут либо выбрать одно из типовых представлений процесса, либо создать свое собственное.
Продукт RUP позволяет настраивать процесс под нужды конкретной организации-разработчика и конкретного проекта, включая в него различные готовые компоненты (plug-in), а также разрабатывать и включать в состав процесса собственные компоненты. Продукт содержит также представления (view), которые позволяют участникам разработки получать доступ к необходимой им информации в зависимости от ролевых или персональных настроек.
Для обеспечения инструментальной поддержки всех процессов жизненного цикла разработки и сопровождения ПС RUP рекомендует использование специализированных инструментальных средств IBM Rational:
IBM Rational Unified Process позволяет компании-разработчику настраивать весь процесс разработки ПС. В отличие от большинства современных методологий или требований к процессу разработки, ориентированных на строго определенный уровень формализации процесса (как правило, либо очень высокий, либо напротив, очень низкий), RUP позволяет получить именно тот уровень формализации, который необходим в проекте.
При разработке ПС для государственных предприятий и в ряде других ситуаций компании-разработчику приходится выполнять формальные требования отечественных и международных стандартов (ГОСТы серий 19 и 34, ГОСТ ИСО/МЭК 12207 и др.). В этом случае можно настроить RUP на достаточно высокий уровень формализации процесса. Более того, при использовании инструментальных средств IBM Rational несложно разработать шаблоны документов, которые будут создаваться автоматически с помощью IBM Rational SoDA на основе стандартных моделей и артефактов и соответствовать требованиям ГОСТ.
Использование RUP с достаточно высоким уровнем формализации процесса также может помочь компании-разработчику выполнять требования сертификации CMM. Поскольку RUP представляет собой хорошо документированный процесс, внедрение RUP поможет вам достигнуть уровней 2 и 3 СММ. В еще большей степени RUP может помочь при внедрении CMMI, поскольку CMMI в большей степени соответствует современному итерационному подходу к разработке ПС.
С другой стороны, при использовании RUP в небольших коллективах для разработки не слишком важных ПС можно выбрать достаточно низкий уровень формализации, который не будет тормозить разработку необходимостью формирования и тщательного оформления многих артефактов, не оказывающих реального влияния на качество проектирования и реализации ПС.
Внедрение RUP представляет собой достаточно сложную задачу. Нет смысла заставлять высококвалифицированных специалистов тратить рабочее время на самостоятельное изучение RUP "с нуля". Не стоит рисковать выполнением реального проекта или тратить силы на учебный проект. Внедрение RUP происходит значительно проще и легче с участием квалифицированных специалистов, хорошо знакомых с процессом.
Компания CM-Consult предлагает услуги по адаптации и внедрению RUP в конкретной компании-разработчике. Мы можем подобрать для вас процесс требуемой степени формализации. Разработать шаблоны документов. Обучить ваших сотрудников как особенностям разработки ПС с использованием RUP, так и использованию в этом процессе многочисленных инструментальных средств IBM Rational. Все работы будут производиться с участием сотрудников компании-разработчика, что гарантирует передачу им всех необходимых знаний и навыков.
Компания CM-Consult предлагает осуществить на первом этапе обследование компании-заказчика и определить порядок внедрения RUP и необходимый набор инструментальных средств. Под методическим руководством опытных консультантов из компании CM-Consult специалисты компании-заказчика смогут выполнить оценку текущей организации разработки ПС в своей компании, выявить проблемы и причины их возникновения, а также способы устранения или уменьшения, ранжировать эти проблемы по тяжести последствий и важности разрешения.
На втором этапе предлагается силами сотрудников специализированного подразделения компании-заказчика выполнить один или несколько пилотных проектов под методическим руководством опытных консультантов-наставников.
Целью пилотных проектов является поэтапное обучение сотрудников компании-заказчика основным принципам RUP и методам использования инструментальных средств IBM Rational. В ходе пилотных проектов специалисты заказчика под методическим руководством консультантов из компании CM-Consult будут устанавливать, конфигурировать, испытывать и внедрять необходимые для данной итерации внедрения RUP средства инструментальной поддержки.
В ходе пилотных проектов или после их завершения могут быть выработаны:
В результате компания-заказчик получит хорошо документированный процесс, настроенный в точном соответствии с особенностями компании и выполняемыми ею проектами. Сотрудники компании приобретут опыт выполнения проектов в соответствии с RUP и навыки использования инструментальных средств IBM Rational. Это поможет компании преодолеть имеющиеся трудности и устранить проблемы, мешающие быстрому и качественному выполнению проектов.
За дополнительной информацией обращайтесь в компанию Interface Ltd.
Обсудить на форуме IBM Rational Software
INTERFACE Ltd. |
|