Download presentation
Presentation is loading. Please wait.
Published byDorcas Woods Modified over 9 years ago
1
Software Verification and Validation (V&V) By Roger U. Fujii Presented by Donovan Faustino
2
Introduction The paper has these following topics. The paper has these following topics. Software V&V Concepts Software V&V Concepts Planning for V&V Planning for V&V Life Cycle V&V Tasks Life Cycle V&V Tasks V&V Techniques and Methods V&V Techniques and Methods Measurements Applied to V&V Measurements Applied to V&V What is V&V? What is V&V?
3
Definitions V&V – a system engineering discipline employing a rigorous methodology for evaluating and assessing the correctness and quality of software throughout the software life cycle. V&V – a system engineering discipline employing a rigorous methodology for evaluating and assessing the correctness and quality of software throughout the software life cycle. Verify a developers process is technically sound. Verify a developers process is technically sound.
4
V&V and QA V&V and QA are not the same, but compliment each other. V&V and QA are not the same, but compliment each other. V&V usually focuses on ensuring the requirements are being met, the overall project is focused on the correct objectives, and risk is being managed. V&V usually focuses on ensuring the requirements are being met, the overall project is focused on the correct objectives, and risk is being managed. QA is focused on the day to day aspects of a project and is used to determine if procedures are followed QA is focused on the day to day aspects of a project and is used to determine if procedures are followed
5
V&V Concepts Benefits of V&V Benefits of V&V Early detection leads to a better solution rather than quick fixes Early detection leads to a better solution rather than quick fixes Validating the solution is solving the “right problem” against software requirements Validating the solution is solving the “right problem” against software requirements Objective evidence of software and system compliance to quality standards Objective evidence of software and system compliance to quality standards Support process improvements with an objective feedback on the quality of development process and products Support process improvements with an objective feedback on the quality of development process and products
6
Field of Application Important to conduct V&V in its interactions with the system of which it is part. Important to conduct V&V in its interactions with the system of which it is part. V&V examines the interaction with each of the key system components. V&V examines the interaction with each of the key system components. The V&V process addresses the following interactions with software environment, operators/users, hardware, and other software. The V&V process addresses the following interactions with software environment, operators/users, hardware, and other software.
7
Planning for V&V Scope of work Scope of work Software Integrity Levels Software Integrity Levels Development of the Software V&V Plan (SVVP) Development of the Software V&V Plan (SVVP) Cost of V&V Cost of V&V
8
Planning for V&V (cont) V&V is more effective when initiated during the acquisition process and throughout the life cycle of the software. V&V is more effective when initiated during the acquisition process and throughout the life cycle of the software. V&V has importance levels or called “Integrity Levels” V&V has importance levels or called “Integrity Levels” Example Example Medical device – high level Medical device – high level Personnel record-keeping system – low level Personnel record-keeping system – low level
9
Integrity Levels The level is a range of values that represent software complexity, criticality, risk, safety level, security level, desired performance, reliability, or other project-unique characteristics. The level is a range of values that represent software complexity, criticality, risk, safety level, security level, desired performance, reliability, or other project-unique characteristics. Each level defines the minimum required V&V tasks. Each level defines the minimum required V&V tasks. ANSI/IEEE Std 1012 defines four levels. Level 4 is assigned to high-assurance or critical systems ANSI/IEEE Std 1012 defines four levels. Level 4 is assigned to high-assurance or critical systems
10
Development of the Software V&V Plan (SVVP) How the V&V process is to be accomplished How the V&V process is to be accomplished Pg 36 gives a list. 13 key steps. Pg 36 gives a list. 13 key steps.
11
Cost of V&V How much software V&V is adequate? How much software V&V is adequate? Rule of thumb for estimating V&V efforts ranges 10% - 33% depending on the software integrity level. Rule of thumb for estimating V&V efforts ranges 10% - 33% depending on the software integrity level. 33% - life sustainig medical devices or nuclear weapons 33% - life sustainig medical devices or nuclear weapons 20-25% - telecommunications or financial systems 20-25% - telecommunications or financial systems 10-18% systems desiring software quality but not high-integrity 10-18% systems desiring software quality but not high-integrity
12
Life Cycle V&V Tasks Pg 37-39 explains what V&V tasks go through the life cycle of the project Pg 37-39 explains what V&V tasks go through the life cycle of the project Goes throughout the life cycle of V&V starting from the Acquisition phase and all the way to the Maintenance phase. Goes throughout the life cycle of V&V starting from the Acquisition phase and all the way to the Maintenance phase. The tasks listed in the book is defined from the ANSI/IEEE Std. 1012. The tasks listed in the book is defined from the ANSI/IEEE Std. 1012.
13
Life Cycle V&V Tasks Acquisition V&V Acquisition V&V Supply V&V Supply V&V Development V&V (Concept, Requirements, Design, Implementation) Development V&V (Concept, Requirements, Design, Implementation) Development V&V (Test) Development V&V (Test) Development V&V (Installation and Checkout) Development V&V (Installation and Checkout) Operation V&V Operation V&V Maintenance V&V Maintenance V&V
14
V&V Techniques and Methods Audits, Reviews, and Inspection Audits, Reviews, and Inspection Analytic Techniques Analytic Techniques Dynamic Techniques Dynamic Techniques
15
Audits, Reviews, and Inspection V&V use these techniques to verify the software during its development process V&V use these techniques to verify the software during its development process Peer Reviews Peer Reviews Documentation inspections Documentation inspections Requirements/design/code reading Requirements/design/code reading Test witnessing Test witnessing Installation audits Installation audits
16
Analytic Techniques Static analysis of the software (i.e, requirements, design, or code) using graphical, mathematical formulas or diagrams. Static analysis of the software (i.e, requirements, design, or code) using graphical, mathematical formulas or diagrams. Effective in error detection at the software unit level Effective in error detection at the software unit level
17
Analytic Techniques Control (data) flow diagramming Control (data) flow diagramming Interface input/output/process diagramming Interface input/output/process diagramming Algorithm and equation analysis Algorithm and equation analysis Database analysis Database analysis Sizing and timing analysis Sizing and timing analysis Proof of correctness Proof of correctness
18
Dynamic Techniques Involve the execution of the software. Involve the execution of the software. Effective at error detection when software units are combined at the integrated subsystem and system levels Effective at error detection when software units are combined at the integrated subsystem and system levels
19
Dynamic Techniques Simulation and modeling Simulation and modeling Hardware/software benchmark testing Hardware/software benchmark testing Hardware-in-the loop testing – the system config. is heavily instrumented to simulate different test scenarios to be created. Hardware-in-the loop testing – the system config. is heavily instrumented to simulate different test scenarios to be created. Scientific testing – coding of the target requirements/design using a general- purpose computer and higher order language. Scientific testing – coding of the target requirements/design using a general- purpose computer and higher order language.
20
Measurement Applied to V&V Uses various calculated measurements to determine when the analysis or testing is completed, where errors are mostly likely to occur in the software, and what development process or function is causing the largest number of errors. Uses various calculated measurements to determine when the analysis or testing is completed, where errors are mostly likely to occur in the software, and what development process or function is causing the largest number of errors. Based on these measurements, the software engineer can determine where to concentrate their efforts. Based on these measurements, the software engineer can determine where to concentrate their efforts.
21
Measurement Methods Software Structural Metrics – measures pinpoint program logic having greater logical or data complexity Software Structural Metrics – measures pinpoint program logic having greater logical or data complexity Statistics-Based Measurements – examines program error rates, categorization of errors, and error discovery time periods Statistics-Based Measurements – examines program error rates, categorization of errors, and error discovery time periods Trend Analysis – analyzing percent of errors with historical data Trend Analysis – analyzing percent of errors with historical data Prediction-Based Measurement – using reliability models to determine how much analysis and test effort to be done. Prediction-Based Measurement – using reliability models to determine how much analysis and test effort to be done.
22
Conclusions The V&V methodology and measurements are outlined in ANSI/IEEE Standard 1012. The V&V methodology and measurements are outlined in ANSI/IEEE Standard 1012. Provides the framework for achieving an effective V&V effort Provides the framework for achieving an effective V&V effort V&V is part of the software quality management process as defined in the IEEE SWEBOK. V&V is part of the software quality management process as defined in the IEEE SWEBOK. Complimentary to and supportive of the software quality assurance, reviews, and inspections. Complimentary to and supportive of the software quality assurance, reviews, and inspections.
23
Questions?
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.