Новые возможности отчетов для Visual Studio ALM
Текущий выпуск Visual Studio Team Foundation Server позволяет выполнять мониторинг командных проектов и отслеживать качество программного обеспечения при разработке с помощью нескольких отчетов и панелей мониторинга по умолчанию. Кроме того, можно быстро создавать отчеты по текущим и прошедшим тенденциям из запросов рабочих элементов. В этом разделе рассматриваются новые функции и изменения, представленные в текущем выпуске, которые поддерживают создание и настройку отчетов.
Содержание раздела
Готовые отчеты и панели мониторинга
Быстрое создание отчетов из запросов рабочего элемента
Изменение атрибутов отчетности полей данных
Создание отчетов по нескольким командным проектам
Изменения в хранилищах данных
Создание отчетов по реляционным базам данных
Готовые отчеты и панели мониторинга
Просматривать и отслеживать ход выполнения можно с помощью готовых отчетов, которые предоставляются в шаблонах процессов Microsoft Solutions Framework (MSF). Помимо отчетов, которые можно просматривать с помощью диспетчера отчетов, представленного в предыдущих выпусках Team Foundation, в текущем выпуске представлены дополнительные отчеты и Excel-версии многих отчетов на основе служб отчетов SQL Server. С помощью новых отчетов можно отслеживать состояния описаний функциональности или требований, тенденции ошибок, тенденции проблем, ход выполнения и производительность.
Обзор отчетов и панелей мониторинга, представленных в текущем выпуске шаблонов процессов MSF, см. соответствующие разделы в следующей таблице:
Артефакт |
MSF для гибкой разработки программного обеспечения версии 5.0 |
|
---|---|---|
Отчеты диспетчера отчетов |
||
Отчеты Excel |
||
Панели мониторинга |
В следующей таблице описывается сравнение отчетов текущего выпуска, которые были переименованы или переделаны:
Отчет в предыдущих выпусках |
Сравниваемый отчет в данном выпуске |
---|---|
Фактическое качество в сравнении с плановой скоростью |
|
Скорость |
|
Показатели ошибок |
|
Ошибки по приоритету |
|
Индикаторы качества |
Создание отчетов из запросов рабочих элементов
В Microsoft Excel можно создать несколько отчетов, отражающих текущее состояние и данные хронологии на основе условия фильтрации, задаваемого в запросе рабочих элементов плоского списка. Это полезно для отображения распределения рабочих элементов согласно выбранному условию или для просмотра тенденций за последние несколько недель. Кроме того, это эффективный способ быстрого создания отчетов сводной таблицы и сводной диаграммы, которые можно настраивать для поддержки других представлений отчетов.
При создании отчетов Excel на основе запроса отчеты, которые требуется создать, можно выбрать на основе переменных, используемых для фильтрации запроса, и выбираемого условия. С помощью этих методов можно создавать отчеты следующих типов.
Текущие отчеты: круговые диаграммы, отображающие число рабочих элементов согласно условию фильтрации, заданному в запросе рабочих элементов.
Отчеты по тенденциям: графики, отображающие распределение рабочих элементов за последние шесть недель согласно условию фильтрации, заданному в запросе рабочих элементов. После создания отчетов можно легко изменить диапазон дат.
Каждый отчет содержит несколько листов, на каждом из которых отображаются отчет сводной таблицы и отчет сводной диаграммы с данными, извлеченными из куба служб аналитики SQL Server.
Дополнительные сведения см. в разделе Создание отчетов в Microsoft Excel при помощи запросов рабочих элементов.
Изменение атрибутов отчетности полей данных
В текущем выпуске в определение полей рабочего элемента добавлено два атрибута отчетности, а также добавлена возможность изменения атрибутов существующего поля. Добавлены следующие атрибуты отчетности:
reportingrefname. Полю, помеченному как включаемое в отчеты, можно назначить другое ссылочное имя. Если этот атрибут не задан, используется значение, присвоенное атрибуту refname;
С помощью этого атрибута можно объединять или разделять входящие в отчеты поля. Чтобы объединить два поля с разными ссылочными именами, которые определены в разных коллекциях командных проектов, присвойте этим полям одинаковое значение атрибута reportingrefname. Чтобы разделить два поля с одинаковым ссылочным именем, которые определены в разных коллекциях проектов, присвойте этим полям разные значения атрибута reportingrefname.
reportingname. Можно назначить другую метку полю, которое используется для отображения данных в отчетах. Если значение не задано, используется понятное имя, присвоенное атрибуту name. Значение, присвоенное атрибуту reportingname, отображается в кубе. Значение, присвоенное атрибуту reportingrefname, в кубе не фигурирует.
Изменить назначение атрибута полю можно с помощью команды witadmin changefield. Дополнительные сведения см. в разделе Добавление и изменение полей рабочих элементов для поддержки отчетов.
Создание отчетов по нескольким коллекциям командных проектов
Теперь можно создавать отчеты по данными, собранными из нескольких командных проектов, которые хранятся в различных коллекциях проектов. Все включаемые в отчеты данные из всех командных проектов, определенных во всех коллекциях проектов развертывания Visual Studio Team Foundation Server, записываются в одну реляционную базу данных. Данные из этого хранилища затем обрабатываются и записываются в куб служб аналитики. Сбор данных в едином хранилище позволяет создавать межгрупповые отчеты. На следующем рисунке показано несколько фильтров, которые можно использовать для создания отчетов по нескольким командным проектам и коллекциям проектов.
Примечание
Поскольку работа с полями рабочего элемента в каждой коллекции проектов происходит по-разному, при назначении разных определений одному или нескольким атрибутам отчетности поля могут возникать конфликты.Дополнительные сведения см. в разделе Разрешение конфликтов схемы, возникающих в хранилище данных;
Изменения в хранилищах данных
Все включаемые в отчеты данные из всех командных проектов, определенных во всех коллекциях проектов развертывания Team Foundation Server, записываются в одну реляционную базу данных. Данные из этого хранилища затем обрабатываются и записываются в куб служб аналитики. Сбор данных в едином хранилище позволяет создавать отчеты сразу по нескольким коллекциям командных проектов.
Важно!
После обновления с предыдущей версии Team Foundation Server можно просматривать обновленные отчеты.Дополнительные сведения см. в разделе Обнаружение отчетов после обновления до Team Foundation Server 2010.
Уникальность значений идентификаторов
С появлением в текущем релизе коллекций командных проектов имена командных проектов должны быть уникальными только в пределах коллекции. Идентификаторы рабочих элементов уникальны только в пределах коллекции, но не в пределах развертывания коллекций. Поскольку хранилище данных содержит данные по всем коллекциям командных проектов, при создании запросов для рабочих элементов к хранилищу в них следует также включать GUID командного проекта этого рабочего элемента.
Изменения и дополнения, внесенные в схему
В текущем выпуске сделан ряд изменений в схеме куба служб аналитик. Благодаря этим изменениям куб стал более удобен в использовании, повысилась производительность и расширились возможности перевода. Кроме того, выполнен ряд изменений для поддержки расширенной инфраструктуры в Team Foundation Server, а также для поддержки добавления объектов, позволяющих отслеживать рабочие элементы, таких как типы связей, категории и тестовые случаи. В схеме сделаны следующие изменения:
число измерений было уменьшено с более чем 60 до менее чем 25;
большинство размерностей из предыдущих версий схемы теперь являются атрибутами измерений "Тестовый случай" и "Рабочий элемент";
измерения "Область" и "Итерация" переработаны и теперь представляют собой атрибуты измерений "Тестовый случай" и "Рабочий элемент", имеющие вид подлинных иерархий глубиной 14 уровней, аналогичных предоставляемым операционным хранилищем отслеживания рабочих элементов;
большинство групп мер, мер, измерений и атрибутов переименованы;
добавлены новые измерения для поддержки новой функциональности отслеживания рабочих элементов;
для повышения удобства использования в измерения "Тестовый случай" и "Рабочий элемент" добавлены папки отображения. Поля группируются в папки на основе ссылочных имен, присвоенных каждому полю. Атрибуты измерений организуются в папки на основании отчетного ссылочного имени, присвоенного в определении типа рабочего элемента.
Подробное описание всех изменений и дополнений, внесенных в куб, см. в разделе Изменения и дополнения схемы куба служб аналитик.
Обработка хранилища данных
Для управления хранилищем данных можно использовать веб-службу управления хранилищем. В этом выпуске данная веб-служба была переименована и переработана. Кроме того, в этом выпуске изменилась частота обновления куба по умолчанию. Теперь она равна двум часам. Это значение можно изменить с помощью службы ChangeSetting. Дополнительные сведения см. в разделе Управление хранилищем данных и кубом служб аналитики.
Создание отчетов по реляционным базам данных
Теперь создание отчетов по реляционным базам данных поддерживается официально. Как правило куб служб аналитики используется для журналов отчетов или отчетов, требующих сегментации нескольких параметров агрегата данных. Куб является лучшим вариантом для работы с такими отчетами. Тем не менее, реляционная база данных позволяет создавать отчеты, для которых слабо связанные данные извлекаются вместе, что невозможно при использовании куба.
Представления
Теперь для работы с хранилищем можно использовать некоторые общедоступные представления. Имена всех этих представлений заканчиваются словом "View", например WorkItemHistoryView. На следующем рисунке показаны общедоступные представления, с помощью которых можно создавать отчеты.
Примечание
Для обработки куба используются представления, которые начинаются с буквы "v" и заканчиваются словом "Overlay".Не используйте эти представления при создании отчетов на основе данных реляционной базы данных.
Имена таблиц
В текущей версии реляционной базы большинство имен таблиц было изменено. В предыдущих версиях большинство имен таблиц содержало пробелы, что приводило к проблемам с некоторыми средствами создания отчетов. Переименованные таблицы облегчают определение подключения таблиц из хранилища данных к соответствующим сущностям в кубе.
Примечание
В будущем будут изменены имена таблиц, начинающиеся с символа подчеркивания (_).Не используйте эти таблицы при создании отчетов на основе данных реляционной базы данных.
В новом хранилище данных имена не содержат пробелов и имеют префикс, указывающий на их использование, как описано в следующей таблице.
Префикс |
Описание |
---|---|
dbo.Dim |
Таблица содержит данные измерения. Это значит, что данные будут отображены в кубе в части измерений. Один столбец обычно предоставляется под каждый атрибут или иерархию в измерении. На следующем рисунке показаны таблицы измерений для Team Foundation. В кубе таблица DimWorkItem в иерархии измерения будет отображаться под рабочим элементом. |
dbo.Fact |
Таблицы фактов, содержащие значения ячеек, которые являются мерами в кубе. На следующем рисунке показаны таблицы фактов для Team Foundation. У таблиц фактов имеются внешние ключи для таблиц измерений. Например, таблица FactWorkItemHistory содержит столбец с именем StateChangeCount, который в кубе относится к мерам и располагается в папке мер рабочего элемента. |
Компенсирующие записи
При работе с данными журнала в хранилище следует помнить о компенсирующих записях. Компенсирующие записи определены в таблицах и представлениях, содержащих информацию из журнала, например в представлении WorkItemHistoryView. Компенсирующие записи используются для создания агрегата данных.
При обновлении рабочего элемента членами команды создается его редакция и пара записей добавляется в хранилище. Одна запись отменяет последнюю предыдущую запись, а следующая запись добавляет измененные значения в рабочий элемент. Каждая из них эффективно инвертирует (компенсирует) предыдущую редакцию рабочего элемента.
Также с компенсирующими записями связаны два столбца System_ChangedDate и System_RevisedDate. Первый столбец System_ChangedDate указывает, когда было внесено изменение в рабочий элемент. Второй столбец указывает дату следующего изменения рабочего элемента. Например, предположим, что задача была создана в 10:53 15.05.2009, а затем в 11:23 следующего дня этот рабочий элемент был изменен. Вы должны увидеть записи такие же, как в следующей таблице.
System_ChangedDate |
System_RevisedDate |
Оставшаяся работа |
RecordCount |
---|---|---|---|
10:53 5/15/2009 |
11:23 5/16/2009 |
20 |
1 |
10:53 5/15/2009 |
11:23 5/16/2009 |
-20 |
-1 |
11:23 5/16/2009 |
0:00 1/1/9999 |
10 |
1 |
Первая запись, которая была изменена в 11:23, является исходной записью. Следующая запись отменяет первую запись и добавляется с тем же временем в качестве третьей записи. Затем третья запись становится текущей записью, что отображено в столбце System_RevisedDate, в котором задано максимальное значение для столбца типа DATETIME.
Запрос SUM
Можно определить текущие оставшиеся трудозатраты на определенную дату, как показано в следующем запросе SUM.
SELECT SUM(Microsoft_VSTS_Scheduling_RemainingWork)
FROM WorkItemHistoryView WHERE System_Id = 108
AND ProjectNodeGUID = 'A8657108-E085-4DE5-B14C-97DAA378D46E'
Хотя можно использовать запрос SUM, добиться лучшей производительности можно с помощью запроса As Of.
Запрос As Of
Можно создать запрос As Of, возвращающий только последние записи для каждого рабочего элемента, который был изменен до определенной даты. Например, следующий запрос As Of возвращает оставшиеся трудозатраты на конец дня 16.05.2009.
SELECT System_Id, Microsoft_VSTS_Scheduling_RemainingWork
FROM WorkItemHistoryView WHERE System_ChangedDate < '5/16/2009'
AND System_RevisedDate >= '5/16/2009'
AND RecordCount > 0
AND ProjectNodeGUID = 'A8657108-E085-4DE5-B14C-97DAA378D46E'
Этот же результат можно получить при выполнении запроса к кубу. Этот запрос возвращает только последние записи для каждого рабочего элемента, который был изменен до 16.05.2009. Предложение System_RevisedDate извлекает только последнюю запись, которая была изменена до 16.05.2009, поскольку запрос находит одну запись, которая была изменена до этой даты и исправлена после нее. Если запись ни разу не редактировалась, дата будет записана как 9999 год. Кроме того, данный запрос выполняет тест на положительное значение в столбце RecordCount. У компенсационных записей, которые отменяют предыдущую запись, в столбце RecordCount всегда содержится значение -1.
См. также
Основные понятия
Создание и настройка отчетов для Visual Studio ALM, а также управление ими
Другие ресурсы
Добавление и изменение полей рабочих элементов для поддержки отчетов
Управление хранилищем данных и кубом служб аналитики
Обнаружение отчетов после обновления до Team Foundation Server 2010