ication Feasibility 4 Software/Hardware Options 1 Functional Specification 2 Task Specification High Level 3 Knowledge Specification Design 4 Dialogue Design 1 Module Coding Prototype Construction 2 Module Testing Performance Modelling 1 User Recruitment 2 User Testing 3 Data Analysis Usability Evaluation 4 Data Reporting (incl. video of usability 'bugs') 1 Functional Design 2. Process Design Detailed Design 3 User Interface Design 4 User Manual 1 System Coding System 2 System Testing Implementation 1 Final Usability Trials System Validation 2 Client Demonstration 1 Final Version User Manual System 2 Installation Manual Documentation Installation & 1 installationProcedures 2 User Enhancements List Maintenance Figure 25.5 Lifecycle based on rapid prototyping techniques encapsulates not only the users' stated requirements, but also the however, is more usually applied to the software modelling of additional facilities which would normally only become apparent hardware. once a real system is available. Rather than its functional behaviour, the modelling of a software system focuses on its look and feel, performance or reliability. Software simulation 25.5.1 . Look and Feel In all branches of engineering it is common to make models, to There is a wide range of rapid prototyping tools (some mentioned obtain an impression of the nature of the end product before it is above) for the simulation of user interfaces. Screen layouts, use of built. Software can be modelled. colour and grey scale, menu control and buttons can all be repre- It is sometimes worthwhile to model the behaviour of a proposed sented quickly, and it is possible to walk through the user processes software system. Languages such as Prolog lend themselves to such and to adjust the user interface to best fit the way the user needs to work, and there are object oriented modelling tools. This approach, work. 25/12 Software systems in telecommunications 25.5.2 Performance also provides for easier change of the program, since the symbolic name of a variable n