一、Panorama++发展历史
Panorama++的第一代原型系统是"Software Maintenance
Solution"(软件维护解决方案)",第二代产品称为"Hindsight"(后景),第三代产品称为Panorama
(全景),Panorama的客户遍布美国、日本、英国、法国、德国等十多个国家,在Sun
Microsystems、Canon、Toshiba、Sony、Siemens
AG、Nikon等100多家公司中得到实际应用并广受好评。原厂商历经三年开发完成并拥有其全部知识产权的中文版"软件全生命周期工程支撑与量化质量管理平台",以预防错误发生、杜绝错误传递为核心设计理念,继承并扩展了Panorama的功能,真正实现了软件系统需求、设计、编码、测试、维护、文档多环节自动相互追溯、精确定位图形化显示、全面支持美国和欧洲航空/航天最高质量标准RTCA/DO-178B
Level A的MC/DC(修改条件/判断覆盖)测试分析,全方位提高了对软件开发与量化质量测评管理的支持力度。
二、Panorama++功能及工具简介
Panorama++是一个完整的软件工程与量化质量测评管理系统,支持软件开发的整个生命周期,包括:
1. 项目管理支撑:立项预估、规划、监控、结项;
2. 需求阶段支撑: UML建模分析、管理、与设计和源码间的自动追溯查错;
3. 设计阶段支撑:大型系统的快速分层设计、源码框架生成、逆向工程;
4. 编码阶段支撑:支持增量式、高一致性与低风险编码;
5. 测试阶段支撑:包括:
• 基于复杂度分析的测试规划;
• 基于整个被测软件的全部源代码的框图化与自动链接的源代码审议和走查支撑;
• 黑盒子功能测试(采用线性脚本的动作自动俘获与回放,有无源代码均可,后者与所使用的计算机语言种类无关,前者则与白盒子结构测试无缝地相结合);
•
性能(动态用时分配)测试分析包括各程序分支的执行频度分析;
• 白盒子结构测试-支持美国和欧洲航空航天最高质量标准RTCA/DO178B
- LEVEL A的MC/DC(修改条件/判断覆盖)测试覆盖率分析;
• 英特网应用程序的加载测试、分布式中间件与服务器端和客户端的应用程序的配对测试支撑;
• 内存泄漏与违规使用检测、高效率测试用例设计支撑、测试用例有效性分析与测试用例最小等效集的自动生成;
6. 度量与分析支撑:面向对象的个性化度量项的选择与度量标准的设定支持,动态与静态质量数据的自动收集、自动分析以及多形式的分析结果彩图显示;
7. 维护阶段的支撑:动态运行错误自动定位、错误执行路径追溯、高一致性源码修改支撑、高一致性数据修改支撑;
8. 配置支撑:版本维护与管理、智能化多级版本比较等。
Panorama++工具家族一览表
|
|
项目
管理 |
需求 |
设计 |
编码 |
测试 |
度量
分析 |
维护 |
配置 |
CMMI
实施 |
1 |
结构图生成 |
● |
|
● |
|
● |
|
|
|
|
2 |
框图 |
|
● |
|
● |
● |
|
● |
|
|
3 |
测试分析/需求追溯 |
|
● |
|
● |
● |
● |
● |
|
● |
4 |
质量度量分析 |
|
|
● |
|
● |
● |
● |
|
● |
5 |
文档生成 |
|
● |
|
|
● |
|
● |
|
● |
6 |
俘获/回放
|
|
|
|
|
● |
|
|
|
|
7 |
版本比较
|
|
● |
|
● |
|
|
● |
● |
● |
8 |
内存检查
|
|
|
|
|
● |
|
● |
|
● |
9 |
错误追溯
|
|
|
|
|
● |
|
● |
|
● |
10 |
性能分析
|
|
|
|
|
● |
|
● |
|
● |
11 |
无源码功能测试
|
|
|
|
|
● |
|
|
|
|
12 |
英特网应用加载
|
|
|
|
|
● |
|
|
|
|
13 |
分布测试
|
|
|
|
|
● |
|
|
|
|
14 |
项目管理
|
● |
● |
|
|
|
|
|
● |
● |
15 |
建模与代码骨架
|
|
● |
● |
● |
|
|
|
|
|
16 |
文档结构与模板系列
|
|
● |
|
|
|
|
|
|
● |
17 |
事件自动电邮
|
● |
● |
|
|
● |
● |
|
|
● |
18 |
版本比较报告
|
|
|
|
|
|
|
|
● |
|
三、Panorama++功能特点
1、需求、设计、编码、测试、维护、文档多环节自动相互追溯、精确定位图形化显示
没有一个需求与实现该需求的源码间的自动追溯工具,就很难判断功能测试是否充分,很难判断一个需求是否被完全实现,很难确定源码中的一个函数是否真有必要存在于该系统-也许它来自其他已经删去的需求;很难找出其不一致性,也不利于需求和源码的修改维护:一个模块的修改可能关系到一个以上的需求,遗漏了就会产生严重的后果。Panorama++的自动追溯精确定位功能,可以轻松面对系统开发环节中的任意变化。
注:在下面所示图中,被点击选择者自动变成蓝色,而被追溯到者自动显示为红色:
2、大型软件的增量式低风险可视编码支撑
(1) 在完成大型软件系统的快速分层设计后,就在所生成的系统关系图上分配从下到上的增量式编码顺序:
(2) 进行增量式(不需要使用STUB模块)高一致性低风险编码- 在另一个窗口打开被调用的模块,搞清楚它的类型、所需求提供的参数个数以及其顺序,这样,在写调用语句时就不容易搞错:
3、全面支持美国和欧洲航空/航天最高质量标准RTCA/DO-178B Level
A的MC/DC测试分析
4、具有各程序分支执行频度分析能力的软件性能瓶颈(动态用时分配)的高精度分析
(1) 高精度软件性能(动态用时分配)分析结果(以J-Chart 表示,
在每个模块框中有上下两个条状图形,分别表示该模块的执行次数与所用时间,与旁边的数字一致)
A performance analysis result shown
in J-Chart)。
(2)为了进一步确定用时瓶颈, Panorama++还个给出用时较多的模块的各个程序分支的执行频度分析结果,并直接显示在控制流程图上(
A report of code execution frequency
analysis in function level and branch
level for identifying the performance
bottle-necks better).
(3)Panorama++还给出详细的分析报告.
5、亲切、友好的中文界面与中文化动静态分析图表报告和中文网页自动生成
Panorama++不仅提供亲切、友好的中文界面,而且提供一系列中文化用户软件的动静态分析图表报告,以及中文网页,例如:
四、结束语
Panorama自1994年诞生至今,亲历了国际IT市场10年辉煌发展历程,在客户需求不断深化、细化的推动下,Panorama功能不断升级完善,技术更加成熟稳定,其第四代产品Panorama++(中文版)终于面市了,为什么有如此之多的国际知名公司选择Panorama?因为Panorama为客户创造了价值。如果说Panorama前几代产品更多是从为客户节约成本方面创造价值,那么Panorama++则不仅仅能为客户节约成本,更重要的是从提高软件开发效率、减少供需双方分歧角度使多方受益。Panorama++可为客户提供如下关键效益:
1、软件项目开发时程真正可控,可根据基本设计和详细设计所产生的系统框架图安排开发时序与人力配置,动态掌握开发进度,使软件开发时程真正可控;
2、确保开发质量,Panorama++具有需求、设计、编码、测试之间图形化双向追溯、准确定位的特有功能,确保各环节之间的一致性,易于发现需求遗漏,轻松处理需求变更,整体提高项目质量;
3、Panorama++自动产生153类系统动态、静态特性精确说明文档,搭配特定浏览器和项目数据库即可实现由文档动态追溯需求、设计、编码、测试各环节详细信息,使客户对系统开发过程既有整体把握,又有细节认识,易于客户验收和后期维护,同时减少供需双方的分歧。