概念完整性

?在《人月神话》中,布鲁克斯老先生将维护软件的" 概念完整性" 作为软件开发的核心问题。软件之所以很复杂、难以维护,根本原因就在于软件的概念完整性遭到了破坏,甚至开发团队的成员从来就没有意识到有必要去维护软件的概念完整性,他们并不是一个真正的团队,只是一些自行其事的开发人员,碰巧在一个团队中一起堆代码而已。
代码的质量如果不加以控制,就一定会迅速腐烂变质。这是一个客观规律,就像在热力学第三定律中,熵总是会增加一样。对于软件开发而言," 概念完整性" 就相当于热力学第三定律中的熵,是衡量软件项目混乱程度的重要指标。DDD 就是目前维护软件 项目" 概念完整性" 的最佳良药,虽然永远不可能出现某种银弹式的技术,但是 DDD 能够很好地解决软件开发中的这个核心问题。DDD 与重构技术都有助于改善代码的概念完整性,但是它们有不同的定位。重构是在代码实现层面对抗腐烂变质,而 DDD 是在代码架构设计层面对抗腐烂?.
---DDD Quikly?

时间: 2024-10-12 19:06:23

概念完整性的相关文章

软件系统最重要的一点 - 概念完整性

<人月神话>中Brooks一直非常强调"概念完整性"对于系统的重要性.十年前看这本书的时候总是觉得不懂,是一种说不清,朦朦胧胧的感觉. [转载自http://blog.sina.com.cn/s/blog_a49b04f601017533.html] 定义 概念的完整性,是指针对于一个领域,不仅了解该领域的所有对象,并且了解所有对象之间的关系.比如,小学数学中的四则运算.所有的对象就是指有理数,所有的关系就是由加减乘除四种运算而能够产生另外一个有理数.如果对这样的计算完全了

如何去实现概念完整性

????? 很多问题,一开始你就不知道要干什么?一个模糊的需求介绍,概念是什么都不知道,这时候谈什么完整性,因为概念的完整性?,最核心的是从根需求一直细化到最底层的叶子需求.????? 很多时候,开始你无法得到根的概念,客户也是零零散散的描述,这时候无所谓完整性,把每个小巧"用户故事"一个一个地实现,展示给用户,慢慢地会形成一个模糊的大概需求,这时候对需求的概念开始有了整体化(当然这个阶段可能很长),这时候你总是会觉得这里少什么,那里少什么,有时候踌躇不前,从这里起,就应该对整体的概念

产品质量的核心——概念的完整性

产品质量的核心——概念的完整性 ——读<人月神话>有感 转眼本学期已进入尾声,通过十几周对于“软件工程概论”这门课程的学习,我对软件开发的实现过程也有了一定程度的认识和了解.在此环境下,为了能够更好地理解和学习软件工程项目知识,也为了储备专业知识以应对之后的工作需求,通过查阅我接触到<人月神话>这本书——一本在发行四十年之后仍然继续流行.在软件管理领域堪称经典的著作. <人月神话>的作者Brooks在这本书中总结了自己在IBM公司任职项目经理时的实践经验,他详细地阐述了

架构一、核心概念

架构是系统运行时的高层抽象. 架构是系统设计的一部分.它突出了某些细节,并通过抽象省略掉另外一些细节.所以,架构是设计的一个子集.关注实现系统组件的开发者可能不会特别关心所有组件如何装配在一起,而是关注少数组件的设计和开发,包括他们必须遵守的架构约束和可以应用的规则.开发者和架构师面对的是系统设计的不同方面. 1.架构原则与特性 原则或特性 能够...... 功能多样性 ...提供"足够好"的机制,利用简洁的表达来处理各种问题 概念完整性 ...提供单一的.最优的.无冗余的方式来表示一

人月神话阅读笔记02

贵族专制.民主政治和系统设计 本章主要是围绕着: 1.如何得到概念的完整性. 2.这样的观点是否要有一位杰出的精英,或者说是结构设计师的贵族专制,和一群创造性天分和构思被压制的平民编实现人员? 3.如何避免结构设计师产出无法实现.或者是代价高昂的技术规格说明,使大家陷入困境? 4.如何才能实现与实现人员就技术说明的琐碎细节充分沟通,以确保设计整备正确的理解并精确的整合到产品中? 就第一个问题文章是介绍的编程系统的目的是使计算机更加容易使用.对于功能,能够用最简洁的方式来指明事情的系统是最好的,对

人月神话阅读笔记之三

就目前情况而言,还不错.然而,现在所面临的问题是如何完成5000人年的项目,而不是20或30人年规模的系统.如果整个工作能控制在范围之内,10人的团队无论如何组织,总是比较高效的.但是,当我们需要面对几百人参与的大型任务时,如何应用外科手术团队的概念呢? 扩建过程的成功依赖于这样一个事实,即每个部分的概念完整性得到了彻底的提高——决定设计的人员是原来的七分之一或更少.所以,可以让200人去解决问题,而仅仅需要协调20个人,即那些“外科医生”的思路. 对于协调的问题,还是需要使用分解的技术,这在后

架构之美阅读笔记01

初识架构,什么是架构,架构美在何处?不同领域的设计师对架构的理解大相径庭:软件架构师对一个好的架构的要求诸如对用户友好,响应及时,易维护,没有重大错误,易安装,可靠性高,可通过标准的方式同其他系统通信等等特点.通过进一步深入了解,更加深了对架构和架构之美的了解. "建造的艺术或科学,特别是设计和建造人类使用的建筑时的艺术或实践,同时考虑到美学因素和实用因素."架构是提供一种特定的方式来解决共同的问题,这种方式具有实用性和美学性:架构是美观.坚固.实用三个方面的平衡配合.好的系统架构展示

《软件构架实践》阅读笔记02

第三章讲述了一个构架案例分析,介绍了构架层次上的各种不同结构,即模块分解结构.使用结构和进程结构.这个案例说明了为实现构架的特定目标必须重视构架层次上的各种结构.该案例给我们两条经验:第一,信息隐藏式软件开发中可行的和明智的设计准则,第二,从实现系统质量指标的角度看,认真设计构架层次上的各种结构可以达到事半功倍的效果. 第四章<理解质量属性>,软件需求分析的其中一个任务就是定义软件的质量属性.对用户来说,重要的质量属性包括有效性.高效性.灵活性.安全性.互操作性.可靠性.健壮性和易用性等,对开

《人月神话》读后感

这个学期选择软件冲程这门课我受益匪浅.在这段学习的过程中读完了一本人月神话则是我认为最有价值的经理. 在软件领域中,很少能有像<人月神话>一样具有深远影响力和畅销不衰的著作.作者布鲁克斯被誉为“IBM System/360之父”,他曾是这一系统的项目经理,后来在设计期任360操作系统的项目经理.由于这一工作,他与Bob Evans和Erich Bloch 1985年曾获美国国家技术奖.Brooks博士早期曾担任IBM公司Stretch和Harvest计算机的体系结构设计师.1999年,他还荣获