嵌入式软件在计算机软件开发过程中的应用

2018-10-12 02:04吴文庆修雅慧
职业技术 2018年8期
关键词:嵌入式软件计算机软件嵌入式

吴文庆,修雅慧

(1.苏州市职业大学 计算机工程学院,江苏,苏州 215104;2.齐齐哈尔医学院,黑龙江 齐齐哈尔 161006)

0 引言

在现代化生产管理工作中,计算机软件的应用无处不在,通过实现信息自动化管理,可以有效提升生产效率和办公效率。因此,计算机软件开发已经成为热门产业,自发学习计算机软件开发技术的人越来越多。随着软件开发技术的不断进步,不仅开发语言和环境发生了较大变化,设计理念也出现了本质性改变。在先进的模块化设计理念下,通过采用嵌入式软件,能够有效提高软件开发效率。因此,有必要对嵌入式软件的具体应用进行探讨,为计算机软件开发提供借鉴。

1 计算机软件开发技术概述

计算机由软件和硬件两大部分组成,两者相辅相成,共同实现计算机的各项功能。在同等的硬件条件下,软件的先进性将直接决定计算机应用效率和便捷性。在软件开发过程中,要综合考虑客户对软件应用的性能要求和功能要求,通过采取科学的软件开发技术,实现设计目标。随着软件开发技术的快速发展,开发环境和开发语言已经出现较大变化。[1]

目前,在软件开发过程中应用较多的编程语言包括C语言、Java语言等。其中,C语言是最早的软件编程语言之一,应用非常广泛,而且技术不断成熟,不仅能够应用于多种系统环境下的编程,还具有语言简洁、逻辑清晰、编译快捷等特点。Java语言是随着Web程序开发快速发展起来的新型编程语言,具有跨平台应用特征,安全性和通用性较高。Java语言继承了C++的核心技术,而且增加了垃圾回收器等新功能,资源占用更加合理,是一种优秀的面向对象编程语言。[2]

此外,软件开发环境也发生了较大变化,包括嵌入式软件在内的专业编程软件在计算机软件开发过程中得到了应用,极大地提升了软件开发效率。

2 计算机软件开发的基本流程

计算机软件开发是一项系统性工作,目前已形成一套系统化的开发流程,使软件开发管理更加科学,更容易实现客户提出的各种需求。从计算机软件开发过程来看,主要包含以下几个重点环节:

2.1 编制软件开发计划

对软件开发过程进行分析,定义开发软件,探讨软件开发的可行性,撰写开发工作计划和报告书,确定软件开发的总体方向,并明确每个阶段过程要完成的任务。

2.2 客户需求分析

通过与客户进行沟通交流,确定软件开发的个性化需求,并对客户的使用需求进行清晰描述,撰写需求分析报告,与客户达成共识,共同确认软件开发的预期成果。

2.3 软件程序设计

完成上述软件开发准备工作后,根据软件开发计划书和需求分析报告,对软件架构进行总体设计,综合考虑系统功能性需求和性能需求,并进行详细方案设计,确定软件各组分的设计内容,同时明确各组分之间的拼接方式。

2.4 软件程序编码

完成总体方案设计和详细设计后,由软件工程师完成具体程序代码的编写过程,在此过程中,开发人员要合理选择编码模型和程序,完成各组分的编码工作后,对软件进行拼接,逐步完成所有程序编码任务。

2.5 程序测试与调试

完成软件程序代码编写后,对软件程序进行测试,主要分为两部分内容,一是内部测试,二是开发性测试。在编程完成后,首先由软件开发人员对软件进行专业的内部测试。然后由专门的程序测试人员或使用者,对软件进行试用性测试,找到软件程序存在的问题,并对其进行调试,确保软件各项功能的正常发挥。

2.6 软件维护和版本升级

在软件投入使用后,需要对它进行维护管理,并在需要时进行版本升级,以满足客户业务扩展等方面的需求。[3]总体开发流程如图1所示。

图1 计算机软件基本开发流程

通过逐步完成上述各个环节的软件开发任务,可以实现软件开发目标,最大限度地满足客户需求。但在实际开发过程中,受人员、技术、开发环境等方面的影响,开发效率有高有低,软件调试工作量和最终的软件开发质量也参差不齐。只有不断更新软件开发理念,采用先进的软件开发技术,才能不断提高软件开发效率,为软件开发质量提供保障,减少后期调试、维护的工作量。[4]

3 嵌入式软件在计算机软件开发中的具体应用

3.1 嵌入式软件技术的应用

嵌入式软件具体是指嵌入在硬件中的软件开发工具,其产业链主要包括芯片设计制造、嵌入式系统开发、嵌入式电子设备的开发和制造。其中,嵌入式系统是能够独立执行某项功能操作的专用计算机,具体包括微处理器、微控制器、定时器和传感器等。[5]早期嵌入式系统开发采用硬件优先原则,在估计软件任务需求后,先完成硬件的设计与实现,再利用硬件平台完成软件开发设计。但这种设计方式难以充分利用硬件资源,出现设计变更时,还需要重新设计整个流程。随着嵌入式技术的不断成熟,目前主要采用软硬件协同设计理念,最大限度地提高软硬件能力,得到优化设计方案。[6]

