Tải bản đầy đủ (.pdf) (693 trang)

Professional application lifecycle management with visual studio 2013

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (25.05 MB, 693 trang )

www.it-ebooks.info


www.it-ebooks.info


PROFESSIONAL
APPLICATION LIFECYCLE MANAGEMENT
WITH VISUAL STUDIO® 2013
INTRODUCTION . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xxix
CHAPTER 1

Introduction to Application Lifecycle Management
with Visual Studio 2013 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1

▸ PART I

TEAM FOUNDATION SERVER

CHAPTER 2

Introduction to Team Foundation Server . . . . . . . . . . . . . . . . . . . . . 11

CHAPTER 3

Using Centralized Team Foundation Version Control . . . . . . . . . . . 37

CHAPTER 4

Distributed Version Control with Git and
Team Foundation Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77



CHAPTER 5

Team Foundation Build . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93

CHAPTER 6

Release Management . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127

CHAPTER 7

Common Team Foundation Server Customizations . . . . . . . . . . . . 153

▸ PART II

BUILDING THE RIGHT SOFTWARE

CHAPTER 8

Introduction to Building the Right Software. . . . . . . . . . . . . . . . . . 167

CHAPTER 9

Storyboarding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 177

CHAPTER 10

Capturing Stakeholder Feedback . . . . . . . . . . . . . . . . . . . . . . . . . . 193

▸ PART III


PROJECT MANAGEMENT

CHAPTER 11

Introduction to Project Management . . . . . . . . . . . . . . . . . . . . . . . 203

CHAPTER 12

Agile Planning and Tracking . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233

CHAPTER 13

Using Reports, Portals, and Dashboards . . . . . . . . . . . . . . . . . . . . 257
Continues

www.it-ebooks.info
ffi rs.indd 03/04/2014 Page i


▸ PART IV ARCHITECTURE
CHAPTER 14

Introduction to Software Architecture . . . . . . . . . . . . . . . . . . . . . . 277

CHAPTER 15

Top-Down Design with Use Case, Activity, Sequence,
Component, and Class Diagrams . . . . . . . . . . . . . . . . . . . . . . . . . . 289


CHAPTER 16

Analyzing Applications Using Architecture Explorer,
Dependency Graphs, and Code Maps . . . . . . . . . . . . . . . . . . . . . . 317

CHAPTER 17

Using Layer Diagrams to Model and
Enforce Application Architecture . . . . . . . . . . . . . . . . . . . . . . . . . . 343

▸ PART V

SOFTWARE DEVELOPMENT

CHAPTER 18

Introduction to Software Development . . . . . . . . . . . . . . . . . . . . . 357

CHAPTER 19

Unit Testing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 369

CHAPTER 20

Code Analysis, Code Metrics, Code Clone Analysis,
and CodeLens . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 397

CHAPTER 21

Profiling and Performance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 425


CHAPTER 22

Debugging with IntelliTrace . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 465

▸ PART VI TESTING
CHAPTER 23

Introduction to Software Testing . . . . . . . . . . . . . . . . . . . . . . . . . . 489

CHAPTER 24

Manual Testing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 505

CHAPTER 25

Coded User Interface Testing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 537

CHAPTER 26

Web Performance and Load Testing . . . . . . . . . . . . . . . . . . . . . . . . 563

CHAPTER 27

Lab Management . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 609

INDEX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 633

www.it-ebooks.info
ffi rs.indd 03/04/2014 Page ii



PROFESSIONAL

Application Lifecycle Management
with Visual Studio® 2013

www.it-ebooks.info
ffi rs.indd 03/04/2014 Page iii


www.it-ebooks.info


PROFESSIONAL

Application Lifecycle Management
with Visual Studio® 2013

Mickey Gousset
Martin Hinshelwood
Brian A. Randell
Brian Keller
Martin Woodward

www.it-ebooks.info
ffi rs.indd 03/04/2014 Page v


Professional Application Lifecycle Management with Visual Studio® 2013

