第2章软件质量评价.pptx
《第2章软件质量评价.pptx》由会员分享,可在线阅读,更多相关《第2章软件质量评价.pptx(51页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、武汉大学武汉大学 计算机学院计算机学院 软件工程课程组软件工程课程组软件工程Software Engineeringn 什么是好的软件?什么是好的软件?n 软件质量好坏如何评价?软件质量好坏如何评价?n 什么是好的什么是好的?有何特点?有何特点?n 软件评价的标准如何?软件评价的标准如何?n 什么是软件结构?什么是良软件结构?什么是软件结构?什么是良软件结构?n 什么是模块化?什么是模块化?n 模块设计时应遵循的标准是什么?模块设计时应遵循的标准是什么?n 有效可靠有效可靠n 结构清晰结构清晰q用户角度:达到需求、界面友好、简单易学用户角度:达到需求、界面友好、简单易学q开发人员角度:良结构、
2、易测试、易维护、可开发人员角度:良结构、易测试、易维护、可移植移植 n 文档齐全文档齐全问题问题P同一个问题P的三种不同的软件结构:直接由一个块所控:直接由一个块所控制的块数制的块数 :直接调用它的上级:直接调用它的上级块数目块数目:控制的总层数:控制的总层数 :跨度最宽层的跨度:跨度最宽层的跨度数数 软件结构软件结构线性型线性型树型树型半序型半序型网络结构网络结构合并循环节点合并循环节点良结构良结构模块内部模块内部复杂性增加了复杂性增加了n模块(模块(module):):n模块化模块化c(x):):问题问题 x 的复杂程度的复杂程度E(x):):解决问题解决问题 x 需要的工作量(时间)需要
3、的工作量(时间)对于两个问题对于两个问题P1和和P2if C(P1) C(P2)then E(P1) E(P2)根据人们求解问题的经验,有规律:根据人们求解问题的经验,有规律:C(P1+P2) C(P1)+C(P2)则有则有 E(P1+P2) E(P1)+E(P2) 即即“分而治之分而治之”有助于复杂问题的求解。有助于复杂问题的求解。如果把软件无限细分,如果把软件无限细分, 会出现什么样的情况?会出现什么样的情况?接口成本接口成本最小成本区域最小成本区域总成本总成本块成本块成本成本成本(工作量)(工作量)模块数模块数Mn 抽象(抽象(abstraction)q我们在考虑问题时,集中考虑和当前问
4、题有关的方面,而忽略和我们在考虑问题时,集中考虑和当前问题有关的方面,而忽略和当前问题无关的方面,这就是抽象。或者说抽象就是抽出事物的当前问题无关的方面,这就是抽象。或者说抽象就是抽出事物的本质特性而暂时不考虑它们的细节。本质特性而暂时不考虑它们的细节。q在对软件系统进行模块设计时,可以有不同的抽象层次。在对软件系统进行模块设计时,可以有不同的抽象层次。q忽略细节,分层理解问题,自顶向下层层细化忽略细节,分层理解问题,自顶向下层层细化n信息隐藏(信息隐藏(information hiding)F 细节隐藏细节隐藏 可理解性可理解性 修改副作用小修改副作用小 错误副作用小错误副作用小例:开发一个
5、例:开发一个CAD软件,实现一个二维绘图系统的全部功软件,实现一个二维绘图系统的全部功能,供低级计算机辅助设计使用。能,供低级计算机辅助设计使用。 FF 用问题环境的术语来描述这个软件用问题环境的术语来描述这个软件该软件包括一个计算机绘图界面,向绘图员显该软件包括一个计算机绘图界面,向绘图员显示图形,以及一个数字化仪界面,用以代替绘示图形,以及一个数字化仪界面,用以代替绘图板和丁字尺。所有直线、折线、矩形、圆及图板和丁字尺。所有直线、折线、矩形、圆及曲线的描画、所有的几何计算、所有的剖面图曲线的描画、所有的几何计算、所有的剖面图和辅助视图都可以用这个和辅助视图都可以用这个CAD软件实现软件实现
6、 FF 任务需求的描述,列出任务需求的描述,列出“What”What”而不是而不是“How”How” CAD SOFTWARE TASKS: user interaction task; 2-D drawing creation task; graphics display task; drawing file management task; END FF 程序过程表示程序过程表示 (以(以2-D2-D绘图生成任务为例)绘图生成任务为例) PROCEDURE 2-D drawing creation REPEAT UNTILE (drawing creation task terminate
7、s) 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) keyboard interaction task; PROCESS analysis/computation CASE View:
8、auxiliary view task; Section: cross sectioning task; END; END REPETITION; END PROCEDURE. (Yourdon & Constantine,1978)Great deal of dependenceIndependent Highly coupledLoosely coupledUncoupled Goal: as loose as possible = as independent as possible n彼此完全独立,这意味着模块间无任何连彼此完全独立,这意味着模块间无任何连接,耦合程度最低接,耦合程度最
9、低Uncoupled ABn一个模块访问另一个模块时,彼此间通过一个模块访问另一个模块时,彼此间通过参数交换信息,而且交换的信息仅仅是数参数交换信息,而且交换的信息仅仅是数据据 ABDatan指一个模块调用另一个模块时,传递的信息中有指一个模块调用另一个模块时,传递的信息中有控制信息(尽管有时这种控制信息以数据的形式控制信息(尽管有时这种控制信息以数据的形式出现)出现) ABFlagF2FnF1Flag控制耦合增加控制耦合增加了理解与编程了理解与编程及修改的复杂及修改的复杂性。性。 n两个或多个模块通过一个公共数据环境相互作用两个或多个模块通过一个公共数据环境相互作用Global : V1 V
10、2A:A1=V1+V2B:V1=B1Global : V1 V2A:V1+B:V2=B1+V1问题:问题: 复杂程度随耦合模块的个数增加而增加复杂程度随耦合模块的个数增加而增加 公共部分的数据存取无法控制公共部分的数据存取无法控制 公共部分的改动将影响所有调用它的模块,可维护性差公共部分的改动将影响所有调用它的模块,可维护性差n一个模块访问另一个模块的内部数据一个模块访问另一个模块的内部数据n一个模块不通过正常入口而转到另一个模一个模块不通过正常入口而转到另一个模块的内部块的内部n两个模块有一部分程序代码重叠(只可能两个模块有一部分程序代码重叠(只可能出现在汇编程序中)出现在汇编程序中)n一个
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件 质量 评价
限制150内