Руководство по Visual Studio 11 Developer Preview

Введение

Идущее с постоянным наращиванием темпов развитие технологии неизбежно приводит к тому, что пользователи ожидают получать производительные и интуитивно понятные приложения с широким набором функциональности. Более того, пользователи хотят иметь возможность выполнять свои приложения на множестве разнообразных устройств: как на мощных стационарных, так и на портативных компьютерах и на смартфонах. Предлагаемые Microsoft инструменты разработки позволяют реализовывать все возможности платформы Windows® в замечательных решениях, создаваемых с применением имеющихся навыков и уже знакомых и полюбившихся технологий. В Microsoft® Visual Studio® 11 Developer Preview разработчики найдут инструменты и шаблоны, с помощью которых смогут создавать приложения с привлекательным пользовательским интерфейсом и реализовывать расширенную функциональность, охватывая все используемые пользователями устройства. Visual Studio 11 Developer Preview определяет новый стандарт инструментов разработки, помогая индивидуальным разработчикам и группам разработки любого размера создавать превосходные решения, которые будут выгодно выделять их заказчиков среди конкурентов.

Предлагаемые Visual Studio 11 Developer Preview новые возможности позволяют разрабатывать инновационные и визуально чрезвычайно привлекательные приложения. С Visual Studio 11 Developer Preview вы можете реализовывать замечательные решения, применяя новые парадигмы программирования Windows® 8 и новые возможности стилевого оформления и обработки сенсорного ввода, обеспечиваемые платформой Windows 8. С Visual Studio 11 Developer Preview вы так же получаете доступ к мощной коллекции технологий, поставляемых с текущей и предыдущими версиями Windows. Это позволяет создавать приложения на основании служб и платформ, предоставляемых Windows Azure™, Microsoft Office, Microsoft SharePoint®, Microsoft SQL Server®, Windows® Phone и Windows Server®. Разработчики веб-приложений получают замечательные инструменты для создания приложений на ASP.NET, Microsoft Silverlight®, HTML и JavaScript. Независимо от того, создаются ли службы для потребителей или реализуются бизнес-решения, Visual Studio 11 Developer Preview предоставляет интегрированную среду разработки, которая обеспечивает создание ПО высокого качества.

В проектировании и создании современного приложения обычно принимает участие множество специалистов, обладающих различными навыками: от дизайна привлекательных пользовательских интерфейсов, до эффективной реализации бизнес-логики, тщательного и своевременного тестирования, развертывания и сопровождения приложения. Интегрированный инструментарий Visual Studio, ее возможности проектирования и тестирования позволяют разработчикам с легкостью создавать решения высокого качества. Взаимодействие и эффективный обмен информацией являются фундаментальными аспектами любого проекта по разработке ПО. Visual Studio 11 Developer Preview упрощает взаимодействие участников и оптимизирует поток данных в рамках группы. Microsoft Visual Studio Team Foundation Server 11 Developer Preview– это централизованное хранилище и узел интеграции, объединяющий инструменты, процессы, артефакты проектов и упрощающий внутриконтекстное взаимодействие участников группы на разных этапах разработки и платформах. Team Foundation Server 11 Developer Preview в стандартной комплектации поддерживает ряд проверенных методик, но группы могут выбирать или настраивать процесс разработки, а также то, как они будут организовывать свою работу.

Часто для создания успешных решений группы используют множество разных платформ. Team Foundation Server 11 Developer Preview позволяет участникам гетерогенных групп разработки – групп, разрабатывающих приложения на и для различных платформ, с применением разнообразных инструментов, – сосредоточиться на едином интегрированном представлении процесса разработки независимо от платформы, для или на которой ведется разработка.

Team Foundation Server 11 Developer Preview полностью интегрируется с популярными клиентскими инструментами, такими как Visual Studio, Microsoft Test Manager и Visual Studio Team Explorer, а также с Team Explorer Everywhere, который предназначен для участников, использующих интегрированные среды разработки (IDE) на базе Eclipse, и вспомогательными инструментами, такими как Microsoft Excel® и Microsoft Project. Благодаря интеграции с Microsoft Project Server заинтересованные бизнес-стороны и руководители проектов получают возможность отслеживать состояние и ход выполнения проектов, анализировать реализацию бизнес-требований и участвовать в определении путей улучшения текущих процессов. Выбирая единую интегрированную среду в качестве стандарта, гетерогенные группы разработки могут улучшить координацию совместной деятельности и сократить эксплуатационные расходы. Иначе говоря, участники группы могут сосредоточиться на реализации функциональности для заказчиков, вместо того чтобы тратить время на обмен сведениями между ролями.

