测试测试自动化.ppt

上传人:wuy****n92 文档编号:86897502 上传时间:2023-04-15 格式:PPT 页数:121 大小:555KB
返回 下载 相关 举报
测试测试自动化.ppt_第1页
第1页 / 共121页
测试测试自动化.ppt_第2页
第2页 / 共121页
点击查看更多>>
资源描述

《测试测试自动化.ppt》由会员分享,可在线阅读,更多相关《测试测试自动化.ppt(121页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、6.7.2 6.7.2 测试测试自动化测试测试自动化 另一类软件测试工具另一类软件测试工具,可以自动执行测试用例、可以自动执行测试用例、查找软件缺陷、分析并记录测试结果。查找软件缺陷、分析并记录测试结果。测试工作台测试工作台(下游下游CASECASE工具工具)源代码源代码预测器预测器测试管理器测试管理器测试预估测试预估模拟器模拟器文件比较器文件比较器报告生成器报告生成器动态分析器动态分析器被测试被测试的程序的程序测试数据测试数据测试结果测试结果测试结测试结果报告果报告执行报告执行报告测试数据生成器测试数据生成器规约规约随机测试自动化工具随机测试自动化工具:猴子测试员猴子测试员只要不停电只要不停

2、电,偶尔能够得到香蕉偶尔能够得到香蕉,猴子就会永远测试下去猴子就会永远测试下去一个想法一个想法:“如果让如果让一百万只猴一百万只猴子在一百万子在一百万只键盘上敲只键盘上敲一百万年一百万年,它们最终就它们最终就可能写出莎可能写出莎士比亚话剧士比亚话剧等巨著等巨著”.”.猴子的进步猴子的进步笨猴子笨猴子:一点也不懂测试软件一点也不懂测试软件,只是随机地单击或按键只是随机地单击或按键,直至发生两件事情之一直至发生两件事情之一:完成循环或系统崩溃完成循环或系统崩溃.不太笨的猴子不太笨的猴子:具有崩溃辨认能力具有崩溃辨认能力,能够重新启动系统开始测试能够重新启动系统开始测试聪明猴子聪明猴子:能够从它的笨

3、兄弟那里获得随机测试的结果能够从它的笨兄弟那里获得随机测试的结果,增加了对环境的认知能力增加了对环境的认知能力,有目的地敲键盘有目的地敲键盘,不仅限于查找崩溃缺陷不仅限于查找崩溃缺陷,同时查看数据同时查看数据,检查检查 操作结果操作结果,找出与预期结果的差别找出与预期结果的差别自动化测试工具实例自动化测试工具实例 美国国际软件自动化(美国国际软件自动化(ISA)公司)公司的的Panorama for C/C+,j、Java和和VB产品,自动化功能包括:产品,自动化功能包括:软件结构分析与逻辑框图的自动化软件结构分析与逻辑框图的自动化软件静态分析软件静态分析数据分析数据分析复杂性分析与分析结果列

4、表的自动化复杂性分析与分析结果列表的自动化软件质量分析软件质量分析动态性能分析动态性能分析软件代码分支或条件覆盖率分析软件代码分支或条件覆盖率分析软件测试用例有效性分析与测试用例最小集的自动选取软件测试用例有效性分析与测试用例最小集的自动选取软件界面手工操作过程的自动记录与自动再执行软件界面手工操作过程的自动记录与自动再执行 (Playback)6.86.8调试调试(纠错技术纠错技术)测试测试是找出软件错误的过程,是找出软件错误的过程,调试调试是确定错误的位置是确定错误的位置、性质性质 并纠正。并纠正。调试的调试的困难在于错误的定位困难在于错误的定位.调试的执行步骤调试的执行步骤错误现场错误现

5、场结果结果执行案例执行案例改正改正测试用例测试用例调试调试已识别已识别的原因的原因被怀疑被怀疑的原因的原因回归回归测试测试附加附加测试测试6.8.1 6.8.1 排错策略方法排错策略方法一一.强行排错强行排错(brute force)(brute force)常见形式常见形式:(1)(1)打印出所有存储内容打印出所有存储内容、代码代码(2)(2)程序中设打印语句程序中设打印语句(3)(3)用自动纠错工具用自动纠错工具 效率最低效率最低二二.回溯法回溯法(跟踪法跟踪法)根据错误症状位置,人工沿程根据错误症状位置,人工沿程序控制流程向回追踪源代码。序控制流程向回追踪源代码。适用于小程序,路径数目很

6、大适用于小程序,路径数目很大时无法进行。时无法进行。三三.消去原因消去原因(cause limination)(cause limination)列出可能原因列出可能原因,逐个排除逐个排除,找出问题找出问题(1)(1)试探法试探法(2)(2)归纳法归纳法(3)(3)演绎法演绎法(4)(4)二分查找法二分查找法(1)(1)归纳法归纳法收集收集有关有关数据数据组织组织数据数据构造构造线索线索研究研究线索线索关系关系假设假设错误错误原因原因证明证明假设假设纠正纠正错误错误能能不不能能证证明明线索线索关系关系错误错误线索线索能能不能不能(2)(2)演绎法演绎法列举列举可能可能错误错误原因原因排除排除不

7、会不会发生发生原因原因对保对保留的留的假设假设推断推断证明证明留下留下的假的假设设确定确定错误错误待定待定错因错因剩余剩余错因错因能能出错出错原因原因不能不能收集更收集更多数据多数据无剩余无剩余6.8.2 6.8.2 修改错误原则修改错误原则注意错误的群集现象,在错误近邻检注意错误的群集现象,在错误近邻检查。查。找到错误的本质并修改找到错误的本质并修改采用回归测试,避免因修改引起的新采用回归测试,避免因修改引起的新错误。错误。修改源程序。修改源程序。6.96.9 测试中的可靠性分析测试中的可靠性分析 开发过程中,利用测试的统计数据来开发过程中,利用测试的统计数据来估算软件的可靠性,以控制软件的

8、质估算软件的可靠性,以控制软件的质量。量。推测错误的产生频度推测错误的产生频度推测残留在程序中的错误数推测残留在程序中的错误数评价测试的精确度和覆盖率评价测试的精确度和覆盖率推测错误的产生频度推测错误的产生频度(推测错误产生的时间间隔)(推测错误产生的时间间隔)1 1K(EK(ET T/I IT T-E-Ec(t)c(t)/I IT T)方法方法:估算平均故障时间估算平均故障时间(MTTF估算公式估算公式)当当故障率为独立于时间的常量故障率为独立于时间的常量:MTTFMTTF K K:经验常数经验常数ETET:程序中原有的残留错误数程序中原有的残留错误数ITIT:程序长度程序长度t t:测试时

9、间测试时间 Ec(t)Ec(t):在在0-t0-t期间内发现的错误总数期间内发现的错误总数1 1=推测残留在程序中的错误数推测残留在程序中的错误数错误植入模型错误植入模型 Mills Mills将将播种模型播种模型用于程序中残留错误的估用于程序中残留错误的估算算,称称错误植入模型错误植入模型播种模型:播种模型:N N:程序中原有残留的错误数程序中原有残留的错误数NtNt:新植入的错误数:新植入的错误数n:n:测试发现的原有错误数测试发现的原有错误数nt:nt:测试发现的植入错误数测试发现的植入错误数N NN Nn nn nt tt tN NN Nn nn nt t=t tHymanHyman对

10、错误植入模型的改进对错误植入模型的改进E ET T:程序中原有的残留错误数程序中原有的残留错误数E E1 1:1 1号测试员在某一时间内发现的错误数号测试员在某一时间内发现的错误数E E2 2:2 2号测试员在同一时间内发现的错误数号测试员在同一时间内发现的错误数E E0 0:两位测试员共同发现的错误数两位测试员共同发现的错误数E EE EE EE E1 10 0=2 2T TE ET TE E1 1E E2 2/E/E0 0第七章第七章 软件维护与软件再工程软件维护与软件再工程7.1 7.1 软件维护的概念软件维护的概念 四类维护活动:四类维护活动:改正性维护改正性维护 适应性维护适应性维护

11、 扩充与扩充与完善性维护完善性维护 预防性维护预防性维护三类维护所占比例三类维护所占比例:其它维护其它维护 5%5%适应性适应性维维 护护 25%25%改正性改正性维维 护护 20%20%扩充与完扩充与完善性维护善性维护 50%50%改正性维护占全部维护量的比率已从改正性维护占全部维护量的比率已从8080年代初年代初的的20%20%大幅度下降大幅度下降,90,90年代初一些公司的产品年代初一些公司的产品差错率已接近于零差错率已接近于零各类维护活动的根本目的是各类维护活动的根本目的是延长软件生存期延长软件生存期其它维护其它维护 4%4%软件软件生存生存周期周期软件诞生软件诞生计计划划分分析析设设

12、计计编编码码测测试试运行和维护运行和维护(简称维护简称维护)改善期改善期 稳定期稳定期 陈旧期陈旧期1 1年年-10-10年年2 2个月个月-2-2年年重构重构软件工程周期软件工程周期7.2 7.2 软件维护的特点软件维护的特点MP+Ke e=(c c-d d)M M :维护工作总工作量维护工作总工作量P P:生产性工作量生产性工作量K K :经验常数经验常数c c:复杂度复杂度d d:对该软件熟悉程度的度量对该软件熟悉程度的度量7.2.1 7.2.1 维护的成本维护的成本7.2.2 7.2.2 维护中的典型问题维护中的典型问题(1)(1)难以跟踪软件版本的进化过程难以跟踪软件版本的进化过程,

13、软件的变化未在文档中反映出来软件的变化未在文档中反映出来.(2)(2)难以跟踪软件的创建过程难以跟踪软件的创建过程.(3)(3)难以读懂他人程序难以读懂他人程序.(4)(4)无文档或不全无文档或不全.(5)(5)软件人员流动性大软件人员流动性大.(6)(6)设计时未考虑修改需要设计时未考虑修改需要,修改困难修改困难.(7)(7)维护工作无吸引力维护工作无吸引力,缺乏成就感缺乏成就感.7.3 7.3 软件的维护任务软件的维护任务 修改修改负责人负责人维维护申请护申请系统监督员系统监督员配置管理员配置管理员7.3.1 7.3.1 维维护机构护机构维护人员维护人员维护管理员维护管理员7.3.2 7.

14、3.2 保存维护记录保存维护记录维护过程中作应记录的数据维护过程中作应记录的数据F程序标识程序标识F源程序语句数目源程序语句数目F机器代码指令条数机器代码指令条数F.F.以收集的数据为基础构造维护数据库以收集的数据为基础构造维护数据库,供维护评价使用供维护评价使用.7.4 7.4 软件软件维护的实施维护的实施7.4.1.4.1 修改源程序的三个步骤修改源程序的三个步骤F分析和理解程序分析和理解程序F修改程序修改程序F重新验证程序重新验证程序7.4.2.4.2 修改程序的副作用修改程序的副作用修改代码的副作用修改代码的副作用修改数据的副作用修改数据的副作用修改文档的副作用修改文档的副作用7.4.

15、3.4.3 重新验证程序重新验证程序1.1.静态确认静态确认2.2.计算机确认计算机确认3.3.维护后的验收维护后的验收从维护角度所需的测试种类:从维护角度所需的测试种类:(1)(1)对修改事务的测试对修改事务的测试(2)(2)对修改程序的测试对修改程序的测试(3)(3)操作过程的测试操作过程的测试(4)(4)应用系统运行过程的测试应用系统运行过程的测试(5)(5)使用过程的测试使用过程的测试(6)(6)系统各部分间接口的测试系统各部分间接口的测试(7)(7)与系统软件接口的测试与系统软件接口的测试(8)(8)安全性测试安全性测试(9)(9)后备后备/恢复过程测试恢复过程测试 7.5 7.5

16、软件可维护性软件可维护性7.5.1 7.5.1 软件软件可维可维护性的定义护性的定义 软件可维护性是指纠正软件系统出现的软件可维护性是指纠正软件系统出现的错误和缺陷,以及为满足新的要求进错误和缺陷,以及为满足新的要求进行修改、扩充或压缩的容易程度。行修改、扩充或压缩的容易程度。衡量软件质量的几个主要质量特性:衡量软件质量的几个主要质量特性:u可维护性可维护性u可使用性可使用性u可靠性可靠性7.5.2.5.2 可维护性的度量可维护性的度量度量程序可维护性的度量程序可维护性的7 7个特性在各类维护个特性在各类维护中的侧重点中的侧重点 改正性维护改正性维护 适应性维护适应性维护 完善性维护完善性维护

17、可理解性可理解性 可测试性可测试性 可修改性可修改性 可靠性可靠性 可移植性可移植性 可使用性可使用性 效率效率 7.6 7.6 提高可维护性的方法提高可维护性的方法F 建立明确的软件质量目标和优先级建立明确的软件质量目标和优先级F 使用提高软件质量的技术和工具使用提高软件质量的技术和工具F 进行明确的质量保证审查进行明确的质量保证审查F 选择可维护的程序设计语言选择可维护的程序设计语言F 改进程序的文档改进程序的文档F 开发软件时考虑到维护开发软件时考虑到维护7.7 7.7 预防性维护预防性维护开发和维护者不应等待用户的维护申开发和维护者不应等待用户的维护申请请,可先选择以下类型程序作为预防

18、可先选择以下类型程序作为预防性维护对象性维护对象:(1)(1)预计若干年内将继续使用的程序预计若干年内将继续使用的程序(2)(2)当今正成功使用的程序当今正成功使用的程序(3)(3)最近的将来要进行大修改和完善的最近的将来要进行大修改和完善的 程序程序7.8 7.8 软件再工程软件再工程 7.8.1 7.8.1 什么是软件再工程什么是软件再工程在软件复用中在软件复用中,有问题是与现有系统密切相关的有问题是与现有系统密切相关的例如例如:现有软件系统如何适应当前技术的发展及需求的变现有软件系统如何适应当前技术的发展及需求的变化化,采用更易于理解的、适应变化的、可复用的系统软采用更易于理解的、适应变

19、化的、可复用的系统软件构架并提炼出可复用的软件构件件构架并提炼出可复用的软件构件?现存大量的遗产软件系统现存大量的遗产软件系统(Legacy Software)(Legacy Software)由于由于技术的发展技术的发展,正逐渐退出使用正逐渐退出使用,如何对这些系统进行挖掘、如何对这些系统进行挖掘、整理整理,得到有用的软件构件得到有用的软件构件?已有的软件构件随着时间的流逝会逐渐变得不可已有的软件构件随着时间的流逝会逐渐变得不可使用使用,如何对它们进行维护如何对它们进行维护,以延长其生命期以延长其生命期,充分利用充分利用这些可复用构件这些可复用构件?软件再工程软件再工程(Software R

20、eengineering)(Software Reengineering)正正是解决上述问题的主要技术手段。是解决上述问题的主要技术手段。软件再工程软件再工程是一类软件工程活动,是一类软件工程活动,是一个工程过程是一个工程过程,它将它将逆向工程逆向工程、重构重构和和正正向工程向工程组合起来组合起来,将现存系统重新构造为新将现存系统重新构造为新的形式。再工程的基础是系统理解的形式。再工程的基础是系统理解,包括对包括对运行系统、源代码、设计、分析、文档等运行系统、源代码、设计、分析、文档等的全面理解。但在很多情况下的全面理解。但在很多情况下,由于各类文由于各类文档的丢失档的丢失,只能对源代码进行理

21、解只能对源代码进行理解,即程序即程序理解。理解。它能够使我们:它能够使我们:F 增进对软件的理解;增进对软件的理解;F 提高软件自身的可维护性、复用性或演化性提高软件自身的可维护性、复用性或演化性.软件再工程过程模型软件再工程过程模型代码重构代码重构数据重构数据重构正向工程正向工程库存目录分析库存目录分析文档重构文档重构逆向工程逆向工程逆向工程逆向工程逆向工程逆向工程(反推工程反推工程reverse engineering)reverse engineering)从现有软件恢复设计信息从现有软件恢复设计信息(有用的维护信息有用的维护信息)设计的设计的恢复过程恢复过程非结构化、无文档非结构化、无

22、文档的源代码或目标代码的源代码或目标代码软件的全部文档软件的全部文档软件再工程相关术语间关系软件再工程相关术语间关系 信信息息库库1 1类视图:类视图:非过程性描述、元描述非过程性描述、元描述例:规格说明例:规格说明再工程再工程3 3类视图:类视图:过程性描述过程性描述例:源程序例:源程序再工程再工程2 2类视图:类视图:伪过程性描述、结构性描述伪过程性描述、结构性描述例:例:DFDDFD、PDLPDL A2 A2类视图:类视图:分析分析再工程再工程逆向工程逆向工程设计恢复设计恢复再工程再工程逆向工程逆向工程设计恢复设计恢复再工程再工程 A1 A1类视图:类视图:分析分析 A3 A3类视图:类

23、视图:分析分析分解分解综合生综合生成视图成视图软件视图软件视图 Software view有关软件的一种表达形式或报告;有关软件的一种表达形式或报告;视图分类:视图分类:F1 1类视图:类视图:F2 2类视图:类视图:F3 3类视图:类视图:FA类视图:类视图:伴随上述各类的分析视图;伴随上述各类的分析视图;A1类视图是对类视图是对1 1类视图的分析信息;类视图的分析信息;A2类视图是有关类视图是有关2 2类视图的分析信息;类视图的分析信息;A3类视图是由类视图是由3 3类视图得到。类视图得到。软件视图示例信息库信息库视图编辑器视图编辑器DFD视图编辑器视图编辑器Petri网网视图编辑器视图编

24、辑器ERA图图视图编辑器视图编辑器跟踪矩阵跟踪矩阵X XX XX XReq1 Req2Prog1Prog2Prog3视图编辑器视图编辑器程序结构图程序结构图视图编辑器视图编辑器流程图流程图视图编辑器视图编辑器规格说明规格说明再工程信息库及其产品软件文档软件文档分析结果分析结果信息库设计成果设计成果规格说明规格说明各种图各种图度量值度量值分析、分解器分析、分解器源程序或其模板源程序或其模板(进入点进入点)源程序源程序自动进行再工程的过程软件软件的新视图语法分析器语义分析器视图合成器信息库其他产品经过再工程经过再工程过程可获得过程可获得的信息的信息格式格式图形图形文档文档度量值度量值逻辑逻辑报告报

25、告7.7.8.2.2 软件再工程技术软件再工程技术再工程课题再工程课题 相关技术相关技术重构重构文档重写、加注释、更新文档文档重写、加注释、更新文档复用工程复用工程重新划分模块重新划分模块数据再工程数据再工程业务过程再工程业务过程再工程可维护性分析、业务量分析、经济分析可维护性分析、业务量分析、经济分析理解软件理解软件改进软件改进软件获取、保存及获取、保存及扩充软件的知识扩充软件的知识分解分解逆向工程、恢复设计逆向工程、恢复设计对象恢复对象恢复程序理解程序理解知识库及变换知识库及变换浏览浏览分析、度量分析、度量逆向工程、恢复设计逆向工程、恢复设计1.1.改进软件改进软件(1 1)软件重构)软件

