- 1、本文档共90页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第4讲 生命周期法-结构化系统设计 信息系统分析与 及设计.ppt
2、校验位的计算方法 第一步:对每位编码加权,即各位编码乘以权因子,求出各位之积。再将各位积相加求和。 (权因子的取法:取一个等比或等差级数;或都取1;或取一串质数等。) 第二步:对和取模M的余,余数即为校验位。 (模一般用11、13、10等。) 例如: 原码: 12345 第一步:每位分别加权数为:6、5、4、3、2(等差级数) 每位编码加权求和:1*6+2*5+3*4+5*2=50 第二步:对和50取模11的余: 50/11=4余6 则6就是校验位 所以加校验位的码为123456 (录入码时,计算机按此过程再算一遍,若录入有错误,则计算的校验位将与输入的校验位不一致。) 第4节 输入与输出设计 对系统的最终用户来讲,系统界面就代表了系统本身 我们的系统 外部系统 外部系统 外部数据库 外部数据库 来自外部系统的消息 输出到外部系统的消息 高度自动化输入 输出 来自外部数据库地输入 输出到外部数据库 实时 连接(I/O) 人机交互输入数据 人机交互输出数据 外部系统 聚合的原因只是因为前一动作产生的输出数据是后一动作的输入数据。则叫顺序聚合。 2、顺序聚合 “顺序内聚”比“通讯内聚”强,因为无论从数据的角度或执行的先后次序来看,模块中某一部分的执行依赖于另一部分,但是同 “功能内聚”相比,“顺序内聚”还是相当弱的,因为模块中可能包含了几个功能,也可能仅包含某个功能的一部分。 聚合原因是因为各组成部分的动作都使用相同的输入或输出数据,叫通讯聚合。 3、通讯聚合 下图中的三个模块都属于这一类,模块A中包含三个部分,这三部分使用同一数据来源产生几个报告,模块B包含两个部分,一部分将输入数据存入,另一部分将输入数据打印;模块C中的两个部分都是对同一文件进行管理 “通讯内聚”的模块内聚较弱,因为各成分的执行次序可以是任意的 一个模块内各个组成部分的处理动作各不相同,彼此也没什么关系,但都受同一个控制流支配,决定它们的执行次序。 4、过程聚合 模块内各组成部分彼此无关,只是都必须在特定时间内执行。(例如,“初始化模块”:为各种变量置初值,打开若干个文件等。) 5、暂时聚合(又叫时间聚合) 6、逻辑聚合 模块内各个组成部分逻辑功能相似,但功能彼此不同或无关。例如把各种输入功能放在一个模块,或把输出各种出错信息的处理功能放在一个模块中。 例:右图模块 ABC本身的程序流程图会像右图那样:各个功能可以共用某一段程序(事实上就是为了节省这些空间,设计员才构造了这个模块),但对各个功能中不相同的部分,程序必须判别一个开关量后,才能选择执行某一个分支。主要缺点:难理解、难编程、难修改。 “偶然内聚”和“逻辑内聚”联系都是很弱的,它们都是为了节省空间,而把没有联系的成分放到一个模块中了。 7、机械聚合(偶然聚合) 模块内各个处理动作彼此间没有任何关系。 特点:组成模块的成分纯属偶然,没有必然联系。 图中模块T中的三个语句实际上没有任何联系(假定 A、 B、 C、 D不在文件CAREDFILE中),但是因为模块P、 Q、 R、 S中都含有这样的语句段,设计员为节省空间将它们放在模块T中。 主要缺点:不易修改、模块含义不易理解,难以测试。 偶然内聚模块内聚通常是为了节省空间而产生的,所以只要有足够的空间就应避免构造这种模块,免得造成维护时的困难。 模块聚合性的判断 各模块内聚类型的比较 (三)模块设计的其它几个原则 1、模块的分解 模块一般分解成为一个较小的功能单一的模块为止。 理由:易于理解、维护、修改,复杂性降低。 2、模块的扇入和扇出 模块的扇出:指一个模块拥有的直属下级模块的个数。 模块的扇入:指一个模块的直接上级模块的个数。 说明:左图中,A的扇出系数为3;右图中,A的扇入系数为3。 原则:扇出系数控制在7以内(也不能太小,如为1或2,否则导致模块结构的层次太多);扇入系数尽量大。 理由:扇出系数太大,说明要做的事多,则聚合程度就会小。扇入系数大,说明模块分解得好,通用性强。 作用范围和控制范围 一个判定的作用范围是指所有受这个判定影响的模块的集合。只要模块中含有一些依赖于这个判定的操作,那么该模块就在这个判定的作用范围之中。如果整个模块是否执行取决于某个判定,则该模块的调用模块也在这个判定的作用范围之中。 一个模块的控制范围包括它本身及其所有的下属模块(即由这个模块管理的整个结构层次),控制范围纯粹是结构方面的特点,而与模块的功能无关。 SD方法认为作用范围应该是控制范围的子集,也就是说,受某个判定影响的所有模块应该从属于做出
文档评论(0)