Предварительная версия Microsoft Visual Studio Team Foundation Service сочетает в себе мощь Team Foundation Server 11 Developer Preview, простоту и эффективность Windows Azure, а также высокую доступность и масштабируемость Microsoft SQL Azure™. Группы любого размера могут приступать к работе немедленно, концентрируя все силы на создании ПО высокого качества, реализующего все требования заказчиков, тогда как все задачи по управлению ИТ берет на себя Microsoft.

Управление жизненным циклом приложения с Visual Studio 11 Developer Preview и Visual Studio Team Foundation Server 11 Developer Preview

Почему рекомендуется использовать Visual Studio 11 Developer Preview с Visual Studio Team Foundation Server 11 Developer Preview?

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

Visual Studio 11 Developer Preview и Team Foundation Server 11 Developer Preview помогают решить эти вопросы, предоставляя набор универсальных инструментов, обеспечивающих поддержку и управление всем жизненным циклом приложения. Основные цели Visual Studio 11 Developer Preview и Team Foundation Server 11 Developer Preview:

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

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

Повышение эффективности и сокращение потерь

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

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

Включение заказчиков в процесс разработки

Основное условие успешной разработки приложения – слушать заказчиков и создавать именно то, что они хотят. Чтобы помочь в понимании и документировании требований пользователей, Visual Studio 11 Developer Preview предоставляет инструменты для моделирования пользовательских историй. С помощью этих инструментов группа разработки получает возможность обсуждать с пользователями и визуализировать их требования, понимать, как пользователи предполагают использовать приложение. Модель может сохраняться в Microsoft SharePoint и подключаться к рабочим элементам Team Foundation Server 11 Developer Preview для предоставления контекст разработчикам.

В гибкой среде разработчики должны иметь возможность быстро демонстрировать результаты своего труда и получать отзывы пользователей, опять же, в четком, ясном и лаконичном виде. Visual Studio 11 Developer Preview включает инструменты, с помощью которых заинтересованные стороны могут просматривать ПО и давать практически применимые отзывы. В соответствии с этими отзывами группа будет формировать задачи, планировать их реализацию и распределять их между участниками группы. Отзывы хранятся в базе данных Team Foundation Server 11 Developer Preview, к ним имеют доступ разработчики, отвечающие за включение всех необходимых изменений.

Включение заказчиков в процесс разработки

Другой обычный источник потерь времени – сам инструментарий. Разработчикам, вынужденным использовать незнакомые инструменты, необходимо время для обучения работе с ними. Кроме того, разработчики не могут быть эффективными, если им приходится использовать инструменты, не соответствующие их стилю работы. Обозреватель проекта интегрирует возможности, предоставляемые Team Foundation Server 11 Developer Preview в Visual Studio 11 Developer Preview, делая их интуитивно доступными и позволяя разработчикам осуществлять их задачи в привычной среде. Но Team Foundation Server 11 Developer Preview и Visual Studio 11 Developer Preview не обязывают следовать какой-либо определенной методике, они могут использоваться с любым наиболее удобным для группы подходом к разработке, будь то гибкий или более формальный методы, такой как описываются в интегрированной модели зрелости процессов ПО (Capability Maturity Model Integration, CMMI).

Разработчикам и руководителям проектов необходима возможность эффективного обмена информацией с другими участниками группы, работающими над тем же проектом. Все участники процесса разработки должны иметь абсолютно одинаковое понимание решения и разделять общие приоритеты. С Visual Studio 11 Developer Preview разработчики и руководители проектов получают возможность предоставлять контекст в ходе обмена информацией. Это обеспечивает аналогичное видение и полное понимание выполняемых задач, а также того, как они сопоставляются друг с другом. Кроме того, Visual Studio 11 Developer Preview дает представление состояния проекта в реальном масштабе времени, гарантируя информирование всех участников о ходе его выполнения в реальном масштабе времени.

Управление жизненным циклом современного приложения

