Validating Requirements Determining Completeness and Correctness of Requirements Using the System Reference Model IV&V Workshop 16 September 2009.

Slides:



Advertisements
Similar presentations
IT Requirements Capture Process. Motivation for this seminar Discovering system requirements is hard. Formally testing use case conformance is hard. We.
Advertisements

IV&V of Critical Behavior September, 2012 Shirley Savarino, TASC.
Formal Methods in Software Engineering Credit Hours: 3+0 By: Qaisar Javaid Assistant Professor Formal Methods in Software Engineering1.
CS3773 Software Engineering Lecture 03 UML Use Cases.
Establishing IV&V Properties Steve Raque, NASA IV&V Facility Dr. Doron Drusinsky, Naval Postgraduate School 9/4/20091Establishing IV&V Properties.
OASIS Reference Model for Service Oriented Architecture 1.0
Requirements Analysis CS 414 – Software Engineering I Donald J. Bagert Rose-Hulman Institute of Technology January 7, 2003.
Software Testing and Quality Assurance
L4-1-S1 UML Overview © M.E. Fayad SJSU -- CmpE Software Architectures Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I.
The Unified Software Development Process - Workflows Ivar Jacobson, Grady Booch, James Rumbaugh Addison Wesley, 1999.
SE 555 Software Requirements & Specification1 Use-Case Modeling: Overview and Context.
Recall The Team Skills 1. Analyzing the Problem (with 5 steps) 2. Understanding User and Stakeholder Needs 3. Defining the System 4. Managing Scope 5.
Major Exam II Reschedule 5:30 – 7:30 pm in Tue Dec 5 th.
Overview of Software Requirements
© Lethbridge/Laganière 2001 Chapter 7: Focusing on Users and Their Tasks1 7.1 User Centred Design (UCD) Software development should focus on the needs.
Software Testing and Quality Assurance
Describing Syntax and Semantics
1 CMPT 275 Software Engineering Requirements Analysis Process Janice Regan,
NASA Space Launch System (SLS) Independent Verification and Validation (IV&V) Analysis Processes within Enterprise Architecture (EA) September 11, 2013.
IV&V Facility Model-based Design Verification IVV Annual Workshop September, 2009 Tom Hempler.
S R S S ystem R equirements S pecification Specifying the Specifications.
Introduction to Software Design Chapter 1. Chapter 1: Introduction to Software Design2 Chapter Objectives To become familiar with the software challenge.
Handouts Software Testing and Quality Assurance Theory and Practice Chapter 11 System Test Design
S/W Project Management
RUP Requirements RUP Artifacts and Deliverables
1 Validating Test Design Determining a planned test design is valid using the System Reference Model. IV&V Workshop 16 September 2009 John Schipper SRMV.
1 Object-Oriented Testing CIS 375 Bruce R. Maxim UM-Dearborn.
® IBM Software Group © 2006 IBM Corporation Rational Software France Object-Oriented Analysis and Design with UML2 and Rational Software Modeler 06. Requirements.
Business Analysis and Essential Competencies
T. Dawson, TASC 9/11/13 Use of a Technical Reference in NASA IV&V.
Identify steps for understanding and solving the
Testing Workflow In the Unified Process and Agile/Scrum processes.
Requirements Artifacts Precursor to A & D. Objectives: Requirements Overview  Understand the basic Requirements concepts and how they affect Analysis.
Lecture 7: Requirements Engineering
BE-SECBS FISA 2003 November 13th 2003 page 1 DSR/SAMS/BASP IRSN BE SECBS – IRSN assessment Context application of IRSN methodology to the reference case.
Chapter 10 Analysis and Design Discipline. 2 Purpose The purpose is to translate the requirements into a specification that describes how to implement.
Requirements Reference: Chapters 5, 6, & 8. CMSC 345, Fall Objectives To introduce the concepts of user and system requirements To explain functional.
Review of Software Process Models Review Class 1 Software Process Models CEN 4021 Class 2 – 01/12.
Unified Modeling Language* Keng Siau University of Nebraska-Lincoln *Adapted from “Software Architecture and the UML” by Grady Booch.
L6-S1 UML Overview 2003 SJSU -- CmpE Advanced Object-Oriented Analysis & Design Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I College.
7 Systems Analysis and Design in a Changing World, Fifth Edition.
Yarmouk University Department of Computer Information Systems CIS 499 Yarmouk University Department of Computer Information Systems CIS 499 Yarmouk University.
1 Structuring Systems Requirements Use Case Description and Diagrams.
1 Capturing Requirements As Use Cases To be discussed –Artifacts created in the requirements workflow –Workers participating in the requirements workflow.
1 Software Engineering: A Practitioner’s Approach, 6/e Chapter 7: Requirements Engineering Software Engineering: A Practitioner’s Approach, 6/e.
1 Version /05/2004 © 2004 Robert Oshana Requirements Engineering Use cases.
1 Software Requirements l Specifying system functionality and constraints l Chapters 5 and 6 ++
Deriving Operational Software Specification from System Goals Xin Bai EEL 5881 Course Fall, 2003.
IV&V Facility 26SEP071 Validation Workshop Dr. Butch Caffall Director, NASA IV&V Facility 26SEP07.
Unified Modeling Language User Guide Section 4 - Basic Behavioral Modeling Chapter 16 - Use Cases Chapter 17 - Use Case Diagrams.
Reusing Modeling Elements in IV&V Thomas Otani Naval Postgraduate School 2009 NASA Independent Verification and Validation (IVV) Annual Workshop John Ryan.
By Germaine Cheung Hong Kong Computer Institute
Requirements and Use Cases
Connecting with Computer Science2 Objectives Learn how software engineering is used to create applications Learn some of the different software engineering.
Formal Methods in SE Software Verification Using Formal Methods By: Qaisar Javaid, Assistant Professor Formal Methods1.
Requirement Engineering. Recap Elaboration Behavioral Modeling State Diagram Sequence Diagram Negotiation.
Systems Analysis and Design in a Changing World, Fourth Edition
Lecture 14 22/10/15. The Object-Oriented Analysis and Design  Process of progressively developing representation of a system component (or object) through.
IV&V Facility Assertion–Based Requirements Validation Patrick Theeke (PMP, CSQE) John Ryan September 8, 2008.
Software Quality Assurance and Testing Fazal Rehman Shamil.
21/1/ Analysis - Model of real-world situation - What ? System Design - Overall architecture (sub-systems) Object Design - Refinement of Design.
Refining the Use Cases 1. How Use Cases Evolve  Early efforts typically define most of the major use cases.  The refining stages complete the process.
Testing Overview Software Reliability Techniques Testing Concepts CEN 4010 Class 24 – 11/17.
1 7 Systems Analysis and Design in a Changing World, 2 nd Edition, Satzinger, Jackson, & Burd Chapter 7 The Object-Oriented Approach to Requirements.
Requirement Elicitation Review – Class 8 Functional Requirements Nonfunctional Requirements Software Requirements document Requirements Validation and.
1 Team Skill 3 Defining the System Part 1: Use Case Modeling Noureddine Abbadeni Al-Ain University of Science and Technology College of Engineering and.
An Overview of Requirements Engineering Tools and Methodologies*
CMPE 280 Web UI Design and Development August 29 Class Meeting
Use Case Model.
CSE 1020:Software Development
Presentation transcript:

