Datasheet
62
❘
CHAPTER 1 VISUAL STUDIO 2010
don ’ t overwrite or lose each other ’ s changes. In terms of its features and usability compared with VSS, TFS
is much more capable of supporting remote team members. A project that literally takes hours to download
remotely from VSS can download in a few minutes from TFS.
However, that covers just the source control features; and as mentioned previously, TFS goes well beyond
source control. In particular, TFS approaches project development from the role of the project manager. It
doesn ’ t consider a Visual Studio project fi le to represent the defi nition of a project. Instead, it recognizes
that a project is based on a customer or contract relationship, and may consist of several seemingly
unrelated projects in Visual Studio. Thus, when you defi ne a project you create an area where all of the
projects and solutions and their associated source fi les can be stored.
As part of the creation process you select a process template — and third - party templates are available —
and create a SharePoint website based on that template. The SharePoint website becomes the central point of
collaboration for the project ’ s team. In addition to hosting the documentation associated with your selected
software development process, this site acts as a central location for task lists, requirements, Microsoft
project fi les, and other materials related to your project. In essence, TFS leverages SharePoint to add a group
collaboration element to your projects.
As important as this is, an even more important capability TFS supports is that of a build lab. TFS
provides another optional product called Team Foundation Build , which leverages the Visual Studio build
engine to enable you to schedule automated builds. This isn ’ t just a simple scheduling service; the Team
Foundation Build engine not only retrieves and compiles your application fi les, but also sends update notices
regarding the status of the build, and can be instructed to automatically leverage some of the ALM tools
such as Code Analysis and Unit Testing. The capability to automate your builds and deploy them on a daily
basis to a test environment encourages processes that both focus on product quality and mirror industry
best practices.
Team Explorer is a Visual Studio add - in on steroids. It includes not only new menu items for Visual Studio, but
also a new window similar in concept to the Solution Explorer but that instead provides access to your TFS
projects. It also provides a series of windows in Visual Studio, some of which are related to source control, and
others related to tasks. TFS is in many ways the single most important tool in the ALM product line.
Team Foundation Server also includes new features for 2010. One of these, Team Project Collections,
provides a means of better organizing your TFS server. In the past all of your TFS projects were in one
giant collection and any form of hierarchy was entirely voluntary. With TFS 2010 and Team Project
Collections it is possible to create divisions within your projects. Thus, you can create different groups
for different departments and can group access control, storage, and backup operations as appropriate for
each division.
Be aware that there are two versions of TFS 2010. One is designed to provide a rich
collaborative environment for a large organization. The other is a simpler version
which omits some of the high - end integration with things like Project Server but which
enables a small organization to replace any legacy VSS installations. The details of TFS
are beyond the scope of this book.
Code Analysis
Code analysis, or static code analysis, is a tool for reviewing your source code — although that ’ s not quite
how it works. The basic paradigm refl ects the fact that there are certain common best practices when
writing code; and that once these best practices have been documented, a tool can be written that examines
source code and determines whether these practices have been followed. Visual Studio ’ s static code analysis
is incorporated into your project settings for Windows Forms - based projects, as shown in Figure 1 - 43. For
Web applications, there isn ’ t a project fi le to hold the project settings, so it is possible to confi gure and run
static code analysis from the website menu in Visual Studio.
CH001.indd 62CH001.indd 62 4/5/10 11:57:06 AM4/5/10 11:57:06 AM