- 1、本文档共44页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
目录
TOC\o1-3\h\z第3章软件系统设计 3
3.1软件系统设计的核心内容 4
3.2漫谈设计模式 6
3.3体系结构设计 8
3.3.1体系结构设计原则 8
3.3.1.1合适性 9
3.3.1.2结构稳定性 9
3.3.1.3可扩展性 10
3.3.1.4可复用性 11
3.3.2体系结构设计的规程与模板 11
3.3.3谈谈层次结构 14
3.4用户界面设计 17
3.4.1什么是好的用户界面 17
3.4.2用户界面设计原则 18
3.4.2.1用户界面适合于软件的功能 18
3.4.2.2容易理解 19
3.4.2.3风格一致 19
3.4.2.4及时反馈信息 20
3.4.2.5出错处理 20
3.4.2.6适应各种用户 20
3.4.2.7国际化 21
3.4.2.8个性化 21
3.4.2.9合理的布局 22
3.4.2.10和谐的色彩 22
3.4.3用户界面设计的规程与模板 22
3.4.4示例及详细的设计规则 25
3.4.4.1窗体 25
3.4.4.2消息框 27
3.4.4.3菜单 28
3.4.4.4工具条和图标按钮 28
3.4.4.5基本控件 29
3.4.4.6字体 31
3.5数据库设计 31
3.5.1数据库设计的主要困难与对策 31
3.5.2数据库设计的规程与模板 33
3.6模块设计 37
3.6.1何为“模块”与“模块化” 37
3.6.2模块设计原则 38
3.6.2.1信息隐藏 38
3.6.2.2高内聚 38
3.6.2.3低耦合 39
3.6.2模块设计的规程与模板 40
3.7数据结构与算法设计理念 42
3.8应用示例 43
3.8.1成功的示例 43
3.8.2半成半败的示例 44
3.9小结 44
第3章软件系统设计
系统设计是把用户需求转化为软件系统的最重要的技术开发环节。
通常,系统设计的技术难度要比编程、测试的高。所以程序员、测试员称为“员”,而设计师尊称为“师”。
在企业里,设计师的地位和收入通常高于程序员和测试员。据说WindowsNT的一位系统设计师拥有8辆法拉利跑车,让Microsoft公司的一些程序员十分眼红。但你只能羡慕而不能愤恨,因为并不是每个程序员都有本事成为复杂软件系统的设计师。
关于软件系统设计的方法论很多,开发人员既要学习新东西,又要避免被大量的新术语搞昏了头脑。本章论述了软件系统设计的5个核心内容:体系结构设计、用户界面设计、数据库设计、模块设计、数据结构和算法设计。旨在帮助开发人员搞清楚“设计什么”以及“如何设计”。
系统设计的好坏在根本上决定了软件系统的优劣。我们可以断言“差的系统设计必定产生差的软件系统”,但是不能保证“好的系统设计必定产生好的软件系统”。因为在设计之前有需求开发工作,在设计之后还有编程、测试和维护工作,无论哪个环节出了差错,都会把好事搞砸了。
据说上帝把所有的女士都设计成天使,可是天使们在下凡的时候,有些人双脚先着地,有些人脸先着地。上帝的这一疏忽让很多女士伤透了心。所以我们在开发软件时,一定要吸取这个教训。
3.1软件系统设计的核心内容
系统设计之源是软件需求,包括“功能性需求”与“非功能性需求”。系统设计的目标就是使所设计的系统能够被开发方顺利地实现,并且恰如其分地满足用户的需求,使开发方和用户的利益极大化。开发人员不万不能偏离需求,为了追求技术的先进性而开展系统设计工作。
人们自然而然地采用“分而治之”的方法进行系统设计。分而治之是指把一个复杂的问题分解成为若干个简单的问题,然后逐个解决。这种朴素的思想来源于人们生活与工作经验,完全适合于技术领域。
依据“分而治之”的思想,我们把系统设计过程划分为两个阶段:高层设计阶段和详细设计阶段。高层设计阶段的重点是体系结构设计。详细设计阶段的重点是用户界面设计、数据库设计、模块设计、数据结构与算法设计等。如图3-1所示。
高层设计阶段实现与测试详细设计阶段模块设计数据库设计数据结构与算法设计用户界面设计体系结构设计需求开发
高层设计阶段
实现与测试
详细设计阶段
模块设计
数据库设计
数据结构与算法设计
用户界面设计
体系结构设计
需求开发
图3-1系统设计过程示意图
一般地,现代软件系统设计的核心内容是:体系结构设计、用户界面设计、数据库设计、模块设计、数据
文档评论(0)