2

I have a Pose data type, consisting of x, y, and rotation values.

This being a robotics application, the Pose data type is used in about a dozen places throughout the application. Connecting all these up with dependencies makes the diagram very messy, is there a better solution?

2 Answers 2

4

If a class X has an attribute or parameter of type Pose, you don't need to draw a dependency from X to Pose. Using Pose in a feature of class X implies that class X depends on Pose.

3

Stop drawing connections just because you're supposed to draw connections.

In fact, stop drawing diagrams just because you're supposed to draw diagrams.

These things exist to help you communicate your design to other coders. Coders who are working in your domain and in your code base.

So please, even if you put Pose in 1000 classes don't draw a 1000 diagrams of it. I get the point already.

If that sounds crazy then explain why the String class doesn't show up in all of your diagrams.

Only show me the Pose class when you have something interesting to say about it. Otherwise get this noise away from me.

5
  • I would like to stop drawing diagrams because I'm supposed to draw diagrams, but unfortunately my team uses waterfall with strict requirements at each stage. Also, it's my understanding that built-in types aren't given their own node in UML.
    – Omegastick
    Jun 5, 2019 at 2:24
  • 1
    I've suffered with waterfall teams myself. Talk to your team. Ask for real feedback about what helps them understand your design and what doesn't. You can defeat mindless ceremony by actually communicating. Jun 5, 2019 at 2:53
  • 1
    @Omegastick If you must draw a diagram with Pose on it, give it a diagram of its own, with all the things that use it. Then shove that diagram to one side and get on with the useful stuff.
    – Simon B
    Jun 5, 2019 at 7:13
  • 1
    @Omegastick, does you team have requirements on the use of dependency arrows in class diagrams or any other requirement that restricts the solution for your problem? Jun 5, 2019 at 7:39
  • @www.admiraalit.nl Not particularly. We're encouraged to be "UML compliant", but that's not strict. I've gone with your answer of just not linking the classes with a dependency.
    – Omegastick
    Jun 5, 2019 at 8:24

Your Answer

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

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