Software Verification and Validation (V&V) By Roger U. Fujii Presented by Donovan Faustino.

Slides:



Advertisements
Similar presentations
System Integration Verification and Validation
Advertisements

Ossi Taipale, Lappeenranta University of Technology
Software Quality Assurance Plan
Software Engineering CSE470: Process 15 Software Engineering Phases Definition: What? Development: How? Maintenance: Managing change Umbrella Activities:
Software Modeling SWE5441 Lecture 3 Eng. Mohammed Timraz
Case Tools Trisha Cummings. Our Definition of CASE  CASE is the use of computer-based support in the software development process.  A CASE tool is a.
W5HH Principle As applied to Software Projects
Chapter 9: Basic Information Systems Concepts. Definitions u A system is a set of interrelated components that must work together to achieve some common.
Stepan Potiyenko ISS Sr.SW Developer.
QUALITY MANAGEMENT DEFINITIONS AND CONCEPTS QUALITY MANAGEMENT TOOLS QA / QC PROCESS COMPUTERS AND PROJECT QUALITY.
R R R CSE870: Advanced Software Engineering (Cheng): Intro to Software Engineering1 Advanced Software Engineering Dr. Cheng Overview of Software Engineering.
MSIS 110: Introduction to Computers; Instructor: S. Mathiyalakan1 Systems Design, Implementation, Maintenance, and Review Chapter 13.
Pertemuan Matakuliah: A0214/Audit Sistem Informasi Tahun: 2007.
9 1 Chapter 9 Database Design Database Systems: Design, Implementation, and Management, Seventh Edition, Rob and Coronel.
1 Software Testing and Quality Assurance Lecture 1 Software Verification & Validation.
DITSCAP Phase 2 - Verification Pramod Jampala Christopher Swenson.
 QUALITY ASSURANCE:  QA is defined as a procedure or set of procedures intended to ensure that a product or service under development (before work is.
Introduction to Systems Analysis and Design
Introduction to Software Testing
1 Performance Auditing  In IT Environment  Evidence Gathering & Analysis Techniques  Computer Assisted Techniques  Use of IDEA.
Introduction to Computer Technology
Effective Methods for Software and Systems Integration
Software Project Management
Formal Methods 1. Software Engineering and Formal Methods  Every software engineering methodology is based on a recommended development process  proceeding.
Introduction to Software Quality Assurance (SQA)
S/W Project Management Software Process Models. Objectives To understand  Software process and process models, including the main characteristics of.
Proceedings of the 28th Annual International Computer Software and Applications Conference (2004) Ming Huo, June Verner, Liming Zhu, Muhammad Ali Babar.
CSI315 Web Applications and Technology Overview of Systems Development (342)
CPIS 357 Software Quality & Testing I.Rehab Bahaaddin Ashary Faculty of Computing and Information Technology Information Systems Department Fall 2010.
Dillon: CSE470: SE, Process1 Software Engineering Phases l Definition: What? l Development: How? l Maintenance: Managing change l Umbrella Activities:
-Nikhil Bhatia 28 th October What is RUP? Central Elements of RUP Project Lifecycle Phases Six Engineering Disciplines Three Supporting Disciplines.
Software Inspection A basic tool for defect removal A basic tool for defect removal Urgent need for QA and removal can be supported by inspection Urgent.
Software System Engineering: A tutorial
Project Tracking. Questions... Why should we track a project that is underway? What aspects of a project need tracking?
SQA System Overview Chapter 4. Where we have been so far, Where we are going Where do software errors come from? What is quality? How can quality be measured?
FCS - AAO - DM COMPE/SE/ISE 492 Senior Project 2 System/Software Test Documentation (STD) System/Software Test Documentation (STD)
Principles of Information Systems, Sixth Edition Systems Design, Implementation, Maintenance, and Review Chapter 13.
Multimedia Specification Design and Production 2013 / Semester 1 / week 9 Lecturer: Dr. Nikos Gazepidis
University of Palestine software engineering department Testing of Software Systems Testing throughout the software life cycle instructor: Tasneem Darwish.
Common Activities Activities and Tasks in the WBS.
Slide 1V&V 10/2002 Software Quality Assurance Dr. Linda H. Rosenberg Assistant Director For Information Sciences Goddard Space Flight Center, NASA
Project Life Cycles.
1 Introduction to Software Engineering Lecture 1.
KS3 Phase4 Client Server Monitoring System October 1, 2008 by Stephen, Seema, Kam, Shpetim.
Formal Methods in Software Engineering
1 TenStep Project Management Process ™ PM00.9 PM00.9 Project Management Preparation for Success * Manage Quality *
Software Development Problem Analysis and Specification Design Implementation (Coding) Testing, Execution and Debugging Maintenance.
Principles of Information Systems, Sixth Edition 1 Systems Design, Implementation, Maintenance, and Review Chapter 13.
Smart Home Technologies
Thomas L. Gilchrist Testing Basics Set 3: Testing Strategies By Tom Gilchrist Jan 2009.
SCOPE DEFINITION,VERIFICATION AND CONTROL Ashima Wadhwa.
C++ for Engineers and Scientists, Second Edition 1 Problem Solution and Software Development Software development procedure: method for solving problems.
SE513 Software Quality Assurance Lecture12: Software Reliability and Quality Management Standards.
5. 2Object-Oriented Analysis and Design with the Unified Process Objectives  Describe the activities of the requirements discipline  Describe the difference.
Testing Overview Software Reliability Techniques Testing Concepts CEN 4010 Class 24 – 11/17.
SwCDR (Peer) Review 1 UCB MAVEN Particles and Fields Flight Software Critical Design Review Peter R. Harvey.
Slide 1SATC June 2000 Dolores R. Wallace* NASA Goddard Space Flight Center Greenbelt, Maryland for the American Society.
Advanced Software Engineering Dr. Cheng
SQA project process standards IEEE software engineering standards
SOFTWARE TESTING Date: 29-Dec-2016 By: Ram Karthick.
2012 Spring Simulation Interoperability Workshop
SQA project process standards IEEE software engineering standards
Software Requirements
Software Independent Verification and Validation (IV&V)
Introduction to Software Testing
Verification and Validation Unit Testing
ISO/IEC IEEE/EIA Software Life Cycle Processes Supporting Life Cycle Processes IEEE Supporting Processes.
Chapter 1 Introduction(1.1)
HHS Child Welfare National IT Managers' Meeting
Verification & Validation
Presentation transcript:

Software Verification and Validation (V&V) By Roger U. Fujii Presented by Donovan Faustino

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?

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.

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

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

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.

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

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

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

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.

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

Life Cycle V&V Tasks Pg explains what V&V tasks go through the life cycle of the project Pg 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 The tasks listed in the book is defined from the ANSI/IEEE Std

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

V&V Techniques and Methods Audits, Reviews, and Inspection Audits, Reviews, and Inspection Analytic Techniques Analytic Techniques Dynamic Techniques Dynamic Techniques

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

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

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

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

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.

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.

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.

Conclusions The V&V methodology and measurements are outlined in ANSI/IEEE Standard The V&V methodology and measurements are outlined in ANSI/IEEE Standard 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.

Questions?