

The new Architecture Explorer enables individuals to create a visual representation of existing code assets.
From MSDN (with added commentary….)
Modeling that Works with Code
For most businesses only about 20% of the code being written today is for new applications;
(DDN: Not true 100% however that is about right for budgets which is likely what they meant anyway).
the majority of work is being done on existing code bases. A typical issue encountered when working on existing code is not having good tools to help the architect or developer understand the system.
(DDN: Uh.. How about no regression tests? How about no mandate for reuse, framework API quality, etc. etc.? Sure lets not talk about the why, just the ways we can profit from it)
This can make it challenging to not only understand what needs to be done to make the required changes, but it makes it equally challenging to understand the broader impact of the changes. Often it isn’t until much later that an unexpected bug is discovered as a result of a change.
Our modeling tools have tight integration into the actual code of the application. This means that a developer or architect can use models to explore existing code assets.
Ugh.. Rational Round Trip UML nightmare but this should be part of your world at a minimum from code to view.
The new Architecture Explorer in Visual Studio Team System gives developers and architects the capability of creating a full architectural picture of existing code; understanding how they fit together; understanding how they “work.” This leads to better information about how to use, re-use, or even whether or not to discard existing code. The Architecture Explorer provides architects and developers a mechanism for visualizing code assets in a number of ways including graphs, stacked diagrams and dependency matrices.
DDN: OK now I am officially getting scared… I can see all the developers saying ‘look ma! I’m an architect!’
The introduction of the Architecture Layer Diagram means that a developer or architect can use models to enforce constraints on code as well. The Architecture Layer Diagram can be coupled to code making it an active diagram that can be used for validation.
For example, when an architect designs a system where the presentation layer should not talk to the data layer, you want to be able to enforce that model at check-in.
DDN: Oh my god was that last sentence serious? As if that would be a real interesting case?
VSTS 2010 can do that. These capabilities delivered in VSTS 2010 are part of the Microsoft’s overall modeling story.
Learn more about modeling by watching the Trends in Software Modeling webcast featuring Jeffrey Hammond (Forrester Research), Cameron Skinner (Microsoft, Visual Studio Team System), and Clemens Reijnen (Sogeti).




2 Comments
Why are you being so negative about these new features? What is wrong with all developers being part of the architecture? I look forward to the new Visual Studio. I think visualization can really help in letting everyone (developers&managers) understand a complex application. Also, disallowing shortcuts to take place (UI talking to DB) is sometimes a complex thing (especially if you have legacy C++). Not every project is perfect you know. Tooling support can really help here.
I imagine this in a whiny voice (but not you, an entire group of developers who have a lot of catching up to do).
Because it is a joke in 2008 to pretend these are new, or even interesting topics. .NET mass market developers often feel the rules of the game do not apply to them (the rules being what any self-respecting Java/C++/Smalltalk developer could have told you a decade ago).
Jaded? Of course I am. I’ve been using .NET on large teams/systems for a decade and my #1 problem? People who can talk like software engineers, people who have a moral purpose to not be OK but excellent.
If you want real visualizations please go here fast: http://www.ndepend.com. No offense but I’m curious what you will do with them. The people who understand my sarcasm above often share my life inside the branch/merge product line model level hundred+ component enterprise cross-platform work of deep complexity where managing dependencies is not a game for the timid nor concurrently evolving reused assets breaking various branches you intend to merge into your mainline for your framework core at least, where regressions are just assumed in real-time, generating vastly more then above and doing it using tools like NDepend for a few years now.
If someone wants to be ’sold’, discussion over as not my ideas, not my job to teach what you should know unless you really do care and are genuine in your desire to be an OK developer.
Then I will give until it hurts.
Where ASP.NET MVC would have been nice seven years ago and Scott Gu is cool and all but I am saying nothing ALT.NET has not said far better and far stronger then I ever could.
BREATH….
Anyway you were saying?
Damon