How to make a perfect dinner? Software Engineering Quality management is the key

Source: Internet
Author: User
Today's IT projects have attracted much attention in software engineering. The quality of software is the focus of public attention, because there is no perfect assessment standard yet. Some people even suggested that the current software development cannot be referred to as "engineering" because it is too immature and there is no mature standard for comparison. Therefore, software projects are prone to failures or errors. A large number of practices prove that the success or failure of Software Engineering Projects is usually caused by management problems (the ability to work collaboratively), rather than technical problems. To make a "perfect" software dinner, the role of quality management is self-evident.

In actual project quality management, quality management always focuses on the quality assurance process and quality control process. These two processes interact with each other and may overlap in actual applications. As described in the introduction, it is difficult to clearly define the quality of software. This article mainly discusses the quality management in software engineering.

  Process for making software "big meal"

The purpose of software quality assurance (SQA) is to verify that appropriate processes and standards are observed during software development. The software quality assurance process generally includes the following activities:

The first step is to establish the SQA group; the second is to select and determine the SQA activity, that is, to select the quality assurance activities to be carried out by the SQA group. These SQA activities will be used as input to the SQA plan; then, develop and maintain the SQA plan, which clarifies the relationship between SQA activities and various stages throughout the software development lifecycle; there are also SQA program, training related personnel, and selecting Quality Assurance tools that are compatible with the entire software engineering environment. Finally, we constantly improve the deficiencies in the quality assurance process, improve the quality assurance process of the project.

The independent SQA group is one of the criteria for measuring the advantages and disadvantages of software development activities. This independence of the SQA group gives it a key right-"Escalation ". When the SQA team finds a product quality crisis, it has the right to report the crisis directly to the higher-level organization of the project team. This undoubtedly serves as a deterrent to the project team. It can also be seen as an incentive to urge the project team to pay attention to the quality of software development. This form solves many problems in the group and improves the quality and efficiency of software development. Its organizational structure 1 is shown below:

The objective of selecting and determining SQA activities is to plan the quality assurance activities required throughout the project development process. The quality assurance activities should be consistent with the development plan and configuration management plan of the entire project. This activity is generally divided into the following five categories:

1) Review software products, tools and facilities

Software products are often referred to as "intangible" products. The review is more difficult. Note that the final software code should not be reviewed during the review, it also reviews software development plans, standards, processes, software requirements, software design, databases, manuals, and test information. Evaluation Software tools are mainly used to ensure that the project team uses appropriate technologies and tools. The purpose of project facilities evaluation is to ensure that the project team has sufficient equipment and resources for software development. This also provides a basis for future planning of software projects, such as device procurement, resource expansion, and resource sharing.

2) software development process for SQA Activity Review

The software development processes reviewed by SQA activities mainly include: software Product Review Process, project plan and tracking process, software requirement analysis process, software design process, software implementation and unit testing process, integration and system testing process, project delivery process, sub-the contractor's control process and configuration management process. In particular, SQA should be given the right to prevent delivery of certain products that do not meet project requirements and standards to ensure software quality.

3) participate in technical and management reviews

The purpose of participating in the technical and management reviews is to ensure that such reviews meet the project requirements and facilitate troubleshooting.

4) Prepare SQA reports

An important part of SQA activities is to report the results of the evaluation of software products or software processes and propose improvement suggestions. SQA should document the evaluation results.

5) perform SQA Measurement

The SQA metric records the time, manpower, and other data spent on SQA activities. Through the accumulation and analysis of a large amount of data, enterprise leaders can have a quantitative understanding of the importance of quality management, which is conducive to the further development of quality management activities.

It should be noted that not every project's quality assurance process must include or be limited to these activities, depending on the specific circumstances of the project.

The SQA plan must clearly define how quality assurance activities are carried out at each stage of software development. It usually includes the following content: quality objectives; Defining the start and end boundaries of each development phase; planning the quality assurance activities to be carried out in detail; defining the responsibilities of quality activities; responsibilities and permissions of SQA; resource requirements of SQA, including personnel, tools and facilities; evaluation performed by SQA; and review organized by SQA; the project standards and processes that the SQA team should refer to during review and inspection; the documents that need to be generated by the SQA group.

Selecting the appropriate SQA tool is not an attempt to ensure the quality of software products by selecting the SQA tool, but to support SQA activities. When selecting the SQA tool, you must first specify the Quality Assurance goal. Develop and document the requirements for selecting the SQA tool based on the target, including requirements for the platform, operating system, and interfaces between the SQA tool and the software engineering platform.

  How to make the white walls "flawless"

It is not always possible to get a perfect "big meal" by working process, because it is difficult to grasp the fire and other factors. What should I do in case of poor understanding? Software Quality Control is mainly to discover and eliminate software product defects. For high-quality software, the final product should reach zero defect as much as possible. Software development is a human-centered activity, so defects are inevitable. Therefore, to deliver a high-quality software, defect elimination activities become very important. Defect elimination is achieved through quality control activities such as "review" and "test.

Defects may be introduced at any stage of software development. The project quality management process involves many processes that can identify and eliminate defects. "Identify defects" and "eliminate defects" are two different processes, but here they are represented by "elimination" for simplicity and unification. The larger the potential defect is, the higher the cost it will spend to eliminate it. Therefore, a mature software development process carries out quality control activities after each stage that may introduce potential defects is completed. These activities to eliminate defects include: Demand review, design review, code lookup, unit testing, integration testing, system testing, and acceptance testing. The process of defect introduction and elimination is as follows:

The task of quality control is to plan feasible quality management activities and correctly execute and control these activities to ensure that the vast majority of defects can be discovered during development.

As mentioned above, defects can be detected during reviews and tests. Review is a human-oriented process, and testing is to run software (or part of software) to detect defects. In a project, review and test activities are pre-planned (the Plan determines which quality control activities are to be performed and when they are to be executed ). These activities are executed according to the predefined process during execution. Identify and eliminate defects by performing these activities. For example, the system testing process generally includes developing a test plan. The test plan should list all test cases during the test execution, review the test plan, and finally execute the test plan.

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.