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 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 and I'm not really doing something wrong--I am just too deep down into the code and all the tiny little features provided by NumeRe. It's time to step back from the details and take a look at the application as a whole.

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. The one and central use case is now fixed. Everyone, who reads this post will probably do better than me, if he or she may stumble upon a similar situation. But that is the reason, why we're posting this stuff.

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 Labels: DevLog General

Anonymous
Anonymous

Add attachments
Cancel





Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.