您的位置:首页 > 其它

【人月神话】读书笔记第四章 贵族专制、民主政治和系统设计

2015-11-27 20:38 627 查看
1、问题

      系统设计中,最重要的考虑因素是什么?

        绝大多数欧洲的大教堂中,不同时代、不同建筑师所建造的各个部分之间,在设计或结构风格上都存在许多差异。后来的建筑师总是试图在原有建筑师的基础上有所“提高”,以反映他们在设计风格上的改变和个人品味上的不同。而法国城市兰斯在建筑风格上的一致性则是鲜明对比,风格的一致性和完整性来自8代拥有自我约束和牺牲精神的建筑师们,他们每一个人牺牲了自己的创意,以获得纯粹的设计。

        设计的一致性和独到之处,同样让人感到赞叹和喜悦。而对于计算机系统而言,绝大多数系统所表现的概念差异和不一致性,远远超过欧洲的大教堂。可是这并不是因为它是由于不同时代的设计师们开发,而是由于设计被分成了由若干人完成的若干任务。

        为了反映一连贯的设计思路,宁可省略一些不规则的特性和改进,也不提倡独立和无法整合的系统,哪怕它们其实包含着许多很好的设计。所以,在系统设计中,最重要的考虑因素是概念的完整性。

2、获得概念上的完整性

   
编程系统软件的目的是使计算机更加容易使用。也就是说,系统的目标是易用性,功能和理解上复杂程度的比值才是系统设计的最终测试标准,单是功能本身或者简洁都无法成为一个好的设计评判标准。

       对于给定级别的功能,能用最简洁和直接的方式来指明事情的系统是最好的,也就是简洁和直白。有的独特的基本概念很简洁,但是需要学习惯用的手法以及在实际工作中进行组合,这就不够直白。

       简洁和直白来自于概念上的完整性。每个部分必须反映相同的原理需求的一致平衡。易用性实际上需要设计的一致性和概念上的完整性。如何获得呢?

     (1)贵族专制和民主政治

       概念上的完整性要求设计必须由一个人,或者非常少数互有默契的人员来实现。对于非常大型的项目,把设计方法、体系结构方面的工作(更偏需求方面)和具体实现相分离是获得概念完整性的强有力方法。

       a)结构师是新贵吗?

        是。因为少数结构师的工作产物的生命周期比实现人员的产物要长,并且结构师一直在解决用户问题,实现用户的核心地位。如果要得到概念上的完整性,那么必须有人控制这些概念。

       b)结构师中的一些智力精英,专门来告诉可怜的实现人员如何工作?创造性都被精英单独占有,实现人员仅仅是机器中的齿轮?

        否。因为具体的设计实现同样是创造性工作,产品的实际成本性能很大程度上依靠实现人员,而易用性在很大程度上依赖结构师。

       c)难道不能遵从民主的理论,从所有员工中搜集好的创意,以得到更好的产品?

        系统的概念完整性决定系统的易用性。实现人员或者用户的确会有新的概念,但是不能与系统基本概念进行整合的良好想法和特色,最好放在一边,不予考虑。如果出现了很多非常重要但不兼容的构想,就应该抛弃原来的设计,对不同的基本概念进行合并,在合并的系统上重新设计。

       d)纪律和规则对行业是有益的。外部的体系结构规定(更多指需求,包括功能和质量属性等等)实际上是增强而不是限制小组的创造性。一旦他们将注意力集中在没有人解决过的问题是,创意就开始奔涌而出。在毫无限制的实现小组中,在进行结构上的决策时,会出现大量的想法和争议,对具体实现的关注反而会比较少。

3、等待时,实现人员该做什么?

    当建议由小型体系结构团队来编写计算机或编程系统的所有外部技术说明时,编程人员提出三个反对意见:

    a)说明中的功能过于繁多,而对实际中的成本考虑比较少。

    b)结构师获得了所有创造发明的快乐,剥夺了实现人员的创造力。

    c)当体系结构的队伍在缓慢工作时,很多实现人员只能空闲的坐着等待。

     第一个问题以后回答。

     第二个问题,实现同样是一项高级的创造性活动,具体实现中创造和发明的机会,并不会因为指定了外部技术说明而大为减少,相反创造性活动会因为规范化而得到增强,整个产品也一样。

     第三个问题,在说明完成的时候,才雇用编程实现人员。整个创造性活动,分为体系结构、设计实现和物理实现。在实际情况中,往往可以同时开始和并发进行。在设计中,一旦设计实现人员有了对手册的模糊设想,对技术有了相对清晰的构思以及拥有了定义适当的成本和目标时,工作就可以开始了

4、结论

    概念完整性的确要求系统只反映唯一的设计理念,用户所见到的技术说明来自少数人的思想。实际工作被划分为体系结构、设计实现和物理实现,但这并不意味着该开发模式下的系统需要更长的时间来创建。经验恰恰相反,整个系统的开发将会更快,所需要的测试时间将会更少。同广泛的水平分割相比,垂直划分从根本上大大减少了劳动量,结果是使交流彻底的简化,概念完整性得到大幅提高。

    
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: