- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第4章 MIS的系统设计
《管理信息系统》 主讲:李国红 《管理信息系统》 主 讲:李国红 E-mail: lighong6@ 第4章 MIS的系统设计 4.1 系统设计的任务与目标 4.2 系统划分和模块设计原则 4.3 结构化设计 4.4 代码设计 4.5 数据库设计 4.6 输入输出设计(含界面设计) 4.7 处理过程设计 4.8 系统设计说明书 4.1 系统设计的任务与目标 任务 总体设计:子系统划分或模块设计 详细设计:代码、数据库、I/O、处理设计 目标 工作质量好 工作效率高 可靠性高 可扩充性和可维护性好 性价比高 4.2 系统划分和模块设计原则 1.模块与模块调用 2.模块耦合 3.模块聚合 4.子系统与模块划分的原则 1.模块与模块调用 为降低系统开发的难度或复杂性,常常将系统进行模块化。所谓模块化,就是将系统划分为子系统,子系统划分为若干模块,大模块划分为小模块的过程。 模块划分的目的主要是降低系统的开发难度,增加系统的可维护性等。 ①模块(1/2) 模块是可以组合、分解和更换的单元,是组成系统、易于处理的基本单元。系统中的任何一个处理功能都可以看成一个模块,也可以理解为用一个名字就可以调用的一段程序语句。 a. 模块应具备以下四个要素: ●输入和输出:模块的输入来源和输出去向都是同一个调用者,一个模块从调用者取得输入,加工后再把输出返回调用者。 ●功能:模块把输入转换成输出所做的工作。 ●内部数据:仅供该模块本身引用的数据; ●程序代码:用来实现模块功能的程序。 ①模块(2/2) 其中,输入/输出和功能是模块的外部特性,反映模块的外貌;内部数据和程序代码是模块的内部特性。在结构化设计中,首先关心外部特性,其内部特性只做必要了解。(王要武P139) 因此,可以认为,模块就是指具有输入/输出、逻辑功能、运行程序和内部数据4种属性的一组程序。(朱顺泉P54) ②模块的调用 模块调用的类型如图所示。 ②模块的调用 调用:在模块结构图中,用连接两个模块的箭头表示调用,箭头总是由调用模块指向被调用模块,但是应该理解为被调用模块执行后又返回到调用模块。 判断调用:一个模块是否调用一个从属模块,取决于调用模块内部的判断条件,则该调用称为模块间的判断调用,采用菱形符号表示。 循环调用:如果一个模块通过其内部的循环功能循环调用一个或多个从属模块,则该调用称为循环调用,用弧形箭头表示。 ②模块的调用 c.模块划分的目的 主要是降低系统的开发难度,增加系统的可维护性等。 2.模块耦合(1/8) 模块之间的联系程度是通过耦合来度量的。 耦合是对两个模块之间连接程度的一种度量。 耦合有6种不同的类型(即模块间的联结方式),由好到差依次为:非直接耦合、数据耦合、标记(特征)耦合、控制耦合、公共耦合、内容耦合。 a.非直接耦合。模块之间的联系是通过主模块的控制和调用实现的 2.模块耦合(2/8) b.数据耦合(data coupling)。指模块通过激活控制连接,并只传递在处理中所必需的数据。数据耦合是模块间必要的数据通信,是不可避免的。数据耦合是模块设计的目标。 2.模块耦合(3/8) c.标记(特征)耦合(stamp coupling)。若调用模块将整个数据记录传递给被调用模块,而被调用模块只需要部分数据项,则称这两个模块之间存在标记耦合或特征耦合。特征耦合传递的是数组之类的数据结构,使互不相关的模块建立了依赖关系,往往会造成侦错上的困难。 2.模块耦合(4/8) d.控制耦合(control coupling)。是指一个模块将控制信息传递给另一个模块,以控制该模块的内部处理逻辑。从分解的角度看,导致控制耦合的主要原因是分解不彻底,被调用模块不是执行单一的功能。 2.模块耦合(5/8) e.公共耦合(common coupling)。如果多个模块访问同一全程数据域(global data area),则称之为公共耦合。可以理解为:公共耦合就是多个模块访问同一个全局变量,或者多个模块访问同一全局性的数据结构。 2.模块耦合(6/8) 公共耦合的缺点是:在使用同一全局数据域的模块中,如果其中一个模块出现错误,则很可能该错误也出现在使用该数据域的其它模块中;如果要修改一个模块,则很难确定哪些数据必须进行相应的修改;同样,如果要修改某一个数据,也很难确定哪些模块必须予以修改。 2.模块耦合(7/8) f.内容耦合(content coupling)。如果两个模块之一和另一个模块的内部属性有关(一个模块直接调用另一个模块的内容),则称这两个模块为内容耦合,也称之为病态耦合(pathological coupling),这是一种最高程度的耦合,应避免使用。 2.模块耦合(8/8) 为使软件具有较好的可维护性和
文档评论(0)