版权声明 本站原创文章 由 萌叔 发表
转载请注明 萌叔 | https://vearne.cc
- 人月神话的说明,为落后项目增加人手,会导致额外的任务分配开销,协作开发的沟通成本。新分配的人员还需要重新熟悉项目。这就像5核CPU,并不能是5倍的单核CPU的性能。(资源竞争,互斥等等引起的)
- 同样有2年经验且受同样培训的情况下,优秀的专业程序员可以是较差程序员的10倍。
- 概念完整性是系统设计中最重要的考虑因素。要形成整个系统的概念完整性,就必须实施贵族式的专制。设计工作职能由一个或者具有共识的小型团队来完成
- 功能数量和理解上的复杂程度的比值可以作为衡量系统易用性的一种指标
- 对于大型项目,系统结构设计和具体实现相分离是获得概念完整性的强有力的方法。系统结构设计可以理解为,定义不同功能模块的职责划分,模块之间的接口规范。系统结构设计是针对系统的高度抽象,有点像java中的中的接口和实现类。(比如,只定义,这里需要一个数据库,至于数据库的选型,可以在实现阶段再考虑
- 牢记开发人员承担创造性的实现责任,架构师只能提出建议
- 团队组织的目标是为了减少必要的交流和协作量
- 传统的树状组织反映了权力的结构原理--不允许双重领导
- 在大型团队中,各个小组倾向于不断的局部化,以满足自己的目标,而较少考虑对用户的整体影响。这种方向性的问题是大型项目的主要危险
- 从系统整体出发以及面向用户的态度是软件编程管理人员最重要的职能。
- 构建独立小型程序的数据(开发时间)不适用大型系统项目。程序开发时间随程序规模的增长,呈指数增长。一般为指数约为1.5,大量时间消耗在集成测试中。
- 从文档层面来讲,我倾向于同时有设计文档和用户使用文档
设计文档针对开发人员,用户使用文档针对用户(客户)
最好的方式是,在代码中嵌入注释,然后自动生成文档