|
re:Software Quality Ass...
Software Quality Assurance (SQA) is defined as a planned and<br>
systematic approach to the evaluation of the quality of and<br>
adherence to software product standards, processes, and<br>
procedures. SQA includes the process of assuring that<br>
standards and procedures are established and are followed<br>
throughout the software acquisition life cycle. Compliance<br>
with agreed-upon standards and procedures is evaluated<br>
through process monitoring, product evaluation, and audits.<br>
Software development and control processes should include<br>
quality assurance approval points, where an SQA evaluation<br>
of the product may be done in relation to the applicable<br>
standards.<br>
<br>
Establishing standards and procedures for software<br>
development is critical, since these provide the framework<br>
from which the software evolves. Standards are the<br>
established criteria to which the software products are<br>
compared. Procedures are the established criteria to which<br>
the development and control processes are compared.<br>
Standards and procedures establish the prescribed methods<br>
for developing software; the SQA role is to ensure their<br>
existence and adequacy. Proper documentation of standards<br>
and procedures is necessary since the SQA activities of<br>
process monitoring, product evaluation, and auditing rely<br>
upon unequivocal definitions to measure project compliance.<br>
<br>
Types of standards include:<br>
<br>Documentation Standards specify form and content for<br>planning, control, and product documentation and provide<br>consistency throughout a project. The NASA Data Item<br>Descriptions (DIDs) are documentation standards (see<br>Appendix B).<br>
<br>Design Standards specify the form and content of the<br>design product. They provide rules and methods for<br>translating the software requirements into the software<br>design and for representing it in the design<br>documentation.<br>
<br>Code Standards specify the language in which the code<br>is to be written and define any restrictions on use of<br>language features. They define legal language<br>structures, style conventions, rules for data structures<br>and interfaces, and internal code documentation.<br>
<br>
Procedures are explicit steps to be followed in carrying out<br>
a process. All processes should have documented procedures.<br>
Examples of processes for which procedures are needed are<br>
configuration management, nonconformance reporting and<br>
corrective action, testing, and formal inspections.<br>
<br>
If developed according to the NASA DID, the Management Plan<br>
describes the software development control processes, such<br>
as configuration management, for which there have to be<br>
procedures, and contains a list of the product standards.<br>
Standards are to be documented according to the Standards<br>
and Guidelines DID in the Product Specification. The<br>
planning activities required to assure that both products<br>
and processes comply with designated standards and<br>
procedures are described in the QA portion of the Management<br>
Plan.<br>
<br>
<br>
Product evaluation and process monitoring are the SQA<br>
activities that assure the software development and control<br>
processes described in the project's Management Plan are<br>
correctly carried out and that the project's procedures and<br>
standards are followed. Products are monitored for<br>
conformance to standards and processes are monitored for<br>
conformance to procedures. Audits are a key technique used<br>
to perform product evaluation and process monitoring.<br>
Review of the Management Plan should ensure that appropriate<br>
SQA approval points are built into these processes.<br>
<br>
Product evaluation is an SQA activity that assures standards<br>
are being followed. Ideally, the first products monitored<br>
by SQA should be the project's standards and procedures. SQA<br>
assures that clear and achievable standards exist and then<br>
evaluates compliance of the software product to the<br>
established standards. Product evaluation assures that the<br>
software product reflects the requirements of the applicable<br>
standard(s) as identified in the Management Plan.<br>
<br>
Process monitoring is an SQA activity that ensures that<br>
appropriate steps to carry out the process are being<br>
followed. SQA monitors processes by comparing the actual<br>
steps carried out with those in the documented procedures.<br>
The Assurance section of the Management Plan specifies the<br>
methods to be used by the SQA process monitoring activity.<br>
<br>
A fundamental SQA technique is the audit, which looks at a<br>
process and/or a product in depth, comparing them to<br>
established procedures and standards. Audits are used to<br>
review management, technical, and assurance processes to<br>
provide an indication of the quality and status of the<br>
software product.<br>
<br>
The purpose of an SQA audit is to assure that proper control<br>
procedures are being followed, that required documentation<br>
is maintained, and that the developer's status reports<br>
accurately reflect the status of the activity. The SQA<br>
product is an audit report to management consisting of<br>
findings and recommendations to bring the development into<br>
conformance with standards and/or procedures.<br>
<br>
..................<br>
<br>
Too much!!!<br>
<br>
You may goto this website to get familiar with it.<br>
<br>
<a target=_blank href=http://satc.gsfc.nasa.gov/assure/agbsec3.txt>http://satc.gsfc.nasa.gov/assure/agbsec3.txt</a> |
|