Полная версия

Главная arrow Информатика arrow Архитектура и проектирование программных систем

  • Увеличить шрифт
  • Уменьшить шрифт


<<   СОДЕРЖАНИЕ   >>

Рациональный унифицированный процесс

Рациональный унифицированный процесс (Rational Unified Process, RUP) - одна из лучших методологий разработки ПО. Основываясь на опыте многих успешных программных проектов, RUP позволяет создавать сложные программные системы, основываясь на индустриальных методах разработки [10]. Предпосылки для разработки RUP зародились в начале 1980-х гг. в Rational Software Corporation. В начале 2003 г.

Rational приобрела IBM. Одним из основных столпов, на которые опирается RUP, является процесс создания моделей при помощи унифицированного языка моделирования (UML).

RUP - одна из спиральных методологий разработки программного обеспечения. Методология поддерживается и развивается компанией Rational Software. В качестве языка моделирования в общей базе знаний используется язык UML. Итерационная и инкрементная разработка программного обеспечения в RUP предполагает разделение проекта на несколько проектов, которые выполняются последовательно, и каждая итерация разработки четко определена набором целей, которые должны быть достигнуты в конце итерации. Конечная итерация предполагает, что набор целей итерации должен в точности совпадать с набором целей, указанных заказчиком продукта, т.е. все требования должны быть выполнены.

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

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

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

  • 1. Начало (inception)- формирование концепции проекта, понимание, что мы создаем, представление о продукте (vision), разработка бизнес-плана (business case), подготовка прототипа программы или частичного решения. Это фаза сбора информации и анализа требований, определение образа проекта в целом. Цель - получить поддержку и финансирование. В конечной итерации результат этого этапа - техническое задание.
  • 2. Проектирование, разработка (elaboration) - уточнение плана, понимание, как мы это создаем, проектирование, планирование необходимых действий и ресурсов, детализация особенностей. Завершается этап исполняемой архитектурой, когда все архитектурные решения приняты и риски учтены. Исполняемая архитектура представляет собой работающее программное обеспечение, которое демонстрирует реализацию основных архитектурных решений. В конечной итерации это технический проект.
  • 3. Реализация, создание системы (construction)- этап расширения функциональности системы, заложенной в архитектуре. В конечной итерации это рабочий проект.
  • 4. Внедрение, развертывание (transition) - создание конечной версии продукта, фаза внедрения продукта, поставка продукта конкретному пользователю (тиражирование, доставка и обучение).
  • ? Тестирование
  • ? Развертывание

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

н Управление проектом

? Среда

Итерации

Рис. 3.11. Рациональный унифицированный процесс

Виды деятельности Бизнес-

п моделирование

? Требования Анализ и

п проектирование

? Реализация

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

  • 1. Бизнес-анализ и моделирование (business modeling) обеспечивает реализацию принципов моделирования с целью изучения бизнеса организации и накопления знаний о нем, оптимизации бизнес-процессов и принятия решения об их частичной или полной автоматизации.
  • 2. Управление требованиями (requirements) посвящено получению информации от заинтересованных лиц и ее преобразованию в набор требований, определяющих содержание разрабатываемой системы и подробно описывающих ожидания от того, что система должна делать.
  • 3. Анализ и проектирование (analysis and design) охватывает процедуры преобразования требований в промежуточные описания (модели), представляющие, как эти требования должны быть реализованы.
  • 4. Реализация (implementation) охватывает разработку кода, тестирование на уровне разработчиков и интеграцию компонентов, подсистем и всей системы в соответствии с установленными спецификациями.
  • 5. Тестирование (test) посвящено оценке качества создаваемого продукта.
  • 6. Развертывание (deployment) охватывает операции, имеющие место при передаче продуктов заказчикам и обеспечении доступности продукта конечным пользователям.
  • 7. Конфигурационное управление и управление изменениями (configuration management) посвящено синхронизации промежуточных и конечных продуктов, управлению их развитием в ходе проекта и поиском скрытых проблем.
  • 8. Управление проектом (management) посвящено планированию проекта, управлению рисками, контролю хода его выполнения и непрерывной оценке ключевых показателей.
  • 9. Управление средой (environment) включает в себя элементы формирования среды разработки информационной системы и поддержки проектной деятельности.

В зависимости от специфики проекта могут быть использованы любые средства IBM Rational, а также третьих фирм. В RUP рекомендовано следовать шести практикам, позволяющим успешно разрабатывать проект: итеративной разработке; управлению требованиями; использованию модульных архитектур; визуальному моделированию; проверке качества; отслеживанию изменений.

Неотъемлемую часть RUP составляют артефакты (artefact), прецеденты (precedent) и роли (role). Артефакты - это некоторые продукты проекта, порождаемые или используемые в нем при работе над окончательным продуктом. Прецеденты - это последовательности действий, выполняемых системой для получения наблюдаемого результата. Фактически любой результат работы индивидуума или группы является артефактом, будь то документ анализа, элемент модели, файл кода, тестовый скрипт, описание ошибки и т.п. За создание того или иного вида артефактов отвечают определенные специалисты. Таким образом, RUP четко определяет обязанности - роли - каждого члена группы разработки на том или ином этапе, т.е. когда и кто должен создать тот или иной артефакт. Весь процесс разработки программной системы рассматривается в RUP как процесс создания артефактов - начиная с первоначальных документов анализа и заканчивая исполняемыми модулями, руководствами пользователя и т.п.

