- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第四章_2-北大学生管理
4.7.4软件结构的优化 经过变换分析方法或事务分析方法得到了软件系统的模块结构图后,还需要按照模块独立性、结构优化、作用范围/控制范围等设计质量评价原则进行模块的改进和结构的优化工作,才能得到结构好、性能优、接口简单的软件结构。 优化的目的是得到一个高内聚,弱偶合,易于实现易于测试和易于维护的软件结构,因此应该对初步得到的模块结构图再进行分解,合并或调整。 调整的内容包括如下几个方面: 1、调整模块的功能和规模 ⑴ 多个模块公有的一个子功能可以独立成一个模块,由这些模块调用, 可以通过分解或合并模块以减少控制信息的传递及对全局数据的引用,并且降低接口的复杂程度。 A C B C C B A A C1 C C1 C B C C2 C B A A B C2 C1 C A B C1 C ⑵ 如果模块有若干直接下属模块,其联系耦合程度高,则可合并下属模块 。 A C B D A B, C, D 2、控制软件结构的规模 调整软件结构的深度、宽度、扇出和扇入数目,以改善软件结构的性能。 概念 深度:软件结构中控制的层数。 宽度:软件结构中,同层模块数的最大值。 扇出:一个模块直接控制的下级模块数。 扇入:被若干模块同时调用时,调用它的个数。 扇出 宽度 深度 扇入 ⑴深度太大:适当合并管理模块。 ⑵宽度太大:增加管理层(主要原因是扇出大) ⑶扇出太大:增加中间层,一般顶层扇出可以稍大,往下底层扇出较小,最底层最好多扇入。 根据软件工程的经验和人类对信息处理限度对深度,宽度,扇出,扇入数字控制在(5~9)之间。软件结构最终成瓮形结构。 3、调整软件结构以保证结构中的模块满足作用范围/控制范围原则 作用范围:某模块中判定语句所涉及的模块的集合。 A 控制范围:某模块的下属模块及其本身的集合。 原则:某模块的判定语句的作用范围应在该模块的控制范围之内,最好在直接控制范围之内。(下图中绿色的模块是判定语句的作用范围) T X Y B B1 B2 A T X Y A B B1 B2 T X Y A B B1 B2 T X Y A B B1 B2 违背原则 符合但太高 适中 理想 4、分析模块间的接口信息,降低接口的复杂度。 模块之间接口的复杂性是产生软件错误的一个主要原因。接口的复杂性主要表现在:参数过多、参数结构复杂、参数含义容易导致误解、参数类型参数化等方面。 例求根: QUAD—―ROOT(TBL,X) 其中TBL,X分别为数组:TBL(A,B,C), X(ROOT1,ROOT2) 这种作法看起来只用两个变元,但实际都是数组,不如改为: QUAD—―ROOT(A,B,C,ROOT1,ROOT2) 5、尽量做到模块单入口,单出口。 6、模块功能应可以预测 可预测含义:模块的输入数据相同,其运行的输出结果必然相同。带内部“存储器”模块是不可预测。 N M . If 条件then. GOTO L . . . . L . . x,y u,v u,v 单入口,多出口 本章主题 4.5 结构设计的目标及任务 4.6 结构化设计的概念和原理 4.7 软件结构化设计方法 4.8 设计规格说明书及设计复审 4.8设计规格说明书及设计复审 设计规格说明书 国家标准的文档参考格式 CMMI文档模板 复审 设计规格说明书中反映了设计阶段的工作结果。设计复审的目的就是通过集思广益的审查方式,尽早发现设计中存在的缺陷和错误。因为在设计阶段发现并纠正一个错误所付出的代价并不大。 设计复审要求开发人员、用户代表、领域专家共同参加。复审的对象就是设计规格说明。复审的内容主要有:系统结构、模块的划分质量、系统内外部接口、人机交互界面以及系统例外或出错的处理等等。 复审的方式仍然和需求复审的方式一样,有正式的会审和非正式的互审。 SADT方法举例——家庭安全系统(SafeHome) 用户原始需求: SafeHome 监控所有和SafeHome相连的传感器。用户可通过SafeHome控制面板与系统进行交互。 用户细化需求: 用户可通过控制面板对SafeHome进行编程和配置: 设定每个传感器的编号和类型以及急拨号码等信息; 开启SafeHome; 输入用户开关密码。 用户可通过控制面板了解SafeHome状况。 当传感器监测到异常情况, SafeHome激活一个附于系统上的可发声警报器。报警延迟一定时间后, SafeHome拨打监控服务的电话号码,并报告关于位置和被监测到的事件性质等信息。电话号码将每20秒重拨一次,直至电话接通。 家庭安全系
文档评论(0)