37
Visual Studio 2010 and .NET Framework 4 Bernard Fedotoff [email protected]

Visual Studio 2010 and.NET Framework 4 Bernard Fedotoff [email protected]

Embed Size (px)

Citation preview

Page 1: Visual Studio 2010 and.NET Framework 4 Bernard Fedotoff bfedotoff@hotmail.com

Visual Studio 2010and

.NET Framework 4

Visual Studio 2010and

.NET Framework 4

Bernard [email protected]

Page 2: Visual Studio 2010 and.NET Framework 4 Bernard Fedotoff bfedotoff@hotmail.com

AgendaAgenda

What’s new in .Net 4VS 2010 OverviewWhat ’s new with C# 4.0What’s new With TFS 2010What’s new for the ArchitectsWhat’s new for the Developpers

Page 3: Visual Studio 2010 and.NET Framework 4 Bernard Fedotoff bfedotoff@hotmail.com

AgendaAgenda

What’s new in .Net 4VS 2010 OverviewWhat ’s new with C# 4.0What’s new With TFS 2010What’s new for the ArchitectsWhat’s new for the Developpers

Page 4: Visual Studio 2010 and.NET Framework 4 Bernard Fedotoff bfedotoff@hotmail.com

A Look Back…A Look Back…

.NET 1.0 .NET 1.1 .NET 2.0

3.0

3.5

.NET 4

2002 2003 2008 CTP!2005-08

CLR 1.0 CLR 1.1 CLR 2.0 CLR 4

SP1

Page 5: Visual Studio 2010 and.NET Framework 4 Bernard Fedotoff bfedotoff@hotmail.com

What Is The .NET Framework?What Is The .NET Framework?

Base Class Libraries

The CLRJIT & NGEN

Garbage Collector

Security Model

Exception Handling

Loader & Binder

WPFWin

FormsDLR

ASP.NET

WCFAnd

more!LINQ

Page 6: Visual Studio 2010 and.NET Framework 4 Bernard Fedotoff bfedotoff@hotmail.com

The goal of CLR 4The goal of CLR 4

Working Better Together…

Faster…

With Fewer Bugs…

In-Proc SxS

Native/Managed InteropDLR Integration

Managed Extensibility Framework

Threading Parallel Extensions

Garbage Collection Profiling

Code Contracts DebuggingCorrupted State Exceptions

Page 7: Visual Studio 2010 and.NET Framework 4 Bernard Fedotoff bfedotoff@hotmail.com

AgendaAgenda

What’s new in .Net 4VS 2010 OverviewWhat ’s new with C# 4.0What’s new With TFS 2010What’s new for the ArchitectsWhat’s new for the Developpers

Page 8: Visual Studio 2010 and.NET Framework 4 Bernard Fedotoff bfedotoff@hotmail.com

Visual Studio Targets Many…Visual Studio Targets Many…

Audience

Featu

re S

et

Minimal

Complete

Hobbyist Enterprise

Professional

Team System

Express

Page 9: Visual Studio 2010 and.NET Framework 4 Bernard Fedotoff bfedotoff@hotmail.com

New Look & Feel

Web Deploy

web.config Transformation

Call Hierarchy

Inline Call Tree

Highlight References

Document Map Margin

Extensible Test Runner

WPF-based Editor

Sharepoint Tooling

JQueryIntellisense

HTML Snippets

Historical Debugging

Concurrency Profiler

Parallel Tasks Window

Parallel Stacks Window

Quick Search

Generate From Usage

Improved Multi-Monitor

MVC Tooling

Dynamic Data Tooling

Click-Once Enhancements for Office

64-bit Mixed-Mode

Minidump Debugging

Breakpoint Grouping

Breakpoint Labeling

Breakpoint Import/Export

New Visual Studio 2010 Features…

Improved WPF Tooling

Page 10: Visual Studio 2010 and.NET Framework 4 Bernard Fedotoff bfedotoff@hotmail.com

The Two Faces of Visual Studio 2010

The Two Faces of Visual Studio 2010

Visual Studio As An Editor

Visual Studio As A Platform

Page 11: Visual Studio 2010 and.NET Framework 4 Bernard Fedotoff bfedotoff@hotmail.com

… As An Editor… As An Editor

An improved focus on…

Writing code,

Understanding code,

Navigating code,

Publishing code

Page 12: Visual Studio 2010 and.NET Framework 4 Bernard Fedotoff bfedotoff@hotmail.com

… As A Platform… As A Platform

New Extensible Editor allows editor to be easily extended to provide a rich and robust editing experience

Online Visual Studio Gallery integrated directly into Visual Studio

Page 13: Visual Studio 2010 and.NET Framework 4 Bernard Fedotoff bfedotoff@hotmail.com

AgendaAgenda

What’s new in .Net 4VS 2010 OverviewWhat ’s new with C# 4.0What’s new With TFS 2010What’s new for the ArchitectsWhat’s new for the Developpers

