120 likes | 280 Views
Tools for Architects in Visual Studio 2010. Stuart Kent Architect Microsoft Visual Studio. By the end of this talk, you should…. …understand the following about the Visualization and Architecture tools in Visual Studio 2010 Why we built it Who we built it for What it can do.
E N D
Tools for Architects in Visual Studio 2010 Stuart Kent Architect Microsoft Visual Studio
By the end of this talk, you should… …understand the following about the Visualization and Architecture tools in Visual Studio 2010 • Why we built it • Who we built it for • What it can do
Why: tame complexity • Complexity is found everywhere • Code • Tests • Requirements • Organizational politics • (and more) • Visual Studio 2010 uses visualization and modelsto help with • Understanding existing code (and other assets) • Maintaining control over software architecture • Understanding the domain
Who: Developers and architects • Developers who are… …trying to understand existing code …focused on the right fix …wanting to do some upfront design • Architects who are… …trying to understand the domain …trying to understand architecture of existing assets …keen to keep the architecture clean …wanting to adapt and customize the toolset to specific needs of the organization
What: Product capabilities Project Management Code artefacts Metrics Code Reports Tasks Generate Update Tests Bugs Stories • 5. Maintain control • Generate code • DSLs Debug Traces • 3. Maintain control • Create links to TFS WIs • 4. Understand the domain • Layer • UML • DSLs • 2. Maintain control • Validate against layer diagrams Trace Trace Visualizations and models ExtensibleV & M Tools Platform Discover Abstract As-Is • 1. Understand the code • Standard Graphs + DGML • Architecture explorer • Sequence Diagrams • Layer Dependencies • Class Diagrams Validate To-Be Standards Concrete What-If
DEMO: Understand the code • Architecture explorer • Standard graphs and DGML • Sequence diagram generation • Class diagram generation (feature pack)
DEMO: Maintain control (Layer) • Layer diagram • Layer validation and integration with MSBuild • Work item integration
DEMO: Understand the domain (UML) • Modeling project • UML designers • UML explorer
DEMO: Maintain control (UML + DSL) • Work item integration with UML • Code generation (feature pack) • Code gen from UML • Text templates (T4) • T4 orchestrator • Using a Domain Specific Language (DSL)
DEMO: Customizing the tools • VS Extension manager and VSIX files • Extending a UML designer • Not shown: • Creation of custom DGML • Building your own Domain Specific designers using DSL Tools • Linking DSLs, UML, layer and DGML together using the modelbus
Summary: Product capabilities Project Management Code artefacts Metrics Code Reports Tasks Generate Update Tests Bugs Stories • 5. Maintain control • Generate code • DSLs Debug Traces • 3. Maintain control • Create links to TFS WIs • 4. Understand the domain • Layer • UML • DSLs • 2. Maintain control • Validate against layer diagrams Trace Trace Visualizations and models ExtensibleV & M Tools Platform Discover Abstract As-Is • 1. Understand the code • Standard Graphs + DGML • Architecture explorer • Sequence Diagrams • Layer Dependencies • Class Diagrams Validate To-Be Standards Concrete What-If
Where to find more • RC Build • http://msdn.microsoft.com/en-us/vstudio/dd582936.aspx • Documentation & resources • Docs:http://msdn.microsoft.com/en-us/library/57b85fsc(VS.100).aspx • Visualization and modeling SDK: http://code.msdn.microsoft.com/vsvmsdk • Layer templates:http://visualstudiogallery.msdn.microsoft.com/en-us/237f823c-45b4-4f1f-b9e2-607fe66eaae7 • Blogs • http://blogs.msdn.com/camerons (all) • http://www.lovettsoftware.com (visualization, dgml) • http://blogs.msdn.com/stevecook (uml, msft in OMG) • http://www.peterprovost.org/blog/ (umlX, agile) • http://blogs.msdn.com/jmprieur (dsl) • http://blogs.msdn.com/stuart_kent (dsl, umlX - soon)