最新新闻
我要投稿
联系电话:027-87592219/20/21转188
投稿邮箱:tb@e-works.net.cn
您所在的位置:首页 > 智库 > 智能装备

数控软件质量控制

发布时间:2014-06-24 作者:魏红根 
关键字:数控软件 数控 
随着计算机技术的发展及可利用资源的增多,愈来愈多的数控系统采用PCNC方式,以前许多由硬件完成的功能现在交由软件处理,这对数控软件的设计提出了更高的要求。另外,一套数控软件的设计通常需要花费几年时间才能完成,因此,如何保证软件的质量和良好的可重用性就显得非常重要。

  面向对象的软件工程学设计方法和构件技术

  在技术上保证软件的质量和可重用性,关键是采用面向对象的软件工程学设计方法及构件技术。数控系统对实时性要求较高。早期的数控系统由于受硬件技术的限制,程序设计大多采用汇编语言,导致程序的结构化程度低,调试和维护困难。随着硬件技术的发展,现在的数控系统通常采用面向对象的编程(OOP)和结构化设计方法,大大提高了系统的可调试性和可维护性。面向对象的软件工程学设计方法不同于面向对象的编程,前者强调在软件开发中以设计为主导,注重开发方法在开发过程中的应用;后者则强调所使用的开发手段,具有较大的被动性。

  程序设计采用构件技术,可以提高系统的可靠性和可重用性。所谓构件是指系统中可以明确辨识的构成成分。构件也不是仅仅局限于源代码构件,而是延伸至对开发活动有用的信息,例如,系统和软件的需求规划、系统和软件的结构、文档、测试计划、测试案例及典型数据等。数控系统软件可分成三大构件:MMI人机界面、MMC机床运动控制、PLC可编程逻辑控制器。MMI可分为动态MMI、静态MMI;MMC可按照功能将其分为不同的小构件;PLC可分为DI和DO处理构件。通过不同的数据和程序的封装组成不同的小构件,然后对不同的小构件进行组装,从而构成具有不同功能和风格的数控系统。构件技术的关键是如何对构件进行选择、构筑、描述、分类、组装及标准化。若能熟练掌握和运用以上方法与技术,将会使数控软件开发走上工业化、工程化的发展轨道,从而保证软件开发的质量及可重用性。

  运用SW-CMM软件过程能力成熟模型

  一个企业所具有的软件开发能力取决于该企业的过程能力。在体现企业软件开发能力的诸多因素中,技术和工具并非第一要素,企业的过程能力则起着更为重要的作用。企业建立一个软件开发过程,并通过政策保证,强制实行这个过程。项目的执行不再是一个黑箱子,企业清楚地知道该项目是按规定的过程进行的。该过程执行一段时间后,可根据反映的问题改善这个过程,使其逐渐完善、成熟。由于过程不再依赖于个人,而是企业开发经验的结晶,因此基于这个过程的软件开发能力也随之成熟。

  SW-CMM将企业的软件开发与生产过程分成五个阶段:初始级、可重复级、可定义级、管理级、优化级。在上述不同阶段,软件开发与生产的成熟程度将给企业带来完全不同的效果,软件开发与生产的计划精度会越来越高,每单位工程的生产周期越来越短,每单位工程的成本越来越低。这是因为根据SW-CMM模型的软件成熟度实践要求,采用更加规范的开发标准和方法,使用更加科学和精确的度量方法,选择便于管理和使用的开发工具,形成整个工程的可重构性、可分解性,根据过程执行的反馈信息改善下一步的执行过程,实现过程的最优化。

  SW-CMM提供了一个基于过去所有软件工程成果的过程改善的框架。根据这个框架管理企业内部的软件开发过程,可极大程度地提高企业按计划的时间和成本,提交有质量保证的软件产品的能力。同时,在软件开发与生产过程中,采用该模型实现软件开发的标准化,有利于缩短开发周期、提高软件的开发与生产效率,有助于在市场经济的多样化、复杂化的环境中实现软件的工业化。

  建立面向管理的软件开发过程

  软件系统开发的基本问题是如何管理开发过程,使开发过程可控且可重复。开发过程的管理主要包括以下几项工作。

  需求管理 管理的目标是软件需求能被控制,并产生一个用于软件工程过程和管理过程的基线,其目的是在用户需求与实现用户需求的项目之间达成一种共识,使二者保持一致。这就意味着用户的需求应该是合理可行的,项目的目标应能满足用户的需求,需求管理就是建立并维护这种共识。需求管理是一个相对动态的过程,要达到此目的,必须保证与用户和市场进行经常性沟通,根据用户和市场的变化,对项目的执行进行动态调整。

  项目管理 软件工程项目能否成功的主要因素在于项目管理,而项目能否有效进行管理的关键在于项目过程的可见性。如果软件项目计划不能按期完成,主要原因有两个方面:一方面是由于计划执行和管理的能力不够;另一是计划本身欠合理有效。软件项目管理的目的在于建立合理有效的软件项目计划,保证项目按时、按需完成。这就要求对于软件项目的规模、资源要求、风险、资金等有一个合理的估算,估算的合理性依赖于对需求及软件技术的充分了解。项目执行前,各参与方应明确并承担各自的责任。项目实施过程中,应设置合理的检查点,对项目进行监控和跟踪,从而为软件开发提供良好的可见性及可调整性,保证计划顺利完成。

  合同管理和软件质量保证活动 合同管理是一个基本的关键过程域。合同管理的目的就是选择合格的软件承包商,并进行有效的管理。

  软件子承包商的选择应由项目责任者(业主或主承包商)负责,子承包商的选择应是基于能力的,项目的责任者与子承包商对所承包的项目责任要有一致的认同,并保持不断地交流。项目的责任者应根据合同中所规定的责任,跟踪子承包商实际工作结果。

  软件质量保证活动是项目管理所提供的过程可见性的一个工具。由于开发软件系统或软件产品的过程是决定项目成功与否的关键因素,因此软件质量保证活动就是评审和审计软件活动和软件产品。评审和审计的依据是项目的实施步骤和相关标准。软件质量保证活动不能随意,必须经过充分的讨论和协商,相关的组织和个人必须了解质量保证活动及其结果。为了解决质量保证组织与软件开发组织对某些开发活动或开发出的产品的评价所发生的争议和分歧,企业应定义更高层次的管理组织,负责解决这些争议和分歧。

  软件配置管理 软件从需求分析开始到最后提交产品要经历几个阶段,每个阶段的工作产品又会有不同的版本,如何在整个生存期内建立和维护产品的完整性是软件配置管理的目的。SW-CMM软件配置管理也是一个基本的关键过程域,它遵循了传统软件配置管理的概念。其基本工作内容是标识软件配置项,建立产品基线库,对配置项的修改加以系统的控制。产品基线库的状态可以随时了解。此外,同软件质量保证活动一样,软件配置管理活动必须制定计划,不是随意的行为。其主要依据是各种文档及说明书,这是保证用户能够正确使用产品和产品进入市场的关键。

  综上所述,在数控软件开发过程中,如果从技术和管理两个方面采用合理的方法,一方面可以保证软件的质量和良好的可重用性,另一方面可以为数控软件的开发逐步走上工业化、工程化的发展轨道奠定良好的基础。 

2