Современное ПО должно рассматриваться как «живой» ресурс, жизненный цикл которого охватывает действия, представляющие весь жизненный путь продукта в целом, начиная от определения бизнес-требований, включая разработку, тестирование, развертывание, сопровождение и обслуживание, вплоть до окончательного вывода приложения из эксплуатации. Таким образом, используемый набор инструментов для управления жизненным циклом приложения должен обеспечивать разработку, тестирование и развертывание приложения, а также быть достаточно гибким для обработки отзывов от эксплуатационного персонала и соответствующего реагирования на них. В ходе эксплуатации ПО будут выявляться дефекты. Набор инструментов должен обеспечивать средства для регистрации проблем, чтобы группа разработки могла устранить их и предоставить эксплуатационному персоналу все сведения, необходимые для развертывания исправлений. Такое взаимодействие предполагает обязательную связь между процессами, осуществляемыми группой разработки в ходе сборки и обслуживания ПО, и процессами, используемыми группами эксплуатации для управления ПО, находящимся в производственной эксплуатации. Разработчики и эксплуатационный персонал должны иметь возможность эффективной координации совместной деятельности. Это поможет избежать возникновения узких мест, которые приведут к задержкам и снижению эффективности при передаче задач между этими двумя группами, особенно при наличии пространства для недопонимания.

Visual Studio 11 Developer Preview помогает объединить разработку и эксплуатацию в общий рабочий процесс, сокращая возможные возмущения. Возьмем типовой сценарий: группа эксплуатации сообщает об ошибке в используемом ПО, но группа разработки не может воспроизвести ее вне среды производственной эксплуатации. Для помощи в подобных ситуациях была расширена функциональность Microsoft IntelliTrace®, и в нее была добавлена поддержка среды производственной эксплуатации. Теперь группа эксплуатации может фиксировать и записывать последовательность событий, приведших к ошибке, и сохранять данные прослеживания вместе с соответствующими данными об условиях эксплуатации в Visual Studio Team Foundation Server 11 Developer Preview. Затем эти сведения вместе с любыми другими наблюдениями передаются на рассмотрение группе разработки для дальнейшего анализа. Впоследствии руководитель проекта создает соответствующий рабочий элемент и назначает его для выполнения одному из разработчиков. Рабочий процесс помогает ускорить передачу информации между группами разработки и эксплуатации, обеспечивает своевременное устранение дефектов и развертывание обновленного ПО.

Возможности управления жизненным циклом приложения в Visual Studio 11 Developer Preview

Visual Studio 11 Developer Preview строится на функциональности, которая была доступна в предыдущих версиях, и интегрируется с Team Foundation Server 11 Developer Preview для реализации хранилища данных, в котором размещаются подробные сведения запланированных для выполнения задач (журнал невыполненных работ). Эти данные доступны всей группе разработки. Предлагаемая новая реализация Visual Studio сохраняет возможности предыдущих версий, такие как инструменты для поддержки настраиваемого процесса разработки, интегрированные средства регистрации изменений в системе управления версиями и изъятия файлов из нее для редактирования, автоматическое формирование отчетов в режиме реального времени. Также она содержит рабочие процессы, которые активно включают деятельность группы тестирования в жизненный цикл приложения, таким образом, улучшая процессы контроля качества проекта разработки.

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

В Visual Studio 11 Developer Preview также включены новые инструменты, улучшающие взаимодействие с основной заинтересованной стороной любого проекта – пользователями. Мы обеспечиваем возможности, благодаря которым пользователи могут полностью интегрироваться в процесс разработки и давать ясные и практически применимые отзывы о решении. Как упоминалось ранее, улучшена поддержка для эксплуатационного персонала, выступающего от лица пользователей после того, как приложение развернуто. Теперь они могут предоставлять исчерпывающую информацию о дефектах и других аспектах системы, которая необходима группам разработки.

Мы оптимизировали интерфейс обозревателя проекта в Visual Studio 11 Developer Preview, избавив тем самым группу разработки от массы поводов для отвлечения внимания, что могло иметь место при реализации сложных проектов. Благодаря этому они получили возможность работать быстрее и эффективнее.

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

Примечание: В приведенных в данном разделе примерах используется шаблон процесса Скрам для Visual Studio Team Foundation Server 11 Developer Preview. Не забывайте, что Team Foundation Server 11 Developer Preview нечувствителен к применяемой методологии. Мы предоставляем шаблоны проектов для некоторых общих методов гибкой разработки, которые можно импортировать и настроить соответственно собственным требованиям. Также доступны и другие шаблоны для разных процессов разработки и, естественно, пользователи вольны разрабатывать и публиковать собственные шаблоны.

Управление проектом

Для Visual Studio Team Foundation Server 11 Developer Preview мы реализовали улучшенный веб-интерфейс. Приложение Visual Studio Team Foundation Server 11 Developer Preview Web Access предоставляет насыщенный интерфейс, доступ к которому осуществляется с помощью веб-браузера через веб-портал. Также были реализованы элементы управления для обработки сенсорного ввода, что обеспечивает быстрое и естественное взаимодействие с устройствами с сенсорным вводом.

