• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
yunhuasheng's blog
everything that we can't do now ,but future with our endeavor. springfield!
博客园    首页    新随笔    联系   管理    订阅  订阅

软件工作总结

软件工作总结
    最近在网上看到了下文,感觉对经验不是很多的开发人员来说,比较有价值,因此就把它贴过来,希望对新手能够有所帮助.

前阶段开发中存在的问题, 及改进建议(下面提到的问题在任何软件公司都会碰到,所以出现也是很正常,在今天讨论后,建议大家在今后的团队运作中尽量避免)

1、前期需求不明,造成设计时目的不明确,开发时时常会因需求问题而困惑,测试人员也会提出一些需求建议,而由于已经开发完成,所以改动起来比较困难。
 改进办法:需求要完全明确是很难做到,但在局部相对独立功能上应该要尽量明确。如:尽量能明确注册需要哪些信息、每个表单是用什么控件、处于什么范围、列表显示哪些字段、查询需要什么条件有明确的说明,这样可以在后期测试时少掉一半的需求建议或bug。

2、原系统有规范但没有较好的执行,由于团队初成立时,无人严格把控各人的代码规范、文件存放、命名等等都存在着很大的问题,而这造成的结果就是后改代码的时间比前面写代码的时间还要长。
 改进办法:项目组长需要每天都check成员代码,保证每天的代码都是相对规范。

3、设计要慎重,应该要足够的考虑,以及和团队的商议,原系统中有一些数据库表的结构和字段值得商榷,如果前期可以大家讨论一下,也许很多问题可以在后来重构中避免。
 改进办法:没有人能一次就设计出完美的东西,需要及时的沟通,包括与客户的反馈,与其他项目组成员的讨论,这样有助于降低开发时偏离需求的风险。也就是说,在开发之前题,是建立在设计者的想法有客户的确认和开发人员的理解的基础之上。

4、开发时因分工不明确,每个页面可能团队所有的人都有修改,这其实出问题的风险是非常大。事实证明,由于数据库存储过程是专人负责,所以不必要的Bug相对较少的,而UI层的不少问题其实都是后者根本不清楚前者的代码意途所致(必要的注释是起码的习惯,松耦合的code是更好的代码风格)。
 改进办法:数据层、逻辑层、UI层,以及UI的各个功能分工,都需要责任到人。

5、代码中重复代码较多,维护时时常会改了一处Bug,却在另一处出现同样的问题,这显然是重复带来的灾难。
 改进办法:开发时,只要是重复代码,就需要考虑是否可以提炼成为函数,并考虑存放到合适的类中(也包括页面html的重复),严禁简单的Ctrl+C到Ctrl+V,这种避免重复代码的做法看似相对麻烦,其实是可以大大减少维护风险。

6、计划不能按期完成,大致三种原因,1、计划不合理;2、人员没有抓紧;3、因其它计划外的原因造成延误
 改进办法:制订计划项目组长需与相关成员讨论以决定计划完成日期,制订时间需要科学合理,如果明确后,相关成员需要尽量按时完成,若有特殊原因,比如技术难题,计划外的事情耽误等等,需要给出理由。再由组长和成员共同商议解决时间,以保证全局的进度不受影响。

7、早期没有存储过程测试,单元测试,页面测试因需求不明,造成测试人员既是测试者又是需求提出和建议者。
 改进办法:需求制订过程需要测试人员全面参与,达到了解足够充分。测试时针对需求做测试用例,以需求为标准,判断开发是否完成或有否错误。

8、前期页面比较混乱,页面布局、样式比较混乱,到处都有如居中、加粗等html语句、列表显示有5种样式等等,造成后期重构非常麻烦。
 改进办法:美工应该在需求制订完成后就介入,进行页面设计,然后.net的aspx页面需要有专人处理,所有的样式必须全部用css统一完成,表单验证、页面跳转需要在开发前完成(甚至最好可以经过测试),这需要界面设计人员(可能是美工也可能是架构师或界面专人)对需求充分了解。

9、项目计划和管理主要以Email和口头传达,过后无法跟踪,造成时间表不明确,人员工作效率不够高,有时很紧张,有时很轻松。
 改进办法:需有项目管理工具,比如VS 2005 Team System或其它项目管理系统。每个人的工作任务需在其中体现,计划安排和调整,相关负责人,延误备注都需要记录。让开发人员保持一个长期的、恒定的开发速度。

总之,由于早期开发时团队人员不整、需求不明、规范实施不利、计划有误等等原因,造成系统开发出现些了问题,但之后有了一定的时间,所以重构已经取得了不少成效,但所谓磨刀不误砍柴工,前期的准备如果充分一些,对后期的维护就会好很多很多。由于时间关系,前期不可能做非常详细的设计,事实上,即使做了详细设计也可能因需求的变更而效用不大,所以更多的是需要大家写出可维护性、可扩展性和可复用性较好的代码,以便更好的适应变化。

最后,以软件大师Robert C.Martin的名言与大家共勉

个体和交互              胜过     过程和工具
可以工作的软件      胜过    面面俱到的文档
客户合作                  胜过    合同谈判
响应变化                  胜过    遵循计划

虽然右项也具有价值,但我们认为左项具有更大的价值。

 

posted @ 2007-12-26 10:12  yunhuasheng  阅读(3144)  评论(2)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3