第7、8讲结构化系统设计摘要.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第7、8讲结构化系统设计摘要.ppt

第七章 系统设计 教学目的和要求 理解系统设计的任务要求 掌握结构化设计的基本概念 数据库设计 数据库设计的过程 代码设计 输出设计 输入设计 人机对话设计 计算机处理过程的设计 计算机系统的选择 系统设计说明书 7.1 系统设计的任务要求 系统分析阶段要回答的中心问题是系统“做什么”,即明确系统功能,这个阶段的成果是系统的逻辑模型。系统设计要回答的中心问题是系统“怎么做”,即如何实现系统说明书规定的系统功能。在这一阶段,要根据实际的技术条件、经济条件和社会条件,确定系统的实施方案,即系统的物理模型。 7.1.1 评价信息系统的标准 我们可以从六个方面来衡量: 1.信息系统的功能 2.系统的效率 3.系统的可靠性 4.系统的工作质量 5.系统的可变更性 6.系统的经济性 7.1.2 系统设计的目标 (1)把系统划分为一些部分,其中每一部分的功能简单明确,内容简明易懂,易于修改。我们把这样的部分称为模块。 (2)系统分成模块的工作按层次进行。首先,把整个系统看成一个模块,按功能分解成若干个第一层模块,依次下去,直到每个模块都十分简单。 (3)每一个模块应尽可能独立,即尽可能减少模块间的调用关系和数据交换关系。 (4)模块间的关系要阐明。 结构化设计的基本思想: 一个易于修改的系统应该由一些相对独立、功能单一的模块按照层次结构组成。这些模块之间不必要的联系都已去掉,而且它们的功能及相互关系都已阐明。 7.1.3 系统设计的内容 系统设计的基本任务大体上可以分为两个方面: 1.把总任务分解成许多基本的、具体的任务: 总体设计(architectural design), (1)将系统划分成模块; (2)决定每个模块的功能; (3)决定模块的调用关系; (4)决定模块的界面,即模块间信息的传递。 2.为各个具体任务选择适当的技术手段和处理方法: 详细设计包括代码设计、数据库设计、输入设计、输出设计、人机对话设计、处理过程设计。 7.2 结构化设计的基本概念 7.2.1 模块 模块(module):通常是指用一个名字就可以调用的一段程序语句。可以将它理解为类似“子程序”的概念; 模块具有: 输入和输出 逻辑功能 运行程序 内部数据 四种属性。 7.2.1 模块 模块的外部特性 输入、输出、逻辑功能构成一个模块的模块的外部特性。 模块的内部特性 内部数据和程序代码则是模块的内部特性,是看不见的。 模块用程序代码完成它的逻辑功能。内部数据是仅供该模块本身引用的数据。在总体设计阶段,主要关心模块的外部特性,模块的内部属性是以后要解决的问题。 7.2.2 模块结构图 结构化设计采用结构图(structured chart)描述系统的模块结构及模块间的联系。结构图中的主要成分有: (1)模块:用长方形表示。 (2)调用:从一个模块指向另一模块的箭头表示前一个模块调用后一个模块。箭尾的菱形表示有条件地调用,弧形箭头表示循环调用。 (3)数据:用带圆圈的小箭头表示从一个模块传递给另一模块的数据。 (4)控制:信息带涂黑圆圈的小箭头表示一个模块传送给另一模块的控制信息。 结构图的层数称为深度。一个层次上的模块总数称为宽度。深度和宽度反映了系统的大小和复杂程度。 7.2.2 层次结构图 7.2.3 模块间的联系 结构化设计的基本思想,就是把系统设计成由相对独立、功能单一的模块组成的层次结构。 为了衡量模块的相对独立性,提出了模块间的耦合(coupling)与模块的内聚(cohesion)两个概念。这两个概念从不同侧面反映了模块的独立性。 耦合反映模块之间连接的紧密程度。 内聚指一个模块内各元素彼此结合的紧密程度。 7.2.4 模块间的耦合 影响模块间耦合程度有三方面的因素: 联系方式—模块间通过什么方式联系; 来往信息的作用—模块间来往信息作什么用; 信息数量—模块间来往信息的多少。 耦合性越高,模块独立性越弱 耦合强度依赖的因素: 一模块对另一模块的引用 一模块向另一模块传递的数据量 一模块施加到另一模块的控制的数量 模块间接口的复杂程度 无直接耦合 无直接耦合 两个模块没有直接关系,模块独立性最强 数据耦合 数据耦合 一模块调用另一模块时,被调用模块的输入、输出都是简单的数据(若干参数)。 特征耦合 特征耦合 两个模块通过传递数据结构(不是简单数据,而是记录、数组等)加以联系,但实际只使用数据结构其中的部分数据 控制耦合 控制耦合 一模块向下属模块传递的信息 (开关量、标志等控制被调用模块决策的变量) 控制了被调用模块的内部逻辑 控制耦合增加了理解和编程的复杂性,调用模块必须知道被调模块的内部逻辑,增加了相互依赖 去除模块间控制耦合的方法: 将被调用模块内的判定上移到调用模块中进行 被调用模块分解

文档评论(0)

love + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档