It’s been a while that I check my blog email, a piece of content was submitted from an unknown writer. I am going to share the content here. I think SQM has been a forgotten term in 2018, as technology companies are going into matrix organization model and automation within their engineering organization.
So enjoy…
Software Quality Management (SQM) is a process that manages the quality of software in such a way that the product meets the required level of software and ensures that the quality is achieved when it reaches the users and ultimately they are satisfied by its performance.
Quality software refers to the software which meets the requirements and is maintainable with no defect, exactly according to the expectations of the users.
There are three basic components of Software quality management activity;
Software Quality Assurance − Software Quality Assurance (SQA) involves the activities that are focused for the development of a framework of organizational procedures and standards which are intended to ensure that it meets desired quality measures that ultimately result in quality software products. It involves process-focused action.
Software Quality Control − Software Quality Control (SQC) involves the activities that ensure the quality of software products. These activities focus on determining the defects in the actual products produced. It involves product-focused action.
Quality Planning − The selection of appropriate procedures and standards from this framework and adapt for a specific software project.
In the software engineering context, software quality reflects both functional qualities as well as structural quality.
Software Functional Quality reflects how well it satisfies a given design, based on the functional requirements or specifications.
Software Structural Quality deals with the handling of non-functional requirements that support the delivery of the functional requirements, such as robustness or maintainability, and the degree to which the software was produced correctly.
Quality management provides an independent check on the software and software development process. It ensures that project deliverables are consistent with organizational standards and goals.
Software measurement provides a numeric value for some quality attribute of a software product or a software process. Comparison of these numerical values to each other or to standards draws conclusions about the quality of software or software processes. Software product measurements can be used to make general predictions about a software system and identify anomalous software components.
Software metric is a measurement that relates to any quality attributes of the software system or process. It is often impossible to measure external software quality attributes, such as maintainability, understandability, etc., directly. In such cases, the external attribute is related to some internal attribute assuming a relationship between them and the internal attribute is measured to predict the external software characteristic.
Software metrics can be classified into three categories −
Product metrics − Describes the characteristics of the product such as size, complexity, design features, performance, and quality level.
Process metrics − These characteristics can be used to improve the development and maintenance activities of the software.
Project metrics − These metrics describe the project characteristics and execution. Examples include the number of software developers, the staffing pattern over the life cycle of the software, cost, schedule, and productivity.
Some metrics belong to multiple categories. For example, the in-process quality metrics of a project are both process metrics and project metrics.
Software quality metrics are a subset of software metrics that focus on the quality aspects of the product, process, and project. These are more closely associated with the process and product metrics than with project metrics.
The various factors, which influence the software, are termed as software factors. They can be broadly divided into two categories. The first category of the factors is of those that can be measured directly such as the number of logical errors, and the second category clubs those factors which can be measured only indirectly. For example, maintainability but each of the factors is to be measured to check for the content and the quality control.
Software Quality Metrics simply means the measurement of attributes, pertaining to software quality along with its process of development. The term “software quality metrics” illustrate the picture of measuring the software qualities by recording the number of defects or security loopholes present in the software
Software testing metrics – Improves the efficiency and effectiveness of a software testing process.” Software testing metrics or software test measurement is the quantitative indication of extent, capacity, dimension, amount or size of some attribute of a process or product.
Software quality managers require software to be tested before it is released to the market, and they do this using a cyclical process-based quality assessment in order to reveal and fix bugs before release. This testing implies;
The software specification should reflect the characteristics of the product that the customer wants. However, the development organization may also have requirements such as maintainability that is not included in the specification.
Certain software quality attributes such as maintainability, usability, reliability cannot be exactly specified and measured.
At the early stages of the software process, it is very difficult to define a complete software specification. Therefore, although software may conform to its specification, users don’t meet their quality expectations.
So, their job is not only to ensure their software is in good shape for the consumer but also to encourage a culture of quality throughout the enterprise.