What determines the quality of software

Source: Internet
Author: User

if someone asks you: what factors do you think affect a software quality? A bunch of features, interfaces, running speed, security, scalability, maintainability, and operability may pop up in your mind: ...... people and wise people have different understandings of software, and the answers are naturally different, it is precisely because of this different understanding of the software that we are focusing on in the implementation process, but also to some extent. focusing on those factors that we think have a greater impact on the quality of the software, and downgrading those factors that he thinks are less important, and those factors that the author does not think have a negative impact on the software, it is impossible for a limited man-month to take care of all aspects of the Software. Since it is reserved, it will naturally give up.

The answer varies depending on people. A product manager who is especially fond of Security may make all its employees pay attention to software security, A project manager who is particularly interested in the interface may allow employees to focus more on the home page (Main Interface) of the Software. On the other hand, a banking system may have high security requirements, however, a karaoke system may have high requirements on ease of operation or interface.

However, if you observe it carefully, you will find an interesting phenomenon: no matter what the system requires for running speed, it will only increase or decrease. there is also a sign that as the pace of life accelerates, various industries require higher software speeds. there is an interesting phenomenon that can be used as evidence of this statement: If a link on a webpage is opened for more than 2 seconds, someone will complain that it is slow. If it is opened for more than 5 seconds, the link will be canceled directly; however, if the webpage must be opened, we will force a refresh many times when it has not been accessed for more than 5 seconds. If it has been refreshed for more than 5 seconds, the browser will be closed and then restarted. we can allow ourselves to wait for our girlfriend for 2 hours, but never allow ourselves to wait for 5 seconds for a webpage.

in fact, this is a very common phenomenon. The pace of life in modern society is accelerating, and people are increasingly demanding on the speed. Some people have made statistics: generally, when we wait for more than five minutes in a restaurant at noon, we will remind the waiter to hurry up. If we wait for more than 10 minutes, we will get up and urge the boss. After a long time, we will see a higher-level scream, ...

you can imagine how miserable these scenarios are: the Ticket sales system has responded more than 0.5 seconds to each ticket seller's operation, and the operating system has opened every folder for more than 1 second; open a webpage for more than 2 seconds ; it takes more than 10 seconds to log on to a system; connect to the database for more than 45 seconds; load a map in more than 1 shard ...... of course, if you start your machine more than two sub-categories each time, you will smoke a cigarette first, while resolving your worries and watching the progress bar continuously and cyclically.

If you understand the architecture of Oracle, you will find that it is always developed around a main line: that is, the speed of data processing. speed is the backbone of the Oracle architecture. whether it is from the storage structure or from the software structure, Oracle has almost always achieved the goal of improving the speed of data processing! Taking the memory structure in the software structure as an example to illustrate how Oracle treats it as the root of life, we know a software Program , You must set the command in the memory first. Code And cache data application, divided into a region, then read it from the disk, placed in the memory, and then can be executed. in this regard, Oracle divides the memory into two zones, one SGA (system global area) and one PGA (Program global area ). SGA is shared by all users. Then, when the accessed data is only in the data file, Oracle reads the data file on the disk and puts it into the data cache, then process the data. If the accessed data is already in the data cache, Oracle will directly use the data in the data cache without reading the data files on the disk, since the READ memory speed is much faster than the read disk speed, this mechanism can improve the overall efficiency of the database. similarly, Oracle does not directly write redo record information to the redo log file on the disk when writing logs, but is first written to the redo log high-speed cache, when the number of redo records in the redo log cache reaches a certain level, the log write process writes the redo logs to the redo log file.

This is only the tip of the iceberg in Oracle's technology for improving data processing speed. In fact, every step of Oracle's operations is always"Memory first and disk later" The reason for this design may be well known.

......

In our ordinary programming, there are many unreasonable phenomena. some people prefer to write all SQL statements on the front-end, rather than exhausting the server and writing a stored procedure; A bunch of website developers have never used any caching technology to develop websites for more than half a lifetime. Some people use JavaScript to implement all functional code by implementing Ajax. I have seen the most amazing programmer who can read all the data in the table at a time and then use only one of them....

.......

The requirements for various factors affecting software quality are changing slowly: The interface requirements are simple and generous, the functions are simple and powerful, and the operation requirements are simple and not cumbersome. ... The only requirement for running speed is not the highest, but higher! It can be said that the importance of factors affecting software quality is " Internalization " ,Customers all want to use the software they have obtained. " Very comfortable " ,At least not torture people! The user does not want to be overwhelmed by the slow and angry speed of the software. He does not want to throw his mouse, knock on his desk, or drop his book because of the speed of the software; users can make the software a little ugly, but never let it be a little slower. " Acute subaccount " ,Wait for a while. G OogleOracle understands this truth, and Microsoft has long understood this truth. ...... In other words, it's not your fault to get ugly, but it's your fault to torture people!

everyone has their own understanding of the Software. When he needs to implement a software, he will tell himself in his mind what the problem should be solved first. there is no denying the importance of other factors. I just think that the speed requirement has risen to a major position in software development and has become the most important factor affecting the quality of software. at the same time, we also remind everyone to consider the speed issue in software development, consider the user's feelings, and achieve true " Human Services " . if you do not understand this truth, you can think about it a little bit. What do you feel when the row speed is not ideal? Did you have the urge to swear?

If the tendon is broken, a pretty muscle will soon become a pile of bad meat-because it is unavailable.

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.