- 博客(12)
- 资源 (20)
- 收藏
- 关注
原创 《人月神话》读书笔记(十二)——未雨绸缪,为变更而计划,程序维护的哲学
1、对于大多数项目,第一个开发的系统并不合用。可能太慢、太大,而且难以使用,或者三者兼而有之。要解决所有的问题,除了重新开始以外,没有其他的办法,即开发一个更灵巧或者更好的系统。系统的丢弃和重新设计可以一步完成,也可以一块块地实现。所有大型系统的经验都显示,这是必须完成的步骤;2、一旦认识到实验性的系统必须被构建和丢弃,具有变更思想的重新设计不可避免;3、用户的实际需要和用户感觉,会随着程
2008-09-21 17:07:00 836
原创 《人月神话》读书笔记(十一)——项目经理的基本职责和主要日常工作
1、 在一片文件的汪洋中,少数文档成为了关键的枢纽,每个相关管理的工作都是围绕它们展开的,他们是项目经理的主要工具;2、文档的跟踪维护是项目监督和预警的机制,文档本身可以作为检查列表、状态控制,也可以作为汇报的数据基础。3、软件项目文档的内容:目标。待完成的目标、迫切需要的资源、约束和优先级产品技术说明。进度表。资金预算。工作空间分配。人员组织。4、为什么要
2008-09-21 16:43:00 939
原创 《人月神话》读书笔记(十)——削足适履
1、除了运行时间之外,内存也是程序一个主要开销,特别是系统软件;2、程序的规模不是坏事,但不必要的规模是不可取的,软件开发人员必须设置规模目标,控制规模;3、除了运行时间和内存之外,控制范围硬盘的次数也是很重要的;4、对项目经理而言,规模控制既是技术工作的一部分,也是管理工作的一部分。必须研究用户和他们的应用,以设置将开发系统的规模。接着,把这些系统划分成若干部分,并设定每个部分的规模
2008-09-21 16:17:00 953
原创 《人月神话》读书笔记(九)——胸有成竹,软件项目的时间估算和生产率
1、仅仅通过对编码部分的时间估算,然后乘以其它部分的相对系数,是无法得到整个项目的精确估算的;2、构建小型程序的数据不适和系统型项目;3、程序开发的工作量和复杂度是随程序规模的指数增长(我倒觉得需要加条件,这个和各个子系统之间或组件之间的接口或者说交互的复杂度有关);4、据IBM的数据显示,生产率是系统各个部分交互的函数,在1.5千代码行一人年至10千行代码一人年之间变化。(这个数据也
2008-09-21 16:06:00 1011
原创 《人月神话》读书笔记(八)——关于项目的组织结构
1、项目组织的目标是为了减少必要的交流和协作量;2、为了减少交流,组织结构包括人力资源的划分和限定职责范围;3、传统的树状组织结构反映了权力的组织原理——不允许双重领导;4、组织中的网状结构,是为了进行调整,以克服传统树状结构交流缺乏的困难;5、每个项目或者子项目具有两个领导——产品负责人,技术主管或架构师,这两个职能有很大的区别,需要不同的技能;6、两种角色的任意组合都可以是
2008-09-21 15:27:00 813
原创 《人月神话》读书笔记(七)——为什么巴比伦塔会失败?
1、巴比伦塔项目的失败是因为缺乏交流以及交流的结果——组织。项目人员之间的交流和沟通是项目能否顺利和成功的一个重要因素。2、缺乏交流引起进度灾难、功能的不合理和系统缺陷纷纷出现。随着工作的进行,许多小组慢慢地修改自己程序的功能、规模和速度,他们明确或者隐含地更改了一些有效输入和输出结果用法上的约定,开始出现偏差。3、团队如何进行相互之间的交流沟通:清晰定义小组内部的相互关系和充分利用电
2008-09-21 15:06:00 1427
原创 《人月神话》读书笔记(六)——如何在团队中贯彻执行架构决策
项目经理如何确保每个人听从、理解并实现结构师的决策?对于有多个结构师的小组如何保持系统概念上的完整性。1、手册、或者书面规格说明,是一个非常必要的工具。手册是产品的外部规格说明,它描述和规定了用户所见的每一个细节;同样的,它也是结构师主要的工作产物。手册不但要描述包括所有界面在内的用户可见的一切,它同时还要描述用户看不见的事物。后者是编程实现人员的工作范畴,而实现人员的设计和创造是不应该被限制
2008-09-15 16:36:00 706
原创 《人月神话》读书笔记(五)——架构时如何影响实现人员,如何避免画蛇添足
1、尽早交流和持续沟通能使结构师有较好的成本意识,以及使开发人员获得对设计的信心,并且不会混淆各自的责任分工。2. 面对估算过高的难题,结构师有两个选择:削减设计或者建议成本更低的实现方法--挑战估算的结果。后者是固有的主观感性反应。此时,结构师是在向开发人员的做事方式提出挑战。想要成功,结构师必须牢记是开发人员承担创造性和发明性的实现责任,所以结构师只能建议,而不能支配;时刻准备着
2008-09-15 16:31:00 706
原创 《人月神话》读书笔记(四)——贵族专制、民主政治和系统设计
1、概念完整性是系统设计中最重要的考虑因素;2、功能与理解的复杂程度之间的比值才是系统设计的最终设计目标,而不仅仅是丰富的功能;3、为了获得概念完整性,则设计必须由一个人或者具有共识的小型团队来设计;4、对于大型项目,将概念完整性的设计和具体的实现分离是必要的;5、如果要得到概念完整性,则必须由少数人来控制这些概念;6、纪律和规则对行业是有益的。外部的体系结构的规定实际上是增强
2008-09-15 16:03:00 1077
原创 《人月神话》读书笔记(三)——关于外科手术队伍的启发
1. 对于效率和概念的完整性来说,最好由少数干练的人员来设计和开发,而对于大型系统,则需要大量的人手,以使产品能在时间上满足要求。如何调和这两方面的矛盾呢?2. Mills的建议:外科医生(首席程序员):定义功能和性能技术说明书,设计程序,编制源代码,测试以及书写技术文档。副手:主要作用是作为设计的思考者、讨论者和评估人员。管理员:控制财务、人员、工作地点安排和机器,充当组织中
2008-09-10 23:07:00 1400
原创 《人月神话》读书笔记(二)——对“人月神话”的关键认识
1、缺乏合理的时间进度是造成项目滞后的最主要原因,它比其它所有因素的总和还要大;2、所有的软件的开发人员都是乐观主义者:相信一切都将运作良好!(我以前是一个积极的乐观者,后来发现我估算的工作量成以三比较符合实际)3、由于我们纯粹的思维活动总是期望在实现的过程中必会碰到困难,但实际上思维的过程本身可能是由缺陷的,几乎总是有bug的;4、围绕成本核算技术,混淆了工作量和项目进度,错误的替换
2008-09-10 22:32:00 687
原创 《人月神话》读书笔记(一)——对软件职业的认识
第一章 焦油坑1、系统级的软件产品是构件程序工作量的9倍。将其产品化引起了3倍的工作量,而将构件整合成完整系统所产生的设计和集成、测试又加强了3倍的工作量,而这些高成本的构件在根本上是独立的。2、从事软件行业的乐趣:享受创造事物的快乐;开发对其他人有用的东西的乐趣;编程的过程所体现的令人神魂颠倒的魅力;面对不重复的任务,不断学习的乐趣;纯粹的思维活动的存在、移动和运转方式完全
2008-09-10 22:09:00 784
ClearCase在实际项目中的应用V0.21.ppt
2008-09-11
应用架构设计.ppt
2008-09-11
人脉经营全攻略.doc
2008-08-29
高效组织的生命线-有效沟通.ppt
2008-08-29
开源技术选型手册.pdf
2008-08-27
Enterprise Solution Patterns using Microsoft .NET
2007-06-25
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人