Introduction and getting started With TFS (Team Foundation server)

Source: Internet
Author: User

In the two sections of this article, I will introduce some core features of the team Foundation server, focusing on how these features are combined in the daily application of this product.

As a software developer, in my career, I often use a large number of development tools that support the software development process, such as version control tools, vulnerability tracking packages, script language generation, unit testing framework, and requirement analysis tools. On the. NET platform, a large number of support tools can work independently. However, in order to make the various tools cooperate with each other, manual work is often required.

With the announcement of the team Foundation server component in the Visual Studio product line, Microsoft has made great progress in the rigid application of software projects. This is not because the product's various new features must be the best, but the key factor is its integration.

Team Foundation ServerStart

Team Foundation server (TFS) is a server product that needs to be deployed in a software development environment so that developers can use the services it provides. Because TFs is designed for large-scale teams, there are two topology structures available: Dual server and single server.

In a single server deployment, TFS is installed on windous 2003 Server, and SQL Server 2005 database server, webserveriis, and Windows SharePoint Services are installed on this machine. This type of installation can meet the needs of a large number of users and is suitable for most of the conditions.

The dual-server deployment separates the database engine and Analysis Service Components of SQL Server 2005 and installs them on different machines, in this way, scalability can be achieved (by increasing the space for a large number of user attention operations and installing different data warehouses for processing loads on different machines, such a machine can be up to 64 bits .)

After tfsserver is installed, the client can notify the server by installing team explorer. Team Explorer is a group of components that contain a simple version of Visual Studio 2005 (assuming that you have installed Visual Studio 2005 on a machine, you cannot add it again? Many other functions) and a large number of plug-ins for Microsoft Excel and project. Using Excel and project, you can submit questions about data stored in the team Foundation Server database.

Team Explorer can be used by administrators to ask about the following features of team Foundation server:

  • Process Guidance
  • Work Item tracking
  • Version Control
  • Self-generated
  • Report

Create a Team Project

Before a development team can use the team Foundation server, it is necessary to create a team project that represents a management unit where all team activities occur. To create a team project, the team Foundation server administrator must open the Visual Studio 2005 and team explorer tool forms (from the View menu ). After opening the team explorer form, you can establish a connection to the server.

Right-click the server node in the tree view, and the TFS administrator can select "create Team Project ". In fact, this option is generally hidden. It can be seen that there are very few cases where you need to create a team project. In most cases, a software development team has only one team project in the lifecycle of a large software.

When creating a team project, the first thing the development team needs to do is to decide which development model to use.


Select Development Model

Team Foundation server agrees with the development team to select whatever specific software development method they want. The following lists two development models:

  • Agile model-driven software development
  • Capability Maturity Integration Model Software Development

Each development model has a set of unique custom features, including defining work items (what to do, what to determine, requirements, etc.), process management and reporting. The following table shows the breakdown of different work items in two default development models:

Agile model-driven software development

Capability Maturity Integration Model Software Development

 

Vulnerabilities

Quality of service requirements

Risks

Scenario

Task

Vulnerabilities

Change Request

Problem

Requirement

Recall

Risks

Task

In this case, even if the number and name of work items are different, you should specify the general methods for using the two development models, instead of the development team, they can guess how they should use these work item types. The development model can include some optional Process Management pages.

 

Suppose the models in the dialog box are not suitable for your detailed requirements. You can customize them to meet your requirements. In fact, there are already a large number of third-party development models available, such as scrum and process mentor. 

FAQ work item Storage

After a team project is created, the first thing the development team needs to do is to break down the initial work item set that has been created. These work items help developers complete a series of activities that can make the software project start successfully, and select different work items according to different development models. By expanding the Team Project node, you can see the work item directory, continue to expand, and then open the Query Directory to see all or part of the work items.


Write custom work item query

At last, you need to write a new work item query list. The newly defined query can be placed in either of the "Team query" or "My queries" directories. A team query is a global FAQ container that can be asked by all developers in the project team. My query is a private query set owned by every developer.

A useful query I often use is the recycle bin query, which can be used to open a work item that has been closed recently and needs to be opened again (occasionally when a work item is closed ). The first step is to select "add?" from the context menu of the work item node? Query ".

