800 likes | 911 Vues
Requirements Validation. Section Four Version: 1.0 Mehr 1383. نگاه اجمال ي. تشر ي ح مفهوم ارز ي اب ي تشخ ي ص ن ي ازها، هدف از انجام آن تع يي ن فاکتورها ي ارز ي اب ي ن ي ازها بررس ي و ي ژگ ي ها ي ارز ي اب ي ن ي ازها بررس ي تکن ي کها ي فرآ ي ند ارز ي اب ي ن ي ازها. مجموعه پرسشها.
E N D
Requirements Validation Section Four Version: 1.0 Mehr 1383 Amirkabir University of Technology, Computer Engineering Faculty, Intelligent Systems Laboratory
نگاه اجمالي • تشريح مفهوم ارزيابي تشخيص نيازها، هدف از انجام آن • تعيين فاکتورهاي ارزيابي نيازها • بررسي ويژگيهاي ارزيابي نيازها • بررسي تکنيکهاي فرآيند ارزيابي نيازها Amirkabir University of Technology, Computer Engineering Faculty, Intelligent Systems Laboratory
مجموعه پرسشها • اعتبارسنجي به چه معني است و با چه هدفي انجام مي شود؟ • چه ويژگيهايي از نيازها در مرحله اعتبارسنجي ارزيابي مي شوند؟ • تکنيکهاي اعتبارسنجي نيازها چيست؟ • چه افرادي در جلسات بازنگري شرکت مي کنند؟ • نقش نمونه سازي در اعتبارسنجي نيازها چيست؟ • نکات حائز اهميت در بازنگري نيازها چيست؟ Amirkabir University of Technology, Computer Engineering Faculty, Intelligent Systems Laboratory
راهنماي مدرس ( اسلايدهاي 5- 10) • مجموعه اسلايدهاي اين قسمت به معرفي کليVerification and Validation مي پردازد. علت نياز به Requirement Validation و سطوح مختلف تست سيستم در اين قسمت مورد بررسي قرار مي گيرد. و هدف از ارزيابي نيازها و فاکتورهايي که در انجام اين فعاليت مطرح هستند مشخص مي شود. Amirkabir University of Technology, Computer Engineering Faculty, Intelligent Systems Laboratory
What is V&V? What • Purpose of V&V is to deliver a product that works properly and performs to customer expectations. • Verification is the process of confirming deliverable hardware and software are in compliance with the functional, performance, and design requirements.(Have we built the system right?) • Validation is the process of providing evidence that a systems meets the needs of the User.(Have we built the right system?) What we are trying to do is to establish confidence in the system, support equipment, test equipment, and people. Amirkabir University of Technology, Computer Engineering Faculty, Intelligent Systems Laboratory
V&V • The definition of V&V encompasses many of the activities that refer as Software Quality Assurance (SQA). • V&V encompasses a wide array of SQA activities that include: • Formal technical reviews • Quality audits • Performance monitoring • Simulation • documentation review • testing Amirkabir University of Technology, Computer Engineering Faculty, Intelligent Systems Laboratory
Different levels testing Acceptance Testing Requirements Validation Testing Design Integration Testing Integration Testing Code Unit Testing Amirkabir University of Technology, Computer Engineering Faculty, Intelligent Systems Laboratory
Requirements validation What • Concerned with demonstrating that the requirements define the system that the customer really wants. (Define the right system) • Pickup any problem before resources are committed to addressing the requirements. • Requirements error costs are high so validation is very important • Fixing a requirements error after delivery may cost up to 100 times the cost of fixing an implementation error Amirkabir University of Technology, Computer Engineering Faculty, Intelligent Systems Laboratory
Phase in Which Requirement is Found Cost Ratio Requirements 1 Design 3-6 Coding 10 Development Testing 15-40 Acceptance Testing 30-70 Operation 40-1000 Why Relative Cost to Fix an Error Amirkabir University of Technology, Computer Engineering Faculty, Intelligent Systems Laboratory
Requirements checking What • Validity. Does the system provide the functions which best support the customer’s needs? • Consistency. Are there any requirements conflicts? • Completeness. Are all functions required by the customer included? • Realism. Can the requirements be implemented given available budget and technology • Verifiability. Can the requirements bechecked? Amirkabir University of Technology, Computer Engineering Faculty, Intelligent Systems Laboratory
راهنماي مدرس ( اسلايدهاي 12-31 ) • در اين قسمت ويژگيهاي نيازهاييک سيستم مشخص مي شوند و به اين موضوع پرداخته مي شود که بررسي نيازهاي سيستم بايد به صورتي انجام گيرد که هر يک از نيازهايي که براييک سيستم تشخيص داده مي شوند همه اين ويژگيها را دارا باشند. • دقت، کامل بودن، وضوح ، قابليت تست، ثبات، ارتباط با يک مشکل مشخص، قابليت تغيير و قابليت پيگيري ويژگيهايي هستند که در اين قسمت براي هر يک از نيازها و فرآيند مستندسازي و تعيين آنها معرفي مي گردند. Amirkabir University of Technology, Computer Engineering Faculty, Intelligent Systems Laboratory
Characteristics of requirements What • Correct • Unambiguous • Complete • Testable • Consistent • Deal only with the problem • Modifiable • Traceable Amirkabir University of Technology, Computer Engineering Faculty, Intelligent Systems Laboratory
Correct When • Each requirement statement accurately represents the functionality required of the system to be built. • Example (of an incorrect requirement): • Problem domain (real life) states that policeman ID numbers are in the range [10000…) and • the requirements document specifies that each policeman has an ID number. Amirkabir University of Technology, Computer Engineering Faculty, Intelligent Systems Laboratory
Characteristics of requirements What • Correct • Unambiguous • Complete • Testable • Consistent • Deal only with the problem • Modifiable • Traceable Amirkabir University of Technology, Computer Engineering Faculty, Intelligent Systems Laboratory
Unambiguous When • The difficulty of ambiguity stems from the use of natural language which in itself is inherently ambiguous. • There is one and only one interpretation for every requirement. • Requirement statements should be short, explicit, precise and clear. • A glossary should be used when a term used in a particular context could have multiple meanings (I.e. “the user”). • Formal requirements languages help reduce ambiguity. Amirkabir University of Technology, Computer Engineering Faculty, Intelligent Systems Laboratory
Unambiguous (cont. ) How • Example of ambiguity • The TVRS shall store changes made in the details of a traffic report as soon as the data is entered. • Disambiguation: • The TVRS shall store changes made in the details of a traffic report if and only all input fields are valid and user approved saving of data Amirkabir University of Technology, Computer Engineering Faculty, Intelligent Systems Laboratory
Characteristics of requirements What • Correct • Unambiguous • Complete • Testable • Consistent • Deal only with the problem • Modifiable • Traceable Amirkabir University of Technology, Computer Engineering Faculty, Intelligent Systems Laboratory
Complete When • A requirements document is complete if it includes all of the significant requirements, relating to • functionality, • performance, • design constraints attributes • external interfaces. • No sections are marked “To be determined” (TBD). • Conforms to the company standards. Amirkabir University of Technology, Computer Engineering Faculty, Intelligent Systems Laboratory
Characteristics of requirements What • Correct • Unambiguous • Complete • Testable • Consistent • Deal only with the problem • Modifiable • Traceable Amirkabir University of Technology, Computer Engineering Faculty, Intelligent Systems Laboratory
Testable When • A requirements document is testable (verifiable) if and only if every requirement statement in it is testable. • A requirement is testable if and only if there is some finite cost-effective way in which a person or machine can check to see if the software product satisfies that requirement. Amirkabir University of Technology, Computer Engineering Faculty, Intelligent Systems Laboratory
Testable (cont.) How • Example of a non-verifiable requirement: • The TVRS shall complete storage of data within a reasonable time of the user confirming a “Save” sequence. • Example of a verifiable requirement: • The TVRS shall complete storage of data within 5 seconds of the user confirming a “Save” sequence, 80% of the time. Amirkabir University of Technology, Computer Engineering Faculty, Intelligent Systems Laboratory
Characteristics of requirements What • Correct • Unambiguous • Complete • Testable • Consistent • Deal only with the problem • Modifiable • Traceable Amirkabir University of Technology, Computer Engineering Faculty, Intelligent Systems Laboratory
Consistent When • Three types of conflicts: • Different terms used for the same object: • F323 and a “Policeman Details Form” might be used to describe the same form. • Characteristics of objects: • In one part of the requirements document: • “A policeman ID shall consist of decimal digits only”, • while in another part • “Incase the policeman ID consists of non-alphanumerical characters, display an error message”. Amirkabir University of Technology, Computer Engineering Faculty, Intelligent Systems Laboratory
Consistent (cont.) When • Logical or temporal faults: “A follows B” in one part, “A and B occur simultaneously” in another. • “TVRS shall support removal of a policeman record from the personal database” vs. “TVRS shall support read-only access to policeman details”. Do clients know what a database is? Amirkabir University of Technology, Computer Engineering Faculty, Intelligent Systems Laboratory
Characteristics of requirements What • Correct • Unambiguous • Complete • Testable • Consistent • Deal only with the problem • Modifiable • Traceable Amirkabir University of Technology, Computer Engineering Faculty, Intelligent Systems Laboratory
Deal only with the problem When • Requirements should state “what” is required at the appropriate system level, not “how”. • In some cases, a requirement may dictate how a task is to be accomplished. • Avoid telling the designer “how” to do this job, instead state “what” has to be accomplished. • Requirements should be understood by the clients as well as the developers. Amirkabir University of Technology, Computer Engineering Faculty, Intelligent Systems Laboratory
Characteristics of requirements What • Correct • Unambiguous • Complete • Testable • Consistent • Deal only with the problem • Modifiable • Traceable Amirkabir University of Technology, Computer Engineering Faculty, Intelligent Systems Laboratory
Modifiable When • A requirements document is modifiable if its structure and style are such that changes can be made easily, completely and consistently: • Easy to use organization – table of contents, index and cross references. • No redundancy – a requirement should not be in more than one place. Amirkabir University of Technology, Computer Engineering Faculty, Intelligent Systems Laboratory
Characteristics of requirements What • Correct • Unambiguous • Complete • Testable • Consistent • Deal only with the problem • Modifiable • Traceable Amirkabir University of Technology, Computer Engineering Faculty, Intelligent Systems Laboratory
Traceable When • Each requirement should be contained in a single, numbered paragraph so that it may be referred to in other documents: • Backward traceability - implies that we know where every requirement exists • Each requirement explicitly references its source in previous documents. • Forward traceability – all documents to follow will be able to reference each requirement. Amirkabir University of Technology, Computer Engineering Faculty, Intelligent Systems Laboratory
Traceable (cont.) How • Example: • 2.1 Functional requirements: • 2.1.1 TVRS initialization: • … • 2.1.15 TVRS shall display the user login window (see section 2.1.2.2) • 2.1.2 TVRS user interfaces: • 2.1.2.1 All user interaction with the TVRS shall occur by means of a graphical user interface. • 2.1.2.2 User login window: • … Amirkabir University of Technology, Computer Engineering Faculty, Intelligent Systems Laboratory
راهنماي مدرس ( اسلايدهاي 33-38 ) • مجموعه اسلايدهاي اين قسمت تکنيکهايي که در فرآيند ارزيابي نيازها مورد استفاده قرار مي گيرد را معرفي مي نمايد. • بازنگري به عنوان يکي از تکنيکهاي ارزيابي در اين قسمت تشريح ميگيردد. زمان انجام بازنگري، شرکت کنندگان در جلسات بازنگري و ويژگيهاي هر يک از آنها و نکاتي که بايد در بازنگري مورد توجه قرار گيرند، در اين قسمت به تفصيل شرح داده مي شود. Amirkabir University of Technology, Computer Engineering Faculty, Intelligent Systems Laboratory
Requirements validation techniques What • Requirements reviews • Prototyping • Acceptance tests • Model Validation and Automated consistency analysis Amirkabir University of Technology, Computer Engineering Faculty, Intelligent Systems Laboratory
Requirements reviews What • Requirements review is a systematic manual analysis of the requirements • Regular reviews should be held while the requirements definition is being formulated • Both client and contractor staff should be involved in reviews • Reviews may be formal (with completed documents) or informal. Amirkabir University of Technology, Computer Engineering Faculty, Intelligent Systems Laboratory
General Guidelines for Review What • Good communications between developers, customers and users can resolve problems at an early stage • Always conduct reviews in a meeting format, although the meeting participants might prepare some reviews on their own. • Continuously check what is produced to make sure the product quality is as high as possible. Checkpoints are provided for this purpose; refer to the checkpoints for each analysis activity. Amirkabir University of Technology, Computer Engineering Faculty, Intelligent Systems Laboratory
Roles in Review Meetings Who • a person has essential knowledge of the business or technology domain and detailed knowledge of the applied facilitation and modeling techniques: • Requirements Reviewer • Requirements Specifier • System Analyst • possibly at milestones such as the beginning or end of a Phase: • Stakeholders - customers and end-users (Where possible) • Change Control Manager (Where reviewing Change Requests) • Test Designer (Optional) • Software Architect (Optional, usually in Inception and Elaboration) • Project Manager (Optional, usually at Phase Start) Amirkabir University of Technology, Computer Engineering Faculty, Intelligent Systems Laboratory
Review checks What • Verifiability. Is the requirement realistically testable? • Comprehensibility. Is the requirement properly understood? • Traceability. Is the origin of the requirement clearly stated? • Adaptability. Can the requirement be changed without a large impact on other requirements? Amirkabir University of Technology, Computer Engineering Faculty, Intelligent Systems Laboratory
RUP Checkpoints: Requirements Attributes What • Has the correct set of requirements attributes been used as specified in the Requirements Management Plan? • Have attributes been set up for each requirement type to account for the following, where applicable, for each requirement? • Tracking status? • Benefit? • Rationale? • Level of effort to implement? • Type and amount of each type of risk involved in implementing? • Schedule risk? • Resource risk? • Technical risk? • Stability of the requirement? • Target release? • Assignment? • Marketing input? • Development input? • Revision history? • Location? • Reasons for change? • Inconclusive requirements? • Have all traceabilities been set up as specified for the project in the Requirements Management Plan? Amirkabir University of Technology, Computer Engineering Faculty, Intelligent Systems Laboratory
راهنماي مدرس ( اسلايدهاي40 -60) • نمونه سازييکي از ابزارهايي است که در ارزيابي تشخيص صحيح نيازهاييک سيستم مورد استفاده قرار مي گيرد. • دراين قسمت به معرفي نمونه سازي، مزايا و معايب آن، روشهاي مختلفي که براي ساخت نمونه ها وجود دارد، ويژگيهاي هر روش، مورد استفاده آن و ابزارهايي که در ساخت نمونه ها به کار مي رود ، پرداخته مي شود. Amirkabir University of Technology, Computer Engineering Faculty, Intelligent Systems Laboratory
Requirements validation techniques What • Requirements reviews • Prototyping • Acceptance tests • Model Validation and Automated consistency analysis Amirkabir University of Technology, Computer Engineering Faculty, Intelligent Systems Laboratory
System prototyping What • Prototyping is the rapid development of a system • Using an executable model of the system to check requirements. • In the past, the developed system was normally thought of as inferior in some way to the required system so further development was required • Now, the boundary between prototyping and normal system development is blurred and many systems are developed using an evolutionary approach Amirkabir University of Technology, Computer Engineering Faculty, Intelligent Systems Laboratory
Uses of system prototypes What • The principal use is to help customers and developers understand the requirements for the system • Requirements elicitation. Users can experiment with a prototype to see how the system supports their work • Requirements validation. The prototype can reveal errors and omissions in the requirements • Prototyping can be considered as a risk reduction activity which reduces requirements risks Amirkabir University of Technology, Computer Engineering Faculty, Intelligent Systems Laboratory
Prototyping benefits Why • Misunderstandings between software users and developers are exposed • Missing services may be detected and confusing services may be identified • A working system is available early in the process • The prototype may serve as a basis for deriving a system specification • The system can support user training and system testing Amirkabir University of Technology, Computer Engineering Faculty, Intelligent Systems Laboratory
Prototyping benefits Why • Improved system usability • Closer match to the system needed • Improved design quality • Improved maintainability • Reduced overall development effort Amirkabir University of Technology, Computer Engineering Faculty, Intelligent Systems Laboratory
Prototyping in the software process What • Evolutionary prototyping • an initial prototype is produced and refined through a number of stages to the final system • Throw-away prototyping • a practical implementation of the system is produced to help discover requirements problems and then discarded. The system is then developed using some other development process Amirkabir University of Technology, Computer Engineering Faculty, Intelligent Systems Laboratory
Prototyping objectives What • Evolutionary prototyping • to deliver a working system to end-users. • The development starts with those requirements which are best understood. • Throw-away prototyping • to validate or derive the system requirements. • The prototyping process starts with those requirements which arepoorly understood Amirkabir University of Technology, Computer Engineering Faculty, Intelligent Systems Laboratory
Evolutionary prototyping What • Must be used for systems where the specification cannot be developed in advance e.g. AI systems and user interface systems • Based on techniques which allow rapid system iterations • Verification is impossible as there is no specification. • Validation means demonstrating the adequacy of the system. Amirkabir University of Technology, Computer Engineering Faculty, Intelligent Systems Laboratory
Evolutionary prototyping What Amirkabir University of Technology, Computer Engineering Faculty, Intelligent Systems Laboratory
Evolutionary prototyping advantages Why • Accelerated delivery of the system • Rapid delivery and deployment are sometimesmore important than functionality or long-term software maintainability • User engagement with the system • Not only is the system more likely to meet user requirements, • they are more likely to commit to the use of the system Amirkabir University of Technology, Computer Engineering Faculty, Intelligent Systems Laboratory
Evolutionary prototyping How • Specification, design and implementation are inter-twined • The system is developed as a series of increments that are delivered to the customer • Techniques for rapid system development are used such as CASE tools and 4GLs • User interfaces are usually developed using a GUI development toolkit Amirkabir University of Technology, Computer Engineering Faculty, Intelligent Systems Laboratory