软件工程 软件开发工具与环境.pptx

上传人:莉*** 文档编号:88449430 上传时间:2023-04-26 格式:PPTX 页数:65 大小:241.71KB
返回 下载 相关 举报
软件工程 软件开发工具与环境.pptx_第1页
第1页 / 共65页
软件工程 软件开发工具与环境.pptx_第2页
第2页 / 共65页
点击查看更多>>
资源描述

《软件工程 软件开发工具与环境.pptx》由会员分享,可在线阅读,更多相关《软件工程 软件开发工具与环境.pptx(65页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、第十三章软件开发工具与环境【本章引言】早期的开发工具主要用来辅助程序员编程,而随着软件的不断改进,各种功能强大的开发工具应运而生。除了能够辅助编程外,还具有支持需求分析、设计、测试、维护和项目管理等功能。软件开发工具与开发方法的结合,再加上相应的软硬件支持就形成了环境。第1页/共65页【本章重点】常用开发工具的功能;CASE工具功能 第2页/共65页【学习目标】掌握常用软件开发工具的分类;掌握CASE环境的组成与结构;了解软件工程环境的概念、分类、构成及特性。第3页/共65页【教学内容】13.1 软件开发工具 13.2 软件工程环境 13.3 CASE技术 13.4 小结 13.5 习题 第4

2、页/共65页13.1 软件开发工具软件开发工具是指为支持计算机软件的开发、维护、模拟、移植或管理而研制的程序系统。开发软件工具的目的是为了提高软件生产率和改进软件的质量。第5页/共65页13.1.1 软件开发工具的功能1.软件开发工具的分类早期人们为提高软件系统的开发效率,研制了许多独立的软件开发工具,如编辑工具、编译工具、组装工具、调试工具和测试工具等。通常,在使用一个工具之后,为使用另一工具必须从前一工具退出,然后才能进入另一工具,工具之间几乎没有任何联系。而事实上,软件系统开发的整个过程使紧密相联的,整个生命周期的各个阶段都有紧密的关系。现在的软件开发工具拥有了更多的功能,各个工具之间都

3、有相互联系。第6页/共65页软件开发工具可以分为以下几种:(1)软件开发工具需求分析工具。设计工具。编码工具。测试工具。(2)软件维护工具版本控制工具。文档分析工具。逆向工程工具。再工程工具。(3)软件管理和支持工具项目管理工具。开发信息库工具。配置管理工具。软件评价工具。第7页/共65页2.软件开发工具的功能无论使哪种软件开发工具,都具备一定的功能,这些功能都以项目满足软件工程的需要为目的。软件开发工具应具有以下功能:描述客观系统存储和管理开发过程中的信息代码的编写或生成文档的编制或生成软件工程管理表达能力或描述能力保持信息一致性的能力使用的方便程度工具的可靠程度对硬件和软件环境的要求应当尽

4、量降低 第8页/共65页13.1.2 常用软件开发工具介绍1.建模工具(1)IBM Rational RoseIBM Rational Rose在软件工程领域被公认为UML建模工具的最佳产品。RationalRose是一个完全的、具有能满足所有建模环境(包括Web开发、数据库建模、各种开发工具和语言)需求能力和灵活性的一套方案。Rational Rose允许系统开发人员、系统管理人员和系统分析人员在软件的各个开发周期内建立系统需求和系统体系架构的可视化模型,并且能够将这些需求和系统体系架构可视化模型转换成代码,帮助系统开发。第9页/共65页Rational Rose是一个独立的工具,通过应用程

5、序接口(API)层与市场主导的各种IDE结合来支持各种编程语言和其它的实现技术。它有如下功能:提供基本的绘图功能。Rational Rose提供了众多的绘图元素,是一个完全支持UML的工具。不仅对UML的各种图中的元素的选择、放置、连接以及定义提供了卓越的机制,还提供了用于支持和辅助建模人员绘制正确的图机制。同时提供了对UML的各种图的布局设计的支持,包括允许建模人员重新排列各种元素,并且自动重新排列那些表示消息的直线,以便后者互不交错。功能强大的浏览器,用于查看模型和查找可重用的构件。提供模型库,这个模型库相当于一个数据库,该数据库中包含模型中使用的各种元素的信息。Rational Rose

6、通用模型库提供了一个包含来自所有的全部信息的模型库,并且该模型库使通用工具能够进行文档化和重用。可定制的目标库或编码指南的代码生成机制。可以针对不同类型的目标语言生成第10页/共65页可定制的目标库或编码指南的代码生成机制。可以针对不同类型的目标语言生成相应的代码,这些目标语言包括C+、Ada、Java、CORBA、Oracle、Visual Basic等。这种由Rational Rose的工具生成的代码通常是一些静态信息,例如类的相关信息,包括类的属性和操作,但是类的操作通常只有方法的声明信息,而包含实际代码的方法体通常是空白的,需要由开发人员自己编写。既支持目标语言中的标准模型又支持用户自

7、定义的数据类型。保证模型与代码之间转化的一致性。通过OLE链接,Rational Rose图表可动态连接到Microsoft Word中。能够与Rational Visual Test、SQA Suite和SoDA文档工具无缝集成,完成软件生命周期中的全部辅助软件工程工作。功能强大的正向/反向建模工作。缩短开发周期。降低维护成本。第11页/共65页IBM Rational Rose通常与Rational产品家族的其它软件配合使用。Rational软件工具可以在Windows、UNIX、Linux和大型机平台上使用,并且可以支持绝大多数语言、IDE和操作环境,其中包括:Java、C、C+、C#、

8、Visual Basic.NET、COM、DCOM、CORBA以及100多个针对实时、嵌入式系统开发人员的开发环境和最新的Internet/Web服务标准。第12页/共65页(2)TogetherBorland软件公司推出的Borland Together Designer Community Edition(简称Together)是一个与平台、语言和IDE无关的建模工具,主要功能与特性如下:支持所有的UML图形。Together支持UML 2.0和UML 1.2的所有图形,可以将模型以XML规范的方式导出。能自动进行模型与代码的同步。Together的LiveSource技术能够做到模型与代

9、码的自动同步,使开发人员摆脱了某些CASE工具需要手工去做这些同步的烦恼。另外,由于源代码与模型是实时同步的,软件重构既可以在代码中进行,也可以在模型图中进行。自动生成文档。Together具有强大的文档生成能力,并且支持文档模板定制,从而使开发人员可以将更多的精力集中到分析和设计上。广泛的模式支持。Together支持业界常用的模式,如J2EE模式等,并可以让开发人员定制自己的模式,从而使模式的复用成为现实,这将极大提高项目的架构质量。重构、测试、审计和度量。Together支持多种重构技巧,并具有强大的测试框架生成能力,可以在一个集成开发环境下完成重构所需要的步骤。Together结合使用

10、审计、度量和重构,可以使重构工作更见成效。支持团队合作,支持与其它CASE工具的集成。第13页/共65页2.设计工具(1)IBM Rational Software Architect在一个开发团队中,软件架构师和高级开发人员要负责确定和维护应用程序架构的各个方面。他们需要功能强大、易于配置的工具来管理当今应用程序的复杂性。IBM Rational Software Architect是一种集成的设计和开发工具,通过使用基于UML的模型驱动的开发,来创建结构更为合理的应用程序和服务。借助于Rational Software Architect,可以将软件设计和开发的各个方面统一起来:开发应用程

11、序时比以前更加得心应手、卓有成效。利用建模语言技术中的最新成果。检查和控制各种应用程序的结构。利用开放的和可扩展的建模平台。简化设计和开发工具解决方案。与生命周期中的其它方面进行整合。第14页/共65页(2)PowerDesignerSybase公司的PowerDesigner是最具集成特性的设计工具集,用于创建高度优化和功能强大的数据库、数据仓库以及与数据密切相关的构件。PowerDesigner提供了一个完整的数据库设计解决方案,业务或系统分析人员、设计人员、数据库管理员和开发人员可以对其裁剪以满足他们的特定需要,而其模块化的结构为购买和扩展提供了极大的灵活性,从而使开发单位可以根据其项目

12、的规模和范围来使用他们所需要的工具。PowerDesigner作为一个功能强大而使用简单的工具集,提供了一个全面的交互环境,支持开发生命周期的所有阶段,从处理流程建模到对象和构件的生成。PowerDesigner产生的模型和应用对象可以不断地增长,适应并随着实际需求的变化而变化。第15页/共65页PowerDesigner包含6个紧密集成的模块,允许开发机构根据其实际需求灵活选用。下面是这6个模块的功能。1)PowerDesigner ProcessAnalyst。用于数据分析或数据发现。ProcessAnalyst可以用一种非常自然的方式描述数据项,从而能够描述复杂的处理模型以反映它们的数据

