Chapter 1 is an introduction to Visual Design and the Distributed System Designers and Class Designer. The chapter outlines the features of Visual Design tools, presenting an overview of all the Distributed System Designers and Class Designer along with the primary integration points between each tool. The highlight of the chapter is a StockBroker case study that puts the designers into action.
Chapter 2 introduces Application Modeling using the Application Designer. The Application Designer enables you to add external applications (such as web services and external databases) to a predefined system. This chapter presents an overview of the AD toolbox and prototypes, the process of designing a distributed system using the toolset, implementing your applications, and adding constraints.
Chapter 3 presents Logical Infrastructure Modeling using the Logical Datacenter Designer. The Logical Datacenter Designer is used to create logical server diagrams representing the structure of a datacenter. This chapter shows you the components of the LDD toolbox and prototypes, and demonstrates how to create a logical datacenter and configure it to work with a predefined system. The examples are illustrated using the StockBroker case study introduced in Chapter 1.
Chapter 4 focuses on the System Designer and Deployment Designer. The first part of the chapter introduces both designers in detail. Later in the chapter, you'll learn how to create a trial deployment using the Application Connection Designer. You will also learn how to define and deploy entire systems and create deployment reports.
Chapter 5 features the Visual Studio 2005 Class Designer. Class Designer isn't a Team System designer per se (it is a feature of Visual Studio 2005 Standard and higher), but it enables you to model objects and create templates (which makes it a very complementary tool in the architect's toolkit). You will learn about the features of the designer and associated tools. You will also learn how to convert class diagrams to code and vice versa. Finally, you will learn about the advanced features within the Class Designer, including code synchronization, pattern modeling, and dynamic modeling.
Chapter 6 presents the Microsoft Domain-Specific Language SDK. The SDK allows you to define domain languages and custom designers built upon the language you defined. These Visual Studio 2005 designers can then be used to generate code or files—in fact, anything.
Chapter 7 features an in-depth introduction to the Dynamic Systems Initiative (DSI). You'll learn about the core DSI principle to reduce the complexity of your infrastructure. The chapter also presents an overview of Team System's DSI tools, which can be used to design, deploy, and operate distributed systems. You'll also learn about the Systems Definition Model (SDM). The Systems Definition Model is an XML document that defines a system from the perspective of hardware and software resources through a deployment life cycle. This chapter features various authoring models, types, and resources. You will also learn how to create SDM and leverage SDM designs as a whole.
Chapter 8 is the first chapter in the Team Edition for Software Developers portion of the book. It focuses on the tool for managed code analysis (also commonly known as FxCop). FxCop is a tool that analyzes the conformance of the .NET managed code assemblies against the .NET Framework Design Guidelines. It looks for defects in security, performance, and several other areas. You will learn about the FxCop UI, how to implement code reviews, and how to assemble FXCop rules.
Chapter 9 features Code Analysis for C/C++ (also known as PREfast). Code Analysis for C/C++ is a tool that checks the reliability of your C++ code and catches errors that aren't typically presented by a compiler. In this chapter, you'll learn how it works, how to configure it, and practical troubleshooting tips.
Chapter 10 targets the Application Verifier. You will learn how to set up and configure the AppVerifier tool to detect heap corruption, check lock usage, and detect invalid handle usage in your unmanaged code. This chapter also provides you with an end-to-end run-through of the product and information that will enable you to programmatically control the dynamic test engine from within Visual Studio.
Chapter 11 features refactoring and code snippets. Refactoring is a technique for incrementally restructuring code to make it more loosely coupled and comprehensible. You'll learn how to refactor diagrams and code in Visual Studio 2005. You will also learn how to use the Code Snippet Manager with samples in both VB.NET and C#.
Chapter 12 is devoted to profiling and performance. You'll learn how to use the Team System Code Profiler to profile your code using sampling and instrumentation. Code profiling is important because it uncovers slow code, which in turn helps the developer optimize the performance of the application.
Chapter 13 presents Test Case Management within the Team System environment. In this chapter, you will find out how to create test projects using the Test Case Manager.
Chapter 14 features unit testing with the Unit Test Framework. This chapter provides an overview of the core concepts of unit testing, including best practices. You'll learn how to create a simple unit test using Team System, and how to administer the results and completely leverage the framework. You will also learn about test-driven development (TDD) and code coverage features.
Chapter 15 deals with Web and load testing. In this chapter, you will learn how to create and configure web and load tests. You will also examine the command-line tools and instructions for setting up a test rig using agents and controllers.
Chapter 16 features manual testing. This chapter describes the difference between test automation and manual tests. You will learn how to create and configure manual tests, and how to design your own custom templates. Finally, you'll learn how to run through the tests and publish the results on Team Foundation Server.
Chapter 17 covers generic testing. In this chapter, you'll learn how to create a generic test and interpret error codes. You will also learn how to create and run an external tool using the Windows Scripting Host, and look at a managed code example.
Chapter 18 will teach you about the architecture of Team Foundation Server. You'll learn the core features of the server, including the clients, components, and architecture.
Chapter 19 tackles the project management tools and Reporting in Team System. You'll learn how to create a Team Project portal site, and how to administer and manage the details of your project. Next, you will get an internal overview of work items. You'll see how Reporting in Team System provides high-level metrics and data to measure the health of your project.
Chapter 20 describes Team Foundation version control. You will learn about its major features, such as performing check-ins and check-outs, shelving, and manipulating your source code store using the Source Code Explorer.
Chapter 21 is about the Microsoft Solutions Framework (MSF). You will get an overview of MSF for Agile Software Development and MSF for CMMI Process Improvement and you will learn about the roles and components of each process.
Chapter 22 targets process templates. This chapter is an in-depth continuation of Chapter 21. You will learn how to modify and design custom process templates from beginning to end.
Chapter 23 covers Team Foundation Build. After an overview of this powerful build engine, you will learn how to implement popular build configurations such as continuous integration (CI).
Chapter 24 describes how to deploy and maintain Team System. This chapter focuses on IT professional topics such as tools migration, backup/recovery strategies, and much more.