С помощью приложения Web Access заинтересованные стороны, которые, возможно, не имеют доступа к Visual Studio 11 Developer Preview, получают чрезвычайно простой способ взаимодействовать с остальной группой. Например, пользователи могут просматривать свои рабочие элементы.

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

Приложение Web Access является идеальным инструментом для территориально распределенных групп: все участники группы видят одно и то же представление одних и тех же данных, располагающихся в одном и том же экземпляреTeam Foundation Server 11 Developer Preview.

Если вы используете процесс Скрам и у вас установлен шаблон Скрам, с помощью приложения Web Access проект может быть разбит на рабочие элементы. Затем эти рабочие элементы распределяются между спринтами в журнале невыполненных работ по проекту. Рабочие элементы могут включать развернутый текст и иллюстрации для обеспечения дополнительной информациии практически применимых отзывов для разработчиков.

Участники проекта могут просматривать данные отдельных спринтов и редактировать их для разбиения входящих в них элементов на задачи.

Приложение Web Access позволяет перемещать элементы методом «drag-and-drop» и реорганизовывать их в случае необходимости изменения приоритетов работ. Задачи можно перераспределять в другие спринты, опять же, просто «перетянув» их в спринт в крайней слева панели.

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

Здесь вы можете быстро увидеть, насколько сильно загружен каждый из участников группы, и сколько еще работы ему можно поручить. В случае если кто-то из участников перегружен, можно перераспределить задачи другим участникам группы и выровнять нагрузку или перепланировать элемент журнала невыполненных работ на более поздний спринт.

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

Несомненно, задачи могут быть назначены участникам группы, только если их загруженность позволяет им принять участие в данном проекте. Окно планирования нагрузки приложения Web Access обеспечивает возможность регистрировать и корректировать степень загруженности любого участника группы – в случае, если кто-то хочет пойти в отпуск, например – и корректировать загруженность группы соответствующим образом.

Доска задач позволяет управлять состоянием задач, составляющих элементы журнала невыполненных работ. Например, можно просматривать, какие задачи находятся в процессе выполнения, какие еще не были запущены и какие задачи завершены. Когда участники группы приступают к выполнению и завершают задачи, с помощью операций «drag-and-drop» их можно перемещать по доске задач, получая полное и соответствующее текущему состоянию дел представление хода выполнения проекта.

Еще одна ключевая возможность доски задач – набор правил рабочего процесса, которые не допускают возникновение случайных ошибок. Например, предположим, вы пытаетесь переместить задачу из столбца Done (Выполненные) назад в столбец In Progress (В работе) без назначения дополнительных трудозатрат, необходимых для их выполнения. В этом случае на панели задач будет обозначена ошибка.

Свойства задачи можно редактировать, указывая, какой объем работ необходим для ее выполнения.

По умолчанию на доске задач отображаются все задачи для каждого из рабочих элементов. Если требуется увидеть задачи, назначенные определенному разработчику, просто выделите этого участника группы. Также здесь можно и перераспределять задачи. Это осуществляется путем их перемещения методом «drag-and-drop» между разработчиками.

В двух словах, Web Access позволяет с легкостью управлять проектом, оценивать загруженность группы разработки, определять приоритетность работ, управлять зависимостями и отношениями между рабочими элементами и разработчиками, отслеживать состояние проекта и контролировать весь ход выполнения проекта в целом. Данные проекта являются динамическими, и разработчик, использующий Visual Studio 11 Developer Preview, немедленно видит любые изменения.

Сбор требований пользователя

Storyboarding Tool (Инструмент моделирования пользовательских историй) – подключаемый модуль Microsoft PowerPoint®, с помощью которого разработчики получают возможность взаимодействовать с пользователем для сбора бизнес-требований и планирования будущей функциональности приложения.

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

Это упрощает взаимодействие с группой пользователей: вы можете демонстрировать модель пользовательских историй через проектор и вносить изменения прямо на ходу в процессе обсуждения с пользователями. Также ее можно рассылать по электронной почте и собирать отзывы от пользователей в автономном режиме. Для просмотра модели пользователям необходимо иметь лишь Microsoft PowerPoint.

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

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

Повышение производительности разработчиков

Основное назначение Visual Studio 11 Developer Preview – помощь в повышении производительности труда разработчиков. Для этого в Visual Studio 11 Developer Preview включены ряд новых возможностей. Они обеспечивают простой механизм быстрой координации совместной деятельности разработчиков, работающих над одним проектом. Благодаря этим возможностям разработчик может сосредоточиться на задачах по созданию качественного ПО.