13、库模型。2)PowerDesigner DataArchitect。用于数据库的概念层和物理层设计和数据库构建。DataArchitect提供概念数据模型设计、自动的物理数据模型生成、非规范化的物理设计、针对多种DBMS的数据库生成,支持开发工具和高质量的文档特性。3)PowerDesigner AppModeler。用于物理数据库的设计、应用对象以及与数据密切相关的构件的生成。通过提供完整的物理建模能力以及利用相关模型进行开发的能力,AppModeler允许开发人员针对先进的开发环境(不仅包括Sybase本公司的产品PowerBuilder,还包括Microsoft的Visual Studi

14、o)快速地生成应用对象和构件。AppModeler还可以生成用于创建数据驱动的Web站点的构件,使开发人员和设计人员可以从一个DBMS发布“动态”的数据。第16页/共65页4)PowerDesigner MetaWorks。通过模型共享以及支持高级团队工作的能力,MetaWorks提供了所有模型对象的一个全局的层次结构的浏览视图,以确保其贯穿于整个开发周期的一致性。5)PowerDesigner WarehouseArchitect。用于数据仓库和数据集市的建模和实现。Warehouse Architect提供了针对所有主要传统DBMS(如Sybase、Oracle、Informix和DB2)

15、以及数据仓库特定的DBMS(如Red Brick Warehouse和ASIQ)的完全的仓库处理支持。6)PowerDesigner Viewer。用于以只读的、图形化的方式访问模型和源数据信息。Viewer提供了对PowerDesigner所有模型(包括概念模型、物理模型和仓库模型)信息的只读访问。第17页/共65页3.编程工具(1)Visual Studio.NETVisual Studio.NET使Microsoft为解决当今最具挑战性的软件开发需要而推出的新一代开发工具,用于设计、开发、调试和部署功能强大而安全的连接Microsoft.NET的软件。Visual Studio.NET所

