软件工程-设计范例.ppt

  1. 1、本文档共108页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* 上图是SC的另一种画法,在第一层不是每一分支只画一个模块,而是按照实际情况确定模块的数量。逻辑输入和逻辑输出都具有两个数据流,而中心加工含有三个加工,故可画出(2+3+2)共7个模块。 * 从图中可以看出,模块的调用顺序正好与加工的顺序相反 * * * * 注意“黑盒”技术的使用。在设计当前模块时,先把这个模块的所有下层模块定义成“黑盒”,并在系统设计中利用它们,暂时不考虑它们的内部结构和实现方法。 使用黑盒技术的主要好处是使设计人员可以只关心当前的有关问题,暂时不必考虑进一步的琐碎的次要的细节,待进一步分解时才去关心它们的内部细节与结构。 * 在选择模块的顺序时,不一定要沿一条分支路径向下,直到该分支的最底层模块设计完成后,才开始对另一条分支路径的下层模块进行设计。 例如,如果我们已经设计了主模块和第一层A,B,C,下一步要分解模块A。那么,应当先设计模块的直接下属A1,A11,A12模块,然后再开始一设计B和C模块的直接下属模块。 * 耦合是模块之间的相对独立性(互相连接的紧密程度)的度量。模块之间的连接越紧密,联系越多,耦合性就越高,而其模块的独立性就越弱。 内聚是模块功能强度(一个模块内部各个元素彼此结合的紧密程度)的度量。一个模块内部各个元素之间的联系越紧密,则它的内聚性就越高,相对地,它与其他模块之间的藕荷性就会减低,而模块独立性就越强。因此模块独立性比较强的模块应是高内聚低耦合的模块。 其实,从原则上讲,我们对模块化设计的最终目的是,希望建立模块间的耦合尽可能松散的系统 在这样一个系统中,我们设计、编码、测试和维护其中任何一个模块,就不需要对系统中其他模块有很多的了解。此外,由于模块间联系简单,发生在某一处的错误传播到整个系统的可能性就会很小,因此模块间的耦合情况很大程度上影响到系统可维护性。 * 其实,从原则上讲,我们对模块化设计的最终目的是,希望建立模块间的耦合尽可能松散的系统 在这样一个系统中,我们设计、编码、测试和维护其中任何一个模块,就不需要对系统中其他模块有很多的了解。此外,由于模块间联系简单,发生在某一处的错误传播到整个系统的可能性就会很小,因此模块间的耦合情况很大程度上影响到系统可维护性。 * * 变换分析是建立初始的SC图的主要方法,在大多数实际系统要用到这种设计方法。但是,在实际应用中还有许多数据处理系统具有事务型的结构,因此这就需要用事务分析方法进行设计。 与变换分析一样,事务分析也是从分析数据流图开始,自顶向下,逐步分解,来建立系统的结构图 。 在上述的DFD图中,首先确定了它具有事务性特征的数据流图。也就是说,数据流A是一个带有-----“请求”性质的信息,即事务源。而加工I 则具有---“事务中心”的功能,它后继的三个加工L,M,N 是并列的,在加工A的选择控制下完成不同功能的处理。最后经过加工 O 将某一加工处理的结果整理输出。 * * 从上图的分析表明,它是具有两个动作分支的事务型结构,第一个动作分支是 “统计缺书”,它包含编号为 2.1 与 2.2 的两个加工; 第二个动作分支是“登记进书” ,包含一个加工 2.3 。其中统计缺书分支是具有变换型结构 加工 2.1 是它的传入部分,加工2.2是它的传出部分。它没有中心加工部分,待购教材表(F5) 既是是这个分支的 传入数据,也是它的传出数据。 请在下一页中画出它的SC图。 * * DFD 图映射得出的初始SC图,要经过仔细的改进,才能成为有用的最终的SC图。所以在本节中就介绍有关改进SC图的指导原则。 1、模块功能的完善化:一个完整的功能模块,不仅能够完成指定的功能,而且还应当能够告诉使用者完成任务的状态,以及不能完成的原因。也就是说,一个完整的模块应当有以下几个部分: (1)执行指定功能的部分; (2)出错处理的部分。当模块不能完成规定的功能时,必须回送出错标志,向它的调用者报告出现这种例外情况的原因。 例如,成绩录入模块中输入数据的正确性检测。。。。。。。。。。 * 在系统的初始结构图得出之后,应当审查分析这个结构图。如果发现几个模块的功能有相似之处。就要加以改进。 (1) 完全相似:在结构上完全相似,可能只是在数据类型上不一致。此时可以采取完全合并的方法,只需在数据类型的描述上和变量定义上加以改进。 (2) 局部相似: 当两个模块

您可能关注的文档

文档评论(0)

希望之星 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档