Validating Requirements Determining Completeness and Correctness of Requirements Using the System Reference Model IV&V Workshop 16 September 2009

Overview Validation Purpose and Definitions A Correct and Complete SRM, and the Three Questions SRM Correlation Mapping Analysis of Correlation Results Correct, Complete, Incorrect, and Incomplete Examples Best practices, lessons learned, and challenges

IV&V’s Validation Definition The process of evaluating artifacts to ensure that the right behaviors have been defined in the artifacts. The right behaviors are those that adequately describe –what the system is supposed to do –what the system is not supposed to do, and –what the system is supposed to do under adverse conditions. Validation ensures that the software system performs to the user’s needs under operational conditions. –Contains the desired capabilities to accomplish the mission goals –Does not contain unspecified limitation that impedes the capabilities

Validation Goal To ensure that –The right behaviors have been defined Adequately describe –What the system is supposed to do –What the system is not supposed to do –What the system is supposed to do under adverse conditions Correct and Complete –The requirement specifications are of high quality Unambiguous, Consistent, and Verifiable

Correct (IVV 09-1) Applicable requirement(s) meet all or part of the goals and behaviors of the system –Note: not all requirements can be evaluated in isolation; it may require a set of requirements to be evaluated together in order to determine that a particular goal or behavior is being met). The requirements are an accurate elaboration of the defined objectives or goals –e.g., the use of temporal modal operators like “next”, “until”, “always”, and “eventually”, are appropriately used to reflect the desired behavior The requirements adequately refine the higher-level requirements Design or implementation-specific information is specified as constraints to the behaviors captured in the requirements

Complete (IVV 09-1) All the needed information to completely specify a desired behavior is identified (i.e., all preconditions, postconditions, and invariants are specified for the described behavior). Threads of behavior are represented by more than one requirement, versus one compound requirement that attempts to capture the entire thread (i.e., that each requirement specifies only one “thing”). The use of conjunctions (e.g., “and”, “or”) are restricted to preconditions, postconditions, and invariants.

How? “This goal is achieved through the development and application of a system reference model (SRM) that will include a formal specification. The SRM can then be used to show (e.g., validate) that the right system behaviors are specified and the associated requirements are unambiguous, correct, complete, consistent, and verifiable. The SRM can also be used to validate (or develop) a test design that will demonstrate that the software products meet the specification and the operational need.” – IVV 09-1

The System Reference Model Includes sets of Modeling Artifacts –Use cases –Activity Diagrams, Sequences Diagrams –Statecharts –Domain Models (Class Diagrams, Communication Diagrams) –Statechart Assertions –JUnit Test Cases A concise description of the IV&V team’s understanding of the problem –Analysis tool –Communication tool Captures expected system behaviors –3 Questions

What’s In the SRM? Validation and Verification involves answering the following three questions: 1. Will the System do what it is supposed to do? 2. Will the System not do what it is not supposed to do? 3. Will the System maintain operations under adverse conditions? Note, in order to answer these questions, we must first have an independent understanding of: –What the system is supposed to do –What the system is not supposed to do –What the system is supposed to do to maintain operations under adverse conditions This information can be found within different areas of our model.

SRM Product Dependencies

System Goals

Constraints, Actors, and Environment

Text Use Cases

Use Case Example What the system is supposed to do All parts within the Main Success Scenarios describe the actions that must take place to accomplish the goal(s). Adverse Conditions Extension Scenarios show how the system should react to adverse conditions to get back on the success path or transition to safe mode.

Activity Diagram Example Flight System Goal: Flight System precesses and damps nutation to point the High Gain Antenna at earth for communication and GRAV science Precondition: Engineering Instruments are calibrated Flight System Turn on IMUs Turn on Precession catalyst bed heaters Turn on X-band Transmitters Passive Nutation Damping Return Errors > Precess to Earth Point > Precess to Earth Point Fails Select High Gain Antenna Select Forward Low Gain Antenna Pulse RCS Thrusters Turn off IMU Turn off cat bed heaters Use Other Thrusters [IMU Does not turn on or malfunctions] [Cat bed heaters do not turn on] [turning to earth point] [not turning to earth point] [thrusters do not fire] What the system is supposed to do All parts within the Main Success Scenarios describe the actions that must take place to accomplish the goal(s). Adverse Conditions Extension Scenarios show how the system should react to adverse conditions to get back on the success path or transition to safe mode.

Sequence Diagrams Example What the system is supposed to do The interactions of the Sequence Diagram describe the steps involved to accomplish the goal(s). 18 Adverse Conditions A sequence diagram can also be developed to show how the system should react to adverse condition.

SRM Validation Scenarios getEstimatedStateVector() estimateStateVector() AssertTrue() AssertFalse() estimateStateVector() AssertTrue() getEstimatedStateVector() public void testScenario2() { st.getEstimatedStateVector(); st.estimateStateVector(); assertTrue (st.isSuccess()); st.estimateStateVector(); assertTrue (st.isSuccess()); st.getEstimatedStateVector(); assertFalse (st.isSuccess()); } What the system is NOT supposed to do This information can be found in our Assertions and the Validation scenarios we create to test against them.

Validation WBS (IVV 09-1) 1.0 Validation 1.1 Obtain/Develop a System Reference Model (SRM) 1.2 Validate System Requirements 1.3 Validate Test Design

Validate System Requirements For each level of system decomposition, we need to determine –Sufficiency of the requirements Is there a corresponding requirement for every SRM behavior and Statechart assertion at that level? –Quality of the requirements Assess the quality of each requirement that has a corresponding SRM behavior or Statechart assertion at that level –Sufficiency of the SRM Is there any mission-critical, safety-critical requirement not covered by an SRM behavior or Statechart assertion at that level? A “correlation map” is built to capture these relationships

Validation Possibilities SRM BehaviorsRequirements SRM Correct? Requirements Complete? SRM Correct? Requirements In Scope and Valid? Validated Requirements Unambiguous, Correct, Consistent, & Verifiable Requirements

An Example Behavior Extensions – Q2 & Q3 Preconditions Main Success Scenario – Q1 & Q2 Constraints Post-conditions Goal References

Requirement Proxies

Other Analysis Tools Subject Requirement Child Requirements Parent Requirements Validation Findings Correlation Mapping

Requirement Data Subject Requirement Child Requirements Parent Requirements Validation Findings Correlation Mapping Subject Requirement

Parent Traces Subject Requirement Child Requirements Parent Requirements Validation Findings Correlation Mapping Parent Requirements

Child Traces Subject Requirement Parent Requirements Validation Findings Correlation Mapping Child Requirements

Correlation Mapping Subject Requirement Child Requirements Parent Requirements Validation Findings Correlation Mapping

Validation Findings Subject Requirement Child Requirements Parent Requirements Correlation Mapping Validation Findings

Requirement Proxies

Correlation Mapping & Requirement Evaluation

Correlation Map

Model Elements Requirement Mapping Findings/Issues

Correct (IVV 09-1) Applicable requirement(s) meet all or part of the goals and behaviors of the system –Note: not all requirements can be evaluated in isolation; it may require a set of requirements to be evaluated together in order to determine that a particular goal or behavior is being met). The requirements are an accurate elaboration of the defined objectives or goals –e.g., the use of temporal modal operators like “next”, “until”, “always”, and “eventually”, are appropriately used to reflect the desired behavior The requirements adequately refine the higher-level requirements Design or implementation-specific information is specified as constraints to the behaviors captured in the requirements Coverage of Model Consistency with Model Separation of Information

Complete (IVV 09-1) All the needed information to completely specify a desired behavior is identified (i.e., all preconditions, postconditions, and invariants are specified for the described behavior). Threads of behavior are represented by more than one requirement, versus one compound requirement that attempts to capture the entire thread (i.e., that each requirement specifies only one “thing”). The use of conjunctions (e.g., “and”, “or”) are restricted to preconditions, postconditions, and invariants. Coverage of Model

Correlation Mapping & Requirement Evaluation

Identifying Issues L2 Rqmnt - The Project shall generate, route, transport, store and execute a sequence containing any of the following types of time-tagged commands: absolute time, time relative to a sequence-external time value stored on-board, time relative to the execution of the previous command in the sequence. L3 Rqmnt - The sequence time tags shall be either an absolute execution time, time relative to a sequence external time value, or a time relative to the execution of the previous command or command file. L4 Rqmnt - The flight software shall provide the means for running onboard relative and absolute time, relative to a sequence external time value, tagged sequences.

Identifying Issues Model Elements Requirement Mapping Findings/Issues Model Requirements Findings

Lessons Learned & Best Practices

Challenges Varying levels of detail between the SRM and requirements being validated What vs. How – “Requirements Model” vs. “Design Model” Terminology differences between SRM behaviors and requirements Lack of adequate tools, work instructions, product descriptions/templates – particularly MKS Artifact Mapping capability

Questions?