A new problem is always tackled, at the outset, via both intuition and empirical methods. The design of software systems is no exception. The first step is to determine the objects to be realized. We then have to describe it. Most of the time, one employs the usual means of expression to this effect: our mother tongue, explanatory diagrams Subsequent steps are devoted to code writing, generally
... [Show full abstract] using a high level language. An intuitive understanding of the language constructs is then key. Of course, people involved in this process employ some reasoning: “in that case, such an event happens, then… etc.”