人月神话-贵族专制和民主政治

来源:互联网 发布:淘宝api获取商品详情 编辑:程序博客网 时间:2024/04/27 23:01
这章开头以教堂来说明概念完整性,所以先学习下法国兰斯大教堂:

人月神话-贵族专制和民主政治

这是一座从公元13世纪便动手修建的教堂。在其3段式构造的教堂正面,高高矗立着2座左右对称的尖塔。每当夕阳西下时,整座教堂便沐浴在金黄色的光辉之中。遍布教堂外墙的花纹及雕像也非常美丽动人。特别是正面中央大门右侧的四尊立像,更是哥特式建筑鼎盛时期的杰作。此外,仍然是正面部分的作品《微笑的天使》、《玛丽亚的侍从》、《圣约瑟夫》等,也全都是优秀作品。由于建筑的平面图是经过严格计算过的,所以,达到了近乎完美无瑕的左右对称。

奥古斯特·罗丹面对兰斯大教堂曾经发出这样的赞叹:“浮士德想必配得上得到住在这座杰作的门内、房里、窗前、影中的特许;这一杰作的壮丽使这条街、这座城市、这个国家更加完美。”

在这个章里面一个最重要的关键词就是概念完整性,不论你软件项目规模的大小都,不论你采取的软件生命周期方法论,我们都不要忽视了总体架构设计这个过程,而总体设计的一个重点就是概念完整性。概念完整性是系统设计首要考虑的内容,为了反映一系列连贯的设计思路,宁可省略一些不规则的特性和改进,也不提倡独立和无法整合的系统,哪怕它们其实包含着许多很好的设计。

如何保证概念完整性,首先提到的就是系统设计要掌握到一个人少数已经互有默契的人员来实现。举个简单的例子如做网页设计,某一个人的设计可能配色和风格并不是最好,但是由于是一个人他可以保持整个系统和页面风格的统一,这比多个人设计搞的五花八门要好的多。

在现在软件系统的易用性越来越成为我们关注的内容,对于给定级别的功能,能用最简洁和直接的方式来指明事情的系统是最好的。而简单和直白正来自于概念完整性,这让我们对概念完整性进行了拓展,一个是涉及到功能和非功能性需求的系统架构设计,一个是涉及到用户交互和界面的交互设计,这两方面都是概念完整性的内容,随着专业化的分工,这两方面概念完整性的保证往往要分配到两个独立的角色来完成即:架构设计工程师和交互设计工程师,因此这两个人之间的沟通和协作就显得更加重要了。

总体架构设计的重点就是理清楚整个系统的骨架和体系结构,架构设计是从实际的需求到抽象的实现之间重要的衔接。体系结构描述的是发生了什么,而实现描述的是如何实现。

贵族专制和民主政治并不是否定民主和大家共同的智慧的力量,而是最终的合并和统一决策全力要高度统一,团队成员有的创意和意见仍然可以积极的反馈。但是系统架构师必须要注意到,他是为整个系统负责,而不是对系统的某个独立的功能模块负责,我们需要的不是头脑发达却四肢不健全的人,这是让大家无法满意的。因此不能和系统的基本概念进行整合的想法和创意,都必须暂时放在一边。

为了解决在需求和架构阶段,大量编码人员的等待问题,我们现在已经很少采用真正意义上的瀑布模型,而是采用增量和迭代开发的生命周期模型。对于传统的大型软件项目和外包项目,它们完全可以在完成了所有的需求和架构设计后在开始编码的外包或者雇佣相应的编码人员,但是对于周期较短的中小型项目,人力资源始终是在项目内的。为了解决这个问题在前期需求和架构阶段,我们可以提前开始一些相关技术预研和公用组件的开发,提前进行业务的熟悉;但是为了真正的解决项目人力资源的有效使用的问题,我们往往引入了多个项目进行多项目管理,各个项目的各个生命周期阶段往往错开,A项目的在需求阶段的时候往往B项目正处于开发阶段,这样往往才能够真正的达到项目人力资源的充分使用和提高绩效。

最后对本章做一个总结:
  1. 概念完整性是系统设计中最重要的考虑因素
  2. 为了获得概念完整性,设计必须由一个人或者具有共识的小型团队来完成
  3. 无论项目实际规模的大小都必须要考虑概念完整性的高度统一
  4. 纪律、规则对行业是有益的
  5. 概念上统一的系统能更快地开发和测试。
  6. 体系结构、设计实现、物理实现的许多工作可以并发进行
原创粉丝点击