- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
复旦大学计算机科学技术学院软件工程(第二版)结构化设计结构化设计(StructuredDesign,简称SD)是一种将结构化分析得到的数据流图映射成软件体系结构的设计方法强调模块化、自顶向下逐步求精、信息隐蔽、高内聚低耦合等设计准则分为概要设计和详细设计两大步骤概要设计是对软件系统的总体设计,采用结构化设计方法,其任务是:将系统分解成模块,确定每个模块的功能、接口(模块间传递的数据)及其调用关系,并用模块及其对模块的调用来构建软件的体系结构详细设计是对模块实现细节的设计,采用结构化程序设计(StructuredProgramming,简称SP)方法SA、SD和SP构成完整的结构化方法体系*复旦大学计算机科学技术学院软件工程(第二版)结构图用结构图(StructureChert)来描述软件系统的体系结构描述一个软件系统由哪些模块组成,以及模块之间的调用关系结构图的基本成分有:模块、调用和数据*复旦大学计算机科学技术学院软件工程(第二版)模块模块(module):指具有一定功能的可以用模块名调用的一组程序语句,如函数、子程序等它们是组成程序的基本单元一个模块具有其外部特征和内部特征外部特征包括:模块的接口(模块名、输入/输出参数、返回值等)和模块的功能内部特征包括:模块的内部数据和完成其功能的程序代码在SD中,我们只关注模块的外部特征,而忽略其内部特征*复旦大学计算机科学技术学院软件工程(第二版)调用和数据调用(call):用从一个模块指向另一个模块的箭头来表示,其含义是前者调用了后者为了方便,有时常用直线替代箭头,此时,表示位于上方的模块调用位于下方的模块数据(data):模块调用时需传递的参数可通过在调用箭头旁附加一个小箭头和数据名来表示*复旦大学计算机科学技术学院软件工程(第二版)结构图中的辅助符号DBCA模块A有条件地调用模块B或CDBCA模块A循环调用模块B和C递归调用*复旦大学计算机科学技术学院软件工程(第二版)结构图的几个概念深度:程序结构图中控制的层数,例如图中所示的结构图的深度是5宽度:程序结构图中同一层次上模块总数的最大值,例如图中所示的结构图的宽度为7扇出(fanout):该模块直接调用的模块数目。例如,例如图中模块M的扇出是4,模块A的是2,模块B的扇出是1扇入(fanin):能直接调用该模块的模块数目。例如图中模块G的扇入是1,模块I的扇入是2,模块R的扇入是4WBKAEHJDGFILCMNOPQR深度宽度扇入扇出*复旦大学计算机科学技术学院软件工程(第二版)相关指标的含义深度和宽度在一定程序上反映了程序的规模和复杂程度相对而言,如果程序结构图的深度和宽度较大,则说明程序的规模和复杂程度都较大。模块的扇入扇出会影响结构图的深度和宽度,例如减少模块的扇出,可能导致宽度变小而深度增加一个模块的扇出过大通常意味着该模块比较复杂,然而扇出太少,可能导致深度的增加一般情况,一个模块的扇出以3~9为宜一个模块的扇入表示有多少模块可直接调用它,它反映了该模块的复用(reuse)程度,因此模块的扇入越大越好*复旦大学计算机科学技术学院软件工程(第二版)启发式设计策略-1按照模块化设计原则,相应的启发式设计策略如下:改造程序结构图,降低耦合度,提高内聚度避免高扇出,并随着深度的增加,力求高扇入避免如图a那样的“平铺”形态,较好的结构图形态是如图b那样的“椭圆”型(a)平铺形态(b)椭圆形态*复旦大学计算机科学技术学院软件工程(第二版)启发式设计策略-2模块的影响范围应限制在该模块的控制范围内,例如下图中图a中,模块B2的影响范围(模块A)不在其控制范围(模块B2)内图b中,决策控制是在顶层模块,其影响范围(A、B2)在控制范围内,但是从决策控制模块到被控模块之间相差多个层次图c和d较合适,图d为最好(c)TopXBB1AYB2TopXYABB2B1(d)XBB1YTopXBB1YAB2(a)(b)ATopB2*复旦大学计算机科学技术学院软件工程(第二版)启发式设计策略-3降低模块接口的复杂程度和冗余程度,提高一致性模块接口上应尽可能传递简单数据,而且传递的数据应保持与模块的功能相一致,即不传递与模块功能无关的数据模块的功能应是可预测的,避免对模块施加过多的限制模块功能可预测是指该模块对相同的输入能产生相同的输出限制一个模块只处理单一的功能,那么,这个模块体现出
您可能关注的文档
最近下载
- T_CRACM 0003-2025 中医体质药食同源膏方标准.pdf VIP
- 小学生国家公祭日主题班会.pptx VIP
- 2022年上海青浦区金泽镇劳务派遣制社会治安及网格巡查队员招聘考试备考试题及答案解析.docx VIP
- 2023年上海金泽镇制社会治安及网格巡查队员招聘考试真题.docx VIP
- 三国志3攻略MD..doc VIP
- T_STEI 0009-2025 基于胸电生物阻抗法的无创血流动力学检测系统标准化操作规程.pdf VIP
- (新版)国家电网招聘(其他工学类)考试历年真题汇总及答案.pdf
- 化学发光仪(AlphaFluorChemQ)操作说明书-中国科学院水生生物.doc VIP
- JJF(鄂) 161-2025 医用测量设备量值溯源指南.docx VIP
- 老年患者常见病多发病诊疗.pptx
原创力文档


文档评论(0)