第八讲 软件可靠性设计ppt课件.ppt
《第八讲 软件可靠性设计ppt课件.ppt》由会员分享,可在线阅读,更多相关《第八讲 软件可靠性设计ppt课件.ppt(70页珍藏版)》请在三一办公上搜索。
1、第8讲 软件可靠性设计(20),内容,软件可靠性设计概述避错设计查错和改错设计容错设计,1.概述/1,实质:在常规的软件设计中,应用必须的方法和技术,使程序设计在兼顾用户的各种需求时,全面满足软件的可靠性要求可靠性设计的四种类型:避错设计查错设计改错设计容错设计,2.避错设计,使软件产品在设计过程中,不发送错误或少发生错误的一种设计方法各种软件工程方法有助于避错可靠性设计的Myers设计原则控制程序的复杂度使系统中的各个模块具有最大的独立性使程序具有合理的层次结构当模块或单元之间的相互作用无法避免时,务必使其联系尽量简单,以防止在模块和单元之间产生未知的边际效应,使设计人员陷入泥潭,无力自拔与
2、用户保持紧密联系,设计原理,1.模块化模块:模块是由边界元素限定的相邻的程序元素(例如数据说明,可执行语句)的序列,而且有一个总体的标识符来代表它如pascal和Ada中的块结构中的Beginend对,或者Java中的因此,过程、函数、子过程、子函数、宏等都可以作为模块面向对象中的对象以及对象内的方法也是模块就是把程序划分成若干个模块,每个模块完成一个子功能,把这些模块集成起来组成一个整体,可以完成指定的功能,解决实际问题。,2023/1/16,5,设计原理,2023/1/16,6,过程、函数VB,设计原理,2023/1/16,7,过程、函数C+,类型标识符 函数名(形式参数表)语句序列对于过
3、程:类型标识符为void,设计原理,2023/1/16,8,子过程、子函数、子程序,主程序,输入子程序,计算子程序,输出子程序,设计原理,面向对象中的对象以及对象内的方法也是模块,2023/1/16,9,订单,DateRecieveisPrepaidPrice,Dispatch()Close(),2023/1/16,10,软件设计原理,经验1:工作量E(P1+P2)E(P1)+E(P2)经验2:,人类在认识复杂现象的过程中使用的最强有力的思维工具是抽象。人们在实践中认识到,在现实世界中一定事物、状态或过程之间总存在着某些相似的方面(共性)。把这些相似的方面集中和概括起来,暂时忽略它们之间的差异
4、,这就是抽象。或者说抽象就是抽出事物的本质特性而暂时不考虑它们的细节。,2023/1/16,11,2、抽象/逐步求精,2023/1/16,12,例:开发一个CAD软件,实现一个二维绘图系统的全部功能,供低级计算机辅助设计使用。,软件设计原理,在我们考虑对任何问题的模块化解法时,可以抽象出很多层次。在抽象的最高层次使用问题环境的语言,以概括方式叙述问题的解法在较低的层次采用更过程化的方法,把面向问题的术语和面向实现的术语结合起来叙述问题的解法最后,在最低的抽象层次可以直接实现的方法来叙述问题的解法,2023/1/16,13,抽象层次I:用问题所处环境的术语来描述这个软件。该软件包括一个计算机绘图
5、界面,向绘图员显示图形,以及一个数字化仪界面,用以代替绘图板和丁字尺。所有直线、折线、矩形、圆及曲线的描画、所有的几何计算、所有的剖面图和辅助视图都可以用这个CAD软件实现。,2023/1/16,14,抽象层次II:任务需求的描述。列出“What”而不是“How”。CAD SOFTWARE TASKS:user interaction task;2-D drawing creation task;graphics display task;drawing file management task;END,软件设计原理,2023/1/16,15,抽象层次III:程序过程表示。以2-D绘图生成任务
6、为例:PROCEDURE 2-D drawing creation REPEAT UNTILE(drawing creation task terminates)DO WHILE(digitizer interaction occurs)Digitizer interface task;DETERMINE drawing request CASE Line:line drawing task;Rectangle:rectangle drawing task;Circle:circle drawing task;END;DO WHILE(keyboard interaction occurs)k
7、eyboard interaction task;PROCESS analysis/computation CASE View:auxiliary view task;Section:cross sectioning task;END;END REPETITION;END PROCEDURE.,软件设计原理,2023/1/16,16,3、信息隐蔽(Information hiding)信息隐蔽使得一个模块内包含的信息(过程和数据)对于不需要这些信息的模块来说,是不能访问的。,在这个抽象层次上,给出了初步的过程表示,所用的术语都已面向软件,而且模块化的工作已经开始显露。,软件设计原理,2023/
8、1/16,17,4、模块独立性(Module independence)每个模块完成一个相对独立的特定子功能,并且和其他模块之间的接口很简单。模块的独立程度可以由两个定性标准来衡量,这两个标准分别称为耦合性和内聚性。藕合衡量不同模块彼此间互相依赖(连接)的紧密程度;内聚衡量一个模块内部各个元素彼此间结合的紧密程度。一般较较优秀的软件设计应尽量做到高内聚、低耦合,即减弱模块间的耦合性和提高模块内的内聚性,有利于提高模块的独立性。,2023/1/16,18,软件设计原理,2023/1/16,19,独立性的度量:耦合,耦合的七种类型完全独立数据耦合特征耦合控制耦合外部耦合公共耦合内容耦合,2023/
9、1/16,20,独立性的度量:耦合,完全独立两个模块之间没有直接关系,它们之间的联系完全是通过主模块的控制和调用来实现的,2023/1/16,21,独立性的度量:耦合,数据耦合一个模块访问另一个模块时,彼此之间是通过简单数据参数(不是控制参数、公共数据结构或外部变量)来交换输入、输出信息的。,2023/1/16,22,独立性的度量:耦合,特征耦合一组模块通过参数表传递记录信息,就是特征记耦合。这个记录是某一数据结构的子结构,而不是简单变量。,2023/1/16,23,独立性的度量:耦合,控制耦合如果一个模块通过传送开关、标志、名字等控制信息,明显地控制选择另一模块的功能,就是控制耦合。,202
10、3/1/16,24,2023/1/16,25,独立性的度量:耦合,公共环境耦合若一组模块都访问同一个公共数据环境,则它们之间的耦合就称为公共耦合。公共的数据环境可以是全局数据结构、共享的通信区、内存的公共覆盖区等。,2023/1/16,26,2023/1/16,27,公共耦合,问题:公共部分的改动将影响所有调用它的模块;公共部分的数据存取无法控制;复杂程度随耦合模块的个数增加而增加。,2023/1/16,28,公共耦合,内容耦合,如果发生下列情形,两个模块之间就发生了内容耦合一个模块直接访问另一个模块的内部数据;一个模块不通过正常入口转到另一模块内部;两个模块有一部分程序代码重迭(只可能出现在
11、汇编语言中);一个模块有多个入口。,2023/1/16,29,独立性的度量:耦合,2023/1/16,30,A访问C的内部数据,内容耦合,2023/1/16,31,A不通过正常入口而转入C的内部。,内容耦合,独立性的度量:耦合,独立性的度量:耦合,应遵循以下原则:尽量使用数据耦合,少用控制耦合和特征耦合,限制公共环境耦合的范围,完全不用内容耦合,2023/1/16,32,2023/1/16,33,独立性的度量:内聚,内聚标志一个模块内各个元素彼此紧密结合的紧密程度。七种内聚:1.偶然内聚2.逻辑内聚3.时间内聚4.过程内聚5.通信内聚6.顺序内聚7.功能内聚,功能内聚一个模块中各个部分都是完成
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第八讲 软件可靠性设计ppt课件 第八 软件 可靠性 设计 ppt 课件
链接地址:https://www.31ppt.com/p-2133909.html