Requirements Validation – II

Slides:



Advertisements
Similar presentations
Requirements Validation
Advertisements

Verification and Validation
Overview of Software Requirements
IS550: Software requirements engineering Dr. Azeddine Chikh 4. Validation and management.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 22 Slide 1 Verification and Validation.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 22 Slide 1 Verification and Validation.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 6 Slide 1 Requirements Engineering Processes l Processes used to discover, analyse and.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 7 Slide 1 Requirements Engineering Processes.
Requirements Engineering Requirements Elicitation Process Lecture-8.
Some Sub-Activities within Requirements Engineering 1.Prototyping 2.Requirements Documentation 3.Requirements Validation 4.Requirements Measurements 5.Requirements.
Requirements Engineering Requirements Specification Lecture-22.
Requirements Engineering Overview Senior Design Don Evans.
Chapter 4 Software Requirements
Requirements Validation
Requirements / Specifications. 01/18/10CS-499G2 Requirements Determine what the customer needs (wants) the software to do  What are requirements?  An.
Requirements Engineering Requirements Validation and Management Lecture-24.
Requirement Engineering
Requirements Analysis
Requirement Elicitation Review – Class 8 Functional Requirements Nonfunctional Requirements Software Requirements document Requirements Validation and.
Lecturer: Eng. Mohamed Adam Isak PH.D Researcher in CS M.Sc. and B.Sc. of Information Technology Engineering, Lecturer in University of Somalia and Mogadishu.
 The processes used for RE vary widely depending on the application domain, the people involved and the organisation developing the requirements.  However,
 System Requirement Specification and System Planning.
Laurea Triennale in Informatica – Corso di Ingegneria del Software I – A.A. 2006/2007 Andrea Polini XVII. Verification and Validation.
1 Requirements Management - II Lecture # Recap of Last Lecture We talked about requirements management and why is it necessary to manage requirements.
Verification and Validation. Topics covered l Verification and validation planning l Program Testing l Software inspections.
Pepper modifying Sommerville's Book slides
Requirements Errors Lecture # 14.
Processes and Process Models
Chapter 4 – Requirements Engineering
Software Requirements
Presentation on Software Requirements Submitted by
Chapter 4 Requirements Engineering (1/3)
Chapter 4 – Requirements Engineering
Chapter 5 – Requirements Engineering
Prototyping Lecture # 08.
CSC 480 Software Engineering
Requirements Engineering (continued)
Writing Requirements Lecture # 23.
Requirements Engineering (continued)
Unified Modeling Language
Requirements Engineering
EKT 421 SOFTWARE ENGINEERING
Software Requirements
SNS College of Engineering Coimbatore
IS442 Information Systems Engineering
Chapter 4 Software Requirements
UNIT II.
SE-565 Software System Requirements III. Requirements Elicitation
Introduction to Software Testing
Chapter 24 Testing Object-Oriented Applications
Requirements Analysis
Testing and Test-Driven Development CSC 4700 Software Engineering
Chapter 19 Testing Object-Oriented Applications
CS240: Advanced Programming Concepts
Requirements Engineering Processes
Chapter 19 Testing Object-Oriented Applications
Requirements Engineering Process – 1
Lecture # 7 System Requirements
SE-565 Software System Requirements VII. Requirements Validation
Requirements Document
Chapter 5 Understanding Requirements.
Dr. Jiacun Wang Department of Software Engineering Monmouth University
Requirements Validation – I
Requirements Analysis and Negotiation
Chapter 7 Software Testing.
Subject Name: SOFTWARE ENGINEERING Subject Code:10IS51
Requirements Engineering Lecture 6
Software Requirements
Software Requirements
Processes and Process Models
Presentation transcript:

Requirements Validation – II Lecture # 17

Today’s Topics Validation techniques Review checklists Prototyping User manual development Model validation Requirements testing

Review Checklists - 1 Understandability Redundancy Can readers of the document understand what the requirements mean? Redundancy Is information unnecessarily repeated in the requirements document?

Review Checklists - 2 Completeness Does the checker know of any missing requirements or is there any information missing from individual requirement descriptions?

Review Checklists - 3 Ambiguity Consistency Are the requirements expressed using terms which are clearly defined? Could readers from different backgrounds make different interpretations of the requirements? Consistency Do the descriptions of different requirements include contradictions? Are there contradictions between individual requirements and overall system requirements?

Review Checklists - 4 Organization Is the document structured in a sensible way? Are the descriptions of requirements organized so that related requirements are grouped?