After the query editor is opened, a simple user interface can filter required items from the work item list based on some simple expressions. In the above case, the query is set to return all work items in the Team Project in the current status of closed. 

Application Team Foundation ServerVersion Number Control

When asked about the work item, you can apply the version number control in team Foundation server. Like other features in TFs, the version number control function is located above SQL Server 2005 to provide good performance and scalability (in fact, the version number of the host in TFs controls the memory size to be expected to be 1 GB. The first work item that the development team may encounter related to version number control is the existing source code for migration. This work item provides a specific view of what needs to be done in the migration source code.

 

Configure a workspace

Add the file to the programmer? Before using the version control memory, you must map the logical structure of the version control memory to the file system on the local machine. Team Foundation server introduces the concept of workspace. A workspace is a set of mappings between physical locations and file systems. A file system matches a combination of special users and computers. Programmers who work on files are logical in and out of the work zone. To create a workspace, you must double-click the source code control icon in team explorer to go To the workspace drop-down menu.

 

I found that it is the easiest way to map the root of the entire source code tree to a detailed location on the local drive and map it as a unique ing. My own method is to create a sandbox folder in the root folder of my data drive, and there is a sub-folder in its lower level, name it the name of the tfsserver that I connect. (I have connected to multiple tfsservers, so be sure to avoid confusion ).

After the ing is established, the browser will list the local paths of the logical locations on the source tree. Now you can join? Source code to this container.

One of the limitations of programmers is that they cannot add files? To the root of the version number control memory ($/), and all and directories are directly related to a specific team project. The logic here is that a team Foundation server can be used for a large number of projects, and each project should work in its own region. 


 

Join? Source code to team Foundation Server

There are countless ways to arrange the source code in the team Foundation server. Why do you choose this instead of another one? The specific reasons are beyond the scope of this article. The following method is only used as an example. What's special? Three word directories: trunk, branches, and releases. For example.

Add directory? After the version number control system is reached, other programmers will not immediately see it. They must note the issue like a file. In this example, I will add? A set of solutions and project files are included in the container, and then added to the container.

 

In addition to enhanced performance and scalability, TFS installs its version number control system on SQL Server 2005, which means that it is possible to perform atomic commit and note commit. That is to say, either all the notebooks are successful or all of them fail. Note that idea can be run in the source code control browser or solution browser (or in the force-changing tool form)

The version number control system and work item storage are integrated during injection. You can associate a workflow with one or more work items. For example, because this is the source code just introduced, I can browse the work item view in the note items dialog box and select work item 3387 to associate with it. Note: When associating a work item, you must set the "resolution" action regardless of the default option. This is to prevent the task from closing the work item, therefore, a very useful recycle bin query was created earlier.

 

The establishment of a note set is called a change set. A source code container is just a series of changes that accumulate constantly. Because the change set in the database is a differentiated entity, it can be associated with the data, therefore, the relationship between the above change set and work item 3387 can be viewed in the change set or work item. The following screen shows the change set connected to the work item.

New Concept: shelve set

A new concept related to Version Control in team Foundation server is the shelving set. The idea of shelving sets is that programmers can put changes made on workdays in a safe place during weekend breaks. Creating a shelving set is quite simple. First, programmers select "shelving necessary changes" in the context menu of the solution browser, and then the following dialog box appears.

Programmers can give the shelve set a name so that it can be searched and restored in the future. Like the dialog box in the notice dialog box, can the shelve set be added? Comments and associated work items. The shelving set only includes modified files. Since the version number of the change set is derived from the version number control memory, it is quite simple to create them.

To restore a shelve set, you can select the "unfreeze required changes" option in the background menu. programmers can find the shelve set created by them or other programmers.

In fact, shelving sets can be shared, which means they can run code preview very well and enhance the single-note attention point policy, which may be very useful for a special project during encapsulation.

In the next part of this article, I will introduce the shelve set, the excellent Branch Support in TFs, how TFs supports self-generated and describes the functions provided by the report function.

 

Function 1: Microsoft's latest configuration management tool

In today's environment, the company's business is getting more and more complex, and the complexity of software development is getting higher and higher. This phenomenon occurs in many projects: Documents are scattered in different places, and code is missing, code and documentation are inconsistent. multiple versions of the same system are used. Different project regions use different configuration management tools and there is no uniform specification, as time passes, the risk of project management continues to rise, and the difficulty of project implementation continues to increase? Project implementation quality is difficult to control. How can we quickly construct high-quality application systems to meet the needs of ever-changing business growth? We urgently need to establish a sound configuration management system to improve production efficiency, improve product quality, and finally maximize enterprise benefits. The current configuration management challenges are: L Unified SpecificationsL Better organization and higher development management levelL Investment Protection: enterprise-level process historical data, experience, and digital assetsL Establish a standard development environmentL Achieve parallel development and shorten product time to marketL Proactive ManagementL Release a lot of other time for creative workL More Professional EmployeesHowever, implementing Software Configuration Management through Microsoft's team Foundation server (TFS) can effectively solve these problems. For example, you can centrally manage documents and codes of various projects, effectively manage changes in documents and code in the project, so that you can easily reproduce the historical version number of a file and compile a previous version number again, it makes document maintenance easy and enables concurrent development by multiple teams to become a reality. Implementing a unified configuration management process at the same time can improve the efficiency of personnel flow between project teams, it is also an effective protection of work results.

Function 2: Outsourcing Management Tools

With the rapid development of information technology, software has entered all aspects of social life. More and more enterprises are building their business systems Enterprises use these systems to provide high-speed and high-quality services to their customers. Because software has become the basic platform for business, the core competitiveness of enterprises depends to a large extent on the quality of the software system, requiring the software system to quickly adapt to changes in business needs, at the same time, it ensures the high performance, high reliability and maintainability of the software system. However, for most enterprises, software development is not what they are good at. In addition to the complexity of software systems and high quality requirements, most enterprises choose to outsource software development projects, professional Software Development (supply) vendors are responsible for software development. However, software outsourcing does not mean that enterprises can leave the software development process alone. Enterprises should establish agreements with suppliers and monitor the development process of suppliers, the final system submitted by the supplier is fully accepted to ensure that the supplier can deliver a high-quality software system on time. The success or failure of a software project depends largely on the control of its development process, which includes control over quality, source code, progress, capital, personnel, etc. For effective process control, relying only on the power of people is not enough. Corresponding management tools are also required to achieve efficient "Software lifecycle management ". However, due to historical and practical reasons, the application of software life cycle management processes and tools in China's software industry is not widely used because of the lack of necessary management processes and tools, many enterprises may encounter the following problems in software outsourcing projects:L Lack of unified development management process guidance, unable to guarantee the quality and success rate of the projectL The developed system cannot meet user or business needs.L The development process is not transparent and it is difficult to monitor the development progress.L Unable to understand the project in time Progress, which often leads to project delaysL Unable to effectively control project changes, add? Project risksL Collaborative development across multiple regions cannot be effectively implemented , Add? Outsourcing development costs (site and travel expenses)L Low software reuse rate reduces the ROI of EnterprisesL Unable to conduct standardized trial work , A lot of problems will be exposed until the acceptance stageL Lack of accumulation of historical software development data, Project cost cannot be accurately estimatedL There is a lack of necessary version number management tools for the system to create and publish ProblemsL Lack of corresponding documents, add? Difficulty in maintenance and upgrade These problems cause many enterprises to be unable to effectively control outsourcing projects or cause excessive resource waste during development (too many repeated development between systems ), and the developed system cannot respond to rapid changes in the market. These problems directly reduce the productivity of the employer? Cost of enterprise operation.To fundamentally improve the management level of software outsourcing development, we must start from multiple aspects, introduce advanced development processes, and learn from the best practices in the industry, and building an efficient system development and management platform is an inevitable choice.To solve the common problems in outsourcing development and management, we use Microsoft's latest software lifecycle tool., Designed Microsoft's software outsourcing development management solution, which can provide necessary development process guidance to development teams with multiple platforms and geographical distribution to achieve efficient project management, promote communication between the project team, provide a closely integrated change and configuration management system, and establish an advanced software collaborative development management platform for enterprises.

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.