分析软件复杂性 CAST AIP帮助降低系统运维成本

大型应用软件的复杂性影响运行稳定性和效率,带来高额的运维管理成本,想快速增加新的业务或者改变现有业务变得十分困难,如何能够检测、了解和评估应用软件的复杂度,成为许多行业客户CIO的重点关注问题。尤其对于传统金融行业、电信服务商以及政府机构,其核心的应用软件系统经历了较长时间的不断演进和变化,软件复杂性带来的稳定性、效率、安全性和高维护成本等问题越发突出。

造成系统复杂的因素包括:历史遗留系统残余、旧版代码、覆盖和重写的代码、与专有应用程序的集成等等。多种系统接口和复杂的业务需求,造成软件系统的复杂性不可控,使应用程序和开发、重组及维护的成本过高,且软件运行风险增加。如果不加以管理,全程变量、非局部变量越多,软件复杂性会在交付项目中越泛滥,留下臃肿、繁琐的应用程序。

IT维护领域的专家Alain April曾说:“维护软件的行为必然会造成软件质量下降“。针对软件代码复杂性的问题,CASTAIP提供的解决方案从软件的源代码入手,全面彻底地洞察应用程序的内在结构,从软件的鲁棒性、安全性、可维护性、可移植性等多种维度进行量化分析,提供给CIO和应用软件决策者以科学、可信的决策依据。

“分析代码的复杂性,使企业能精准计算系统维护需要多少工作量,了解代码修改与重写的利弊及费用对比,降低生产风险的同时降低软件的开发与维护费用。“CAST Software中国区总裁诸凡接受赛迪网采访时表示:“基本复杂性是应用项目开发中不可避免的,意外复杂性是由于设计不完善或缺乏复杂性管理引起的。如果缺乏足够重视,应用的意外复杂性增加,从而导致软件维护成本失控且业务风险陡增。过度的软件复杂性可能会影响开发人员管理应用程序中各层级和组件之间合理交互的能力,还可能使特定的模块难以测试。每一段代码都需要进行评估,才能了解其在健壮性和可移植性方面如何影响应用程序。对于采用多种混合技术构建应用程序的企业来说,软件复杂性是其必须关注的要点。CAST AIP解决方案帮助客户深入洞察应用软件的复杂性,有效控制应用的意外复杂性增加,使得企业可以最大化软件资产价值,延长软件使用周期。”

软件复杂性分析的好处

采用自动化工具持续地对软件复杂性进行分析和度量能帮助项目团队及管理者未雨绸缪,提前管控风险和控制成本。

测量应用复杂性时,最关键的是在整体上查看耦合、内聚、SQL复杂性、框架的使用和算法复杂性,在应用程序组合的技术层面上具有准确、可重复的复杂性度量标准也非常重要。要为连续评估提供基准,才能在满足业务和用户需求变更的同时持续跟踪、评估应用程序的复杂性。

软件复杂性测试可以为企业带来提高代码质量、降低维护成本、 提高生产率、提高健壮性以及符合软件质量标准的好处。

FDA(美国食品药品监督局)的IT应用主管Dr. Ray Russo表示:“CAST的解决方案好像一束光照进黑盒子(Black Box)中,使我们能够清楚地看到应用软件的内部。了解应用软件内部的真实复杂度,它有效地帮助我们降低系统运维成本。”

采用具有软件复杂度算法的自动化分析工具进行应用软件复杂度评估,可以针对各种不同应用程序进行快速分析,分析结果客观、一致,同时还能节约分析成本。实施软件复杂性分析和度量是任何需要提高软件效率和敏捷性的企业与组织的必经之路。