When developing a product it is always preferable that the time to market shortens but the quality increases. This is an aim that every company would like to achieve. For the above mentioned situation there exists at least one solution: start the testing phase already during the development. Thus, it should be the goal to reduce expenses by spotting the problematic parts and the ways to improve quality before it would be more expensive. The redesign of a product causes more trouble than the adjustments according to the feedback of the tests. In the field of software development there are several ways to conduct tests before release, one of them is the usability test.
The quality of a user interface depends on the content of operator and on the feeling of the ease of usage. To measure the content of the users, usability tests can be used. There are two types of usability tests: the formative and the summative one. The latter one can be used for the final validation. On the contrary, formative tests already can be and should be conducted in the early phase of development. Utilizing its results can shorten the time to market because the sooner developers get feedback from users the better quality can be achieved. In addition, it is also more likely that making changes in the software would not cause critical problems because the features are not fully implemented yet.
My task was to develop a user interface prototype used for early formative tests. It was also important that I would use the same technology for the development as it will be used in the real infusion pump. Thus I had the chance to gain knowledge about the framework and discover its missing features as well.
In order to be able to use the modeling language for the user interface, as a first task I had to get knowledge about software modeling and domain-specific languages. Then I implemented the static screens based on the design document provided. While using the DSL I also spotted missing features from the language --- after a time they got implemented. As a next task I got acquainted with some details of the Java-based framework; and chose a scripting language to be able to implement the dynamic behaviour on the screens previously designed. With the help of the scripting language I could easily access and modify the properties of the generated Java model-classes.
Eventually I prepared a guideline on how to use the prototype for usability tests. In addition, I created the GUI simulator with a basic infusion running.