关于软件开发管理的一些思考

几个概念 1 项目与产品 项目只是一次性验收,不投入实际的使用,不必过多考虑质量问题 产品要投入市场,质量是其生命,一切必须以质量为首要因素 开发项目跟开发产品是不同的。开发项目,就是要在最少的资源之下,提供给客户一个可以接受的烂货。可以花100万就让客户愿意结案,绝对不要花101万,让客户拥有一个比较好用的系统。越好用的东西越难做,出槌的机率也越高,为什么要这样做呢? 一、 软件工程过程 1 结合v模型和rup,50多天一轮开发,每一轮都有重构, 2 定期做code review和文档检查,以便防范之未然 3 用UML来实现文档,文档内容包括程序设计思路、程序构架要点说明、代码流程;做到所有的事情都有文档记录 4 代码规范,包括命名规范(文件名、变量名、类名、函数名)等 5 坚持做到每一次少提交一点代码。 5.1 每日建造(daily build),持续集成(Continuous Integration) 每修改3个bug,就会出现一下新bug,而每多100行新代码就会多付出1个小时的寻找bug的时间。所以即使是winNT这样的千万行代码的项目也坚持每日建造,不是别的,而是被层出不穷的bug搞怕了。 5.2 build、release、standard build:每一次建造会得到一般版本,这样的版本我们叫build,它只是通过了白盒测试的版本。 Release:最后一个完全通过的build版, Standard:已经符合市场的要求,达到成品标准的时候,你就可以认定它为一个standard,这就是一个真正的产品版。 实际情况往往是多版本同时开发。比如当你有了standard1·0之后,你要维护它,修补bug,于是会不断的推出1·1-1·2之类的版本。而同时你还在开发新的更多功能的2·0版本。 6 重构 7 公司可根据自己的实际需要,开发用于辅助软件项目管理的软件 软件工程师用脚本语言写小工具,优化工作流程,提高工作效率,流行的脚本语言如Perl、BournShell/CShell、Python、TCL/TK 二、 需求管理活动 作为产品,每次升级,所增加的功能是严格定义与管理的,不能用户有要求就加。 若是用户确有合理要求,但比较独特,不适合加入产品中,就要在产品中预留适当的接口,然后在外挂模块中实现。 三、 分析设计活动 1 用UML来实现文档,文档内容包括程序设计思路、程序构架要点说明、代码流程; 四、 编码实施活动 1 版本管理:VSS、CVS 1.1 版本管理工具就是告诉你当前的最新版本是什么,以前某一个时间的版本是什么…… 记录每次集成情况,主要包括测试的版本,代码的版本,建造的时间,产生bug的记录。这些都是可以用工具自动执行的 1.2 一种手工管理版本的方法 每一个源文件更新时规定一定要写更新或修正说明 每一个版本要做一个Label,在Label说明中写上至上一个版本发布以来的新增功能,修正等信息. 在应用中碰到问题无法确定就查看历史版本的更新信息 1.3 借鉴linux的开发进程吧,全世界的程序员都在对他进行维护、管理、升级 2代码规范,包括命名规范(文件名、变量名、类名、函数名)等 五、 测试活动 1 使用自动测试工具,LOADRUNNER,WINRUNNER.等 2 用例复用 推荐图书: 《CVS和Nightly Build技术》,清华大学出版社,杨锦方等编著 Refactoring: Improving the Design of Existing Code Addison Wesley
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值