- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
系 统 设 计
系统设计是把需求转化为软件系统的最重要的环节。系统设计的优劣在根本上决定
了软件系统的质量。就象“一切帝国主义都是纸老虎”那样可以断定“差的系统设计必
定产生差的软件系统。”所以我们要努力保证系统设计“根正苗红”,把一切左倾、右倾
的设计思潮消灭在萌芽状态。
Windows NT 的一位系统设计师拥有 8 辆法拉利跑车,让 Microsoft 公司的一些程序
员十分眼红。但你只能羡慕而不能愤恨,因为并不是每个程序员都有本事成为复杂软件
系统的设计师。系统设计要比纯粹的编程困难得多。即便你清楚客户的需求,却未必知
道应该设计什么样的软件系统——既能挣最多的钱又能让客户满意。“天下西湖三十六,
最美是杭州”,千年前苏东坡大学士对西湖精采绝伦的系统设计,使杭州荣升为“天堂”,
让后人只剩下赞叹和破坏的份了。
本章讲述系统设计的四方面内容:体系结构设计、模块设计、数据结构与算法设计、
用户界面设计。如果将软件系统比喻为人体,那么:
(1)体系结构就如同人的骨架。如果某个家伙的骨架是猴子,那么无论怎样喂养和美容,
这家伙始终都是猴子,不会成为人。
(2 )模块就如同人的器官,具有特定的功能。人体中最出色的模块设计之一是手,手只
有几种动作,却能做无限多的事情。人体中最糟糕的模块设计之一是嘴巴,嘴巴将最有
价值但毫无相干的几种功能如吃饭、说话、亲吻混为一体,使之无法并行处理,真乃人
类之不幸。
(3 )数据结构与算法就如同人的血脉和神经,它让器官具有生命并能发挥功能。数据结
构与算法分布在体系结构和模块中,它将协调系统的各个功能。人的耳朵和嘴巴虽然是
相对独立的器官,但如果耳朵失聪了,嘴巴就只能发出“啊”“呜”的声音,等于丧失了
说话的功能(所以聋子天生就是哑巴),可人们却又能用手势代替说话。人体的数据结构
与算法设计真是十分神奇并且十分可笑。
(4 )用户界面就如同人的外表,最容易让人一见钟情或一见恶心。象人类追求心灵美和
外表美那样,软件系统也追求(内在的)功能强大和(外表的)界面友好。但随着生活
节奏的加快,人们已少有兴趣去品味深藏不露的内在美。如果把 Unix 系统比作是健壮的
汉子和妇人,那么 Windows 系统就象妩媚的小白脸和狐狸精。想不到 Windows 系统竟
然能兴风作浪,占去大半市场。有鉴于此,我们应该鼓励女士多买化妆品(男士付钱)
以获得更好的界面。
在进行系统设计时,我们要深情地关注软件的质量因素,如正确性与精确性、性能
与效率、易用性、可理解性与简法性、可复用性与可扩充性等等。即使把系统设计做好
了,也并不意味着就能产生好的软件系统。在程序设计、测试、维护等环节还要做大量
的工作,无论哪个环节出了差错,都会把好事搞砸了。据说上帝把所有的女士都设计成
天使,可是天使们在下凡时有些双脚先着地,有些脸先着地。上帝的这一疏忽让很多女
孩伤透了心。我们在开发软件时,一定要吸取这个教训。
5.1 体系结构设计
杨叔子院子曾这样指点其弟子:
文学中有科学,音乐中有数学,漫画中有现代数学的拓扑学。漫画家可以“几笔”
就把一个人画出来,不管怎么美化或丑化,就是活像。为什么?因为那“几笔”不是别
的,而是拓扑学中的特征不变量,这是事物最本质的东西。
体系结构是软件系统中最本质的东西:
(1)体系结构是对复杂事物的一种抽象。良好的体系结构是普遍适用的,它可以高效地
处理多种多样的个体需求。一提起“房子”,我们的脑中马上就会出现房子的印象(而不
是地洞的印象)。“房子”是人们对住宿或办公环境的一种抽象。不论是办公楼还是民房,
同一类建筑物(甚至不同类的建筑物)之间都具有非常相似的体系结构和构造方式。如
果 13 亿中国人民每个人都要用特别的方式构造奇异的房子,那么 960 万平方公里的土地
将会变得千疮百孔,终日不得安宁。
(2 )体系结构在一定的时间内保持稳定。只有在稳定的环境下,人们才能干点事情,社
会才能发展。科学告诉我们,宇宙间万物无时无刻不在运动、飞行。由于我们的生活环
境在地球上保持相对稳定,以致于我们可以无忧无虑地吃饭和睡觉,压根就意识不到自
己是活生生的导弹。软件开发最怕的就是需求变化,但“需求会发生变化”是个无法逃
避的现实。人们希望在需求发生变化时,最好只对软件做些皮皮毛毛的修改,可千万别
改动软件的体系结构。就如人们对住宿的需求也会变动,你可以经常改变房间的装璜和
摆设,但不会在每次变动时都要去折
文档评论(0)