Utility for software systems specifications
System Composer can be used to create System Maps, which are a nice and simple visualization technique for software systems. If you have an idea for one, an System Map can be used to describe it!
A System Map contains Actors, Features, Functions and Integrations.
Let’s try it. When you start System Composer you see a pretty empty window.
Well, at first give your product a name:
OK, I think I want to create an IDE for Brainfuck, this super-duper programming language:
Let’s add for which audience it is designed: It’s for programmers, but not for all, only for very esoteric ones.
Move your mouse to the actors section and the “add” button shows up:
And now type…
Now let’s describe the features it should have:
Features are always from a user perspective!
You don’t need to use the “add” button if you want to create more than one feature. Simply press ENTER and you create a new line in the list. Feels like typing in Word? That’s intended. It’s the same thing for all lists, not just features.
Now we think about how our Brainfuck editor could be built, that means of which functions it consists.
I think I would need sort if these:
Functions can be structured in a tree. Therefore one can use the “<-” and “->” buttons in the toolbar.
In the end, we write down, which other systems are affected or integrated by ours. In this case, I think we don’t really want to write a compiler on our own but use an existing one:
We are pretty done now, we described the system well!
Let’s export it into MS Word:
What we get here is pretty much the same what we entered (it’s a WYSIWYG editor!):
Isn’t that a nice overview?
We created a very promising description of the system. For my small SuperIDE that’s maybe enough specification at all. For bigger systems you can use the exported word contents and paste it into your main specification documents.
We could also move on and add some wireframes, which is described in the Lo-Fi prototyping tutorial or we could maybe describe the file editor much more in detail.