A user interface is a medium of communication between a user and an
application. The success of an application depends on the ease of its use.
You may develop a very efficient application but if its interface is
inefficient, the entire application is bound to fail. Four models that form
the basis of the GUI design paradigm are:
User model: The end-user creates a user’s model or a mental view that
is the perception of the user’s requirements.
Programmer model: The application developer understands the
requirements explicitly stated by the user, analyses them, and creates a
programmer model.
Design model: The programmer model is converted into a design model
using various software engineering techniques.
Prototype model: Finally, the design model is implemented to result in a
system image or the prototyp