In the modern world of software we are used to the paradigm of software engineering. The discipline of software engineering is predicated upon following a rigid regimen of quality programming, with deployment of expert coders and programmers to enable building of systems. Hence, a basic necessity often stressed is that