1、Best Practices Entry: Best Practice Info:a71 Committee Approval Date: 2000-03-30a71 Center Point of Contact: MSFCa71 Submitted by: Wil HarkinsSubject: Independent Verification and Validation of Embedded Software Practice: To produce high quality, reliable software, use Independent Verification and V
2、alidation (IV locate, identify, and correct software problems and errors early in the development cycle.Programs that Certify Usage: This practice has been used on Apollo Launch Vehicles and Engines, and Space Shuttle Elements, Payloads, and Experiments.Center to Contact for Information: MSFCImpleme
3、ntation Method: This Lessons Learned is based on Reliability Practice No. PD-ED-1228; from NASA Technical Memorandum 4322A, NASA Reliability Preferred Practices for Design and Test.Benefit:The use of Independent Verification and Validation (IV peer reviews; status monitoring and reporting; walk-thro
4、ughs; dynamic analysis; simulations; risk analysis; code inspection; software library maintenance; audits; and IV&V testing using software analysis tools. These activities come into play during the various phases of the software development life cycle, and are usually documented in a family of repor
5、ts as shown on Figure 1.Provided by IHSNot for ResaleNo reproduction or networking permitted without license from IHS-,-,-refer to D descriptionD Figure 1: Synchronizing IV&V with the Software Development Life Cycle Although the IV&V is generally concurrent with the software developers life cycle ph
6、ases, the completion of the IV&V corresponding phases lags the completion of the software development phase slightly as shown on Figure 1. Typical key IV&V functions that are performed in each phase are summarized as follows:1. Concept Analysis Phase: Documentation that is produced in the software d
7、evelopment conceptual phase is independently evaluated. These documents include the statement of work, advanced planning reports, project initiation descriptions, and feasibility study reports. The allocation of functions to hardware and software elements, and the criticality of each software elemen
8、t are assessed.2. Requirements Analysis Phase: Software requirements are verified through independent derivation of requirements, comparison to standard reference systems, functional simulations, and timing and sizing analysis. A software requirements traceability analysis and a software interface a
9、nalysis are performed. A system test plan is developed, and acceptance test requirements are established. IV&V software is designed, and requirements analysis phase reports are prepared.Provided by IHSNot for ResaleNo reproduction or networking permitted without license from IHS-,-,-3. Design Analys
10、is Phase: A number of techniques are used to verify the satisfaction of software requirements. These techniques include correlation of traceability between design elements, functional simulations, independent derivation of equations and algorithms, comparison with standard references and models, ana
11、lysis of interfaces, and identification and development of a software test program. Design analysis techniques to be used for any particular function are dependent on the nature of the function (such as filtering, display output, and device interfacing). For example, logic analysis techniques are ap
12、propriate for executive control functions while mathematical methods are better suited for numerical functions. The proposed design of each software function is verified by using the selected method to determine the extent to which it satisfies the corresponding software requirements. Control logic
13、is similarly verified to ensure proper interaction between software functions.4. Implementation Analysis Phase: During this IV&V phase, two parallel activities are performed: (1) coding analysis and (2) testing. Coding analysis includes version comparison, textual and syntactical analysis, standards
14、 auditing, equation reconstruction, data structure analysis, flow charting, logic reconstruction, manual code inspection, traceability analysis, interface analysis, and database analysis. Software tools are employed to automate many of these program analysis techniques. They are used to help identif
15、y actual or potential errors in the developed code, and to reformat and consolidate information to facilitate manual analysis, software tools present a reliable, cost-effective means to supplement manual program analysis techniques. To maximize the visibility of software development quality, coding
16、analysis is performed in parallel with code development. Coding analysis is achieved by analyzing the incremental code deliveries and modifications introduced in the updated program versions. Testing analysis includes the application of independent tests performed to determine compliance with softwa
17、re and system requirements. Component testing and interface testing are planned for both nominal and extreme conditions within the required performance limits.5. Independent Verification and Validation Phase: Simulation, testing, inspection and computer-aided software verification and validation are
18、 performed during this phase. Problem reports are prepared which identify anomalies in formal documentation, source code analysis, software database analysis, and the software developers test results. Component test results and interface test results are documented.6. System Integration Analysis Pha
19、se: The credibility of the system in its operational environment is established in this phase. In this phase, the final results of the software development effort are evaluated after the software has been fully tested in IV&V, and all problems and discrepancies have been corrected. During this IV&V
20、phase, integration, system, and acceptance tests are performed in a serial fashion to validate the software.7. Operational and Maintenance Analysis Phase: The validated system is placed under configuration control during installation, checkout, operation, and maintenance. IV&V functions during the o
21、peration and maintenance analysis phase include monitoring problems reported and ensuring that Provided by IHSNot for ResaleNo reproduction or networking permitted without license from IHS-,-,-they are resolved according to established configuration management procedures. Outputs of this phase are I
22、V&V problem reports, installation and checkout reports, configuration management reports, and flight software problem reports.Technical Rationale:IV&V has proven to be a necessary function for software projects of all sizes, but is particularly important in large, critical software packages. Althoug
23、h the level of IV&V performed will be proportional to project size, its performance in embedded flight software projects is widely considered to be mandatory.References:1. 1. Lewis, Robert O.: “Independent Verification and Validation.“ John Wiley & Sons, Publishers, New York, NY, 1992.2. “MSFC Softw
24、are Management and Development Requirements Manual.“ MM8075, George C. Marshall Space Flight Center, Huntsville, AL, January 21, 1991.3. “IEEE Guide for the Use of IEEE Standard Dictionary of Measures to Produce Reliable Software.“ IEEE Standard No. 982.2-1988, Institute of Electrical and Electronic
25、s Engineers, New York, NY, June 12, 1989.4. “IEEE Standard Dictionary of Measures to Produce Reliable Software.“ IEEE Standard No. 982.1-1988, Institute of Electrical and Electronic Engineers, New York, NY, April 30, 1989.5. Beizer, Boris: “Software Testing Techniques, Second Edition.“ Van Nostrand
26、Reinhold, New York, NY, 1990.6. Perry, William E.: “How to Test Software Packages.“ John Wiley & Sons, Publishers, New York, NY, 1986.7. Hollocker, Charles P.: “Software Reviews and Audits Handbook.“ John Wiley & Sons, Publishers, New York, NY, 1990.8. Wallace, Dolores R. and Fujii, Roger F.: “Softw
27、are Verification and Validation: Its Role in Computer Assurance and Its Relationship with Software Project Management Standards.“ NIST Special Publication No. 500-165, National Institute of Standards and Technology, Gaithersburg, MD, September 1989.9. Tauswarthe, Robert C.: “A General Software Relia
28、bility Process Simulation Technique.“ JPL Publication No. 91-7, Jet Propulsion Laboratory, Pasadena, CA, April 1, 1991.10. “Cost-Effectiveness of Software Independent Verification and Validation.“ NASA RTOP No. 323-51-72, Jet Propulsion Laboratory, Pasadena, CA, October 15, 1985.Impact of Non-Practi
29、ce: Failure to perform IV&V for software projects could result in software system weaknesses, Provided by IHSNot for ResaleNo reproduction or networking permitted without license from IHS-,-,-performance of unintentional functions, and failure of the system and the mission. Anything less than a meth
30、odical, systematic rigorous treatment of IV&V could cause loss of mission, life, and valuable resources.Related Practices: N/AAdditional Info: Approval Info: a71 Approval Date: 2000-03-30a71 Approval Name: Eric Raynora71 Approval Organization: QSa71 Approval Phone Number: 202-358-4738Provided by IHSNot for ResaleNo reproduction or networking permitted without license from IHS-,-,-
copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1