- 1、本文档共4页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第六章 系统总体设计
一、应用软件系统总体结构设计
(一)、系统设计阶段的任务
系统设计阶段的任务是根据新系统的逻辑模型,考虑实际的技术、经济和运行环境等条件,确定系统的物理实施方案,即解决“系统如何做”的问题。
系统设计阶段的主要活动有:
1.系统总体设计
2.系统详细设计
3.编写系统设计说明书
(二)、系统生命周期各阶段费用
系统开发:20%、分析与设计:35%、编程序:15%、测试程序:50%、
系统维护:80%、修改的费用:90%(测试+维护)
提高系统的可修改性对于节省开发和维护的人力、物力有重要地位。
使系统具有可修改性是系统总体设计着重要解决的问题。
(三)、结构化设计的基本思想
结构化设计是运用一组标准的准则和工具帮助系统设计员确定软件系统是由哪些模块组成的,这些模块用什么方法连接在一起,才能构成一个最优的软件系统结构。它的基本思想是:
1.模块化
一个软件系统由若干个模块组成。一个模块就是一个处理功能,对给定的输入信息,进行加工处理,得到输出结果。在结构化设计中,一个模块的功能应当简单明确,易于理解,且模块之间的联系应尽可能少。
2、自顶向下,逐步求精
系统划分模块的工作按层次进行,即:先把整个系统划分为若干个模块,每个模块再划分为若干个更小的模块,直到最低层的模块是功能相对独立、不能再分解为止。
3、上层模块分解为下层模块的3种结构形式
上层模块分解成下层模块,有三种基本的结构形式:顺序结构、分支结构、循环结构。不管一个系统多么复杂,模块间的关系都是着三种关系的组合。
(四)、模块划分的描述—控制结构图
控制结构图用来描述模块之间的层次关系、调用关系和信息传递关系,是系统物理结构的主要工具 。
控制结构图中采用的符号 :
(五)、控制结构图的绘制方法
依据:数据流程图
首先将上层数据流程图映射为上层控制结构图,由上层开始,逐步下推。
DFD中的“处理功能”映射为“模块”
DFD中的输入、输出分别映射为模块的输入、输出。
在进行模块分解时,可以采用两种不同的方式:
以转换为中心结构的分解 :如果待分解的模块是一个数据凝聚的模块,称该模块为以转换为中心的模块。可以把它分解为输入、处理、输出三大模块。
以业务为中心结构的分解 :如果模块为逻辑凝聚的模块,可以将它分解为一个检查业务类型的模块和一个调度模块,根据不同的业务类型,调度模块调用不同的下层模块。
两个重要的模板:以转换为中心结构的分解:P164的图6-9
以业务为中心结构的分解:P166的图6-11
(六)、模块之间调用的原则
每个模块有自己的任务,只要接到上层模块的调用命令时才能执行。
模块之间的通信仅限于直接上下级模块。
若有模块要与非直接上下级模块发生通信关系,必须通过其上级模块进行传递。
模块调用顺序为自上而下。
(七)、模块划分的原则
模块独立性:模块之间的关系尽可能少。
系统容易开发、系统可靠性高、系统容易维护
划分模块时,应使模块之间的联系尽可能少,而模块内自身联系尽可能密切。
我们分别用模块的“凝聚”和“耦合”来表示模块内和模块之间的联系程度。
模块凝聚 :“模块凝聚”用来衡量一个模块内部自身功能联系的紧密程度,也是衡量模块划分质量好坏的一个重要标准。
(八)、模块凝聚的级别
按模块的凝聚程度划分,可分为5级 :
偶然凝聚:模块内部各组成部分的处理彼此无关,是最差的模块凝聚方式。
逻辑凝聚:模块包括一系列同种类型的活动,为了使用该模块,必须从中选择出所需要的活动。
时间凝聚:模块的各个处理动作与时间有关。如初始化模块,必须按一定的次序执行。
数据凝聚:模块对同一数据执行多个处理活动,且表示数据的连续变化。也就是说,数据凝聚的模块是由这样一些活动组成的,这些活动中前一个活动的输出是后一个活动的输入。
功能凝聚:模块内所有的活动执行且只执行一个与问题有关的功能。这是系统具有可维护性的一般要求,是凝聚程度最高的模块。
(九)、模块耦合
耦合是对两个模块之间联接程度的一种度量。模块之间的依赖程度越大,则其耦合程度也就越大。
很显然,为了使软件系统具有较好的可维护性和可修改性,模块间的耦合程度应越小越好。
(十)、耦合的三种类型
根据模块之间传递的信息不同,可把耦合分为三种类型:
数据耦合:两个模块之间只传递在处理中所必需的数据。数据耦合是模块间必要的数据通信,是不可避免的。
控制耦合:一个模块将控制信息传递给另一个模块,以控制该模块的内部处理逻辑。当发生控制耦合时,说明模块划分不彻底,被调用模块不是执行单一的功能。
非法耦合:一个模块和另一个模块的内部发生联系,也称病态耦合,
文档评论(0)