16、提供的开发工具主要包括:可视化的窗体、网页设计器:支持以拖动方式生成控件,同时提供源码查看视图。智能化的代码编辑器:支持语句自动完成、语法检查等功能。集成编译、调试功能。项目管理功能:生成并管理应用程序文件,并可将应用程序安装到远程服务器上。Visual Studio.NET支持C+、VB、C#和J#等编程语言,开发人员可以使用Visual Studio.NET完成以下工作:构建功能强大而且响应能力极好的基于Windows的应用程序。构建功能强大而且响应能力极好的Pocket PC应用程序。构建完善而安全的Web应用程序。构建对设备有智能感知能力的完善而安全的移动Web应用程序。在以上任何一种

17、应用程序中使用XML Web Services。避免“DLL灾难”。消除代价高昂的应用程序部署和维护问题。第18页/共65页(2)Borland JBuilderBorland JBuilder是Borland公司用于Java平台的应用程序生命周期管理(ALM)技术套件的关键部分,用来为Java开发小组提供所需的开发工具,以便加速Enterprise JavaBeans(EJB)、XML、Web业务、移动与数据库应用程序的开发。JBuilder使用提高开发小组生产力和效率的增强技术,可以使Java开发小组生成可靠的企业级应用。使用Jbuilder,开发人员可以在集成的、可升级的、可扩展的开发小

18、组环境中工作,从而简化源代码的并行管理。Jbuilder技术有助于开发小组理解并经济地复用现有的代码部件,这意味着开发人员能够更加高效地利用时间,对具有类似功能的多个实例只需进行一次编码。第19页/共65页JBuilder开发环境可让开发人员使用从设计、编程、调试与测试直到分发与管理的应用程序生命周期的全部阶段。Jbuilder企业版包括了Borland Optimizeit Suite性能套件工具,用以在整个开发过程中确保开发质量与产品质量。与Borland的Java应用程序生命周期解决方案中其它工具的无缝集成,可以使开发小组专注于开发更好的应用程序,而不必考虑各种工具如何协同工作。JBui

19、lder与Borland Together建模技术的结合,有助于Jbuilder用户更好地理解代码结构,管理项目的复杂程度。JBuilder与Borland StarTeam 自动化配置变更管理系统协同工作,可以在全部开发周期中提高对项目的掌握程度。JBuilder也与其它业界领先的版本控制系统与部署发布平台系统集成在一起,提供了平台的灵活性与选择方面的便利。第20页/共65页JBuilder集成开发环境降低了Java程序的开发难度,同时能够帮助Java程序开发人员提高Java语言的编程水平,从而确保Java开发任务能够快速高效地完成,并且保证开发项目的质量和性能。JBuilder提供了强大的

