Inspecting Software Requirement Document

Slides:



Advertisements
Similar presentations
Chapter 4: Requirements Engineering
Advertisements

Testing and Quality Assurance
Error Analysis in Algebra Identification and classification of common errors using metacognitive learning strategies 1 Copyright © 2010 Lynda Greene Aguirre.
Chapter 2 – Software Processes
MIS 325 PSCJ. 2  Business processes can be quite complex  Process model: any abstract representation of a process  Process-modeling tools provide a.
Verification and Validation
1CMSC 345, Version 4/04 Verification and Validation Reference: Software Engineering, Ian Sommerville, 6th edition, Chapter 19.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 22 Slide 1 Verification and Validation.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 6 Slide 1 Chapter 6 Requirements Engineering Process.
Instructor: Peter Clarke
Verification and Validation Overview References: Shach, Object Oriented and Classical Software Engineering Pressman, Software Engineering: a Practitioner’s.
Chapter 2: Software Process Omar Meqdadi SE 2730 Lecture 2 Department of Computer Science and Software Engineering University of Wisconsin-Platteville.
Software Requirements Engineering: What, Why, Who, When, and How
Using error reports in SPI Tor Stålhane IDI / NTNU.
Inspection of Software Requirements Document Gursimran Singh Walia North Dakota State University Training 2: Inspection using.
Inspection of Software Requirements Document Gursimran Singh Walia North Dakota State University Training 1: Inspecting SRS using.
Chapter 12: Software Inspection Omar Meqdadi SE 3860 Lecture 12 Department of Computer Science and Software Engineering University of Wisconsin-Platteville.
Defect resolution  Defect logging  Defect tracking  Consistent defect interpretation and tracking  Timely defect reporting.
Chapter 2 – Software Processes Lecture 1 Chapter 2 Software Processes1.
Approaches to ---Testing Software Some of us “hope” that our software works as opposed to “ensuring” that our software works? Why? Just foolish Lazy Believe.
1 Requirements Engineering From System Goals to UML Models to Software Specifications Axel Van Lamsweerde.
Laurea Triennale in Informatica – Corso di Ingegneria del Software I – A.A. 2006/2007 Andrea Polini XVII. Verification and Validation.
Asking the right questions to stimulate students’ minds.
Journalizing Transactions
Elaboration popo.
Requirements Errors Lecture # 14.
SOFTWARE TESTING Date: 29-Dec-2016 By: Ram Karthick.
Using Human Errors to Inspect SRS
Information Systems in Organizations 2
CMPE 280 Web UI Design and Development August 29 Class Meeting
ROOT CAUSE ANALYSIS RCA
Examples of Final Exam Questions
Approaches to ---Testing Software
CSC 480 Software Engineering
Verification and Validation
Object-Oriented Software Engineering Using UML, Patterns, and Java,
Auditing Information Technology
Input Space Partition Testing CS 4501 / 6501 Software Testing
UML Use Case Diagrams.
Verification and Validation Overview
27th International Symposium on Software Reliability Engineering
Verification & Validation
Some Simple Definitions for Testing
Verification and Validation
Human Errors and the Error Abstraction Process
BASICS OF SOFTWARE TESTING Chapter 1. Topics to be covered 1. Humans and errors, 2. Testing and Debugging, 3. Software Quality- Correctness Reliability.
John D. McGregor Session 9 Testing Vocabulary
CS 790M Project preparation (I)
Chapter 3: The Requirements Workflow
John D. McGregor Session 9 Testing Vocabulary
Information Systems in Organizations 2
CAUSE ANALYSIS CA
UNIT II.
The purposes of grading student work
Software Quality Engineering
Local Government Corporation
SE-565 Software System Requirements III. Requirements Elicitation
Design and Programming
Lecture 09:Software Testing
What is a Business Case?.
What is BankMobile? A process to select how to receive student refunds and student payroll payments It is fast, secure, and convenient. Go to:
Baisc Of Software Testing
Information Systems in Organizations 2
To Err is Human Owen Brennan.
Information Systems in Organizations 2
Subject Name: SOFTWARE ENGINEERING Subject Code:10IS51
WJEC GCSE Computer Science
CS 426 CS 791z Topics on Software Engineering
CS 426 CS 791z Topics on Software Engineering
Presentation transcript:

Inspecting Software Requirement Document Training Inspecting Software Requirement Document

Outline Details of Assignment Basic concepts and benefits of inspections Error vs. fault Inspecting SRS for errors and faults: Human errors Details of Assignment SRS and inspection technique distributed Abstracting errors and inspection for faults Human error taxonomy Error and Fault Forms

Requirements Engineering Activities Elicitation Analysis Verification Requirements Management Specification

About these RE Activities… Requirements elicitation Requirements discovered through consultation with stakeholders Requirements analysis and negotiation Requirements are analyzed and conflicts resolved through negotiation Requirements specification A precise requirements document is produced Requirements verification The requirements document is checked for consistency and completeness Requirements management Needs and contexts evolve, and so do requirements!

What is an Inspection? Definition: Inspections “Inspection is a static analysis method to verify quality properties of software products” Inspections An effective verification process Detect defects The main goal of an inspection is to find and fix defects (not defect prevention)

Software Defects In a generic sense, defects arise when the development work being done doesn’t match the software specifications already developed or would cause problems downstream. Previous Development Phase Current Next 1. Information transformed correctly. 1 2. Information lost during transformation. 2 5. Multiple inconsistent transformations occurred for same info. 5 ? 3. Information transformed incorrectly. 3 6. Multiple inconsistent transformations possible for same info. ? 6 4. Extraneous information introduced. 4

Software Defect Types

Defect detection Question: How does one detect fault? Answer: 1 By reading the document 2 By understanding what the document describes 3 By realizing that there is a problem in the requirements

Requirement defects for Gas Station Control System – Example 1 Functional Requirement # 3 If the customer has selected to pay at the time of purchase, he or she can choose to pay by cash or credit card. If the customer selects cash, the gas pump interface instructs the customer to see the cashier. If the customer selects credit card, the gas pump interface instructs the customer to swipe his or her credit card through the credit card reader. If an invalid or no selection is made, the GSCS will use the credit card payment option, which is the default. Is this the correct response? Information was translated incorrectly In the example, domain knowledge should indicate that defaulting to credit card payment is an incorrect response. (What kind of transaction ever happens this way?) Because we know that this functionality should not be implemented the way it is described, we have a defect.

Requirement defects for Gas Station Control System – Example 2 Functional Requirement 2 After the purchase of gasoline, the gas pump reports the dollar amount of the purchase to the GSCS. The maximum value of a purchase is $999.99. The GSCS then causes the gas pump interface to query the customer as to payment type. Functional Requirement 4 If payment is to be made by credit card, then the card reader sends the account number to the GSCS. If the GSCS receives an invalid card number, than a message is sent to the gas pump interface asking the customer to swipe the card through the card reader again. After the account number is obtained, the account number and purchase price are sent to the credit card system, and the GSCS and gas pump interface are reset to their initial state. The purchase price sent can be up to $10000. ? Information was described inconsistently Because we don’t know from domain knowledge which of the two descriptions is correct, we have found a defect.

Discussion Do you think you understand how to look for the various defect types in this document? What kinds of difficulties did you have? If you hadn’t seen the “answers” would you have been able to find the defects listed? Any one thinks (focusing on faults) is hard or ineffective?

To err is human…

To err is software engineer(still human)…

Human Error vs Fault Human error is a flaw in the human thought process made while trying to understand given information, solve problems, or to use methods and tools. Fault is a concrete manifestation of an error in a software artifact

Human Errors Human Errors Slips Lapses Mistakes EXECUTION EXECUTION PLANNING Occurs when we intend to perform one action, but instead do another, due to lack of attention. Lapses are defined as forgetting one or more steps in a process. Mistakes happen as a result of inadequate planning, mostly from a lack of knowledge. When a person does something they intended to do, but should have done something else When a person does something, but not what they meant to do

Human Error Taxonomy

New Fault List Error Report Form 10 real faults What caused that fault? New Fault List Error Report Form Inspection PGCS Requirements 10 real faults review

Error Abstraction Error abstraction process helps to abstract “errors” from the faults. It includes: Abstracting the underlying reasons for the occurrence of the fault and Write down the errors (Mapping errors to faults) Analyze the given fault: Which RE activity? Was it a mistake (planning failure) or slip (attention failure) or lapse (memory failure)? Refer the human error taxonomy to find the most appropriate human error class. Briefly explain the human error. Use Human Error taxonomy to document more errors that may have happened during the development. Your error list should be a comprehensive list of the errors committed during the development

An Error Abstraction Example – Grocery Store Register Consider the requirement: “The software shall calculate the area of a triangle as the base multiplied by the height” Error # Line #; Req # in SRS Fault Description Fault classification Description of Error Break (Time and date) 1 ………… This requirement is incorrect as the area of a triangle is calculated as one-half of the base multiplied by the height.   Incorrect Information (IF)  1. RE activity in which the human error occurred (pick one): Elicitation Analysis Specification Verification Management 2. Did the error occur due to (pick one): Lack of knowledge (Mistake) Carelessness (Slip) Forgetting a task (Lapse) 3. Classify the error into a human error class (from HET): 4. Briefly explain the human error (what was the defect in the thought process):

An Error Abstraction Example – Grocery Store Register Consider the requirement: “The software shall calculate the area of a triangle as the base multiplied by the height” Error # Line #; Req # in SRS Fault Description Fault classification Description of Error Break (Time and date) 1 ………… This requirement is incorrect as the area of a triangle is calculated as one-half of the base multiplied by the height.   Incorrect Information (IF)  1. RE activity in which the human error occurred (pick one): Elicitation Analysis Specification Verification Management 2. Did the error occur due to (pick one): Lack of knowledge (Mistake) Carelessness (Slip) Forgetting a task (Lapse) 3. Classify the error into a human error class (from HET): Application Error 4. Briefly explain the human error (what was the defect in the thought process): The requirement analyst’s lack of knowledge of the problem domain (geometry in this case) leads him/her into incorrectly analyzing the user need (which was to calculate the area of the triangle).

Exercise Tasks Abstract and Classify Errors Fill an Error Report Form List of 10 Faults Abstract and Classify Errors Fill an Error Report Form Inspect SRS using errors to find the rest of the faults. Fill a Fault Report form Error # Line #; Req # in SRS Fault Description Fault classification Description of Error Break (Time and date) Error Report Form New Fault List Error # (from Error Report form in Task 1) Description of fault (s) caused by the error Line # in SRS Fault Class Time Found Break (Time and date)

Error Report Form Use “Error Report Form” to log errors corresponding to each fault (from the given list of 10 faults) and additional errors from Human Error Taxonomy. List of 10 faults Error Report Form

Error Report Form Error # Line #; Req # in SRS Fault Description Fault classification Description of Error Break (Time and date) 1 170; FR 7 …………………………………… ………………………………….. ………………………. Omission (O) 1. RE activity in which the human error occurred (pick one): Elicitation Analysis Specification Verification Management 2. Did the error occur due to (pick one): Lack of knowledge (Mistake) Carelessness (Slip) Forgetting a task (Lapse) 3. Classify the error into a human error class (from HET): 4. Briefly explain the human error (what was the defect in the thought process): 2 220; FR 17 Wrong Section (WS)

Error Report Form : Example Line #; Req # in SRS Fault Description Fault classification Description of Error Break (Time and date) 1 170; FR 7 …………………………………… ………………………………….. ………………………. Omission (O) 1. RE activity in which the human error occurred (pick one): Elicitation Analysis Specification Verification Management 2. Did the error occur due to (pick one): Lack of knowledge (Mistake) Carelessness (Slip) Forgetting a task (Lapse) 3. The most appropriate human error class (from HET): …………………………………………… 4. Briefly explain the human error (what was the defect in the thought process): ...................................................................... 2 220; FR 17 Wrong Section (WS) …………………………………………. ……………………………………………………………………… Break: 10 AM, 14th Oct Resume: 6 PM, 15th Oct

Exercise Tasks Abstract and Classify Errors Fill an Error Report Form List of 10 Faults Abstract and Classify Errors Fill an Error Report Form Inspect SRS using errors to find the rest of the faults. Fill a Fault Report form Error Report Form New Fault List

Inspecting SRS: Use error information to find more faults Use the error information from the "Error Report" and your knowledge of Human errors to inspect the SRS document: For each error in the “Error Report Form”, inspect the SRS for fault(s) caused by it For each new fault found, complete a row in the "New Fault List" An error can cause one or more faults New Fault List Form Error Report Form

New Fault List Form Error # Line #; Req # in SRS Fault Description Error Report Form Error # Line #; Req # in SRS Fault Description Fault classification Description of Error Break (Time and date) 1 2 New Fault List Form Error # (from Error Report form in Task 1) Description of fault (s) caused by the error Line # in SRS Fault Class Time found Break (Time and date)

New Fault List Form : Example Error # (from Error Report form in Task 1) Description of fault (s) caused by the error Line # in SRS Fault Class Time Found Break (Time and date) 1 …………………………………………………. 35 216 II WS 9:30 AM, 2nd Oct 2 ………………………………………………………………………………………………………. 134 O 10:30 AM, 2nd Oct Break-11:00 AM, 2nd Oct Resumed-1:00PM, 3rd Oct 3 3. ………………………………………………………………. 220 117 321 E IF A 1:30 PM, 3rd Oct