Abstract

We postulate that a development process is possible in which three major stages: - Domain Engineering - Requirements Engineering - Software Design “smoothly” connect to one another: That from Domain Models we can develop Requirements Models and relate them, and that from Requirements Models we can develop Software Architecture Models, and subsequently Program Organisation and Refinement Models and relate them. In this paper we will show, by a simple example, what we mean by stage and stepwise refinement (or development). And we will therefore be able to make plausible our claim that the three stages itemised above can indeed be formally expressed and related.That is: If we could not show a relatively “smooth” progression from usually non-computable abstractions via computable ones to executable specifications (designs), then what we are claiming becomes a bit academic! Now we can indeed show this transition, transformation as it were, from abstractions to concretisations. And therefore we can also — however superficially — illuminate what we mean by abstractions and concretisations. We can perhaps convince the reader not only that small abstractions can be beautiful, but that the ability to first capture Domain abstractions, and then, in two more stages and, within these, in three-five steps or more, show real, efficiently executable concretisations related strongly to the abstractions, can be even more beautiful!

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call