20、Web应用程序开发支持能力,包括一个针对Apache Struts开发框架的标准可视化设计器,以及对通用开放源代码应用服务器Jboss的全面支持。通过基于Swing的Java OpenTools应用编程接口,JBuilder能够方便地进行扩展。JBuilder和上百个由第三方提供地可重复使用地组件和插件一起发布,提供给开发人员更多地附加价值。和JBuilder一起发布插件的公司包括Altova、Crystal Decisions、Oracle、Sun和Sybase等。第21页/共65页JBuilder有如下主要特性:(1)优异的J2EE开发环境JBuilder提供了对J2EE核心技术EJB 2

21、.0的支持,并通过可视化的EJB Esigner设计器,可以高效地建立可重复使用的EJB。它还支持多种J2EE应用服务器,包括BEA WebLogic、IBM WebSphere、SunONE、Oracle、Sybase EAServer、JBoss和集成的Borland Enterprise Server等,并可以在不用停止服务器的情况下进行本机或远端的EJB执行。(2)高效的Web服务开发环境在开发分布式业务应用程序和其它较大的应用程序时,JBuilder的优越性表现得尤为突出。通过简单得鼠标拖放就能够快捷地创建、验证、输入和输出Web服务。这使得使用、创建和管理多个Web服务任务时更加高

22、效快捷。JBuilder支持最新得Web服务技术,包括SOAP、WSDL、UDDI和WSIL等。第22页/共65页(3)高级Web开发的特性JBuilder内置了多种可视化开发工具,能够快速开发Web应用程序以及客户端Java应用程序。JBuilder内置的Archive Builder Wizard可建立WAR文档,并且可以轻松部署Web应用程序。标准的Struts设计器能够通过简单的拖放操作快速、直观地开发Web高级应用程序。JBuilder允许将现有的HTML或者JSP转换为特有的Struts标签,并提供了JSP标签函数库功能,这样能够加速编码并降低编码错误的风险。(4)贴心的可用性设计

23、JBuilder提供了友好的用户界面。它的多种视窗可用于更快速地编辑代码,而且更容易管理编辑过程。可配置的个性化设置,允许开发人员定制开发环境,使只有与当前任务相关的特性才会显示。新加入的代码折叠功能使得开发人员能够同时观看多个编码片段,从而减少了处理大型源文件的复杂程度。使用项目内部任务管理列表和书签更易于管理工作进程状况。支持复用技术,以加速编码重组从而提高编码速度和编码质量。第23页/共65页(3)EclipseEclipse 是一个开放源代码的、基于Java的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。Eclipse 附带了一个标准的插件集,包

24、括Java 开发工具(Java Development Tools,JDT)。Eclipse最初是由IBM公司开发的替代商业软件Visual Age for Java的下一代IDE开发环境,2001年11月贡献给开源社区,现在它由非营利软件供应商联盟Eclipse基金会(Eclipse Foundation)管理。2003年,Eclipse 3.0选择OSGi服务平台规范为运行时架构。2007年6月,稳定版3.3发布。2008年6月发布代号为Ganymede的3.4版。Eclipse是著名的跨平台的自由集成开发环境(IDE)。最初主要用来Java语言开发,但是目前亦有人通过插件使其作为其他计算

25、机语言比如C+和Python的开发工具。Eclipse的本身只是一个框架平台,但是众多插件的支持使得Eclipse拥有其他功能相对固定的IDE软件很难具有的灵活性。许多软件开发商以Eclipse为框架开发自己的IDE。第24页/共65页Eclipse 最初由OTI和IBM两家公司的IDE产品开发组创建,起始于1999年4月。IBM提供了最初的Eclipse代码基础,包括Platform、JDT 和PDE。目前由IBM牵头,围绕着Eclipse项目已经发展成为了一个庞大的Eclipse联盟,有150多家软件公司参与到Eclipse项目中,其中包括Borland、Rational Software

