- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第5章总体设计课件2.ppt
设计阶段: 从工程管理的角度,可以将软件设计分为总体设计阶段和详细设计阶段。 从技术的角度,传统的结构化方法将软件设计划分为体系结构设计、数据设计、接口设计和过程设计4部分。 面向对象方法则将软件设计划分为体系结构设计、类设计/数据设计、接口设计和构件级设计4部分。 结构化设计和结构化分析的关系: 例:用筛选法求100以内的素数。所谓的筛选法,就是从2到100中去掉2,3,5,7的倍数,剩下的就是100以内的素数。 首先按程序功能写出一个框架 main() { 建立2到100的数组A[ ],其中A[i]=i;..........................1 建立2到10的素数表B[ ],存放2到10以内的素数;......2 若A[i]=i是B[ ]中任一数的倍数,则剔除A[i];............3 输出A[ ]中所有没有被剔除的数;…..………………....4 } 上述框架中每一个加工语句都可进一步细化 main() { /*建立2到100的数组A[ ],其中A[i]=i*/ ………..………1 for (i = 2;i = 100;i++)A[i] = i; /* 建立2到10的素数表B[ ],存放2到10以内的素数*/ ….2 B[1] =2; B[2] = 3; B[3] = 5; B[4] = 7; /*若A[i]=i是B[ ]中任一数的倍数,则剔除A[i]*/ .…..….3 for (j = 1; j = 4; j++) 检查A[]所有数能否被B[j]整除并将其从A[]剔除;.....3.1 /*输出A[ ]中所有没有被剔除的数*/ …………………….4 for (i = 2; i = 100; i++) 若A[i]没有被剔除,则输出之……………………..…..4.1 } 继续对3.1和4.1细化,直到每个语句都能用程序设计语言来表示 评价: 系统中至少必须存在这种耦合。一般说来,一个系统内可以只包含数据耦合。 数据耦合是理想的目标。 维护更容易,对一个模块的修改不会是另一个模块产生退化错误。 评价: 控制耦合往往是多余的,增加了系统的复杂程度。 把模块适当分解之后通常可以用数据耦合代替它。 例: while(global_bariable==0) { if (argument_xyz25) module_3(); else module_4(); } 评价: 如果在一个模块中对一个全局变量的声明进行修改,必须修改能够访问该全局变量的每一个模块。 公共环境耦合的模块难于重用,必须提供一个全局变量的清单。 潜在危险很大。模块暴露出必需要更多的数据,难以控制数据存取,而且会导致计算机犯罪。 有些情况下,如两模块的共享数据很多,参数传递不方便,公共环境耦合更好。 评价: 模块内各元素之间没有实质性联系,很可能在一种应用场合需要修改这个模块,在另一种应用场合又不允许这种修改,从而陷入困境; 可理解性差,可维护性产生退化; 模块是不可重用的。 解决方案: 将模块分成更小的模块,每个小模块执行一个操作。 评价: 接口难以理解,造成整体上不易理解; 完成多个操作的代码互相纠缠在一起,即使局部功能的修改有时也会影响全局,导致严重的维护问题; 难以重用。 解决方案: 模块分解。 评价: 时间关系在一定程度上反映了程序某些实质,所以时间内聚比逻辑内聚好一些。 模块内操作之间的关系很弱,与其他模块的操作却有很强的关联。 时间内聚的模块不太可能重用。 评价: 比时间内聚好,至少操作之间是过程关联的。 仍是弱连接,不太可能重用模块。 解决方案: 分割为单独的模块,每个模块执行一个操作。 通常用层次图作为描绘软件结构的文档; 由层次图导出结构图的过程,可以作为检查设计正确性和评价模块独立性的好方法。 例3:一个公司的销售管理系统 在软件中孤立出那些大量占用处理机资源的模块; 必要时重新设计或用依赖于机器的语言重写上述大量占用资源的模块的代码,以求提高效率。 例1: 设计一个产品,它将一个文件名作为输入,并返回文件中的字数。 第一级分解 第二级分解 精化 例2:汽车数字仪表板 通过模数转换实现传感器和微处理机接口; 在发光二极管面板上显示数据; 指示每小时英里数(mph),行驶的里程,每加仑油行驶的英里数(mpg)等等; 指示加速或减速; 超速警告:如果车速超过55英里/小时,则发出超速警告铃声。 第一级分解 第二级分解 精化 总结: 一般说来,如果数据流不具有显著的事务特点,最好使用变换分析;反之,如果具有明显的事务中心,则应该采用事务分析技术。 机
您可能关注的文档
最近下载
- 2025年文山州砚山县中医医院第十一期招聘(18人)笔试备考题库及答案解析.docx VIP
- C186015【基础】2025年海南医学院105300公共卫生《353卫生综合之医学统计学》考研基础.pdf VIP
- 2025年湖南有色金属职业技术学院单招职业技能测试题库及一套答案.docx
- 中国乙型肝炎病毒母婴传播防治指南(2024年版)解读.pptx
- 有机磷农药中毒.ppt VIP
- 骨科手术护理培训.pptx VIP
- 2025退役分类考试题及答案.docx VIP
- 护线宣传方案课件.pptx VIP
- 2025年文山州砚山县中医医院第十一期招聘(18人)笔试备考试题及答案解析.docx VIP
- SL 557-2012水利基本建设项目竣工决算审计规程.pdf
文档评论(0)