`
softstone
  • 浏览: 478099 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

实时控制软件的质量控制(1)

阅读更多

实时控制软件的质量控制(1)

陈志才 (转载自计算机世界网)
  如何确保嵌入式实时控制软件的质量?对这类软件的生产过程如何进行有效的质量控制?这是一个重要的研究课题。为解决软件危机而产生和发展起来的软件工程成功地解决了软件开发中存在的许多问题。它不仅对软件开发、设计和生产有直接影响,而且对提高软件质量有显著成效。实践表明,使用软件工程方法,可达到一般的质量要求。但当软件质量要求更高时,则必须在实施软件工程的同时,采取一些专门的可靠性工程技术和方法,以保证需求的可靠性。

  软件工程是指按照工程的规律来组织软件的生产与开发。软件工程化要求以软件质量控制为核心,紧紧抓住软件生产方法、需求分析、软件设计、软件生产工具、测试、验证与确认、评审和管理等8个主要环节(图1)。


软件生产方法

  软件是产品。从产品的意义上说,所谓软件开发应为软件生产。软件应采用工程化、结构化和规范化方法进行生产。软件工程化是指使用软件工程的理论、技术、要求和管理等来规范软件开发过程中的全部活动。硬件生产已有一套成熟的工程化方法,软件要向硬件学习,使软件硬化,把软件看作是软件工厂中的产品。

  软件规范化是指在软件生存周期中,软件的生产活动必须严格遵循各项软件规范和标准。经验证明,没有规范就没有产品,也就没有软件。执行规范必须动真格。执行规范工作量是大些(工作量主要在文档、审查、验证、评审和管理上),但受益却是明显的。由于软件开发过程规范提高了软件质量,这样不仅减轻了损失,而且还促进了软件的生产进度,提高了软件的生产率。

  软件结构化是指软件生产过程中采用了结构化分析和结构化设计方法。

软件需求分析

  软件需求分析的目的是使软件设计人员和用户之间进行全面和深入的沟通,以明确用户所需的究竟是一种什么样的软件。需沟通的主要内容有:将要开发的软件所涉及的概念、定义、目标、指标、功能、控制逻辑、算法、环境、时序、执行过程和特点等。通过需求分析产生的软件规格说明书是此后软件设计、调试和测试工作的基础,是软件评审、鉴定和验收的依据之一。因此,需求分析是软件生产中的一个首要步骤。一份软件规格说明书的质量优劣,一方面取决于需要分析深入的程度,另一方面取决于系统分析员刻画软件需求的正确性、完整性、合理性和一致性达到的程度。

  众所周知,软件怕修改,更怕需求变更。原因在于:

  ·软件修改的工作量大,关键软件的任何修改,必须经历一个调试、测试、验证与确认的步骤。

  ·花费的代价高,经试验考核过的软件,又要更改软件需求,即使是只改了一个参数,也需要对更改的软件作重复考核。有的实时控制系统一次试验的代价是相当大的。

  ·软件修改的牵涉面广,往往有牵一发而动全身的问题。尤其是由多个分系统组成的系统 (例如军事指挥的C3I系统),任何·一项修改均要考虑是否会影响其他的分系统。

  软件可靠性需求分析要求全面、细致和深入。

  不难看出,软件需求分析的过程,也是软件设计方案的酝酿过程。通过分析应得出用户需求的正确性、合理性和完整性的结论;同时,也应得出软件付诸实现的可行性、可靠性和安全性的结论。软件需求分析的衔接关系见图2。



软件设计

  软件也和硬件一样,它的质量是设计出来的,生产出来的。其中,设计对软件质量具有关键性的影响。设计的重要性可从图3看出,其中(a)为经历了设计步骤后的效果,在软件使用和维修阶段,软件的问题少;反之,(b)为跳过设计步骤,到了使用和维修阶段,软件问题成堆,到了不可收拾的地步。基于这种情况,应强调:软件设计未完成,不得转入软件编码阶段。

  良好的软件设计与所采用的软件设计方法、设计工具和设计准则有关。软件设计方法主要有面向数据流的设计、面向对象的设计和面向数据的设计方法等。这些方法均有其优缺点和不同的应用领域。目前,大多数嵌入式的实时控制软件使用的是面向数据流的设计方法。该方法的目标是以一种全局的软件观点和体系结构设计的角度派生出程序结构。

  面向数据流的设计又称为结构化设计。它强调模块化、层次化和自顶向下等设计思想。这些思想的根本目的是对复杂问题的解决采用一个简化过程以获得满意的答案。通过这种简化,纵有千头万绪也能理得清清楚楚。一个设计准则是要将复杂的问题简化,切忌将简单的问题复杂化。好的程序设计语言,无疑对设计高质量的软件是有益的。例如,Ada语言,与一般语言比较,它所特有的一些语言成分旨在突出软件可靠性和安全性,便于软件维护,便于实行程序的层次式管理和提高程序的易读性、高效性等。

  软件可靠性设计主要将软件的检错、避错、容错和异常处理技术灌输到软件设计中去,设计时应处处关心:

  ·控制逻辑的完整性;
  ·软件与硬件、软件与软件界面之间的协调性;
  ·人机交互的有效性;
  ·信息交换的正确性;
  ·设备控制的安全性;
  ·时序控制的合理性;
  ·数学运算中变量定义域的合法性。

软件生产工具

  软件生产的主要工具是软件试验台(Software Testbed) 或软件开发平台。在软件需求分析的同时,就要考虑到这类软件开发环境的创造。它应满足下列要求:

  (1)它的组成、结构、性能、功能和工作的方式与状态,力求与实际系统一致。优点是:

  ·它与实际系统出现的故障现象是一样的,便于故障隔离。
  ·软件试验台与实际系统的软件可彼此互相复制,便于软件开发过程交替上升。
  ·具有互补性,试验台有局限性的问题可在实际系统解决;实际系统上有困难的,代价太大的检测活动可在试验台上进行。

  (2)配上多媒体工作站,提供软件测试过程中综合信息的显示和生产真实工作环境中的音响效果。

  (3)配备实时数据采集器。

  (4)能支持实时与非实时两种运行方式的调试活动。

  软件试验台是辅助软件调试、测试、试验和验证的重要工具。在某种程度上可以得出这样的结论:没有软件试验台就不能顺利地开发出实时控制系统软件。原因在于:

  (1)这类复杂的软件在实际系统上开发是不可能的,其代价太大,效率太低,效果太差。

  (2)软件开发是个做细致研究、分析和不断探索的过程,软件试验台能适应这种工作方式。

  (3)它是软件编程、调试、测试、集成和试验的综合环境。

  (4)它是支持软件原型化开发方法的重要手段。

  一般来说,实时控制系统软件的第一个原型是在软件试验台上开发出来的。有了软件原型,就有了与用户深入讨论、分析和确认软件需求的基础。实践证明,经过软件试验台测试通过的软件,基本上能用于实际实时控制系统的系统联调、测试、试验和系统验收。

分享到:
评论

相关推荐

    实时控制软件的质量控制

    实时控制软件的质量控制是确保这类软件在运行时能够准确、稳定和安全的关键环节。软件测试是质量控制的重要组成部分,它不仅限于软件开发的后期阶段,而是应该在整个生命周期中进行。测试的主要目标是评估软件的质量...

    软件质量控制保障方案.pdf

    1. 项目的顺利实施:软件质量控制保障方案可以确保项目的顺利实施,提高项目的质量和效率。 2. 项目的质量提高:软件质量控制保障方案可以提高项目的质量,确保软件产品的高质量。 3. 项目的透明度提高:软件质量...

    软件项目质量控制和管理规范1.docx

    ### 软件项目质量控制和管理规范 #### 一、引言 软件项目质量控制与管理是一项系统工程,旨在确保软件产品满足预期的功能和性能要求,并能够在预定的时间内达到既定的质量目标。本文档详细介绍了软件项目生命周期...

    软件项目质量控制保障方案

    为确保项目的顺利开展和实施,我们分别制定了项目组人员保证方案和软件开发质量保证方案以及项目进度保证方案。 1项目组人员保证方案 为确保项目的顺利开展和实施,项目组的人员配备既有高层次的技术带头人,也有...

    软件质量控制-软件质量概念、质量保证、配置管理

    软件质量控制是软件开发过程中的关键环节,涵盖了软件质量的概念、质量保证以及配置管理等多个方面。软件质量不仅关乎软件产品的功能性和性能,还涉及到软件的可靠性和可维护性等多维度特性。 首先,软件质量的概念...

    软件测试与质量控制

    软件质量控制方法、软件测试原则、软件测试步骤与软件开发个阶段的关系等

    软件质量控制保障方案.docx

    《软件质量控制保障方案》是确保互联网项目成功实施的关键文档,它详细规划了从团队配置、质量管理和进度控制等多个方面确保软件开发质量的过程。以下是对该方案的详细解读: 1. **项目组人员保证方案**:为了确保...

    软件测试及软件质量控制

    在IT行业中,软件测试与软件质量控制是两个至关重要的概念,它们确保了软件产品的可靠性和用户体验。本资料“软件测试及软件质量控制”提供了一套详细的参考资料,旨在帮助专业人士理解和实施有效的测试策略以及质量...

    过程控制软件质量管理

    软件质量管理,过程管理过程的文章学习研究

    新能源商用车控制软件质量提升研究.pdf

    新能源商用车控制软件质量提升的研究是当前汽车行业中一个关键议题,特别是在我国新能源汽车市场迅速发展的背景下。新能源汽车,尤其是商用车辆,其控制软件的质量直接影响车辆的性能、安全性以及可靠性。随着电子...

    软件质量控制(高校课堂ppt)

    《软件质量控制——高校课堂深度解析》 在信息化社会中,软件质量控制是软件开发过程中的关键环节,它关乎到软件产品的稳定性和用户满意度。本资料集“软件质量控制(高校课堂ppt)”包含了多个主题的PPT,旨在全面...

    软件开发管理与质量控制-Read.pdf

    软件质量控制是软件开发管理的重要组成部分,旨在确保软件产品的质量达到用户的要求。 一、软件开发管理的重要性 软件开发管理对软件行业的发展至关重要。随着市场经济的进一步完善及全球经济一体化进程加快,企业...

    软件质量保证方案

    ### 软件质量保证方案的关键知识点 #### 一、软件质量保证(SQA)概览 **软件质量保证(SQA)**是一种确保软件产品及其开发过程满足既定标准的有效方法。它通过以下方式实现这一目标: - **过程与产品审查**:客观...

    基于嵌入式Linux的绣花机实时控制软件设计.pdf

    本文主要探讨了一种基于嵌入式Linux的绣花机实时控制软件设计,该设计利用ARM9处理器S3C2440和嵌入式Linux操作系统构建绣花机的电控系统。在非实时操作系统下实现实时控制是设计的关键挑战,同时,设备驱动程序的...

    软件开发质量管理体系

    3. 编码与审查:采用统一的编程规范,进行代码审查以发现潜在错误,早期介入质量控制。 4. 测试:包括单元测试、集成测试、系统测试和验收测试,通过测试来验证软件功能和性能,确保符合需求。 5. 配置管理:版本...

Global site tag (gtag.js) - Google Analytics