26、、Red Hat及Sybase等。Eclipse是一个开发源码项目,它其实是 Visual Age for Java的替代品,其界面跟先前的Visual Age for Java差不多,但由于其开放源码,任何人都可以免费得到,并可以在此基础上开发各自的插件,因此越来越受人们关注。近期还有包括Oracle在内的许多大公司也纷纷加入了该项目,并宣称Eclipse将来能成为可进行任何语言开发的IDE集大成者,使用者只需下载各种语言的插件即可。第25页/共65页虽然大多数用户很乐于将Eclipse 当作Java IDE来使用,但Eclipse的目标不仅限于此。Eclipse还包括插件开发环境(Plug

27、-in Development Environment,PDE),这个组件主要针对希望扩展Eclipse的软件开发人员,因为它允许他们构建与 Eclipse 环境无缝集成的工具。由于Eclipse中的每样东西都是插件,对于给Eclipse提供插件,以及给用户提供一致和统一的集成开发环境而言,所有工具开发人员都具有同等的发挥场所。基于 Eclipse 的应用程序的突出例子是 IBM 的WebSphere Studio Workbench,它构成了 IBM Java 开发工具系列的基础。例如,WebSphere Studio Application Developer 添加了对 JSP、servl

28、et、EJB、XML、Web 服务和数据库访问的支持。第26页/共65页Eclipse是一个开放源代码的软件开发项目,专注于为高度集成的工具开发提供一个全功能的、具有商业品质的工业平台。它主要由Eclipse项目、Eclipse工具项目和Eclipse技术项目三个项目组成,具体包括四个部分组成Eclipse Platform、JDT、CDT和PDE。JDT支持Java开发、CDT支持C开发、PDE用来支持插件开发,Eclipse Platform则是一个开放的可扩展IDE,提供了一个通用的开发平台。它提供建造块和构造并运行集成软件开发工具的基础。Eclipse Platform允许工具建造者独

29、立开发与他人工具无缝集成的工具从而无须分辨一个工具功能在哪里结束,而另一个工具功能在哪里开始。第27页/共65页Eclipse SDK(软件开发者包)是Eclipse Platform、JDT和PDE所生产的组件合并,它们可以一次下载。这些部分在一起提供了一个具有丰富特性的开发环境,允许开发者有效地建造可以无缝集成到Eclipse Platform中的工具。Eclipse SDK由Eclipse项目生产的工具和来自其它开放源代码的第三方软件组合而成。Eclipse项目生产的软件以 CPL发布,第三方组件有各自自身的许可协议。第28页/共65页4.测试工具(1)WinRunnerMercury

30、Interactive公司的WinRunner是一种企业级的功能测试工具,用于检测应用程序是否能够达到预期的功能及正常运行。通过自动录制、检测和回放用户的应用操作,WinRunner能够有效地帮助测试人员对复杂的企业级应用的不同发布版进行测试,提高测试人员的工作效率和质量,确保跨平台的、复杂的企业级应用无故障发布及长期稳定运行。第29页/共65页WinRunner具有如下特点:1)轻松创建测试。用WinRuuner创建一个测试,只需点击鼠标和键盘,完成一个标准的业务操作流程,WinRunner自动记录你的操作并生成所需的脚本代码。这样,即使计算机技术知识有限的业务用户轻松创建完整的测试。你还可

31、以直接修改测试脚本以满足各种复杂测试的需求。WinRunner提供这两种测试创建方式,满足测试团队中业务用户和专业技术人员的不同需求。2)插入检查点。在记录一个测试的过程中,可以插入检查点,检查在某个时刻/状态下,应用程序是否运行正常。在插入检查点后,WinRunner会收集一套数据指标,在测试运行时对其一一验证。WinRunner提供几种不同类型的检查点,包括文本的、GUI、位图和数据库。例如,用一个位图检查点,你可以检查公司的图标是否出现于指定位置。3)检验数据。除了创建并运行测试,WinRunner还能验证数据库的数值,从而确保业务交易的准确性。例如,在创建测试时,可以设定哪些数据库表和

32、记录需要检测;在测试运行时,测试程序就会自动核对数据库内的实际数值和预期的数值。WinRunner自动显示检测结果,在有更新/删除/插入的记录上突出显示以引起注意。第30页/共65页4)增强测试。为了彻底全面地测试一个应用程序,需要使用不同类型的数据来测试。WinRunner的数据驱动向导(Data Driver Wizard)可以让你简单地点击几下鼠标,就可以把一个业务流程测试转化为数据驱动测试,从而反映多个用户各自独特且真实的行为。以一个订单输入的流程为例,你可能希望把订单号或客户名称作为可变栏,用多套数据进行测试。使用Data Driver Wizard,你可以选择订单号或客户名称用数据

