
Pro Visual Studio 2005 Team System Application Development
By:Â Steve Shrimpton
Paperback | 1 September 2006
At a Glance
792 Pages
22.8 x 18.2 x 4.1
Paperback
$69.99
or 4 interest-free payments of $17.50 with
 orÂShips in 5 to 7 business days
brings Visual Studio 2005 Team System to life. You'll
learn how to effectively use Team System to develop new
functionality for large distributed systems. The book
accomplishes this not just by describing the Team System
features, but also by leading you through a fictitious,
though realistic, project. The project takes place in a
large, distributed organization with a mix of existing
systems. Risks exist in the possible disruption of the
current business enterprise system, and careful planning
and phasing of deliverables are necessary. New and
modified applications must work with existing parts of
the system as iterations of the project move through
testing to deployment, in order to bring the project to a
successful conclusion. While the project progresses, in-
depth discussions explain the use of the features by the
various members of the team and the features'
interactions. The author provides highly detailed
examples and discussions, including exploration of the
design, coding, and test stages. The further you read,
you'll see how to develop portions of the application--
some coded in C# and some in Visual Basic--together with
their tests, installation tools, and design artefacts.
| About the Author | p. xvii |
| About the Technical Reviewer | p. xvii |
| Acknowledgments | p. xix |
| Introduction | p. xxi |
| Introducing Microsoft Visual Studio 2005 Team System | p. 1 |
| The Need for Team System | p. 1 |
| Microsoft Visual Studio 2005 Team System | p. 5 |
| Visual Studio 2005 Team Edition for Software Architects | p. 5 |
| Visual Studio 2005 Team Edition for Software Developers | p. 5 |
| Visual Studio 2005 Team Edition for Software Testers | p. 7 |
| Visual Studio 2005 Team Suite | p. 7 |
| Visual Studio 2005 Team Foundation Server | p. 7 |
| How Team System Is Described in This Book | p. 8 |
| Distributed Applications | p. 9 |
| Service-Oriented Architectures | p. 14 |
| The Smart Client Approach | p. 17 |
| Evolution of the Client-Server Architecture | p. 17 |
| Thin Clients and the N-Tier Architecture | p. 18 |
| Smart Client Applications | p. 20 |
| Summary | p. 23 |
| The Business Case and Project Scope | p. 25 |
| The Business Justification | p. 25 |
| The High-Level Requirements | p. 26 |
| Existing Enterprise System Architecture | p. 27 |
| Resource Manager | p. 28 |
| Sales Manager | p. 33 |
| Icarus Sales Website | p. 38 |
| Vendor Information Website | p. 40 |
| Sales Watch MIS Application | p. 41 |
| Periodic Batch Process | p. 41 |
| Orchestration Service | p. 41 |
| Document Service | p. 42 |
| Email Service | p. 42 |
| Payment Service | p. 42 |
| General Ledger Service | p. 42 |
| Enter the Consultants | p. 42 |
| The Architectural Vision | p. 43 |
| The Kickoff Meeting | p. 44 |
| Summary | p. 52 |
| The Project Manager: Initial Tasks and Project Planning | p. 53 |
| Innovation from the Subcontinent | p. 53 |
| Choice of a Development Process | p. 54 |
| Microsoft Solution Framework | p. 55 |
| Installing Team System | p. 57 |
| Project Manager: Creating the Team Project | p. 60 |
| The Project Portal | p. 64 |
| Automatically Generated Tasks for the MSF for CMMI Process Improvement Project | p. 65 |
| The First Planning Meeting | p. 66 |
| Setting Permissions | p. 70 |
| Assigning Tasks | p. 71 |
| Create Iteration Plan-Iteration 0 | p. 73 |
| Summary of the Tasks in Iteration 0 | p. 77 |
| Create Vision Document | p. 78 |
| Create Personas | p. 78 |
| Create Scenarios | p. 78 |
| Create Project Structure | p. 78 |
| Create Quality of Service (QOS) Requirements | p. 79 |
| Create Master Schedule | p. 80 |
| Create Project Plan | p. 80 |
| Create Solution Architecture | p. 81 |
| Summary of Tasks-Iteration 1 | p. 81 |
| Prioritize Scenarios | p. 81 |
| Create Iteration Plan | p. 81 |
| Write Scenarios | p. 81 |
| Storyboard Scenarios | p. 81 |
| Create Product Requirements | p. 82 |
| Establish Environments | p. 82 |
| Create Configuration Management Plan | p. 82 |
| Create Test Approach Worksheet | p. 82 |
| The Project Plan: Defining the Budget and Schedule | p. 82 |
| Date Driven or Scope Driven? | p. 83 |
| High-Level Dependencies | p. 83 |
| Dividing the Schedule into Iterations | p. 85 |
| Major Risk Areas | p. 86 |
| Divide Functionality Across Iterations | p. 87 |
| Summary | p. 91 |
| The Business Analyst: Creating the Personas, Use Cases, and Scenarios | p. 93 |
| The Requirements Process | p. 93 |
| What About Use Cases? | p. 94 |
| Define Personas | p. 97 |
| Personas: Icarus Employees | p. 99 |
| Personas: Customers | p. 101 |
| Personas: Vendors | p. 101 |
| Use Case Analysis | p. 102 |
| Sales Use Case | p. 103 |
| Browse Catalog Use Case | p. 106 |
| Manage Orders | p. 111 |
| Offline Working for Travel Agents | p. 112 |
| Listings | p. 116 |
| Query Orders | p. 118 |
| Identifying the Top-Level Scenarios | p. 118 |
| Order Scenarios | p. 120 |
| Creating the Browse Resource Catalog Scenarios-In Detail | p. 121 |
| Navigate Resource Catalog Scenarios | p. 126 |
| Search Catalog Scenarios | p. 128 |
| Offline Browse Catalog | p. 128 |
| Writing a New Scenario Query-Offline Catalog Synchronization | p. 128 |
| Manage Orders Scenarios | p. 133 |
| View Orders Scenarios | p. 134 |
| Listings | p. 135 |
| Create Quality of Service Requirements | p. 136 |
| Performance | p. 136 |
| Load | p. 137 |
| Availability | p. 138 |
| Serviceability | p. 138 |
| Maintainability | p. 138 |
| Summary | p. 138 |
| The Architect: Creating the Solution Architecture | p. 139 |
| Creating the Solution | p. 139 |
| Checking the Work into TFS | p. 142 |
| Application Diagrams | p. 145 |
| What Is an Application? | p. 145 |
| Application Prototypes Available in Team System | p. 146 |
| Connecting Applications | p. 147 |
| WebServiceEndpoint | p. 148 |
| WebContentEndpoint | p. 148 |
| DatabaseEndpoint | p. 148 |
| GenericEndpoint | p. 148 |
| Customizing Endpoints | p. 148 |
| Application Settings | p. 149 |
| Settings Available for the Prototype Applications | p. 149 |
| Application Constraints | p. 150 |
| Application Diagrams for Icarus Enterprise 3.1 | p. 152 |
| Creating an Application Diagram for the Existing Application | p. 152 |
| Using the Legacy Applications As Prototypes | p. 156 |
| Creating the Application Diagram for the New Solution | p. 157 |
| Stub and Test Harness Applications for the New Solution | p. 162 |
| Multiple Instances of the Same Web Service | p. 163 |
| Designing the Production Systems | p. 164 |
| The Concept of a System | p. 164 |
| The Production Systems | p. 165 |
| BusinessLogic System | p. 165 |
| Presentation System | p. 167 |
| California Office System | p. 168 |
| The Icarus Global System | p. 169 |
| Vertical Slices and Systems Containing Other Systems | p. 171 |
| Deployment | p. 171 |
| Logical Data Center Designer and Its Concepts | p. 172 |
| Zones | p. 173 |
| Zone Constraints | p. 173 |
| Zone Endpoints and Their Constraints | p. 174 |
| Logical Servers | p. 175 |
| The Icarus Production Data Centers | p. 175 |
| California Data Center | p. 176 |
| High Security Zone | p. 176 |
| The Other Zones in the California Data Center | p. 180 |
| Deployment in the California Data Center | p. 183 |
| Global Data Center | p. 187 |
| Summary | p. 194 |
| Business Analyst and Design Team: Designing the Application | p. 195 |
| Work Streams, Activities, Work Products, and Iterations | p. 195 |
| Iteration Sequence Is Goal Oriented | p. 197 |
| Planning Iteration 1 | p. 198 |
| The Plan for Iteration 1 | p. 202 |
| Writing the Scenarios | p. 206 |
| Offline Critical Scenarios | p. 206 |
| Storyboarding the Scenarios | p. 207 |
| Customer Management Scenarios | p. 208 |
| Manage Reservations Scenarios | p. 214 |
| Web Sales Scenarios | p. 218 |
| Listing Scenarios | p. 221 |
| Product Requirements | p. 228 |
| Develop a User Interface Flow Model | p. 229 |
| Develop a Domain Model | p. 229 |
| Develop Functional Requirements | p. 229 |
| Develop Interface Requirements | p. 229 |
| Develop Security Requirements | p. 229 |
| Develop Safety Requirements | p. 229 |
| Develop Operation Requirements | p. 230 |
| Allocate Product Component Requirements | p. 230 |
| Prioritize Functionality | p. 230 |
| Validate Requirements | p. 230 |
| Exploring Alternative Architectures | p. 230 |
| Solution Architecture Design | p. 232 |
| Offline Working Architecture | p. 232 |
| The Application Diagram for Iteration 1 | p. 235 |
| The Proof-of-Concept System and Its Deployment | p. 237 |
| Agent Sales System | p. 237 |
| Direct Sales System | p. 239 |
| Listing System | p. 240 |
| The Development and Test Environment Treated As a Data Center | p. 241 |
| Data Model | p. 245 |
| Generating the Database DDL Scripts | p. 259 |
| The Seed Data Scripts | p. 264 |
| The Test Data Scripts | p. 265 |
| Summary | p. 265 |
| Prototype Group: Proof of Concept Development | p. 267 |
| Sales Business Objects-The Customer Business Entity | p. 267 |
| The Data Access Layer | p. 268 |
| Problems with Web References | p. 285 |
| The Sales Web Service Stub | p. 287 |
| Business Entities and Datasets | p. 288 |
| The Business Entity Layer | p. 290 |
| Business Entity Base Classes | p. 291 |
| Customer Business Entity | p. 292 |
| Customer Search Business Entity | p. 301 |
| The Sales Web Service | p. 303 |
| Prototyping the Sales Wing Windows Forms Smart-Client Application | p. 305 |
| Creating the Main Screen | p. 305 |
| The CustomerDetails User Control | p. 307 |
| Binding the Typed Datasets to the CustomerDetails Control | p. 309 |
| The Open Customer Dialog Box | p. 316 |
| Prototyping the Sales Site Application | p. 319 |
| The Master Page and the "My Wings" Page | p. 320 |
| The My Orders Page | p. 328 |
| The Order Detail Page | p. 337 |
| The Make Reservation Page | p. 338 |
| Prototyping the List Wing Windows Forms Application | p. 344 |
| The List Wing Windows Forms | p. 344 |
| The Listing Business Objects Stubs | p. 349 |
| Summary | p. 351 |
| Development Team: Sales Business Layer Development | p. 353 |
| Adding the Prototype Code to Source Control | p. 353 |
| Opening the Project from Source Control | p. 353 |
| Creating the Order Data Access Component Classes | p. 358 |
| Testing the Data Access Layer | p. 364 |
| Class Initialization | p. 370 |
| Order Fill Test Sequence | p. 370 |
| Order Update Test Sequence | p. 370 |
| Class Cleanup | p. 371 |
| Unit-Test Design | p. 371 |
| Unit-Test Code | p. 377 |
| Running the Unit Tests | p. 381 |
| Checking the Code into Version Control | p. 383 |
| The Order Business Entity Class | p. 387 |
| Testing the Business Entity Layer: Read Capability | p. 398 |
| Parameterizing the Database Connection and Web Service URL | p. 404 |
| Problems with Sequences of Unit Tests | p. 405 |
| Testing the Business Layer: Write Capability | p. 411 |
| Test Coverage | p. 412 |
| Static Code Analysis Check-In Policy | p. 414 |
| Test Manager | p. 417 |
| Check-In Testing Policy | p. 418 |
| Static Code Analysis: BusinessEntity Project | p. 420 |
| Making Static Variables Non-Public | p. 422 |
| Avoiding Static Constructors (CA1810) | p. 425 |
| Do Not Declare Static Members on Generic Types (CA1000) | p. 427 |
| Types That Own Disposable Fields Should Be Disposable (CA1001) | p. 427 |
| Declare Event Handlers Correctly and Should Have the Correct Suffix (CA1009, CA1710, CA1711) | p. 428 |
| Use Generic Event Handler Instances (CA1003) | p. 428 |
| Do Not Declare Visible Instance Fields (CA1051) | p. 429 |
| Long Acronyms Should Be Pascal Cased (CA1705) | p. 430 |
| Assemblies Should Declare Minimum Security (CA2209) | p. 430 |
| Mark Assemblies with CLS Compliant (CA1014) | p. 430 |
| Assemblies Should Have Valid Strong Names (CA2210) | p. 430 |
| Naming Conventions (CA1709) | p. 431 |
| Avoid Excessive Parameters on Generic Types (CA1005) | p. 431 |
| Static Code Analysis: OrderDAL Project | p. 432 |
| Static Code Analysis: OrderBE Project | p. 433 |
| Checking In OrderBE and Its Related Projects | p. 434 |
| Updating the Work Items | p. 436 |
| Summary | p. 436 |
| Integration and Functional Testing | p. 439 |
| The Listing Business Objects Data Access Layer | p. 439 |
| The VendorDS Dataset | p. 439 |
| Testing VendorDS | p. 443 |
| The VendorSearchDS Class | p. 445 |
| The ResourceDS Class | p. 446 |
| Testing VendorSearchDS and ResourceDS | p. 447 |
| Updating the Workspace | p. 447 |
| Multiple Code Checkout and Merging in TFS | p. 452 |
| When Merging Takes Place | p. 452 |
| How Merging Takes Place | p. 454 |
| Merging Groups of Files | p. 454 |
| The Listing Business Objects | p. 454 |
| The VendorBE Class | p. 455 |
| ListingWebServiceStub | p. 456 |
| Completing VendorBE | p. 459 |
| ResourceBE Class | p. 465 |
| Organizing the Team Build | p. 465 |
| Creating a Build Type | p. 465 |
| Executing a Build | p. 470 |
| The Sales System | p. 474 |
| Verifying the Read Behavior for Orders | p. 474 |
| Verifying the Write Behavior for Orders | p. 479 |
| Verifying the New Order Functionality | p. 480 |
| Testing the Sales Wing Application | p. 480 |
| The Sales Website Application | p. 483 |
| Displaying Orders and Reservations | p. 484 |
| Testing the Sales Site | p. 488 |
| Web Testing Individual Pages | p. 489 |
| Web Testing the Create Order Scenario | p. 496 |
| Summary | p. 501 |
| Web and Performance Testing | p. 503 |
| Load Testing of the Sales Site | p. 503 |
| Load Testing of the Order Creation Scenario | p. 503 |
| Creating a Load Test for the Sales Site | p. 506 |
| Running the Load Test Against the Sales Site | p. 516 |
| Interpreting the Load Test Data | p. 521 |
| Parameterizing Load Tests | p. 529 |
| Profiling the Sales Site Scenarios | p. 531 |
| Profiling by Sampling | p. 532 |
| Profiling by Instrumentation | p. 544 |
| Improving the Application Inclusive Time | p. 552 |
| Instrumenting Memory Allocations | p. 557 |
| Summary | p. 565 |
| Handling Change and Security Requirements | p. 567 |
| The Unexpected Meeting | p. 567 |
| Modified Offline Working Scenarios | p. 569 |
| Iteration 2 Change Branch: Create Solution Architecture | p. 570 |
| Resource Data Replication | p. 571 |
| Customer Replication and Order Merge | p. 572 |
| Iteration 2 Change Branch: Create Product Requirements | p. 572 |
| Iteration 2 Change Branch: Developing and Testing the Changes | p. 573 |
| Branching the Code | p. 574 |
| The Replication Data Access Layer Classes | p. 578 |
| The Replication Business Objects | p. 579 |
| The Replication Thread | p. 580 |
| Iteration 2 Main Branch: Security Use Cases and Scenarios | p. 582 |
| Sales Site Scenarios | p. 583 |
| Sales Wing Application Scenarios | p. 586 |
| Iteration 2 Main Branch: Create Application Architecture | p. 588 |
| ASP.NET Membership and Role Management | p. 589 |
| Data Model | p. 589 |
| Security Business Logic | p. 592 |
| Iteration 2 Main Branch: Create Product Requirements | p. 594 |
| Iteration 2 Main Branch: Developing and Testing Authentication and Authorization | p. 595 |
| Authenticating the Sales Site Client | p. 595 |
| Authenticating at the Web Service Access | p. 597 |
| Implementing Authorization | p. 597 |
| Single-Entity Authorization | p. 598 |
| Multiple-Entity Authorization | p. 600 |
| Managing Users | p. 602 |
| Merging the Branches, Iteration 3: Replication and Main Functionality | p. 602 |
| Summary | p. 613 |
| Managing Iterations: Moving Toward Completion | p. 615 |
| Planning Iterations 4 and 5 | p. 615 |
| Iteration 4 | p. 618 |
| Planning the Iteration | p. 618 |
| Defining the Scenario Work Items | p. 619 |
| Defining the Analysis Tasks | p. 621 |
| Reporting Capability | p. 624 |
| Analyzing the Scenarios and Defining the Development Tasks | p. 626 |
| Code Completion and Check-In | p. 636 |
| End of the Development Phase-Checking the Status | p. 640 |
| Planning the Test Effort | p. 642 |
| Manual Testing | p. 645 |
| Iteration 5 | p. 647 |
| Interfacing with Back-End Systems | p. 647 |
| Back-End Scenarios | p. 649 |
| Back-End Interface Architecture | p. 649 |
| Planning Iteration 5 | p. 651 |
| Developing the DCOM Interface | p. 651 |
| Developing the MSMQ Interface | p. 652 |
| Summary | p. 654 |
| Tracking and Correcting Defects | p. 657 |
| Discovering Bugs | p. 657 |
| Running a Manual Test and Discovering a Bug | p. 658 |
| The Bug Triage Process | p. 670 |
| Investigating the Bug | p. 675 |
| Debugging the ConfirmOrders() Function | p. 678 |
| Fixing the Bug | p. 682 |
| The Daily Build | p. 684 |
| Testing the Bug Fixes | p. 687 |
| Ongoing Testing and Bug Fixing | p. 690 |
| Everybody's a Tester | p. 694 |
| Summary | p. 695 |
| Releasing the Product | p. 697 |
| The Process Guidance | p. 697 |
| Establish a User Acceptance Test (UAT) Environment | p. 697 |
| Establish Validation Guidelines | p. 698 |
| Select Release Candidate | p. 698 |
| Create Rollout and Deployment Plan | p. 698 |
| User Acceptance Testing, Analyze User Acceptance Test Results, Accept Product for Release | p. 699 |
| Package Product | p. 699 |
| Execute Rollout Plan | p. 699 |
| Create Release Notes | p. 699 |
| Planning the User Acceptance Testing and Rollout | p. 700 |
| Designing the UAT/Production Logical Data Center and Verifying Deployment | p. 701 |
| The Final Production and UAT Application | p. 701 |
| The Sales Wing and List Wing Systems | p. 703 |
| The Icarus Presentation System | p. 706 |
| The User Acceptance Test System | p. 707 |
| Deployment of the UAT System | p. 708 |
| Deployment of the Production System | p. 711 |
| Designing the Product Packaging | p. 711 |
| Deployment Projects | p. 711 |
| Client Deployment: ClickOnce | p. 712 |
| Setup Projects for the Rest of the Applications | p. 717 |
| Data Migration | p. 718 |
| How It All Happened | p. 718 |
| Installing the UAT System | p. 718 |
| The User Acceptance Test | p. 718 |
| Go-Live Weekend | p. 719 |
| Debriefing and Wrap-Up | p. 720 |
| Requirements and Business Case | p. 720 |
| Architecture | p. 720 |
| Development and Unit Test | p. 721 |
| Application Testing and Deployment | p. 721 |
| General Comments About the Book | p. 722 |
| Epilogue | p. 722 |
| Index | p. 725 |
| Table of Contents provided by Ingram. All Rights Reserved. |
ISBN: 9781590596821
ISBN-10: 159059682X
Series: Pro
Published: 1st September 2006
Format: Paperback
Language: English
Number of Pages: 792
Audience: General Adult
Publisher: Springer Nature B.V.
Country of Publication: GB
Dimensions (cm): 22.8 x 18.2 x 4.1
Weight (kg): 1.24
Shipping
| Standard Shipping | Express Shipping | |
|---|---|---|
| Metro postcodes: | $9.99 | $14.95 |
| Regional postcodes: | $9.99 | $14.95 |
| Rural postcodes: | $9.99 | $14.95 |
Orders over $79.00 qualify for free shipping.
How to return your order
At Booktopia, we offer hassle-free returns in accordance with our returns policy. If you wish to return an item, please get in touch with Booktopia Customer Care.
Additional postage charges may be applicable.
Defective items
If there is a problem with any of the items received for your order then the Booktopia Customer Care team is ready to assist you.
For more info please visit our Help Centre.
You Can Find This Book In
This product is categorised by
- Non-FictionComputing & I.T.Computer Programming & Software DevelopmentObject-Oriented Programming or OOP
- Non-FictionComputing & I.T.Computer Programming & Software DevelopmentProgramming & Scripting Languages
- Non-FictionComputing & I.T.Computer Programming & Software DevelopmentSoftware Engineering
- Non-FictionComputing & I.T.Computer Programming & Software DevelopmentMicrosoft Programming
