Обозреватель проекта

Обозреватель проекта (Team Explorer) является основным интерфейсом, имеющимся в распоряжении разработчика для взаимодействия с Visual Studio Team Foundation Server 11 Developer Preview. В Visual Studio 11 Developer Preview обозреватель проекта был изменен с целью обеспечения более организованного пользовательского интерфейса, который упрощает многие задачи, осуществляемые участниками группы. Обозреватель проекта использует асинхронную передачу для извлечения и сохранения данных в Visual Studio Team Foundation Server 11 Developer Preview, что сокращает время отклика. Также обозреватель проекта предоставляет ссылку на приложение Web Access, по которой можно быстро запустить Team Foundation Server 11 Developer Preview Web Access.

На панели My Work (Мои задачи) перечислены задачи, назначенные разработчику, и отображается состояние их выполнения. Именно с этим окном обычный разработчик будет взаимодействовать большую часть времени. Чтобы получить доступ к данным или начать редактировать задачу, необходимо просто щелкнуть ее правой кнопкой мыши. Кроме того, по ссылке View All (Все) можно получить все сведения обо всех задачах Visual Studio 11 Developer Preview в формате, аналогичном используемому в приложении Web Access.

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

Остальные панели обозревателя проекта обеспечивают доступ к другим важным выполняемым разработчиком функциям и необходимым ему данным. Например, панель Work Items (Рабочие элементы) дает более развернутое представление всех рабочих элементов проекта.

По ссылке New Work Item (Создать рабочий элемент) разработчик может быстро описать дополнительные рабочие элементы и добавитьих в проект.

С помощью панели Pending Changes (Ожидающие регистрации изменения) разработчик может извлекать исходный код для редактирования и регистрировать произведенные в коде изменения в Team Foundation Server 11 Developer Preview. На панели Pending Changes отображается контекст операции регистрации изменений, благодаря чему разработчик может быстро убедиться в том, что сохранены соответствующие файлы, и обозначить соответствующий выполненный рабочий элемент.

Конечно же, имеется и окно Source Control Explorer (Обозреватель системы управления версиями), с помощью которого разработчики могут выполнять операции изъятия файлов для редактирования и регистрации изменений на уровне исходных файлов.

Наборы временно отложенных изменений

При работе над сложным кодом файлы могут быть открыты в нескольких окнах на нескольких мониторах, код может изобиловать точками останова, будут открыты окна просмотра и т.д. Предположим, в разгар всего этого заходит руководитель проекта и просит вас отложить текущую работу и взяться за срочную задачу, которая касается другого фрагмента кода. На случай такой ситуации Visual Studio 11 Developer Preview позволяет сохранять не только задачу, но и всю среду разработки в том состоянии, в котором вы вынуждены ее отложить. Таким образом, вы можете переключиться на другую срочную задачу и затем возобновить работу над текущей, испытывая минимальное негативное влияние вынужденного перерыва.

Чтобы сохранить текущий контекст, можно просто щелкнуть Suspend (Приостановить) на панели My Work обозревателя проекта. Team Foundation Server 11 Developer Preview сохраняет код и настройки в виде набора временно отложенных изменений в базе данных Team Foundation Server 11 Developer Preview. Набор временно отложенных изменений – это сериализованное представление среды, включая состояние и местоположение всех открытых окон.

Чтобы продолжить работу, необходимо выбрать набор отложенных изменений из списка приостановленных задач. Visual Studio 11 Developer Preview загружает код и настройки из базы данных Team Foundation Server 11 Developer Preview, восстанавливает все окна, окна просмотра, точки останова и другие конфигурационные данные, обеспечивая возможность разработчику возобновить работу именно с того момента, на котором она была прервана.

Рецензирование кода

В Visual Studio Team Foundation Server 11 Developer Preview улучшены возможности координации совместной деятельности разработчиков, что является фундаментальным аспектом управления жизненным циклом приложения. Одно из улучшений – разработчики теперь могут запрашивать и выполнять рецензирование кода с помощью обозревателя проекта. Эта возможность определяет в Team Foundation Server 11 Developer Preview рабочий процесс, который сохраняет состояние проектаи направляет участникам группы запросы на рецензирование в виде рабочих элементов. Как обычно в TFS, эти рабочие процессы не ориентированы на какой-либо конкретный процесс и методику. Благодаря этому рецензирование кода может быть включено в жизненный цикл проекта в любой удобный момент.

