Visual Studio 2010 and .NET Framework 4

Preview:

DESCRIPTION

Visual Studio 2010 and .NET Framework 4. Bernard Fedotoff bfedotoff@hotmail.com. Agenda. What’s new in .Net 4 VS 2010 Overview What  ’s new with C# 4.0 What’s new With TFS 2010 What’s new for the Architects What’s new for the Developpers. Agenda. What’s new in .Net 4 - PowerPoint PPT Presentation

Citation preview

Visual Studio 2010and

.NET Framework 4

Bernard Fedotoffbfedotoff@hotmail.com

AgendaWhat’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

AgendaWhat’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

A Look Back…

.NET 1.0 .NET 1.1 .NET 2.03.03.5

.NET 42002 2003 2008 CTP!2005-08

CLR 1.0 CLR 1.1 CLR 2.0 CLR 4

SP1

What Is The .NET Framework?

Base Class Libraries

The CLRJIT & NGEN

Garbage Collector

Security Model

Exception Handling

Loader & Binder

WPF Win Forms DLR ASP.NE

T WCF And more!LINQ

The goal of CLR 4Working 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

AgendaWhat’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

Visual Studio Targets Many…

Audience

Feat

ure

Set

Minimal

Complete

Hobbyist Enterprise

Professional

Team System

Express

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

The Two Faces of Visual Studio 2010

Visual Studio As An Editor

Visual Studio As A Platform

… As An Editor

An improved focus on…

Writing code,

Understanding code,

Navigating code,

Publishing code

… 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

AgendaWhat’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

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);

Optional 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 }

Dynamic Language

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

Statically typed to be

dynamic

Dynamic method

invocationDynamic

conversion

New Features in C# 4.0 & VB 10

Feature VB10 C#4Auto-implemented PropertiesCollection InitializersStatement LambdasImplicit Line Continuation N/ANamed/Optional ParametersLatebinding support (dynamic)Omit ref on COM calls

New in Dev10Already exists in VB9/C#3

New Features in C# 4.0 & VB 10

Feature VB10 C#4Auto-implemented PropertiesCollection InitializersStatement LambdasImplicit Line Continuation N/ANamed/Optional ParametersLatebinding support (dynamic)Omit ref on COM callsInterop with Dynamic LanguagesCo/contravariancePIA deployment not needed

New in Dev10Already exists in VB9/C#3

New Features in C# 4.0 & VB 10

Feature VB10 C#4Auto-implemented PropertiesCollection InitializersStatement LambdasImplicit Line Continuation N/ANamed/Optional ParametersLatebinding support (dynamic)Omit ref on COM callsInterop with Dynamic LanguagesCo/contravariancePIA deployment not neededIteratorsXML Literals

New in Dev10Already exists in VB9/C#3

AgendaWhat’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

Visual Studio Team System 2008

Visual Studio Team System 2010

Where are the metadatas ?

Conceptual Level

Logical Level

Physical Level

What

How

Using

Traditional Approach

AGILE

Identifying and Creating Personas

Personification of user groups Represented as an individual

Good personas are memorable and three dimensional

Personas consider personality, work environment and

characteristics

Persona should be useful for decision making

Personas should have a memorable name

Persona BenefitsThey separate “you” from your application’s customersBy making them “real” they are easier to discussThey are more specific than RUP actors e.g. several personas for different demographicsThey help with role play activities

Techniques for Capturing User Stories

Persona

Practices for Capturing User StoriesStart with the goalBreak the goal into a list of steps

Start with “Persona does step”Then “Solution shows result”

Use action verbs to enumerate stepsWrite scenarios in the user’s languageDon’t detail alternate and exception paths initially

Steps for persona to accomplish goal

User stories

Goal

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

No 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

No More Late Surprises

Reporting for mere mortals

Generate reports from queriesManipulate data with ExcelFriendlier OLAP cube

Share the knowledgeEmbed reports via MOSS

No 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

No More Parallel Development Pain

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

HistoryTimelineRicher Annotate

Conflict resolution

No 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

AgendaWhat’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

Generate Graph DocumentsTo 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

UML DiagramsHelps you to modelize User RequirementsUse case diagram

Who uses the system and what they do with itConceptual class diagram

Glossary 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

AgendaWhat’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

Focus 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

Q&A