谈GJB5000A二级在中小型嵌入式软件研发中的应用
摘要:结合软件项目在GJB5000A二级的实践过程,针对过程中发现的问题和失误,分析了中小型嵌入式软件项目研发的特点,总结出一些实用的软件工程化的实践方法,适用于软件工程化的普及和推广。文章着重在软件项目管理、软件可靠性两方面进行阐述,并讨论了项目信息化管理和软件测试在这两方面的应用。
关键词:GJB5000A;软件项目管理;软件可靠性
随着GJB5000A-2008《军用软件研制能力成熟度模型》在我国科研单位的逐步应用推广,软件产品研制过程的工程化要求越来越科学和严格。因此我们在某些重点项目上进行了GJB5000A二级的首批实践。这次实践有效地提高了软件研制的工程化水平,但是同时也发现了许多问题和和失误。通过管理人员和技术人员的分析和总结,得出结论:GJB5000A二级的应用需要关注的两方面工作重点,一是建立适应于中小型嵌入式软件的高效的项目管理体系,二是利用软件测试技术提高软件的可靠性,保证软件的质量。
1 中小型嵌入式软件的高效管理
1.1 软件研制的现状
在电子信息系统及相关产品中,主要包含三类软件:
(1)人机交互类软件,采集目标状态信息和各分系统状态信息显示于终端图形界面上,同时由操纵员进行人工操作;
(2)数据处理类软件,包括数据处理、信号处理、数据融合、数据交换等;
(3)控制类软件,包括波束控制,机械装置控制,时序控制,系统校准,系统自检等。这三类软件的功能模块基本相同,包括系统初始化、任务调度、数据解算、时序控制、I/O通信定时管理、中断管理、任务问的通信/同步/互斥管理及内存管理等。它们的研制特点如表1所示:
表1反映出三类软件均存高实时性的嵌入式芯片或平台上开发和运行,三类软件规模较小,研制周期短,不同项目的软件之间具有重复性。在实际工作当中,每个软件项目组的人员配置上,全部软件研发人员人数一般不多于10人,项目组成员同时分担大量的硬件研制、系统组成、系统联调、试验的工作。因此我们面对的主要是中小型软件项目的嵌入式软件。
在软件工程化的首次实践中,软件研制过程反映出4类共性的问题:
(1)项目软件研发时间紧,人员少,人员投入度不足,人员职责不明晰,造成部分执行要求被人为简化,甚至随意取消;
(2)项目软件的计划性不强,经常出现需求、人员、资源的变动,造成了进度拖延,计划无法得到保证;
(3)项目软件研发过程中会议和文档较多,但利益相关方的界定不明晰,造成不必要的“文山会海”现象,降低管理效率,影响软件设计工作;
(4)管理人员和技术人员的工作过程缺乏足够的监管和测量分析,造成了项目管理进程缺乏统一性和技术可重复性。
为了解决通过上述问题,我们在实践过程中逐渐摸索和总结出一些适合中小型嵌入式软件研制方法。下面将从软件项目管理体系和软件项目研制过程两方面进行阐述。
1.2 软件项目管理体系
成功的软件取决于科学的管理体系。GJB5000A二级的七个过程域中,项目策划(PP)、配置管理(CM)、过程和产品质量保证(PPQA)这三个过程域是十分重要的管理过程域。
项目策划的目的是制定和维护定义项目活动的计划,具体分为四项工作:
(1)制定项目软件研制计划;
(2)适当地与利益相关方交换意见;
(3)获得对计划的承诺;
(4)维护该计划。
项目策划可以理解为整个软件研制过程的剧本,其规定了“WWWHI0”——(When、Who、Where、How、Input、Output)六个要素,即规定时间内安排项目人员及相关管理人员在一定环境下按照软件工程化的方法,以项目的早期需求或软件研制任务书为输入,依靠项目软件经理与所级主管领导、项目总师、科研开发部、质量管理部、设计师、同行专家经过多方协调,在需求管理、软件生命周期、代码规模估计、文档规模估计、工作量估计、进度、风险管理、培训管理、数据测量、数据管理等达成一致.输出整个项目的软件开发计划。
初期的计划往往无法做到尽善尽美,需求和承诺的更改,不准确的前期估计都会影响计划的实施,导致项目计划需要在过程中调整甚至重新制定,因此对于研制周期较长、软件模块之间存在复杂依赖关系的项目,需要分每一阶段进行更细化的项目策划。
配置管理紧紧依赖于软件开发计划,目的是利用配置标识、配置控制、配置状态纪文和配置审核建立和维护工作产品的完整性。整个软件生命周期中,配置管理起到“数据库”和“录像机”的作用。首先组织级配置管理员规定三类基线:功能基线、分配基线、产品基线;规定三类文件存储库:开发库、受控库、产品库 然后项目级配置管理员规定基线下的工作产品,如技术文档、软件源代码及可执行程序、评审报告等,根据软件研制阶段不同分别放置于对应基线下的库中。组织级和项目级配置管理员进行合理计划,输出配置管理计划。
配置管理工作不能误认为仅仅是档案工作,作为组织级项目配置管理员,其职责为:
(1)定制标准化的开发流程;
(2)定制访问控制、变更控制的条例;
(3)监督配置管理事件并驱动相应的对策;
(4)软件配置管理工具的日常管理与维护。
作为项目级配置管理员,其职责为:
(1)提交配置管理汁划;
(2)各配置项的管理与维护:
(3)执行版本控制和变更控制方案;
(4)完成配置管理阶段工作报告。
过程与产品质量保证是从制度和规范上严格保证了软件工程化的实施。质量管理人员应该具备软件研制开发的经验,熟悉各种软件的研制流程。首先建立对研制过程、工作产品的评价标准;其次通过检查标识并文档化不符合项,追踪不符合项的闭环;然后定期将软件研制过程的质量情况通报整个项目组和高层,并做出阶段总结报告。
项目软件经理、组织级/项目级配置管理员、质量保证人员三者应该及时沟通,从不同的角度管理软件研制项目组成员,包括相互之间的监督,促使软件研制过程严格按照GJB5000A二级标准执行。他们也需要按阶段或定期向项目总师、部门领导以及所领导汇报软件工程化的实施情况以获得上级对项目的支持。
1.3 软件项目研制过程
项目策划和配置管理虽然已经定义了流程化或模板式的操作方法,但大部分项目软件人员会犯“先做事,后补义档”的错误。因为对于总师、分系统负责人、设计师等项目组技术人员来说,他们更关注如何能够促进软件研制过程又好又快的进行。为了这个目的,必须重视需求管理(REQM)、项曰监控(PMC)、测量与分析(MA)这三个工程过程域。
下面以一个瀑布模型的软件研制过程为例说明如何进行过程中的监控。
项目监控从图1中的软件需求分析阶段开始直至项目结束。项目监控过程中,设计师和管理人员需要提供个人工作周报,记录自己实际的工作完成情况;在双周或整月时,项目软件经理组织项目组成员交流项目情况并记录;阶段结束后,组织针对阶段工作产品的评审会,然后输出里程碑报告。管理人员对照《软件开发计划》中的进度计划、风险管理计划、数据管理计划、利益相关方参与计划等文档监控进度偏差、工作量偏差、规模偏差、风险变化、培训情况、评审状况、问题数量和回归状况。一旦出现偏差加大的趋势,就需要及时开会交流,查明原因,迅速纠偏。
研发 应用 软件 嵌入式 二级 中小型 GJB5000A 相关文章:
- Linux下常用的研发工具和环境(06-25)
- 基于ArcGIS的气象电子显示屏管理系统研发(04-18)
- 数字信号处理(DSP)应用系统中的低功耗设计(05-02)
- SHARC引领第四代通用DSP高端应用潮流(09-27)
- 在应用可编程测控网络设计(03-15)
- 基于dsPIC33F系列单片机的应用程序升级方法(04-03)