Mетодология управления жизненным циклом приложений компании IBM Rational
Компания Rational Software (ныне – IBM Rational) на протяжении последнего десятилетия является несомненным лидером в области создания инструментальных средств и методологий в области создания программного обеспечения. Она выпускает обширный класс программных продуктов, предназначенных для всех этапов разработки ALM.
В целом продукты IBM Rational можно представить в виде структуры (см. рис. 1.1), включающей четыре основные группы инструментов (деление является довольно условным):
· объединяющая платформа (для всех этапов разработки ALM);
· анализ и проектирование;
· проектирование и разработка ПО;
· тестирование.
Центральным звеном объединяющей платформы служит RUP - рациональный унифицированный процесс (Rational Unified Process) - одна из спиральных методологий разработки программного обеспечения. Методология поддерживается компанией Rational Software, обновление продукта происходит примерно дважды в год. В качестве языка моделирования в общей базе знаний используется язык Unified Modelling Language (UML).
Итерационная разработка программного обеспечения в RUP предполагает разделение проекта на несколько мелких проектов, которые выполняются последовательно, и каждая итерация разработки четко определена набором целей, которые должны быть достигнуты в конце итерации. Конечная итерация предполагает, что набор целей итерации должен в точности совпадать с набором целей, указанных заказчиком продукта, то есть все требования должны быть выполнены.
RUP достаточно хорошо формализован, и наибольшее внимание уделяется начальным стадиям разработки проекта - анализу и моделированию. Таким образом, эта методология направлена на снижение коммерческих рисков (risk mitigating) посредством обнаружения ошибок на ранних стадиях разработки. Технические риски (assesses) оцениваются и “расставляются” согласно приоритетам на ранних стадиях цикла разработки, а затем пересматриваются с течением времени и с развитием проекта в течение последующих итераций. Новые цели появляются в зависимости от приоритетов данных рисков. Релизы версий распределяются таким образом, что наиболее приоритетные риски устраняются первыми.
Процесс предполагает эволюционирование моделей; итерация цикла разработки однозначно соответствует определенной версии модели программного обеспечения. Каждая из итераций (workflow) содержит элементы управления жизненным циклом программного обеспечения: анализ и дизайн (моделирование), реализация, интегрирование, тестирование, внедрение. В этом смысле RUP является реализацией спиральной модели, хотя довольно часто изображается в виде графика-таблицы.
Рассмотрим основные компоненты RUP.
RUP предоставляет структурированный подход к итерационной разработке программного обеспечения, подразделяя процесс на четыре основные фазы во времени (milestones): Inception (исследование, начало), Elaboration (уточнение плана), Construction (конструирование, построение) и Transition (переход, развертывание). На рис. 1.2 представлено широко распространенное изображение фаз RUP. Целями каждой из данных фаз являются:
• Inception - понимание, что мы создаем. Фаза сбора информации и анализа требований, определение образа проекта в целом;
• Elaboration - понимание, как мы это создаем. Фаза анализа требований и проектирования системы, планирование необходимых действий и ресурсов, спецификация функций и особенностей дизайна;
• Construction - создание бета-версии продукта. Основная фаза разработки и кодирования, построение продукта как восходящей последовательности итераций (версий кода);
• Transition - создание конечной версии продукта. Фаза внедрения продукта, поставка продукта конкретному пользователю.
Наиболее известные продукты, компании Rational Software поддерживающие Rational Unified Process приведены в таблице 1.1. Эти продукты (а также некоторые другие) входят в состав Rational Suite - интегрированного набора продуктов, предназначенный для поддержки командной работы над проектом на каждой фазе жизненного цикла разработки информационной системы. Rational Suite является уникальным семейством продуктов, позволяющим поднять на новый уровень разработку программного обеспечения. Пользователи и разработчики Rational Suite получают следующие преимущества:
· Объединение. Suite объединяет усилия аналитиков, разработчиков и тестировщиков, снимая барьеры, которые обычно существуют между группами сотрудников, работающих над одним проектом.
· Оптимизацию.Rational Suite оптимизирует работу сотрудников, предоставляя необходимый набор инструментальных средств для выполнения специфических задач каждого члена команды.
· Упрощение.Suite упрощает установку, поддержку и совместное использование продуктов, входящих в состав пакета. И, что немаловажно, за счет такой интеграции стоимость полного пакета гораздо меньше стоимости отдельных компонентов.
Rational Suite имеет несколько вариантов поставок,отличающихся наборами входящих в них продуктов и, соответственно, ценой:
· Rational Suite AnalystStudio.Предназначен для определения и управления полным и четким набором требований на разработку проекта. Данная редакция продукта рекомендуется для аналитиков проектов.
· Rational Suite DevelopmentStudio. Обеспечивает все функции визуального моделирования информационных систем на основе известных и проверенных на практике продуктов. DevelopmentStudio предоставляет все необходимое для создания высококачественного программного продукта в установленные сроки и в рамках бюджета. Rational Suite DevelopmentStudio предназначен для проектировщиков и разработчиков информационных систем.
· Rational Suite TestStudio. Представляет собой набор инструментов, предназначенных для детального тестирования приложений. Позволяет избежать большого количества рутинной работы, гарантирует тестирование всех составляющих приложения, что невыполнимо при тестировании вручную. Редакция предназначена для тестировщиков приложений.
· Rational Suite Enterprise. Полнофункциональная редакция пакета, обеспечивает поддержку полного жизненного цикла разработки информационной системы. Продукт предназначен как для менеджеров проекта, так и для отдельных программистов, выполняющих несколько функциональных ролей в команде разработчиков.
· Rational Suite PerformanceStudio. Полнофункциональный набор средств для отладки и тестирования программного обеспечения. Предназначен для компаний, занимающихся разработкой и тестированием программного обеспече
Таблица 1.1 Линия программных продуктов компании Rational Software, поддерживающих Rational Unified Process | |
Наименование продукта | Назначение |
Rational Rose | CASE-средство визуального моделирования информационных систем, имеющее возможности генерирования элементов кода. Специальная редакция продукта - Rational Rose RealTime - позволяет на выходе получить исполняемый модуль; |
Rational Requisite Pro | Средство управления требованиями, позволяющее создавать, структурировать, устанавливать приоритеты, отслеживать, контролировать изменения требований, возникающие на любом этапе разработки компонентов приложения; |
Rational ClearQuest | продукт для управления изменениями и отслеживания дефектов в проекте (bug tracking), тесно интегрирующийся со средствами тестирования и управления требованиями и представляющий собой единую среду для связывания всех ошибок и документов между собой; |
Rational SoDA | продукт для автоматического генерирования проектной документации, позволяющий установить корпоративный стандарт на внутрифирменные документы. Возможно также приведение документации к уже существующим стандартам (ISO, CMM); |
Rational Purify, Rational Quantify , Rational PureCoverage | средства тестирования и отладки: |
Rational Purify | весьма мощное средство поиска ошибок на run-time для разработчиков приложений и компонентов, программирующих на C/C++, |
Rational Visual Quantify | средство измерения характеристик для разработчиков приложений и компонентов, программирующих на C/C++, Visual Basic и Java; помогает определять и устранять узкие места в производительности ПО, |
Rational Visual PureCoverage | автоматически определяет области кода, которые не подвергаются тестированию; |
Rational ClearCase | продукт для управления конфигурацией программ (Rational’s Software Configuration Management, SCM), позволяющий производить версионный контроль всех документов проекта. С его помощью можно поддерживать несколько версий проектов одновременно, быстро переключаясь между ними. Rational Requisite Pro поддерживает обновления и отслеживает изменения в требованиях для группы разработчиков; |
SQA TeamTest | средство автоматизации тестирования; |
Rational TestManager | система управления тестированием, которая объединяет все связанные с тестированием инструментальные средства, артефакты, сценарии и данные; |
Rational Robot | инструмент для создания, модификации и автоматического запуска тестов; |
SiteLoad, SiteCheck | средства тестирования Web-сайтов на производительность и наличие неработающих ссылок; |
Rational PerformanceStudio | измерение и предсказание характеристик производительности систем. |