Краткий обзор Orthogonal Defect Classification
Это вторая статья цикла (чтобы прочитать первую статью, нажмите кнопку «Просмотр остального содержания этого цикла»). Первая часть, "Классификация и валидация дефектов", знакомит с концепцией Orthogonal Defect Classification (ODC) и предлагает способ реализации процесса ODC в IBM® Rational Team Concert™ версии 3.0. В этой статье приводятся подробные шаги, необходимые для обеспечения сбора данных ODC наряду с отслеживанием дефектов.
Однако ключевым фактором успеха методологии ODC является набор инструментов анализа данных ODC, который позволяет определить меры, необходимые для повышения качества проектов. Rational Team Concert – это мощный механизм составления отчетов, поддерживающий специальные отчеты Eclipse Business Information and Reporting Tools (BIRT). В этой статье объясняется, как создать и использовать общий и настраиваемый шаблон отчета BIRT для анализа тенденций ODC в области проекта Rational Team Concert.
- На рисунке 1 показаны основные этапы процесса ODC. Первая статья посвящена этапам классификации и валидации с точки зрения конфигурации Rational Team Concert. Настоящая статья ориентирована на установку базового набора отчетов ODC, который расширяет функции отчетности Rational Team Concert и создается по одному общему шаблону.
Рисунок 1. Основные этапы процесса ODC
Эта статья тесно связана с этапом оценки и служит руководством по дополнению отчетов Rational Team Concert базовым набором ODC-отчетов, которые можно использовать для анализа данных ODC. Решение, представленное в этой статье, - это максимально универсальное решение, которое облегчает создание многих отчетов ODC по единому шаблону.
В большинстве случаев существует несколько методов анализа ODC. Первый и наиболее простой — представлять все дефекты атрибутами ODC. Второй подход заключается в анализе тенденций по дефектам за определенный период времени. Во внимание принимаются только действительные (valid) дефекты. Здесь очень полезна диаграмма, графически отображающая количество входящих дефектов по выбранным атрибутам ODC (ODC Activity, ODC Trigger, ODC Impact, ODC Defect Type и т.д.) в форме тенденций на шкале времени. Тема этой статьи ― реализация такой диаграммы в виде отчета BIRT.
Цели и предварительные условия
В Rational Team Concert, если набор отчетов по умолчанию не удовлетворяет вашим потребностям, можно создать специальные отчеты. Эту функцию можно использовать для реализации возможностей ODC-анализа.
Основная задача этой статьи ― показать, как можно реализовать специальный отчет Rational Team Concert и как его использовать для анализа тенденций ODC.
- Знания среднего уровня по использованию Rational Team Concert 3.0 в среде Eclipse и Web-клиентах и базовые навыки в области отчетов BIRT.
- Знакомство с концепцией ODC, а также конфигурация, поддерживающая специальные атрибуты рабочих элементов, соответствующих дефектам (об этом говорится в первой статье).
- Чтобы приступить к созданию специальных отчетов, необходимо дополнить Eclipse-клиент Rational Concert плагином BIRT (см. раздел Ресурсы).
Отчеты BIRT в Rational Team Concert
В Rational Team Concert используются отчеты BIRT. BIRT можно установить как плагин в существующий Eclipse-клиент Rational Team Concert. Для создания специальных отчетов этот клиент предоставляет источник данных на базе технологии Jazz™.
Специальные отчеты, созданные в BIRT, отображают множество различных элементов, таких как таблицы, графики, метки, образы и списки. Весь этот контент может быть интерактивным и настраиваемым, так как им управляет код JavaScript внутри BIRT.
Отчеты BIRT обеспечивают более сложные представления данных со многими измерениями, которые нельзя получить посредством запросов Rational Team Concert. Подробнее об отчетах BIRT Rational Team Concert см. в разделе Ресурсы.
Хранилище данных Rational Team Concert
Rational Team Concert предоставляет историческую и фактическую информацию, которая хранится в форме нескольких копий текущего состояния, содержащих определенный набор фактов, измерений и связей. Например, копия текущего состояния рабочих элементов содержит информацию обо всех рабочих элементах, находящихся в хранилище, включая все исторические аспекты, которой в большинстве случаев достаточно для целей отчетности. Следующие инструкции указывают, как начать с самого простого отчета о входящих дефектах.
Когда все требования по отчетности определены, можно приступить к составлению отчета. Рекомендуется начать с самой простой модели данных и диаграммы, использующей этот набор данных, а затем постепенно расширять ее возможности и повышать уровень сложности. В настоящей статье принят именно такой подход; мы начнем с диаграммы входящих дефектов и будем добавлять к ней параметризацию, специальное форматирование и более сложные методы получения корректных данных из хранилища Rational Team Concert. Полный отчет будет содержать параметризацию в списке выбираемых атрибутов ODC и группирование данных по этим атрибутам.
Создание источника данных Jazz
- Убедитесь, что в Eclipse-клиенте Rational Team Concert установлен плагин BIRT и что создано соединение с сервером Jazz группы разработчиков.
- Перейдите к представлению Report Design.
- Создайте новый проект Report и назовите его, например,
RTCReports. - В новом проекте создайте пустой отчет с именем
IncomingDefectsByODCAttribute.rptdesign. - Перейдите к представлению Data Explorer для созданного отчета.
- Щелкните правой кнопкой мыши на узле Data Sources и выберите New Data Source. Необходимо создать источник данных Jazz, который извлекает данные из хранилища Jazz.
- В диалоговом окне (показано на рисунке 2) выберите тип источника данных Jazz.
Рисунок 2. Создание нового источника данных Jazz
- Введите имя нового источника данных. В данном случае используйте данные из копии текущего состояния WorkItem хранилища Jazz и назовите источник данных
WorkItems. - Нажмите кнопку Next.
- В следующем окне введите информацию копии текущего состояния (см. рисунок 3). Можно также проверить соединение, нажав кнопку Test Connection.
- Нажмите кнопку Finish.
Источник данных WorkItems создан.
Рисунок 3. Предоставление информации копии текущего состояния
Создание простого набора данных Jazz
Чтобы приступить к работе с данными рабочих элементов, необходимо создать набор данных, содержащий соответствующие данные, полученные из источника данных.
- Создайте новый набор данных с именем
WorkItemsDS. Убедитесь, что их тип ― Jazz Simple Data Set. - Выберите таблицу в диалоговом окне Fact Information. В данном случае наиболее подходящей будет таблица LIVE_WORKITEM_CNT с актуальными данными рабочих элементов, содержащих специальные атрибуты.
- Если нужно, чтобы в отчете были представлены определенные данные, необходимо выбрать соответствующие столбцы. Например, когда требуется информация о входящих дефектах, количестве дефектов и дате их создания, для получения данных нужно выбрать столбцы CREATION_DATE и WI_COUNT.
- Таблица LIVE_WORKITEM_CNT содержит сведения о рабочих элементах всех типов. Для целей отчетности ODC нужно ограничить результирующий набор только дефектами. Для этого выберите параметр WI_TYPE и пометьте, что для анализа в наборе данных извлекаются только рабочие элементы типа Defect.
- В окне Edit Data Set выберите параметр WI_TYPE и отредактируйте его.
- На рисунке 4 показана строка
'defect'(включая апострофы), выбранная в качестве значения по умолчанию для параметра WI_TYPE во всплывающем окне параметра Edit. - В качестве значения параметра PROJECT_AREA_NAME введите
{Current Project Area}'.
Рисунок 4. Параметры набора данных
- При наличии соединения с сервером Rational Team Concert можно выбрать вкладку Preview Results, чтобы убедиться, что нужные данные загружены. Такой предварительный просмотр очень полезен, когда требуется определить, какие именно данные хранятся в той или иной таблице.
Теперь создадим первую диаграмму, которая отображает данные из созданного набора.
- На представлении Palette выберите Chart, как показано на рисунке 5, и поместите его в область проектирования отчета.
Рисунок 5. Палитра отчета
- В мастере создания новой диаграммы выберите тип диаграммы bar chart и подтип stacked bar.
- Выбор данных из WorkItemsDS:
- Дважды щелкните на входе серии Value (Y).
- В редакторе Expression Builder выберите Available Columns Bindings и наберите
WI_COUNT(см. рисунок 6).
Рисунок 6. Привязка данных с помощью Expression Builder
- Повторите те же шаги для серии Category (X) и выберите CREATION_DATE для вставки. Для CREATION_DATE можно указать группирование и сортировку. На рисунке 7 приведен пример с набором данных, который будет отображаться еженедельно в виде суммы.
Рисунок 7. Группирование и сортировка DateTime
- Отформатируйте диаграмму. Это можно сделать несколькими способами. Для настройки примера диаграммы выберите следующие пункты:
- Value (Y) Series: показывает метки серии;
- X axis: метки отформатированы так, чтобы отображать даты с поворотом на 45 градусов.
- Y axis: отображает основную сетку
- Title: входящие дефекты.
- Нажмите кнопку Finish и измените размеры диаграммы до нужных размеров.
- Нажмите кнопку Preview, чтобы увидеть результат.
Рисунок 8. Пример предварительного вида отчета о входящих дефектах
Входящие дефекты группы по атрибутам ODC
Диаграмма, отображающая несколько дефектов с указанием даты обнаружения, ― хорошая отправная точка для расширения отчета путем группирования дополнительных атрибутов дефектов в таблице. В данном случае сгруппированные данные должны отображаться на базе одного из атрибутов ODC. Чтобы реализовать универсальное решение, необходимо предоставить атрибут ODC в качестве параметра отчета.
Предоставление параметров отчета
Кроме параметров набора данных, можно определить глобальные параметры отчета и использовать их для разных наборов данных. Этот метод гарантирует использование одного и того же значения параметра для многих наборов данных. Значения параметров могут предоставляться как динамические или статические. Во время выполнения можно открыть пользовательский интерфейс параметризации и указать желаемое значение. Тип и способ его отображения зависит от конфигурации параметра.
Рисунок 9. Параметры отчета в представлении Data Explorer
- Чтобы добавить глобальный параметр отчета, щелкните правой кнопкой мыши на поле Report Parameters представления Data Explorer и создайте новый параметр с настройками, показанными на рисунке 10.
В первой статье этого цикла мы показали, как дополнить рабочий элемент дефекта специальными атрибутами для хранения данных ODC. В таблице 1 показаны имена атрибутов ODC и их идентификаторы, которые применялись в процессе настройки, описанном в части 1.
- Добавьте их все в список значений статической выборки как записи типа Value и Display Text. В случае другой конфигурации укажите назначенные идентификаторы для своих атрибутов ODC.
Таблица 1. Имена и идентификаторы специальных атрибутов ODC
| Имя | Идентификатор |
|---|---|
| ODCActivity | odc.activity |
| ODCTrigger | odc.trigger |
| ODCImpact | odc.impact |
| ODCTarget | odc.target |
| ODCDefectType | odc.deftype |
| ODCQualifier | odc.qualifier |
| ODCAge | odc.age |
| ODCSource | odc.source |
Рисунок 10. Добавление нового глобального параметра отчета
- Необходимо также дополнить набор данных специальным значением поля ODC и еще одним параметром. Специальные атрибуты представлены в виде пары ключ-значение в таблице LIVE_WORKITEM_CNT, где ключ – это идентификатор специального атрибута, а значение ― идентификатор литерала.
- Отредактируйте WorkItemsDS и откройте вкладку Fact Information.
- Выберите столбец STRING_VAL.
- В списке Parameters выберите STRING_KEY.
- На панели Parameters измените параметр STRING_KEY и свяжите его с параметром отчета ODCAttribute, как показано во всплывающем окне Edit Parameter на рисунке 11.
Рисунок 11. Добавление к WorkItemsDS параметра, связанного с параметром отчета ODCAttribute
Открыв вкладку Preview Results, вы заметите, что значения STRING_VAL отфильтрованы согласно значению по умолчанию параметра STRING_KEY, который является триггером ODC, но представлены в нечитабельном формате. Этот столбец содержит только идентификаторы литералов, которые хранятся главным образом в таблице Enumerations.
Чтобы перевести идентификаторы литералов в удобные для чтения строки, нужно получить нормальные отображения, которые хранятся в таблице Enumerations.
- Создайте новый набор данных Enumerations.
- Укажите
'{Current Project Area}'в качестве параметра в столбце PROJECT_AREA_ITEMID.
Атрибуты и перечисления ODC, описанные в предыдущей статье, призваны обеспечить уникальные идентификаторы литералов в области проекта. Более того, атрибут ODC и соответствующее перечисление имеют один и тот же идентификатор. Это значительно упрощает решение задачи согласования нужного литерала с его именем в таблице перечислений.
Можно присоединить наборы данных BIRT, которые являются аналогом SQL-таблиц. Этот механизм весьма полезен для представления данных более чем из одной таблицы, как и в том случае, когда имя литерала перечисления не хранится в таблице LIVE_WORKITEM_CNT, но присутствует в таблице ENUMERATIONS.
- В BIRT нужно создать объединенный общий набор данных (Joint Data Set) WorkItemsDS и EnumerationsDS и назвать его, например,
JointDS. - Убедитесь, что в списке Join Types выбрано значение Left Outer Join, в поле WorkItemsDS указан параметр STRING_VAL, а в поле EnumerationsDS ― LITERAL_ID .
Это приведет к объединению нужных имен литералов в данные WorkItemsDS. Выбор Left Outer Join гарантирует, что вы не потеряете никакие данные из WorkItemsDS.
Рисунок 12. Запрос объединенного набора данных (JointDS)
Изменение набора данных диаграммы
Теперь нужно отредактировать диаграмму и обновить раздел данных, указав новый набор данных в поле Use Data From, а затем ввести в поле Optional Y Series Grouping значение из столбца LITERAL_NAME, как показано на рисунке 13.
Рисунок 13. Изменение набора данных диаграммы
Динамическое задание заголовка диаграммы
Можно добавить код JavaScript, чтобы динамически изменять название диаграммы.
Для этого щелкните в области диаграммы и перейдите на вкладку Script. На вкладке Script в функции новых событий onRender добавьте фрагмент сценария, представленный в листинге 1.
JavaScript обеспечивает простое манипулирование значением параметра. Иначе, можно получить информацию по значению текстового отображения параметра, однако для этого потребуется более сложный сценарий, реализация которого выходит за рамки настоящей статьи.
Листинг 1. Функция JavaScript для динамического задания названия диаграммы
function beforeGeneration(chart, icsc)
{
var title = 'Incoming Defects by ODC';
title = title +
icsc.getExternalContext().getScriptable().getParameterValue("ODCAttribute");
chart.getTitle().getLabel().getCaption().setValue(title);
}
|
Задание только действительных дефектов
Для анализа ODC следует учитывать только действительные дефекты. Чтобы реализовать это в своем отчете, введите один или несколько параметров в зависимости от того, как настроен процесс для области вашего проекта, а затем отфильтруйте данные по возможным состояниям или значениям разрешения.
Пример задания параметров WorkItemsDS по столбцу RESOLUTION для извлечения данных только по действительным дефектам приведен на рисунке 14.
Рисунок 14. Установка параметра по умолчанию как списка приемлемых разрешений
Установка шаблона отчета на сервере Jazz
Чтобы отчет BIRT полностью функционировал в среде Jazz, необходимо установить его на сервере Jazz в виде шаблона отчета. Чтобы загрузить отчет на сервер Jazz, выполните следующие действия.
- Откройте перспективу Jazz Administration и представление Team Artifacts.
- Выберите область проекта (Project Area) и разверните ее. Найдите узел Reports в структуре дерева выбранной области проекта.
- Щелкните правой кнопкой мыши на дочернем узле Report Templates и выберите New > Report Template.
- В диалоговом окне, которое появится после добавления нового шаблона отчетов (рисунок 15), введите имя отчета и его идентификатор.
Рисунок 15. Добавление нового шаблона отчетов в область проекта
- Предоставьте другим членам группы доступ к отчету, установив флажок Shared, и выберите Project или Team Area в разделе Sharing.
- В разделе Contents щелкните на Browse и укажите путь к созданному файлу *.rptdesing.
- Снимите флажок Supports data caching.
- Щелкните на кнопке OK, чтобы продолжить установку отчета. Установленный шаблон отчета доступен в списке шаблонов отчетов.
- В папке Shared Reports создайте вложенную папку и назовите ее
ODC. - Найдите шаблон отчета, щелкните на нем правой кнопкой и выберите New report.
- Сохраните его в подпапке Shared Reports папки ODC.
- Откройте отчет и нажмите кнопку справа вверху, чтобы отредактировать параметры.
- Выберите один из доступных атрибутов ODC.
Рисунок 16. Выбор атрибута ODC
Нажмите кнопку Save Copy, введите имя и переместите отчет из папки My Reports в папке ODC. Таким способом можно создать полный набор отчетов ODC с набором параметров для каждого из доступных атрибутов ODC на основе единого общего шаблона.
На рисунке 17 представлены некоторые отчеты в Web-клиенте Rational Team Concert.
Рисунок 17. Входящие дефекты по ODCTrigger для проекта SampleProject
В этой статье изложен метод расширения функций отчетности Rational Team Concert 3.0 в целях поддержки мероприятий ODC Assessment. Этап ODC Assessment имеет критическое значение для понимания и оценки дефектов, что в конечном итоге повлияет на любые необходимые меры по исправлению положения. Более того, для поддержки и успешной реализации преимуществ процесса ODC требуется набор гибких и наращиваемых инструментов. Обращаясь к хранилищу данных Rational Team Concert и используя источник данных Jazz BIRT, вы научились быстро получать надлежащие данные для анализа и представлять эти данные в форме наглядных диаграмм.
Научиться
- Оригинал статьи
- Подробнее о Rational Team Concert:
- дополнительные сведения об отчетах BIRT в Reports Component wiki на сайте Jazz.net;
- cтраница о концепции хранилищ данных в вики Jazz Team;
- статья Data Warehouse Snapshot Schemas на сайте Jazz.net, посвященная предопределенным копиям текущего состояния в Rational Team Concert, которые собирают информацию и записывают ее в хранилище данных;
- Настройка атрибутов в Rational Team Concert 3.0, Patrick Streule (ноябрь 2010 г.), и другие статьи из библиотеки Jazz Library содержат сведения об имеющихся настройках Rational Team Concert 3.0;
- статьи по Rational Team Concert и ссылки на многие другие ресурсы на специальной странице IBM developerWorks. Можно также посмотреть сеанс Web-трансляции Использование Rational Team Concert в глобально-распределенной группе и демонстрацию сводок и отчетов или послушать подкаст об IBM Rational Team Concert и Jazz.
- Подробнее о концепции ODC:
- основы ODC на Web-сайте IBM Research;
- база знаний на Web-сайте Chillarege;
- Ram Chillarege, Inderpal S. Bhandari, Jarir K.Chaar, Michael J. Halliday, Diane S. Moebus, Bonnie K. Ray, Man-Yuen Wong. "Orthogonal Defect Classification -- A Concept for In-Process Measurements." IEEE Transactions on Software Engineering, том 18, №11, ноябрь 1992 г.
- Раздел developerWorks, посвященный Rational, в котором содержатся технические ресурсы и рекомендации по применению продуктов Rational Software Delivery Platform.
- Следите за техническими мероприятиями и Web-трансляциями developerWorks, посвященными различным продуктам IBM и другим актуальным для ИТ-отрасли темам.
- Посетите бесплатный брифинг developerWorks Live!, чтобы быстро познакомиться с продуктами и инструментами IBM и узнать о тенденциях в ИТ-отрасли.
- Демонстрации по требованию на developerWorks - от инструкций по установке и настройке продуктов для начинающих до расширенных функциональных возможностей для опытных разработчиков.
Получить продукты и технологии
- Страница Eclipse BIRT с возможностью загрузки и базой знаний по BIRT.
Обсудить
- Примите участие в форумах по Rational Team Concert на Web-сайте Jazz.net.
- Присоединяйтесь к обсуждению Rational Team Concert и задавайте вопросы в форумах Jazz.net.
- Поделитесь своими знаниями и помогите другим пользователям программного обеспечения Rational, написав статью в developerWorks. Вы получите всемирную известность, распространение через RSS, публикацию своего имени и биографии, а также преимущества профессионального редактирования и издания в разделе Rational Web-сайта developerWorks.
- Следите за новостями о программном обеспечении Rational на Facebook и Twitter (@ibmrational) и добавляйте свои комментарии и пожелания.
