C l e m e n s

Recent posts

Tags

Categories

Navigation

Pages

Archive

Blogroll

    Disclaimer

    The opinions expressed herein are my own personal opinions and do not represent my employer's view in anyway.

    VS2010 Architecture Explorer Analyzers

    DGML, the new VS2010 visualization technology has capabilities to render graphs. Graphs like dependencies between classes, inheritance graphs, custom graph, you actually can visualize any relation you want. Cameron Skinner has posts about DGML and Chris Lovett has some great video’s.

    4 
    [class dependencies uml2doc.codeplex.com]

    Now the interesting thing is that you can analyze these graphs. In the image below you see the analyzers; Circular ReferencesHubUnreferenced.
    The purple classes are unreferenced which probably means dead code or entry point of the application. The kind of blue-green nodes are hub, classes which are important and heavy used, and no strongly connected classes in this solution.

    5

    Make your own analyzer.

    You also can make your own analyzer. For example code coverage or naming conventions or … whatever you can imaging. In the example below I created an analyzer which marks the nodes green with the string ‘Clemens’… (code you know is great:)

    1

     

    Ok, maybe not that interesting analyzer, more interesting is the creation… in the /PrivateAssemblies/Providers folder there are already several analyzers available, actually the ones mentioned above.

    6 

    A small analyze of this assembly tells us that all the analyzers are using the IProvider interface and the ProviderAttribute [see below]. After some more exploration you will find that the prgroesion.common assembly has a method ‘ProviderDiscovery’ which looks for classes in the provider directory.

    Capture 

    so, making a assembly with the code below is a good start:

    [Provider(Name = "ClemensAnalyzer")]
    public class TestAnalyzer : IProvider

    In the void Initialize(IServiceProvider serviceProvider); you have to initialize your provider, register the actions and action handler [action.ActionHandlers.Add(new ActionHandler(this.OnAnalyzeTests));]… which calls your analysis…

    foreach (Node node in this._graph.VisibleNodes)
        {
           if (node.Label.Contains("Clemens"))
               {
                      node[HasClemens] = true;
                      outputObjects.Add(node);
                      this.ThrowIfCancelled();
               }
        }

    the node[HasClemens] = true; is some additional meta data you add to your diagram: private static GraphProperty HasClemens = GraphProperty.Register("HasClemens", typeof(bool), new GraphMetadata("Clemens","This one contains Clemens",null,GraphMetadataFlags.Default), typeof(TestAnalyzer));

    All this and a bit more [didn’t finished the analysis completely, there is a lot more possible] result in your own analyzer…

    Picture1

    Now, let’s start making a useful one :-)

    Visual Studio 2010 Team Foundation Server Requirements Management Guidance

    Another delivery from the VS ALM Rangers is public available… the Requirements Management Guidance

    Very useful guidance, with a small contribution from me with the Enrich VSTA 2010 Use case diagram with SketchFlow Screens post. [see the Requirements Elicitation part].

    1

    Broken leg…

    Broke my leg during ice skating last Sunday [see picture]. Had to stay in the hospital for surgery. A nail is put in my bone [see pdf below, also contains operative techniques.. very interesting :-)].

    After a few nights I’m back home. Have to recover for several months, the first six weeks I’m not allowed to put any pressure on my leg… no MVP summit for me this year, even worse also had to cancel two ski –telemark- vacations [Skieda] and it’s still freezing in the Netherlands.

    bone

    Capture

    Tibial Nailing System [pdf]

    Visual Studio 2010 Ranger News

    > Rangers - Visual Studio Team Foundation Server 2010 Upgrade Guidance ships to Codeplex

    2

    > Rangers – Visual Studio 2010 Quick Reference Guidance ships to Codeplex

    1


    more will follow..!
    http://blogs.msdn.com/willy-peter_schaub/archive/2009/11/16/rangers-visual-studio-2010-architect-edition-guidance-kickoff.aspx

    [Dutch] Engineering World 2010

    header

    Engineering World 2010

    Wil jij ook in één dag op de hoogte zijn van de ontwikkelingen binnen jouw engineering vakgebied? Aarzel niet en meld je dan nu aan voor Engineering World 2010.

    De volgende stap in volwassenheid en productiviteit

    Zaterdag, 6 februari 2010, Achmea Conferentie Center in Zeist

    Voor de derde keer op rij organiseert Sogeti in samenwerking met het Software Development Network dit unieke evenement. 

    Programma

    Het engineering vakgebied is volop in beweging en gaat een nieuwe volwassenheidsfase in, waarbij de productiviteit zich enorm snel ontwikkeld.

    We zijn er trots op dat tijdens Engineering World 2010

    Key Note spreker Taco Oosterkamp een lezing geeft over time- en stressmanagement nieuwe stijl. In die lezing vertelt hij over principes voor effectief én ontspannen werken.

    Hij laat daarbij een serie tips en trucs zien – alles bij elkaar een interessant, praktisch verhaal. Taco is dé productiviteitsgoeroe van Nederland en mede-initiator van www.lifehacking.nl.

    Naast Taco Oosterkamp, wordt de dag gevuld met presentaties en workshops. De inhoud van de verschillende sessies kun je nalezen op www.engineeringworld.nl

    We gaan je op deze zaterdag ook uitdagen! Want…

    Ben jij de beste programmeur van het event?

    Tijdens Engineeringworld 2010 schrijven we een programmeerwedstrijd uit. Je krijgt een programmeeropdracht die ter plekke moet worden uitgevoerd, alleen of in een team. Je krijgt voldoende tijd om aan je oplossing te werken zodat er ook nog ruimte is om presentaties bij te wonen. Neem je laptop mee met jouw favoriete programmeeromgeving. De winnaar krijgt een mooie prijs.

    Meer informatie over de wedstrijd kun je binnenkort vinden op www.engineeringworld.nl

    Kortom, een evenement dat jij als engineer niet mag missen.

    Je kunt je kosteloos inschrijven via www.engineeringworld.nl.  

    Graag tot ziens op 6 februari 2010 in Zeist.