I could spend the next two years tweaking things as much as I have the past two but it’s time to get some feedback on this so here we go…
Software modelling tools are expensive, bad at collaboration and more complicated than the vast majority of solutions demand. They set their sights on an unachievable utopia, demand constant maintenance to avoid being constantly out of date and dictate that we all follow overly prescriptive rules which may be philosophically correct but are practically irrelevant.
Diagramming tools are cheaper, better at collaboration and simpler but are all too fluid, lack structure and meaning and are far too open to interpretation. The best such tool I use is a whiteboard, a pen and room – a shame that such are so transient and unstructured.
A middle way is needed.
To this end I introduce Fnd (alpha).
Fnd lets you build catalogs, diagrams and matrices for solutions in a collaborative manner.
For now you can only sign-in with Google and when you do you’ll first be asked to create an account. Once you do you’ll see the home page which provides a list of current solutions.
Hit [+] to create a new solution and provide any details you need.
Save this and you should now see a new solution defined on the homepage.
To edit the entry click on the main icon. To access the solution page, click on the link icon next to the solution name:Clicking on the solution link takes you to the solution page which provides a list of the catalogs, diagrams and matrices associated with that solution.
From here you can create a structural diagram
and in the diagram view you can set the title and description (and tags (a little more on tagging will come later)).
The nav bar allows you to specify the stencil, colours, save, reload, screenshot, document, delete (item) and delete diagram.
To add something to the diagram select the catalog item and “new”. This will show a popup allowing you to define that it and add it to the diagram.
Each catalog type has attributes specific to its needs. Choose that which suits best. For example, a component shows as:
When added to the diagram it appears with a stencil relevant to its type. This stencil can be changed by selecting the object in the diagram then the stencil type from the “Shapes” or “UML” drop-down. In the example below there are two components, one shown as a UML component stencil, the other as a database component.
Double click on the object to edit the settings and make sure you save the diagram – editing an object is immediate, changes to diagrams need to be saved.
Relationships can be added by clicking and dragging on the link icon (green +) from one object to the link icon on another.
From actor to component results in:
Double clicking on the link itself allows the attributes of the link to be defined. By default every link is a dependency but this can be changed as desired.
Perhaps more importantly, if you grant another user access to your account (email-address > account > add user) then if you can both edit the same objects/diagrams at the same time and will see updates reflected in each others browser.
Matrices provide views of relationships in tabular and animated form. For example the above diagram appears as:
There’s more to this with multiple diagrams providing different views, the ability to search and add objects from one solution to another, using tags to provide filtered views, generating documentation from diagrams and so on. I can’t promise diagrams are always “pretty” or that models are “correct” but instead aim for a hopefully happy compromise somewhere between the two – enough to be understood!
A word of warning… Fnd is alphaware, I’m looking for feedback, it has bugs – some I know, some I do not. I use it daily in my work and it works for me (mostly). Let me know how you get on – the good, the bad and the ugly – and in turn I’ll try to improve it and make it more stable and functional.
You can access Fnd at https://nfa.cloud/. Feedback to admin [at] nfa.cloud.
p.s. Fnd is short for Foundation and simply a tip of my hat to one of my favourite authors…