zoukankan      html  css  js  c++  java
  • 《人月神话》阅读笔记01

    l  所有的编程人员都是乐观主义者,无论是什么样的程序,结果都是毋庸置疑的:“这次它肯定会运行”或者“我刚刚找出了最后一个错误”。

    这一个观点,在《梦断代码》中也有所提及,那其中讲述的是,程序员对过往错误不在追悔莫及,对于新的项目仍抱有良好的希望。因此,推广到我们的日常学习中,愚认为对于过往逝去的事务不要在叹息,珍惜现在!

    l  推荐的软件任务的进度安排:

    1/3 计划

    1/6 编码

    1/4 构建测试和早期系统测试

    1/4 系统测试,所有的构件以完成

    项目的时间依赖于顺序上的限制,人员的数量依赖于单个子任务的数量。从这两个数值可以推算进度时间表,该表安排的人员较少,花费的时间较长(唯一的风险是产品会过时),相反,分派较多的人手,计划较短的时间,将无法得到可行的进度表。总之,在众多软件项目中,缺乏合理的时间进度是造成项目滞后的最主要原因,它比其他所有因素加起来的影响还要大。

    根据个人经验,最出学习实践中,若没有丰富的经验,很难对项目做出合理的时间安排表,既不能按照功能板块平均分配时间,也不能对于每个程序员预估相同的的工作效率。因此,要想做出合理的时间安排表,离不开丰富的项目经验,更离不开一支默契的项目团队成员工作效率的了解。

    l  对于效率和概念的完整性来说,最好由少数干练的人员来设计和开发;而对于大型系统,则需要大量的人手,以使产品能在时间上满足需求。要想调和这两方面的矛盾,Mills给出了一个建议:大型项目的每一部分由一个团队解决,但是该队伍以类似外科手术的方式组建,而不是一拥而上。也就是说,由一个人来进行问题的分解,其他人给予他所需要的支持,以提高效率和生产力。

    l  在设计人员书写开发文档时,设计实现人员不必坐等文档完成。只要有一些最终将并入外部说明的系统功能雏形时,设计实现人员就可以开始工作了。首先,必须要设定良好定义的时间和空间目标,了解产品运行的平台配置。接着,可以开始设计模块的边界、表结构、算法以及所有的工具 。另外,还需要花费一些时间和体系结构师沟通。

  • 相关阅读:
    ubuntu12.04 死机 卡屏 画面冻结解决方案
    Install Firefox 20 in Ubuntu 13.04, Ubuntu 12.10, Ubuntu 12.04, Linux Mint 14 and Linux Mint 13 by PPA
    ListView1.SelectedItems.Clear()
    android studio 下载地址
    jquery.slider.js jquery幻灯片测试
    jquery.hovermenu.js
    jquery.tab.js选项卡效果
    适配 placeholder,jquery版
    jquery.autoscroll.js jquery自动滚动效果
    将 Google Earth 地图集成到自己的窗体上的 简单控件
  • 原文地址:https://www.cnblogs.com/somedayLi/p/8449582.html
Copyright © 2011-2022 走看看