立即登录

如果您已经拥有本站账号,可以直接登录。

* 为必填项 注册新会员

  • 登录名: *   
  • 登录密码: *
  • 重复密码: *   
  • 姓名: *   
  • 公司名称: *   
  • 职务:
  • 联系电话: *   
  • 电子邮件: *   
  • 验证码: *   

立即登录

如果您已经拥有本站账号,可以直接登录。

* 为必填项 找回密码

  • 注册邮箱:

    验证码会以邮件的方式发送到您的邮箱!

  • 验证码: *
  • 请输入新密码: *

安全关键系统集成研制环境ASIDE

提供软件全生命周期研制、管理和审定的综合支持

SA-Optimizer 软件架构优化工具

最大AG平台HOME


在航空航天、军工、核电、轨交等高安全领域的软件研发中,要求通过动态测试100%覆盖软件部件之间的耦合关系,如函数调用、全局变量读写等;这一工作被称为耦合覆盖分析。在业界实践中,工程人员往往付出很大努力却依然没能全面识别出部件间的耦合,也没能对耦合进行充分的测试覆盖。


出现上述局面的重要原因是软件部件间耦合关系类型复杂、数量繁多,导致耦合覆盖工作难度很高、工作量很大。因此,优化软件架构,减少耦合关系是提升耦合覆盖分析效率的关键。


SA-Optimizer提出了“耦合密集度”概念,用以量化评价软件部件间的耦合密集程度。“耦合密集度”越低,耦合覆盖分析的工作量越小,越易于达成100%耦合覆盖。


SA-Optimizer设计了耦合瓶颈图、耦合线路图/矩阵图、耦合信息图来可视化展示、暴露软件部件的耦合:


★ 耦合瓶颈图,从系统级别的宏观视角,找出耦合最密集的瓶颈,如某个被多个部件大量读写的全局变量;

★ 耦合线路图/矩阵图,从部件级别的宏观视角,找出耦合最密集的部件对;

★ 耦合信息图,从部件对的微观视角,展示两个部件之间形成的耦合关系的具体原因,为优化软件架构、消除耦合关系提供最直接的指导信息。


▌耦合线路图/矩阵图


通过分析项目的工程代码,耦合线路图能够自动帮您找到耦合最密集的部件对,并以部件之间的连线表征耦合关系;耦合(如部件间函数调用,部件间的全局变量读写、写写等)越多,部件之间的耦合线路越粗。如图所示。


耦合线路图


针对较粗的耦合线路,您可以尝试按以下步骤优化

选中粗线路连接的一个部件,将其所包含的C文件或者C函数拖动至其他部件;

拖动后耦合关系的变化将实时刷新耦合线路图,您可以立即观察到耦合线路粗细的变化;

选择保留或撤销优化操作;重复上述优化操作,直至满意。


通过在耦合线路图中重新定义C文件、函数所属的软件部件,您能够 在不修改项目代码实现的情况下快速减少部件间的耦合关系 ,优化软件架构。

此外,您还可以用表格形式查看耦合密集的部件对,称为耦合矩阵图。


▌耦合瓶颈图


耦合瓶颈图则进一步可以帮助您在代码实现层面找到导致较多耦合关系的“糟糕实体”,如某个被大量读写的全局变量、被多个部件调用的函数等。如图所示。



耦合瓶颈图


在耦合瓶颈图中,从上到下依次按耦合关系从多到少列出了工具识别的“糟糕实体”,从而为进一步的架构优化找到方向。例如,将导致大量耦合的全局变量改为函数参数传递;修改被大量调用的函数的具体实现,减少部件间的调用耦合;等等。


▌耦合信息图


耦合线路图、耦合瓶颈图从宏观视角展示了耦合密集的部件对、导致大量耦合的糟糕实体,供您了解哪些地方需要优化。


您可以从线路图、瓶颈图快速钻取到耦合信息图;信息图从微观视角为用户提供了特定耦合的具体信息,为优化软件架构、消除耦合关系提供最直接的指导信息,从而明确优化应当如何进行。


▌软件架构优化建议报告


SA-Optimizer能够自动为您生成《软件架构优化建议报告》,该报告有机整合了耦合线路图、耦合瓶颈图、耦合信息图中所揭示的软件耦合信息,为您在SA-Optimizer环境之外分享软件耦合信息提供便利;报告支持用户自定义内容、样式。


▌总结


基于上述视图的组合应用,SA-Optimizer为您在不同维度呈现了一个统一的、全面的耦合密集度的透视。您可以从瓶颈图、线路图、矩阵图的宏观视角,识别耦合密集的“糟糕实体”,认识到什么地方需要优化;您也可以快速钻取到该实体的耦合信息图,从微观视角分析耦合成因,了解如何进行架构的优化; 您还可以通过瓶颈图来进行快速验证架构调整的成效,以最终确认架构优化的方案。



上一篇: SA-Covalyzer 软件耦合覆盖分析工具


下一篇: Q-653 基于ARINC653标准的IMA驻留应用仿真调试环境



上海最大AG平台信息技术股份有限公司 版权所有 沪ICP备13019901号-1 COPYRIGHT © 2017SHAVIATION 邮政编码:201203