Download presentation
Presentation is loading. Please wait.
Published byErik Branden Austin Modified over 8 years ago
1
Tools to support the Software Development Process Simon Davies Microsoft Ltd sdavies@microsoft.com
2
2 Agenda Where are we today? Where are we today? What are we doing moving forwards? What are we doing moving forwards? Q and A Q and A
3
3 Where are we today? Visual Studio 2003 Enterprise Edition Visual Studio 2003 Enterprise Edition Visio for Architects – “UML sketch functionality” Application Center Test Web Load Test tool - can also be used with Web Services Enterprise Templates Policies, constraints, guidance
4
4 Where are we today? Partners Partners over 130 VSIP partners covering all aspects of SDLC Community Community NUnit,NAnt,NDoc,NMock,CruiseControl, Reflector,CodeSmith Microsoft Microsoft FxCop, SDC Build process and tools Architectural guidance Architectural guidance http://msdn.microsoft.com/patterns http://msdn.microsoft.com/patterns What about process,methodology etc? What about process,methodology etc?
5
5 The Microsoft Solutions Framework – MSF 3.0 A collection of principles, processes and best practices that work very well together A collection of principles, processes and best practices that work very well together Guidance to help organizations be more successful delivering IT Solutions: Guidance to help organizations be more successful delivering IT Solutions: Faster, With fewer people, With less risk, Enabling higher quality results MSF is Completely Technology Agnostic MSF is Completely Technology Agnostic http://www.microsoft.com/technet/itsolu tions/techguide/msf/default.mspx http://www.microsoft.com/technet/itsolu tions/techguide/msf/default.mspx
6
6 Core Tenets to Success Tools need to… Tools need to… …reduce the complexity of delivering modern service-oriented solutions …be tightly integrated and facilitate better team collaboration …enable customization and extensibility by organizations and ISVs
7
Where Are We Going?
8
8 Expanding Visual Studio Increased Reliability Quality Early & Often Predictability & Visibility Design for Operations Project Manager Solution Architect Developer Tester Infrastructure Architect
9
9 Dynamic Code Analyzer Visual Studio 2005 Team System Visual Studio Team Architect Visual Studio Team Developer Visual Studio Team Test Static Code AnalyzerCode ProfilerUnit TestingCode CoverageVisio and UML ModelingTeam Foundation ClientVS ProClass ModelingLoad TestingManual TestingTest Case ManagementApplication ModelingLogical Infra. ModelingDeployment ModelingChange ManagementWork Item TrackingReportingProject Portal Visual Studio Team Foundation Integration ServicesProject Management Proven Process Guidance
10
10 Dynamic Code Analyzer Team Foundation Visual Studio Team Architect Visual Studio Team Developer Visual Studio Team Test Static Code AnalyzerCode ProfilerUnit TestingCode CoverageVisio and UML ModelingTeam Foundation ClientVS ProClass ModelingLoad TestingManual TestingTest Case ManagementApplication ModelingLogical Infra. ModelingDeployment ModelingChange ManagementWork Item TrackingReportingProject Portal Visual Studio Team Foundation Integration ServicesProject Management Proven Process Guidance
11
11 Team Foundation Problem Space Fragmented information Fragmented information Can’t relate and query work items, work, processes and artifacts Tools sets are incomplete or poorly integrated Difficulty integrating tools with existing infrastructure Communication is manual Communication is manual People use the phone or face-to-face Information is not captured Distributed development aggravates the problem Life cycle tools are expensive and complex Life cycle tools are expensive and complex Tools are difficult to learn and use Developers view tools as “overhead” Administration costs are high
12
12 Team Foundation Capabilities Work item tracking Work item tracking Integrated into development process Design your own process – Fields, Forms, States, Rules Extensive linking – bugs, tasks, requirements reports, artifacts Notifications Source Code Control Source Code Control Policy based check in Scalable and robust Parallel development Notifications Build automation Build automation Scripted “nightly” build Reporting Integrates many of the Team System tools Reporting Reporting Automatic data collection 50 Predefined reports Project portal Project portal Single place to go for high-level project information – specs, builds etc. Web access work items Windows Sharepoint Services based
13
13 Remote Development Remote development is a reality Remote development is a reality Distributed teams, at-home, offshore A system built for the Internet A system built for the Internet Web service protocols Browser-based clients Compatible with proxies and firewalls Optimized for high-latency networks
14
14 Extensibility End user extensibility – process customization and creation End user extensibility – process customization and creation Work Item Types Checkin Notes & Policies Third party extensibility Third party extensibility Tool integration platform – eventing, linking, security Managed object models Web service APIs
15
15 Demo Visual Studio 2005 Team Foundation Visual Studio 2005 Team Foundation
16
16 Dynamic Code Analyzer Team Architect Visual Studio Team Architect Visual Studio Team Developer Visual Studio Team Test Static Code AnalyzerCode ProfilerUnit TestingCode CoverageVisio and UML ModelingTeam Foundation ClientVS ProClass ModelingLoad TestingManual TestingTest Case ManagementApplication ModelingLogical Infra. ModelingDeployment ModelingChange ManagementWork Item TrackingReportingProject Portal Visual Studio Team Foundation Integration ServicesProject Management Proven Process Guidance
17
17 Team Architect Problem Space Communication problems exist between Communication problems exist between Architects and Developers Developers do not work within architectural guidelines Development and Operations Deployment problems caught too late Modeling tools are seen as valuable Modeling tools are seen as valuable Visualization of designs Higher level abstractions simply design and development Generation of code and other artifacts can improve productivity But … have mixed history of success But … have mixed history of success Positive: good for documentation Negative: CASE baggage, round-tripping complexities, not used for software development
18
18 Team Architect Key Scenarios Key Scenarios Design connected systems - “Design for Operations” Code visualization Documentation and conceptual drawings UML and More UML and More UML tools for software documentation DSLs tools for precise software development DSL tools DSL tools Distributed Systems Designers Application connection Designer System Definition Designer Logical Datacenter Designer Class Designer Understand existing code Initial class design Review and refactor code Diagrams for documentation
19
19 Demo Application and System Modelling and Validation Application and System Modelling and Validation Class Modelling Class Modelling
20
20 Dynamic Code Analyzer Team Developer Visual Studio Team Architect Visual Studio Team Developer Visual Studio Team Test Static Code AnalyzerCode ProfilerUnit TestingCode CoverageVisio and UML ModelingTeam Foundation ClientVS ProClass ModelingLoad TestingManual TestingTest Case ManagementApplication ModelingLogical Infra. ModelingDeployment ModelingChange ManagementWork Item TrackingReportingProject Portal Visual Studio Team Foundation Integration ServicesProject Management Proven Process Guidance
21
21 Team Developer The Tools the Microsoft Uses The Tools the Microsoft Uses Features Features Static code analysis Support for managed and native code PREfast used in Trustworthy Computing Code Reviews FxCop used to develop.NET framework Code profiling Based on two internal profilers: Instrumented – IceCAP, used by Windows Base and SQL Server Sampling – LOP, used throughout MX, including Xbox Includes ETW events Sequence view examines running threads GC view of object allocation and lifetime Caller-callee, callstack, and function views Code coverage Basic Block Coverage Based on the BBCover technology that Windows & Visual Studio use
22
22 Static Code Analysis Static Code Analyzer
23
23 Code Coverage
24
24 Unit Testing Integrated Unit Testing
25
25 Dynamic Code Analyzer Team Test Visual Studio Team Architect Visual Studio Team Developer Visual Studio Team Test Static Code AnalyzerCode ProfilerUnit TestingCode CoverageVisio and UML ModelingTeam Foundation ClientVS ProClass ModelingLoad TestingManual TestingTest Case ManagementApplication ModelingLogical Infra. ModelingDeployment ModelingChange ManagementWork Item TrackingReportingProject Portal Visual Studio Team Foundation Integration ServicesProject Management Proven Process Guidance
26
26 Team Test Tests are Source Code Tests are Source Code Test Authoring & Execution Environment Test Authoring & Execution Environment Test View Test Explorer (Test Case Management UI) Load testing Load testing Web services load testing via protocol-based script Load patterns: constant, step, custom Perf counter collection and threshold monitoring Unit Testing Unit Testing Similar to NUnit
27
27 Load Testing Creation Load Testing Web recorder Load Testing Web recorder
28
28 Load Testing Perf Counter integration and monitoring Load Testing
29
29 Broad Industry Support
30
© 2004 Microsoft Corporation. All rights reserved. This presentation is for informational purposes only. Microsoft makes no warranties, express or implied, in this summary.
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.