Published by
John Wiley & Sons, Inc.
10475 Crosspoint Boulevard
Indianapolis, IN 46256
www.wiley.com
Copyright © 2014 by John Wiley & Sons, Inc., Indianapolis, Indiana
Published simultaneously in Canada
ISBN: 978-1-118-83658-3
ISBN: 978-1-118-83636-1 (ebk)
ISBN: 978-1-118-83659-0 (ebk)
Manufactured in the United States of America
10 9 8 7 6 5 4 3 2 1
No part of this publication may be reproduced, stored in a retrieval system or transmitted in any form or by any means,
electronic, mechanical, photocopying, recording, scanning or otherwise, except as permitted under Sections 107 or 108
of the 1976 United States Copyright Act, without either the prior written permission of the Publisher, or authorization
through payment of the appropriate per-copy fee to the Copyright Clearance Center, 222 Rosewood Drive, Danvers,
MA 01923, (978) 750-8400, fax (978) 646-8600. Requests to the Publisher for permission should be addressed to the
Permissions Department, John Wiley & Sons, Inc., 111 River Street, Hoboken, NJ 07030, (201) 748-6011, fax (201)
748-6008, or online at />Limit of Liability/Disclaimer of Warranty: The publisher and the author make no representations or warranties with
respect to the accuracy or completeness of the contents of this work and specifically disclaim all warranties, including
without limitation warranties of fitness for a particular purpose. No warranty may be created or extended by sales or
promotional materials. The advice and strategies contained herein may not be suitable for every situation. This work is
sold with the understanding that the publisher is not engaged in rendering legal, accounting, or other professional services. If professional assistance is required, the services of a competent professional person should be sought. Neither the
publisher nor the author shall be liable for damages arising herefrom. The fact that an organization or Web site is referred
to in this work as a citation and/or a potential source of further information does not mean that the author or the
publisher endorses the information the organization or Web site may provide or recommendations it may make. Further,
readers should be aware that Internet Web sites listed in this work may have changed or disappeared between when this
work was written and when it is read.
For general information on our other products and services please contact our Customer Care Department within the
United States at (877) 762-2974, outside the United States at (317) 572-3993 or fax (317) 572-4002.

Wiley publishes in a variety of print and electronic formats and by print-on-demand. Some material included with standard
print versions of this book may not be included in e-books or in print-on-demand. If this book refers to media such as a CD
or DVD that is not included in the version you purchased, you may download this material at http://booksupport
.wiley.com. For more information about Wiley products, visit www.wiley.com.
Library of Congress Control Number: 2013958303
Trademarks: Wiley, Wrox, the Wrox logo, Programmer to Programmer, and related trade dress are trademarks or registered
trademarks of John Wiley & Sons, Inc. and/or its affi liates, in the United States and other countries, and may not be used
without written permission. Visual Studio is a registered trademark of Microsoft Corporation. All other trademarks are the
property of their respective owners. John Wiley & Sons, Inc., is not associated with any product or vendor mentioned in
this book.

www.it-ebooks.info
ffi rs.indd 03/04/2014 Page vi


To Amye, Emma, and Meg, the girls in my life.
I love you!
—Mickey Gousset
To Evangelina and Kaiden. Without whom I would be
lost at this time of great change.
—Martin Hinshelwood
To Juliane, Brent, and Nicole. I love you.
—Brian Randell

www.it-ebooks.info
ffi rs.indd 03/04/2014 Page vii


www.it-ebooks.info
ffi rs.indd 03/04/2014 Page viii



ABOUT THE AUTHORS

MICKEY GOUSSET is a Principal Consultant for Infront Consulting Group, a consult-

ing company focused on the Microsoft System Center family of products. He is one
of the original Microsoft Application Lifecycle Management MVPs, and co-author of
several books about ALM, including Professional Team Foundation Server (Wrox,
2006), Professional Application Lifecycle Management with Visual Studio 2010
(Wrox, 2010), and Professional Application Lifecycle Management with Visual Studio 2012 (Wrox,
2012). Gousset runs ALM Rocks! (www.almrocks.com), where he writes about Visual Studio, TFS,
and ALM in general. He speaks around the world on ALM and System Center topics. When not
writing or working with computers, Mickey enjoys a range of hobbies, from playing on Xbox Live
(Gamer Tag: HereBDragons) to participating in local community theatre. But nothing beats his
favorite pastime: spending time with Amye, Emma, Meg, and their four dogs, two cats, and one fish.
MARTIN HINSHELWOOD is the Principal Consultant for naked ALM Consulting, a

