Сделай Сам Свою Работу на 5

Технология Rational Unified Process (IBM Rational Software)





Одна из наиболее совершенных технологий, которые претендуют на роль мирового корпоративного стандарта, - Rational Unified Process (RUP)[13]. RUP является программным продуктом, разработанным компанией Rational Software (www.rational.com), которая в настоящее время входит в состав IBM.

RUP в значительной степени отвечает стандартам и нормативным документам, связанным с процессами ЖЦ ПО и оценкой технологической зрелости организаций-разработчиков (ISO 12207, ISO 9000, CMM и др.). Ее основными принципами являются:

- Итерационный и инкрементный (наращиваемый) подход к созданию ПО.

- Планирование и управление проектом на основе функциональных требований к системе - вариантам использования.

- Построение системы на базе архитектуры ПО.

Первый принцип является определяющий. В соответствии с ним разработка системы выполняется в виде нескольких краткосрочных мини-проектов фиксированной длительности (от 2 до 6 недель), называемых итерациями. Каждая итерация включает свои собственные этапы анализа требований, проектирования, реализации, тестирования, интеграции и завершается созданием работающей системы.

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



На Рис. 1 показано общее представление RUP в двух измерениях. Горизонтальное измерение представляет время, отображает динамические аспекты процессов и оперирует такими понятиями, как стадии, итерации и контрольные точки. Вертикальное измерение отображает статичные аспекты процессов и оперирует такими понятиями, как виды деятельности (технологические операции), рабочие продукты, исполнители и дисциплины (технологические процессы).

 

Рисунок 1. Общее представление RUP

 

Согласно RUP, ЖЦ ПО разбивается на отдельные циклы, в каждом из которых создается новое поколение продукта. Каждый цикл, в свою очередь, разбивается на четыре последовательных стадии:

 

1. начальная стадия (inception);



2. стадия разработки (elaboration);

3. стадия конструирования (construction);

4. стадия введения в действие.

 

Каждая стадия завершается в четко определенной контрольной точке (milestone). В этот момент времени должны достигаться важные результаты и приниматься критически важные решения о дальнейшей разработке.

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

Результатами начальной стадии являются:

 

1. общее описание системы : основные требования к проекту, его характеристике и ограничению;

2. начальная модель вариантов использования (степень готовности - 10-20%);

3. начальный проектный глоссарий (словарь сроков);

4. начальный бизнес-план;

5. план проекта, который отображает стадии и итерации;

6. один или несколько прототипов.

 

На стадии разработки оказываются более детальные требования к системе, выполняется высокоуровневый анализ наглядной области и проектирование для построения базовой архитектуры системы, создается план конструирования и устраняются наиболее рискованные элементы проекта.

Результатами стадии разработки являются:

 

· модель вариантов использования (завершена по крайней мере на 80%), которое определяет функциональные требования к системе;



· перечень дополнительных требований, включая требования нефункционального характера и требования, не связанные с конкретными вариантами использования;

· описание базовой архитектуры будущей системы;

· работающий прототип;

· уточненный бизнес-план;

· план разработки всего проекта, который отображает итерации и критерии оценки для каждой итерации.

 

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

 

· модель наглядной области, которая отображает понимание бизнеса и служит отправным пунктом для формирования основных классов наглядной области;

· технологическую платформу, которая определяет основные элементы технологии реализации системы и их взаимодействие.

 

Эта архитектура является основой всей дальнейшей разработки, она служит своего рода проектом для дальнейших стадий. В дальнейшем неминуемые незначительные изменения в деталях архитектуры, однако, серьезные изменения маловероятные.

Стадия разработки занимает около пятой части общей длительности проекта. Основными признаками завершения стадии разработки являются два события:

 

1. разработчики в состоянии оценить с достаточно высокой точностью, сколько времен будет нужно на реализацию каждого варианта использования;

2. идентифицированы все наиболее серьезные риски, и степень понимания наиболее важных из них такая, что известно, как справиться с ними.

 

Суть планирования заключается в определении последовательности итераций конструирования и вариантов использования, которые реализовываются на каждой итерации. Итерации на стадии конструирования являются одновременно инкрементными и такими, которые повторяются, :

 

