|
一、面向对象的可视化建模工具--Rose
1.1 为什么选择Rose?
在软件系统的开发过程中,开发人员经常会遇到以下问题:
·不能准确理解用户的需求;
·系统各部分难于集成;
·软件难于维护和扩充;
·对不断变化的需求束手无策;
·一些严重错误到项目后期才发现;
实际上,上述问题可以归结为一个问题,即信息交流问题:开发人员与用户之间以及开发人员内部都没有能够进行充分的、有效的交流。究其根本,原因在于:系统模型都没有以一种统一的方式显式地表达出来。
统一才能保证相互理解。Rational公司多年来一直致力于建模语言的标准化工作,他先后将三位著名的面向对象大师(Grady Booch、Ivar Jacobson、Jim Rambaugh)聚于自己的大旗之下,提出了统一建模语言UML(Unified Modelling Language),并不断根据业界合作伙伴(如Microsoft、Oracle、IBM、HP等)的反馈对UML进行修正,以保证它能够适应不同领域的需要。梅花香自苦寒来,多年的努力终于取得了丰硕的成果。1997年11月,UML1.1被OMG认定为国际标准。
Rational Rose是业界领先的基于UML的可视化建模工具。根据International Data Corporation(IDC)于1998年5月公布的OOAMDC(面向对象的分析、建模、设计和构建)工具市场的研究报告,Rational Rose已连续第三年在该市场居于领先地位,销售额已达六千三百万美元,市场占有率达26.4%,已超过了其后三种产品市场占有率的总和。
Rational公司RoseLink伙伴计划(Rational RoseLink Partner Program)志在将独立软件商(ISV)和第三方开发商的产品与Rational Rose无缝集成,从而形成完整的解决方案。至今,世界上已有150多家知名公司加盟Rational RoseLink计划,努力创造与Rose的接口,以便从模型中提取信息。
Rational Rose可以和任何一种面向对象的应用程序结构组合使用,通过Rational Rose系列产品可得到各类主要编程语言和快速应用开发工具的直接支持:
a.模型和代码的高度一致
Rose可以真正实现正向、逆向和双向工程。在正向工程中Rose可以为模型产生相应的代码,在逆向工程中Rose可以从用户原来的软件系统导出该系统的模型,而在双向工程中Rose可以真正实现模型和代码之间的循环工程,从而保证模型与代码的高度一致,并通过保护开关使得用户在双向工程中不会丢失或覆盖用户已经开发出的任何代码。
b.多语言的支持
Rose本身能够支持的语言包括:C++、Visual C++、Java、Smalltalk、Ada,以及4GL语言:Visual Basic、PowerBuilder和Forte,也能够为CORBA 应用产生接口定义语言IDL和为数据库应用产生数据库描述语言DDL。Rose能够提供对CORBA 2.2的支持。
同时Rose还有超过150个的Rose-Link软件厂商为Rose提供对其它语言和领域的支持。这也从一个侧面反映出Rose在OOA&OOD领域的应用广泛性。
为最大程度地给Rose用户提供便利和实惠,Rose将产品划分成企业版和专家版,用户可以根据自己在开发语言方面的需要灵活选择不同版本。
c.对团队开发的强有力的支持
Rose提供了两种方式来支持团队开发:一种是采用SCM(软件配置管理)的团队开发方式;另一种是没有SCM情况下的团队开发方式。这两种方式为用户提供了极大的灵活性,用户可以根据开发的规模和开发人员数目以及资金情况等选择其一进行团队开发。
一般情况下,我们建议用户采用具有SCM的团队开发方式,这样能够使得我们在配置管理工具对大规模并行团队开发的良好支持下,进行模型的开发;同时也利于模型版本的管理,为将来模型的重用奠定坚实的基础。
利用Rose进行大规模并行团队开发时,Rose不仅支持SCM工具对整个模型进行管理,而且用户可以将模型中的包映射成控制单元,并使用SCM工具管理这些控制单元,而每个控制单元本身可以分派给不同的开发人员或特定的开发人员进行并行开发。
Rose与ClearCase和SourceSafe(微软产品)等SCM工具实现内部集成,并且只要是遵守微软版本控制系统的标准API——SCC(源代码控制) API的任何版本控制系统均可以集成到Rose中作为配置管理工具。
总之,Rational Rose在团队开发方面能够:
·支持模型的团队并行开发,模型在Rose中可被分解成控制单元进行相应的版本控制。
·通过虚拟路径映射机制支持模型文件或控制单元在工作空间中的移动或复制。
·通过与标准版本控制系统的集成,支持团队管理多个不同项目的模型。
·提供一个Visual Differencing工具,支持归并功能并可报告控制单元间的差异。
·与Microsoft Repository有很好的集成,支持将Rose模型发布到Microsoft Repository中,以方便另一建模工具将此模型输入,从而增加了模型的可重用性。
·由于提供了在Rational Rose中可以增加Framework的功能,使得团队能够重用在早期建模工作中开发的众多设计模型。
d.支持建模语言UML
Rational麾下拥有三位面向对象大师:Grady Booch、James Rumbaugh、Ivar Jacobson,由他们共同创造的UML(统一建模语言)统一了面向对象的建模方法,消除了对象建模的差别。1997年11月,UML被美国OO行业的对象管理小组(OMG)批准为面向对象开发的行业标准语言,并得到了微软、Oracle、IBM、HP等大厂商的支持和认证。微软的存储库就用UML作为构件描述语言。作为面向对象开发的行业标准语言,UML是唯一可以在UNIX上和NT上共用的标准语言。
e.支持模型的Internet发布
Rose的Internet Web Publisher能够创建一个基于Web的Rose模型的HTML版本,使得其他人员能够通过标准的浏览器如:Netscape Navigator或IE来浏览该模型。
f.使用简单且定制灵活的文档生成
Rose本身提供了方便的直接产生模型文档的功能,但是如果能够利用Rational文档生成工具SoDA提供的模型文档模板就可以轻松自如地自动产生OOA和OOD阶段所需的各种重要文档。值得注意的是不管是Rose自身还是SoDA所产生的文档均为Word文档,并且在Rose中可以直接启动SoDA,而SoDA与MS Word是完全无缝集成的。
g.数据库应用的解决方案
利用Rose能够进行数据库的建模,并且Rose能够为ANSI、Oracle、SQL Server、Sybase、Watcom等支持标准DDL的数据库自动生成数据描述语言DDL。Rose与ErWin之间也能够紧密集成,并且能够相互导出另一方的模型。另外,Rose还能够实现Oracle 8的正向和逆向工程,使得用户能够:
·从Oracle 8的关系Schema中产生对象模型,并可以进一步扩展该对象模型以使用Oracle 8的对象能力
·可视化已有的关系数据库
·方便已有商业对象的发现和合成
·保护在已有关系数据库领域的投资,同时尽享对象建模和开发带给应用的所有好处。
1.2 配置方案
使用Rose进行可视化建模,贯穿了软件开发中从最初开始进行需求分析建模,到设计的详细过程,以及到最后的测试并最终完成整个项目的全过程。
本方案针对一个由25人组成,开发平台集中在UNIX上的开发团队进行配置。
由于这样一个团队大部分时间需要同时进行数个项目的并行开发,建议采用SCM(软件配置管理)的团队开发方式,结合Rational的软件配置管理工具ClearCase,可针对不同项目,安排不同的开发人员,并指定该组的开发人员所能操作的项目,这样可达到项目组之间的相对独立,在必要的时候也可以设定相互之间的访问。
以上情况,建议配置方案:
Rational Rose 98i for Unix, Floating License 数量:4 - 6
有时为了使项目组中更多的成员能更方便地使用Rose,可考虑再增加2-3个License。另外参考Rational ClearCase的配置方案。
如用户对需求分析的管理要求较高,可同时考虑Rational的专门针对需求分析和管理的工具Requisite for PC Windows, 95, NT系列产品:
Rational RequisitePro (Floating License) 数量:2 - 3
1.3 适用平台
操作系统:
·Windows 95 and Windows NT
·Solaris 2.5 & 2.6
·HP-UX 10.2, 11.00
·SGI IRIX 6.2, 6.4
·AIX 4.1.4, 4.2
·Digital UNIX 4.0B and D
二、需求分析管理工具—RequisitePro
2.1 解决的问题
Rational RequisitePro是一个基于Windows的简单易用的工具,在软件开发的整个生命周期中,可通过与MicroSoft Word和一个可靠的多用户数据库,使得团队可以简便地对一个系统或应用程序追踪并控制需求变更。RequisitePro可使你始终掌握用户的需求。
区别于传统的需求管理工具,Rational RequisitePro提供了document-centric和database-centric两种途径,并可以和业界领先的工具——从可视化建模,到项目管理,到文档和测试等工具——无缝集成,因为需求始终会推动着你的项目开发的全方面,与其他工具的无缝集成使你免去后顾之忧。
·简单易用,与Microsoft Word无缝集成
·区分优先顺序,追踪并管理
·灵活地支持当前的过程,与现用工具集成,符合IEEE,SEI CMM和ISO品质标准
·增进团队交流
·可离线编辑文档
2.2 配置方案
建议配置方案:
Rational RequisitePro (Node-Locked License) 数量:1
2.3 适用平台
操作系统:
·Windows 95 or Windows NT
字处理器:
·Word 95 or Word 97
三、文档自动生成工具—SoDA/Word
3.1 解决的问题
Rational SoDA是业界唯一的专用报告产生工具,使软件专业人士轻松实现日常文档、项目报告和正式文档的输出。
Rational SoDA可与目前最流行的字处理工具——Microsoft Word无缝集成,Rational SoDA for Word提供了一种简单易用的界面,可方便地产生报告和文档。同时Rational SoDA与Rational在市场上占有主导地位的开发工具——Rational Rose,Rational RequisitePro,Rational TeamTest和Rational ClearQuest等,都可紧密地集成,并可分别为需求、设计、测试和状态产生一个单独的文档界面。
Rational SoDA可以帮助你实现:
·排除项目源数据和项目文档之间的矛盾
·自动文档生成,既省时间又节省费用
·使得所有的团队成员都可以在自己所熟悉的环境中创建自己的文档
·提供一致的方法,使得用户能在每个迭代当中,从多个信息源获取项目数据来生成一致的文档
·可生成分析文档,设计文档,测试文档,状态报告和综合文档
3.2 配置方案
在文档处理界面基本上定位于Windows的情况下,根据团队人数以及项目数,建议配置方案:
Rational SoDA for Word, Windows(Floating License) 数量:4 - 6
3.3 适用平台
操作系统:
·Windows 95 or Windows NT
字处理器:
·Word 95 or Word 97
四、配置管理工具—ClearCase家族
4.1 解决的问题
1.ClearCase
随着软件团队人员的增加,软件版本不断变化,时间的紧缺,多种平台的复杂环境,使得 ClearCase所拥有的特殊组件已成为当今软件开发人员(工程人员和管理者)所必须的工具。分布式操作使得基于Client/Server的运算结构跨越于网上客户机和服务器,ClearCase的先进功能直接解决了原来开发团队所面临的难以处理的问题。
软件开发所面临的问题包括:对当前多种产品的开发和维护,保证产品版本的精确,重建先前发布的产品,加强开发政策的统一和对特殊版本需求的处理。通过解决这些问题,ClearCase用资源重用的方法帮助开发团队使他们所有的软件建立得更加可靠。
a.ClearCase的四种功能
Rational公司的ClearCase是功能强大的软件开发配置管理工具,是软件配置领域的先导,它主要基于Windows和UNIX的开发环境,应用于复杂的产品开发发放、分布式团队开发、并行开发和维护任务等,包括支持当今流行软件开发环境Client/Server网络结构。在激烈的市场竞争中,ClearCase的特点直接响应了软件团队的需求,如:软件生产、发布、维护等。
ClearCase在某些方式上和其它的软件配置管理系统有所不同,从本质上,ClearCase是无可比拟的,因为它包含了一套完整的软件配置管理工具而且结构透明、界面可亲。虽然ClearCase是一个可集成使用的环境,但实际上我们仍可以把ClearCase的所有特性划分为四个具体功能范畴:
·版本控制Version Control
·工作空间管理Workspace Management
·建立管理Build Management
·过程控制Process Control
使用好ClearCase,可以维持一个井井有序的开发环境,保证开发工作顺利进行,而且无须软件开发者改变他们现有的环境、工具和工作方式。
b.图形用户界面
ClearCase包含传统的命令行界面和Motif及Windows点击图形用户界面(GUIs)包括任务设置GUI组件。UNIX和Windows NT的ClearCase的GUIs提供下拉和弹出菜单,工具条,context-sensitive帮助显示来简化公共用户级的命令。另外,界面包含文件浏览器,视图,VOB,版本树,超级联接,可选择的数据,及更多的可以简化在ClearCase中的公共数据对象的查询和选择。
GUI也提供直观比较和归并功能,用高亮度颜色来描述插入,删除,修改。GUI可以通过扩展脚本语言被定制,使用户能创建自己的按钮,工具条,和多水平菜单。定制的组织政策和脚本能在GUI中被访问,而且外部命令也能与GUI进行集成。
另外,ClearCase具有图形事件和属性显示的功能。事件显示可提供相关ClearCase控制元素的历史记录信息,可以被定制成当前全部元素的历史。关于当前元素或设置版本的属性信息,使用制表键显示命令信息,标签,属性,超级联接,触发器,安全性,加锁。
c.连接UNIX 和Windows的桥梁
ClearCase全面支持软件配置管理,给那些经常跨越复杂环境(如:UNIX、Windows系统)进行复杂项目开发的团队带来巨大的效益。当UNIX和Windows的软件工程人员提出了平台的特性后,ClearCase for UNIX和ClearCase for Windows有高度互用性。
对于它所支持的平台,ClearCase通过TCP/IP来连接客户端和服务器。另外,ClearCase拥有的浮动License可以跨越UNIX和Windows NT平台被共享。ClearCase for Windows NT对ClearCase UNIX VOBs的访问与浏览可以通过一个NFS for Windows NT的产品来实现。
d.优势
ClearCase帮助所有规模的开发组织进行更加有效的开发和维护、加强竞争力、增加收益、降低成本。独特的ClearCase带来的特殊利益:
·并行开发增加了团队效率
·自动的工作空间管理——如:直接的版本访问、消除了在拷贝文件上的时间的浪费,增加了个人效率
·快速准确的重建先前的版本,实现简单的维护,提高对客户的支持
·对软件的每一个元件进行版本控制,保证构造的准确性,实现快速准确的产品发布
·事件发生以后对每一个元件的变更进行追踪,减少错误发生
·分布式构造、减少文件拷贝、可用对象的共享,实现硬件资源的优化
·文件注释和开发周期阶段变更的自动关联提高了项目协调和编制
·灵活的进程控制和图形接口定制,使得软件开发在实际中保持一致,提高产品质量
·减少系统管理和维护的负担实现更加有效的团队扩展
·降低风险——它不干扰软件程序员的工作,所以可使用常用的工具和文件系统接口
·增加了软件的安全性和保护性。分布式的存储结构,使得所有的软件资源会随时更新、在硬盘或网络出现错误时那些被ClearCase存储的版本信息会立刻恢复。
·通过和其它工具(如:缺陷追踪)、系统、结构进行集成,实现强有力的开发和维护
·支持不同种类的开发——通过兼容不同平台的软件配置管理系统,如:Windows NT、UNIX、和一些Client端的软件,如:Windows 95、Windows NT、Windows 3.1和Windows for Workgroups。
2. ClearCase组件
Rational的软件开发基础结构产品ClearCase,ClearCaseMultisite,ClearCaseAttache,ClearGuide和ClearDDTS(有关ClearDDTS的配置参考下节变更需求管理和工作流管理工具),为软件开发团队提供必要支持。这些产品帮助团队有效管理软件配置,修改需求,开发进程,并测试复杂情况及实时压力。
ClearCaseMultisite
ClearCaseMultisite是ClearCase的系列产品选项之一,他支持地理-分布的项目团队的并行软件开发和软件重用。Multisite可以创建和更新被复制的ClearCase VOB,允许分散项目团队使用熟悉的ClearCase命令进行访问,开发和软件的集成。
Multisite这个产品扩展了ClearCase完整的软件配置管理功能,为开发者提供透明支持,为管理提供灵活性和安全性,为系统管理员提供熟悉的工具。ClearCaseMultisite的卓越特性和可靠性为有效的分布式开发作出承诺。另外,ClearCaseMultisite的对等体系结构为任何规模的软件团队提供了可调性和灵活性。
·为分布式平行开发复制VOB
·自动同步更新不同站点VOB的更改
·支持连续开发模式
·ClearCase无缝集成
·系统需求:ClearCase Multisite作为可选产品安装在ClearCase主机上,需要6-11MB磁盘空间(受硬件操作平台的影响)。每个用户在访问复制的VOB时需要一个ClearCase Multisite License和一个ClearCase License。
ClearCase Attache
Multisite这个产品扩展了ClearCase完整的软件配置管理功能,为开发者提供透明支ClearCaseAttache为以Microsoft Windows 95, Windows NT, Windows 3.1或Windows for Workgroups 3.11作为他们的桌面开发环境的软件开发者提供了扩展ClearCase软件的强大的功能。ClearCase Attache是Windows客户端的软件,它可以与在UNIX和Windows NT服务器上的ClearCase完好配合共同工作。
·为客户端使用Windows的项目团队带来强大的ClearCase功能
·管理本地工作空间中版本控制数据的功能
·提供访问到cleartool命令
·与Microsoft Visual C++和Visual Basic进行集成
·可选的建立工具
·通过ClearCase Multisite支持分布的开发。ClearCase Multisite组件提供对地理分布的开发团队使用ClearCase和ClearCase Attache的支持。ClearCase Multisite可以跨广域网和本地站点复制并更新的ClearCase VOB。该组件允许ClearCase Attache用户访问,修改,复制在分布项目上的软件元素。
·系统需求及License:ClearCase Attache需要386/486 Pentium PC、Windows 95、Windows NT、Windows 3.1、Windows for Workgroups 3.11、8MB内存10MB以上硬盘。磁盘空间的需求取决于本地工作空间的数量和大小。ClearCase Attache也需要运行在UNIX workstation(DEC、HP、IBM、SGI、Sun)上的ClearCase R.2.1或更高的版本;运行在Windows NT个人电脑上的ClearCase R.2.0。
ClearGuide
ClearGuide是Rational's新的软件过程管理(SPM)产品,它组合了项目管理,工作流,和过程模块的关键特性。ClearGuide超越了传统的工程变更管理系统(包括:项目计划,定义和过程执行和有关软件生命周期的所有任务的管理)的能力。使用ClearGuide,软件开发团队可以从强大的时间线,可预见性的软件项目和定义能力中收益。通过一个灵活的过程框架,重复并提高他们的软件开发过程。他们也可以通过常规任务自动化提高软件开发生命周期中的活动精确度和效率。ClearGuide需要ClearCase3.x版本。
4.2 配置方案
规范的内部网络管理是使用好ClearCase的前提条件,无论是Windows还是UNIX平台,ClearCase都利用系统的用户信息进行识别、验证和记录,为此,使用Windows 95/98/NT Workstation的用户必须登录到NT域,UNIX上的每个用户也必须有各自的用户名和口令。
由于用户的实际网络使用环境不同, ClearCase的配置有很大的灵活性,要根据用户的具体需求决定VOB库的存储位置,Register Server、License Server的分配等等,但是有一个基本原则,即ClearCase的配置是依据组这个概念来划分的,根据用户组来决定权限。目前大多数用户在做软件开发时都分项目组,这样又为ClearCase的配置带来一定的规律。
如果用户的开发环境为纯UNIX环境,开发人员使用UNIX、X终端、PC上的X Server,根据项目的情况划分为几个项目组,每个组一般一台UNIX主机,在此情况下,我们可以给每个项目组设置一个VOB库,每个项目组的开发工作都存储到此VOB库中,给整个开发团队设置一个总的VOB库,存储一些公用的文件和各个项目组开发过程中的阶段性内容,可以备份一些重要文件,以后又可作为整个项目的集成平台。这种结构有点类似于三重结构,有分布,有集中,比较灵活,基本能够适应用户的要求。
如果需要考虑Windows/UNIX混合环境的使用,还要涉及到Windows和UNIX之间相互访问的问题,目前ClearCase只能做到由Windows单向访问UNIX,而且做动态视图访问时需要安装NFS Client产品,例如Hummingbird的NFS Maestro 、NetManage的UNIXLink97、Intergraph的DiskAccess等,配置ClearCase时要考虑到这一点,最上面一级的VOB Server只能是UNIX。
ClearCase是一种真正的基于Client/Server的配置管理工具,将配置管理方法实施到每个人,因此,在开发团队中只有少数几个人用ClearCase是毫无意义的,我们的建议是每个参与开发的人员都有一个ClearCase License,如果由于经费等原因,无法做到,则License数应达到开发总人数的60-80%。
ClearCase的组件,用户可根据实际情况决定所需要的选项和数量。
建议配置方案:
Rational ClearCase, Unix, Floating License 数量:15 - 20
ClearCaseMultisite, UNIX or NT Floating License 数量:3 - 5
ClearGuide, UNIX or NT Floating License 数量:3 - 5
4.3 适用平台
ClearCase支持的操作系统:
·Microsoft Windows NT
·Sun Solaris, SunOS
·Hewlett-Packard HP-UX
·Silicon Graphics IRIX
·IBM AIX
·Digital UNIX
·SCO UnixWare
·Siemens SINIX
·NCR MP-RAS
·Pyramid DC/Osx
Attache支持的操作系统:
·Windows NT
·Windows 95
·Windows 3.1
·Windows for Workgroups 3.11
五、变更需求和工作流管理工具—ClearQuest和ClearDDTS
5.1 解决的问题
a. ClearQuest
ClearQuest和ClearDDTS是Rational实现变更需求和工作流管理的工具,其中ClearQuest是用在Windows平台上的,是一个灵活的缺陷跟踪、变更需求管理系统,适合各种大小的工程项目。ClearQuest统一了团队成员——包括项目管理员,测试人员,开发人员等,对软件的开发变更进行管理,有效地缩短了开发周期。
ClearQuest具有很强的产生报告和制表功能,使得在软件开发的任何时刻都可以更快,更客观地评定软件质量。
ClearQuest可让你了解整个项目组的状况,其特点是:
·在Windows上实现变更需求管理和工作流管理
·帮助团队成员明确他们被分配的任务及其优先级
·了解已有的变更需求和新的变更需求是以多快的速度被解决和产生的
·高度可定制的项目和管理报告
·NT和混合UNIX/NT环境
·可与ClearCase集成
b. ClearDDTS
ClearDDTS是Rational在UNIX平台上实现变更需求和工作流管理的工具,是分布式的变更管理系统,它可以帮助开发者和质量保证组织测量产品质量和管理变更需求。ClearDDTS广泛的缺陷管理能力记录并追踪所有信息(关于缺陷报告,提供项目查询,报告,图表,为缺陷提交提供分布支持。 ClearDDTS'强大的变更管理工具可以和ClearCase集成,并且存储信息(关于被检入或检出的文件)在预检的基础上确保完整的追踪。
·在Windows上实现变更需求管理和工作流管理
·提供了项目度量和状况报告——40+ 预置的管理报告
·灵活的用户定制功能
·支持分布式项目
·可与ClearCase集成
5.2 配置方案
由于用户的开发平台基本上是基于UNIX,可选用ClearDDTS以达到实现变更需求和工作流管理的目的,同时实现与ClearCase的集成。建议配置方案:
Rational ClearDDTS, Unix Floating License 数量:4 - 6
5.3 适用平台
ClearQuest
操作系统:
·Windows NT
·Windows 95(仅限于ClearQuest客户端)
浏览器:
·Netscape Navigator 3.0 and above
·Microsoft Internet Explorer
数据库:
·Microsoft Access
·Microsoft SQL 6.5
ClearDDTS
操作系统:
·Sun Solaris 2.5, 2.5.1, 2.6, 2.7
·HP-UX 10.20, 11.00
·DEC OSF1 4.0d
·IBM AIX 4.2.0, 4.2.1
·SGI IRIX 6.2, 6.4
浏览器:
·Netscape Navigator 3.0 and above
·Microsoft Internet Explorer4.0 and above
HTTP Server Daemons:
·Apache 1.2.*, 1.3.4
·Netscape Enterprise 3.0, 3.0.1, 3.6
六、可靠性测试工具—Purify,PureCoverage
6.1 解决的问题
1. Purify
软件质量是软件的生命!软件测试应占用30%到50%的软件开发费用,充分测试确保质量。然而实际上许多软件在分发之前没有进行很好地测试。这一矛盾源于两个原因:第一,测试软件是极其困难的,并且随着软件设计的复杂度增加,软件测试也就更加困难。第二,典型的软件测试的实施没有一种明确的方法和所需的自动支持,当软件的复杂性使得手工完全测试不再可能时,自动测试工具应运而生,并极大的改进了软件测试的生产力和效率。
对于目前复杂的软件开发项目,run-time错误和访问内存的错误属于最难解决的问题之列。超出数组边界的读写操作、不可预知地丢失了内存、随意使用未初始化的内存,这些潜在的灾难性错误很可能要花上几个星期才能被发现并改正。Purify提供了图形用户界面(GUI),通过检查run-time错误来解决这些复杂的问题。
·在任何应用发生问题的地方,识别执行错误和内存丢失。
·使开发人员在将应用分发给最终用户之前,排除run-time错误。
·易用、易理解的用户界面有助于提高工作效率,减少培训时间。
a.广泛地捕获运行错误
为了进行广泛地检查,Purify使用OCI技术(Object Code Insertion)来截获内存访问,这是通过在存储操作之前,在目标代码中插入其他指令完成的。OCI最突出的优点是完全性:所有的代码(包括共享的第三方函数库)都可以被测试,即使是手工优化的集成代码也不例外。与其他同类工具比较,Purify应用OCI技术,可在应用的更多区域发现更多种类的错误。这种完全性意味着在应用代码中的错误都可以被发现。
b.容易使用
通过在应用的makefile中增加一个词-Purify,Purify便开始了自动检测。经过此处理的程序是一个标准的可执行程序,可以在调试状态下派生、运行。
c.新的图形用户界面
Purify提供交互式的工作模式,产生一组错误信息的报表,以利于分析。一个直观的GUI可以让用户最有效地浏览错误信息。使用分层目录结构,提供指定错误的详细信息,以便用户首先注意最为严重的错误。访问应用资源或开发过程(如:Run,Make,Debug)仅需点按鼠标。这种快捷的访问把修改应用错误的过程变得简单容易了。
d.完备的解决方案
Purify与Pure Coverage(Pure Software公司提供的用以改善代码覆盖域的工具)完全集成在一起。开发人员在识别并清除掉应用中错误的同时,即可获得代码覆盖域中的数据。Purify与Pure Coverage的完美结合为以高质开发为宗旨的单位提供了无懈可击的方案。
e.特点
·直观的图形用户界面
·可以在无源程序的情况下发现运行中的问题
·可以发现任何地方的错误
·可以被识别的错误类型包括:--未初始化的局部变量--未申请的内存--使用已释放掉的内存--超过数组边界的写操作--超过数组边界的读操作--内存丢失问题--文件描述问题--栈溢出错误--栈结构边界错误
·详细的报告,包括栈跟踪和源代码行数
·可以在多线索应用中识别和报告错误
·可立即在错误源处定位
·支持定制的内存管理
·支持其他常用的调试工具
·与Pure Coverage形成了紧密的集成(SGI除外)
·很容易安装和掌握
·多平台
f.获益
·全面提高应用质量
·使对当前环境的改变最小化
·分发更可信赖的代码
·尽早地捕获错误,以使成本得到有效利用
·提高产品性能
·减少用于支持和升级的成本
2. PureCoverage
Pure Coverage 是第一个专供开发人员使用的改善代码覆盖域的工具。Pure Software的专利技术OCI(Object Code Insertion)使Pure Coverage从传统的代码覆盖域工具中脱颖而出。Pure Coverage 通过支持C和C++开发环境,来有效地利用代码覆盖域。
·防止代码未经测试便分发给客户,提高软件质量
·快速方便地识别应用中没有测试的代码
·提高所有开发人员的开发效率
Pure Coverage 是很容易使用的。实际上,在makefile中的link行前增加一个词-Purecov,便可以使开发人员立即从任何应用中收集到重要的覆盖域数据。Pure Coverage 甚至可以从不提供源程序的应用中收集信息。
使用Pure Coverage 不需要再次编译,开发人员仅需再次连接上Pure Coverage。即使没有显示调试信息,Pure coverage 也能够收集重要的覆盖域数据。
a.灵活的报告
Pure Coverage 用极其灵活的方式来报告覆盖域数据。分层树型结构允许开发人员在应用、文件、函数库、函数、行或基本块的水平上浏览关键的覆盖域数据。通过点按鼠标,开发人员就可以看到做了注释的源程序,有助于对已测试或未测试的应用代码逐行进行分析。强有力的报告功能允许开发人员合并多个运行中的数据,并且当测试数据低于某特定阈值时,发出警告。
b.完备的解决方案
Pure Coverage 和Purify(Pure Software公司的用以防止run-time错误的软件)的 结合是非常完美的。开发人员可以在识别和消除错误的同时收集代码覆盖域数据。二者的结合为着眼于高质量开发的单位提供了无与伦比的解决方案。
c.特点
·直观的图形用户界面
·强有力的报告方法
·不需要源程序
·容易使用
·支持C,C++和Fortran
·多平台与Purify构成紧密的集成
d.获益
·全面提高应用质量
·防止未经测试的软件分发给用户
·使对当前环境的改变最小化
6.2 配置方案
建议配置方案:
Rational Purify Unix 数量:3 - 5
Rational PureCoverage Unix 数量:3 - 5
6.3 适用平台
Purify
·运行Sun OS4的 Sun SPARC 工作站
·运行Solaris 2.3 - 2.6及以上版本的 Sun SPARC 工作站
·运行 HP-UX 8.07 及以上版本的 HP9000 系列 700 工作站
·运行 HP-UX 9.0 及以上版本的 HP9000 系列 800 工作站
·运行IRIX5.2, 5.3, 6.2和6.3的SGI工作站
·运行 Windows NT Server 3.51以上
PureCoverage
·运行 Sun OS4的 Sun SPARC 工作站
·运行 Solaris 2.3 及以上版本的 Sun SPARC 工作站
·运行 HP-UX 8.07 及以上版本的 HP9000 系列 700 工作站
·运行 HP-UX 9.0 及以上版本的 HP9000 系列 800 工作站
七、功能测试工具—TeamTest
7.1 解决的问题
伴随着开发及分发软件所使用的技术的更新,软件测试正面临新的机遇,图形用户界面GUI、分布式处理和庞大的分散网络就是这些新技术的代表。不仅技术是新的,而且它们比传统软件更加难于测试,因为这些软件更加复杂、用户界面更加丰富。
其中客户/服务器(C/S)应用构成了重要的一类软件,且已成为主流。它们采用了较多的新技术,在C/S软件体系结构中,处理被分散在客户机和服务器上,其中客户机处理在专门的PC机上实施并提供用户界面和一些本地处理,而服务器处理在共享机上实现并为客户机提供特定的服务,如数据库管理或通信。通常客户机软件具有一个GUI界面,并且可运行在相对便宜地PC机上;服务器软件需要具有多用户能力和较高的性能。
在这种环境下应用系统的测试面临着新的挑战。首先GUI的软件结构大多采用事件驱动模式,与传统的顺序型程序有很大不同,条件组合的数量庞大且多变,传统的测试手段难以覆盖所有的运行状态;另外,由于迫使测试需求急剧上升的快速应用开发(RAD:Rapid Application Development)技术的普及和多个客户站点的软硬件配置的差异,更使得自动化测试成为不可缺少的环节。从服务器端来看,许多客户机并发访问的测试,用手工的方式是很难模拟和再现的。为此,基于Window界面的客户/服务器应用软件质量的保证必须依赖自动化测试工具。
也许存在这样的看法:优秀的测试工具会增加软件开发的预算。但这是一种陈旧的观点,所有的软件都需要测试,测试是保证软件质量的最重要的手段。据有关专家研究表明,在开发周期中,每迟一步对错误实施检查,成本便会增加1/10。因此,开发人员查找错误的最佳开始时间是在项目设计之初,其后同步测试应伴随开发过程的每一个环节,真正达到开发、测试一体化。同时,对于委托他人开发应用程序的用户而言,对软件进行测试验收也是维护自身利益,确保获得高质量应用程序的必要手段。由此可见,无论是实际从事开发的人员还是委托他人开发的用户,都切实需要拥有优秀的测试工具。由此看来,采用优秀的软件测试工具不但不会增加预算,反而会减少软件开发的成本。
TeamTest是一个针对企业级的Internet,ERP和基于Windows Client/Server应用的测试软件,可与Rational其他产品无缝集成。
Based on a scaleable, integrated, server-based test repository, Rational TeamTest combines leading-edge Internet and client/server testing power with comprehensive management tools to set the standard for automated testing of Web, ERP and cross-Windows client/server applications.
Rational TeamTest contains comprehensive tools to verify operation of enterprise applications, whether they are custom client/sever developments, Web-based, or packaged applications such as ERP. Rational TeamTest includes Rational Robot, which delivers Object Testing? technology for object-level testing of applications from component-based development tools, such as Microsoft Visual Basic? and Microsoft Visual C++?. Object Testing provides dramatic improvements in ease of use and test development productivity, and yields tests that remain robust throughout the development lifecycle.
Rational TeamTest also incorporates test planning, management, and coverage tracking as well as defect tracking and reporting. In addition, Rational TeamTest integrates seamlessly with Rational RequisitePro? for integrated requirements planning, Rational ClearQuest? for comprehensive change request management and defect tracking, Rational Purify?, Rational Visual PureCoverage? and Rational Visual Quantify? for comprehensive code coverage analysis.
Rational TeamTest:
Is one solution for all your functional test needs: Web applications, custom Windows applications, and ERP. Rational TeamTest抯 Object Testing technology means you are immediately productive in creating high-quality and robust tests for any of these environments.
Provides complete support for your development and QE teams with integrated test planning, management and tracking as well as defect tracking and management
Includes Rational Robot as well as Rational ClearQuest/TeamTest Edition.
New Features in the current version:
Integration with Rational ClearQuest, Rational抯 leading tool for change-request management and defect tracking. Rational TeamTest uses ClearQuest for tightly integrated defect tracking and reporting Integration with Rational RequisitePro, Rational leading requirements-management tool. Rational TeamTest test requirements planning feature seamlessly integrates with RequisitePro by sharing identical storage technology Integration with Rational Purify, Rational Visual PureCoverage, and Rational Visual Quantify, Rational抯 solutions for complete code coverage analysis.
7.2 配置方案
7.3 适用平台
八、应用性能分析工具—Quantify
8.1 解决的问题
Quantify是便于操作的用于提高软件性能的工具,它可以标识出影响程序执行速度的因素。通过在图形或文本格式下显示性能错误,Quantify帮助开发人员快速分析运行环境中的错误,帮助开发人员大大提高应用的性能,揭示应用的功能、函数库、操作系统对应用性能的影响,减少在开发过程中出现性能瓶颈的可能性。
Quantify便于安装、掌握。为开发人员提供了一个简便的方法避免出现性能方面的瓶颈,而且它对当前开发环境的影响达到了最小化,仅需在makefile中增加一个词,大大缩短用于查找性能瓶颈的时间。Quantify的树形调用关系图及时提供了反映关键功能的可视数据。功能列表和详细的窗口以表的形式显示大量数据,易于阅读。而且可以逐行阅读加了注视的源程序副本。
Quantify精确地记录了由源程序执行的指令数。它在报告CPU时间时减去了自身消耗的时间,使结果正确地反映了时间数据。Quantify在调用函数间正确地传递这些记录,从而使关键路径一目了然。
Quantify使用户可以控制所收集或报告的数据的类型:过滤大量数据;只显示那些重要的程序执行部分。Quantify能够以相互作用或批处理的方式运行。而且不论应用的尺寸大小和测试运行时间的长短如何,Quantify都可提供整个应用在性能方面的信息。Quantify可观察到有可能对应用性能造成影响的共享和第三方函数库或UNIX操作系统调用等的执行情况。开发者亦可识别多线索应用中的性能问题。
Quantify的add-on脚本通过对多次运行自动进行比较,来跟踪应用的性能改善情况,并且合并来自多次运行的数据。Quantify易于与常规的开发模块相集成,便于用户监视应用性能的变化。应用Quantify的数据输出功能可强化自动生成或用户定制性能报告。
·提供广泛的信息,精确地显示性能数据
·灵活多变的数据控制
·扩展、定制报告
·指出用户功能、系统调用、共享和第三方函数库中的性能瓶颈
·收集各线索的性能数据
·自动对多运行进行比较
·提供对性能数据的多种显示方法
·提供用户自定义的、端到端的数据收集功能
·输出功能和add-on脚本使对性能的监视不断扩充并实现自动化
·可在交互式和批处理两种模式下进行工作
受益
·大大减少了用于查找瓶颈的时间
·使各种水平的开发人员都可以成功地对性能进行优化
·通过消除系统性能使最终用户满意
·赋予软件强大的竞争力
8.2 配置方案
建议配置方案:
Rational Quantify Unix 数量:4 - 6
8.3 适用平台
·支持C、C++和Fortran语言
·支持DCE、Solaris线索和Sun OS 1wp函数库
·支持Sun OS 4.1.x,Solaris 2.x和HP-UX 8.x 9.x
九、系统性能分析工具—PerformanceStudio
9.1 解决的问题
PerformanceStudio衡量和预测client/server和Web系统的性能。 PerformanceStudio可以模拟最终用户的反应,只有用它测试的性能才准确。
·可以精确地测试大量用户负载下client/server 和Web应用的质量、性能和稳定性。
·使用最小化的计算资源生成最大化的网络和服务器负载。
·精确地汇报特定客户端配置的反应时间和稳定性。
·从一个单一的master 机激活、驱动和监视所有的测试内容。
·在数据库中汇报相互之间有关系的、端到端的性能。
·DataSmart录制技术即时生成参数化的脚本并且将测试数据完全打乱,无需编程。
·ServerSmart回放技术可以验证变更了的Web页面内容的正确回放。
·LoadSmart调度技术为复杂的脚本建模,无需编程。
·ClientSmart调步技术在回放时可自动保留精确的用户模拟,以提供受控的测试结果。
9.2 配置方案
建议配置方案:
Rational Suite PerformanceStudio 数量:1
9.3 适用平台
·Windows 95, 98, NT
十、面向对象的软件开发过程指南-Unified Process
10.1 解决的问题
Rational Unified Process是一个可通过Web浏览的,可搜索的Rational产品使用指南,增强团队的开发能力。它通过Guideline,模板和工具向导的形式,为软件开发提供详细的指导,以使团队成员能够更好地学习UML语言的使用方法。
·支持软件开发整个生命周期,与Rational的其他工具集成
·由UML创始公司创建的UML用法指南
·提供Rational产品开发的全过程指导
10.2 配置方案
建议配置方案:
Rational Unified Process (Node-Locked) 数量:2 - 5
10.3 适用平台
·Windows 95/NT, UNIX
[em02] |
|