Aristocracy, Democracy, and System Design 读书笔记

贵族专治、民主政治和系统设计


Conceptual Integrity (概念完整性)

Most European cathedrals show differences in plan or architectural style between parts built in different generations by different builders.

欧洲的大多数教堂,由不同时代、不同的建筑师所建造的各个部分之间,在设计或结构风格上都存在着许多差异。

The later builders were tempted to "improve" upon the designs of the earlier ones, to reflect both changes in fashion and differences in individual taste.

后来的建筑师总是试图在原有建筑师的基础上有所“提高”,以反映他们在设计风格和个人品味上的改变。

Against these, the architectural unity of Reims stands in glorious contrast.

与之对应的是,法国城市(Reims)在建筑风格上的一致性和上面所说的大教堂形成了鲜明的对比。

The joy that stirs the beholder comes as much from the integrity of the design as from any particular excellences.

设计的一致性和那些独到之处一样,同样让人们赞叹和喜悦。

Even though they have not taken centuries to build, most programming systems reflect conceptual disunity far worse than that of cathedrals.

对于计算机系统而言,即使他们没有花费几个世纪的时间来构建,但绝大多数的系统体现出的概念差异和不一致性远远超过欧洲的大教堂。

Usually this arises not from a serial succession of master designers, but from the separation of design into many tasks done by many men.

通常这并不是因为它由不同的设计师们开发,而是因为设计被分成了由若干人完成的若干任务。

It is better to have a system omit certain anomalous features and improvements, but to reflect one set of design ideas, than to have one that contains many good but independent and uncoordinated ideas.

也就是说为了反映一系列连贯的设计思路,宁可省略一些不规则的特性和改进,也不提倡独立和无法整合的系统,哪怕他们包含着许多很好的设计



Achieving Conceptual Integrity(获得概念的完整性)

But these facilities are bought at a price: the external description of a programming system is ten to twenty times as large as the external description of the computer system itself.

使用这些工具是有代价的:软件外部描述的规模大小是计算机系统本身说明的十倍。

The user finds it far easier to specify any particular function, but there are far more to choose from, and far more options and formats to remember

用户发现:寻找一个特定功能是很容易的,但相应却有太多的选择,要记住太多的选项和格式。

Ease of use is enhanced only if the time gained in functional specification exceeds the time lost in learning, remembering, and searching manuals.

相比于学习、回忆和搜索目录来说,功能规范节约的时间,可以使易用性得到提高。

With modern programming systems this gain does exceed the cost, but in recent years the ratio of gain to cost seems to have fallen as more and more complex functions have been added.

现在编程系统节省的时间的确超过了花费的时间,但是近年来,随着越来越多的功能增加,收益和成本的比率正逐渐减少。

I am haunted by the memory of the ease of use of the IBM 650, even without an assembler or any other software at all.

而IBM650使用的容易程度总萦绕在我的耳际,即使该系统没有使用汇编和其他任何软件。

Because ease of use is the purpose, this ratio of function to conceptual complexity is the ultimate test of system design.

以易用为目的,功能概念复杂比是系统设计的最终标准。

As soon as ease of use is held up as the criterion, each of these is seen to be unbalanced, reaching for only half of the true goal.

把易用作为标准,单独的功能和易于使用都是不均衡的,都只达到了真正目标的一半。

For a given level of function, however, that system is best in which one can specify things with the most simplicity aiid straightforwardness.

对于给定级别的功能,能用最简洁和直接的方式来指明事情的系统是最好的。

The expression of the things one wants to do often requires involuted and unexpected combinations of the basic facilities.

要表达一件待完成的事情,常常需要对基本元素进行意料不到复杂组合。

implicity and straightforwardness proceed from conceptual integrity.

简洁和直白来自概念的完整性。

Ease of use, then, dictates unity of design, conceptual integrity.

易用需要设计的一致性和概念的完整性。


summary:

程序系统的目的是为了计算机容易使用;

规范功能是非常重要的,可以提高易用性;

功能概念复杂比是系统设计的最终标准;

用最简洁和直接的方式指明事情的系统是最好的;

简洁和直白来自概念的完整性;

易用需要设计的一致性和概念的完整性。



Aristocracy and Democracy(专制和民主)

Conceptual integrity in turn dictates that the design must proceed from one mind, or from a very small number of agreeing resonant minds.

概念的完整性要求设计必须由一个人,或者非常少数互有默契的人员来实现。

Schedule pressures, however, dictate that system building needs many hands.

而进度压力,却需要很多人来开发系统。

The separation of architectural effort from implementation is a very powerful way of getting conceptual integrity on very large projects.

对于非常大型的项目,将设计方法、体系结构方面的工作与具体实现相分离是获得概念完整性的强有力的方法。

By the architecture of a system, I mean the complete and detailed specification of the user interface.

系统的体系结构指的是完整和详细的用户接口说明。

For the entire system it is the union of the manuals the user must consult to do his entire job.

对于整个系统来说,它是用户要完成全部工作所需参考的手册的集合。

Architecture must be carefully distinguished from implementation.

建筑必须严格区别于执行。

Where architecture tells what happens, implementation tells how it is made to happen.

体系结构陈述的是发生了什么,而实现描述的是如何实现。

Likewise any assembler language or job-control language admits of many implementations of the assembler or scheduler.

相类似的,任何汇编语言和任务控制语言都允许有多种编译器或调度程序的实现。