33、表格文件中的哪个栏目的数据替换。你可以把订单号或客户名称输入数据表格文件,或从其它表格和数据库中导入。数据驱动测试不仅节省了时间和资源,又提高了应用的测试覆盖率。WinRunner还可以通过Function Generator增加测试的功能。使用Function Generator可以从目录列表中选择一个功能增加到你的测试中以提高测试能力。5)运行测试。创建好测试脚本,并插入检查点和必要的添加功能后,你就可以开始运行测试。运行测试时,WinRunner会自动操作应用程序,就象一个真实的用户根据业务流程执行着每一步的操作。测试运行过程中,如有网络消息窗口出现或其它意外事件出现,WinRunner

34、也会根据预先的设定排除这些干扰。第31页/共65页6)分析结果。测试运行结束后,你需要分析测试结果。WinRunner通过交互式的报告工具来提供详尽的、易读的报告。报告中会列出测试中发现的错误内容、位置、检查点和其它重要事件,帮助你对测试结果进行分析。这些测试结果还可以通过Mercury Interactive的测试管理工具TestDirector来查阅。7)维护测试。随着时间的推移,开发人员会对应用程序做进一步的修改,并需要增加另外的测试。使用WinRunner,你不必对程序的每一次改动都重新创建你的测试。WinRunner可以创建在整个应用程序生命周期内都可以重复使用的测试,从而大大地节省

35、时间和资源,充分利用你的测试投资。第32页/共65页每次记录测试时,WinRunner会自动创建一个GUI Map文件以保存应用对象。这些对象分层次组织,既可以总览所有的对象,也可以查询某个对象的详细信息。一般而言,对应用程序的任何改动都会影响到成百上千个测试。通过修改一个GUI Map文件而非无数个测试,WinRunner可以方便地实现测试重用。第33页/共65页(2)LoadRunnerMercury Interactive公司的LoadRunner是一种预测系统行为和性能的负载测试工具。通过以模拟上千万用户实施并发负载及实时性能监测的方式来确认和查找问题,LoadRunner能够对整个企

36、业架构进行测试。通过使用LoadRunner,企业能最大限度地缩短测试时间,优化性能和加速应用系统的发布周期。LoadRunner是一种适用于各种体系架构的自动负载测试工具,它能预测系统行为并优化系统性能。LoadRunner的测试对象是整个企业的系统,它通过模拟实际用户的操作行为和实行实时性能监测,来帮助您更快的查找和发现问题。此外,LoadRunner能支持广泛的协议和技术,为您的特殊环境提供特殊的解决方案。第34页/共65页LoadRunner具有如下功能:1)轻松创建虚拟用户使用LoadRunner的Virtual User Generator,能够很简便地创立起系统负载。该引擎能够生

37、成虚拟用户,以虚拟用户的方式模拟真实用户的业务操作行为。它先记录下业务流程(如下订单或机票预定),然后将其转化为测试脚本。利用虚拟用户,可以在Windows,UNIX 或Linux 机器上同时产生成千上万个用户访问。所以LoadRunner能极大的减少负载测试所需的硬件和人力资源。用Virtual User Generator 建立测试脚本后,您可以对其进行参数化操作,这一操作能让您利用几套不同的实际发生数据来测试您的应用程序,从而反映出本系统的负载能力。以一个订单输入过程为例,参数化操作可将记录中的固定数据,如订单号和客户名称,由可变值来代替。在这些变量内随意输入可能的订单号和客户名,来匹配

38、多个实际用户的操作行为。为了进一步确定您的Virtual user 能够模拟真实用户,您可利用LoadRunner控制某些行为特性。例如,只需要点击一下鼠标,就能轻易控制交易的数量,交易频率,用户的思考时间和连接速度等。第35页/共65页2)创建真实的负载Virtual users 建立起后,您需要设定您的负载方案,业务流程组合和虚拟用户数量。用LoadRunner的Controller,您能很快组织起多用户的测试方案。Controller 的Rendezvous 功能提供一个互动的环境,在其中您既能建立起持续且循环的负载,又能管理和驱动负载测试方案。而且,可以利用它的日程计划服务来定义用户在

