written 6.8 years ago by | modified 2.8 years ago by |
Subject: Software Engineering
Topic: Quality Management
Difficulty: High
written 6.8 years ago by | modified 2.8 years ago by |
Subject: Software Engineering
Topic: Quality Management
Difficulty: High
written 6.7 years ago by |
A software quality is defined as the study of external and internal features of the software. The external quality is defined based on how software performs in real time scenario in operational mode and how useful it is for its users. The internal quality on the other hand focuses on the intrinsic aspects that are dependent on the quality of the code written. The user focuses more on how the software works at the external level, but the quality at external level can be maintained only if the coder has written a meaningful good quality code.
What Is Software Quality Assurance?
Presently there are two important approaches that are used to determine the quality of the software:
Defect Management Approach
Quality Attributes approach
As mentioned before anything that is not in line with the requirement of the client can be considered as a defect. Many times the development team fails to fully understand the requirement of the client which eventually leads to design error. Applied.In defect management, categories of defects are defined based on severity. The number of defects is counted and actions are taken as per the severity defined. Control charts can be created to measure the development process capability.
1. Functionality: can be defined as a complete set of important functions that are provided by the software
Suitability: whether the functions of the software are appropriate
Accurateness: are the functions implemented correctly?
Security: Is the software able to handle data related transaction securely?
2. Reliability: this refers to the capability of software to perform under certain conditions for a defined duration. This also defines the ability of the system to withstand component failure.
Maturity: Frequency of failure of software
Recover-ability: It gives an idea of a system’s ability to get back into full operation after failure.
3. Usability: refers to the ease of use of a function.
Understand-ability: how easily the function can be understood
Learn ability: How much effort the users of different level need to put in to understand the functions.
4. Efficiency: depends on good architecture and coding practices followed while developing software.
5. Portability: Ability of the system to adopt to changes in its environment