- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
模块设计的准则 1、模块的分解 分解是指把一个模块分解成若干个从属于它的下层模块。 一般按功能分解,分解到成为一个小的功能单一的模块为止。 一般一个模块内包含的语句在100条以内较好(指高级语言)。 2、模块的扇出和扇入 模块的扇出指一个模块拥有的直属下级模块的个数,一般扇出数控制在7以内。 模块的扇入是指一个模块的直接上级模块的个数。 在设计中,扇入系数大,说明模块分解得好,通用性强,冗余度低。 3、模块的控制范围和判断作用范围 模块的控制范围:本身及其所有下级模块。 模块的判断作用范围:被判断调用的模块。 原则: A.对于任何一个内部存在判断调用的模块,它的判断作用的范围应该是其控制范围的一个子集。 B.存在判断调用的模块,所在层次不要与那些属于判断作用范围的模块所在的层次相隔太远。 违反第B条原则 正确 4、力争降低模块接口的复杂程度 模块接口复杂是软件发生错误的一个主要原因。应该仔细设计模块接口,使得信息传递简单并且和模块的功能一致。 接口复杂或不一致(即看起来传递的数据之间没有联系),是紧联结或低聚合的征兆,应该重新分析这个模块的独立性。 5、设计单入口单出口的模块 6、模块功能应该可以预测 模块的功能应该能够预测,但也要防止模块功能过分局限。 总结 对于一个大系统,常常把变换分析和事务分析应用到同一个数据流程图的不同部分,由此得到的子结构形成“构件”,可以利用它们构造完整的软件结构。 一般说来,如果数据流不具有显著的事务特点,最后使用变换分析;反之,如果具有明显的事务中心,则应该采用事务分析技术。 描绘软件结构的图形工具 层次图和HIPO图 层次图用来描绘软件的层次结构。在以前课程中已经非正式地使用了层次图。虽然层次图的形式和所介绍的描绘数据结构的层次方框图相同,但是表现的内容却完全不同。层次图中的一个矩形框代表一个模块,方框间的连线表示调用关系而不像层次方框图那样表示组成关系。下图是层次图的一个例子。 正文加工系统的层次图 层次图很适于在自顶向下设计软件的过程中使用。HIPO图是美国IBM公司发明的“层次图加输入/处理/输出图”的英文缩写。为了能使HIPO图具有可追踪性,在H图(层次图)里除了最顶层的方框之外,每个方框都加了编号。编号规则和介绍的数据流图的编号规则相同,例如,将上图加了编号后得到下图。 和H图中每个方框相对应,应该有一张IPO图描绘这个方框代表的模块的处理过程。HIPO图中的每张IPO图内都应该明显地标出它所描绘的模块在H图中的编号,以便追踪了解这个模块在软件结构中的位置。 带编号的层次图(H图) 5.4.2 结构图 Yourdon提出的结构图是进行软件结构设计的另一个有力工具。结构图和层次图类似,也是描绘软件结构的图形工具,图中一个方框代表一个模块,框内注明模块的名字或主要功能;方框之间的箭头(或直线)表示模块的调用关系。因为按照惯例总是图中位于上方的方框代表的模块调用下方的模块,即使不用箭头也不会产生二义性,为了简单起见,可以只用直线而不用箭头表示模块间的调用关系。 在结构图中通常还用带注释的箭头表示模块调用过程中来回传递的信息。如果希望进一步标明传递的信息是数据还是控制信息,则可以利用注释箭头尾部的形状来区分:尾部是空心圆表示传递的是数据,实心圆表示传递的是控制信息。下图是结构图的一个例子。 以上介绍的是结构图的基本符号,也就是最经常使用的符号。此外还有一些附加的符号,可以表示模块的选择调用或循环调用。图5.6表示当模块M中某个判定为真时调用模块A,为假时调用模块B。图5.7表示模块M循环调用模块A、B和C。 图5.5 结构图的例子——产生最佳解的一般结构 图5.6 判定为真时调用A,为假时调用B 图5.7 模块M循环调用模块A、B、C 注意,层次图和结构图并不严格表示模块的调用次序。虽然多数人习惯于按调用次序从左到右画模块,但并没有这种规定,出于其他方面的考虑(例如为了减少交叉线),也完全可以不按这种次序画。此外,层次图和结构图并不指明什么时候调用下层模块。通常上层模块中除了调用下层模块的语句之外还有其他语句,究竟是先执行调用下层模块的语句还是先执行其他语句,在图中丝毫没有指明。事实上,层次图和结构图只表明一个模块调用那些模块,至于模块内还有没有其他成分则完全没有表示。 通常用层次图作为描绘软件结构的文档。结构图作为文档并不很合适,因为结构图上包含的信息太多有时反而降低了清晰程度。但是,利用IPO图或数据字典中的信息得到模块调
您可能关注的文档
最近下载
- 企业创新与科技服务.pptx VIP
- 摩托车化油器的清洗图文.pdf VIP
- 机械破碎石方开挖专项方案.doc VIP
- GB∕T 13861-2022《生产过程危险和有害因素》应用-危险源识别清单【因素类别、伤害方式、致害物、起因物、风险情景描述、事故类别、后果与影响)】(雷泽佳-2024A0).pdf VIP
- 企业服务100问企业服务100问.doc VIP
- 人教版(2024)八年级上册英语单词表(背诵版+默写版) .pdf
- 旋挖桩专项施工方案.doc VIP
- 2025内蒙古自治区高考政治真题试卷+解析及答案.docx VIP
- 医院感染病例判定标准之通用原则PPT课件.pptx VIP
- 学校食堂月调度会议记录.docx
文档评论(0)