嵌入式应用软件开发过程标准化管理探讨

上传人:文*** 文档编号:57278942 上传时间:2022-02-23 格式:DOCX 页数:12 大小:73.08KB
返回 下载 相关 举报
嵌入式应用软件开发过程标准化管理探讨_第1页
第1页 / 共12页
嵌入式应用软件开发过程标准化管理探讨_第2页
第2页 / 共12页
嵌入式应用软件开发过程标准化管理探讨_第3页
第3页 / 共12页
点击查看更多>>
资源描述
嵌入式应用软件开发过程标准化管理探讨嵌入式软件广泛应用于国防、工控、家用、商用、办公、医疗等领域,嵌入式计算机系统存在着专用性强、可靠性高、实时性强、软硬件结合紧密等特点,嵌入式软件是嵌入式计算机应用系统的核心与灵魂,它在军用电子装备中有着广泛的应用,其中一些中小型军用电子装备研发企业的嵌入式软件研发团队一般仅有数人至十几人,且存在人员流动,缺乏对其开发过程的有效技术及质量的监管控制,造成一些软件嵌入式更改频繁、开发效率低,质量无法保证。而通用软件开发中广泛使用的 CMM / cm模型是以大企业为对象制定的,在这些 企业中实施有困难。规其开发过程存在一定难度,这成为这些企业控制装备质量、提高研发效率的瓶颈。本文依据软件工程化思想、CMM / CMMI 模型和 GJB9001B 质量管理依系的思想原则,结合嵌入式软件开发的自身特点,针对中小型软件研发企业的具体情况提出了嵌入式软件开发过程的标准化管理及质量控制的一些思路,以飨读者。1 嵌入式软件开发过程的标准化分析1.1 嵌入式软件与嵌入式系统嵌入式系统(Embedded System是指用于执行独立功能的专 用计算机系统。它以应用为 中心,以计算机技术为基础,软硬件可裁减,能适应实际应用系统中对功能、性能、可靠性、成本、体积、功耗、电磁兼容等严格要求的专用计算机系统1。嵌入式软件与嵌入式系统是密不可分的, 嵌入式软件是基于嵌入式系统而专门设计的软件。嵌入式软件是针对待定应用领域, 基于某一固定的嵌入式硬件平台系统而专门设计,用来达到用户预定目标的计算机软件。嵌入式系统中软件与硬件紧密配合/协调工作,强调硬件/软件的协同性与整合性。开发时着重软硬件协同设计方法,即使用统一的方法和工具协同设计目标系统的软硬件体系结构, 以最大限度地挖掘目标应用系统软硬件能力,获得高可靠、高性价比的系统优化设计方案2。与通用计算机系统相比,它具有以下特点。(a) 系统的专用性嵌入式软件系统为特定的用户设计,面向特定的应用领域,这种强针对性决定了嵌入式系统在硬件/软件系统设计方面都必须量体裁衣(体积/功耗 /成本 ),以满足应用系统的特定应用要求。(b) 硬件的依赖性在嵌入式系统中,软件与硬件结合非常紧密。软件的运行离不开特定的硬件平台,当硬件平台发生改变时,其中的嵌入式软件要根据硬件的变化进行修改和系统的移植。此外, 嵌 入式系统中有限的硬件资源制约着软件的开发,决定着软件的质量和效率,因此,在嵌入式系统的设计、开发、测试等过程中,要充分考虑到硬件资源的约束、管理及使用。(c) 高可靠性、稳定性软件可靠性是指在规定的条件和规定的时间,软件运行不发生故障的能力。采用嵌入式系统的装备,一般都有较高的可靠性的要求,因而对嵌入式软件也提出了高可靠性、高稳定 性的要求。(d) 多任务的抢占性与实时性在一些强实时应用的嵌入式软件系统中,各任务的优先级不同,同级任务具有抢占的特点,而且每个任务的响应时间均有明确而严格的要求和限制,否则可能产生灾难性的问题或引发系统崩溃。(e)目标软件调试环境复杂嵌入式软件的目标系统多为特殊的专用系统,通常采用宿主机/ 目标机的联合开发环境, 借助通用计算机作为目标机的宿主开发调试环境,利用交叉调试器、通过通讯/ 或 JTAG 接口 对目标机进行相关的开发调试,调试环境相对复杂、干扰因素较多。由于嵌入式软件具有以上特点,其设计、实现与测试均与普通应用软件研发不同,我们有必要采用软件工程化的原理,对其开发过程进行分析研究,优化其开发过程,提高它的可视性、 可测性、可维性、可控性,从而提高嵌入式应用软件的开发质量。1.2 一般嵌入式软件开发过程的标准化分析a) 明确开发过程节点,使软件开发过程的管理有序受控将产品质量控制原则贯穿于嵌入式软件开发全过程,规定嵌入式软件开发过程主要节点设置里程碑标志,进行必要的评审,使 嵌入式软件产品开发过程的技术与质量管理有序交控。嵌入式软件研制过程一般采用瀑布式模型,其开发工程过程一般划分为:1)系统设计; 2)需求分析;3)软件概要设计;4)软件详细设计;5)编程;6)软硬件联合调试;7)软件测试。嵌入式软件开发的技术 与质量管理通常结合硬件开发同步进行,一般划分为以下几个阶段:1)方案论证阶段;2)初样阶段;3)正样阶段;4)设计定型;5)生产定型。b) 嵌入式软件软件文档的标准化嵌入式软件的文档资料与嵌入式软件本身是软件产品质量控制的主体,依据 GJB438A 一1997武器系统软件开发文档,建立和完善软件文档库(包括文档模板),通过对开发过程的监督,控制文档与软件的质量,从根本上保证产品质量。c) 降低人为因素对软件质量的影响整个嵌入式软件开发质量是由每个项目成员的工作质量所决定的,明确嵌入式软件开发人员具体岗位、任务分配及工作规,尽疑降低影响软件质量的人为因素,避免非标准化的多个岗位重叠造成软件产品的质量失控。d) 注重嵌入式软件开发关键环节质量控制在开发的过程中,严格需求分析、总体设计、边界设计、概要设计等环节的质量控制是解决软件产品质量的关键环节。强化用户和需求分析人员的边界意识。在有限的时间,明确相关的目标边界、功能边界和数据边界。总体设计时,选择合适的微处理器和相关外围设备、嵌入式操作系统,进行软硬件的合理分割,确定软件开发、调试环境,确保研发成功。e) 对嵌入式软件开发成果进行考核设置重大节点进行软件评审,每一小阶段的完成以该阶段参与人员的输出完成为标志,通过下一阶段参与者直接对上一阶段输出进行考核,使嵌入式软件开发全过程处于受控。f) 规嵌入式软件配置项管理软件的配置管理不是选用一个软件配置管理工具软件就可以了,软件的配置管理就是软件技术状态的管理,包括制定和实施软件配置管理计划,进行配置标识、配置控制、配置状况纪实。通过软件的配置管理确保软件配置项的完备、清晰、一致和可追溯性。尽可能实现版本向前兼容,合并多版本、多分支的产品或部件。g) 嵌入式软件的正确性及可靠性测试软件功能及质量测试是发现软件错误的最有效途径,是保证软件质量的重要手段,也为评价软件技术质量提供了可靠的依据。测试与开发是相辅相成的,软件测试工作应贯穿整个软件开发过程。保证测试质量首先是选择合适的测试人员,他需熟悉软件测试的意义、技术和方法,并善格有于与软件开发人员交流和协调;其次需制定测试计划,再就是在开发过程中对软件进行严 效的测试。针对嵌入式软件特点,不只进行软件的白盒测试及黑盒测试,对测软件进行实时性、多任务并发性、中断处理以及软硬件接口等方面的进行有针对性的测试。2 嵌入式软件开发过程的标准化实施2.1 嵌入式软件项目开发流程的标准化设计嵌入式系统开发的特点是满足应用的多样化需求。嵌入式软件是嵌入式系统的核心部分,我们有必要规嵌入式软件在多样化的软硬件平台下开发流程,只有这样也能使其开发过程受控,产品质量得到保证。本文提出的一般规模嵌入式软件标准化开发流程,流程中设置了软硬件联合调试,及结合硬件进行相关评审的节点,详见图1。项目项目立项评审.建立研发团认管理调研、与用户沟通注总需求边界:方:案一阶:段:初:样阶:段I不通过不通过概要设汁上电/掉电等时住说明人机界囿?_如存在?先行设讣 确认人机界囿确认1详细设计测试设计xkI m充分的代码注释调试单元测试单元测试报侨软唤件联合调试实时性、多任务并发、中浙处理、软顾件接口测试系统测试系统测试报角正 厂样正样研制结合便件1现场试验人体过程型照初样阶段设汁更改受控各项设计文件完善:设:计M!型i不通过四!I软件淞装、复制?工艺文件编制.甘件鉴定用户试用用户试用报告设计定型整套设讣文甬寤丁:型生产、培训*完成公司内有关人员及用户进行培训现场支持|_ &现场技术支持生产定型k一严恪版本挖制图1嵌入式软件标准化开发流程图2.2 嵌入式软件开发岗位和任务分配的标准化2.3 . 1具体岗位设置首先,规技术部门组织结构, 设置标准化的组织机构, 主要的组织有:项目管理委员会、 项 目技术管理委员会、项目组、测试组等。其次,规开发的具体岗位。不少企业为降成本,强调复合型人才”,有相当多的人既 做设计又做编码还做测试,这不仅使项目的运行效率低、出错率高,也使项目的人力成本提 高、人员还不满意。正确的是根据工作容的不同,进行专业分工,通过有效的项目团队组织机制将各类人员集成起来。嵌入式软件开发团队的具体岗位设置可分为:项目负责人、系统 分析师、需求分析师、系统设计师、界面设计师、软件设计师、程序员、测试工程师、质量工程师、配置管理员、 生产支持工程师(工艺师)、培训工程师、技术服务工程师等。根据不同岗位界定其不同的等级和小时工资。详见表 1。表1具体岗位设置序号角色职责1项目负责人开发计划:日常管理;组织完成测试、参与系统轻收;协助第求分析师完成需求分析2系统分析师总体设计:版要设计:系统的功能框架3需求分析师在系统分析师的指导下完成需求分析:对需求及边界进行确认;完成人机界面(用户界面)确认4系统设计师完成概要设计.详细设计;配合完成各项评审.骏收5界面设计师在系统设计师的指导下完成人机界面设计、人机界面确认等6程序员编码实现、单兀调试7测试工程师进行单元测试.系统测试8配置管理员创建和维护配置库9质量工程师开发过程质量分析10生产支挣工程师编写工艺文件.生产指导11培训工程师制定培训计划.编写培训教案、对公司有关人员及用户培训12技术支持工程师用户现场技术支持2.2.2任务划分和分配的规化、标准化根据项目开发标准化流程,细分开发过程的各项任务,明确负责完成任务的岗位和参与完成任务的岗位,明确任务的输入和输出,对输出容(主要为工作文档)质量进行审查,下 一阶段 任务执行者对上一阶段任务完成者进行考核,上一阶段输出没有完成,不能转入下一 阶段工作。详见表2。表2开发过程任务分配表任务编P项目阶段任务名称(输出)负责冈位参与岗位前置任务(输入)001项目立项项目可行性报告系统分析师用户意向002总体方案(初稿)系统分析师研制要求合同003风险评估报告系001001项目开发计划(需评审)项目负责人全体研制要求合同005项目开发周报、项目负责人全体004项目开发月报006项目边界设计系统设计师系统分析师002007项目边界确认项目负责人需求分析师006008史置管理计划、创建和维护配置库配置管理员项目负责人004009需求分析需求调研报告需求分析师系统分析师002. 006()10需求规格说明需求分析师系统分析师002. 006Oil基本数据说明需求分析师系统分析师002. 009012需求/边界确认用户需求确认书需求分析师010. 011013总体设计总体设计方某系统分析师002. 009、010. 011()14软件质量保证计划项目负责人系统分析师104、 013015概要设计低要设计说明、开发环境说明、 接口设计文档系统设计师系统分析师需求分析师010. 012、011、 013016系统人机界面系统人机界面设计说明界面设计师系统设计师109、110.111017系统人机界面确认人机界面用户硝认才踣需求分析师系统设计师115018详细设计详细设计说明系统设计师015、 016019测试设计软件测试计划软件测试说明(测试用例)测试工程师系统分析师质量工程师012. 014、017020编码懑程序(代码、代码注释)程序员系统设计师016. 018021用户手册程序员系统设计师016. 018022单元测试缺陷记录、单元测试报告测试工程师质量工程师018023软硬件联合调 试联合调试记录系统设计师程序员010024系统测试系统测试报告、问题报告.问题处理报告测试工程师质量工程师019. 020025设计定型程序员手册固件保障手册资源综合保障文件程序员系统工程师021026产品规(可结合硬件一起编写)系统分析师全体02 k 025027工艺文件编制首件鉴定生产支挣工程 师02 k025、026028巨置状态报告、版本说明文档配置管理员008029用户试用报告技术支持工程 师030培训培训计划、培训环境准备 培训教案等焙训工程师枝术支持工程师120. 123031各项评审、定 型审查审查申请、各项评审才踣项目负责人021、025、028032阶段总结报告项目负责人系统分析师033现场试卷才踣技术支持工程质量工程师师034质量分析报告质量工程师测试工程师024035各阶段评审报告项目负责人系统分析师2.4 嵌入式软件文 档标准化要求依据GJB438A 1997武器系统软件开发文档4,建立软件文档标准化模板,根据 模板 编制软件文档,具体要求本文不再一一说明。对于嵌入式软件文档的编制时需注意以下几点。a) 在编制软件概要设计说明、详细设计说明时,如果存在一下情况,应加以说明。1)上电复位、掉电、关机、正常工作时的时序状态情况说明, 包括软件的加载(引导)方 式说明、DSP系统的初始化容及流程说明和系统中断向量表的配置说明。2)多CPU系统或主从系统设计的考虑(如果存在)一DSP与上级系统CPU协调工作的通信方式说明DSP与上级系统CPU的通信协议的说明DSP与上级系统CPU的交换信息的命令字格式定义说明。3) 程序的框架结构及系统资源需求一 程序的功能划分和规划,包括 DSP部硬件资源分配情况注明。一 实时多任务系统,其中应包括前、后台模块的功能划分和时限要求。 功能模块间粗拓扑框图。一 模块中中断处理的方式、类型和级别。4) 防流水线冲突的说明。(如有)5) 对存储器有特殊要求的指令字的使用注明。b) 文档化源程序文件要求源程序文件要求文件中包括源程序及其注释容,注释的意义必须与程序一致,应规定注释行数,一般不少于源程序总行数的 35%。一 标识符:包括模块名、变量名、常量名、标号名、子程序名、数据名和缓冲区名等;一 序吉性注释:置于每个程序模块的开头,给出程序的整体说明;一 功能性注释:嵌在源程序体中,必须正确的描述其后的语句或程序的功能或执行的效果;一数据说明:常量说明一简单变量类型说明一数组说明一公用数据块说明一所有文件说明一整形量说明一实型量说明一字符量说明一逻辑量说明一VHDL语舌文档化3某嵌入式软件标准化开发过程举例美多通信设备开发的通信终端采用 ARM嵌入式系统5,软件包括初始化模块、核心处 理模 块、显示模块、键盘模块、数据处理模块、通信模块以及与外设通信模块等。该软件开发过程以本文提出的开发过程为标准过程,在其基础上进行裁减,形成项目软件开发过程。通信终端软件开发过程分方案论证阶段、初样阶段、正样阶段、设计定型四个阶段,在里程碑节点处结合硬 件进行了公司级以上的评审,具体有方案审查、软件需求分析评审、初样软件评审、正样软件评 审、设计定型审查等。通信终端软件开发过程确定了软件开发的具体岗位、任务分配、输入和输出及完成时间, 通过评审和考核使全过程受控,见表 3通信终端软件输出考核表。该项目的成功实施,弁取得较好的产品质量,验证了本文提出的开发过程的有效性。表3通信终端软件输出考核表序号具体岗位承担人员输出考核情况1项目负责人XX(略)合格通信终端项目边界确认书合格通信终端软件质量保证计划合格2系统分析师XX通信终端项目可行性报告合格通信终端软件总体设计方案合格通信终端软件风险评佶se告合格3需求分析师XX终端软件需求调研报告合格终端软件需求规格说明合格终端软件基本数据说明合格终端软件人机界面确认书合格终端软件用户需求确认书合格4系统设计师周XX终端软件慨要设计说明合格终端软件详细设计说明合格终端软件联合调试记录合格5界面设计师汤XX终端软件人机界面设计说明合格6程序员XX汤XX初始化模块源程序(代码.代码注释)核心处理模 块源程序(代码.代码注释人 显示模块源程序(代 码、代码注释人彼盘模块源程序(代码.代码注释 人数据处理模块球程序(代码.代码注释人通信模 块源程序(代码.代码注释 与外设通信模块源程 序(代码、代码注释)合格各模块调试记录合格终端软件用户手卅合格7测试工程师周XX等终端软件测试计划合格终端软件测试说明(测试用例)合格终端软件单元测试报告.缺陷记录合格8配置管理员XX终端软件配置管理计划合格终端软件配置状态报告合格终端软件版本说明文档合格9质量工程师徐XX终端软件质量分析报告合格10生产支挣工程师许XX(略)合格11培训工程师XX(略)合格12技木支持工程师华XX(略)合格通信终端的嵌入式软件开发采用了本文设计的标准化开发过程,通过软件工程化管理,使全过程受控,取得了较好的产品质量和开发效率。4 结束语软件工程化管理要求:3是GJB9001B-2009质量管理体系要求所要求的,采用适宜的软件开发过程是实现项目软件工程化的基础。嵌入式软件专用性强、与硬件结合紧密,本文结合其特点设计标准化的开发过程,使嵌入式软件的开发可视、可测、可维、可控,通过对项目成本、人员、进度、质量、风险等的管理,保证嵌入式软件开发项目能够按照预定的成本、进度、质量顺利完成。软件开发工程化已成为大家共识,嵌入式软件项目成功与否与项目规划、软件规模、软硬件技术方案选择、进展控制、需求变化、边界控制和风险管理等诸多因素有关,进一步开展嵌入式软件工程标准化,如建立、完善模块设计规、软件可靠性设计规、编码规、标准构件库等,将有利于提高其产品质量和劳动生产率。随着技术的进步,嵌入式软件开发经验的积累,一系列标准的完善,嵌入式软件开发工程化将日趋成熟。参考文献TJ 马中梅, 善平等 . ARM&Linux 嵌入式系统教程. : 航空航天,2004程克非嵌入式系统设计. :机 械工业 2010UJ TJ王黎明、益新等 GJB 9001B- 2009质量管理体系要求,2009王安生、瑜等GJB 438A 1997 武器系统软件开发文档熊茂华、振伦. ARM9 嵌入式系统设计与开发应用?清华大学.2009
展开阅读全文
相关资源
相关搜索

最新文档


当前位置:首页 > 商业管理 > 营销创新


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!