· итерации являются инкрементными в соответствии с той функцией, которую они выполняют. Каждая итерация добавляет дежурные конструкции к вариантам использования, реализованным во время предыдущих итераций;

· итерации являются такими, которые повторяются по отношению к коду, который разрабатывается. На каждой итерации некоторая часть существующего кода переписывается с целью сделать его гибче.

 

Результатом стадии конструирования является продукт, готовый к передаче конечным пользователям. Как минимум, он содержит следующее:

 

· ПО, интегрированное на необходимых платформах;

· руководство пользователя;

· описание текущей реализации.

 

Назначениям стадии введения в действие есть передача готового продукта в распоряжение пользователей. Данная стадия включает:

 

· бета-тестування, что позволяет убедиться, что новая система отвечает ожиданием пользователей;

· параллельное функционирование с существующей (legacy) системой, которая подлежит постепенной замене;

· конвертация баз данных;

· оптимизацию производительности;

· учеба пользователей и специалистов службы сопровождения.

 

Статичный аспект RUP представлен четырьмя основными элементами:

 

1. роли;

2. виды деятельности;

3. рабочие продукты;

4. дисциплины.

 

Понятие "роль" (role) определяет поведение и ответственность лица или группы лиц, составляющих проектную команду. Одно лицо может играть в проекте много разных ролей.

Под видом деятельности конкретного исполнителя понимает единица производимой им работы. Вид деятельности (activity) отвечает понятию технологической операции. Он имеет четко определенную цель, которая обычно выражается в терминах получения или модификации некоторых рабочих продуктов (artifacts), таких, как модель, элемент модели, документ, начальный код или план. Каждый вид деятельности связано с конкретной ролью. Длительность вида деятельности складывает от нескольких часов до нескольких дней, он обычно выполняется одним исполнителем и порождает только один или весьма небольшое количество рабочих продуктов. Любой вид деятельности должен быть элементом процесса планирования. Примерами видов деятельности могут быть планирования итерации, определения вариантов использования и действующих лиц, выполнения теста на производительность. Каждый вид деятельности сопровождается набором руководства (guidelines), которое является методиками выполнения технологических операций.

Дисциплина (discipline) отвечает понятию технологического процесса и является последовательностью действий, которая приводит к получению значимого результата.

 

В рамках RUP определены шесть основных дисциплин:

 

1. построение бизнес-моделей;

2. определение требований;

3. анализ и проектирование;

4. реализация;

5. тестирование;

6. oразвертывание;

 

и три вспомогательных:

 

1. управление конфигурацией и изменениями;

2. управление проектом;

3. создание инфраструктуры.

 

RUP как продукт входит в состав комплекса Rational Suite, причем каждая из перечисленных выше дисциплин поддерживается определенным инструментальным средством комплекса. Физическая реализация RUP есть Web -сайт, что включает следующие компоненты:

 

· описание всех элементов динамического и статичного аспекта RUP;

· навигатор по всем элементам RUP, глоссарий и средство быстрой учебы технологии;

· руководства для всех участников проектной команды, которые охватывают весь жизненный цикл ПО. Руководство представлено в двух видах: для осмысления процесса на верхнем уровне, и в виде подробных наставлений по повседневной деятельности;

· наставление по использованию инструментальных средств, которые входят в состав Rational Suite;

· примеры и шаблоны проектных решений для Rational Rose;

· шаблоны проектной документации для SoDa;

· шаблоны в формате Microsoft Word, предназначенные для поддержки документации по всем процессам и действиям жизненного цикла ПО;

· планы в формате Microsoft Project, что отображают итерационный характер разработки ПО.

 

Адаптация RUP к потребностям конкретной организации или проекта обеспечивается с помощью Rational Process Workbench (RPW) - специального набора инструментов и шаблонов для настройки и публикации Web -сайтов на основе RUP. RPW поддерживает три основных функции моделирования технологических процессов :

 

1. определение процесса;

2. описание процесса;

3. представление процесса.

 

Библиотека элементов процесса содержит текстовую информацию о каждом элементе в модели процесса, все текстовые страницы RUP, а RPW - необходимые шаблоны для создания новых страниц описания. RPW генерирует описание процессов, которое включает текст и графику, в виде Web -сайта, соединяя модели процессов и библиотеку описаний в единое целое.

