第1页共20页编号:时间:2021年x月x日书山有路勤为径,学海无涯苦作舟页码:第1页共20页第五章系统设计系统设计是把需求转化为软件系统的最重要的环节
系统设计的优劣在根本上决定了软件系统的质量
就象“一切帝国主义都是纸老虎”那样可以断定“差的系统设计必定产生差的软件系统
”所以我们要努力保证系统设计“根正苗红”,把一切左倾、右倾的设计思潮消灭在萌芽状态
WindowsNT的一位系统设计师拥有8辆法拉利跑车,让Microsoft公司的一些程序员十分眼红
但你只能羡慕而不能愤恨,因为并不是每个程序员都有本事成为复杂软件系统的设计师
系统设计要比纯粹的编程困难得多
即便你清楚客户的需求,却未必知道应该设计什么样的软件系统——既能挣最多的钱又能让客户满意
“天下西湖三十六,最美是杭州”,千年前苏东坡大学士对西湖精采绝伦的系统设计,使杭州荣升为“天堂”,让后人只剩下赞叹和破坏的份了
本章讲述系统设计的四方面内容:体系结构设计、模块设计、数据结构与算法设计、用户界面设计
如果将软件系统比喻为人体,那么:(1)体系结构就如同人的骨架
如果某个家伙的骨架是猴子,那么无论怎样喂养和美容,这家伙始终都是猴子,不会成为人
(2)模块就如同人的器官,具有特定的功能
人体中最出色的模块设计之一是手,手只有几种动作,却能做无限多的事情
人体中最糟糕的模块设计之一是嘴巴,嘴巴将最有价值但毫无相干的几种功能如吃饭、说话、亲吻混为一体,使之无法并行处理,真乃人类之不幸
(3)数据结构与算法就如同人的血脉和神经,它让器官具有生命并能发挥功能
数据结构与算法分布在体系结构和模块中,它将协调系统的各个功能
人的耳朵和嘴巴虽然是相对独立的器官,但如果耳朵失聪了,嘴巴就只能发出“啊”“呜”的声音,等于丧失了说话的功能(所以聋子天生就是哑巴),可人们却又能用手势代替说话
人体的数据结构与算法设计真是十分神奇并且十分