 change to one representation of the product (such as the load- attribute can be expected to have the same impact in two distinct able code) is matched by equivalent change to another (such as the organisations. Software quality and reliability 25/19 25.10.2 SLIM the factors. A means of weighting the measures is therefore required. One proposal (Boehm, 1978) is to value in the range 1 to 4 each of: The Putnam model applies the Rayleigh curve to the manpower profile as in Equation 25.4 and illustrated in Figure 25.6, where y(t) is the manpower at time t, K is the total life cycle effort, is the 1. The strength of the relationship between the metric and its development time. quality factor. 2. The importance as an indication of final quality. 3. The degree to which measurement can be automated. High scores in some or all of these lead to a high weighting. Multi-valued measures have been proposed for each of the factors listed above. 25.11.2 Specifying and predicting quality Having the ability to measure quality leads to the ability to specify it. However, there is no common agreement on the metrics which relate to many of the quality factors. The factors are not independent. Achieving efficient code might mitigate against, for example, achieving maintainable code. There are now prototype tools which assist in the breakdown of quality factors for the benefit of the person making the specification, and advise whether proposed values are inconsistent. Similarly, there is at least one prototype constructive quality model which helps the user to predict quality levels based on the nature of the system to be built and of the techniques to be applied. Figure 25.6 Manpower profile by the Rayleigh curve Reliability is a special case and reliability modelling is summarised elsewhere. (25.4) 25.11.3 Achieving quality There are no tools or processes guaranteed to obtain software quality. Some help, and the early paragraphs of this chapter suggest elementary rules of software development. 25.10.3 Function point analysis Gilb of