Software Engineering Quality
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 MaintainabilityTransferability Accuracy Efficiency Reliability Security Timeliness Usability Changeability Correctabilty Flexibility Testability Code reusability Interoperability Portability
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 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 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 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 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.