>I have been building up my software in ruby, and now have a number >of related classes defined. However, I am finding that connecting >them together into a whole is difficult. I can manage the individual >connections, but basically I losing my grip on the overall structure. > >I know there are diagramming techniques like UML, but, because I am >changing code as I learn more, I wonder if there is something more >dynamic. The analysis of this sort of thing seems to be called >"sotware architecture", and it looks a fairly new area. There has >been talk on the list of Ruby replacing UML to some extent. So if >people are using tools to help them with this, what sort of things >are they using? As a proponent of XP, I would suggest that your program might be hinting to you that it wants to be refactored. A well (re)designed system can contain a lot of classes before it becomes confusing. Perhaps your system is ready to be split into layers, or into conceptual components. Either would allow you to focus on the classes in one area at a time. If you really feel you need some external view, perhaps a simple sketch on a napkin or whiteboard would carry you through. If so, a UML class diagram would be the default choice. Kevin