There are tons of courses and tutorials about specific technologies and programming languages such as: JS, HTML, Python, etc.

However, the field of system analysis lacks the same attention that technologies enjoy.

Is there unified methods for system analysis/modeling?

What if I need to model an accounting system for a specific business, it there any modeling techniques that can describe the system?

I have found a method called REA (Resources, Events, Agents) but doesn't seem widely accepted and practiced.

  • 1
    I'm sure there are dozens of them. Sadly, none of them live up to their promises of increasing efficiency and reducing risk. – Euphoric Jul 4 '18 at 9:11
  • 1
    The only robust way of modelling a system is in code. Code sufficiently describes the model to enable a computer to build and run that model. So stop thinking of code as coming after requirements capture and design and instead think of it as an integral part of the design process and you'll find the answer to your question. – David Arno Jul 4 '18 at 9:15
  • 1
    You can also check out DDD. Note that accounting is a pretty specific domain; just because a method doesn't get an enormous amount of attention doesn't mean that it is not viable. – Robert Harvey Jul 4 '18 at 14:35

There is no universal method because there is no universal system. Different analysis methods focus on different aspects of a system, provide different perspectives. You may need several for a complete picture and some may be utterly meaningless to a particular system because they just do not apply.

Is your system heavy on data? Is it heavy on behavior? Is it heavy on usage? Is it heavy on timing?

You need to understand what is hard about your system and then choose a number of appropriate ways to model it.

  • Would you please suggest some popular ways for modeling? – Ehab Jul 6 '18 at 20:15
  • 1
    @Ehab Popular ways? Well, I don't think any of them is popular, few developers like to spend time expressing themselves in any other language than their own (which is typically some sort of programming code). I think the most common one is still ERD (entity relation diagrams). And you should check out UML, it is a suite of best practices for looking at systems in different ways. – Martin Maat Jul 7 '18 at 8:22

There have been attempts, but these have imo become overly complicated and provide little value but rather massive overheads and bureaucracy, such as the classic SSADM and the slightly more modern framework provided by omg.org with UML. The latter is certainly worth looking into, at least to use some of the models.

The IIBA do certainly speak about it, but again, for me it's far too bureaucratic.

Certainly worth checking out are these: - https://www.eventstorming.com/ - https://en.wikipedia.org/wiki/Domain-driven_design And possibly (but not technical) this: - https://www.amazon.co.uk/Mapping-Experiences-Creating-Journeys-Blueprints/dp/1491923539

The teams I work with usually start with some experience mapping / event storming to get to needs/jobs/features and then may use class / sequence diagrams to quickly illustrate implementation aspects, but really they quite quickly code and evolve the code as they go (and this for complex system across government and medical industry). Ultimately, well documented and structured code is much better than documentation...

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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