电子设备软件开发
电子工业专用设备软件开发流程的研究
在电子工业专用设备领域中,随着计算机运算能力的进一步增强,基于计算机平台的设备集成控制系统越来越多,由软件来实现的设备功能所占比例越来越大,软件规模和编制的复杂度也随之增加,原有结构化、顺序、单一的开发流程已不能适应当今大规模、短周期、高质量、系列化的软件开发要求,这就需要针对当今电子专用设备的特点对其开发流程进行研究,以软件工程思想为指导,对软件研发的全过程进行研究,探寻适合具体应用要求的设备软件开发流程。
一、主流的软件开发流程介绍
软件工程的目的是倡导工程的原理、原则和方法进行软件开发[1]。软件工程学是一门介于软件科学、系统工程和工程管理学之间的边缘性学科。软件开发流程就是遵循着软件工程的理论基础来进行的。软件开发流程是跨越整个软件生存期的系统开发、运作和维护所实施的全部过程、活动和任务的结构框架。典型的软件开发流程有瀑布模型、V模型、螺旋模型和敏捷开发等,无论采用哪种模型方式,软件开发过程都要包括支持软件整个生命期的活动。
瀑布模型是是最原始的软件开发模型,瀑布模型很好的体现了软件开发的各个阶段,如图1所示。瀑布模型在需求和设计中的问题是无法在项目开发的前期被检出,只有当第一次系统集成时,这些设计缺陷才会在测试中暴露出来,从而导致一系列的返工:重新设计、编码、测试,进而导致项目的延期和开发成本的上升。
V模型是瀑布模型的变异,示范了如何将测试和分析设计联系起来。如图2所示,编码为V的顶点,分析和设计在左,测试和维护在右。V模型建议单元和综合测试也应被用来验证程序设计。也就是说,编码员和测试小组成员应确保程序设计的系统设计方面已经在代码中正确实现。类似地,系统测试应验证系统设计,确保所有系统设计方面被正确地实现。验收测试通过将一个测试步骤和规格中每个元素联系起来确认需求。V模型左侧与右侧的联接暗示如果在验证和确认期间发现问题,那么V的左侧能被重新执行来修改并改进需求。
螺旋模型是针对风险较大的项目而设计的一种模型[3]。它的每一个周期都包括制定计划、风险分析、实施过程和评审四个阶段,由这四个阶段进行迭代。软件开发过程每迭代一次,软件开发又前进一个层次。采用螺旋模型的软件过程如图3所示。
螺旋模型基本做法是在瀑布模型的每一个开发阶段前引入一个非常严格的风险识别、风险分析和风险控制,它把软件项目分解成一个个小项目。每个小项目都标识一个或多个主要风险,直到所有的主要风险因素都被确定。与瀑布模型相比,螺旋模型支持用户需求的动态变化,为用户参与软件开发的所有关键决策提供了方便,有助于提高目标软件的适应能力。并且为项目管理人员及时调整管理决策提供了便利,从而降低了软件开发风险。但是采用螺旋模型需要具有相当丰富的风险评估经验和专门知识,在风险较大的项目开发中,如果未能够及时标识风险,势必造成重大损失。过多的迭代次数会增加开发成本,延迟提交时间。
二、电子工业专用设备软件的特点
电子工业专用设备软件是运行于特定的组成设备的电气设计硬件平台上,协调驱动设备各部分来完成系统集成,从而满足顾客(客户)特定工艺要求的一类应用软件系统。专用设备软件是软件的一个大的分支,广泛应用到工业生产中,这类软件与普通的商业软件有很大的区别,商业软件只是应用到计算机中,而专用设备软件是基于计算机平台的。
现代化的设备软件规模越来越大,从初始的只有几百行代码到现代化的设备有几万甚至几十万代码,软件在设备的功能实现中所占的比例也越来越高。专用设备软件与硬件紧密结合,要求软件的人机界面友好,各种关键参数状态实时显示,可靠性高,能够长时间稳定运行。
除了设备的硬件设施之外,设备的生产工艺对软件的开发有巨大的影响,软件需求分析就是对设备电气设计和生产工艺的综合分析。因此在专用设备软件开发过程中需要在既有硬件平台上与生产工艺进行结合。但是在新设备的开发过程中,设备没有投入生产,生产工艺也不明确初始需求不明确,需要在生产中不断调整,设备的硬件也有可能变动,所以专用设备软件的软件需求变化大,给软件开发带来很大的不方便。但是设备软件一般只运行在单台设备上,软件的规模属于中小型,这样就使需求的变动对软件开发的影响在一定范围内。
三、电子工业专用设备软件开发流程
结合电子工业专用设备软件的特点和各种软件开发流程的优缺点,根据设备专用软件初始需求不明确,需求在开发过程中不断变化等特点,设计了以螺旋模型为基础的软件开发流程。
首先根据初始需求制定一个稳定的软件架构,完成一个软件的最小原型,然后根据需求的变化在软件最小原型的基础上完成多个中间版本,最后完成满足客户需求的版本。软件开发流程如图4所示。
软件开发流程的描述:
(1)项目预研阶段。主要活动是进行项目的预研和考察,与客户进行沟通,并对软件项目方面的风险和开发进度进行估算,评价软件项目在技术是否可行,对软件项目实施的风险进行评估。对应文档是项目合同、项目可行性研究报告和项目开发计划。
(2)项目开发阶段。项目开发可以分为最小原形版本、中间版本和最终版本等多个版本。每个版本都可以分为需求分析、概要设计、详细设计、联调测试和版本发布5个阶段。
项目开发首先从最小原型版本开始,最小原型版本包含软件的核心功能。是中间版本迭代的基础。最小原型版本完成后继续进行中间版本的开发,每次中间版本的开发工作都是在上一版本的基础上继续添加模块和完善软件功能。所做的修改记录到各个开发文件中,流程与最小原型版本一致,如此进行多个版本的迭代开发,直至完成最终版本。最终版本开发的软件发布阶段需要增加的文档有用户手册和项目开发总结,并由合同双方共同对软件进行评审,软件经过设备工艺调试并经验收合格后通过评审,应当做成安装包供客户使用,评审合格之后进入维护阶段。
(a)需求分析阶段:对应的文档是软件需求说明书,对设备软件来说要重点了解生产工艺,并在需求规格说明书中画出UML用例图。在需求分析完成时,进行需求分析评审,形成评审意见书。(b)概要设计阶段:完成整体架构设计,并划分模块,完成概要设计说明书和软件测试计划,在概要设计中要有详细的软件架构图。在概要设计完成时,进行概要设计,填写评审意见书。(c)详细设计阶段:进行各个模块的代码编写和详细设计说明书的编写,详细设计说明书中的图表有类的UML静态图,顺序图,模块逻辑流程图,设计完成后对代码和文档进行评审进行质量评审。(d)联调测试阶段:在设备平台上调试代码,修复程序中的错误并进行记录到软件调试报告中。(e)版本发布阶段:通过软件验收评审合格后。发布一个阶段版本,给出一个版本号。
(3)维护阶段。在软件的维护过程中,如发现软件质量问题,应将问题以文档形式提交技术讨论,研究并解决问题,解决方案要记录到软件维护报告中。对软件进行改进时,应当做好改进记录并进行版本升级,并升级需要更改的软件文档,软件升级后应当提供软件升级包、升级内容说明和操作说明书。
通过采用该软件开发流程,在软件开发过程中形成了各种软件开发文档,文档是构成软件的组成部分,是软件的图纸,是设计思想的表述方式,要保证文档的齐全有效。文档使对开发人员的工作进度检查有了依据,保证了软件产品开发的可控性,保障了软件产品的质量。即使出现了原班软件开发人员换值的情况,新的软件开发人员也能够根据保留的文档很快的接续工作,保证了软件开发的可持续性和可维护性。
总结
该专用设备软件开发流程,针对软件项目的开发过程进行相应管理,明确了流程中的各阶段、要求的软件文档和相关活动,提高了电子专用设备软件的研发可控性、可持续性和可维护性,使软件成为有质量的产品提供了保障。在具体应用时,要根据项目的不同情况和特点进行灵活调整,不可一概而论。
以上就是我们深圳市组创微电子有限公司为您介绍的电子工业专用设备软件开发流程。如果您有智能电子产品的软硬件功能开发需求,可以放心交给我们,我们有丰富的电子产品定制开发经验,可以尽快评估开发周期与IC价格,也可以核算PCBA报价。我们是多家国内外芯片代理商:松翰、应广、杰理、安凯、全志、realtek,有MCU、语音IC、蓝牙IC与模块、wifi模块。我们的拥有硬件设计与软件开发能力。涵盖了电路设计、PCB设计、单片机开发、软件定制开发、APP定制开发、微信公众号开发、语音识别技术、蓝牙wifi开发等。还可以承接智能电子产品研发、家用电器方案设计、美容仪器开发、物联网应用开发、智能家居方案设计、TWS耳机开发、蓝牙耳机音箱开发、儿童玩具方案开发、电子教育产品研发。
- 返回顶部