zoukankan      html  css  js  c++  java
  • 【软件工程】读《人月神话》有感

      应王建民老师要求,看了《人月神话》,有如下感想:

    书开始就形象有的把软件危机比作:焦油坑 =====史前史中,没有别的场景比巨兽在焦油坑中垂死挣扎的场面更令人震撼。上帝见证着恐龙、猛犸象、剑齿虎在焦油中挣扎。它们挣扎...让我感觉到,软件开发过程中所遇到困难是多么的多,开发多么艰难。

         从 os/360的失败中能总结出很多教训:软件成功的关键并不一定在于他是否拥有多少多么厉害的程序员,正如书中一个很有趣的人月计算方法,10人月可以表示为10个人做一个月,但是和一个人做10个月是不等同的。过多的人参与不一定能够缩短工作的时间,如果参与的人过多,不仅会增加项目的开销,而且,新加入的人要花时间来熟悉项目,这又要花很多时间。做一个软件,关键还要概念完整和有架构师。

      项目的要求一定要切合实际,不能把目标定得太大,以免完成不了,少一些花哨,多一点朴实的真东西。真正开始开发一个软件时候,要做好软件开发的前期工作,真正用来写代码的时间并未占多少,前期的需求分析文档一定要写清楚后面的编码就水到渠成了。代码的算法是固定的,而每个项目的最大差别在于前期的需求分析与文档。

      文档是很重要的,我们在做项目的时候,王建民老师总是跟我们强调文档的重要性,而我们却是不以为然,没有人认真地写文档,然而养成良好的序的习惯对于软件否认后期维护也有帮助。

      团队的分工与合作也很重要,团队之间只有沟通才能将这个系统更加完美的呈现。同一个功能,不同的人做可能有着很大的差异,不同的功能,如果不进行沟通,又怎么能完美的结合在一起?就像我们小组这次的结队开发,交流的就很好,组长总是带着我们去开很多次会议,站立会议和常规例会一次不落,这就确保了项目进度的统计以及大家的交流。

      总之,团队写一个程序,挺难的。要每个环节都落实到位 ,而且要注意结构清晰概念完整才能成功。

  • 相关阅读:
    [译]《Sphinx权威指南》
    sphinx 配置文件全解析
    利用 crontab 來做 Linux 固定排程
    http协议中用于上传多个文件的 multipart 字段
    Python 代码覆盖率统计工具 coverage.py
    Disruptor 基础篇
    NPM:常用命令的生命周期脚本
    十大经典排序算法(动图演示)【转】
    TypeScript Jest 调试
    NPM: 日常开发环境配置
  • 原文地址:https://www.cnblogs.com/liyawen/p/3752896.html
Copyright © 2011-2022 走看看