The expression user-interface design can mean one of at least the two following things:
The visual shaping of the user interface so that it handles various usability requirements
The design of the user interface in terms of design classes (and components such as ActiveX classes and JavaBeans) that is related to other design classes dealing with business logic, persistence, and so on, and that leads to the final implementation of the user interface
In the requirements workflow, we operate under the first definition, focusing on achieving a user-centered design. User profiles and user environments are specified in the vision document, with the main input to the design of the user interface being the use-case model and the supplementary specifications, or at least outlines thereof, which are developed in conjunction with the users or their representatives and other key stakeholders. The results are detailed definitions of user characteristics and realizations of the user-interface-specific parts of the use cases.
Based on these results, a prototype of the user interface is built, in most cases by using a prototyping tool. We call this user-interface- prototyping. This provides a valuable feedback mechanism for determining the final requirements of the system.