26、重构 对软件进行改造,使其易于理解或易于维护。对软件进行改造,使其易于理解或易于维护。重构是实现软件再工程全面自动化的第一步重构是实现软件再工程全面自动化的第一步源程序重构的源程序逻辑逻辑格式格式图形图形文档文档度量度量报告报告再构器再构器可获得可获得的信息的信息Restructurer软件重构示意图1.1.改进软件改进软件(2 2)文档重写、加注释、更新文档)文档重写、加注释、更新文档信息源:源程序源程序设计资料设计资料规格说明规格说明变更记录变更记录管理人员管理人员程序人员程序人员文档:嵌入式注释嵌入式注释设计资料设计资料规格说明规格说明测试数据测试数据层次图层次图检查:再测试再测试插入注

27、释插入注释生成图形生成图形生成报告生成报告文档重写示意图1.1.改进软件改进软件(3)(3)复用工程:复用工程:目的是修改软件,使其更易于复用目的是修改软件,使其更易于复用再说明再说明再生成再生成分类分类证明证明附加查找描述信息附加查找描述信息查找利用再工程实现软件复用的过程应用问题应用问题部件部件可复用部件可复用部件可复用库可复用库:可复用源程序可复用源程序复用复用再工程器析取析取2.2.理解软件理解软件(1 1)浏览)浏览(2 2)分析与度量)分析与度量 理解程序特性理解程序特性(如复杂性如复杂性)的重要方法的重要方法.与再工程相关的技术与再工程相关的技术:程序分片程序分片 控制流复杂性度

28、量控制流复杂性度量 耦合性度量耦合性度量(3 3)逆向工程与设计恢复)逆向工程与设计恢复逆向工程恢复信息的级别逆向工程恢复信息的级别:(1)(1)实现级实现级:程序的抽象语法程序的抽象语法 树、符号表等信息树、符号表等信息(2)(2)结构级结构级:反映程序分量之间反映程序分量之间 相互依赖关系的信相互依赖关系的信 息,如调用图、结息,如调用图、结 构图等构图等.(3)(3)功能级功能级:反映程序段功能和反映程序段功能和 段间关系的信息段间关系的信息(4)(4)领域级领域级:反映程序分量与应反映程序分量与应 用领域概念间对应用领域概念间对应 关系的信息关系的信息抽抽象象级级别别低低高高信息的抽象

29、信息的抽象级别越高级别越高,它与代码距它与代码距离越远离越远,通通过逆向工程过逆向工程恢复的难度恢复的难度越大越大,自动自动工具支持的工具支持的可能性变小可能性变小逆向工程逆向工程源程序源程序目标代码目标代码反汇编、反编译反汇编、反编译程序分析技术程序分析技术:程序结构分析工具程序结构分析工具 程序功能分析工具程序功能分析工具 源程序源程序概要设计概要设计详细设计详细设计概要设计概要设计需求分析需求分析3.3.获取、保存和扩充软件的知识获取、保存和扩充软件的知识(1 1)分解)分解 从程序中找出对象和关系从程序中找出对象和关系,存入信息库存入信息库.分解器举例分解器举例:UNIX中的中的lex

30、lex和和yaccyacc(2 2)对象恢复)对象恢复 从源程序中取得对象从源程序中取得对象,将非面向对象程序转将非面向对象程序转 换为面向对象程序换为面向对象程序.(3 3)程序理解)程序理解(4 4)知识库和程序变换)知识库和程序变换 变换变换是是再工程再工程的核心活动的核心活动。再工程是在同一类视图或前一再工程是在同一类视图或前一类视图上把一个软件视图的信息变类视图上把一个软件视图的信息变换成另一视图的信息。换成另一视图的信息。变换变换也是也是逆向工程逆向工程和设计恢复和设计恢复的基础。的基础。逆向工程与再工程十分相似,逆向工程与再工程十分相似,只是两者的原始视图和目标视图不只是两者的原

31、始视图和目标视图不同,它的目标视图一般在前类视图同,它的目标视图一般在前类视图中。中。源代码源代码 结构图结构图,既可看作是再工程,既可看作是再工程,也可看作是逆向工程。也可看作是逆向工程。源代码源代码 重构源代码重构源代码 则是再工程或则是再工程或称重构,并不是逆向工程。称重构,并不是逆向工程。(6 6)再工程的同义词:)再工程的同义词:F 改进改进F 更新更新F 整修整修F 再开发工程再开发工程F 再生再生F 复用工程复用工程7.7.8.3.3 为什么要实施软件再工程为什么要实施软件再工程再工程可帮助降低软件演化风险再工程可帮助降低软件演化风险再工程可帮助补偿软件投资再工程可帮助补偿软件投

32、资再工程可使得软件易于进一步变更再工程可使得软件易于进一步变更再工程有广阔市场再工程有广阔市场再工程扩大了再工程扩大了CASECASE工具集工具集再工程是推动自动软件维护的动力再工程是推动自动软件维护的动力第八章第八章 软件工具与软件开发环境软件工具与软件开发环境8.1 8.1 软件工具软件工具定义:定义:用来辅助软件开发、运行、维用来辅助软件开发、运行、维 护、管理、支持等过程中的活护、管理、支持等过程中的活 动的软件成为软件工具动的软件成为软件工具.分类:分类:按软件过程活动分类按软件过程活动分类 支持软件开发过程的工具支持软件开发过程的工具 支持软件维护过程的工具支持软件维护过程的工具

33、支持软件管理过程和支持过程的工具支持软件管理过程和支持过程的工具 8.2 8.2 计算机辅助软件工程计算机辅助软件工程(CASE)Computer-Aided Software Engineering8.2.1 CASE的基本概念与发展历史的基本概念与发展历史1.什么是CASECASE使人们能在计算机的辅助下进使人们能在计算机的辅助下进行软件开发行软件开发,为软件开发的为软件开发的工程化工程化、自动化自动化进而进而智能化智能化打下基础。打下基础。在在CASECASE工具辅助下进行软件开发工具辅助下进行软件开发,可可提高开发效率、改善软件质量提高开发效率、改善软件质量。CASE构造积木块CASE

34、工具工具环境体系结构环境体系结构硬件平台硬件平台操作系统操作系统可移植服务可移植服务集成框架集成框架2.CASE工具分类工具分类F信息工程工具信息工程工具F工程建模和管理工具工程建模和管理工具F项目计划工具项目计划工具F风险分析工具风险分析工具F项目管理工具项目管理工具F需求根据工具需求根据工具F质量和管理工具质量和管理工具F文档工具文档工具2.CASE工具分类工具分类F系统软件工具系统软件工具F质量保证工具质量保证工具F数据库管理工具数据库管理工具F软件配置管理工具软件配置管理工具F分析和设计工具分析和设计工具FPRO/SIM工具工具F界面设计和开发工具界面设计和开发工具F原型工具原型工具2

35、.CASE工具分类工具分类F编程工具编程工具F集成和测试工具集成和测试工具F静态分析工具静态分析工具F动态分析工具动态分析工具F测试管理工具测试管理工具F客户客户/服务器测试工具服务器测试工具F再工程工具再工程工具 逆向工程工具逆向工程工具 代码重构和分析工具代码重构和分析工具 联机再工程工具联机再工程工具3.3.集成化集成化CASE环境环境(I-CASE)19901990年年WassermanWasserman提出的五级集成模型提出的五级集成模型F平台集成平台集成:工具运行在相同的硬件工具运行在相同的硬件/操作操作 系统平台上系统平台上F数据集成数据集成:工具使用共享数据模型来操作工具使用共

36、享数据模型来操作F表示集成表示集成:工具提供相同用户界面工具提供相同用户界面F控制集成控制集成:工具激活后能控制其它工具的工具激活后能控制其它工具的 操作操作F过程集成过程集成:工具在一个过程模型和工具在一个过程模型和“过程过程 机机”的指导下使用的指导下使用 I CASE 的元素的元素基础块基础块体系结构硬件平台操作系统可移植服务可移植服务集成框架集成框架CASECASE工具工具 集成框架集成框架 的体系结构模型的体系结构模型用户界面层用户界面层 界面工具箱界面工具箱 表示协议表示协议工具代理服务工具代理服务CASE工具工具层工具层对象管理层对象管理层 集成服务集成服务 配置管理服务配置管理

37、服务共享中心库层共享中心库层 CASECASE数据库数据库 访问控制功能访问控制功能2.CASE中心库中心库 在在I-CASE中中心库是软件工程信息的中中心库是软件工程信息的“积聚和存储中心积聚和存储中心”;是一组实现;是一组实现 “数据数据-工具工具”和和“数据数据-数据数据”集成集成 的的机制和数据结构。机制和数据结构。CASE中心库也称为中心库也称为“软件总线软件总线”CASE中心库也是一个存放地,结合了中心库也是一个存放地,结合了高级的集成高级的集成CASE工具的机制。工具的机制。CASE中心库存放的内容中心库存放的内容F被求解的问题被求解的问题F关于问题域的信息关于问题域的信息F系统

38、解决方案系统解决方案F关于被遵从的软件过程(方法学)关于被遵从的软件过程(方法学)的规则和指令的规则和指令F项目计划、资源和历史项目计划、资源和历史F关于组织的信息关于组织的信息CASE中心库提供的服务中心库提供的服务F可从任何高级的数据库管理系统期可从任何高级的数据库管理系统期望得到的访问类型望得到的访问类型F特定于特定于CASE环境的访问类型环境的访问类型中心库中心库中心信息库中心信息库Data 记录记录 元素元素 视图视图 入库实体入库实体处理处理 模块模块 处理处理 函数函数 外部实体外部实体 界面界面图形图形 DFD 结构图结构图 E-RE-R图图 数据模型数据模型规则规则权限权限过

39、程和管理过程和管理现存现存拷贝库拷贝库数据数据字典字典版本版本属性描述属性描述命名标准命名标准 标准名标准名 别名别名 属性名属性名 编译名编译名中心信息库中心信息库报告报告中心信息库中心信息库 的内容的内容3.CASECASE工作台工作台CASECASE工作台概述工作台概述.CASE工作台分类工作台分类 F程序设计工作台程序设计工作台F分析和设计工作台分析和设计工作台F测试工作台测试工作台F交叉开发工作台交叉开发工作台F配置管理工作台配置管理工作台F文档工作台文档工作台F项目管理工作台项目管理工作台程序设计工作台程序设计工作台组成程序设计工作台的工具:组成程序设计工作台的工具:(1)(1)语

40、言编译器语言编译器(2)(2)结构化编译器结构化编译器(3)(3)连接器连接器(4)(4)加载器加载器(5)(5)交叉引用交叉引用(6)(6)按格式打印按格式打印(7)(7)静态分析器静态分析器(8)(8)动态分析器动态分析器(9)(9)交互式调试器交互式调试器测试工作台测试工作台(下游下游CASECASE工具工具)源代码源代码预测器预测器测试管理器测试管理器测试预估测试预估模拟器模拟器文件比较器文件比较器报告生成器报告生成器动态分析器动态分析器被测试被测试的程序的程序测试数据测试数据测试结果测试结果测试结测试结果报告果报告执行报告执行报告测试数据生成器规约规约8.3 8.3 软件工程环境软件

41、工程环境(SEE)(SEE)8.3.1 8.3.1 软件工程环境概述软件工程环境概述软件工程环境定义软件工程环境定义:(1)(1)一组软件工具的集合一组软件工具的集合(2)(2)工具按一定方法或模型组织工具按一定方法或模型组织(3)(3)工具支持整个生存周期各阶段或工具支持整个生存周期各阶段或 部分阶段部分阶段1.软件工程环境分类软件工程环境分类(1)(1)按软件开发模型及开发方法分类按软件开发模型及开发方法分类支持:瀑布模型、支持:瀑布模型、演化模型、演化模型、螺旋模型、螺旋模型、喷泉模型等喷泉模型等支持:结构化方法、支持:结构化方法、信息模型方法、信息模型方法、OO OO方法等方法等 1.

42、软件工程环境分类软件工程环境分类(2)(2)按应用范围分类按应用范围分类:通用型软件工程环境通用型软件工程环境 专用型软件工程环境专用型软件工程环境 (应用型软件工程环境应用型软件工程环境)1.软件工程环境分类软件工程环境分类(3)(3)按开发阶段分类:按开发阶段分类:前端开发环境前端开发环境(支持系统分析、分析、支持系统分析、分析、设计等阶段活动设计等阶段活动)后端开发环境后端开发环境(支持编程、测试等阶段支持编程、测试等阶段 活动活动)软件维护环境软件维护环境逆向工程环境逆向工程环境2.软件工程环境的特征软件工程环境的特征(1)1)仓库仓库(2)(2)工具的集成工具的集成(3)(3)用户友

43、好的界面用户友好的界面(4)(4)提取信息的能力提取信息的能力(5)(5)分析的能力分析的能力(6)(6)可裁剪和可扩充的能力可裁剪和可扩充的能力(7)(7)项目控制和管理项目控制和管理(8)(8)方法学的支持方法学的支持3.软件工程环境的基本功能软件工程环境的基本功能(1)1)软件开发的一致性及完整性维护软件开发的一致性及完整性维护(2)(2)配置管理及版本控制配置管理及版本控制(3)(3)数据的多种表示形式及自动转换数据的多种表示形式及自动转换(4)(4)信息自动检索及更新信息自动检索及更新(5)(5)项目控制和管理项目控制和管理(6)(6)对方法学的支持对方法学的支持 集成环境集成环境软

