- 1、本文档共15页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
软件工程(pankaj jalote版)第6章软件设计(上)
设计之路 ——《软件工程》第六章设计(上) 第六章(上)总体设计本章分为【总体设计】和【详细设计】两部分。 6.1.1 耦合(1)耦合是不同模块间的相关的程度。 模块越多 耦合度越大。 接口越多 耦合度越大。 信息越复杂 耦合度越大。 我们希望 耦合度越小越好! 6.1.1 耦合(2)面向对象系统中,有三种不同种类的耦合。 交互耦合:一个函数调用另一个函数 构件耦合:一个类有另一个类的变量 继承耦合:是父类和子类的继承关系 6.1.2 内聚(1)内聚是一个模块内部小元素密切程度。 6.1.2 内聚(2)内聚在面向对象系统中,分为三大类。 方法内聚:和功能内聚一样一样的。 类内聚:把我们需要的属性和方法放在一个类中。 继承内聚:把有继承关系的子类放在一父类中。 6.1.2 开闭原则开闭原则是:增加新功能,不要修改老功能。 客户端 打印机1 客户端 打印机 打印机1 打印机2 6.1 随堂作业同学们打开你的作业本,练习下面题目。 什么是耦合?影响耦合复杂度有哪些因素? 我们希望耦合度越高越好吗?为什么? 在面向对象系统中,耦合可以怎样分类? 什么是内聚? 内聚按照强度划分为6个等级,请逐一写出来。 上边题目中我们最喜欢哪一种内聚? 在面向对象系统中,内聚可以怎样分类? 开闭原则是什么? 开闭原则有什么用?· 请写在作业本上,作业作为期末考核重要指标。 ——第二课 面向功能设计 设计之路(2) 6.2 面向功能设计面向功能设计是一种结构化设计方法。 6.2.1 结构图结构图是程序功能结构的图。 上级模块可以调用下级模块 长箭头表示调用下级程序 短箭头表示传递信息 短箭头前段为空心表示数据 短箭头前段为实心表示控制 弧线箭头表示循环调用 程序1 主程序 程序2 程序3 子程序 a c b f d 主程序 程序1 程序3 程序2 6.2.1 结构图(2)结构图可表示程序的循环结构和选择结构。 菱形表示从两个模块中有选择的调用其中一个 主程序 程序1 程序3 程序2 6.2.2结构化设计方法结构化设计的基本原则是问题分解。 画出数据流图,我们以前学过画法。 在数据流图中,识别出输入模块、输出模块、加工模块。 第一层分解。增加一个协同模块。 继续分解各个子模块,直到结构图很清晰。 6.2.3 举例一个很简单的例子,三步画好。 获取单词列表 排序 统计数目 打印数目 输入 输入模块 加工模块 输出模块 主模块 输入模块 统计数目 打印数目 获取单词列表 排序 取一个单词 与前一个单词相同 计数递增 取词 加入单词列表 6.2 随堂作业同学们打开你的作业本,练习下面题目。 结构图有什么用? 结构图中怎样表示参数?怎样表示控制参数? 怎样表示数据参数? 结构图中怎样表示循环结构?怎样表示选择结构? 结构化设计的方法步骤是什么? 请画出课本97页图6.5中的数据流图的结构图。 请画出课本127页第5题的程序结构图。 请写在作业本上,作业作为期末考核重要指标。 * * * * * *
文档评论(0)