软件系统设计方案分析.docxVIP

  • 15
  • 0
  • 约1.9万字
  • 约 49页
  • 2020-11-07 发布于天津
  • 举报
软件系统设计方案 分析 第五章系统设计 系统设计是把需求转化为软件系统的最重要的环节。系统设 计的优劣在根本上决定了软件系统的质量。就象” 一切帝国主 义都是纸老虎”那样能够断定”差的系统设计必定产生差的软 件系统。”因此我们要努力保证系统设计”根正苗红” ,把一 切左倾、右倾的设计思潮消灭在萌芽状态。 Windows NT的一位系统设计师拥有 8辆法拉利跑车,让 Microsoft 公司的一些程序员十分眼红。但你只能羡慕而不能 愤恨,因为并不是每个程序员都有本事成为复杂软件系统的设 计师。系统设计要比纯粹的编程困难得多。即便你清楚客户的 需求,却未必知道应该设计什么样的软件系统一一既能挣最多 的钱又能让客户满意。”天下西湖三十六 ,最美是杭州”,千年 前苏东坡大学士对西湖精采绝伦的系统设计 ,使杭州荣升为” 天堂”,让后人只剩下赞叹和破坏的份了。 本章讲述系统设计的四方面内容 :体系结构设计、模块设 计、数据结构与算法设计、用户界面设计。如果将软件系统比 喻为人体,那么: 体系结构就如同人的骨架。如果某个家伙的骨架是猴子 ,那 么无论怎样喂养和美容,这家伙始终都是猴子,不会成为人。 (2) 模块就如同人的器官,具有特定的功能。人体中最出众的模 块设计之一是手,手只有几种动作,却能做无限多的事情。人体 中最糟糕的模块设计之一是嘴巴 ,嘴巴将最有价值但毫无相干 的几种功能如吃饭、说话、亲吻混为一体 ,使之无法并行处理, 真乃人类之不幸。 (3) 数据结构与算法就如同人的血脉和神经 ,它让器官具有生命 并能发挥功能。数据结构与算法分布在体系结构和模块中 ,它 将协调系统的各个功能。人的耳朵和嘴巴虽然是相对独立的器 官,但如果耳朵失聪了 ,嘴巴就只能发出”啊” ”呜”的声音 , 等于丧失了说话的功能 (因此聋子天生就是哑巴 ),可人们却又 能用手势代替说话。人体的数据结构与算法设计真是十分神奇 而且十分可笑。 (4) 用户界面就如同人的外表 ,最容易让人一见钟情或一见恶 心。象人类追求心灵美和外表美那样 ,软件系统也追求(内在的) 功能强大和(外表的)界面友好。但随着生活节奏的加快 ,人们 已少有兴趣去品味深藏不露的内在美。如果把 Unix系统比作 是健壮的汉子和妇人 ,那么 Windows系统就象妩媚的小白脸和 狐狸精。想不到 Windows系统竟然能兴风作浪 ,占去大半市 场。有鉴于此,我们应该鼓励女士多买化妆品 (男士付钱)以获 得更好的界面。 在进行系统设计时,我们要深情地关注软件的质量因素 ,如正 确性与精确性、性能与效率、易用性、可理解性与简法性、可 复用性与可扩充性等等。即使把系统设计做好了 ,也并不意味 着就能产生好的软件系统。在程序设计、测试、维护等环节还 要做大量的工作,无论哪个环节出了差错 ,都会把好事搞砸了。 据说上帝把所有的女士都设计成天使 ,可是天使们在下凡时有 些双脚先着地,有些脸先着地。上帝的这一疏忽让很多女孩伤 透了心。我们在开发软件时 ,一定要吸取这个教训。 体系结构设计 杨叔子院子曾这样指点其弟子 : 文学中有科学,音乐中有数学,漫画中有现代数学的拓扑学。 漫画家能够”几笔”就把一个人画出来 ,不论怎么美化或丑化, 就是活像。为什么 ?因为那”几笔”不是别的 ,而是拓扑学中的 特征不变量,这是事物最本质的东西。 体系结构是软件系统中最本质的东西 : (1)体系结构是对复杂事物的一种抽象。良好的体系结构是普 遍适用的,它能够高效地处理多种多样的个体需求。一提起” 房子”,我们的脑中马上就会出现房子的印象 (而不是地洞的印 象)。”房子”是人们对住宿或办公环境的一种抽象。不论是 办公楼还是民房,同一类建筑物(甚至不同类的建筑物 )之间都 具有非常相似的体系结构和构造方式。如果 13亿中国人民每 个人都要用特别的方式构造奇异的房子 ,那么960万平方公里 的土地将会变得千疮百孔,终日不得安宁。 (2)体系结构在一定的时间内保持稳定。只有在稳定的环境下 , 人们才能干点事情,社会才能发展。科学告诉我们 ,宇宙间万物 无时无刻不在运动、飞行。由于我们的生活环境在地球上保持 相对稳定,以致于我们能够无忧无虑地吃饭和睡觉 ,压根就意识 不到白己是活生生的导弹。软件开发最怕的就是需求变化 , 但”需求会发生变化”是个无法逃避的现实。人们希望在需求 发生变化时,最好只对软件做些皮皮毛毛的修改 ,可千万别改动 软件的体系结构。就如人们对住宿的需求也会变动 ,你能够经 常改变房间的装璜和摆设,但不会在每次变动时都要去折墙、 拆柱、挖地基。如果当需求发生变化时 ,程序员不得不去修改 软件的体系结构,那么这个软件的系统设计是失败的。 良好的体系结构意味着普适、高效和稳定。本节将论述两种 非常通用的软件体系结构:层次结构

文档评论(0)

1亿VIP精品文档

相关文档