Review Checklists - 5 Conformance to standards Traceability Does the requirements document and individual requirements conform to defined standards? Are departures from the standards, justified? Traceability Are requirements unambiguously identified, include links to related requirements and to the reasons why these requirements have been included?

Checklist Questions & Quality Attributes - 1 Is each requirement uniquely identified? Traceability, conformance to standards Are specialized terms defined in the glossary Understandability Does a requirement stand on its own or do you have to examine other requirements to understand what it means? Understandability, completeness

Checklist Questions & Quality Attributes - 2 Do individual requirements use the terms consistently Ambiguity Is the same service requested in different requirements? Are there any contradictions in these requests? Consistency, redundancy

Checklist Questions & Quality Attributes - 3 If a requirement makes reference to some other facilities, are these described elsewhere in the document? Completeness Are related requirements grouped together? If not, do they refer to each other? Organization, traceability

Prototyping Prototypes for requirements validation demonstrate the requirements and help stakeholders discover problems Validation prototypes should be complete, reasonably efficient and robust. It should be possible to use them in the same way as the required system User documentation and training should be provided

Prototyping for Validation Choose prototype testers Develop test scenarios Execute scenarios Document problems Document and extend prototype system

Prototyping Activities - 1 Choose prototype testers The best testers are users who are fairly experienced and who are open-minded about the use of new systems. End-users who do different jobs should be involved so that different areas of system functionality will be covered

Prototyping Activities - 2 Develop test scenarios Careful planning is required to draw up a set of test scenarios which provide broad coverage of the requirements. End-users shouldn’t just play around with the system as this may never exercise critical system features

Prototyping Activities - 3 Execute scenarios The users of the system work, usually on their own, to try the system by executing the planned scenarios Document problems Its usually best to define some kind of electronic or paper problem report form which users fill in when they encounter a problem

User Manual Development - 1 Writing a user manual from the requirements forces a detailed requirements analysis and thus can reveal problems with the document

User Manual Development - 2 Information in the user manual Description of the functionality and how it is implemented Which parts of the system have not been implemented How to get out of trouble How to install and get started with the system

System Models For some projects, system models may be developed based on the agreed set of requirements These models may be data-flow models of the system’s functionality, object models, event models, entity-relation models

Model Validation Validation of system models is an essential part of the validation process Some checking is possible with automated tools Paraphrasing the model is an effective checking technique

Objectives of Model Validation To demonstrate that each model is self-consistent If there are several models of the system, to demonstrate that these are internally and externally consistent To demonstrate that the models accurately reflect the real requirements of system stakeholders. This is very difficult

Data-flow Diagram for Issue User details User status Library card Check user Item status Requested item Check item Issued item Issue item Update details

Paraphrased Description

Requirements Testing - 1 Each requirement should be testable i.e., it should be possible to define tests to check whether or not that requirement has been met Inventing requirements tests is an effective validation technique as missing or ambiguous information in the requirements description may make it difficult to formulate tests

Requirements Testing - 2 Each functional requirement should have an associated test

Test Case Definition - 1 What usage scenario might be used to check the requirement? Does the requirement, on its own, include enough information to allow a test to be defined?

Test Case Definition - 2 Is it possible to test the requirement using a single test or are multiple test cases required? Could the requirement be re-stated to make the test cases more obvious?

Hard-to-Test Requirements System requirements Exclusive requirements Some non-functional requirements

System requirements Requirements which apply to the system as a whole. In general, these are the most difficult requirements to validate irrespective of the method used as they may be influenced by any of the functional requirements. Tests, which are not executed, cannot test for non-functional system-wide characteristics such as usability

Exclusive Requirements These are requirements which exclude specific behavior. For example, a requirement may state that system failures must never corrupt the system database. It is not possible to test such a requirement exhaustively

Some Non-Functional Requirements Some non-functional requirements, such as reliability requirements, can only be tested with a large test set. Designing this test set does not help with requirements validation

Summary - 1 Checklists of what to look for may be used to drive a requirements review process Prototyping is effective for requirements validation if a prototype has been developed during the requirements elicitation stage

Summary - 2 Systems models may be validated by paraphrasing them. This means that they are systematically translated into a natural language description Designing tests for requirements can reveal problems with the requirements. If the requirement is unclear, it may be impossible to define a test for it

References ‘Requirements Engineering: Processes and Techniques’ by G. Kotonya and I. Sommerville, John Wiley & Sons, 1998