软件工程课本讲解第3章软件设计理论(第3章+第8章)

软件工程课本讲解第3章软件设计理论(第3章+第8章)

ID:40837372

大小:799.10 KB

页数:94页

时间:2019-08-08

软件工程课本讲解第3章软件设计理论(第3章+第8章)_第1页
软件工程课本讲解第3章软件设计理论(第3章+第8章)_第2页
软件工程课本讲解第3章软件设计理论(第3章+第8章)_第3页
软件工程课本讲解第3章软件设计理论(第3章+第8章)_第4页
软件工程课本讲解第3章软件设计理论(第3章+第8章)_第5页
资源描述:

《软件工程课本讲解第3章软件设计理论(第3章+第8章)》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、结构图(SC)结构图是精确表达程序结构的图形表示方法结构图反映程序中模块之间的层次调用关系和联系:它以特定的符号表示模块、模块间的调用关系和模块间信息的传递1①模块:模块用矩形框表示,并用模块的名字标记它。结构图的主要内容2②模块的调用关系和接口:模块之间用单向箭头联结,箭头从调用模块指向被调用模块。3③模块间的信息传递:当一个模块调用另一个模块时,调用模块把数据或控制信息传送给被调用模块,以使被调用模块能够运行。而被调用模块在执行过程中又把它产生的数据或控制信息回送给调用模块4④两个辅助符号:在模块A

2、的箭头尾部标以一个菱形符号,表示模块A有条件地调用另一个模块B。当一个在调用箭头尾部标以一个弧形符号,表示模块A反复调用模块C和模块D。5⑤程序的系统结构图(主从关系)6同一名字的模块在结构图中仅出现调用关系只能从上到下不严格表示模块的调用次序,习惯从左到右,有时为减少交叉,适当调整同一层模块左右位置画结构图应注意:7模块化软件系统的模块化是指整个软件被划分成若干单独命名和可编址的部分,称之为模块。这些模块可以被组装起来以满足整个问题的需求。把问题/子问题的分解与软件开发中的系统/子系统或系统/模块对应

3、起来,就能够把一个大而复杂的软件系统划分成易于理解的比较单纯的模块结构。8模块的独立性模块(Module)“模块”,又称“组件”。一般指用一个名字可调用的一段程序。它一般具有如下三个基本属性:功能:描述该模块实现什么功能逻辑:描述模块内部怎么做状态:该模块使用时的环境和条件,即模块的调用与被调用关系9在描述一个模块时,还必须按模块的外部特性与内部特性分别描述模块的外部特性模块的模块名、参数表、其中的输入参数和输出参数,以及给程序以至整个系统造成的影响模块的内部特性完成其功能的程序代码和仅供该模块内部使用

4、的数据外部特性是概要设计的任务,内部特性是详细设计的任务10模块独立性模块独立性,是指软件系统中每个模块只涉及软件要求的具体的子功能,而和软件系统中其它的模块的接口是简单的例如,若一个模块只具有单一的功能且与其它模块没有太多的联系,则称此模块具有模块独立性一般采用两个准则度量模块独立性。即模块间耦合性和模块的内聚性11耦合是模块之间的互相连接的紧密程度的度量。内聚是模块功能强度(一个模块内部各个元素彼此结合的紧密程度)的度量。模块独立性比较强的模块应是高内聚低耦合的模块。12模块间的耦合模块间的耦合程度

5、强烈影响系统的可理解性、可测试性、可靠性和可维护性。13模块间耦合的类型低无直接耦合耦数据耦合合标记耦合性控制耦合公共耦合高内容耦合模块独立性弱(低耦合)强(中耦合)(较强耦合)(强耦合)14无耦合-没有依赖关系松散耦合-有少量依赖关系紧密耦合-有很多依赖关系15非直接耦合(NondirectCoupling)两个模块之间没有直接关系,它们之间的联系完全是通过主模块的控制和调用来实现的。非直接耦合的模块独立性最强。16数据耦合(DataCoupling)一个模块访问另一个模块时,彼此之间是通过简单数据参

6、数(不是控制参数、公共数据结构或外部变量)来交换输入、输出信息的。A统计总成绩总成绩值开发票计算水费单价数量金额17标记耦合(StampCoupling)一组模块通过参数表传递记录信息,就是标记耦合。这个记录是某一数据结构的子结构,而不是简单变量。即传递的这个数据结构的地址:如两个模块通过传递数据结构(不是简单数据,而是记录、数组等)加以联系,或都与一个数据结构有关系,则称这两个模块间存在标记偶合。ABABAB记录名数组名WRITE(记录地址)READ(记录地址)18标记耦合举例计算水电费计算水费计算电

7、费住户情况水费电费住户情况“住户情况”是一个数据结构,图中模块都与此数据结构有关.“计算水费”和“计算电费”本无关,由于引用了此数据结构产生依赖关系,它们之间也是标记偶合.将标记耦合修改为数据耦合举例计算水电费计算水费计算电费本月用水量本月用电量水费电费控制耦合(ControlCoupling)如果一个模块通过传送开关、标志、名字等控制信息,明显地控制选择另一模块的功能,就是控制耦合。21控制耦合举例A计算平均分或最高分B平均/最高(控制信号)成绩读入信息输出结果计算平均分计算最高分平均/最高?B控制耦

8、合增加了理解和编程的复杂性,调用模块必须知道被调模块的内部逻辑,增加了相互依赖去除模块间控制耦合的方法:(1)将被调用模块内的判定上移到调用模块中进行(2)被调用模块分解成若干单一功能模块改控制耦合为数据耦合举例A计算平均分B1平均成绩最高成绩计算最高分B2(本书将其合并到公共耦合)外部耦合一组模块都访问同一全局简单变量而不是同一全局数据结构,而且不是通过参数表传递该全局变量的信息,则称之为外部耦合。即直接访问全局简单变量PUBLICTAB

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。