39、什么时候访问系统以产生负载。这样,就能将测试过程自动化。同样还可以用Controller 来限定您的负载方案,在这个方案中所有的用户同时执行一个动作(如登陆到一个库存应用程序)来模拟峰值负载的情况。另外,还能监测系统架构中各个组件的性能(包括服务器,数据库,网络设备等)来帮助客户决定系统的配置。第36页/共65页3)定位性能问题LoadRunner内含集成的实时监测器,在负载测试过程的任何时候,可以观察到应用系统的运行性能。这些性能监测器实时显示交易性能数据(如响应时间)和其它系统组件包括application server,web server,网络设备和数据库等的实时性能。这样,可以在测试

40、过程中从客户和服务器的双方面评估这些系统组件的运行性能,从而更快地发现问题。利用LoadRunner的ContentCheck,可以判断负载下的应用程序功能正常与否。ContentCheck 在Virtual users 运行时,检测应用程序的网络数据包内容,从中确定是否有错误内容传送出去。它的实时浏览器帮助您从终端用户角度观察程序性能状况。第37页/共65页4)分析结果以精确定位问题所在当测试完毕后,LoadRunner收集汇总所有的测试数据,并提供高级的分析和报告工具,以便迅速查找到性能问题并追溯原由。使用LoadRunner的Web交易细节监测器,可以了解到将所有的图象、框架和文本下载到

41、每一网页上所需的时间。例如,这个交易细节分析机制能够分析是否因为一个大尺寸的图形文件或是第三方的数据组件造成应用系统运行速度减慢。另外,Web 交易细节监测器分解用于客户端、网络和服务器上端到端的反应时间,便于确认问题,定位查找真正出错的组件。例如,可以将网络延时进行分解,以判断DNS 解析时间,连接服务器或SSL 认证所花费的时间。通过使用LoadRunner的分析工具,可以很快地查找到出错的位置和原因并作出相应的调整。第38页/共65页5)重复测试保证系统发布的高性能负载测试是一个重复过程。每次处理完一个出错情况,您都需要对您的应用程序在相同的方案下,再进行一次负载测试。以此检验您所做的修

42、正是否改善了运行性能。LoadRunner完全支持EJB 的负载测试。这些基于Java 的组件运行在应用服务器上,提供广泛的应用服务。通过测试这些组件,您可以在应用程序开发的早期就确认并解决可能产生的问题。利用LoadRunner,可以很方便地了解系统的性能。它的Controller允许重复执行与出错修改前相同的测试方案。它的基于HTML 的报告提供了一个比较性能结果所需的基准,以此衡量在一段时间内,有多大程度的改进并确保应用成功。由于这些报告是基于HTML 的文本,测试员可以将其公布于测试公司的内部网上,便于随时查阅。第39页/共65页13.2 软件工程环境13.2.1 软件工程环境的概念从

43、软件工程学的范畴来看,软件开发技术主要包含软件开发方法学、软件工具和软件工程环境三方面的内容,软件工程环境是软件开发技术的重要组成部分。开发方法的研究与实现会促进软件开发技术的发展。为帮助实现和推行这种方法,经常随之开发相应的支持工具,主要包括硬件和软件支持工具。在学习新方法的同时也会逐步掌握相应工具的操作。同样人们通过工具的使用能够更充分熟悉新方法,彼此互相促进。方法与工具的结合,再加上相应的软硬件的支持就形成了环境。第40页/共65页1.软件工程环境的概念软件工程环境作为软件工程学的重要组成部分,是实现软件生产工程化的重要基础。为软件开发过程中的技术开发活动与管理活动提供重要支持。近几十年

44、来,软件工程环境的研究取得了充分的发展,如CASE、集成项目支持环境(IPSE)等技术正在成为最有效的软件开发辅助工具,一直是人们关注研究的对象,很多实用的环境应运而生。软件工程环境是是指支持软件产品开发、维护和管理的软件系统,它在统一的集成机制下由一系列软件工具组成。美国国防部给出了软件工程环境另一定义:一个软件工程环境是一组方法、过程及计算机程序的整体化构件,它支持从需求定义、程序生成直到维护的整个软件生命周期。这些工具对软件开发相关的过程、活动和任务提供全面的支持,提高软件产品的生产效率和软件产品的质量,降低软件开发、维护和管理的成本。软件工程环境通常都有一套包括数据集成、控制集成和界面

