Kiến trúc máy tính và hợp ngữ - Chapter 5: Requirement validation

Requirements clarification The requirement may be badly expressed or may have accidentally omitted information which has been collected during requirements elicitation  Missing information Some information is missing from the requirements document  Requirements conflict There is a significant conflict between requirements The stakeholders involved must negotiate to resolve the conflict  Unrealistic requirement The requirement does not appear to be implementable with the technology available or given other constraints on the system Stakeholders must be consulted to decide how to make the requirement more realistic

pdf29 trang | Chia sẻ: huyhoang44 | Lượt xem: 592 | Lượt tải: 0download
Bạn đang xem trước 20 trang tài liệu Kiến trúc máy tính và hợp ngữ - Chapter 5: Requirement validation, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
Requirements Validation Check that the right product is being built Refers to the set of activities that ensure that software correctly implements a specific function Requirements Verification Check that product is being built right refers to a different set of activities that ensure that the software that has been built is traceable to customer requirements 2 Requirements Verification and Validation Techniques Simple checks Prototyping Functional test design User manual development Reviews and inspections Is a whole life-cycle process - V & V must be applied at each stage in the software process. Has two principal objectives The discovery of defects in a system; The assessment of whether or not the system is useful and useable in an operational situation. 4  Help ensure delivery of what the client wants  Need to be performed at every stage during the (requirements) process  Elicitation Checking back with the elicitation sources  Analysis Checking that the domain description and requirements are correct  Specification Checking that the defined system requirement will meet the user requirements under the assumptions of the domain/environment Checking conformity to well-formedness rules, standards Check that the right product is being built Ensures that the software being developed (or changed) will satisfy its stakeholders Checks the software requirements specification against stakeholders goals and requirements 11/7/2014 6 Check that product is being built right Ensures that each step followed in the process of building the software yields the right products Checks consistency of the software requirements specification artefacts and other software development products (design, implementation, ...) against the specification 11/7/2014 7 8 Simple checks Prototyping Functional test design User manual development Reviews and inspections Model-Based V&V Verify that the requirements are well written (according to the criteria already discussed) Various checks can be done using traceability techniques Given the requirements document, verify that all elicitation notes are covered Tracing between different levels of requirements Checking goals against tasks, features, requirements Involves developing a traceability matrix Ensures that requirements have been taken into consideration (if not there should be a reason) Ensures that everything in the specification is justified Excellent for validation by users and customers More accessible than specification Demonstrate the requirements and help stakeholders discover problems Come in all different shapes and sizes From paper prototype of a computerized system to formal executable models/specifications Horizontal, vertical Evolutive, throwaway Important to choose scenarios or use cases for elicitation session Prototyping-based validation steps Choose prototype testers Develop test scenarios Careful planning is required to draw up a set of test scenarios which provide broad coverage of the requirements Users should not just play around with the system as this may never exercise critical system features Execute test scenarios Document problems using a problem reporting tool Same reasoning as for functional test design Has to be done at some point Reveals problems earlier Forces a detailed look at requirements Particularly useful if the application is rich in user interfaces / for usability requirements Typical information in a user manual Description of the functionality How to get out of trouble How to install and get started with the system A group of people read and analyze requirements, look for potential problems, meet to discuss the problems, and agree on a list of action items needed to address these problems A widely used requirements validation technique Lots of evidence of effectiveness of the technique Can be expensive Careful planning and preparation Pre-review checking Need appropriate checklists (must be developed if necessary and maintained) 14  Different types of reviews with varying degrees of formality exist (similar to JAD vs. brainstorming sessions) Reading the document A person other than the author of the document Reading and approval (sign-off) Encourages the reader to be more careful (and responsible) Walkthroughs Informal, often high-level overview Can be led by author/expert to educate others on his/her work Formal inspections Very structured and detailed review, defined roles for participants, preparation is needed, exit conditions are defined E.g., Fagan Inspection Different types of reviews Focused inspections Reviewers have roles, each reviewer looks only for specific types of errors Active reviews Author asks reviewer questions which can only be answered with the help of the document to be reviewed Plan review The review team is selected and a time and place for the review meeting is chosen Distribute documents The requirements document is distributed to the review team members Prepare for review Individual reviewers read the requirements to find conflicts, omissions, inconsistencies, deviations from standards, and other problems Hold review meeting Individual comments and problems are discussed and a set of action items to address the problems is established  Follow-up actions  The chair of the review checks that the agreed action items have been carried out  Revise document  Requirements document is revised to reflect the agreed action items  At this stage, it may be accepted or it may be re-reviewed • Reviews should involve a number of stakeholders drawn from different backgrounds – People from different backgrounds bring different skills and knowledge to the review – Stakeholders feel involved in the RE process and develop an understanding of the needs of other stakeholders – Review team should always involve at least a domain expert and a user  Requirements clarification The requirement may be badly expressed or may have accidentally omitted information which has been collected during requirements elicitation  Missing information Some information is missing from the requirements document  Requirements conflict There is a significant conflict between requirements The stakeholders involved must negotiate to resolve the conflict  Unrealistic requirement The requirement does not appear to be implementable with the technology available or given other constraints on the system Stakeholders must be consulted to decide how to make the requirement more realistic Reviews can be expensive because they involve many people over several hours reading and checking the requirements document We can reduce this cost by asking someone to make a first pass called the pre-review Check the document and look for straightforward problems such as missing requirements (sections), lack of conformance to standards, typographical errors, etc. Reviewer is asked to use the specification Author poses questions for the reviewer to answer that can be answered only by reading the document Author may also ask reviewer to simulate a set of scenarios Essential tool for an effective review process List common problem areas and guide reviewers May include questions an several quality aspects of the document: comprehensibility, redundancy, completeness, ambiguity, consistency, organization, standards compliance, traceability ... There are general checklists and checklists for particular modeling and specification languages Checklists are supposed to be developed and maintained Functional tests at the system level must be developed sooner or later... Designing these tests may reveal errors in the specification (even before designing and building the system) Some software development processes (e.g., agile methods) begin with tests before programming  Test-Driven Development (TDD) Defect testing Tests designed to discover system defects. A successful defect test is one which reveals the presence of defects in a system. Validation testing Intended to show that the software meets its requirements. A successful test is one that shows that a requirements has been properly implemented. Test Planing: Define a software test plan by specifying: a test schedule for a test process, test requirements and items, test strategy and supporting tools Test Design and Specification Conduct software design based well-defined test generation methods. Specify test cases to achieve a targeted test coverage. Test Set up: Testing Tools and Environment Set-up Test Operation and Execution Run test cases manually or automatically Test data: Inputs which have been devised to test the system Test cases: Inputs to test the system and the predicted outputs from these inputs if the system operates according to its specification Example: Test case for Withdrawals on an ATM Validate that a withdrawal of a multiple of $20, between $20-$300 can be done Inp ut No Functional input Expect ed result Actual result Passed/ Failed 1 Enter a withdrawal of a multiple of $20, between $20-$300 Valid 2 Enter withdraw amount <20$ Invalid 3 Enter withdraw amount >300$ Invalid 4 Enter a withdrawal of non-$20 multiples between $20-$300 Invalid 5 Validate that a valid withdrawal amount must be below the account balance Valid 6 Validate that the withdrawal received is equal to the amount requested Valid

Các file đính kèm theo tài liệu này:

  • pdfchapter_6_validation_9312.pdf