RUP - унифицированный процесс разработки
Разработка программных продуктов, еще недавно бывшая уделом избранных одиночек, в настоящее время превратилась в высокодоходную сферу бизнеса. Процесс создания программных систем стал технологией, где у каждого члена проектной команды определено свое место и круг обязанностей, где строго регламентированы все этапы — от замысла до передачи пользователям рабочей версии программы. Это единственный путь к созданию больших и малых программных систем, который позволяет уложиться в установленные сроки и выделенный бюджет, создав при этом систему нужного качества.
Корпорация Rational Software, ведущий производитель инструментария для создания сложных программных систем, формализовала технологический процесс разработки ПО и выпустила на рынок структурированную базу знаний под названием Rational Unified Process (RUP), в которую вошли методические рекомендации ведущих разработчиков по эффективному созданию приложений и систем. При этом RUP не есть нечто застывшее. База знаний регулярно обновляется и совершенствуется с учетом передового опыта.
RUP представляет собой набор исчерпывающих рекомендаций для создания практически любых программных продуктов. Вобрав в себя опыт лучших разработок, RUP подробно рассказывает, когда, кто и что должен делать в проекте, чтобы в результате получить программную систему в установленные сроки, с определенной функциональностью и в рамках отведенного бюджета.
RUP создана в виде страниц формата HTML, имеющих обширную систему гиперссылок, графическую навигацию, подробное оглавление и встроенный поисковый механизм. База распространяется на компакт-дисках и посредством сети Интернет. Последняя версия продукта всегда доступна на сайте производителя. Там же можно бесплатно ознакомиться с полнофункциональной тридцатидневной пробной версией для принятия решения об ее использовании и просмотреть деморолик.
RUP поддерживает технологию разработки программных продуктов для различных платформ, предоставляет детальные рекомендации команде программистов.
RUP ведет свою историю от продуктов Rational Approach и Objectory Process 3.8, объединение которых произошло после слияния в 1995 году корпораций Rational Software и Objectory AB.
Сейчас больше тысячи компаний воспользовались преимуществами разработки на основе RUP. Унифицированный процесс разработки используется в различных прикладных областях, в больших и малых проектах, что доказывает его универсальность и широкую применимость. В телекоммуникационной сфере его используют Ericsson, Alcatel, MCI, в авиационно-космической и оборонной промышленности — Lockheed-Martin, British Aerospace, на промышленных предприятиях — Xerox, Volvo, Intel, в финансовой сфере — Visa, Merrill Lynch, Schwab. Этот процесс также взят на вооружение такими интеграторами, как Ernst & Young, Oracle, Deloitte & Toucche.
Каждая из этих компаний использует RUP по-своему. Одни строго следуют всем рекомендациям Rational Software, другие же создают на его основе свои методики, прибегая к этой базе знаний как к источнику советов, шаблонов и руководств.
Основными понятиями RUP являются артефакт (artifact) и прецедент (precedent). Артефакты — это некоторые продукты проекта, порождаемые или используемые в нем при работе над окончательным продуктом. Прецеденты — это последовательности действий, выполняемых системой для получения наблюдаемого результата.
Весь процесс разработки программной системы рассматривается в RUP как процесс создания артефактов. Причем то, что попадает в руки конечного пользователя, будь то программный модуль или программная документация, — это один из подклассов всех артефактов проекта.
Каждый член проектной группы создает свои артефакты и несет за них ответственность. Программист разрабатывает программу, руководитель — проектный план, а аналитик — модели системы. RUP позволяет определить, когда, кому и какой артефакт необходимо создать.
Основной упор в RUP делается не на подготовку документов как таковых, а на моделирование разрабатываемой системы. Модели помогают очерчивать как проблему, так и пути ее решения, и создаются они при помощи унифицированного языка Unified Modeling Language (UML), который позволяет разработчикам определять, визуализировать, конструировать и документировать артефакты программных систем.
Все задачи, описанные в RUP, поддерживаются средствами разработки от Rational Software. В RUP включен раздел Tool Mentors, в котором подробно описывается использование Rational Rose для создания UML-моделей, Rational RequisitePro, Rational Clear Quest, Rational Clear Case для анализа требований, запросов на измерения и исправления дефектов и для поддержки процесса унифицированного управления изменениями (UCM). В этом же разделе описываются методы применения Rational Purify, Rational PureCoverage, Rational Quantify, Rational Robot для автоматизации процесса тестирования и поиска дефектов программного обеспечения, а Rational SoDa — для автоматизации процесса документирования. Кроме того, Tool Mentors содержит подробные рекомендации по использованию этих и других средств компании Rational для создания конкретных артефактов разрабатываемой системы.
Весь процесс разработки с точки зрения RUP рассматривается в двух плоскостях. В динамике процесс выражается через циклы, фазы, итерации и вехи, а в статике — через виды деятельности, технологические процессы, артефакты и роли исполнителей.
Каждый такой процесс представляется при помощи диаграмм, состоящих из пиктограмм, связанных гиперссылками с другими документами. При активизации гиперссылок происходит детализация процесса.
Это дает возможность пройти через всю последовательность необходимых работ — от общего взгляда на них “с высоты птичьего полета” до создания конкретных артефактов.
Система гиперссылок построена таким образом, что можно легко переходить от работ к артефактам, создаваемым в процессе конкретной деятельности, а через них к ролям исполнителей и обратно. К артефактам можно добраться различными путями — например, через список процессов, примеры итераций, роли исполнителей, а можно просто найти нужный артефакт в дереве ссылок, что позволяет рассматривать один и тот же процесс разработки с различных точек зрения — руководителя и исполнителя, пользователя и программиста.
Основные артефакты, создаваемые в процессе разработки, представлены в RUP в виде готовых шаблонов, облегчающих их создание в конкретном проекте. В базу включены шаблоны более тридцати документов, для большинства распространенных типов отчетов, представленные в форматах MS Word и Adobe FrameMaker. Шаблоны Rational SoDa позволяют автоматизировать процесс сбора документов из множества источников, а шаблоны RequisitePro облегчают управление требованиями. В помощь специалистам, занимающимся планированием итеративных проектов на основе RUP, в него включены шаблоны Microsoft Project. Также доступны шаблоны формата HTML, позволяющие расширять базу знаний.
Рис. 53
Ответственность за создание артефактов лежит на исполнителях. В последних версиях RUP чаще применяется понятие роль, поскольку один исполнитель может выполнять несколько ролей в проекте и отвечать за различные артефакты. В RUP определено более тридцати ролей, которые могут выполнять различные члены команды разработчиков. Обязанности каждой роли, последовательность работ и создаваемые артефакты представлены в виде понятных с первого взгляда диаграмм. Например, на рис. 53 показана схема обязанностей системного аналитика, так как она определяется в RUP.
Каждая пиктограмма на этой схеме представляет собой гиперссылку, позволяющую производить дальнейшую детализацию.
RUP достаточно обширен. Это набор рекомендаций и примеров по всем стадиям и фазам разработки программ. Хотя в основу этих рекомендаций положен многолетний опыт разработки программных систем, не для каждого проекта RUP подходит на сто процентов. Любой программный проект по-своему уникален. Нельзя бездумно копировать чужой процесс, создавая артефакты, имеющие незначительную ценность. Во многих небольших организациях по разработке программного обеспечения, особенно в тех, что не имеют собственной мощной системы разработки, RUP можно использовать “как есть”, но он может быть и уточнен, расширен и специфически настроен для максимального приближения к нуждам организации-разработчика.
Но в любом случае применение унифицированного процесса разработки позволит уменьшить затраты проекта, уложиться в заданные сроки и повысить качество создаваемого программного продукта.
Дата добавления: 2016-05-16; просмотров: 1557;