NP It helps that I really enjoy working with these modeling standards and Visual Paradigm itself. However, please do keep in mind that I’m a professional hobbyist at best, I most definitely don’t consider myself an expert (think about certifications and such).
But this looks pretty good to me! The only comment I have is that I’d change the connector between “System not working” and “Abort process” from a control flow into an exception handler. You should be able to do this by removing the connection, clicking on the ‘System not working’ model and then using the resource catalog. Just drag it onto the “Abort proces” action and select the exception handles instead of the control flow (“CF”).
Other than that I think it looks quite good. Even used the arc line jumps which I think look pretty nice (I hardly use those myself, but I definitely think there’s a good use for them!).
Yeah, these forums use a “reputation system” as I tend to call it; you slowly unlock more user options the longer you participate. But all good!
It looks good to me, but I do have a few comments.
The first comment I have, as with the previous diagram, is that I think you should use exception handlers. It shouldn’t be too hard to change that. But other than that I think this looks a lot better than before. See; those arrows on the left is but a detail, but it makes the control flow stand out a bit, it’s easier on the eyes.
The same applies to those JoinNodes: this makes it a lot easier to follow; you don’t have to worry too much: incoming is on one side, outgoing on the other. No wondering what those lines on the sides are doing there.
However… I’m probably being annoying now: you need to replace some of those with a MergeNode. I should have spotted that sooner (blame the weekend), but even so here’s the deal:
A JoinNode (the black line) doesn’t merely group incoming flows together, it also synchronizes them. This is why it’s often used to bring together so called concurrent flows; processes which run in parallel. In other words: processing will only continue after all incoming processes have ended.
In your diagram that’s not going to happen, after all: the user can only withdraw their cash once.
So those really need to be replaced by MergeNodes.
Speaking of which: “Ask for desired amount” is used as both a decision and join node, that also doesn’t work.
You have several options… Hmm, lemme fire up VP
This is roughly how I’d approach this:
Thing is… exceptions are just that: more or less unforeseen events which interrupt your flow. The user not taking out their card could account for that, but it might be useful to specify how long the system will wait. So instead of treating it as an exception I’d make this a part of the actual process. Make the system wait for an x amount of time for the user to take action, and if not take action on their behalf.
Hope this can give you some ideas!