锁定老帖子 主题:关于软件工程实施的个人见解
该帖已经被评为新手帖
|
|
---|---|
作者 | 正文 |
发表时间:2007-05-01
最后修改:2009-10-21
写在前面:这篇文章是于2004年作者大三时修读《软件工程》这门课程时的读书笔记,最近在整理资料时翻阅到,虽文字和思想一样青涩,但是仍希望和大家共勉,若有不足和纰漏之处望大家见谅和指出。 其次,软件开发过程实际上是开发团队中各个参与人员活动的并集,起关键因素的是人本身,那么我们就必须了解人的特性。只有我们充分了解之后,我们才能在软件工程的过程中更好的实现开发者之间的交流互动。 第一:人是难以预料的,而且变化无常的,这将影响到软件开发过程中的各个方面。 人是自发冲动的,有时做好事,有时又做坏事,有时候更是好心却做坏事。比如说一个程序员他本身工作情绪不好,可能导致他这一周工作效率地下,编写的代码错误百出,这不仅使得他要加长工作时间,拖延工期,还导致测试人员负担加重,甚至造成整个功能模块不能按预定计划进行组装。再举一个例子,一个人第一周工作3天,下周工作5天,他写出的源代码行数可能是上周的2倍,因为在额外的2天里他全身心投入工作,如果再下周他工作了7天,他写出的源代码可能还达不到第一周的数量,因为他已经筋疲力尽了。 正是由于人与人的不同,所以才有许许多多的开发方法,才有不同的分工。这些事实似乎很多人都了解,但是在具体的软件项目开发过程中却常常忘掉它们:不但制定了软件开发方法和工作方式,还要求所有人都使用同样的方法,做着同样的工作,这就忽略了每个人自身的个性。比如一个程序员他可能更擅长于用OO快速开发工具开发出人机界面,可项目经理却非要他去做底层的逻辑功能模块的开发工作;本来偏爱钻研系统内部结构的程序员,却让他来写需求分析文档。这样的工作安排不仅导致了其工作效率低下,还没做到知人善用,造成了人力资源的极大浪费。 这也正是软件开发过程中要采取迭代开发的原因吧,因为迭代的目的就是让人们难以避免的错误能相对更早的发现并得到纠正。在软件开发过程中,开发人员在评估,需求分析,设计,编码,测试,文档编写的各个环节中都可能出错,管理人员再项目的决策上也可能出现失误,我们必须接受这个事实,并且通过相应的过程或者方法来避免或解决这些错误。犯错并不是最严重的,最重要的是通过犯错后的学习并避免下一次再犯同样的错误,犯两次同样的错误是我们所不能容忍的了。
声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2007-05-01
事在人为。在项目的整个过程中间,人起了主导作用。
|
|
返回顶楼 | |
发表时间:2007-05-05
大家似乎没有什么热情讨论嘛
|
|
返回顶楼 | |
发表时间:2007-05-07
一个概念的提出,最初的目的都是好的...比如古代的各种变法...
可是实施起来确困难重重,阻力重重....软件工程也不例外 "软件工程"这个"概念"出发点是好的... 可是毕竟是外国人提出的....在我们有中国特色的软件行业中实行起来,确实XX重重.... 我认为这和国情有这密不可分的关系.... 我感觉我们国家注重"敏捷开发"....不管多大的项目"敏捷"是第一位的..... 因为不到最后1-3个月,没人会催促你抓紧工作.... 我期望 "中国特色的软件工程规范" 早日到来.... 我们可以吸收"软件工程"的优点....但不能完全认同...否则你的老板会请你喝咖啡 外国的月亮未必比中国的圆.... |
|
返回顶楼 | |
发表时间:2007-05-13
不过敏捷的概念最初也是老外提出来的吧
其实在我公司里面现在实施的就是CMMI3,应该算的上软件工程模式了吧 不过的确“敏捷”对国内的中小软件企业很有用,能提高很多效率 |
|
返回顶楼 | |
浏览 4037 次