Menu

What's your use case? - DevLog #002

Some days ago

one of my colleagues asked me, if I can describe NumeRe by its central use case. I really was baffled by this question. How might I describe such a complex application by only one use case, even if it is the central one? Some of you might have experiences with UML and the use case diagrams--most applications do not feature the one and central use case, do they?

I escaped the situation by talking about the complexity of NumeRe and that it's not possible to name its one and central use case. However, this answer was not really satisfying--neither for my colleague nor for me. Sadly, I was not able to derive a better answer to his question.

Now it's the time to rethink about this situation and derive a more elaborate answer. First, we have to think about what NumeRe provides, i.e. identifying its key features:

  • Intuitive plotting algorithms with publication-ready results (i.e. plot sin(x) will create a plot of sin(x) over the default range of -10 to 10. No more input needed)
  • Numerical calculation functionalities including more complex evaluations using procedures and flow control statements (like if, while and so on)
  • Functions for data analysis like statistics, FFT and FWT algorithms, an ODE solver and a Leuvenberg-Marquardt fitting algorithm
  • Many input and output data formats. although this it not really a key feature ...

Wait--was that all?

I am not able to identify more than 3 key features? Then why is it so difficult to name the one and central use case of NumeRe? What am I doing wrong? Well, let's make that short: most probably it's not difficult--I am just too deep down into the code and tiny little features provided by NumeRe to name it. Instead I have to make some steps back and take a look from far beyond.
And after I had done this, it was really simple:

NumeRe is a framework for data analysis, numerical calculations and data visualisation.

That's all--nothing more left to say. Probably this post might help some of you, which may stumble upon a similar situation.

TLDR: after being asked by one of my colleagues to describe NumeRe's central use case, I needed to step back from the code to identify it.

Posted by Erik Hänel 2019-03-16 | Draft

Anonymous
Anonymous

Add attachments
Cancel