technical and management consultancy based in Scotland that focuses on Visual
Studio ALM, TFS, and Scrum. He has been a Visual Studio ALM MVP for six years
running and was even ALM MVP of the Year in 2011. As well as working with the
Visual Studio ALM Rangers and being an ALM Ranger Champion in 2011, Martin
participates in the lean-agile community. Martin has been a Professional Scrum Trainer with
Scrum.org since early 2010. He regularly teaches Scrum courses around the world and works as an
Engagement Manager for Agility Path. Somehow he also fi nds time to maintain his blog
( and a YouTube Channel, and even speaks at many events around
the world ( In his spare time Martin can be found on excursions with his favourite people (Evangelina and Kaiden) and occasionally on Xbox
( />BRIAN RANDELL is a Partner with MCW Technologies LLC. For more than 20 years
he has been building software solutions. He educates teams on Microsoft technologies via writing and training—both in-person and on demand. He speaks regularly
at shows small and large including Microsoft’s TechEd and PDC in the United States,

Europe, Africa, Australia, and New Zealand. He’s also a consultant for companies
small and large, worldwide, including Fortune 100 companies like Microsoft. Brian is a passionate
software craftsman who still enjoys coding as he helps teams to improve their processes from idea
to shipping, and to production management and monitoring. As a long time virtualization junkie,
Brian’s an expert in Hyper-V and Lab Management. In addition, he’s become obsessed over the last
few years with natural user interfaces and how to create compelling user experiences regardless of
platform. In early 2010, he toured the world hitting most of the continents (sadly no penguins were
trained) prepping Microsoft employees and Microsoft partners for the Microsoft Visual Studio 2010
launch. In 2012, he and his team built some of the fi rst training content and demos for Microsoft
using Visual Studio 2012, Team Foundation Server 2012, and Windows 8. For the 2013 release, he
continued building new ALM content for use worldwide by Microsoft and its partners. He’s been a

www.it-ebooks.info
ffi rs.indd 03/04/2014 Page ix


Microsoft MVP in developer related technologies for more than 10 years and is currently a Visual
Studio ALM MVP. When not working, Brian enjoys spending time with his wife and two children
who enjoy making him look bad on the Xbox One (with and without Kinect).
BRIAN KELLER is a Director for Microsoft, specializing in Visual Studio and application lifecycle management. He has been with Microsoft since 2002 and has presented
at conferences around the world, including TechEd, PDC, and Build. Outside of work
he enjoys spending time with his lovely wife Elisa and their awesome son Paxton.
MARTIN WOODWARD is a Senior Program Manager on the Team Foundation Server
team at Microsoft. Previously, Woodward was also Team System Most Valuable
Professional (MVP) of the year. Not only does he bring unique insight into the inner
workings of Team Foundation Server, he brings a cross-platform perspective that he is
always happy to share through his writings, on his blog at www. woodwardweb.com, or
when speaking at events internationally. Martin also co-authored Professional Application Lifecycle
Management with Visual Studio 2010 (Wrox, 2010), Professional Team Foundation Server 2010
(Wrox, 2011), Professional Application Lifecycle Management with Visual Studio 2012 (Wrox,

2012), and Professional Team Foundation Server 2012 (Wrox, 2013).

www.it-ebooks.info
ffi rs.indd 03/04/2014 Page x


CREDITS
EXECUTIVE EDITOR

BUSINESS MANAGER

Robert Elliott

Amy Knies

PROJECT EDITOR

VICE PRESIDENT AND EXECUTIVE
GROUP PUBLISHER

Tom Dinse

Richard Swadley
TECHNICAL EDITOR

Michael Fourie

ASSOCIATE PUBLISHER

Jim Minatel

TECHNICAL PROOFREADER

Anthony Borton

PROJECT COORDINATOR, COVER

Todd Klemme
PRODUCTION EDITOR

Daniel Scribner

PROOFREADER

Sarah Kaikini, Word One
COPY EDITOR

Kezia Endsley

INDEXER

Johnna van Hoose Dinse
MANAGER OF CONTENT DEVELOPMENT
AND ASSEMBLY

COVER DESIGNER

Mary Beth Wakefield

Wiley


DIRECTOR OF COMMUNIT Y MARKETING

COVER IMAGE

David Mayhew

©iStockphoto.com/IS_ImageSource

MARKETING MANAGER

Ashley Zurcher

www.it-ebooks.info
ffi rs.indd 03/04/2014 Page xi


www.it-ebooks.info
ffi rs.indd 03/04/2014 Page xii


ACKNOWLEDGMENTS

I’M FORTUNATE TO BE SURROUNDED by ALM MVPs who make my life much easier. Brian Randell

and Martin Hinshelwood, thank you for taking this journey with me. You both have created some
amazing content in this book, and it is much better for it. And we are even closer friends because
of it. Mike Fourie, I just don’t know what to say. You are the most amazing technical editor I have
had. You have the ability to point out all the things I missed, without making me look bad. And
your depth of knowledge is astounding. Anthony Borton, thank you for all your help and assistance
with the book. To our editors Bob Elliot and especially Tom Dinse, thank you so much for keeping

us on track and schedule, and working with us when “stuff” happens. Tom, you are an amazing editor that I would write a book with anytime. And fi nally, to Amye, Emma (14), and Meg (10), thank
you for putting up with my schedule and my late hours in getting this project completed. I could not
have done it without your love and support.

—Mickey Gousset

WITH THE MANY CHANGES IN THE LAST SIX MONTHS I don’t know where to start or why I agreed to
write a book of all things. I want to thank my parents Anne and John for helping me settle back into
Scotland (it was quite a shock after three years in Seattle), without you guys I would not have been
able to start my own business. My wonderful kids Evangelina (6) and Kaiden (4) for their patience
and distraction from the world around us, you make it all worth it. Finally I want to thank Mickey
Gousset and Brian Randell for putting up with my newbie questions and issues, and Mike Fourie for
taking it easy with the technical editing.

—Martin Hinshelwood

FIRST, TO MY DEAR FRIEND MICKEY for asking me to join him. We keep fi nding new ways to have
fun. To Mr. Hinsh, I’ve enjoyed getting to know you better and look forward to many more friendly
exchanges; exchanges only friends have. Mr. Keller, I still think fondly about fi rst working with
you when you were a Product Manager and the fun we had on your fi rst tour of duty outside the
Unites States speaking. Congratulations on being a husband and father, it suites you. And to Mr.
Woodward, what can I say mate? I only wish Ballycastle were up the road for me too. That said,
every visit we have is warm and wonderful no matter what part of the globe we’re at. All four of you
made this book better and I thank you for having me on the journey. Thank you to everyone at Wrox
especially Bob Elliot, Tom Dinse, and Kezia Endsley. Your editorial guidance and continued pokes
as well as catching all the little things, got this book done in fine shape. Thank you. To our technical editor Mike Fourie, you continue to amaze me with your work ethic and I know the book is 100

www.it-ebooks.info
ffi rs.indd 03/04/2014 Page xiii



times better due to your keen eye. And I can’t leave out my dear Aussie friend Anthony Borton, who
took on the job of “one more read” before we published to make sure we didn’t write something stupid. Thank you. Of course, any errors are those of myself and my co-authors. Throw stones our way.
Beyond those who were directly involved in the project, I have a few people I must mention who
have influenced my writing and general geekiness. To my business partner Ken Getz—you’ve done
more for me than you’ll ever know. I’m a better human because of you. Thank you. To Dave and
Barbara Brady who gave me my fi rst “computer” job. You gave me more than a job. You put me on
the path to a career I love. Thank you. To Ian Griffiths, you’re an inspiration to work with but a
better friend to break bread with—I look forward to more fun in the future. To Matt Nunn, from
our fi rst fun in Australia to the wonderful solutions we’ve built, it’s been great working on the “art
of the possible.” To Jon Flanders, I know at your wedding you said you still didn't like me. That's
OK. I'll take what I can get. And to Mr. Brian Harry. It started with Visual SourceSafe. You wrote
that automation interface one summer and I was lucky to work with you. Your work ethic inspires
as does your dedication to customer and craft. Thank you for always being there.
To my fi rst set of co-authors on my fi rst published book: Dr. Joe Hummel, Justin Gehtland, Jason
Masterman, and Ted Pattison. Gents, there are times in your life that you wonder what you were
thinking. That book hurt, but everything has a purpose. I said never again but I did and the lessons
learned helped. Beyond that book however, all of our teaching together, the Guerilla events, and all
the other “fun” continues to warm my heart with great memories when I think of each of you.
All the things I know about Visual Studio and TFS come from hard work and having a cadre of
wonderful people to answer questions. This includes two special groups to me: Microsoft employees in DevDiv and the Microsoft ALM MVPs. Over the years countless e-mails, IM conversations,
and phone calls have been exchanged as well as many wonderful face-to-face conversations (even
the ones that were loud). Thank you. I can’t thank you all individually, but I do want to highlight
a few in particular from Microsoft working on ALM and TFS, including Doug Seven, David Starr,
Larry Guger, Grant Holliday, William Bartholomew, Rob Caron, Chuck Sterling, Chris Patterson,
Peter Provost, Buck Hodges, Aaron Bjork, Justin Marks, Jamie Cool, Jeff Behler, Ed Holloway, Ed
Blankenship, Ewald Hofman, Matthew Mitrik, Philip Kelley, Chad Boles, Sean McBreen, Tracy
Trewin, Will Smythe, Ravi Shanker, Vijay Machiraju, and Subrahmanyam Veera Mandavilli. To my
fellow MVPs, you’re all wonderful, I’m lucky to have you as peers and thank all of you for your help
but in particular want to call out Jeff Levinson, Neno Loje, Richard Hundhausen, Adam Cogan,

Ben Day, David V. Corbin, Ognjen Bajic, Thomas Schissler, Jesse Houwing, Dylan Smith, Richard
Banks, and Jason Stangroome. Anyone not mentioned directly and forgotten, I’m sorry.
Finally, I need to thank my dear, lovely wife. You are my best friend. Even though you told me not
to write the book, you supported me when I did. Our house is a home because of you and I am a
lucky man to fi nd you here every time I come home from a trip. I see you in the eyes of our children
and that brings more joy than I would have ever imagined over twenty years ago when we fi rst met.

—Brian Randell

www.it-ebooks.info
ffi rs.indd 03/04/2014 Page xiv


CONTENTS

INTRODUCTION

xxix

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

1


2
3
4
5
6

Requirements
System Design and Modeling
Code Generation
Testing
Feedback
Operations
Putting It into Context

6
7
7
7
8
8
8

Summary

8

PART I: TEAM FOUNDATION SERVER
CHAPTER 2: INTRODUCTION TO TEAM FOUNDATION SERVER

11


What Is Team Foundation Server?
Acquiring Team Foundation Server

12
13

Hosted Team Foundation Server
On-Premises Installation

13
15

Team Foundation Server Core Concepts
Team Foundation Server
Team Project Collection
Team Project
Teams
Process Templates
Work Item Tracking
Version Control
Team Build

15
16
16
17
20
21
22

23
25

www.it-ebooks.info
ftoc.indd 03/05/2014 Page xv


CONTENTS

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

27
29
30
31
31
31
32
32

33
33
33
33

34
34

34
36
37

39
40
41
42
43
45

48
50
54
57
58

59

Workspaces
Server Workspaces
Local Workspaces

61
64
65


Command-Line Tools
Branching and Merging

66
67

Branching Demystified
Common Branching Strategies

Summary

67
70

75

xvi

www.it-ebooks.info
ftoc.indd 03/05/2014 Page xvi

26


CONTENTS

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

77

78
79
80
83
86

Merging Changes with Git and Visual Studio
Branch Creation

88
88

Summary

91

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

93

94
95
96
97
99
99
99
100
100

100
101
102

102
103
104
114
116

Team Build Process

118

Default Template Process
Build Process Parameters

119
119

Summary

125

CHAPTER 6: RELEASE MANAGEMENT

What Is Release Management?
Continuous Software Delivery
Defining a Release Pipeline

127

127
129

132
xvii

www.it-ebooks.info
ftoc.indd 03/05/2014 Page xvii


CONTENTS

Configuring for First Use
Introduction to Actions
Introduction to Release Paths
Creating Release Templates
Creating Releases
Approvals

Summary

133
135
137
142
148
149

151

CHAPTER 7: COMMON TEAM FOUNDATION SERVER
CUSTOMIZATIONS


Object Models

153

154

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

155
155
155
155
157

157
157
159

160

160

Team Foundation Server Event Service
Customizing Work Item Tracking

161
162

Modifying Work Item Type Definitions
Creating Custom Work Item Controls

162
163

Summary

163

PART II: BUILDING THE RIGHT SOFTWARE
CHAPTER 8: INTRODUCTION TO BUILDING THE RIGHT SOFTWARE 167

Stakeholders
Storyboarding
Capturing Stakeholder Feedback
Work Item Only View
Third-Party Requirements Management Solutions
TeamCompanion
TeamSpec
inteGREAT


173
174
174

Summary

176

xviii

www.it-ebooks.info
ftoc.indd 03/05/2014 Page xviii

169
170
171
172
173


CONTENTS

CHAPTER 9: STORYBOARDING

177

Why Storyboarding?
PowerPoint Storyboarding

177

179

Storyboard Shapes
Layouts
Screenshots
My Shapes
Animations
Hyperlinks
Storyboard Links

180
181
182
185
187
188
189

Summary

190

CHAPTER 10: CAPTURING STAKEHOLDER FEEDBACK

193

Requesting Feedback
Providing Feedback

194

195

Voluntary Feedback

199

Summary

199

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

203

204
204
205
207

207
208
208

209

Work Item Types
Areas and Iterations

209
211

Process Templates

214

MSF for Agile Software Development
MSF for CMMI Process Improvement
Visual Studio Scrum
Third-party Process Templates
Custom Process Templates

215
217
221
222
223

xix


www.it-ebooks.info
ftoc.indd 03/05/2014 Page xix


CONTENTS

Managing Work Items

223

Using Visual Studio
Using Microsoft Excel
Using Microsoft Project
Using Team Web Access

223
228
230
230

Project Server Integration
Summary

231
232

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

233

234
240
244
248
251
253
255
257

258
260
261
262

273

274

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

277
279
279
280
281

281
282
283
283

284
284

xx

www.it-ebooks.info
ftoc.indd 03/05/2014 Page xx

277


CONTENTS

Layer Diagrams
Architecture Explorer

286
286

What’s New with Architecture Tools in
Visual Studio Ultimate 2013

287

Code Maps
Visual Studio Visualization and Modeling SDK

287
288


Summary

288

CHAPTER 15: TOP-DOWN DESIGN WITH USE CASE, ACTIVITY,
SEQUENCE, COMPONENT, AND CLASS DIAGRAMS

Use Case Diagrams

289

290

Creating a Use Case Diagram
Use Case Diagram Toolbox

290
294

Activity Diagrams

295

Creating an Activity Diagram
Activity Diagram Toolbox
Adding an Activity Diagram to a Use Case Diagram

295
298
300


Sequence Diagrams

300

Creating a Sequence Diagram
Sequence Diagram Toolbox

300
303

Component Diagrams

304

Creating a Component Diagram
Component Diagram Toolbox

304
308

Class Diagrams

310

Creating a Class Diagram
Class Diagram Toolbox
Generating Code from a UML Class Diagram

311

312
314

Summary

315

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

317

318
319
320
320
321
323
325
326


xxi

www.it-ebooks.info
ftoc.indd 03/05/2014 Page xxi


CONTENTS

Dependency Graphs

328

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

328
329
331
334
335
336

337

341

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

343

344
345
347
347
347

349
351
353
354

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

358
358
359
359
359
360
361

362

Suspend and Resume
Code Review

363
364

Summary


367

xxii

www.it-ebooks.info
ftoc.indd 03/05/2014 Page xxii

357


CONTENTS

CHAPTER 19: UNIT TESTING

369

Unit Testing Concepts

370

Benefits of Unit Testing
Writing Effective Unit Tests
Third-Party Tools

370
371
372

Visual Studio Unit Testing


372

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

373
376
377

377
377

380
383
385
386
386
387

387
388
389
391

393
394

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

397

398
398

399


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

400
401
402
404
407

410
410
413
414

xxiii

www.it-ebooks.info
ftoc.indd 03/05/2014 Page xxiii


×