软件质量保证阅读(中英文对照)

软件质量保证阅读(中英文对照),第1张

软件质量保证阅读(中英文对照),第2张

SOFTWARE QUALITY ASSURANCE


  The activity of software quality assurance is closely related to verification and validation activities carried out at each stage of the software life cycle[1].Indeed,in many organizations there is no distinction made between these activities.However,quality assurance and other verification 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[2].
An appropriate definition of software quality assurance is provided by Bersoff(1984):Quality assurance consists of those procedures,techniques and tools applied by professionals to ensure that a product meets or exceeds prespecified standards during a products development cycle[3];and without specific prescribed standards,quality assurance entails ensuring that a product meets or exceed a minimal industrial and / or commercially acceptable level of excellence.
  This definition is,of course[4],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 engineering project standards is an extremely difficult process. A standard is some abstract representation of a product which defines the minimal level of performance,robustness,organization,etc.,which the developed product must attain[5].At the time of writing,some software standards have been developed by the IEEE,ANSI and military organizations.
  These standards describe configuration management plans,documentation,specification practices,software comparisons,etc.Other standards which are currently under development include standards for reliability,measurement,the use of Ada as PDL[6],software testing and others.Bransta d and Powell(1984)describe both existing and planned software standards as well as discussing standardization in more general terms.
  The problem 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 quantifying most software characteristics.Effective quality assurance within an organization 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.(1978)suggest that quality criteria include but are not limited to:
Economy    Correctness   Resilience
Integrity     Reliability    Usability
Documentation  Modifiability   Clarity
Understandability  Validity     Maintainability
Flexibility     Generality   Portability
Interoperability   Testability    Efficiency
Modularity    Reusability
  Exactly how some of these criteria may be quantified is not clear.Furthermore,as Buckley and Poston(1984)point out,parts of this definition may have no value for a particular 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 judgement of skilled individuals although this does not mean that it is necessarily inferior to quantitative assessment.After all,we cannot assess a painting or a play quantitatively yet this does not preclude a judgement 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 activity of quality assurance involves sitting in on design reviews[7],program walkthroughs,etc. ,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 those standards which exist.The quality assurance team may also assess if the different representations of a product(requirements,design,code)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 validate the system,with the quality assurance team reporting on both the validation and the adequacy 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 emerging subdiscipline of software engineering[8].As Buckly and Poston point out,effective software quality assurance is likely to lead to an ultimate reduction in 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 should be one of the principal goals of research in software engineering.

位律师回复
DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
白度搜_经验知识百科全书 » 软件质量保证阅读(中英文对照)

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情