![]() |
|||
![]()
|
![]() |
![]() |
![]() |
4. INDUSTRIAL REQUIREMENTS4.1. ESTABLISHING A QUALITY CULTUREThe word "culture" does not have a precise definition, but its meaning in context is clear. There is no substitute for executive awarness of the importance of quality. Industry leaders care about quality and know how it might be achieved or assessed. This is not less true when applied to software, although many companies and organizations seem to be confused about the activities related to software quality. In the software arena several activities related to software quality can be identified:
Within these activities, verification and validation plays an important role. V&V is one of the primary activities that requires addressing by software developers, independent V&V teams, and certification specialists. In this section we outline V&V as performed by indepenedent evaluation teams, and V&V in the view of certification. We conclude the section with some aspects related to the cost of V&V. 4.2. INDEPENDENT VERIFICATION AND VALIDATIONIndependent verification and validation (IV&V) is a process whereby the products of the software development life-cycle phases are independently reviewed, verified, and validated by an organization that is neither the provider nor the acquirer of the software. The IV&V activities duplicate the V&V activities step-by-step during the life cycle, with the exception that the testing performed is not "informal," but rather formal. It is important to probe more closely into the relationship between verification, validation and testing, and IV&V. Testing and debugging refer to the analysis, exercise, and repair of software by the developers. IV&V is a process which is independent of normal development and testing activities. It is called IV&V to indicate that it is accomplished by parties who are not part of the immediate development team. The purpose of IV&V is not to directly assist in the development of reliable software, but to provide independent evidence that this is the case and that the system performs according to its requirements. Traditionally, V&V agents only discover problems, but they do not fix them. Correcting the problem is the task of the development team. However, the IV&V team is more likely to have a deeper understanding of testing methods, test-case construction, and a much better understanding of how to accomplish the complex task of repairing the detected problems completely, generally, and with fewer side effects. There can easily be confusion regarding the relative roles of software quality assurance (SQA) and IV&V. Development management uses SQA to monitors its own organization and to ensure that established standards and procedures are followed. IV&V does essentially the same thing for the customer. The two types of activities need not overlap. In fact, an effective SQA program makes the IV&V process easier. IV&V cannot and should not replace SQA. Expert systems are being increasingly applied to nontrivial problem domains, where erroneous advice may lead to loss of life, loss of considerable amounts of money, or loss of properties. There is an increased request for IV&V, especially from customers who want to make sure that the expert system they buy has the quality they need. 4.3. V&V IN SUPPORT OF CERTIFICATION FOR CRITICAL SYSTEMSExpert systems may be safety-critical where they must perform without failure. An inappropriately specified system may cause death, injury, or huge property losses. For example, many medical systems are safety-critical, meaning that errors in operation or use can lead to death or injury (and legal liability). Even where human safety is less of a consideration, a high degree of reliability is a requirement for an expert system. In the SE tradition, a safety-critical (computer) system is one whose malfunction could lead to "unacceptable consequences." This term has different meanings depending on the domain and tasks for which the systems are built: shipping, aerospace, process control, nuclear power plant, etc. When safety issues are a primary consideration, a software-based system may be required to undergo certification corresponding to its application and criticality. Critical applications of software require rigorous attention to methods for reducing the probability of failure and ensuring the safety of those potentially affected by the failure of such software. This is not less true when applied to expert systems. However, existing certification guidelines were not designed with AI or expert system software in mind. Although the major processes applied to conventional software are also applied to AI-based software, the unique characteristics associated with the development and testing of AI-based software are not covered in the standards existing in critical domains. Since AI is a relatively new technology, a lack of standardization exists. Standards relating to AI software are only beginning to emerge. Adherence to standards can have many benefits for developers, independent V&V teams, and certification specialists. Key to the certification process for critical systems will be the faithful application of a thorough verification and validation process. Consequently, a new challenge in the field of V&V of expert systems is now to develop methods and techniques in support of certification.
|
![]() |
|
Use of this site is subject certain Terms & Conditions. Copyright (c) 1996-1999 EarthWeb, Inc.. All rights reserved. Reproduction in whole or in part in any form or medium without express written permission of EarthWeb is prohibited. Please read our privacy policy for details. |