Harvest: ключ к управлению проектами

Источник: Interface
Зайцев С.Л.

Оглавление

Основная методология

Работу с Harvest можно рассматривать как решение ряда административных и повседневных задач. Административные задачи выполняются главным образом при первоначальном развертывании Harvest. Обычно их выполняет сотрудник, назначенный администратором Harvest (Harvest Administrator). В эти задачи входит установка репозитория, определение используемых жизненных циклов, настройка групп пользователей и присвоение полномочий доступа.

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

Если нужно поддерживать несколько версий одного приложения, Harvest предоставит необходимые для этого средства. Например, легко можно создать «проект» для срочного обслуживания и отделить эти изменения от текущих в другой версии. Интегрированная функция слияния позволяет в течение последующего процесса разработки автоматизировать слияние некоторых или всех изменений и исключить трудоемкое ручное объединение. Можно параллельно разрабатывать как кратковременные, так и долговременные проекты, причем устраняется опасность нежелательного влияния проектов друг на друга.

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

Harvest представляет собой клиент-серверное приложение. Клиентская и серверная части могут выполняться на одном и том же компьютере, а могут быть и распределены на нескольких платформах. Клиентская часть Harvest состоит из графического интерфейса пользователя (GUI - graphical user interface) и интерфейса командной строки. Для платформы UNIX клиентская часть состоит из интерфейса командной строки. В дополнение к поддержке командной строки пользователи могут также использовать Harvest Web Client для выполнения функций CM на платформе UNIX. Серверная часть содержит почти всю программную логику.

Основные преимущества Harvest

Адаптируемость: Harvest помогает создавать и модифицировать модели собственных процессов и жизненных циклов разработки с помощью стандартных операций с использованием мыши (point-and-click). Затем эти модели жизненных циклов используются для управления внесением изменений в ПО, отслеживания выполнения планов и уведомления всех участников процесса. При внесении изменений в процесс разработки модель можно в соответствии с ними легко обновить.

Удобство и простота использования: Интерфейс пользователя Harvest реализован с помощью передовой технологии GUI. Главным критерием при его создании было удобство использования и минимальное обучение. В интерфейсе используются пиктограммы и панели инструментов, а для большинства часто используемых функций можно использовать комбинации клавиш. Также доступна полная оперативная справка.

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

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

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

Поддержка автоматизации технологических процессов бизнеса: Harvest помогает создавать и изменять модели собственных технологических процессов бизнеса с помощью простых действий мышью. Это ПО использует ваши модели для постоянного контроля изменений, отслеживания планов и обновления информации. Благодаря автоматизации технологических процессов также автоматизируются многие рутинные задачи, включая уведомления, одобрения и переход изменений из одной фазы в другую.

Интеграция инструментов: Интерфейсы ко многим популярным интегрированным средам разработки (IDE - integrated development environment), таким как Visual Basic, Visual C++, IBM Visual Age for Java и IBM WebSphere, позволяют разработчикам выполнять повседневные функции CCM, не покидая свою среду разработки.

Полное решение: Не только программисты, но и все функциональные группы, вовлеченные в процесс разработки и поддержки, могут выиграть от использования Harvest. Можно управлять всем процессом разработки, включая отслеживание проблем, управление изменениями, компоновку, тестирование, обеспечение качества, документирование и выпуск версий. Широкие возможности отчетности поддерживают функции контроля на всем протяжении процесса.

Открытая архитектура: Открытая архитектура Harvest позволяет легко получить доступ к информации CCM. Вместо того чтобы разрабатывать еще один стандарт баз данных (БД), управляющая информация хранится в обычной коммерческой БД. Форматы таблиц Harvest полностью документированы. Доступ к информации из БД обычно можно получить из графического интерфейса пользователя, но можно и напрямую обращаться к БД для получения отчетов или интеграции с другими средствами разработки.

Открытая архитектура

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

Этот клиент по протоколу TCP/IP с любой платформы обменивается данными с центральным сервером Harvest, который может работать на любом компьютере под операционной системой (ОС) UNIX или Windows. Сервер выполняет всю обработку и управляет доступом к репозиторию CCM, который также может быть распределен по другим компьютерам в сети.

