Основные этапы выполнения проекта

В состав пакета для управления разработкой ПО на всех этапах проекта входят:

• интегрированные средства моделирования сетевых и веб-приложений, работающие с учетом требований к ИТ-инфраструктуре;

• инструменты анализа качества кода и его производительности, позволяющие создавать надежные корпоративные приложения;

• средства нагрузочного тестирования, помогающие обеспечить требуемую производительность приложений.

Рассмотрим пример проекта, реализуемый при помощи VSTS. Инструментарий используется на каждом этапе проекта.

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

Создание плана проекта. На данном этапе VSTS предлагает определить спектр реализуемой функциональности и создать план проекта. Основой определения объема работ служат специальные продукты, типы которых задаются в выбранной методологии. К примеру, для MSF Agile это сценарии, которые описывают функции, необходимые будущим пользователям системы, а также требования к качеству обслуживания, описывающие характеристики будущей системы.

Сбором и анализом требований занимается бизнес-аналитик, который вполне может обходиться без VSTS. Тем не менее VSTS предлагает удобную среду для консолидации собранных требований, их анализа и последующей связи с другими артефактами проекта, такими как задачи, исходный код, тестовые случаи и т.п. Для сбора данных и планирования можно пользоваться как VSTS, так и Microsoft Excel и Microsoft Project.

Создание сайта проекта и библиотеки документов. На этом этапе члены команды наполняют сайт проекта, который создается на основе технологии Windows SharePoint Services. Сайт (рис. 33) содержит шаблоны типовых документов, рабочие документы (сценарии, план проекта, описание тестов) и описания выбранной методологии ведения проекта.

Основные этапы выполнения проекта - student2.ru
Рис. 33. Пример сайта проекта

Установка политик изменения кода и сборка. Для успешной работы команды следует настроить политики помещения (Check-In) кода в базу исходного кода Team Foundation Source Control (TFSC). Эта база основана на SQL Server 2005 и позволяет решать многие проблемы, присущие Visual SourceSafe (такие как ограничение числа пользователей или использование файловой системы как основы для хранения информации). Кроме того, TFSC предлагает новые функции, такие как возможность помещения кода в базу без выполнения Check-In (в таком случае код не становится частью последующей сборки).

Поскольку политики задают правила помещения кода в базу, можно требовать от разработчиков выполнения формальных условий (таких как именование кода), а также выполнять на помещаемом коде модульное тестирование. Выдаваемый средой Visual Studio 2005 (VS05) список предупреждений, связанных с несоблюдением заданных политик, приведен на рис. 34.

На данном этапе специалист, ответственный за сборку решения, настраивает параметры сервера сборки. Этот сервер, называемый Team Build, позволяет подготовить систему к выпуску на самом раннем этапе разработки. Результатом сборки становится отчет о ее выполнении, сохраняемый в VSTF.

Основные этапы выполнения проекта - student2.ru
Рис. 34. Список предупреждений, связанных с политиками

Создание логической структурырешения и его развертывание. В составе редакции VSTA поставляются инструменты для архитектора, позволяющие создавать три типа диаграмм: архитектура компонентов решения Application Diagram (рис. 35); инфраструктура развертывания Logical Datacenter Diagram; описание размещения компонентов на серверах инфраструктуры Deployment Diagram. На данном этапе архитектор создает диаграмму сервисов, составляющих решение, и связей между ними. Для описания архитектуры используются крупные блоки, такие как база данных, настольное приложение, Web-приложение или Web-сервис. Кроме того, архитектор описывает условия работы будущего приложения, например требования к версии операционной системы.

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



Основные этапы выполнения проекта - student2.ru
Рис. 35. Пример Application Diagram

На данном этапе проводится проверка на готовность системы к развертыванию компонентов. Связь Application Diagram с Logical Datacenter Diagram позволяет верифицировать соответствие существующей инфраструктуры развертывания проекта требованиям архитектуры проектируемой системы.

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

Создание тестовых сценариев для блочного тестирования. VSTS включает в себя средства для поддержки разработки, ориентированной на тестирование (Test Driven Development), с помощью которых наряду с исходным кодом системы создаются небольшие программы для модульного тестирования. Для того чтобы максимально автоматизировать этот процесс, VSTS генерирует базовые классы для блочного тестирования, проверяет полноту тестов и встраивает блочное тестирование в процесс сборки.

Статический анализ кода и профилирование. Сейчас сборка исходного кода приложения состоит из процесса компиляции, в результате которой создается исполняемый код приложения. VSTT позволяет расширить этот процесс, выполняя после компиляции статический анализ. Например, для анализа кода программ на C/C++ используется утилита PREfast, а для проверки формальных правил разработки классов .NET — утилита FxCop. Кроме того, анализ эффективности работы приложения может быть выполнен средствами профилирования — мониторинга с помощью отбора проб и с помощью измерений. Их применение позволяет значительно повысить качество и производительность кода.

В состав VSTT входят средства для управления сценариями тестирования. Отдельные тесты можно объединять в коллекции, создавая наборы как для полного, так и для регрессионного тестирования. Поддерживаются ручные тесты, описание которых хранится в виде текстового файла, а запуск осуществляется инженером по качеству вручную и Web-тесты, которые служат для проверки Web-страниц или HTTP-запросов. Для управления тестами используется среда VS05. Созданные тесты вместе с кодом помещаются в Team Foundation Version Control.

Нагрузочное тестирование. Для проверки эффективности работы системы могут быть созданы нагрузочные тесты — сценарии тестирования и определения отказоустойчивости системы. Создаваемые разработчиком модульные тесты также не возбраняется использовать в таких целях. Для мониторинга работы приложения можно применять стандартные счетчики производительности Windows Performance Counter.

Любая проектная деятельность, выполняемая под контролем VSTF, может быть проанализирована при помощи автоматически создаваемых отчетов. В качестве сервера отчетов используется SQL Server 2005 Reporting Services, а все типы отчетов зафиксированы в методологии. Например, для MSF Agile такими отчетами являются оставшаяся работа (Remaining Work), производительность работы команды (Velocity), незапланированная работа (Unplanned Work), показатели качества (Quality Indicators), сходимость тестирования (Bug Rates), анализ возвратов (Reactivations), ошибки в соответствии с приоритетом (Bugs by Priority), качество против производительности (Actual Quality versus Planned Velocity).

VSTS, по сути, — это большой конструктор, который каждая рабочая группа настраивает для своих нужд. Например, можно создавать собственные методологии, расширять атрибуты рабочих продуктов, интегрировать правила и политики, а также инструменты для профилирования, настраивать внешний вид портала проекта и типы тестов. Кроме того, любая компания может расширить возможности как VSTS, так и VS05; свои расширения представили, в частности, Borland, Business Objects, IBM и Oracle.

Наши рекомендации