Page 14: Visual Studio 2010 and.NET Framework 4 Bernard Fedotoff bfedotoff@hotmail.com

Magic value via temp variables

Magic value via temp variables

GenerateChart(20, true);

var processCount = 20; var copyToWord = true; GenerateChart(processCount, copyToWord);

GenerateChart(20 /* processCount */, true /* copyToWord */);

GenerateChart( processCount:20, copyToWord: true);

Page 15: Visual Studio 2010 and.NET Framework 4 Bernard Fedotoff bfedotoff@hotmail.com

Optional ParametersOptional Parameters void GenerateChart(int processCount) { GenerateChart(processCount, false); }

void GenerateChart(int processCount, bool copyToWord) { // Do Something } void GenerateChart( int processCount,

bool copyToWord = false) { // Do Something }

Page 16: Visual Studio 2010 and.NET Framework 4 Bernard Fedotoff bfedotoff@hotmail.com

Dynamic LanguageDynamic Language

dynamic calc = GetCalculator(); int sum = calc.Add(10, 20);

Statically typed to be

dynamic

Dynamic method

invocationDynamic

conversion

Page 17: Visual Studio 2010 and.NET Framework 4 Bernard Fedotoff bfedotoff@hotmail.com

New Features in C# 4.0 & VB 10

New Features in C# 4.0 & VB 10

Feature VB10 C#4

Auto-implemented Properties

Collection Initializers

Statement Lambdas

Implicit Line Continuation N/A

Named/Optional Parameters

Latebinding support (dynamic)

Omit ref on COM calls

New in Dev10Already exists in VB9/C#3

Page 18: Visual Studio 2010 and.NET Framework 4 Bernard Fedotoff bfedotoff@hotmail.com

New Features in C# 4.0 & VB 10

New Features in C# 4.0 & VB 10

Feature VB10 C#4

Auto-implemented Properties

Collection Initializers

Statement Lambdas

Implicit Line Continuation N/A

Named/Optional Parameters

Latebinding support (dynamic)

Omit ref on COM calls

Interop with Dynamic Languages

Co/contravariance

PIA deployment not needed

New in Dev10Already exists in VB9/C#3

Page 19: Visual Studio 2010 and.NET Framework 4 Bernard Fedotoff bfedotoff@hotmail.com

New Features in C# 4.0 & VB 10

New Features in C# 4.0 & VB 10

Feature VB10 C#4

Auto-implemented Properties

Collection Initializers

Statement Lambdas

Implicit Line Continuation N/A

Named/Optional Parameters

Latebinding support (dynamic)

Omit ref on COM calls

Interop with Dynamic Languages

Co/contravariance

PIA deployment not needed

Iterators

XML Literals

New in Dev10Already exists in VB9/C#3

Page 20: Visual Studio 2010 and.NET Framework 4 Bernard Fedotoff bfedotoff@hotmail.com

AgendaAgenda

What’s new in .Net 4VS 2010 OverviewWhat ’s new with C# 4.0What’s new With TFS 2010What’s new for the ArchitectsWhat’s new for the Developpers

Page 21: Visual Studio 2010 and.NET Framework 4 Bernard Fedotoff bfedotoff@hotmail.com

Visual Studio Team System 2008

Visual Studio Team System 2008

Page 22: Visual Studio 2010 and.NET Framework 4 Bernard Fedotoff bfedotoff@hotmail.com

Visual Studio Team System 2010Visual Studio Team System 2010

Page 23: Visual Studio 2010 and.NET Framework 4 Bernard Fedotoff bfedotoff@hotmail.com

Where are the metadatas ?Where are the metadatas ?

Conceptual Level

Logical Level

Physical Level

What

How

Using

Traditional Approach

AGILE

Page 24: Visual Studio 2010 and.NET Framework 4 Bernard Fedotoff bfedotoff@hotmail.com

Identifying and Creating Personas

Identifying and Creating Personas

Personification of user groups Represented as an individual

Personification of user groups Represented as an individual

Good personas are memorable and three dimensional

Good personas are memorable and three dimensional

Personas consider personality, work environment and

characteristics

Personas consider personality, work environment and

characteristics

Persona should be useful for decision making

Persona should be useful for decision making

Personas should have a memorable name

Personas should have a memorable name

Persona BenefitsPersona Benefits

They separate “you” from your application’s customers

By making them “real” they are easier to discuss

They are more specific than RUP actors e.g. several personas for different demographics

They help with role play activities

They separate “you” from your application’s customers

By making them “real” they are easier to discuss

They are more specific than RUP actors e.g. several personas for different demographics

They help with role play activities

Page 25: Visual Studio 2010 and.NET Framework 4 Bernard Fedotoff bfedotoff@hotmail.com

Techniques for Capturing User Stories

Techniques for Capturing User Stories

PersonaPersona

Practices for Capturing User StoriesPractices for Capturing User Stories

Start with the goal

Break the goal into a list of steps

Start with “Persona does step”

Then “Solution shows result”

Use action verbs to enumerate steps

Write scenarios in the user’s language

Don’t detail alternate and exception paths initially

Start with the goal

Break the goal into a list of steps

Start with “Persona does step”

Then “Solution shows result”

Use action verbs to enumerate steps

Write scenarios in the user’s language

Don’t detail alternate and exception paths initially

Steps for persona to accomplish goal

Steps for persona to accomplish goal

User storiesUser stories

GoalGoal

Page 26: Visual Studio 2010 and.NET Framework 4 Bernard Fedotoff bfedotoff@hotmail.com

TFS 2010TFS 2010

No More Planning Black BoxNo More Late SurprisesNo More Stakeholder SurprisesNo More Bewildering Admin

Page 27: Visual Studio 2010 and.NET Framework 4 Bernard Fedotoff bfedotoff@hotmail.com

No More Planning Black BoxNo More Planning Black Box

Top-to-Bottom TraceabilityRequirements TraceabilityParent/Child RelationshipsRollup and Drilldown

Agile PlanningBuilt-in product backlog mgmtBuilt-in iteration planningEasily customizable

Great Project IntegrationFull dependency linking Full round-tripping w/ TFS

Page 28: Visual Studio 2010 and.NET Framework 4 Bernard Fedotoff bfedotoff@hotmail.com

No More Late SurprisesNo More Late Surprises

Reporting for mere mortals

Generate reports from queriesManipulate data with ExcelFriendlier OLAP cube

Share the knowledgeEmbed reports via MOSS

Page 29: Visual Studio 2010 and.NET Framework 4 Bernard Fedotoff bfedotoff@hotmail.com

No More Stakeholder SurprisesNo More Stakeholder Surprises

Information-rich dashboardsRoll-up reports show KPI’sDrill-down for further analysisQuickly customizable

Easy interaction with developers

Web-based bug filingWeb-based feature requestsTrack status of bugs / features

Page 30: Visual Studio 2010 and.NET Framework 4 Bernard Fedotoff bfedotoff@hotmail.com

No More Parallel Development Pain

No More Parallel Development Pain

First class branchesServer-side branch creationVisualize branch relationshipsTrack change across branches

HistoryTimelineRicher Annotate

Conflict resolution

Page 31: Visual Studio 2010 and.NET Framework 4 Bernard Fedotoff bfedotoff@hotmail.com

No More Bewildering AdminNo More Bewildering Admin

MMC-based adminUI for common tasks

Change service accountsConfigure data tierConfigure SSLAdd /change SharePointConfigure reporting/analysis servicesConfigure Team System Web AccessManage project collections

Access log files

Page 32: Visual Studio 2010 and.NET Framework 4 Bernard Fedotoff bfedotoff@hotmail.com

AgendaAgenda

What’s new in .Net 4VS 2010 OverviewWhat ’s new with C# 4.0What’s new With TFS 2010What’s new for the ArchitectsWhat’s new for the Developpers

Page 33: Visual Studio 2010 and.NET Framework 4 Bernard Fedotoff bfedotoff@hotmail.com

Generate Graph DocumentsGenerate Graph Documents

To explore the relationships and organization :

Graphs are generated By Assembly, by Namespace or By ClassCan be navigated to visualize dependenciesPartial graphs can be created by using Architecture ExplorerLayer Diagrams show organization and constraints

Page 34: Visual Studio 2010 and.NET Framework 4 Bernard Fedotoff bfedotoff@hotmail.com

UML DiagramsUML DiagramsHelps you to modelize User RequirementsUse case diagram

Who uses the system and what they do with it

Conceptual class diagramGlossary of types that are used to describe the requirements; the types visible at the system's interface.

Activity diagramFlow of work and information between activities performed by users and system or its parts.

Sequence diagramSequence of interactions between users and system or its parts. An alternative view to the activity diagram.

Component Diagramshow the major parts of the system

Page 35: Visual Studio 2010 and.NET Framework 4 Bernard Fedotoff bfedotoff@hotmail.com

AgendaAgenda

What’s new in .Net 4VS 2010 OverviewWhat ’s new with C# 4.0What’s new With TFS 2010What’s new for the ArchitectsWhat’s new for the Developpers

Page 36: Visual Studio 2010 and.NET Framework 4 Bernard Fedotoff bfedotoff@hotmail.com

Focus on code QualityFocus on code QualityIntelliTrace : «  rewind  » the debugging trace to examine the state of your application Enabled IntelliTrace in Visual Studio options

Identifying code change impacts on testVerifying code by using units tests

Enhance code quality with ckeck-in policiesTrack coding defects with Code AnalysisIdentify bottleneck with performance session

Prototype with SketchFlow

Page 37: Visual Studio 2010 and.NET Framework 4 Bernard Fedotoff bfedotoff@hotmail.com

Q&A