Good features and ideas that do not integrate with a system's basic concepts are best left out.

好的特性和构思不能与系统基本概念良好整合,最好放在一边,不予考虑。

If there appear many such important but incompatible ideas, one scraps the whole system and starts again on an integrated system with different basic concepts.

对于出现许多重要但不兼容的思想,就应该抛弃原来的设计,合并不同的基本理念,在合并后的系统上重新开始。

Similarly, I observe that the external provision of an architecture enhances, not cramps, the creative style of an implementing group.

类似的,我观察到外部的体系结构是增强,而不是限制实现小组的创造性。


总结:

贵族专治 --  程序设计是由少数人来设计;

民主  --  程序设计需集思广义;

概念完整性由少数人来决定;

系统的体系结构指的是完整和详细的用户接口说明;

体系结构陈述的是发生了什么,而实现描述的是如何实现;

不能与系统进行整合的构思,即便非常优秀,也不予考虑;

 建筑师在易用方面比重高 , 实现者在性价比方面比重高;


What Does the Implementer Do While Waiting?(在等待的时候,实现人员可以做些什么呢?)

It is a very humbling experience to make a multimillion-dollar mistake, but it is also very memorable.

几百万元的失误是 非常令人惭愧的,但同时也是让人记忆深刻的教训。

I vividly recall the night we decided how to organize the actual writing of external specifications for OS/360.

当年我们计划和组织编写OS/360的那个夜晚,常常重现在我的脑海。

Furthermore, if the architecture team did it, his 150 men would sit twiddling their thumbs for ten months.

此外,如果由体系结构的团队承担该工作,他的150人只能坐在那个干等10个月,无所事事。

the total creative effort involves three distinct phases: architecture, implementation, and realization.

总的创造性包括三个不同的阶段:体系结构、实现和物理实现。

It turns out that these can in fact be begun in parallel and proceed simultaneously.

在实际情况中,它们往往可以同时开始和并发的进行。


总结:

损失的同时,也会让人记忆深刻;

各司其职,即使其它人闲着也不要去做他不熟悉的事情;

实现同样是一项高级别的创造性活动;

总的创造性包括三个不同的阶段:体系结构、实现和物理实现;

设计和实现可以同时进行;





  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
资源包主要包含以下内容: ASP项目源码:每个资源包中都包含完整的ASP项目源码,这些源码采用了经典的ASP技术开发,结构清晰、注释详细,帮助用户轻松理解整个项目的逻辑和实现方式。通过这些源码,用户可以学习到ASP的基本语法、服务器端脚本编写方法、数据库操作、用户权限管理等关键技术。 数据库设计文件:为了方便用户更好地理解系统的后台逻辑,每个项目中都附带了完整的数据库设计文件。这些文件通常包括数据库结构图、数据表设计文档,以及示例数据SQL脚本。用户可以通过这些文件快速搭建项目所需的数据库环境,并了解各个数据表之间的关系和作用。 详细的开发文档:每个资源包都附有详细的开发文档,文档内容包括项目背景介绍、功能模块说明、系统流程图、用户界面设计以及关键代码解析等。这些文档为用户提供了深入的学习材料,使得即便是从零开始的开发者也能逐步掌握项目开发的全过程。 项目演示与使用指南:为帮助用户更好地理解和使用这些ASP项目,每个资源包中都包含项目的演示文件和使用指南。演示文件通常以视频或图文形式展示项目的主要功能和操作流程,使用指南则详细说明了如何配置开发环境、部署项目以及常见问题的解决方法。 毕业设计参考:对于正在准备毕业设计的学生来说,这些资源包是绝佳的参考材料。每个项目不仅功能完善、结构清晰,还符合常见的毕业设计要求和标准。通过这些项目,学生可以学习到如何从零开始构建一个完整的Web系统,并积累丰富的项目经验。
资源包主要包含以下内容: ASP项目源码:每个资源包中都包含完整的ASP项目源码,这些源码采用了经典的ASP技术开发,结构清晰、注释详细,帮助用户轻松理解整个项目的逻辑和实现方式。通过这些源码,用户可以学习到ASP的基本语法、服务器端脚本编写方法、数据库操作、用户权限管理等关键技术。 数据库设计文件:为了方便用户更好地理解系统的后台逻辑,每个项目中都附带了完整的数据库设计文件。这些文件通常包括数据库结构图、数据表设计文档,以及示例数据SQL脚本。用户可以通过这些文件快速搭建项目所需的数据库环境,并了解各个数据表之间的关系和作用。 详细的开发文档:每个资源包都附有详细的开发文档,文档内容包括项目背景介绍、功能模块说明、系统流程图、用户界面设计以及关键代码解析等。这些文档为用户提供了深入的学习材料,使得即便是从零开始的开发者也能逐步掌握项目开发的全过程。 项目演示与使用指南:为帮助用户更好地理解和使用这些ASP项目,每个资源包中都包含项目的演示文件和使用指南。演示文件通常以视频或图文形式展示项目的主要功能和操作流程,使用指南则详细说明了如何配置开发环境、部署项目以及常见问题的解决方法。 毕业设计参考:对于正在准备毕业设计的学生来说,这些资源包是绝佳的参考材料。每个项目不仅功能完善、结构清晰,还符合常见的毕业设计要求和标准。通过这些项目,学生可以学习到如何从零开始构建一个完整的Web系统,并积累丰富的项目经验。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值