信息系统开与管理课程组28.ppt

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

系统总体设计的任务 模块结构图 基本设计原则 (模块耦合度与聚合度) 设计策略 (变换型、事务型) 设计优化技巧 ;一、系统总体设计的任务;二、模块结构图(SC);(一) 模块;模块的例子: int max( int x, int y) { int z; z=xy? x: y; return(z); } ;模块化思想:;(二) 模块结构图sc;大学教务管理系统结构图 ;(1) 模块:以矩形框表示,框中标有模块的名字。对于已定义(或者已开发)的模块,则可以用双纵边矩形框表示。;(2) 模块间的调用关系:两个模块,一上一下,以箭头相联,上面的模块是调用模块,箭头指向的模块是被调用模块,如下图中,模块A调用模块B。在一般情况下,箭头表示的联线可以用直线代替。;(3) 模块间的通讯:以表示调用关系的长箭头旁边的短箭头表示,短箭头的方向和名字分别表示调用模块和被调用模块之间信息的传递方向和内容。如下图,首先模块A将信息C 传给模块B,经模块B加工处理后的信息D再传回给A。 ;编辑学生记录;(4) 辅助控制符号:当模块A有条件的调用模块B时,在箭头的起点标以菱形。模块A反复地调用模块D时,另加一环状箭头。如下图所示。在结构图中条件调用所依赖的条件和循环调用的循环控制条件通常都无需注明。 ;模块调用的例子: int max( int x, int y) { int z; z=xy? x: y; return(z); } Main( ) { : max( 3, 4) ; : };SC中的四种模块;传入模块:从下属模块取得数据,经过某些处理,再将其传送给上级模块。 ;传出模块:从上级模块取得数据,进行某些处理,传送给下属模块。 ;变换模块:从上级模块取来数据,进行特定处理后,送回原上级模块。 ;协调模块:对其下属模块进行控制和管理的模块。 ;SC中的简单调用表示法;SC中的选择调用;选择调用的例子: A( ) { : if(条件..) B( ) else C( ) : };SC中的循环调用;循环调用的例子: A( ) { : while (条件..) { B( ); : ; } : };2.模块结构类型;外导结构:结构图中低一层模块接收上一层模块的数据信息,并把它们转换给下一级模块,直到输出给使用者。; 转换结构:数据要在模块内经过一定的处理,下层模块从相应的上层模块接收数据,经转换后返回同一上层模块中去。;三、模块设计的原则;1.模块的独立性; 2.模块独立性的度量;3.模块独立性的度量之一:耦合度;无耦合-没有依赖关系;模块间耦合的类型:;(1) 非直接耦合;(2) 数据耦合;开发票;计算水电费;(3) 标记耦合(特征耦合);标记耦合举例;将标记耦合修改为数据耦合举例;(4) 控制耦合;控制耦合举例;设想一下A( )函数中调用B( )的语句是怎样的? 这个问题与前面的调用MAX( )的例子不同。 在MAX( )函数中,我们很清楚地看到:形式参数表是两个整数,表示要比较的两个数。 函数说明为: MAX( int x, int y) 函数处理后,返回的结果为较大的那个数。 所以,在主调函数中,我们只需以两个被比较的数作为 实际参数,所以就可写出形如: ..=MAX( 25, 36) 的调用语句。; 但在本例的B( )函数中,我们虽然知道:形式参数表是一个整数,表示要取得的成绩类型是平均或最高。 函数说明为: B( int x) 函数处理后,返回的结果为取出的成绩数据(平均或最高)。 可是,在主调函数中,我们仍不知道以什么作为实际参数,是0?1?2?还是其他值,取决于B()中用什么值表示平均/最高标记。因此,就要去了解B()内部的语句,而不能仅凭函数说明就写出调用语句。所以B()就成为灰箱/白箱,而非黑箱。;控制耦合举例;控制耦合增加了模块之间的复杂性,调用模块必须知道被调模块的内部逻辑,增加了相互依赖。 去除模块间控制耦合的方法: (1)将被调用模块内的判定上移到调用模块中进行 (2)被调用模块分解成若干单一功能模块;改控制耦合为数据耦合举例;控制耦合举例;改控制耦合为数据耦合举例;(5) 公共耦合(公共数据区耦合);公共耦合举例;公共耦合举例;公共耦合举例;(1)系统可理解性降低 (模块间存在错综复杂的联系) (2)系统可维护性差 (修改变量名或属性困难) (3)系统可靠性差 (公共数据区及全程

文档评论(0)

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

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

1亿VIP精品文档

相关文档