What are the requirements for software quality?

Source: Internet
Author: User

 

Software has been applied in all aspects of social life, from space vessels, airplanes, missile systems, to televisions, mobile phones, MP3 players, and so on. Software has formed a huge industry, gradually become a relatively mature industry, although it is still different from the traditional industry. Therefore, our dependence on software is also increasing, and we are increasingly unable to accept low-quality software, and even less likely to accept the typical attitude of ignoring quality. Today, we must face the long-standing but not-valued problem-the quality requirements of software.

The demand for quality is absolutely recognized, but the position of quality in the software industry is not very strong. People want to develop quality software to allow users to accept it, but most software companies do not want to produce very high quality products until today, and Software defects can exist, as long as there is no crisis to the effectiveness of the product, as long as it does not cause too many complaints from customers, it will be satisfied. They believe that this will reduce the development efficiency, extend the development cycle, and thus lose the market or reduce the return on investment. is the actual situation true? So what is the role of software quality in the market? How does the market affect software quality?

The influence of market power on software quality is both positive and negative.. If the quality of a software product is very poor and no one is willing to buy it, that is, if there is no customer, the result will be no income. On the contrary, if we waste time, manpower, material resources, and financial resources to build absolutely perfect software, the company's long development cycle and high costs will decide to lose the market opportunity, either it consumes all resources, it is unable to open up the market, do marketing activities, and eventually withdraw from the market. Therefore, people in the software industry should try to find a hard-to-grasp balance point: products should be good enough so that they will not be immediately negated in stages such as evaluation; at the same time, they do not pursue perfection or refinement. Otherwise, they will be unable to achieve their purpose due to time and money.

The software is becoming more and more complex after interviews,The complexity of software is another enemy of software quality (including software reliability )..This complexity causes too many defects in the software. Even if we make a lot of effort, the only way to build a large and satisfactory system is not to be constantly complicated, you must maintain control over complexity. For example, Windows XP contains about million lines of code, which is not understandable or even imagined by someone alone. If you want to maintain control over them, or want to have a little reliability, the only way is to eliminate unnecessary complexity and try your best to keep control of the complexity of the rest. Object-Oriented Methods, object encapsulation technology, modular design, component construction, and so on are all in this direction.

Every day, a person who is building a large system faces a central issue: how to remove unnecessary, man-made, and self-seeking complex parts, and control the remaining and unavoidable complexity, that isRemove unnecessary complexity and have to deal with the inevitable complexity.We can find some tools, such as object-oriented technology and language, to help us deal with the inevitable complexity. For example, in a Windows operating system, if Microsoft had to abandon everything in the past and re-design it, it would certainly not be as complicated as Windows XP, nor would it need line 45 million of code. However, it is from Dos, Windows 3.0/3.1/3.2 to Windows 95/98/NT/2000, step by step development, complexity can be imagined. In addition, as an operating system, both Windows XP, Linux, ibm aix, and Sun Solaris must process Unicode and provide user interfaces for hundreds of languages, it must also be compatible with devices of different models that are difficult to count produced by a large number of manufacturers. In the real world or market competition, we have to face the various requirements imposed on us by the outside world. This inevitable complexity is an objective existence, we must find a solution by optimizing the organization, analyzing hidden information and modularity.

Related Article

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.