45、集成的集成机制,使各个工具使用统一的规范访问环境信息库,采用统一的用户界面,同时为各个工具或开发活动之间的通信、切换、调度和协同工作提供支持。第41页/共65页软件工具是指支持计算机软件的开发、维护、仿真或管理而设计的程序系统。软件工具的开发对软件工程环境的支持至关重要。一般将软件工具分为工具箱、工作台和方法指南三种类型。(1)工具箱。能自动执行某类软件生存期任务的一组集成化工具,如系统设计、程序维护及系统分析等。(2)工作台。实现整个软件生存期各种任务自动化的一组集成化工具。(3)方法指南。为某种具体软件提供相应的辅助手段,这些方法包括结构化分析方法、结构化设计方法及信息工程方法等。第42页

46、/共65页2.软件工程环境的分类软件工程环境分类方式有多种。(1)按软件开发模型及开发方法分类,有支持瀑布模型、演化模型、螺旋模型、喷泉模型以及结构化方法、信息模型方法、面向对象方法等不同模型及方法的软件开发环境。(2)按功能及结构特点分类,有单体型、协同型、分散型和并发型等多种类型的软件开发环境。(3)按应用范围分类,有通用型和专用型软件开发环境。其中专用型软件开发环境与应用领域有关,故又可称为应用型软件开发环境。(4)按开发阶段分类,有前端开发环境(支持系统规划、分析、设计等阶段的活动)、后端开发环境(支持编程、测试等阶段的活动)、软件维护环境和逆向工程环境等。此类环境往往可通过对功能较全

47、的环境进行剪裁而得到。第43页/共65页软件开发环境由工具集和集成机制两部分构成,工具集和集成机制间的关系犹如“插件”和“插槽”间的关系。工具集:软件开发环境中的工具可包括:支持特定过程模型和开发方法的工具,如支持瀑布模型及数据流方法的分析工具、设计工具、编码工具、测试工具、维护工具,支持面向对象方法的OOA工具、OOD工具和OOP工具等;独立于模型和方法的工具,如界面辅助生成工具和文档出版工具;亦可包括管理类工具和针对特定领域的应用类工具。集成机制:对工具的集成及用户软件的开发、维护及管理提供统一的支持。按功能可划分为环境信息库、过程控制及消息服务器、环境用户界面三个部分。第44页/共65页

48、环境信息库:是软件开发环境的核心,用以储存与系统开发有关的信息并支持信息的交流与共享。库中储存两类信息,一类是开发过程中产生的有关被开发系统的信息,如分析文档、设计文档、测试报告等;另一类是环境提供的支持信息,如文档模板、系统配置、过程模型、可复用构件等。过程控制和消息服务器:是实现过程集成及控制集成的基础。过程集成是按照具体软件开发过程的要求进行工具的选择与组合,控制集成并行工具之间的通信和协同工作。环境用户界面:包括环境总界面和由它实行统一控制的各环境部件及工具的界面。统一的、具有一致视感(Look&Feel)的用户界面是软件开发环境的重要特征,是充分发挥环境的优越性、高效地使用工具并减轻

49、用户的学习负担的保证。第45页/共65页3.软件工程环境的功能较完善的软件开发环境通常具有如下功能:(1)软件开发的一致性及完整性维护;(2)配置管理及版本控制;(3)数据的多种表示形式及其在不同形式之间自动转换;(4)信息的自动检索及更新;(5)项目控制和管理;(6)对方法学的支持。第46页/共65页4.软件工程环境的结构软件工程环境构成元素有如下内容:软件信息数据库。交互式的人机界面。语言工具。质量保证工具。需求分析及设计工具。配置管理工具。第47页/共65页13.2.2 软件开发环境的特点 下面从环境工具和用户界面两个方面说明软件开发环境的特点。1.集成化的软件工具在早期的编程环境中,各

50、种工具的功能与使用是相互孤立的。在程序调试过程中,如果在程序编译过程中发现错误,要先退出编译程序,重新调用编辑程序来修改程序,待程序修改后,再重新调用编译程序。在程序调试中要不断地重复这一过程,在编译和编辑这两种工具之间来回切换,不仅给操作带来麻烦,而且浪费开发人员很多时间。20世纪70年代出现的工具箱,能部分实现从一个工具到另一个工具的切换。如在程序调试中,当编译程序发现错误时,开发环境能自动调出编辑程序,并且在源程序出错的位置发出某种信号(例如光标闪烁),提示程序员进行修改,既减少了来回切换的麻烦,又缩短了调试时间,提高了开发效率。第48页/共65页集成化工具的使用,则比工具箱更胜一筹。它

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

当前位置:首页 > 应用文书 > PPT文档

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

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