Currently this is more of a base for discussion and ambition but hopefully this will mature and prove useful.
The code within ArgoUML is separated into subsystems that each have a few responsibilities.
In Issuezilla each subsystem has its issues sorted in a subcomponent with the same name as the subsystem. Furthermore the Diagrams subsystem has a set of subcomponents for issues connected to the specific diagrams.
This wiki pages listed below gives an overall picture with a list of subsystems, their dependencies, and their main responsibility. On separate pages each subsystem is explained in detail.
The subsystems are organized in layers. The purpose of the layers is to make it easy to see in what direction the dependencies are and thus allow us to know what dependencies are to be removed in the cases where we have circular dependencies. This will also allow us to know which other subsystems are involved when testing a subsystem.
4. ArgoUML Design, The Big Picture
4.3. External subsystems