End-user programming como apoio ao desenvolvimento de sistemas com realidade virtual - Balbino, Fernando Cesar (2003)
Over the years, the software industry has steadily increased software application functionalities with the idea of meeting the requirements of a large number of users with different needs and profiles. This attempt has generated innumerable problems, such as function overloads, complicating software usability and offering features that may never be used. On the other hand, the user may need functions that have not been foreseen by the applications designer or that must be implemented in response to new requirements. In that case, the end user will benefit if he can extend the functionalities of a software program or configure it according to his needs. For this reason, research in the area of EUP focuses on proposing solutions to render computer programming an easier and more accessible task, enabling the end user to extend his software s applications. EUP techniques, however, have so far not been exploited in CASE (Computer-Aided Software Engineering) tools. This project discusses the new version of the GaCIV (Configurable Templates for the Development of Virtual Reality Interfaces), a tool for building interfaces with Virtual Reality for various domain applications. The tool s new version was adapted to aid end-user programming (EUP), i.e., to allow the design of interfaces to be carried out with the direct participation of the end user. Thus, the user benefits from two standpoints: a) he has the chance to make a continuous evaluation of the usability throughout the entire creation of the interfaces; b) because he himself organizes the menu options by distributing the objects in the virtual environment, interaction with the application is more likely to be facilitated. As will be discussed throughout this project, the GaCIV tool makes important contributions to: a) human-computer interaction, mainly through the use of Virtual Reality; b) to Software Engineering, by offering the possibility of performing interface reengineering of working systems (legated and non-legated); and c) to end-user programming, an expanding research area, by offering support for the construction of interfaces with end user participation.