Благодаря такой архитектуре ПО, Harvest может обеспечивать максимальный уровень масштабируемости и поддерживать растущие коллективы разработчиков и географически разрозненные филиалы.

Интерфейс управления версиями (VCI - Version Control Interface) позволяет интегрировать Harvest с другими средствами разработки. Например, можно получать доступ к функциям управления версиями в Harvest через интегрированную среду разработки Microsoft Visual C++.

Внедрение Harvest

Приведенный ниже рисунок показывает иерархию объектов в Harvest.

Далее приводится краткое описание объектов Harvest. Объекты уровня Harvest являются глобальными. Это означает, что они доступны во всех проектах, определенных в пределах установленного экземпляра Harvest:

  • Брокер. Программа на коммуникационном уровне Harvest, которая предоставляет доступ к вашему локальному компьютеру. Каждому локальному компьютеру брокер назначает соответствующий сервер.
  • Проект. Проект представляет целую структуру управления в Harvest, которая поддерживает отдельную работу по разработке или поддержке.
  • Пользователи. Это люди, определенные в Harvest.
  • Группы пользователей. Отдельных пользователей можно включать в одну или более групп с целью управления доступом и настройки процессов.
  • Формы. Формы Harvest можно использовать так же, как и бумажные формы. Например, их можно использовать для отслеживания проблем и вопросов, либо как структурированный метод связи.
  • Репозитории. Harvest поддерживает управление данными через один или более репозиториев. Репозиторий может быть связан более чем с одним проектом.

    Объекты уровня проекта отдельны для каждого проекта Harvest. К ним относятся состояния, пакеты, группы пакетов, представления, элементы, пути элементов и объекты, которые из них выводятся.

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

Примечание: Процесс представляет собой действие, которое может быть выполнено над объектом в Harvest. Определенные для состояния процессы указывают, какие виды деятельности могут выполняться в этом состоянии.

  • Пакеты. Пакет является основной единицей работы, которая проходит через жизненный цикл. Он обычно представляет проблему, которую необходимо отслеживать, и любые изменения, сделанные в связи с этой проблемой. Пакеты могут назначаться пользователям и переходить из одного состояния жизненного цикла в другое на основании одобрения пользователя.
  • Группы пакетов. Проект может иметь много пакетов. Группа пакетов позволяет логически объединять связанные пакеты. Пакет может принадлежать одной группе, нескольким группам, либо не принадлежать никакой группе.
  • Элементы. Элемент указывает на компонент репозитория. Это необходимо для различения данных вне репозитория и внутри него.
  • Версии. Версии создаются при изменении элемента. Версия представляет начальный элемент и все изменения, связанные с предыдущими версиями.
  • Представления. Представления определяют версии элемента, видимые для какого-то состояния. Базовые представления являются начальной отправной точкой жизненного цикла проекта. Рабочие представления отделяют функциональные рабочие области. Рабочее представление определяет, какие версии элемента доступны пользователям. Фиксированные представления представляют собой доступные только на чтение изображения рабочего представления в отдельной точке жизненного цикла проекта. Фиксированное представление может использоваться для поддержки базовой линии (базового представления) нового жизненного цикла проекта.
  • Пути представления. Каталоги внутри репозитория указываются с помощью путей представлений, чтобы отделить их от каталогов во внешней файловой системе.

Термин "проект" указывает на целую структуру управления в Harvest, которая поддерживает отдельную деятельность по разработке или сопровождению. Проект Harvest имеет «жизненный цикл», который описывает и управляет потоком операций, которые происходят в рамках проекта. Жизненный цикл проекта состоит из состояний, процессов, представлений и настроек доступа.

