Hello all I've just joined Modern Analyst and would like to ask for some advice. I want to draw a use case diagram for Create Invoice (this is an example I am working on for my own edification). I have two use case ovals, Create Invoice (Header) and Create Invoice Line. This may not be the best way to approach it but it seems to me to be a two-way extend relationship. The user can create an invoice header and optionally create lines (or add lines later). And the user can create invoice lines, sometimes having to create a header first where one does not exist. In UML would this be best as Create Invoice without the detail or drawn as how? I believe a two-way extend is not a recommended construct for use case diagrams. Many thanks in advance for any thoughts. David Jacobs, business analyst
Hi David,
To answer your question directly - I don't thin it really matters which way you create your diagram.
You are quite right that there needs to be a step to create an Invoice 'shell' or 'header' as you call it. So I agree with that approach, especially based the fact that everything else that is created needs to go somewhere.
So common sense would say it should be a two-way extend. However, you are also right that usually UML steers you away from having such a approach. The only thing I can suggest is to keep it at one - 'create the invoice shell' and then build on top of that.
Failing that, rules are to be broken !!
brought to you by enabling practitioners & organizations to achieve their goals using: