Requirements Validation

Slides:



Advertisements
Similar presentations
Requirements Validation
Advertisements

©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Processes.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Processes.
Software Modeling SWE5441 Lecture 3 Eng. Mohammed Timraz
Characteristics of a good SRS
Alternate Software Development Methodologies
Requirements Engineering n Elicit requirements from customer  Information and control needs, product function and behavior, overall product performance,
ACTIVELY ENGAGING THE STAKEHOLDER IN DEFINING REQUIREMENTS FOR THE BUSINESS, THE STAKEHOLDER, SOLUTION OR TRANSITION Requirements Elicitation.
CSC 402 Requirements Engineering 1. 2 Problem Definition Requirements Definition informal statement of need for system natural language statement of what.
Computer Engineering 203 R Smith Requirements Management 6/ Requirements IEEE Standard Glossary A condition or capability needed by a user to solve.
Requirements Analysis Concepts & Principles
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Process Models.
Requirements Engineering Processes
SE 555 Software Requirements & Specification Requirements Validation.
Overview of Software Requirements
IS550: Software requirements engineering Dr. Azeddine Chikh 4. Validation and management.
1 SWE Introduction to Software Engineering Lecture 11 - Requirements Engineering Processes.
Requirements Engineering Process – 1
Chapter 3 Software Processes.
S/W Project Management
Requirements Analysis
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 6 Slide 1 Chapter 6 Requirements Engineering Process.
SE-02 SOFTWARE ENGINEERING LECTURE 3 Today: Requirements Analysis Requirements tell us what the system should do - not how it should do it. Requirements.
Topics Covered: Software requirement specification(SRS) Software requirement specification(SRS) Authors of SRS Authors of SRS Need of SRS Need of SRS.
المحاضرة الثالثة. Software Requirements Topics covered Functional and non-functional requirements User requirements System requirements Interface specification.
1 REQUIREMENT ENGINEERING Chapter 7. 2 REQUIREMENT ENGINEERING Definition Establishing what the customer requires from a software system. OR It helps.
Requirements Elicitation
Demystifying the Business Analysis Body of Knowledge Central Iowa IIBA Chapter December 7, 2005.
©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 4 Slide 1 Software Processes.
Writing Quality Requirements Karl E. Wiegers Presented by: Ricardo Carlos.
©Ian Sommerville 2000, Mejia-Alvarez 2009 Slide 1 Software Processes l Coherent sets of activities for specifying, designing, implementing and testing.
Software Processes lecture 8. Topics covered Software process models Process iteration Process activities The Rational Unified Process Computer-aided.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 3 Slide 1 Software Processes l Coherent sets of activities for specifying, designing,
Requirements Elicitation. Who are the stakeholders in determining system requirements, and how does their viewpoint influence the process? How are non-technical.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 7 Slide 1 Requirements Engineering Processes.
Requirements Engineering Requirements Elicitation Process Lecture-8.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Processes.
Requirements validation Csaba Veres. What is it? Validation is the process of checking the requirements document for –completeness –consistency –accuracy.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 7 Slide 1 Requirements Engineering Processes.
1 Chapter 8 Building the Analysis Model (1) Analysis Concepts and Principles.
Requirement Engineering. Recap Elaboration Behavioral Modeling State Diagram Sequence Diagram Negotiation.
Week 3: Requirement Analysis & specification
Requirements Engineering. Requirements engineering processes The processes used for RE vary widely depending on the application domain, the people involved.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 4 Slide 1 Software Processes.
Requirements Engineering Processes. Syllabus l Definition of Requirement engineering process (REP) l Phases of Requirements Engineering Process: Requirements.
1 The Requirements Problem Chapter 1. 2 Standish Group Research Research paper at:  php (1994)
Requirements Engineering Requirements Validation and Management Lecture-24.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 4 Slide 1 Software Processes.
Requirement Engineering
Requirements Analysis
Requirements engineering The process of establishing the services that the customer requires from a system and the constraints under which it operates.
Requirements Analysis
Requirement engineering & Requirement tasks/Management. 1Prepared By:Jay A.Dave.
Software Engineering, 8th edition. Chapter 4 1 Courtesy: ©Ian Sommerville 2006 FEB 13 th, 2009 Lecture # 5 Software Processes.
Requirement Elicitation Review – Class 8 Functional Requirements Nonfunctional Requirements Software Requirements document Requirements Validation and.
1 Requirements Analysis Lecture # Recap of Requirements Elicitation - 1 Requirements elicitation deals with discovering requirements for a software.
 The processes used for RE vary widely depending on the application domain, the people involved and the organisation developing the requirements.  However,
REQUIREMENTS ENGINEERING PROCESSES Chapter 6. Activities in Requirements Engineering processes  Requirements elicitation;  Requirements analysis; 
Prototyping Lecture # 08.
Requirements Validation – II
Requirements Engineering (continued)
Requirements Verification and Validation
Requirements Elicitation – 1
Software Requirements analysis & specifications
UNIT II.
SE-565 Software System Requirements VII. Requirements Validation
Requirements Validation – I
Subject Name: SOFTWARE ENGINEERING Subject Code:10IS51
Presentation transcript:

Requirements Validation SJTU