Анализ текущей деятельности по разработке и поддержке ПО и сопоставление ее с жизненным циклом является важным и первым этапом успешного внедрения Harvest. Перед тем, как реально попытаться установить в Harvest жизненный цикл, рассмотрите следующие вопросы и составьте план.

  • Сколько функциональных групп вовлечено в жизненный цикл? Какие из этих групп нуждаются в изоляции своей деятельности друг от друга, а какие могут совместно использовать общую рабочую область?
  • Сколько можно указать различных этапов разработки? В какие моменты требуются утверждения и от кого? Кого следует уведомлять, когда изменения готовы перейти из одной фазы в другую?
  • Какие операции происходят на каждом отдельном этапе разработки и кто их должен выполнять?
  • Как будет использоваться отслеживание проблем при разработке? Будет ли у проблем свой собственный жизненный цикл в проекте поддержки или они будут создаваться в проекте разработки?

Далее приводится типичная последовательность для определения нового жизненного цикла проекта:

  1. Создайте проект Harvest.
  2. Определите базовую линию проекта.
  3. Создайте пользователей и группы пользователей.
  4. Определите управление доступом для различных объектов проекта.
  5. Уточните процессы жизненного цикла, необходимые для функций управления изменениями.
  6. Выполните функции управления пакетами: представитель пакета и связь форм.

Приведенный ниже рисунок показывает некоторые основные компоновочные блоки, используемые для создания жизненного цикла Harvest:

В этом примере существует пять состояний. Назначение запросов на изменения (Assign CR) представляет собой состояние, в котором создаются пакеты для реализации запросов на изменения (CR - change request). Разработка (Development) представляет собой состояние, в котором разработчики изменяют код, а в состоянии тестирования блоков (Unit Test) они тестируют свои изменения. Обеспечение качества (QA) представляет собой состояние, в котором специалисты тестируют приложение, а в состоянии производства (Production) находится код, готовый к выпуску.

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

Изменения, сделанные в пакете в представлении данных DEV, не видны в других состояниях, которые не используют это представление. В этом примере после завершения тестирования пакета в состоянии тестирования блоков он переводится в состояние обеспечения качества, которое находится в представлении TEST. После этого представление TEST обновляется последними изменениями пакета. Изменения, сделанные в представлении DEV другими пакетами, не появляются в представлении TEST до тех пор, пока эти пакеты не пройдет контроль качества.

Функции основного окна

После регистрации в Harvest появляется основное окно. Оно отображает объекты Harvest и их отношения, а также предоставляет доступ к функциям. Окно делится на четыре панели: слева находится панель задач, в середине находится рабочая область, справа находится представление документов, а внизу находится журнал вывода. Строка текущего состояния представляет собой горизонтальную область в нижней части окна. Она предоставляет информацию о текущем пункте меню, который выбран в основном окне.

Вид окна Harvest Administrator:

Вид окна Harvest Workbench:

Имеется четыре панели окна:

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

Рабочая область. Рабочая область показывает все объекты Harvest, к которым у вас есть доступ. Брокер Harvest изображается в виде рабочей станции и определяется именем брокера. Пиктограмма брокера находится в верхней части иерархического дерева в рабочей области.

После регистрации в окне Harvest Administrator рабочая область будет состоять из пяти страниц-закладок: жизненные циклы (Lifecycles), репозитории (Repositories), группы пользователей (User Groups), формы (Forms) и файлы (Files). Если вы войдете в окно Harvest Workbench, то увидите только закладки "Файлы" (Files) и "Проекты" (Projects). В каждой закладке объекты отображаются в иерархическом формате (за исключением форм).

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

Журнал вывода. Большинство операций в Harvest генерируют выходные данные. Эти данные могут быть как целью операции (например, получение отчетов), так и носить информативный характер (например, документировать результаты операции). Выходные данные отображаются в журнале в нижней части основного окна. Информацию из этого журнала можно напечатать, скопировать или сохранить во внешнем файле.

Совет: При регистрации с административными полномочиями основное окно называется окном администратора (Administrator) предоставляет функции, подходящие для администратора. При регистрации в качестве пользователя основное окно называется рабочим местом (Workbench) и предоставляет функции, необходимые для пользователя.

Использование меню процессов

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

Часть 2


Страница сайта http://test.interface.ru
Оригинал находится по адресу http://test.interface.ru/home.asp?artId=2236