A graphical (visual) interface is necessary when the project grows very large and contains a lot of applications, input/output data etc. A good common practice is to separate as much as possible the graphical interface from the hard computational part. This is key to easily manage the future project development and keep the graphics updated.
The powerful and cheap PCs put scripting languages, e.g. Tcl/Tk, PERL/Tk, Python/Tk, Java etc. on the top of the visual interface. Unless your project is fairly simple, most of these languages will help to quickly build interfaces for input parameters, starting applications and monitoring computational process. Also these graphical wrappers can be very useful when a project consists of sequential applications.