Predicting external attributes via measuring and analyzing internal attributes, because:
The internal attributes are often available for measurement early in the life cycle, whereas external attributes are measurable only when the product is complete.
Internal attributes are often easier to measure than external ones.
External attributes – Software quality. 外部属性就是说软件的质量。
What is “Quality”?
IEEE: The totality of features and characteristics of a product or service that bears on its ability to satisfy given needs.
R. Glass: The degree of excellence of something. We measure the excellence of software via a set of attributes.
A framework to determine process maturity。过程成熟度
Initial: Few defined processes; success depends on individual effort.
Repeatable: Cost, schedule, and product tracking processes in place.
Defined: Standard processes are defined and used.
Managed: Defined processes and product qualities are meaningfully measured.
Optimizing: Measures used to improve process/product.
“A set of attributes that bear on the capability of software to be transferred from one environment to another.”
“A set of attributes that bear on the capability of software to maintain its evel of performance under stated conditions and a stated period of time.”
defect density 缺陷密度= no. of known defctes / product size. 一直的缺陷数量处于产品大小
where product size is measured in terms of LOC, and the known defects are discovered through testing, inspection or other techniques.
Usability of a software product is the extent to which the product is convenient and practical to use. (Boehm 1978)
Good usability includes:
– Well-structured manuals
– Good use of menus and graphics
– Information error messages
– Help function
– Consistent interfaces
Product quality can also vary across application domains.
Within a domain, requirements may also call for qualities that are at odds with each other.
Systems that monitor/control/analyze real world events in real-time
Response time constraints
Safety (absence of undesirable behaviors that can cause hazards)
Systems that interface only with hardware
Efficiency of performance
Systems that process and deliver information to facilitate business processes
Systems in which computing elements and data storage are physically distributed