The Software-Quality Landscape

Characteristics of software quality
Extenal chracteristics that a user is aware of:
1. Correctness. The degree of which a system is free from faults in its specification, design and implementation.
2. Usability. The ease with which users can learn and use a system.
3. Eficiency. Minimal use of system resoure, including memeory and execution time.
4. Reliability. The ability of a system to perform its required functions under stated conditions whenever required--having a long mean time between failures.
5. Integrity. The degree to which a system prevents unauthorized or improper access to its programs and its data.
6. Adaptability. The extent to which a system can be used, without modification, in applications or environment other than those for which it was specification designed.
7. Accuracy. The degree to which a system, as built, is free from error, especially with respect to quantitative outputs. Accuracy differs from correctness; it is a determination of how well a system does the job it's built for rather than whether it was built correctly.
8. Robustness. The degree to which a system continues to function in the presence of invalid input or stressful environmental conditions.

Internal characteristics that a programmer is aware of:
1. Maintainability. The ease with which you can modify a software system to change or add capabilities, improve performance, or correct defects.
2. Flexibility. The extent to which you can modify a system for uses or environments other than those for which it was specifically designed.
3. Portability. The ease with which you can modify a system to operate in an environment different from that for which it was specifically designed.
4. Reusability. The extent to which and the ease with which you can use parts of a system in other systems.
5. Readability. The ease with which you can read and understand the source code of a system, especially at the detailed-statement level.
6. Testability. The degree to which you can unit-test and system-test a sytem; the degree to which you can verify that the system meets its requirements.
7. Understandability. The ease with which you can comprehend a system at both the system-organizational and detailed-statement level.

Techiniques for improving software quality
1. Set explicit quality objectives from among the external and internal characteristics.
2. Exlicit quality-asurance activity. One common problem in assuring quality is that quality is perceived as a secondary goal. Making the quality-assurances acitvity indepent makes the priority clear.
3. Testing strategy.
4. Software-enginerring guidelines.
5. Informal technical reviews.
6. Formal technical reviews.
7. External audits.
8. Development process.
9. Change-control procedures. One big obstacle to achieving software quality is uncontrolled changes.
10. Measurement of results. Unless results of a quality-assurance plan are measured. you'll have no way of knowing whether the plan is working.
11. Prototyping. Prototyping is the development of realistic models of a system's key functions

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值