Requirements Engineering Activity Model Requirements Management Requirements Elicitation Requirements Analysis Requirements Specification Requirements Validation Validated Requirements Specification Existing System Information Stakeholder Needs Organizational Standards Technical Standards Regulations Domain Information Goals

Requirements Validation Concerned with validating and approving requirements specification Checking requirements specification for consistency, completeness, accuracy and other attributes of a well-written requirements specification Certifying that requirements represent acceptable description of system to be implemented Ensuring requirements specification meets prescribed quality standards

Relationship Between Analysis and Validation Requirements analysis Concerned with raw requirements Focus on stakeholder needs Requirements validation Concerned with DRAFT requirements specification Focus on document quality

Requirements Problems Discovered During Validation Examples Lack of conformance to quality standards Ambiguous requirements Errors in analysis models Requirements conflicts not detected during analysis May need to revisit earlier requirements engineering process activities to fix requirements elicitation and analysis flaws

Requirements Validation Inputs and Outputs Requirements specification List of problems Requirements Validation Organizational knowledge Organization standards Agreed actions

Subtopics Requirements reviews Prototyping Model validation Planning for acceptance tests

Requirements Reviews Formal review of requirements specification by group of stakeholders Goal is to validate contents of specification Identify errors Identify invalid assumptions Ensure clarity of requirements Ensure requirements follow quality standards May be conducted on any requirements specification System requirements specification Software requirements specification May be conducted multiple times Goal is to identify and fix requirements errors early in life-cycle

Participants Users Domain experts Customers Requirements engineers System developers Other stakeholders Facilitator (chair) Preferably someone who has not been involved in producing requirements which are being validated

Potential Problems with Requirements Specification Conflicting requirements Incomplete requirements Inconsistent requirements Design dependent requirements Non-singularized requirements Unnecessary requirements Ambiguous requirements Infeasible requirements (Technical, Operational, Economic) Non-testable requirements Requirements requiring non-standard hardware or software

Requirements Review Process Model Source: Kotonya and Sommerville, Requirements Engineering, Wiley, 1998

Sample Review Checklist Understandability Redundancy Completeness Ambiguity Consistency Organization Conformance to standards Traceability

Sample Checklist Questions Is each requirement uniquely identified? Are terms defined in the glossary? Does each requirement stand on its own? Do individual requirements use terms consistently? Is the same service requested in different requirements? Are there contradictions between requirements? Are requirements cross-referenced when needed? Are related requirements grouped together?

Sample Follow-Up Actions Clarify badly expressed requirements Add missing requirements Negotiate to resolve conflicting requirements Defer, delete, or modify unrealistic requirements

Subtopics Requirements reviews Prototyping Model validation Planning for acceptance tests

Prototyping for Requirements Validation Prototype is a partial physical representation of a proposed system Commonly used to validate requirements engineer’s understanding of requirements Range of techniques available (same as in elicitation) Static prototypes (throwaway) Visual representation or paper mock-up of user interface Static screens in graphics tool (e.g., PowerPoint) Quick and inexpensive, but lacks interactivity Dynamic prototypes (throwaway or evolutionary) Executable screens in CASE tool (e.g., Power Builder) Supports navigation between screens, but has limited functionality Validation prototypes must be more complete than elicitation prototypes

Source: Kotonya and Sommerville, Requirements Engineering, Wiley, 1998 Process Model Source: Kotonya and Sommerville, Requirements Engineering, Wiley, 1998

Advantages Easier to interpret than textual description or graphic model Easy for customers and users to understand and react to Provides quick feedback from customers and users Produces answers to questions and generates new questions Especially good for validation of user interface requirements Provides context Bridges communication gap between developer and user Displays unanticipated aspects of system behavior May shorten development time and cost Increases user satisfaction Improves productivity Allows users to experiment with initial system Establishes feasibility and usefulness before development

Limitations May unexpectedly evolve into final system May be difficult to manage user expectations Prototypes are imperfect (incomplete functionality) Users may focus on cosmetic issues, lack of robustness, or quality problems rather requirements Need to explain what a prototype is and is not Can be costly

Subtopics Requirements reviews Prototyping Model validation Planning for acceptance tests

Model Validation Concerned with validating quality and correctness of analysis models included in requirements specification Objectives of model validation To demonstrate that each model is self-consistent To demonstrate that models are internally and externally consistent To demonstrate that models accurately reflect real requirements of system stakeholders Can be somewhat automated if models are expressed in notations supported by CASE tools

Subtopics Requirements reviews Prototyping Model validation Planning for Acceptance tests

Planning Acceptance Tests Perform early planning for system acceptance testing as part of requirements validation Concerned with ensuring that requirements are verifiable Identifying how to verify each requirement Developing acceptance tests is effective validation technique Missing or ambiguous information in requirements description may make it difficult to formulate tests Each functional requirement should have an associated test Use cases or scenarios may form basis for acceptance tests Actual tests are carried out after implementation

Key Points Requirements validation is concerned with checking quality of requirements specification Requirements reviews are most widely used requirements validation method Prototyping is effective for requirements validation if prototype has been developed to support elicitation Development of acceptance tests can reveal requirements problems Requirements errors are more expensive to correct later in the life cycle Design and implementation rework can be reduced by discovering requirements problems during requirements validation