当前位置:网站首页>General principles of software quality
General principles of software quality
2022-07-28 23:17:00 【Fluttering moth】
There is no free lunch in the world , Even if there is , The taste must not be so good . But software development is far from advanced cooking technology , And the software quality is so different . The general principle of software quality is to improve quality to reduce development costs .
Understanding this principle depends on understanding a key fact that is easy to observe : Improve production efficiency and quality The best way is to reduce the time spent on such code rework , Whether the reworked code is made up of requirements 、 The design change is caused by debugging . The industry average productivity of software products is about per person per day 10 To 50 Line final delivery code ( Include all non coding expenses ).
Knock out 10 To 50 Line of code is just a matter of minutes , So how do you spend the rest of your day ?
This productivity data looks so low , Part of the reason is that this industry average includes the time spent by non programmers “ Number of lines of code per day " In the calculation of . Testers 、 project manager 、 The time of administrative support is included . Non coding work such as requirements development and architecture design , It will also be taken into account in the calculation . But these are not the main reasons why time is so amazing .
One of the largest activities of most projects is debugging and correcting code that doesn't work properly . Debugging and related refactoring or other rework work , In the traditional immature software development cycle, it may consume about 50% Time for . Just avoid introducing errors , You can reduce the debugging time , To increase productivity . therefore , The most obvious way to shorten the development cycle is to improve the quality of products , Total rework time .
More quality assurance work can reduce the error rate , But it will not increase the total cost of development .
IBM A similar conclusion was reached in a study of :
The development plan time of the software project with the least defects is the shortest , And has the highest development productivity , Eliminating software defects is actually the most expensive and time-consuming software work .
This conclusion is also true on the smallest scale .1985 In, someone carried out a study , requirement 166 Professional programmers write programs according to the same specifications , The average program they write is 220 Line code , The average time spent by each person is slightly less than 5 Hours . What is very surprising is , Those programmers who spend less time writing the most mistakes , Those programmers who spend more or less time writing programs contain significantly fewer errors .
With the traditional “ Code test debug " comparison , Advanced software quality plans may be more cost-effective . This plan reallocates the resources invested in debugging and reconfiguration to the early quality assurance work , And the effect of early work on product quality will be more obvious than later work , So put time into the preliminary work , It can save programmers more time in later work .
The final effect of this method is that the software has fewer defects , Shorter development time , Lower cost .
边栏推荐
- Will Qualcomm and MediaTek chips soon be sold, and will they surpass Huawei to become the first in China?
- 歌尔股份与上海泰矽微达成长期合作协议!专用SoC共促TWS耳机发展
- It's settled! All products of Nezha s will be launched on July 31
- pgbench基准测试《postgresql》
- PCA learning
- Yolov5 improvement 15: network lightweight method deep separable convolution
- 1.8tft color screen test code (stm32f407ve)
- A new paradigm of distributed deep learning programming: Global tensor
- Invest 145billion euros! EU 17 countries announce joint development of semiconductor technology
- xshell7,xftp7个人免费版官方下载,无需破解,免激活,下载即可使用
猜你喜欢
TypeError: can‘t convert cuda:0 device type tensor to numpy. Use Tensor. cpu() to copy the tensor to
frontiers出版社投稿记录(附状态变化)
Sdwebimage source code combs 5 author motivation, modifies directory, and changes inheritance relationship
Sqlilabs-3 (entry notes)
cannot resize variables that require grad
[physical application] Wake induced dynamic simulation of underwater floating wind turbine wind field with matlab code
No code development platform management background tutorial
Applet Download Preview PDF, document cannot open solution
6 open source tutorials of super conscience!
Learning experience sharing 4: learning experience of yolov7
随机推荐
一种分布式深度学习编程新范式:Global Tensor
Learning experience sharing 3: yolov5 training data set path index
Failure [INSTALL_FAILED_TEST_ONLY: installPackageLI]
High quality subroutine 2 - high cohesion
[physical application] atmospheric absorption loss with matlab code
定了!哪吒S全系产品将于7月31日上市发售
Improvement 16 of yolov5: replace backbone network C3 with lightweight network pp-lcnet
Wheel 7: TCP client
Introduction to original code, inverse code and complement code
Yolov5 improvement 15: network lightweight method deep separable convolution
MySQL Basics - Introduction and basic instructions
Pgbench benchmark PostgreSQL
pg_ Installation and use of RMAN "PostgreSQL"
Date time functions commonly used in MySQL
Sdwebimage source code comb 4 # introduce several usages of existing code
Submission records of frontiers Publishing House (with status changes)
WebApplicationType#deduceFromClasspath
Will Qualcomm and MediaTek chips soon be sold, and will they surpass Huawei to become the first in China?
Sqlilabs-3 (entry notes)
NVM use... Exit status garbled