Software Engineering Quality What is Quality? Quality software is software that satisfies a user’s...

8
Software Engineering Quality

Transcript of Software Engineering Quality What is Quality? Quality software is software that satisfies a user’s...

Page 1: Software Engineering Quality What is Quality? Quality software is software that satisfies a user’s requirements, whether that is explicit or implicit.

Software Engineering

Quality

Page 2: Software Engineering Quality What is Quality? Quality software is software that satisfies a user’s requirements, whether that is explicit or implicit.

What is 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.

Page 3: Software Engineering Quality What is Quality? Quality software is software that satisfies a user’s requirements, whether that is explicit or implicit.

What are the 3 factors to quality?What are the 3 factors to quality?

Software Quality

Operability Maintainability Transferability

Accuracy

Efficiency

Reliability

Security

Timeliness

Usability

Changeability

Correctabilty

Flexibility

Testability

Code reusability

Interoperability

Portability

Page 4: Software Engineering Quality What is Quality? Quality software is software that satisfies a user’s requirements, whether that is explicit or implicit.

OperabilityOperability

• 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

Page 5: Software Engineering Quality What is Quality? Quality software is software that satisfies a user’s requirements, whether that is explicit or implicit.

MaintainabilityMaintainability

• 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.

Page 6: Software Engineering Quality What is Quality? Quality software is software that satisfies a user’s requirements, whether that is explicit or implicit.

TransferabilityTransferability

• 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.

Page 7: Software Engineering Quality What is Quality? Quality software is software that satisfies a user’s requirements, whether that is explicit or implicit.

The Quality CircleThe 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 requirementsChange 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.

Page 8: Software Engineering Quality What is Quality? Quality software is software that satisfies a user’s requirements, whether that is explicit or implicit.

DocumentationDocumentation

• 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.