The debate of whether covering a CRUD requirement with one high-level Manage xxx
use-case or four more detailed use-cases Create xxx
, Read/Retrieve xxx
, Update xxx
, Delete xxx
is not new.
Alistair Cockburn, one of the signatory of the Agile Manifesto, already addressed this topic in the first edition of his book "Writing effective use-cases" in October 2000. It facilitates keeping the big picture in mind when working with the users. But when it comes to the design and implementation, we need more details. So the level of detail of sequence diagrams may be more detailed than in the corresponding use-case.
A first remark: there is no requirement of a one-to-one mapping between use-cases and sequence diagrams. A sequence diagram illustrates an interaction which is scenario based on the exchange of some messages. It does not have to be exhaustive, especially if you want to keep them readable. So if you have very different flows, the simplest way would be to make different sequence diagrams for the very different flows. In the idea of UML fathers, the traceability is backwards (so several sequence diagrams may provide different details for the same use-case).
Now, if you managed to design your system having a common flow and seing CRUD operations as extensions, you may do it likewise for the sequences: either with one diagram using the alt
and opt
combined fragments for the extension points, or with separate sequence diagram for each extension, or a combination of both.