Перейдя по ссылке Request Review (Запросить рецензию) на панели My Work, вы получаете возможность создать новую задачу по рецензированию кода и назначить ее одному или более разработчикам.

Visual Studio Team FoundationServer 11 Developer Preview создает наборы временно отложенных изменений и сохраняет их в базе данных Visual Studio Team Foundation Server 11 Developer Preview.

После этого данный запрос на рецензирование кода отображается для всех рецензентов в панели My Work обозревателя проекта.

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

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

По завершении рецензирования с помощью кнопки Finish (Готово) панели Code Review (Рецензирование кода) рецензент может предоставить краткий отзыв.

Разработчик, запросивший рецензию, увидит результаты рецензирования в разделе Code Reviews & Requests (Рецензии и запросы на рецензирование кода ) панели My Work обозревателя проекта.

Щелкнув рабочие элементы рецензирования, разработчик может проверить комментарии, сделанные рецензентом, и включить в код все изменения, внесенные в ходе рецензирования.

Анализ дублирований в коде

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

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

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

Инструмент анализа дублирований в коде обладает довольно развитой логикой: он не просто выполняет поиск идентичных фрагментов кода, с помощью разработанной отделом Microsoft Research эвристической методики он выявляет семантически аналогичные конструкции.

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

Непрерывное модульное тестирование

В Visual Studio 11 Developer Preview предусмотрено средство выполнения модульных тестов, которое может обеспечивать непрерывное их выполнение в фоновом режиме, в то время как разработчики продолжают работу над кодом. Результаты тестирования можно видеть немедленно, т.е. разработчикам не приходится прерываться и ожидать результатов. Анализ влияния изменений в коде на тесты гарантирует первоочередное выполнение наиболее важных тестов, благодаря чему любые дефекты выявляются за считанные секунды.

В Visual Studio 11 Developer Preview возможности модульного тестирования обновлены, теперь стало проще работать с такими средами тестирования сторонних производителей, как NUnit, xUnit и т.д. Данная возможность является расширяемой. Например, в ближайшем будущем мы планируем поддерживать машинный код, что позволит писать тесты в машинном коде и тестировать машинный код.

Модульное тестирование полностью интегрируется в проекты. Обозреватель модульных тестов в Visual Studio 11 Developer Preview позволяет вручную выполнять тесты, определенные для проекта, и просматривать результаты.

Для непройденных тестов Visual Studio 11 Developer Preview представляет причину сбоя и данные трассировки стека. Вы можете щелкнуть ссылку на строку, в которой произошел сбой, выяснить его причину, внести необходимые коррективы и выполнить модульный тест снова.

Произвольное тестирование

Модульное тестирование – это плановая операция, в основе которой лежит определенный и хорошо структурированный набор тестов. Тем не менее, наиболее явные дефекты часто выявляются в результате произвольного исследования приложения. Чтобы поддержать этот метод, Microsoft Test Manager обеспечивает возможность выполнять произвольное тестирование и записыватьвсе возникающие ошибки.

Инструмент для произвольного тестирования идеально подходит для реализации гибкого тестирования. В частности, он позволяет:

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

  • Быстро формировать практически применимые отчеты об ошибках. В ходе выполнения приложения возможно непредвиденное поведение. Инструмент произвольного тестирования позволяет формировать отчет об ошибке, в который автоматически включаются выполненные шаги, обусловившие такое поведение. В случае необходимости эти шаги можно редактировать или менять их очередность перед сохранением отчета об ошибке. Также в обозревателе проекта этот отчет об ошибке может быть подключен к задаче, а задача – назначена для выполнения одному из разработчиков.

  • Создавать тестовые случаи. В дополнение к записи отчетов об ошибках можно формировать тестовые случаи на основании шагов, которые привели к возникновению ошибки. Опять же, эти шаги можно редактировать, менять их последовательность и дополнять. Таким образом, группа тестирования может проверить, что ошибка действительно устранена, после обновления кода разработчиком. Эти тестовые случаи хранятся в хранилище диспетчера тестов (Test Manager).

  • Управлять сеансами произвольного тестирования. По завершении тестирования можно вернуться в Microsoft Test Manager, который сохраняет подробные данные сеанса тестирования и включает такую информацию, как продолжительность сеанса, какие новые ошибки были выявлены и какие тестовые случаи созданы.

Обратная связь с заказчиком

