Structure101 adds Doxygen and Understand support for C/C++, Delphi/Pascal and Python

Thanks to Marcio Marchini who developed Doxygen and Understand flavors or “third-party parser plugins”, Structure101, Restructure101 and Structure101 Build now support the parsing of:

  • C, C++ using Doxygen, or Understand from Scientific Toolworks;
  • Delphi/Pascal using ModelMaker, or Understand;
  • beta support for Python using Understand.

 

So head over to our downloads page if you are working with any of the above and wish to:

  • better understand your software architecture,
  • need to improve communication of your architecture to your development team, or
  • know it’s time to look at refactoring your architecture because there’s too much ‘everything uses everything’.

 

Getting started is easy! There is a wealth of general “how-to” videos, not to mention:

 

As one customer who is already up and running put it:

Doxygen parses our ~20 000 C++ files and finds ~100 000 include dependencies between them in less than 15 minutes. Restructure101g eats it up in exactly 30 seconds and Structure101 checks the architecture in about the same time. It is quick and accurate!

Understanding a very large codebase

I have been meaning to do some scalability tests on Structure101 for some time now but something always seems to get in the way. Step in the end of the last working day before Christmas. Very Large ArrayJust fire some code at it, and let’s see what happens!

I have a new iMac, 2.7 GHz i5 with 12 GB of Ram running Lion, I love it! But if you’ve got a big codebase, yours is certainly bigger and better.
Continue Reading

Upcoming JUG Appearances

Headway founder, Chris Chedgey, will be presenting “Modularizing an existing code-base” at the following Java User Group Events in the first quarter of 2012:

Bruxelles Musée Magritte

 

Come along and learn more about the importance and benefits of managing software architecture.

As always, there will be the opportunity to take home free Structure101 and Restructure101 licenses.

If you are a JUG leader and would like Chris to present at one of your meetings, just contact us.

Best wishes for the holidays to all.

From all the Structure101 guys.

Making Hudson/Jenkins builds unstable on architecture violations or bad dependencies.

Structure101 Build (for Java, .Net and more) can be invoked in Hudson/Jenkins via an Ant, Maven or Execute Shell Script build step. In this post I will show example use cases of how to use each build step, and how to make a Hudson/Jenkins build unstable if any architecture violation is found. Thanks to Rochelle Raccah at eBay for helping me figure this out. Continue Reading

Structure101 User Group Sponsorship

@chedgey met up with a couple of JUG leaders at the recent Java One, and between them they bashed out our sponsorship of Java User Groups worldwide.

We would be delighted to also extend our offer to the .NET User Group (DNUG) community. If you are interested all you need to do is contact us. Details of our sponsorship are after the fold:

Continue Reading

The Structure101 Project Model

So you just opened a Repository project, edited the Architecture diagrams, only to discover that there is no way to save your edits! What is going on here?!

Our project model is somewhat convoluted – there is a sort of logic behind it, but it can be a nightmare if you dare to deviate from how we want you to use it!

The intended usage is that you maintain both a “Local” project, and an associated “Repository” project. (You can literally “associate” the Local project with the Repository when you publish for the first time). Continue Reading

Disentangling .NET Namespaces

If architectural drift is addressed before monolithic code tangles have formed, the higher-level components can be disentangled by relatively low cost/risk relocation of classes between components. Otherwise more invasive class-level surgery is needed – this is possible with Restructure101, but this tutorial focuses on the simpler situation.

Top