1 / 43

Quality Assurance in requirements engineering

Quality Assurance in requirements engineering. Group Members:. Requirements engineering is the initial part of a software development process, and all later steps of the development are influenced by the requirements.

boris
Download Presentation

Quality Assurance in requirements engineering

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Quality Assurance in requirements engineering “Computers are useless. They can only give you answers. “

  2. Group Members: “Computers are useless.  They can only give you answers.”

  3. Requirements engineering is the initial part of a software development process, and all later steps of the development are influenced by the requirements. “Good code is its own best documentation.”

  4. An issue that originates in the requirements runs the risk of affecting not only other requirements but also later phases and can cause follow-up defects in architecture, design, coding and testing. “Any fool can use a computer.  Many do.”

  5. If the quality assurance is only performed in the test and maintenance phase???? “First, solve the problem. Then, write the code.”

  6. Quality is hard to define as it is a complex concept. “The best thing about a boolean is even if you are wrong, you are only off by a bit.”

  7. quality is considered as something that we always strive for as an ideal but we will never be able to implement this ideal. The goal of this viewpoint is to express the complexity of the concept quality in general. “C++ : Where friends have access to your private members.”

  8. FaheemArslan BSSE PUCIT

  9. Quality attributes for requirements • Correctness (IEEE, user-view) • Unambiguity (IEEE, product-view) • Completeness (IEEE, product-view) • Consistency (IEEE, product, manufacturing view ) • Ranked for Importance / Stability (IEEE, product, value-based, user view) • Verifiability (IEEE, product view) • Modifiable (IEEE, product view) • Traceable (IEEE, manufacturing view) • Comprehensibility (New, manufacturing, user, value-based view) • Feasibility (New, value-based, product view) • Right Level of Detail (New, user, manufacturing, value-based view) “To err is human, but to really foul things up you need a computer.”

  10. “There is no reason for any individual to have a computer in his home.”

  11. Requirement Quality Strategy "If the mind really is the finest computer, then there are a lot of people out there who need to be rebooted."

  12. Quality Strategy Definition • A quality strategy defines how, when and where different QA approaches, in combination with other approaches in the software development process, are used to assure high quality. “Measuring programming progress by lines of code is like measuring aircraft building progress by weight.”

  13. There are five context elements relevant for QA strategies: “Before software can be reusable it first has to be usable.”

  14. The five context elements relevant for QA strategies: • 1. High Quality Requirements • 2. Available Resources • 3. Risks • 4. Time Schedule • 5. Organizational Aspect There are 10 kinds of people in the world, those who can read binary and those who cannot.

  15. Technical Aspects of Quality Strategy • Beside the context in which the quality strategy is embedded, it is also important to consider technical aspects of quality assurance “Software and cathedrals are much the same – first we build them, then we pray.”

  16. 1. Basic QA Strategies • The basic strategies represent those strategies in place in a company or a project that define how to perform QA in the requirements phase. In that sense they represent the current state of the practice in a certain context. Due to the lack of sophisticated quality strategies, ad-hoc approaches are most frequently applied. “It’s not broken… it just doesn’t work.”

  17. 2. Coverage Criteria • The coverage criteria define which aspects of the requirements should be covered by the QA approach. One example of a coverage criterion is that all requirements are covered by at least one test case “But it works on my machine!”

  18. 3. Quality Assurance Technical Ques • The most important element of a requirements quality strategy is the potential quality assurance approaches and methods that can be used to ensure the different quality characteristics of the requirements. • The QA approaches are the technical core element of the quality strategy as they represent the means of achieving good requirements quality. “People in the computer industry use the word “user”, which to them means “idiot”. ”

  19. MohsinMalik BSSE PUCIT

  20. Excerpt of quality assurance approaches Press any key to continue? Where’s the Any key?

  21. Excerpt of quality assurance approaches • It specifies which elements are important to consider when talking about quality assurance in the requirements engineering phase. It is important that all these elements are considered in the specific context of a specific company and have to be instantiated accordingly. Software is not complete..until the last user is dead…

  22. Quality Assurance Approaches For Requirements Quality Assurance Approaches For Requirements are divided into two classes: • Constructive Approaches • Analytical Approaches It’s not a bug, it’s a feature.

  23. Constructive Approaches • Constructive approaches ensure that mistakes are minimized during the creation of a work product (e.g. the requirements specification). That is, they prevent issues from being introduced. • Constructive approaches are divided into: • Elicitation Techniques • Specification Techniques • Prototyping “Software is either testable or detestable.”

  24. Analytical approaches • Analytical approaches are performed on the completed artifact or a self contained part of it with the aim to detect issues. • Analytical approaches are divided into: • Dynamic Techniques • Static Techniques "The computers do what you tell them to do, not what you want them to do. "

  25. QA in the analysis & QA in the Validation • QA in the analysis phase means that requirements issues are prevented from being introduced (i.e. during elicitation) with the help of constructive approaches omissions. • The validation process of requirements is based on a requirements document and tries to resolve issues within this document. Here, the analytical approaches are applied. "Changes in software design will eventually mean "one step forward, two steps back". It is inevitable."

  26. Advantages of Constructive Approaches • Constructive approaches ensure quality during the creation of the requirements. • Constructive approaches are preventive, as they aim to minimize mistakes from being made. • These approaches are called constructive as they are applied while developing the requirements. "Time is so short, you can't make a debug..."

  27. MASOOD UL HASSAN BSSE PUCIT

  28. Quality Assurance in Requirements Engineering???

  29. Constructive Approach

  30. Constructive Approaches for Quality Assurance of requirements Engineering • Elicitation Techniques • Specification Techniques • Prototyping “It costs a lot to build bad products.”:

  31. Elicitation

  32. Elicitation Techniques The elicitation step is important to the overall quality of the requirements and the acceptance of the final system. During the elicitation step, requirements are captured from various sources, such as the customer, the users, earlier projects, market studies etc. In this process, various stakeholders such as the customers, the technical staff (developers), and end users work together to derive an appropriate set of requirements. Requirements engineers can apply different techniques to support the various stakeholders in discovering the requirements, e.g. interviews, questionnaires, workshops and focus groups. “Quality is never an accident; it is always the result of intelligent effort.”

  33. By means of elicitation techniques, the following quality attributes can be ensured: • Comprehensibility By developing a common terminology and ensuring that the different stakeholders speak the same language, comprehensibility is improved. • Completeness If the elicitation is performed correctly, all the (relevant) stake-holders, and their individual stakes, should be identified. • Verifiability and feasibility Again, by involving the relevant stakeholders, quality can be assured. • Correctness The elicitation process should be driven by the business concerns. There can be no economy where there is no efficiency.

  34. Specification Techniques The main objective of the specification step is to document the requirement. Usually, the output of the specification activity is a requirements document that captures the relevant aspect of the system to be built (i.e. functional, non-functional aspects, restrictions, etc.). In the section it is outlined how certain specification techniques, best practices and standards can help to ensure the quality of the requirements. Standards, such as IEEE 830-1998 and IEEE 1233-1998 describe which elements a “good” requirements specification should have and which quality attributes the requirements should fulfill.

  35. Specification Techniques “Quality means doing it right when no one is looking.”

  36. With respect to the quality characteristics defined, standards and templates contribute to better requirements in the following way: • Completeness. In the case that the requirement engineers adhere to the recommendations in the standards and apply the pre-defined templates it can be ensured that all relevant aspects of a requirements document are considered, i.e. completeness of the document. • Understandability and modifiability. The structure provided by templates and standards ensures that requirements document look similar over different projects in a company. Standardization of requirements documents prevents ambiguities within the documents and improves the understandability as well as the modifiability, as elements that need to be changed can be found more easily. “The best ad is a good product.”

  37. Prototyping Another constructive approach that can be used to support elicitation is prototyping. A prototype is an executable version of the system under development, though restricted in one way or another. “Quality is everyone’s responsibility.”

  38. For example A user interface prototype implements parts of the user interface, the structure and navigation, but will not have all the functionality, while a performance prototype focuses on memory and CPU load and might have no user interface at all. “Do not tell me how hard you work. Tell me how much you get done.”

  39. Goal of Prototyping The goal of a prototype is for the stakeholders to be able to try the system and make improvement suggestions . By doing this, they get a better feeling of whether the system represents what they required, and thus it helps to identify missing requirements and detect misconceptions “I don’t care if it works on your machine!  We are not shipping your machine!”

  40. A prototype typically target the following quality attributes: • Inconsistencies and incompleteness. The process of developing a prototype will, in it self, reveals inconsistencies and incompleteness of the requirements and thus improves their quality. • Correctness. Correctness is improved by letting the different stakeholders work with and evaluate a concrete object rather than the abstract requirements. • Feasibility. A lot of time and money can be saved if dead-ends are detected at an early stage. It is easier to confess a defect than to claim a quality.

  41. "Keyboard not found. Press < F1 > to RESUME. "

  42. Any Question Thanks Software is not complete..until the last user is dead…

More Related