ПО создается для заказчиков и конечных пользователей, поэтому их отзывы очень важны для успешного выполнения проекта. С Visual Studio 11 Developer Preview поставляется инструмент Feedback Manager (Диспетчер обратной связи). С его помощью ключевые заинтересованные стороны могут своевременно предоставлять группе разработки практически применимые отзывы. Эти отзывы включают не просто текстовые комментарии, но и видеозаписи, снимки экрана и аудиокомментарии, что помогает пользователю конкретно обозначить все имеющиеся проблемы. Эти элементы обеспечивают разработчику контекст для понимания того, какие действия пользователя привели к возникновению проблемы или какая функция реализована неправильно.

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

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

Формирование отчетов об ошибках в ходе производственной эксплуатации

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

IntelliTrace для производственной эксплуатации является инструментом отладки с ведением журнала, который записывает последовательность событий, приведших к непредвиденному поведению. Сведения, собираемые IntelliTrace, включают диагностические данные, детали сформированных исключений, стек вызовов и данные трассировки давшего сбой кода. Все собранные IntelliTrace данные сохраняются и впоследствии могут воспроизводиться участником группы разработки с помощью Visual Studio 11 Developer Preview. Разработчик может применять эти сведения для отладки приложения в Visual Studio 11 Developer Preview так же, как если бы оно выполнялось в среде производственной эксплуатации.

Visual Studio Team Foundation Server 11 Developer Preview в облаке

Visual Studio Team Foundation Server 11 Developer Preview обеспечивает мощное хранилище для данных проекта, но, как любое серверное ПО, требует некоторых усилий для правильной установки, конфигурации и управления. Также по мере увеличения числа проектов, которые будут использовать его возможности, может понадобиться расширение платформы, предоставляющей хостинг, для поддержки дополнительной нагрузки. Более того, Visual Studio Team Foundation Server 11 Developer Preview становится важной частью инфраструктуры разработки, поэтому вы должны быть готовы обслуживать его, что включает и выработку соответствующей стратегии восстановления в аварийных ситуациях. Эти требования лишь увеличивают и без того существенные требуемые капиталовложения и затраты времени.

Чтобы решитьвсе эти проблемы, мы разместили Team Foundation Server 11 Developer Preview в Windows Azure.

Простая регистрация и немедленный веб-доступ

Visual Studio Team Foundation Service Preview предлагает простой интерфейс для регистрации, с помощью которого группы могут создаватьи полностью настраивать систему гибкого управления жизненным циклом приложения в считанные мгновения. Чтобы начать работу, необходимо просто зайти на портал и предоставить свой адрес электронной почты.

Укажите URL своего экземпляра Visual Studio Team Foundation Server 11 Developer Preview, примите условия предоставления услуг и щелкните Create my Account (Создать учетную запись). Тут же учетная запись будет создана, и система гибкого управления жизненным циклом приложения настроена и готова работе.

После этого могут быть зарегистрированы и добавлены в службу участники группы. Эта служба является размещенной, доступ к Visual Studio Team Foundation Server 11 Developer Preview имеют все участники группы независимо от того, где они находятся. Для работы им просто необходимо выполнить вход в систему и предоставить свои учетные данные.

Таким образом, данное решение является идеальным для территориально распределенных групп: не важно, где вы находитесь, для работы с Visual Studio Team Foundation Server 11 Developer Preview вам необходимо только сетевое соединение.

Легкость взаимодействия с внешними заинтересованными сторонами

Координация совместной деятельности и обмен данными являются одними из основных элементов любого успешного проекта по разработке ПО. На разных этапах проекта может потребоваться участие пользователей или специалистов, которые либо не являются сотрудниками исполняющей компании, либо рассредоточены территориально. Предоставление доступа к системе и сети этим внешним заинтересованным сторонам и участникам всегда было непростой задачей. Решалась она либо через создание локальных учетных записей для этих пользователей и предоставление доступа через виртуальную закрытую сеть (virtual private network, VPN), либо через установку экземпляра сервера в пограничной сети. Для проведения этих мероприятий требуются квалифицированные специалисты по безопасности и во многих случаях выделенная инфраструктура, а также строгие политики безопасности и управление безопасностью.

Даже если вам повезло и у вас есть необходимые ресурсы для такого сценария, его реализация все равно требует времени. При использовании Visual Studio Team Foundation Server 11 Developer Preview доступ к системе предоставляется в считанные секунды, и Microsoft берет на себя заботы по обеспечению безопасности и мониторингу инфраструктуры. От вас требуется лишь ввести адреса электронной почты сотрудников, которым вы ходите предоставить доступ, на портале администрирования пользователей. После этого можно указать проекты, к которым эти пользователи получают доступ, и операции, которые они могут выполнять.

