惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

罗磊的独立博客
Recent Announcements
Recent Announcements
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
有赞技术团队
有赞技术团队
J
Java Code Geeks
T
The Blog of Author Tim Ferriss
MyScale Blog
MyScale Blog
人人都是产品经理
人人都是产品经理
aimingoo的专栏
aimingoo的专栏
U
Unit 42
The GitHub Blog
The GitHub Blog
云风的 BLOG
云风的 BLOG
T
Tailwind CSS Blog
H
Hackread – Cybersecurity News, Data Breaches, AI and More
酷 壳 – CoolShell
酷 壳 – CoolShell
博客园 - 三生石上(FineUI控件)
Apple Machine Learning Research
Apple Machine Learning Research
小众软件
小众软件
Hugging Face - Blog
Hugging Face - Blog
博客园 - 司徒正美
腾讯CDC
I
InfoQ
GbyAI
GbyAI
博客园_首页

博客园 - 雪山之巅

[原创][代码]类似IE设置代理服务器那样的数据快速批量操作业务的实现 [原创]Tree控件的异步加载方案的选择建议(C#,ASP.NET 2.0) [原创]大量数据导出为Excel文件的问题解决(C#,ASP.NET) [转载整理]一本java书的序言——开发历程思绪随笔 在.NET中发送邮件,使用回执功能中遇到问题的解决方法[在NOTES服务器上,C#,.NET2.0环境] powerdesigner中生成数据库脚本时出现长度限制问题的解决方法 - 雪山之巅 - 博客园 [转]数据库存储过程中利用extproc调用共享程序库/动态链接库,间接可以实现调用操作系统命令 VS2005无法调试,绑定句柄无效问题的解决方法 部署Excel相关的应用程序过程中遇到“检索COM类工厂中CLSID...”的两个错误的解决方法 [原创][开源]整合梅花雨日历控件,推出.NET版本 [原创]Oracle数据库性能优化的方案[有删节] 两个读取数据库VIew的定义的SQL语句的写法[Oracle /SQL SERVER] [SQL使用经验]选用 IN 还是 EXISTS,哪个性能更好 [笔记]3.软件代码中的BUG问题的一些记录 [笔记]2.软件质量的一些统计数据 [笔记]1.软件的质量特性characteristics of software quality 一个简单的UrlRewrite示例[演示用,写给同事看的,VS2003环境] Oracle中隐式游标和显式游标的教训[同事的经历] VS2003中自定义控件的智能提示解决方案备忘
[笔记]4.软件规模和开发的关系
雪山之巅 · 2006-05-18 · via 博客园 - 雪山之巅

前言:
    对非软件领域的其他领域[比如化工、船舶等等]的工程项目有了解的人,应该都知道:工程规模扩大,其他相应的人力成本,过程计算,工程周期等等并不是线形关系。更经常地,您会发现,有时候小工程和大工程适用的科学理论体系都是不同的。

    依据小工程的经验判断大工程问题是单纯的幻想,那么,软件领域又有哪些值得注意或者有趣的规律呢?

软件规模和沟通交流的关系
    多人项目潜在的交流途径为 N(N-1)/2 个。比如N=10,潜在交流途径则为45个。
    交流的途径越多,消耗的时间也就越多,交流出错的可能性就越大。

    改善途径:
    在可能的情况下,分解项目团队的规模。
    阅读和撰写文档是减少交流次数的有效方法之一。

软件规模和BUG的关系
    软件规模既影响BUG的数量,也影响BUG的类型。
    小的软件项目中,对质量影响最大的是开发者的技能。
    越大的软件项目中,需求和架构的错误对质量的影响逐步加大。但无论多么大型的项目,开发者带来的问题依然超过问题总数的50%以上。

在其他条件都相等的时候,大的软件项目生产率低于小的软件项目

项目大小[代码行] 每人年的代码行数[括号里是cocomo II均值]
 1K 2500 - 25000 [4000]
 10K 2000 - 25000 [3200]
 100K 1000 - 20000 [2600]
 1000K 700 - 10000 [2000]
 10000K 300 - 5000 [1600]

在其他条件都相等的时候,大的软件项目BUG率高于小的软件项目

项目大小[代码行] 典型的BUG密度[千行BUG数]
 < 2000 0-25
2000 - 16000 0-40
16000 - 64000 0.5 - 50
64000 - 512000 2 - 70
 > 512000 4 - 100

放大轻量级的方法论要好过缩小重量级的方法论

随着项目规模的增加,工作量超过线形增长的活动有:
交流
计划
管理
需求分析
系统功能设计
接口设计和规格说明
架构
集成
消除缺陷
系统测试
文档生成

此外,其它活动基本还是线形的。