Для компьютерной поддержки процессов создания программных систем в IBM разработан широкий набор инструментальных средств. Продукты и сервисы IBM Rational охватывают все стадии жизненного цикла проектов - от проектирования до развертывания, а в их основе лежит многолетний опыт создания решений, способствующих эффективной совместной работе групп разработчиков. Перечислим некоторые из них [8].

  • 1. Rational Rose - CASE-средство визуального моделирования информационных систем, имеющее возможности генерирования элементов кода. Специальная редакция продукта - Rational Rose RealTime - позволяет на выходе получить исполняемый модуль.
  • 2. Rational Requisite Pro - средство управления требованиями, позволяющее создавать, структурировать, устанавливать приоритеты, отслеживать, контролировать изменения требований, возникающие на любом этапе разработки компонентов приложения.
  • 3. Rational ClearQuest - продукт для управления изменениями и отслеживания дефектов в проекте (bug tracking), тесно интегрирующийся со средствами тестирования и управления требованиями и представляющий собой единую среду для связывания всех ошибок и документов между собой.
  • 4. Rational SoDA - продукт для автоматического генерирования проектной документации, позволяющий установить корпоративный стандарт на внутрифирменные документы. Возможно также приведение документации к уже существующим стандартам (ISO, СММ).
  • 5. Rational Purify, Rational Quantify Rational PureCoverage - средства тестирования и отладки.
  • 6. Rational Visual Quantify - средство измерения характеристик для разработчиков приложений и компонентов, программирующих на C/C++, Visual Basic и Java; помогает определять и устранять узкие места в производительности ПО.
  • 7. Rational Visual PureCoverage автоматически определяет области кода, которые не подвергаются тестированию.
  • 8. Rational ClearCase - продукт для управления конфигурацией программ (Rational’s Software Configuration Management, SCM), позволяющий производить версионный контроль всех документов проекта. С его помощью можно поддерживать несколько версий проектов одновременно, быстро переключаясь между ними. Rational Requisite Pro поддерживает обновления и отслеживает изменения в требованиях для группы разработчиков.
  • 9. SQA TeamTest - средство автоматизации тестирования.
  • 10. Rational TestManager- система управления тестированием, которая объединяет все связанные с тестированием инструментальные средства, артефакты, сценарии и данные.
  • 11. Rational Robot - инструмент для создания, модификации и автоматического запуска тестов.
  • 12. SiteLoad, SiteCheck- средства тестирования веб-сайтов на производительность и наличие неработающих ссылок.
  • 13. Rational PerformanceStudio - измерение и предсказание характеристик производительности систем.

Этот набор продуктов постоянно совершенствуется и пополняется. Так, например, недавний продукт IBM Rational Software Architect (RSA) является частью IBM Software Development Platform - набора инструментов, поддерживающих жизненный цикл разработки программных систем. Продукт IBM Rational Software Architect предназначен для построения моделей разрабатываемых программных систем с использованием унифицированного языка моделирования UML 2.0, прежде всего моделей архитектуры разрабатываемого приложения. Тем не менее RSA объединяет в себе функции таких программных продуктов, как Rational Application Developer, Rational Web Developer и Rational Software Modeler, тем самым предоставляя возможность архитекторам и аналитикам создавать различные представления разрабатываемой информационной системы с использованием языка UML 2.0, а разработчикам - выполнять разработку J2EE, XML, веб-сервисов и т.д.

Следуя принципам RUP, Rational Software Architect позволяет создавать необходимые модели в рамках рабочих процессов таких дисциплин, как:

  • • бизнес-анализ и моделирование (business modeling);
  • • управление требованиями (requirements);
  • • анализ и проектирование (analysis and design);
  • • реализация (implementation).

Кроме того, Rational Software Architect поддерживает технологию разработки, управляемой моделями (model-driven development, MDD), позволяющей моделировать программное обеспечение на различных уровнях абстракции с возможностью трассируемое™. Последняя версия RSA, 8.0, представляет собой основной релиз семейства продуктов IBM® Rational® Software Architect. Программный пакет RSA был собран заново в виде продукта базового уровня, который можно расширять в соответствии с необходимыми предметно-ориентированными возможностями. Кроме того, для расширения поддерживаемых технологий, повышения продуктивности и простоты использования существенно обновлен набор базовых функциональных возможностей [28].

IBM® Rational® Software Modeler и IBM Rational Software Architect Standard Edition теперь объединены в один основной продукт - Rational Software Architect. Он предоставляет нотацию BPMN 2 (Business Process Modeling Notation), моделирование на UML 2, визуализацию кода и согласованную поддержку моделирования для Java™, C# и VB.NET (Microsoft® Visual Basic®.NET). Эту базовую платформу можно наращивать при помощи набора расширений, которые обеспечивают дополнительные возможности - от совместной работы и имитационного моделирования до моделирования развертывания и использования интегрированных архитектурных сред.

При помощи расширения Simulation в RSA 8.0 можно имитировать любое UML-поведение (диаграммы деятельности, диаграммы последовательности, диаграммы коммуникации или диаграммы состояний). Можно пройти по поведению так, как будто вы пошагово проходите по коду, при этом ваша текущая позиция будет подсвечиваться на диаграмме поведения, а также, возможно, на диаграмме композитной структуры или топологии. Это дает ряд преимуществ:

  • • лучшее понимание поведения системы на более ранних этапах, дающее возможность устранить потенциальные дефекты поведения;
  • • понимание того, как повлияет на статическую структуру модели аннотирование диаграммы композитной структуры;
  • • учет влияния поведения на топологию развертывания, а также понимание потенциального воздействия имеющейся инфраструктуры на поведение приложения.
 
<<   СОДЕРЖАНИЕ   >>