Нет необходимости в управлении инфраструктурой

Используя Visual Studio Team Foundation Server 11 Developer Preview в облаке, разработчики могут посвящать больше времени созданию замечательного ПО, вместо того чтобы заниматься управлением оборудованием или обновлением ПО. Администратору Visual Studio Team Foundation Server 11 Developer Preview не надо беспокоиться о низкоуровневых задачах по администрированию, таких как обновление операционной системы или ПО, создание резервных копий, установка исправлений для сервера или решение проблем, связанных со сбоем оборудования или энергоснабжения. Все это Microsoft берет на себя.

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

Поддержка гетерогенных сред

Visual Studio 11 Developer Preview – идеальный «партнер» для Visual Studio Team Foundation Server 11 Developer Preview, но это не единственная используемая среда разработки. Многие организации работают с другими популярными интегрированными средами разработки, построенными на базе Eclipse. Важной особенностью Visual Studio Team Foundation Server 11 Developer Preview является его способность интегрироваться с этими инструментами, благодаря чему разработчики могут продолжать работать в привычной среде.

Точно так же, несмотря на то что Hyper-V ™ является предпочтительной платформой для развертывания и управления виртуальными машинами при тестировании приложений, ряд крупных предприятий заинтересованы в альтернативных ИТ-инфраструктурах облака,таких как VMware. Visual Studio 11 Developer Preview обеспечивает расширенные возможности по управлению лабораториями тестирования, которые интегрируются с любой инфраструктурой тестирования.

Разработка приложений

Группы, использующие интегрированные среды разработки на базе Eclipse – такие как IBM Rational Application Developer, Adobe Flex Builder или Aptana Studio – могут подключаться к Visual Studio Team Foundation Server 11 Developer Preview и использовать преимущества его возможностей посредством Team Explorer Everywhere.

В Team Explorer Everywhere имеется подключаемый модуль для Eclipse, который обеспечивает обширный набор возможностей, доступных в Visual Studio 11 Developer Preview. Например, в нем можно просматривать и редактировать рабочие элементы, обеспечивать поддержку версий кода разрабатываемого приложения, отслеживать дефекты, формировать отчеты и получать представление состояния всего проекта в реальном масштабе времени. Панель обозревателя проекта интегрируется прямо в среду разработки Eclipse.

Данный подключаемый модуль также добавляет в меню Team (Группа) команды, обеспечивающие поддержку таких возможностей Visual Studio Team Foundation Server 11 Developer Preview, как регистрация изменений в системе управления версиями, изъятие файлов для редактирования и управление версиями.

Управление лабораториями тестирования

Team Foundation Server 11 Developer Preview позволяет управлять лабораториями тестирования без затрат времени на установку и конфигурацию Microsoft System Center Virtual Machine Manager (SCVMM). Visual Studio Team Foundation Server 11 Developer Preview предоставляет базовую конфигурацию, которая может использовать из Microsoft Test Manager для создания стандартных сред путем группировки виртуальных машин, развернутых в закрытой инфраструктуре облака. Для создания среды понадобится запустить всего один мастер, и этот мастер создаст все необходимые агенты и автоматически установит и конфигурирует их на виртуальных машинах тестирования.

Стандартные среды могут использоваться для ручного или автоматизированного тестирования или как часть автоматизированного процесса сборка-развертывание-тестирование. Для получения дополнительных возможностей, таких как мгновенные снимки среды, можно продолжать создавать среды вручную с помощью SCVMM. Team Foundation Server 11 Developer Preview поддерживает SCVMM 11, в который внесены ряд улучшений для упрощения процесса управления инфраструктурой лабораторий тестирования.

Заключение

Проектирование, разработка, развертывание и обслуживание успешных приложений – это коллективный процесс, в котором участвуют множество специалистов, выполняющих разнообразные роли. Team Foundation Server 11 Developer Preview обеспечивает масштабируемое хранилище, что способствует активному и эффективному обмену данными между участниками групп, работающими над проектом. Поставляемые с Team Foundation Server 11 Developer Preview инструменты позволяют разработчикам, заказчикам и эксплуатационному персоналу собирать чрезвычайно подробные и практически применимые данные о поведении приложения. Обозреватель проектав Visual Studio 11 Developer Preview обеспечивает специализированное представление состояния проекта и различных поставленных перед разработчиком задач в реальном масштабе времени. Все вместе эти возможности способствуют повышению эффективности совместной деятельности группы, повышая тем самым продуктивность всего процесса разработки.