嵌入式软件是嵌入式系统的重要组成部分,其本质也属于一种计算机软件,包括系统型软件、支撑型软件和应用型软件三大类。目前,嵌入式软件已经被广泛应用于国防、工业、商业、医疗、通信产业等重要领域。[7]其中,被应用于计算机软件开发的主要是指嵌入式支撑软件,此类软件包含数据库和各种开发工具,尤其提供的EMDBS数据库可以作为某种特定计算的数据库管理系统,可运行在计算机和各种移动智能设备上。利用嵌入式软件为计算机软件开发提供支持,可以提高软件开发过程的资源整合能力和系统开发效率。[8]嵌入式软件开发如图2所示。

图2 嵌入式软件开发示意图

3.2 基于嵌入式软件的计算机软件开发流程

基于嵌入式软件的计算机软件开发流程和上述介绍的软件开发流程基本一致,总体可分为需求分析、总体结构设计、详细设计、程序编码和程序测试等环节。在项目立项阶段,根据市场信息反馈,编写项目建议书,在对它进行可行性分析后,签发项目任务书,成立项目小组。在项目总体规划阶段,进行软件需求分析,并进行需求分析评审,编制项目计划书和风险控制计划书,确定软件开发里程规划。在系统设计阶段,根据需求分析和系统评审结果,编制结构设计过程文档和软硬件设计过程文档。完成总体和详细设计后,开始进行程序编码,然后依次开展后续的测试和调试工作。

需要着重强调的是系统需求分析的准确性,设计人员应与客户做好沟通,全面了解客户需求,确定设计内容,并严格按照要求编写各类需求文档,对客户需求进行清晰描述,包括系统的输入输出功能、运行速度、软件大小、功耗等性能需求。在嵌入式软件的应用过程中,会根据软件开发中的具体过程,选择使用不同的开发工具,提升软件开发效率。比如,在软件开发的需求分析阶段,可以选择Rational Rose等软件,确保需求分析的全面性。在软件编程和实现阶段,则可以使用Code Warrior软件,利用其提供的代码组件,加快编程效率和代码重复利用率。在系统调试阶段,则可以使用Multi-ICE软件,确保系统测试的全面性,及时发现程序漏洞,并进行有效改进。

3.3 嵌入式软件的应用要点

3.3.1 明确应用原理

在计算机软件开发过程中,嵌入式软件主要应用在CORBA模型实现方面,具体分为两个部分:一是实时处理技术的融入,二是在编程过程中应用CORBA模型。在程序软件的开发工作中,还可以充分利用嵌入式软件提供的其他设计服务。利用嵌入式软件进行程序开发设计,首先应对软件结构进行系统性划分,为满足软件开发的实时性要求,在设计和编程过程中,要明确各结构职责,避免出现系统脱离现象。此外,还要通过设计和编程,实现结构程序间的功能,为命令执行安排好位置,确定各部分程序的优先性,合理安排运行方式。通过利用嵌入式软件,提升系统的整体运行效率。在软件控制方面,要避免嵌入式系统的应用造成时间变差,在进行程序设计和编码时,应做好时间管理,确保系统运行的安全性和可靠性。

3.3.2 掌握设计要点

应用嵌入式软件的软件开发设计要点主要体现在两个方面:(1)在软件程序的总体结构设计方面,开发人员应更加注重软硬件系统的相互结合,实现软硬件系统的系统设计,这样可以降低软件程序对于硬件系统的依赖,提高软件设计的实时性和运行可靠性;(2)可以利用嵌入式软件完成数据的初始化和格式化操作,设计和开发人员不需要对硬件资源设备进行直接控制,能够提升整体设计开发的工作效率,同时减少设计漏洞。设计人员应在详细了解嵌入式软件开发功能的基础上,更新设计理念和操作方式。

3.3.3 发挥技术优势

嵌入式软件在计算机软件开发过程中的应用具有多方面的技术优势,其中较为突出的优势包括非交叉调试方式等。利用嵌入式软件提供的仿真开发功能,可以解决以往交叉调试开发过程中存在的缺陷,综合考虑软件开发经费、目标机环境、硬件芯片资源等问题,合理安排软件开发进程,避免因这些问题影响开发效率。此外,嵌入式软件还具有成本低、性能强、可靠性高等诸多优势,即使发生突然断电,也不会造成重要数据和程序丢失。而且嵌入式软件的集成化程度高,运行功耗较低,可以在计算机软件开发的全生命周期内为软件开发提供有力支持。

总而言之,利用嵌入式软件进行计算机软件开发是目前较为先进的软件开发技术之一,具有良好的应用前景,在软件开发过程中,应充分发挥嵌入式软件的各方面优势。

4 结语

综上所述,嵌入式软件在软件设计开发过程中的应用通过融入实时处理技术、利用软件提供的组件,可以明显提高软件开发效率。基于嵌入式软件的软件开发过程系统化程度更高,可以实现对资源的有效整合,并提高软件的运行合理性。因此,应推广嵌入式软件在计算机软件开发过程中的应用,促进软件开发水平的整体提升。

猜你喜欢
嵌入式软件计算机软件嵌入式
Focal&Naim同框发布1000系列嵌入式扬声器及全新Uniti Atmos流媒体一体机
嵌入式软件测试数据传输稳定性检测方式分析
TS系列红外传感器在嵌入式控制系统中的应用
基于C语言的计算机软件编程
搭建基于Qt的嵌入式开发平台
浅谈不同编程语言对计算机软件开发的影响
全景相机遥控器嵌入式软件V1.0 相关操作分析
浅谈基于C语言的计算机软件程序设计
基于Eclipse的航天嵌入式软件集成开发环境设计与实现
航天嵌入式软件浮点运算误差分析与控制