(a) Define measurement and briefly summarize the representation condition for measurement.
(b) Software metrics is a term that embraces many activities, all of which involve some degree of software measurement. Comment briefly on the following software measurement activities:
• Cost and effort estimation models and measures
• Productivity models and measures
• Structural and complexity metrics
• Management by metrics
• Capability-maturity assessment.
(c) We commonly use measurement scales. For example, we will use an ordinal scale to rank the understandability of programs as either trivial, moderate, simple, complex or incomprehensible. For each of two other common measurement scale types, provide an example of a useful software measure of that type. State exactly which software entity is being calculated and which attribute. State whether the entity is a product, process or resource.
(d) Suppose the following software attributes: Maintainability, Lines of code (LOC), Reliability and Number of errors. Which of these attributes will be measured directly and indirectly? Show the relationships between external and internal attributes specified above.
(e) (i) Describe briefly the idea behind the GQM paradigm.
(ii) Consider you are managing a software development project for which reliability is a major concern. A continual stream of anomalies is discovered in the software during the testing phase and you suspect that the software will not be of sufficient quality by the shipping deadline. Show a GQM tree that helps you to make an informed decision about when to ship the software.