Interface design must satisfy both functional and non-functional requirements and also incorporate the principles of good design and usability. It is reasonable to expect the interface design to be presented so that it will provide a good indication of how it will appear in the final product, There are a good selection of tools available for interface design and it should be possible to build an accurate mock up of the intended design, again the process will benefit from being conducted as a workshop and it can be useful for the programmer who will be developing the user interface to attend the workshop to work with the stakeholders and the analyst on usability features. The design should be able to take the visualizations from the analysis phase and incorporate the process model, the requirements and the information model to create a design that can be agreed between stakeholders and development team members. This process will need to be conducted in parallel with the development of the Use Case Model and the Domain Model.
Interface design provides an opportunity to address important issues regarding human interactions with the system these issues may include:
- Devices used to interact with the systems
- Searches for information
- Menus and navigation
- Layouts, Wire Frames and general appearance
There is no need to feel limited, if it can be seen, it needs to be designed. Design elements should be reusable within their scope, a good design should be a pattern for implementation. Interface Designs can be much more general than a Use Case, a single pattern for reference data should apply to all reference data use cases while a design for a transaction screen will incorporate many design elements and be unique for its Use Case.
Designing Human Interfaces also give developers and stakeholders the opportunity to more broadly visualize what the solution will look like and how it will work; providing valuable input into the Use Case Model and the Domain Model.
The Conceptual Analysis outputs are a primary input to to Human Interface Design and one of the key decisions that can be made at this stage is what devices people will use to interact with the system and the type of interface that is most suitable to implement various parts of a work flow.
This diagram divides the interfaces between public and internal interfaces, these interfaces would also be mapped to processes as a process attribute.
One of the major functions of any computer system is generally the storage and retrieval of information. Information retrieval requires an interaction where the user performs an action to retrieve the information required, this may be information that is directly available via a menu or it may require the user provide search criteria or perform an action such a paging forward. From the point of view of work flow, the user may not be aware of the state of a specific work flow or may search for work flows that have a specific state.
This graphic is a visualization of a more generalized search screen that would be used as the starting point for a variety of processes.
Navigation within the system will require some sort of menu, there are various styles of menu, but for logical design try and specify the minimum that the user needs to use the system. An issue that can be addressed is how dynamic a menu should be, simplicity of design will create a benefit in usability.
This graphic is a simple menu that could be developed with the user on a white board and then recorded as part of the design documentation.
Visualizations of actual screens for processes are an absolute essential, they provide the user with another opportunity to refine requirements and they provide the developer with the starting point for physical screen design. Drawing and sharing these designs is important, they should not be the property of one part of the development team. Work flows can be established using Wire frame graphics and they can be used to develop the Use case Model.
This graphic depicts another view on finding and retrieving customer information.
This graphic was create using Wiremaster, an open source wire frame tool, which is available for download at http://sourceforge.net/projects/wiremaster/ please support this useful tool.