0

I am building a software which has two types of users in it: main users and admins.

I am still building the class diagram for this system. For the main user's relations I have things like: user manages contracts; user has roles; contract has SLA; etc.

And for the admin part, I have relations like: user created contract; user modified contract; user viewed contract; user created SLA; etc.

I want to know if I can make a separate class diagram for the admin part just to improve the readability of the diagram. Because otherwise, I fear it will get messy if I have that many relations in the same diagram.

2
  • please don't cross-post: stackoverflow.com/questions/43849688/… "Cross-posting is frowned upon as it leads to fragmented answers splattered all over the network..." Commented May 9, 2017 at 16:33
  • 1
    I just realized that maybe stackoverflow wasn't the correct place to post this question thats why I posted here. I also think that you didn't need to downvote my question. Also thats not what downvotes are for. You could've commented only. Commented May 9, 2017 at 16:45

1 Answer 1

3

Yes, you can (and probably should) create a separate class diagram for the admin part of your system.

The entire collection of UML diagrams (class diagrams, sequence diagrams, state diagrams, etc.) describe your system. Each individual diagram highlights a particular portion of the system's design.
UML explicitly allows for multiple instances of each type of diagram and each diagram is expected to show different details of the design.

For almost any non-trivial piece of software, trying to capture the entire class design in a single diagram is just a recipe for creating unreadable diagrams. The information is usually conveyed much better if you split the system over multiple diagrams. And there is nothing wrong if some classes appear on multiple diagrams with different sets of details/connections shown depending on what is needed for each particular diagram.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.