Software Engineering Quality What is Quality Quality software

  • Slides: 8
Download presentation
Software Engineering Quality

Software Engineering Quality

What is Quality? • Quality software is software that satisfies a user’s requirements, whether

What is Quality? • Quality software is software that satisfies a user’s requirements, whether that is explicit or implicit. • The software must be well documented, meet the operating standards of the organization, and run effectively on the hardware that it is developed for.

What are the 3 factors to quality? Software Quality Operability Accuracy Efficiency Reliability Security

What are the 3 factors to quality? Software Quality Operability Accuracy Efficiency Reliability Security Timeliness Usability Maintainability Transferability Changeability Code reusability Correctabilty Interoperability Flexibility Portability Testability

Operability • Operability is the basic operation of the system. • Factors that comprise

Operability • Operability is the basic operation of the system. • Factors that comprise operability • Accuracy: The system must be accurate, so it is tested by a system’s test engineer and the user. Accuracy is measured by average time between failures, numbers of bugs per thousands lines of code, and the number of user requests for change. • Efficiency: The performance standard of a system. • Reliability: The sum of Accuracy and Efficiency • Security: How secure the system is, does the system require a password? • Timeliness: The output is delivered in a timely fashion, and the response time satisfies the user’s requirements • Usability: the user’s is able to easily understand the system

Maintainability • Maintainability refers to keeping the system running correctly and up to date

Maintainability • Maintainability refers to keeping the system running correctly and up to date • Factors that comprise maintainability • Changeability: How easy it is to change the system. • Correctability: The average time it takes for the system to recover after it fails. • Flexibility: A system needs to be able to change easily, due to requests from users. • Testability: Measures the ease with which the software can be tested as an operational system.

Transferability • Transferability refers to the ability to easily move data from one platform

Transferability • Transferability refers to the ability to easily move data from one platform to another and to reuse code. • Factors that comprise transferability • Code Reusability: Functions that are written in a system that can be reused in different programs. • Interoperability: Addresses the ability of one system to exchange data with another. • Portability: The ease with which a system can be moved to another hardware environment.

The Quality Circle • There are 6 steps to quality software: quality tools, technical

The Quality Circle • There are 6 steps to quality software: quality tools, technical reviews, formal testing, change controls, standards, and measurements and reporting. Quality tools: computer aided software engineering guides software development through requirements, design, programming and testing into production. Technical Review: Reviews taken at every step of the development process. Formal Testing: Ensures that the program work together as a system and meet the defined requirements Change Controls: To ensure quality, each change should be reviewed and approved by change control board. Measurements: Allows one to see if the quality is good or bad.

Documentation • • For a software package to be used properly and maintained efficiently,

Documentation • • For a software package to be used properly and maintained efficiently, documentation is needed. User Documentation: A manual that shows how the program is run for the user System Documentation: A formal structured record of a software package. Documentation in the Analysis Phase: Information collected should be carefully documented. Documentation in the Design Phase: Tools used in the final copy must be documented. Documentation in the Implementation Phase: There are two phases; General and Function Documentation. General is a general description of the program, while Function is a block of codes. Documentation in the Testing Phase: Developers carefully document the testing phase Documentation as an Ongoing Process: Documentation is always continuous. If a package has problems or is modified, they must be documented.