没有合适的资源?快使用搜索试试~ 我知道了~
软件系统设计方案分析.pdf
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 144 浏览量
2023-10-20
22:19:18
上传
评论
收藏 2.47MB PDF 举报
温馨提示
试读
47页
软件系统设计方案分析.pdf
资源推荐
资源详情
资源评论
欢迎阅读本文档,希望本文档能对您有所帮助!
欢迎阅读本文档,希望本文档能对您有所帮助!
第五章 系 统 设 计
系统设计是把需求转化为软件系统的最重要的环节。系
统设计的优劣在根本上决定了软件系统的质量。就象“一
切帝国主义都是纸老虎”那样可以断定“差的系统设计必
定产生差的软件系统。”所以我们要努力保证系统设计“根
正苗红”,把一切左倾、右倾的设计思潮消灭在萌芽状态。
Windows NT 的一位系统设计师拥有 8 辆法拉利跑车,
让 Microsoft 公司的一些程序员十分眼红。但你只能羡慕而
不能愤恨,因为并不是每个程序员都有本事成为复杂软件
系统的设计师。系统设计要比纯粹的编程困难得多。即便
你清楚客户的需求,却未必知道应该设计什么样的软件系
统——既能挣最多的钱又能让客户满意。“天下西湖三十六,
最美是杭州”,千年前苏东坡大学士对西湖精采绝伦的系统
设计,使杭州荣升为“天堂”,让后人只剩下赞叹和破坏的
份了。
本章讲述系统设计的四方面内容:体系结构设计、模块
设计、数据结构与算法设计、用户界面设计。如果将软件
系统比喻为人体,那么:
欢迎阅读本文档,希望本文档能对您有所帮助!
欢迎阅读本文档,希望本文档能对您有所帮助!
(1)体系结构就如同人的骨架。如果某个家伙的骨架是猴
子,那么无论怎样喂养和美容,这家伙始终都是猴子,不
会成为人。
(2)模块就如同人的器官,具有特定的功能。人体中最出
色的模块设计之一是手,手只有几种动作,却能做无限多
的事情。人体中最糟糕的模块设计之一是嘴巴,嘴巴将最
有价值但毫无相干的几种功能如吃饭、说话、亲吻混为一
体,使之无法并行处理,真乃人类之不幸。
(3)数据结构与算法就如同人的血脉和神经,它让器官具
有生命并能发挥功能。数据结构与算法分布在体系结构和
模块中,它将协调系统的各个功能。人的耳朵和嘴巴虽然
是相对独立的器官,但如果耳朵失聪了,嘴巴就只能发出
“啊”“呜”的声音,等于丧失了说话的功能(所以聋子天
生就是哑巴),可人们却又能用手势代替说话。人体的数据
结构与算法设计真是十分神奇并且十分可笑。
(4)用户界面就如同人的外表,最容易让人一见钟情或一
见恶心。象人类追求心灵美和外表美那样,软件系统也追
求(内在的)功能强大和(外表的)界面友好。但随着生
活节奏的加快,人们已少有兴趣去品味深藏不露的内在美。
如果把 Unix 系统比作是健壮的汉子和妇人,那么 Windows
欢迎阅读本文档,希望本文档能对您有所帮助!
欢迎阅读本文档,希望本文档能对您有所帮助!
系统就象妩媚的小白脸和狐狸精。想不到 Windows 系统竟
然能兴风作浪,占去大半市场。有鉴于此,我们应该鼓励
女士多买化妆品(男士付钱)以获得更好的界面。
在进行系统设计时,我们要深情地关注软件的质量因素,
如正确性与精确性、性能与效率、易用性、可理解性与简
法性、可复用性与可扩充性等等。即使把系统设计做好了,
也并不意味着就能产生好的软件系统。在程序设计、测试、
维护等环节还要做大量的工作,无论哪个环节出了差错,
都会把好事搞砸了。据说上帝把所有的女士都设计成天使,
可是天使们在下凡时有些双脚先着地,有些脸先着地。上
帝的这一疏忽让很多女孩伤透了心。我们在开发软件时,
一定要吸取这个教训。
5.1 体系结构设计
杨叔子院子曾这样指点其弟子:
文学中有科学,音乐中有数学,漫画中有现代数学的拓
扑学。漫画家可以“几笔”就把一个人画出来,不管怎么
美化或丑化,就是活像。为什么?因为那“几笔”不是别
的,而是拓扑学中的特征不变量,这是事物最本质的东西。
欢迎阅读本文档,希望本文档能对您有所帮助!
欢迎阅读本文档,希望本文档能对您有所帮助!
体系结构是软件系统中最本质的东西:
(1)体系结构是对复杂事物的一种抽象。良好的体系结构
是普遍适用的,它可以高效地处理多种多样的个体需求。
一提起“房子”,我们的脑中马上就会出现房子的印象(而
不是地洞的印象)。“房子”是人们对住宿或办公环境的一
种抽象。不论是办公楼还是民房,同一类建筑物(甚至不
同类的建筑物)之间都具有非常相似的体系结构和构造方
式。如果 13 亿中国人民每个人都要用特别的方式构造奇异
的房子,那么 960 万平方公里的土地将会变得千疮百孔,
终日不得安宁。
(2)体系结构在一定的时间内保持稳定。只有在稳定的环
境下,人们才能干点事情,社会才能发展。科学告诉我们,
宇宙间万物无时无刻不在运动、飞行。由于我们的生活环
境在地球上保持相对稳定,以致于我们可以无忧无虑地吃
饭和睡觉,压根就意识不到自己是活生生的导弹。软件开
发最怕的就是需求变化,但“需求会发生变化”是个无法
逃避的现实。人们希望在需求发生变化时,最好只对软件
做些皮皮毛毛的修改,可千万别改动软件的体系结构。就
如人们对住宿的需求也会变动,你可以经常改变房间的装
璜和摆设,但不会在每次变动时都要去折墙、拆柱、挖地
欢迎阅读本文档,希望本文档能对您有所帮助!
欢迎阅读本文档,希望本文档能对您有所帮助!
基。如果当需求发生变化时,程序员不得不去修改软件的
体系结构,那么这个软件的系统设计是失败的。
良好的体系结构意味着普适、高效和稳定。本节将论述
两种非常通用的软件体系结构:层次结构和客户机/服务器
(Client/Server)结构。
5.1.1 层次结构
层次结构表达了这么一种常识:有些事情比较复杂,我
们没法一口气干完,就把事情分为好几层,一层一层地去
做。高层的工作总是建立在低层的工作之上。层次关系主
要有两种:上下级关系和顺序相邻关系。
一、上下级关系的层次结构
我们从小学一直读到博士研究生毕业,要读 20 多年,
可以分为五个层次。而范进的知识结构只有两层:“私塾”
和“秀才”,但读了五十多年,如图 5.1 所示。一般地处于
较高层次的学生应该懂得所有低层次的知识,而处于低层
次学生无法懂得所有高层次的知识。图 5.1 的层次结构存在
上下级关系,如同在军队中,上级可以命令下级,而下级
不能命令上级。如果把图 5.1 的层次结构当成是一个软件系
统的结构,那么上层子系统可以使用下层子系统的功能,
剩余46页未读,继续阅读
资源评论
a66889999
- 粉丝: 39
- 资源: 1万+
下载权益
C知道特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功