-1

I'm working on a project with 5 different modules. Should I make separate use case diagrams and class diagrams for each module or should I make all-in-one use case diagram and all-in-one class diagram? Your help will be highly appreciated.

0

2 Answers 2

6

Use case diagrams describe the whole systems behavior of how it interacts with the outside actors. These are documents1 made during the requirement analysis phase, and done independently (and before) any architectural and technical descisions are made about the concrete implementation.

Modules and classes are architectural and technical aspects of an implementation. So no, it doesn't make sense to create use case diagrams per module2 or class.

At Visual Paradigm is a good introductory description of What is Use Case Diagram?
There's also a nice diagram how the Use Case diagrams fit into the whole software development analysis:

enter image description here


1)Please note, that the detailed textual step by step descriptions of every Use Case are the even more important part, rather than the diagram itself.
2)Unless your modules can be considered as standalone systems, which are each useful on their own, and just interact automated in a bigger overall system.

1

πάντα ῥεῖ's answer is correct concerning Use Case diagrams. Use Case diagrams exist at a system level, not a component level. If your system is composed of multiple subsystems (consider a web application and a mobile application with different users and capabilities), then two Use Case diagrams may make sense. Generally speaking, though, one diagram for one system.

Class diagrams, on the other hand, can be decomposed into smaller parts of the system. There are different ways to approach this. One way may be to have a diagram that shows classes from other modules, but leave off attributes and methods while showing class names and relevant relationships. Others may opt not to show classes that are not relevant to the part of the structural design being shown.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.