software quailty assurance

来源:互联网 发布:程序员代码图 编辑:程序博客网 时间:2024/06/18 06:58

keywords:
software quality assurance 软件质量保证
software standard 软件标准
verification 验证, 检验, 核实
engineering project 项目工程
rodustness 稳健型
IEEE 电子和电器工程师协会
ANSI 美国国家标准协会
documentation 文档
usability 可使用性
modifiablity 可修改型
portability 可移植性
maintainability 可维护性
criterion 标准 基准 准则
assessment 评定 评估

The activity of software quality assurance is closely related to vertification and validation activities carried out at each stage of the software like cycle. Indeed, in many organizations there is no distinction made between these activities,However. qualitu assurance and other veridication and validation activities are actually quite separate, with quality assurance being a management function and verification and validation being part of the process of software development.

An appropriate defination of software quality assurance is provided by bersiff: Quility assurance consist of these procedures, techniques and tools applied by professionals to ensure that a product meets or exceeds prespecified standards during a products development cycle; and without specific prescribed srandards,quality assurance entails ensuring that a product meets or exceed a minimal and/or commercially acceptable level of evcellence.

This definition is, of course, a fairly general one and it suggests that, firstly,software standards can be established and, secondly, the level of excellence of a software product can be estimated.

The development of software enginerring project standards is an extremely diffucult process, A standard is some abstract representation of a product which defines the minimal level of performance, robustness, organization of a product which defines the minimal level of performence, rubustness,organization, ect, which the developed product must attain, At the time of writing,some software standards have been developed by the IEEE,ANSI and military organizations,

These standaeds describe configuration management plans. documentation, specification practices, software comparision, ect, other standards which the currently under development include standards for reliablity, measurement, the use of Ada as PDL, software testing and others, branstad and powell describe both existing and planned software standards as well as discussing standardization in more general terms.

The problems with national software standards is that they tend to be very general in nature, This is inevitable as , unlike hardware, we are not yet capable of quantitying most software characteristics, Effective qualituy assurance within an orgnization thus requires the development of more specific organizational standards.

Of course, the problem which arises in developing software standards for quality assurance and which makes the assessment of the level of excellence of a software product difficult to assess is the elusive nature of software quality, Boehm et al. suggest that quality criteria include but are not limited to:
Economy Correctness Resilience Integrity Reliability Usability Documentation
Modifiability Clarity Understandability Validity Maintainanlity Flexiblity Generality Portability Interoperablity Testablity Efficiency Modularity Reusability

Exactly how some of these criteria may be quantified is not clear, furthermore, as Buckley and poston point out, parts of this definition may have no value for a partivalar product, It may be possible to transfer a system from a microcomputer to a large mainframe but this is often a nonsensical thing to do, Assessment of software quality thus still relies on the judgment of skilled individuals althogh this does not mean that it is necessarily inferior to questiontative assessment, After all , we cannot assess a painting or a play quantitively yet this does not preclude a judgment of its quality.

Within an organization, quality assurance should be carried out by an independent software quality assurance team who reports directly to management above the project manager level, The quality assurance team should not be associated with any particular development group but should be responsible for quality assurance across all project groups in an organization.

The quality of quality assurance involves sitting in on design reviews. program walkthroughs, ect, and reporting on the overall quality of the product as it is developed, it also involves checking that the finished product and its associated documentation conform to these standards which exist, The quality assurance team may also assess if the different representations of a product are consistent and complete.

Notice that quality assurance is not the same as system testing, it is the development or testing team’s responsibility to vilidate the system, with the qulity assurance team reporting on both the validation and the adequcy of the validation effort, This naturally involves quality assurance being closely associated with the final integration testing of the system.

Software quality assurance is now an emeraging subdiscipline of software engineering, as buckly and poston point out, effective software quality assurance is likely to lead to an ultimate reduction on software costs, however, the major hurdle in the path of software management in this area is the lack of usable software standards, the development of accepted and generally applicable standards be one of the principal goals of reasearch in software enginerring.

原创粉丝点击