Utility for software systems specifications
One single System Map is probably not enough when developing a complex system. Though functions can be arranged as a tree, it is not recommended to create one System Map that goes too deep into the functional details, rather one should create sub-specs that explain actors, features and integrations for the subsystems as well, not only the sub-functions.
Each sub-spec will be represented by a separate file, which makes it also very manageable in source code management systems such as Subversion.
System Composer provides great tools for the decomposition. It contains a tool called “explorer” which allows the inspection of the deep functional tree and supports very easy navigation between all the specs. And you can easily create a sub-spec for a function. You don’t have to initially think about when to split the system, you can move a function with all it’s contents to a sub-spec or re-merge the sub-spec contents into the main spec.
So let’s dive into the program.
We use the specification for Purple Box:
The toolbar contains the explorer button, which opens the function tree of all sub-specifications.
We can navigate between all the sub-specs very easily.
Let’s see how we can create such a structure.
A sub-spec is simply a linked file. Linked files can be anything such as images or spreadsheets, but if the linked file is a System Composer file, it can be inspected in the explorer:
To make the linking simpler, you can move a function to a sub-spec, where you can specify a file, which is saved and linked automatically. For existing links you can move the sub-function into the sub-spec or move the functions to the parent spec:
This technique scales up to large systems. It forces a very structured decomposition, which would maybe not achieved when simply programming tools are used.