1

I'm thinking of developing my first mobile app and now that I have chosen the language(react native), created the wireframes and done almost all the preliminary work, I'm about to start the actual coding part. I'm wondering if create something like a UML class diagram could be helpful or a waste of time. Also any other suggestions from actual experience are welcome.

Giacomo_V
  • 31
  • 2
  • 1
    If you are working alone, noone except you can tell yourself which diagrams you need and which not. But when in doubt, I would start without any diagrams for now. You can add them later, when the system reaches a size huge enough you start loosing overview without them. – Doc Brown Dec 29 '20 at 22:47
  • UML is not specific to a particular technology, mobile or otherwise. – Robert Harvey Dec 29 '20 at 23:08

1 Answers1

3

Neither, nor...

Wireframes remain the best tool to design a user interface. No UML can beat it for this purpose. UML should never be used for user interface design: it's not me, but it's UML fathers who wrote it in their book about UP.

Another question is the big picture of what your app does for helping your users achieve their objectives. In this regard, UML use-case diagram will not be sufficient. USe-Cases methodology can help. You can for example opt for Use-Case 2.0, which is an agile method of using use-case to model the back-bone, but use user stories to design slices iteratively. You can also opt for user-story driven approaches, such as user-story mapping.

Finally, an app is not only use-cases or user-stories. UML can help you to design or to document your domain model. If you are solo, this will not make the difference. But if you're in a big team, it can help to communicate design and faciliate a shared understanding if used wisely.

Christophe
  • 74,672
  • 10
  • 115
  • 187
  • 2
    I believe capturing your design thinking in UML diagrams is helpful, even if the project is a solo one and the need for communications is just prompting your own memory. I discover so many of my mistakes and bad assumptions by working through the diagramming. Diagramming is a cheap way to consider a variety of design alternatives. It can be like "rubber ducky" design (as opposed to debugging). – andy mango Dec 30 '20 at 02:26
  • 1
    @andymango It also helps me to clarify my ideas. But once the ideas are clear after a couple of sketches, the value added is no longer so significant. Moreover, not everybody is strong at graphical thinking, and therefore we cannot generalize the benefit for every solo developer: Some people can better handle an abstract type (mathematical thinking) and others just read the class definition and have a perfect mental model of the class without need for an intermediary graphical notation. – Christophe Dec 30 '20 at 13:10