44、件工程环境的层次模型软件工程环境的层次模型工作台应用工作台应用框架服务框架服务平台服务平台服务 平台服务平台服务SEESEE运行在工作台网络上运行在工作台网络上 宿主系统宿主系统目标机目标机1 1目标机目标机2 2网络连接网络连接网络连接网络连接宿主目标开发方式:宿主目标开发方式:一个软件工程环境运行其上的平台称为一个软件工程环境运行其上的平台称为软件工程环境的宿主机系统软件工程环境的宿主机系统 。框架服务框架服务SEESEE参考模型参考模型数据仓库服务数据仓库服务数据集成服务数据集成服务任务管理服务任务管理服务用户界面服务用户界面服务消息服务消息服务工具插槽工具插槽8.4 8.4 大型软件开

45、发环境大型软件开发环境 青鸟系统简介青鸟系统简介集成化软件工程环境青鸟集成化软件工程环境青鸟IIII系系统统(JB2)(JB2)特点:特点:F环境主要目标之一:支持环境主要目标之一:支持OOOO软件开发软件开发F集成性和开放性的统一。集成性和开放性的统一。F支持多种开发方法支持多种开发方法F可集成支持生存周期全过程的软件工具可集成支持生存周期全过程的软件工具JB2JB2系统总体结构系统总体结构用用 户户 界界 面面过程管理过程管理工作台管理工作台管理工具工具 工具工具 工具工具 工具工具 工具工具 工具工具界面辅助界面辅助 生成器生成器 可复用可复用构件管理构件管理 CASE CASEC+C+

46、语言语言配置管理配置管理版本管理版本管理对对 象象 管管 理理 系系 统统消消息息服服务务器器对对 象象 库库可复用可复用构件库构件库类类 库库界面类库界面类库JBCASE For WindowsJBCASE For Windows体系结构体系结构用用 户户 界界 面面系统平台系统平台(PWIN,(PWIN,中文之星中文之星,四通利方等四通利方等)结构化分析结构化分析工具工具 SAT SAT结构化设计结构化设计工具工具 SDT SDT文档追踪文档追踪工具工具DATTDATT数据库设计数据库设计工具工具 DDT DDT需求文档需求文档 一般设计一般设计文文 档档详细设计详细设计文文 档档数据库数

47、据库文文 档档其它文档其它文档文档出版工具文档出版工具DPTDPT外部工具集成外部工具集成界面工具界面工具编程工具编程工具调试工具调试工具.ClientClient其它其它厂家厂家工具工具WordExeclPowerpoint.ServerServer工作工作站版站版青鸟青鸟环境环境OLEOLE或或文件文件(开放性开放性)JBCASE For WindowsJBCASE For Windows功能简介功能简介结构化分析工具结构化分析工具SATSATFDFDDFD编辑编辑FDDDD编辑及管理编辑及管理F一致性检查一致性检查F需求文档分析需求文档分析F外部工具集成外部工具集成FOLEOLE的的Se

48、rverServerF自动生成自动生成MSDMSD等等JBCASE For WindowsJBCASE For Windows功能简介功能简介结构化设计工具结构化设计工具SDTSDTFMSDMSD编辑编辑F小说明编辑及管理小说明编辑及管理F一致性检查一致性检查F设计文档自动生成设计文档自动生成F设计文档分析设计文档分析F外部工具集成外部工具集成FOLEOLE的的ServerServerF支持详细设计过程等支持详细设计过程等JBCASE For WindowsJBCASE For Windows功能简介功能简介数据库设计工具数据库设计工具DDTDDTFERER图编辑图编辑F对象内容编辑对象内容编

49、辑F对象浏览对象浏览F需求文档分析需求文档分析F自动布局自动布局F报告生成及文档出版报告生成及文档出版F生成数据库模式定义生成数据库模式定义F外部工具集成外部工具集成FOLEOLE的的ServeServeJBCASE For WindowsJBCASE For Windows功能简介功能简介文档追踪工具文档追踪工具DAT/TDAT/TF定义追踪关系定义追踪关系 DFDMSD DFDMSD MSDDFD MSDDFDF显示追踪关系显示追踪关系F删除追踪关系删除追踪关系JBCASE For WindowsJBCASE For Windows功能简介功能简介文档出版工具文档出版工具DPTDPTF文档

50、模板管理文档模板管理F超文本组织管理超文本组织管理FOLEOLE连接及嵌入连接及嵌入F文档输出文档输出:某一章节或整个文档某一章节或整个文档第九章第九章 软件质量管理与质量保证软件质量管理与质量保证9.1 9.1 软件质量软件质量 影响软件质量的因素影响软件质量的因素F人的因素人的因素F软件需求软件需求F测试的局限性测试的局限性F质量管理的困难质量管理的困难F软件人员的传统习惯软件人员的传统习惯F开发规范开发规范F开发工具支持不够开发工具支持不够什么是软件质量成本成本可靠可靠维护维护及时及时交付交付正确正确功能功能功能功能成本成本及时及时交付交付软件质量的若干侧面软件质量的若干侧面9.1.2

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 大学资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com