1 / 14

SQA Concept

SQA Concept. Based on D. Galin , and R. Patton . What is Software Quality Assurance?. According to D. Galin Software quality assurance is:

kadeem
Télécharger la présentation

SQA Concept

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. SQA Concept Based on D. Galin , and R. Patton

  2. What is Software Quality Assurance? • According to D. Galin • Software quality assurance is: • A systematic, planned set of actions necessary to provide sufficient assurance that the software development process or the maintenance process of a software system product conforms to established functional technical requirements as well as with the managerial requirements of keeping the schedule and operating within the budgetary confines • According to the IEEE • Software quality assurance is: • 1. A planned and systematic pattern of all actions • necessary to provide sufficient confidence that an item • or product conforms to established technical • requirements. • 2. A set of activities designed to evaluate the process by • which the products are developed or manufactured.

  3. SQA in development • (1) Assuring an acceptable level of confidence that the software will conform to functional technical requirements. A function is described as a set of inputs, the behavior (use case) and outputs . Functional requirements may be calculations, data manipulation and processing and other specific functionality that define what a system is supposed to accomplish Functional requirements are supported by non-functional requirements, which enforce constraints on the design or implementation (such as performance requirements, security, or reliability). Functional requirements are expressed in the form "system must do <requirement>", while non-functional requirements are "system shall be <requirement>". The plan for implementing functional requirements is detailed in the system design. The plan for implementing non-functional requirements is detailed in the system architecture. • (2) Assuring an acceptable level of confidence that the software will conform to managerial scheduling and budgetary requirements.

  4. Logical design • The logical design of a system relates to an abstract representation of the data flows, inputs and outputs of the system • Often conducted via modelling, using an over-abstract (and sometimes graphical) model of the actual system. Logical design includes ER Diagrams

  5. Physical Design • The physical design relate to the actual input and output processes of the system. • In terms of how data is input into a system, how it is verified/authenticated, how it is processed, and how it is displayed as In Physical design, the following requirements about the system are decided. • Input requirement, • Output requirements, • Storage requirements, • Processing Requirements, • System control and backup or recovery.

  6. SQA in maintenance • (1) Assuring an acceptable level of confidence that the software • maintenance activities will conform to the functional • technical requirements. • (2) Assuring an acceptable level of confidence that the software • maintenance activities will conform to managerial • scheduling and budgetary requirements. • The importance of software maintenance • A study by Lientz and Swanson, categorized maintenance activities into four classes: • Adaptive – modifying the system to cope with changes in the software environment (Ex. DBMS, OS) • Perfective – implementing new or changed user requirements which concern functional enhancements to the software • Corrective – diagnosing and fixing errors, possibly ones found by users • Preventive – increasing software maintainability or reliability to prevent problems in the future

  7. General Principles of QA ● Know what you are doing ● Know what you should be doing ● Know how to measure the difference

  8. Three General Principles of QA 1.Know what you are doing – understand what is being built, how it is being built and what it currently does • suppose a software development process with management structure (milestones, scheduling) reporting policies, tracking

  9. Three General Principles of QA 2. Know what you should be doing – having explicit requirements and specifications – presume a software development process with requirements analysis, acceptance tests, frequent user feedback

  10. Three General Principles of QA 3. Know how to measure the difference – having explicit measures comparing what is being done from what should be done Complementary methods: ● formal methods – verify mathematically specified properties ● testing – explicit input to exercise software and check for expected output ● inspections – human examination of requirements, design, code, ... based on checklists

  11. SQA includes ● Verification – are we building the product right ? – performed at the end of a phase to ensure that requirements established during previous phase have been met ● Validation – are we building the right product ? – performed at the end of the development process to ensure compliance with product requirements

  12. REQUIREMENT Verification ARCHITECTING Verification LOW DESIGN Verification CODING Verification

  13. Non Functional requirement • Reliability Requirements • Reliability is to have your system available in the worst possible scenario. To achieve these goals exist redundancy that provides data reliability, and fault tolerance that provides disk reliability. • Portability Requirements • System can be easily and quickly docked to a new specified environment when necessary. • Usability Requirements • Usability involves satisfaction and learnability, because if the common user can not learn naturally what the system can and can not do then he will not use it. • Note : without usability the whole system has no meaning because no one will use it • Efficiency Requirements • It comprises two type: • Space Requirements, it involves the space the system or application could fill in its life, for example the amount of disk space the database will occupy in the first year, or maybe the minimun available memory space need it to correctly perform. • Performance Requirements, it includes the application reponse time, for example some applications would need to have a minimum response time of 0.5 seconds. With this requirement you have to consider how the system will change overtime. • Nietho,J, http://www.jnieto.org/article/product_requirements_in_software_engineering

More Related