RUP опирается на интегрированный комплекс инструментальных средств Rational Suite. Он существует в следующих вариантах:

 

Rational Suite AnalystStudio - предназначен для определения и управления полным набором требований к системе, которая разрабатывается;

Rational Suite DevelopmentStudio - предназначен для проектирования и реализации ПО;

Rational Suite TestStudio - есть набор продуктов, предназначенных для автоматического тестирования дополнений;

Rational Suite Enterprise - обеспечивает поддержку полного жизненного цикла ПО и предназначен как для менеджеров проекта, так и отдельных разработчиков, которые исполняют несколько функциональных ролей в команде разработчиков.

 

В состав Rational Suite, кроме самой технологии RUP как продукта, входят следующие компоненты:

о Rational Rose - средство визуального моделирования (анализа и проектирования), которое использует язык UML;

о Rational XDE - средство анализа и проектирования, интегрированное с платформами MS Visual Studio .NET и IBM WebSphere Studio Application Developer;

о Rational Requisite Pro - средство управления требованиями, предназначенное для организации совместной работы группы разработчиков. Оно позволяет команде разработчиков создавать, структурировать, устанавливать приоритеты, отслеживать, контролировать изменения требований, которые возникают на любом этапе разработки компонентов дополнению;

Rational Rapid Developer - средство быстрой разработки дополнений на платформе Java 2 Enterprise Edition;

Rational ClearCase - средство управления конфигурацией ПО;

Rational SODA - средство автоматической генерации проектной документации;

Rational ClearQuest - средство для управления изменениями и отслеживания дефектов в проекте на основе средств e - mail и Web;

Rational Quantify - средство количественного определения узких мест, которые влияют на общую эффективность работы программы;

Rational Purify - средство для локализации ошибок времени выполнения программы, которые трудно оказываются;

Rational PureCoverage - средство идентификации участков кода, пропущенных при тестировании;

Rational TestManager - средство планирования функционального и нагрузки тестирования;

Rational Robot - средство записи и воссоздания тестовых сценариев;

Rational TestFactory - средство тестирования надежности;

Rational Quality Architect - средство генерации кода для тестирования.

 

Одно из основных инструментальных средств комплекса Rational Rose [9] является семейством объектно-ориентированных CASE -средств и предназначено для автоматизации процессов анализа и проектирования ПО, а также для генерации кодов на разных языках и выпуске проектной документации. Rational Rose реализует процесс объектно-ориентированного анализа и проектирования ПО, описанный в RUP. В основе работы Rational Rose лежит построение диаграмм и спецификаций UML, которые определяют архитектуру системы, ее статичные и динамические аспекты. В составе Rational Rose можно выделить шесть основных структурных компонентов: репозиторий, графический интерфейс пользователя, средства просмотра проекта (браузер), средства контроля проекта, средства сбора статистики и генератор документов. К ним добавляются генераторы кодов для каждого поддерживаемого языка, состав которых меняется от версии к версии.

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

Средства автоматической генерации кода, используя информацию, которая содержится в диаграммах классов и компонентов, формируют файлы описаний классов. Создаваемый таким образом скелет программы может быть уточнен путем прямого программирования на соответствующем языке (основные языки, поддерживаемые Rational Rose - С++ и Java).

В результате разработки проекта с помощью Rational Rose формируются следующие документы:

 

· диаграммы UML, что в совокупности является моделью программной системы, которая разрабатывается;

· спецификации классов, объектов, атрибутов и операций;

· заготовки текстов программ.

 

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

Инструментальным средством Rational XDE является развитие возможностей Rational Rose в части синхронизации модели и кода (прямой и обратной генерации кода, который исключает необходимость). Rational XDE обеспечивает:

 

· синхронизацию между кодом и моделью;

· отображение элементов кода Java и С# в UML;

· автоматическую синхронизацию с разрешением конфликтов, которое настраивается;

· одновременное отображение кода и модели;

· постоянную синхронизацию модели UML, как части проекта Java или С#.

 








Не нашли, что искали? Воспользуйтесь поиском по сайту:



©2015 - 2024 stydopedia.ru Все материалы защищены законодательством РФ.