
Professional Application Lifecycle Management with Visual Studio 2013
Description
Alles über E-Books | Antworten auf Fragen rund um E-Books, Kopierschutz und Dateiformate finden Sie in unserem Info- & Hilfebereich.
More details
Other editions
Additional editions

Persons
Content
- Cover
- Title Page
- Copyright
- Contents
- Chapter 1 Introduction to Application Lifecycle Management with Visual Studio 2013
- Application Lifecycle Management
- Visual Studio 2013 Product Lineup
- Application Lifecycle Management Challenges
- Enter Visual Studio 2013
- Application Lifecycle Management in Action
- Requirements
- System Design and Modeling
- Code Generation
- Testing
- Feedback
- Operations
- Putting It into Context
- Summary
- Part I Team Foundation Server
- Chapter 2 Introduction to Team Foundation Server
- What Is Team Foundation Server?
- Acquiring Team Foundation Server
- Hosted Team Foundation Server
- On-Premises Installation
- Team Foundation Server Core Concepts
- Team Foundation Server
- Team Project Collection
- Team Project
- Teams
- Process Templates
- Work Item Tracking
- Version Control
- Team Build
- Accessing Team Foundation Server
- Accessing Team Foundation Server from Visual Studio
- Accessing Team Foundation Server Through a Web Browser
- Using Team Foundation Server in Microsoft Excel
- Using Team Foundation Server in Microsoft Project
- Command-Line Tools for Team Foundation Server
- Accessing Team Foundation Server from Eclipse
- Windows Explorer Integration with Team Foundation Server
- Access to Team Foundation Server via Other Third-Party Integrations
- What's New in Team Foundation Server 2013
- Version Control
- Web Access
- Agile Portfolio Management
- Release Management
- The Cloud
- Adopting Team Foundation Server
- Summary
- Chapter 3 Using Centralized Team Foundation Version Control
- Team Foundation Version Control and Visual SourceSafe (VSS) 2005
- Setting Up Version Control
- Using Source Control Explorer
- Setting Up Your Workspace
- Getting Existing Code
- Sharing Projects in Version Control
- Check-In Pending Changes
- Checking In an Item
- Creating and Administering Check-In Policies
- Viewing History
- Labeling Files
- Shelving
- Workspaces
- Server Workspaces
- Local Workspaces
- Command-Line Tools
- Branching and Merging
- Branching Demystified
- Common Branching Strategies
- Summary
- Chapter 4 Distributed Version Control with Git and Team Foundation Server
- Fundamentals of Distributed Version Control with GIT
- Getting Started with the Visual Studio Tools for GIT
- Clone
- Commit
- Push, Pull, and Fetch
- Merging Changes with GIT and Visual Studio
- Branch Creation
- Summary
- Chapter 5 Team Foundation Build
- Team Foundation Build
- What's New in Team Foundation Build 2013
- Support for Git-based Repositories
- Simplified Building and Testing of Windows Store Apps
- MSTest Support Removed
- Enhanced Hosted Build Services
- Build Output Changes
- Simplified Process Template
- Built-in Support for Calling Scripts
- Team Foundation Build Architecture
- Working with Builds
- Team Explorer
- Build Explorer
- Build Details View
- Creating a Build Definition
- Queuing a Build
- Build Notifications
- Team Build Process
- Default Template Process
- Build Process Parameters
- Summary
- Chapter 6 Release Management
- What Is Release Management?
- Continuous Software Delivery
- Defining a Release Pipeline
- Configuring for First Use
- Introduction to Actions
- Introduction to Release Paths
- Creating Release Templates
- Creating Releases
- Approvals
- Summary
- Chapter 7 Common Team Foundation Server Customizations
- Object Models
- Client Object Model
- Server Object Model
- Build Process Object Model
- Simple Object Model Example
- Java SDK for TFS
- Customizing Team Foundation Build
- Creating Custom Build Process Templates
- Creating Custom Build Workflow Activities
- Customizing Team Foundation Version Control
- Custom Check-in Policies
- Team Foundation Server Event Service
- Customizing Work Item Tracking
- Modifying Work Item Type Definitions
- Creating Custom Work Item Controls
- Summary
- Part II Building the Right Software
- Chapter 8 Introduction to Building the Right Software
- Stakeholders
- Storyboarding
- Capturing Stakeholder Feedback
- Work Item Only View
- Third-Party Requirements Management Solutions
- TeamCompanion
- TeamSpec
- inteGREAT
- Summary
- Chapter 9 Storyboarding
- Why Storyboarding?
- PowerPoint Storyboarding
- Storyboard Shapes
- Layouts
- Screenshots
- My Shapes
- Animations
- Hyperlinks
- Storyboard Links
- Summary
- Chapter 10 Capturing Stakeholder Feedback
- Requesting Feedback
- Providing Feedback
- Voluntary Feedback
- Summary
- Part III Project Management
- Chapter 11 Introduction to Project Management
- Project Management Enhancements in Team Foundation Server 2013
- Rich Work Item Relationships
- Agile Planning Tools
- Test Case Management
- Feedback Management
- Enhanced Reporting
- SharePoint Server Dashboards
- Work Items
- Work Item Types
- Areas and Iterations
- Process Templates
- MSF for Agile Software Development
- MSF for CMMI Process Improvement
- Visual Studio Scrum
- Third-party Process Templates
- Custom Process Templates
- Managing Work Items
- Using Visual Studio
- Using Microsoft Excel
- Using Microsoft Project
- Using Team Web Access
- Project Server Integration
- Summary
- Chapter 12 Agile Planning and Tracking
- Defining a Team
- Managing Portfolio Backlogs
- Maintaining Product Backlogs
- Planning Iterations
- Tracking Work
- Customization Options
- Summary
- Chapter 13 Using Reports, Portals, and Dashboards
- Team Foundation Server Reporting
- Working with Team Foundation Server Reports
- Tools to Create Reports
- Working with Microsoft Excel Reports
- Working with RDL Reports
- Summary
- Part IV Architecture
- Chapter 14 Introduction to Software Architecture
- Designing Visually
- Microsoft's Modeling Strategy
- Understanding Model-Driven Development
- Understanding Domain-Specific Languages
- The "Code Understanding" Experience
- The Architecture Tools in Visual Studio Ultimate 2013
- Use Case Diagrams
- Activity Diagrams
- Sequence Diagrams
- Component Diagrams
- Class Diagrams
- Layer Diagrams
- Architecture Explorer
- What's New with Architecture Tools in Visual Studio Ultimate 2013
- Code Maps
- Visual Studio Visualization and Modeling SDK
- Summary
- Chapter 15 Top-Down Design with Use Case, Activity, Sequence, Component, and Class Diagrams
- Use Case Diagrams
- Creating a Use Case Diagram
- Use Case Diagram Toolbox
- Activity Diagrams
- Creating an Activity Diagram
- Activity Diagram Toolbox
- Adding an Activity Diagram to a Use Case Diagram
- Sequence Diagrams
- Creating a Sequence Diagram
- Sequence Diagram Toolbox
- Component Diagrams
- Creating a Component Diagram
- Component Diagram Toolbox
- Class Diagrams
- Creating a Class Diagram
- Class Diagram Toolbox
- Generating Code from a UML Class Diagram
- Summary
- Chapter 16 Analyzing Applications Using Architecture Explorer, Dependency Graphs, and Code Maps
- Understanding the Code Base
- Architecture Explorer Basics
- Understanding the Architecture Explorer Window
- Architecture Explorer Options
- Navigating Through Architecture Explorer
- Exploring Options for Namespaces
- Exploring Options for Classes
- Exploring Options for Members
- Dependency Graphs
- Creating the First Dependency Graph
- Creating a Dependency Graph Without Architecture Explorer
- Navigating Through Your Dependency Graph
- Dependency Graph Legend
- Dependency Graph Toolbar
- The Code Index
- Code Maps
- Summary
- Chapter 17 Using Layer Diagrams to Model and Enforce Application Architecture
- Creating a Layer Diagram
- Defining Layers on a Layer Diagram
- Creating a Layer for a Single Artifact
- Adding Multiple Objects to a Layer Diagram
- The Layer Explorer
- Defining Dependencies
- Validating the Layer Diagram
- Layer Diagrams and the Build Process
- Summary
- Part V Software Development
- Chapter 18 Introduction to Software Development
- What's New for Developers in Visual Studio 2013
- Unit Testing
- Code Analysis
- CodeLens
- Profiler
- Advanced Debugging with IntelliTrace
- Lightweight Code Commenting
- My Work
- Suspend and Resume
- Code Review
- Summary
- Chapter 19 Unit Testing
- Unit Testing Concepts
- Benefits of Unit Testing
- Writing Effective Unit Tests
- Third-Party Tools
- Visual Studio Unit Testing
- Creating Your First Unit Test
- Managing and Running Unit Tests
- Debugging Unit Tests
- Programming with the Unit Test Framework
- Initialization and Cleanup of Unit Tests
- Using the Assert Methods
- Using the CollectionAssert class
- Using the StringAssert Class
- Expecting Exceptions
- Defining Custom Unit Test Properties
- TestContext Class
- Introduction to Microsoft Fakes
- Choosing Between Stubs and Shims
- Using Stubs
- Using Shims
- Using Test Adapters
- Summary
- Chapter 20 Code Analysis, Code Metrics, Code Clone Analysis, and CodeLens
- The Need for Analysis Tools
- What's New for Code Analysis in Visual Studio 2013
- Using Code Analysis
- Built-in Code Analysis Rules
- Code Analysis Rule Sets
- Enabling Code Analysis
- Executing Code Analysis
- Working with Rule Violations
- Using the Command-Line Analysis Tool
- FxCopCmd Options
- FxCopCmd Project Files
- Build Process Code Analysis Integration
- Creating Code Analysis Rules
- Code Metrics
- Code Clone Analysis
- Finding Code Clones
- Reviewing the Code Clone Analysis Results
- How Code Clone Analysis Works
- Excluding Items from Code Clone Analysis
- Using CodeLens
- Summary
- Chapter 21 Profiling and Performance
- Introduction to Performance Analysis
- Types of Profilers
- Visual Studio Profiling
- What's New in Profiling with Visual Studio 2013
- Using the Profiler
- Creating a Sample Application
- Creating a Performance Session
- Adding a Blank Performance Session
- Using the Performance Explorer
- Configuring a Sampling Session
- Configuring an Instrumentation Session
- Configuring a .NET Memory Allocation Session
- Configuring a Concurrency Profiling Session
- Executing a Performance Session
- Managing Session Reports
- Reading and Interpreting Session Reports
- Command-Line Profiling Utilities
- Just My Code
- Profiling JavaScript
- Common Profiling Issues
- Debugging Symbols
- Instrumentation and Code Coverage
- Summary
- Chapter 22 Debugging with IntelliTrace
- IntelliTrace Basics
- IntelliTrace?-?An Example
- Navigating the IntelliTrace Events View
- Collecting Method Call Information
- Collecting Detailed Information
- Saving Your IntelliTrace Session
- IntelliTrace Options
- IntelliTrace in Production
- Installing the IntelliTrace Standalone Collector
- Configuring IntelliTrace PowerShell Commandlets
- Collecting Execution Information
- Summary
- Part VI Testing
- Chapter 23 Introduction to Software Testing
- Role-Based Testing Tools
- Types of Tests
- Diagnostic Data Adapters
- Microsoft Test Manager
- Managing Automated Tests with Visual Studio
- Test Project Types
- Test Explorer
- Code Coverage
- Using Ordered Tests
- Test Settings
- Summary
- Chapter 24 Manual Testing
- What's New in Visual Studio 2013
- Microsoft Test Manager
- Using Test Plans
- Configuring Test Settings
- Using Builds
- Analyzing Impacted Tests
- Defining Test Configurations
- Plan Contents
- Running Tests and Tracking Results
- Using Test Runner
- Supported Technologies for Action Recordings
- Filing Bugs and Saving Test Results
- Exploratory Testing
- Running Automated Tests
- Summary
- Chapter 25 Coded User Interface Testing
- What's New in Visual Studio 2013
- Creating Coded UI Tests Using the Coded UI Test Builder
- Setting Up the Sample Application
- Create a Test Project
- Coded UI Test Builder
- Generated Code
- Running Your Test
- Creating a Data-Driven Test
- Failing Tests
- Taking Screenshots
- UI Map Editor
- Creating Coded UI Tests Using Action Recordings
- Supported Technologies
- Summary
- Chapter 26 Web Performance and Load Testing
- Web Performance Tests
- Web Performance Tests versus Coded UI Tests
- Creating a Sample Web Application
- Creating Users for the Site
- Creating and Configuring Web Tests
- Recording a Web Performance Test
- Configuring Web Performance Test Run Settings
- Parameterizing the Web Server
- Test Settings
- Running a Web Performance Test
- Observing Test Execution and Results
- Editing a Web Performance Test
- Data-Driven Web Performance Tests
- Coded Web Performance Tests
- Load Tests
- Creating and Configuring Load Tests
- Editing Load Tests
- Executing Load Tests
- Viewing and Interpreting Load Test Results
- Distributed Load Tests
- Installing Controllers and Agents
- Configuring Controllers
- Configuring Agents
- Running a Distributed Load Test
- Cloud-Based Load Testing with Visual Studio Online
- Running a Load Test in the Cloud
- Summary
- Chapter 27 Lab Management
- Lab Management Infrastructure
- Golden Images
- Agents
- SCVMM Environments
- Testing with Environments
- Create New Test Settings
- Run Manual Tests with an Environment
- Automated Build-Deploy-Test with Environments
- Standard Environments
- Summary
- Index
- Advertisement
Chapter 1
Introduction to Application Lifecycle Management with Visual Studio 2013
What's in this chapter?
- Defining application lifecycle management
- Learning about the Visual Studio 2013 product family
- Seeing ALM in action using Visual Studio Ultimate 2013
In June of 1999, Microsoft started to re-evaluate how Visual Studio was being used as part of the software development process. Microsoft was continuing to serve the needs of an individual programmer through the highly productive “code-focused rapid-application-development” features of Visual Studio, but wasn't doing much to help programmers work together as a team. And what about software architects—how should they be working with the programming team? And what about testers and project managers?
Many teams had begun to set up their own solutions using a mixture of third-party, in-house, and vendor-provided tools to address such challenges as version control, bug tracking, and team communications. But this mishmash of tools can be tricky to set up and maintain, and even more difficult to integrate and report across. Microsoft sought to address this challenge by providing an integrated set of tools designed to address the needs of the entire software development team. Thus, Visual Studio Team System was born, and was first released with the Visual Studio 2005 product line.
At the heart of Team System, Team Foundation Server was created to provide a hub for all members of the development team to collaborate. Team Foundation Server is uniquely positioned from its predecessors across the industry by being the first tool of its kind built from the ground up to provide an integrated solution for many capabilities that had historically been offered as standalone tools. Team Foundation Server provides a unified solution for storing source code (along with a history of changes), work item tracking (which can include bugs, requirements, and so on), and automated builds. By providing a single solution with all of these capabilities, Microsoft delivered the ability to link all these artifacts for end-to-end traceability, reporting, process enforcement, and project management.
Team System also included “client” functionality, which surfaced in the various editions of Visual Studio development tools. Visual Studio seamlessly integrated with Team Foundation Server, but much of this tooling could also be used independently or with third-party source control solutions. Visual Studio Team System also introduced role-specific tooling that lived outside of the core Visual Studio development environment by recognizing that team members such as project managers are oftentimes more comfortable using tools such as Excel or Project, both of which could be used to manage and track work that lived in Team Foundation Server.
Team System was built from a foundation of tools and technologies that Microsoft had been using internally for many years to build some of the most complex software projects ever undertaken. Team System appealed not only to programmers, but to all members of the development team—architects, application developers, database developers, and project managers.
Three years later, Visual Studio Team System 2008 evolved from the previous version to include even more tools and functionality for all members of the project team to use. Two years after that, Visual Studio 2010 added even more functionality, including an entirely new set of tools for generalist testers (also referred to as manual testers), bringing a new audience of prospective users into the same set of tooling used by the rest of the team.
Application Lifecycle Management
Along with the release of Visual Studio 2010, Microsoft also stopped using the sub-brand “Team System” to describe these capabilities. Instead, Microsoft started referring to these tools as the application lifecycle management (also referred to as ALM) capabilities of Visual Studio. Application lifecycle management is a term that has gained momentum in the development industry to describe the way an application is managed from its conception, through its creation and deployment, to its eventual retirement.
It is important to note that application lifecycle management is a more comprehensive concept than its popular predecessor, software development lifecycle (SDLC). SDLC is primarily focused on the core coding activities that comprise the creation of an application's life, beginning with a requirement for an application and ending when that application is built and delivered. Application lifecycle management recognizes that requirements aren't simply born out of thin air. They evolve based on business needs, or ideas for new opportunities, and stakeholders who are considered external to the development team may still play a role during the development of an application in helping to refine requirements and provide feedback on implementations. Application lifecycle management also recognizes that a development team's job isn't done the moment they hand off a “finished” application. The development team will likely be called upon to help troubleshoot the application when things go wrong in the deployed environment, or to create subsequent versions of the application based on feedback from users or analytics from the operations team. Visual Studio itself has matured over time to grow from being a tool targeted squarely at programmers during the software development lifecycle to becoming a true solution for end-to-end application lifecycle management.
Visual Studio 2013 Product Lineup
Table 1.1 outlines the product lineup for Visual Studio 2013.
Table 1.1 Visual Studio 2013 Product Lineup
Product Name Description Microsoft Visual Studio Ultimate 2013 with MSDN The comprehensive suite of application lifecycle management tools for software teams to help ensure quality results from design to deployment. Microsoft Visual Studio Premium 2013 with MSDN A complete toolset to help developers deliver scalable, high-quality applications. Microsoft Visual Studio Professional 2013 with MSDN The essential tool for basic development tasks to assist developers in implementing their ideas easily. Microsoft Visual Studio Test Professional 2013 with MSDN The primary tool for manual and generalist testers who need to define and manage test cases, execute test runs, and file bugs. Microsoft Visual Studio Express 2013 for Web A free version of Visual Studio 2013 that provides the core tools for creating web applications and services. Microsoft Visual Studio Express 2013 for Windows A free version of Visual Studio 2013 that provides the core tools for creating Windows Store apps. Microsoft Visual Studio Express 2013 for Windows Desktop A free version of Visual Studio 2013 that enables the creation of desktop applications in C#, Visual Basic, and C++. Microsoft Visual Studio Team Foundation Server 2013 The server component for team development, version control, work item tracking, build automation, project management, lab management, and reporting. Microsoft Visual Studio Team Foundation Server Express 2013 A free edition of Team Foundation Server that provides most of the same capabilities (including version control, work item tracking, and build automation), with some limitations, for a team of up to five users.Visual Studio Premium contains all the functionality of Visual Studio Professional, and Visual Studio Ultimate contains all the functionality of Visual Studio Premium. Visual Studio Premium and Ultimate also include all of the functionality available in Visual Studio Test Professional.
There are a few additional standalone tools and technologies that comprise the Visual Studio 2013 family that are not listed. For example, in Chapter 10 you learn about the new Microsoft Feedback Client, which stakeholders use to provide rich feedback about an application that is stored in Team Foundation Server. In Chapter 3, you learn about Team Explorer Everywhere, which Eclipse developers use to work with Team Foundation Server. You learn about these additional tools throughout this book, but Table 1.1 showcases the primary products that Microsoft markets as part of the Visual Studio 2013 product family.
For a detailed breakdown of the functionality available in each product, a comparison chart is available at www.visualstudio.com.
NOTE
Software licensing is potentially a complex topic. It is important to ensure that the members of your team are adequately licensed to use Visual Studio and the related technologies that make up your development and testing environments. The Visual Studio Licensing whitepaper attempts to synthesize all of the licensing requirements for Visual Studio, Team Foundation Server, and related technologies into an easy-to-read format. You can find the latest version of the Visual Studio Licensing whitepaper at http://www.microsoft.com/visualstudio/licensing.
Application Lifecycle Management Challenges
Software developers share common challenges,...
System requirements
File format: ePUB
Copy protection: Adobe-DRM (Digital Rights Management)
System requirements:
- Computer (Windows; MacOS X; Linux): Install the free reader Adobe Digital Editions prior to download (see eBook Help).
- Tablet/smartphone (Android; iOS): Install the free app Adobe Digital Editions or the app PocketBook before downloading (see eBook Help).
- E-reader: Bookeen, Kobo, Pocketbook, Sony, Tolino and many more (not Kindle).
The file format ePub works well for novels and non-fiction books – i.e., „flowing” text without complex layout. On an e-reader or smartphone, line and page breaks automatically adjust to fit the small displays.
This eBook uses Adobe-DRM, a „hard” copy protection. If the necessary requirements are not met, unfortunately you will not be able to open the eBook. You will therefore need to prepare your reading hardware before downloading.
Please note: We strongly recommend that you authorise using your personal Adobe ID after installation of any reading software.
For more information, see our ebook Help page.