- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于静态分析的应用代码质量管理体系研究及应用
【摘要】 本文在分析电信运营商在应用代码质量管理方面存在的问题的基础上,结合静态分析技术、管理体系、代码质量等核心技术及理念,提出了基于静态分析的应用代码质量管理体系,并重点描述了该理论在省公司进行试点验证的成果。最后对该理论的应用前景进行了简要展望。
【关键词】 代码质量 电信业务支撑系统 静态分析 管理体系 评估模型 质量规范
随着软件项目规模越来越大,代码质量审计已变得非常重要,原始的作坊式的人工代码审计逐渐成为项目的瓶颈,如何有效地进行代码质量管理成为运营商面临的重要课题。
一、电信运营商对应用代码质量管理体系的需求
应用代码质量管理体系建设的需求驱动源于企业运营标准化、精细化管控的内在驱动和市场竞争的外在驱动。企业内部运营的需求驱动主要源于风险控制要求、系统标准化建设及企业精细化运营管理所要求的系统支撑要求。市场竞争的外在驱动源于市场竞争形势的变化以及客户对业务系统高质量服务能力的要求。
内在方面,当前阶段企业在交付软件系统或验收软件系统时,除了验证软件所实现的功能,另一个重要的方面就是考察软件代码本身的质量。
外在方面,随着电信行业运营商竞争的日益激烈,客户对服务的要求也不断提高,能否提供高品质的客户服务是我们重要的竞争筹码。确保系统保持稳定、健壮、高效支撑是业务系统支撑人员的首要任务,这就对业务系统的代码质量提出了更高的要求。
针对电信运营商业务支撑系统的现状,本文提出的一种基于静态分析的应用代码质量管理体系,从系统源代码的角度出发,通过制定应用代码质量规范、建立评估模型、同时提出一套应用代码质量管理流程利用代码规范和评估模型对应用代码质量元素进行度量,评价和管理软件交付时的代码质量,从源头上把控业务系统质量。
二、应用代码质量管理体系的研究内容
2.1 静态分析技术
静态分析技术是指在不执行源代码的情况下,对代码中组件关系和方法调用、代码复杂度以及代码编写方法进行评估的过程。程序的流程提供了对代码结构的理解,静态分析的目的是确保程序代码依从公司和业界的标准。
静态分析的类型可以分为以下四类:代码审查、结构分析、软件度量、数据流分析。代码审查的内容包括:编码风格的常规检查、基于每一个类发现萌芽状态的bugs。结构分析主要能够发现交互类的依赖关系、发现循环依赖、hubs等。软件度量是指度量软件复杂度、大量标准度量指标,如代码行统计, McCabbe, Halstead度量集等。数据流分析主要检查代码符号执行、很好的发现资源和内存的泄漏。
静态分析的过程通常包含两个阶段:运行工具阶段和人工审查代码阶段。如图1所示,按照事先定制好的规则,对系统源代码进行扫描分析,得到原始扫描结果,这一过程通常是借助静态代码扫描工具完成;接下来的阶段是人工参与审查代码,分析、确认、筛选结果,并通过汇总整理得到最终的结果。
软件开发过程中的一个重要原则就是缺陷发现的时间越早越好,如果能控制软件缺陷,就可以得到高质量的软件。静态分析工具根据软件的结构、内容或文档来评价软件系统,而不需要执行程序。因此,可以较早地发现程序代码中的缺陷,使得后面的软件开发阶段可以着重分析复杂功能以及算法上的错误。
2.2 管理体系概述
管理是指通过计划、组织、领导、控制及创新等手段,结合人力、物力、财力、信息等资源,以期高效的达到组织目标的过程。管理是由计划、组织、指挥、协调及控制等职能为要素组成的活动过程。广义的管理是指应用科学的手段安排组织社会活动,使其有序进行。狭义的管理是指为保证一个单位全部业务活动而实施的一系列计划、组织、协调、控制和决策的活动。本文指的是狭义的管理。
2.3 代码质量
软件质量是指软件系统或系统中的软件部分的质量,即满足用户需求。它包含两个方面,功能(Functional)质量和结构(Structural)质量。软件功能质量反映了软件符合功能要求规格的能力;软件结构质量反映了软件满足支撑功能性的非功能够性需求的能力,如鲁棒性、可维护性。结构质量是通过对软件的内部结构、源代码进行评估,即检查代码有没有遵守现有成熟的规范;而软件功能质量更多的是依赖软件功能测试计量。
代码质量是程序代码质量特性的总体,它是一个抽象的概念,无法直接度量。代码质量审计是对应用程序源代码进行系统性检查的工作。它的目的是为了找到应用程序在开发阶段存在的一些缺点或者程序逻辑错误,分析并找到可能引发的风险漏洞,并提供代码修订措施和建议,避免程序漏洞被非法利用给企业带来不必要的风险。代码质量维度(dimensions of quality):代码质量的子特性,是衡量代码质量的不同方面,是对代码质量的结构化细分,如
您可能关注的文档
最近下载
- 成人胃残余量超声监测技术规范.docx VIP
- 金属冶炼企业安全生产管理人员:事故应急处置和案例分析.ppt VIP
- 采购降本推进计划.pdf VIP
- 定制产品合同协议.docx VIP
- 恒大地下车库VI标识标牌标准化方案(超豪华版)恒大地产集团.pdf VIP
- 【教学课件】《人体对外界环境的感知》(人教).ppt VIP
- 滚动轴承外球面球轴承和偏心套外形尺寸.pdf VIP
- 第一单元第四课《上学路上》教案 湘美版(2024)一年级上册.doc VIP
- 突发事件应急预案.doc VIP
- 2024年03月上海市公安局浦东分局2024年上半年度招考文员笔试上岸试题历年典型考题与考点剖析附带答案解析.docx VIP
文档评论(0)