The program design micro-farm. Part 1 – initial thought

Computer programming, the design of computer programs, what a wonderful pursue!.


Many of us take great joy in doing this peculiar activity, and I have observed that the greatest of these joys is seeing our programs begin used successfully to solve end-user problems. There is where methods, tools and techniques make all sense.


Currently, I am designing and implementing a tool for analyzing and extracting a directed acyclic graph (DAG) from a set of Visual Studio .NET 2003 projects and solutions, along with their dependencies. By now, the output is an Office Excel 2003 table with the dependencies (project and file references) and an Office Visio 2003 drawing with the DAG.


Do we want to know what really the architecture of a particular design and implementation is?

We make use of this tool and we can see a picture of the reality, the Visio 2003 Drawing shows either a messy, big ball of mud (if the designers knew nothing about dependency management) or you can see identifiable clusters in a well crafted structure (if the designers scrupulously managed each dependency in their design).


Now, I have a design to breed!

Comments (3)

  1. A. Nonny Mouse says:

    Does this also do unmanaged c++ or does it rely on reflection?

  2. Seems that the XML Schema for unmanaged C++ project files (.vcproj) is the same for C# and VB.NET, so the tool most likely will get the DAG for unmanaged C++ projects also. This is a guess, at some point in the future I will test it for that.

  3. 法国 says:

    Excellent And

    Merry Christmas

Skip to main content