论文部分内容阅读
摘要:本文阐述了军用软件区别于普通民用软件的各项特点,对军用软件研制过程中易出现的问题进行了分析,利用项目管理相关对策对提升军用软件系统质量管理提出建议。
关键词:军用软件;系统质量;项目管理
引言
现代战争已经进入信息化时代,信息化已经成为主导战争胜负的关键因素,军用软件在提升信息能力方面扮演了重要角色,隨着我军信息化程度不断提高,信息化装备的神经中枢作用日益突出,军用软件在武器装备中的比例不断提升,完全渗透到军事应用的各个方面,成为武器装备体系中不可或缺的重要组成部分。因此军用软件的质量直接影响了武器装备和军队的作战能力,其质量要求也逐渐提高。
由于军用软件质量要求高、需求变化快、保密性高等特点,军用软件在研制时对应的各项工作要求随之提高。
1军用软件系统的特点
军用软件是用于军事用途的计算机软件,通常分为武器系统软件和自动化信息系统软件两类,相比较于民用软件,军用软件有如下几方面的特点。
1.1质量要求高
军用软件应用的对象包括各级作战指挥中心,各类作战指挥单元,在导弹、战斗机、航母等高精尖武器装备和普通武器装备中普遍应用。尤其是高新武器装备中,由软件实现的功能越来越多,甚至远远超过硬件。由于军用软件需要面对更复杂的作战环境,所以军用软件具有更高的可靠性、互操作性和实时性要求,其智能化、精确性要求也高于民用软件,研制过程和质量控制更为严格。
1.2需求变化快
由于作战指挥流程和方法没有固定程式,更多体现了指挥员的思维艺术,所以同一个功能针对不同的受众对象,使用需求也会有所区别。同时,受作战复杂度和环境因素影响,装备性能要求也不断提高,军用软件研制的需求也会随之变化。
1.3高保密性
信息对抗环境下,要求军用软件需要有更高的安全防护能力,因此,军用软件需要有更高的保密性。军用软件的开发的环境也具有高保密性特点。
1.4系统结构复杂,集成要求高
现代战争是体系与体系的对抗,单一武器、单一系统的决胜作用逐渐弱化。只有通过信息化系统装备将各类武器平台和传感器有效衔接,效用才能倍增。构筑信息化系统装备绝不是各种装备的简单规程,也不仅仅是体系间的物理连通,而是通过集成各个分子系统,通过软件控制,将各作战信息按照作战要求有序流动,既要满足各分子系统间互连互通互操作的要求,又要实现信息数据共享,达到功能互补、协同行动和互相支援的效果。
同时,战场信息具备海量、多态等特点,指挥信息系统需要承载超大规模的数据。实现海量数据的信息共享是信息系统的基本要求,这给军用软件开发提出了更高要求。很大一部分军用软件为嵌入式软件,需要匹配相应的硬件研制,通过软件与硬件有机融合,实现对战场感知、指挥决策和武器平台控制,软件缺陷和硬件故障有时候难以区分,对系统集成要求较高。
2影响军用软件质量的因素
2.1人员因素
(1)在军用软件开发中,因为与需求方(采购方和用户)沟通不足;或设计人员对需求理解不透;或用户在项目启动时未明确需求;或用户频繁变更需求;或项目组成员各行其是……,这些因素都会造成军用软件研制过程中出现各种问题,导致开发偏离需求,影响软件的质量。
(2)研发人员技术水平参差不齐,给软件质量控制带来一定难度。另外软件开发人员数量是否充足也是影响软件开发质量的重要因素。
2.2管理因素
(1)开发流程管理及质量保证体系:
软件的完整开发环节需要设计、开发、测试、配置管理、质量管理、项目管理、保密管理等诸多部门配合运行,这就需要协调和合理的管理,如果管理不善,缺少有效的沟通协作机制,就可能导致各部门缺少沟通和配合,各行其是,各项工作不能有效衔接,使工程处于混乱状态。
军用软件往往涉及总部机关、使用部队、军方院校、科研院所等多方单位参与,这对于软件开发管理提出了更高的要求,需要相应的质量保证体系进行有效的监督和管理。
(2)配置管理:配置管理的主要目的是在软件的整个生命周期过程中对软件的信息进行管理,主要包括版本管理、变更管理、状态统计和配置审核,配置管理对软件开发有着重要的作用,通过配置管理可以更清晰的追溯软件的需求变化、版本变更情况等,可以实现对软件开发过程的及时监控。软件的配置管理包括设置配置、合理修改配置等工作,这需要有完善和规范的配置管理文件。
2.3技术因素
(1)技术标准:近年来军用软件开发技术发展迅速,同时技术指标的变更和需求不停迭代,标准是否具有可操作性,技术标准是否能跟上软件发展趋势的要求,标准是否统一也影响到军用软件开发的质量。
(2)测试的完整性:目前军用软件的测试大多针对项目开发完成后的验收测试,软件测试工作需要系统的分析和整体的设计,测试人员的技术水平、测试环境是否与应用环境一致,能否实现整体完全测试这些因素都会影响软件测试的效果及开发质量。
3在研制过程中提升军用软件质量的项目管理对策
3.1项目定义研究
在军用软件开发项目实施过程中,首先要进行的就是项目定义研究工作,具体来说就是明白开发软件要做什么,用什么工具做,要多久等问题
(1)需求分析:做什么是指军用软件开发的目标,项目团队要清楚开发软件的用途是什么,也就是软件的需求分析。应充分重视需求分析工作,和用户以及开发团队内部进行充分沟通,了解客户需要并对需求进行梳理、分解。需求分析主要包括功能性需求、非功能性需求和约束条件等,并且尽可能的明确开发过程中各阶段的需求;需求分析的成果应该是经过客户和开发方共同认可的编写规范的规格说明,需求分析是一个动态循环的过程,需要用户和开发者不断的跟进需求的更新,只有这样才能保证需求能够满足应用要求,保证开发效果。 (2)明确软件开发工具:用什么工具做就是明确开发的工具和方法。近些年软件开发方法不断更新,开发者应考虑与软件开发需求相适应的软件开发方法,同时应用合适的软件开发工具,这样能大大提高软件开发的效率和质量,对软件开发来说能够起到事半功倍的效果。软件开发中可能用到工具有:①软件开发工具,如文档辅助工具、需求分析工具、编程工具和代码管理工具;②软件测试工具,如静态分析工具、动态分析工具、汇编语言测试工具和嵌入式测试工具等;③软件管理工具,如计划管理工具、项目管理工具、配置管理工具等。对于开发者来说,应用适合的软件开发辅助工具是软件开发成功的重要方面/保证。
(3)明确软件开发周期:要多久就是计划好软件的开发周期,对所编制软件的评估、审核过程也应该包括在开发周期内,应用软件生命开发周期模型对开发周期内的各项活动进行合理定义和表达确定软件开发全部过程、活动和任务的结构框架。
3.2列出项目计划
对项目进行定义之后应该制定项目的实施计划,应该包括项目的管理计划、控制计划、执行计划、结构管理计划、项目验收计划、质量保证计划等,这些计划应相互衔接,对于项目各参与人分工明确,合理分配软件开发项目中成员的任务和责任。
3.3加强软件配置管理
开发人员可以考虑选取合适的配置管理工具并着重做好以下几方面:
(1)加强配置标识:配置项应逐级细化、按层次标识,配置标识应便于理解和区分,通过配置标识能够确定配置项对应的电子物理名称的编码,如根据配置项的逻辑标识,可以确定其电子文件名称及其父配置项的电子文件名称或其父配置项的目录名称。
(2)做好实时、有效、可追溯的配置控制:配置项必须经过严格的审批流程才能够进入受控库,对应配置项的变化应及时记录存储,及时反应在配置管理库中,配置项的变更应该能够实现可追溯。
3.4提高测试的有效性和全面性
军用软件的测试应该贯穿软件研發的整个生命周期,在论证设计之初就应该同步考虑软件测试设计工作,改革软件测试方法应注意以下几方面工作:
(1)建立规范的软件测试体系。软件设计之初测试人员就应该介入设计体系中,参与论证和设计工作。同时,明确测试组织管理体系和过程管理体系,组织管理体系中应明确软件开发各阶段的测试人员,过程管理体系对软件整个生命周期中形成的体系结构模型、功能结构模型、业务流模型和数据流模型进行测试,以期对测试工作进行系统管理,尽早发现系统错误,及时纠正完善。
(2)建立统一的软件测试标准。软件测试标准包括测试组织与管理要求、测试设计、测试文档编制、测试术语规范、测试说明、测试报告等,对每一类文档的格式、内容制定统一的技术标准,确保测试能够真正实现对系统的纠错完善功能。
(3)应用先进的软件测试方法。针对软件的具体情况采用增量式集成测试方法、探索式测试方法,或重点加强系统恢复性、安全性测试、强度测试和仿真测试。
4结语
已有部分军用软件开发团队实施了运作对接机制,建立了部队用户、使用总体、技术总体、研发人员、测试人员五方同步参与的协作共同体。做到需求发现与确认、功能设计与实现、问题测试与整改归零的流水线管理策略,确保了项目进度和整体工作效率。研发过程中,各课题组定期组织开展专题研讨会,对各类事项进行预警。决策组据此提前规划,针对各类技术难点召集领域专家和技术负责人进行专项攻关,确定方案,保证关键点少走弯路。同时,结合实际情况,组织探讨研制、升级和保障中可能存在的技术风险、质量管控风险和计划风险等,开展风险预警和管控,取得比较理想的成效。
随着我国装备技术水平不断提高,军用软件开发的要求也日益提高,对于军用软件的质量管理要采用新思路新模式,及时更新软件工程理论技术,根据软件技术的发展、军备应用要求的提高采取更先进的开发模型、软件评价模型、质量保证方法,同时运用项目管理的思想对军用软件质量进行控制,在软件开发中坚持标准化、系列化、模块化理念,提高软件项目开发的效率和质量。
参考文献
【孙心丰,寇祝,门金柱.SVN在军用软件项目配置管理中的应用[J].电子质量,2015(09):26-28,34.】
【贲可荣,张秀山.软件工程:基于项目的面向对象研究方法[M].机械工业出版社.4-5.】
【刘伟,龙琼,陈芳,付敏.如何加强军用软件的质量管理[J].计算机技术与应用,2007,27(2):55-57.】
【李晓丽,龙翔,刘超,李虎.军用软件测试现状及对策[J].装甲兵工程学院学报,2008,22(5):66-70.】
关键词:军用软件;系统质量;项目管理
引言
现代战争已经进入信息化时代,信息化已经成为主导战争胜负的关键因素,军用软件在提升信息能力方面扮演了重要角色,隨着我军信息化程度不断提高,信息化装备的神经中枢作用日益突出,军用软件在武器装备中的比例不断提升,完全渗透到军事应用的各个方面,成为武器装备体系中不可或缺的重要组成部分。因此军用软件的质量直接影响了武器装备和军队的作战能力,其质量要求也逐渐提高。
由于军用软件质量要求高、需求变化快、保密性高等特点,军用软件在研制时对应的各项工作要求随之提高。
1军用软件系统的特点
军用软件是用于军事用途的计算机软件,通常分为武器系统软件和自动化信息系统软件两类,相比较于民用软件,军用软件有如下几方面的特点。
1.1质量要求高
军用软件应用的对象包括各级作战指挥中心,各类作战指挥单元,在导弹、战斗机、航母等高精尖武器装备和普通武器装备中普遍应用。尤其是高新武器装备中,由软件实现的功能越来越多,甚至远远超过硬件。由于军用软件需要面对更复杂的作战环境,所以军用软件具有更高的可靠性、互操作性和实时性要求,其智能化、精确性要求也高于民用软件,研制过程和质量控制更为严格。
1.2需求变化快
由于作战指挥流程和方法没有固定程式,更多体现了指挥员的思维艺术,所以同一个功能针对不同的受众对象,使用需求也会有所区别。同时,受作战复杂度和环境因素影响,装备性能要求也不断提高,军用软件研制的需求也会随之变化。
1.3高保密性
信息对抗环境下,要求军用软件需要有更高的安全防护能力,因此,军用软件需要有更高的保密性。军用软件的开发的环境也具有高保密性特点。
1.4系统结构复杂,集成要求高
现代战争是体系与体系的对抗,单一武器、单一系统的决胜作用逐渐弱化。只有通过信息化系统装备将各类武器平台和传感器有效衔接,效用才能倍增。构筑信息化系统装备绝不是各种装备的简单规程,也不仅仅是体系间的物理连通,而是通过集成各个分子系统,通过软件控制,将各作战信息按照作战要求有序流动,既要满足各分子系统间互连互通互操作的要求,又要实现信息数据共享,达到功能互补、协同行动和互相支援的效果。
同时,战场信息具备海量、多态等特点,指挥信息系统需要承载超大规模的数据。实现海量数据的信息共享是信息系统的基本要求,这给军用软件开发提出了更高要求。很大一部分军用软件为嵌入式软件,需要匹配相应的硬件研制,通过软件与硬件有机融合,实现对战场感知、指挥决策和武器平台控制,软件缺陷和硬件故障有时候难以区分,对系统集成要求较高。
2影响军用软件质量的因素
2.1人员因素
(1)在军用软件开发中,因为与需求方(采购方和用户)沟通不足;或设计人员对需求理解不透;或用户在项目启动时未明确需求;或用户频繁变更需求;或项目组成员各行其是……,这些因素都会造成军用软件研制过程中出现各种问题,导致开发偏离需求,影响软件的质量。
(2)研发人员技术水平参差不齐,给软件质量控制带来一定难度。另外软件开发人员数量是否充足也是影响软件开发质量的重要因素。
2.2管理因素
(1)开发流程管理及质量保证体系:
软件的完整开发环节需要设计、开发、测试、配置管理、质量管理、项目管理、保密管理等诸多部门配合运行,这就需要协调和合理的管理,如果管理不善,缺少有效的沟通协作机制,就可能导致各部门缺少沟通和配合,各行其是,各项工作不能有效衔接,使工程处于混乱状态。
军用软件往往涉及总部机关、使用部队、军方院校、科研院所等多方单位参与,这对于软件开发管理提出了更高的要求,需要相应的质量保证体系进行有效的监督和管理。
(2)配置管理:配置管理的主要目的是在软件的整个生命周期过程中对软件的信息进行管理,主要包括版本管理、变更管理、状态统计和配置审核,配置管理对软件开发有着重要的作用,通过配置管理可以更清晰的追溯软件的需求变化、版本变更情况等,可以实现对软件开发过程的及时监控。软件的配置管理包括设置配置、合理修改配置等工作,这需要有完善和规范的配置管理文件。
2.3技术因素
(1)技术标准:近年来军用软件开发技术发展迅速,同时技术指标的变更和需求不停迭代,标准是否具有可操作性,技术标准是否能跟上软件发展趋势的要求,标准是否统一也影响到军用软件开发的质量。
(2)测试的完整性:目前军用软件的测试大多针对项目开发完成后的验收测试,软件测试工作需要系统的分析和整体的设计,测试人员的技术水平、测试环境是否与应用环境一致,能否实现整体完全测试这些因素都会影响软件测试的效果及开发质量。
3在研制过程中提升军用软件质量的项目管理对策
3.1项目定义研究
在军用软件开发项目实施过程中,首先要进行的就是项目定义研究工作,具体来说就是明白开发软件要做什么,用什么工具做,要多久等问题
(1)需求分析:做什么是指军用软件开发的目标,项目团队要清楚开发软件的用途是什么,也就是软件的需求分析。应充分重视需求分析工作,和用户以及开发团队内部进行充分沟通,了解客户需要并对需求进行梳理、分解。需求分析主要包括功能性需求、非功能性需求和约束条件等,并且尽可能的明确开发过程中各阶段的需求;需求分析的成果应该是经过客户和开发方共同认可的编写规范的规格说明,需求分析是一个动态循环的过程,需要用户和开发者不断的跟进需求的更新,只有这样才能保证需求能够满足应用要求,保证开发效果。 (2)明确软件开发工具:用什么工具做就是明确开发的工具和方法。近些年软件开发方法不断更新,开发者应考虑与软件开发需求相适应的软件开发方法,同时应用合适的软件开发工具,这样能大大提高软件开发的效率和质量,对软件开发来说能够起到事半功倍的效果。软件开发中可能用到工具有:①软件开发工具,如文档辅助工具、需求分析工具、编程工具和代码管理工具;②软件测试工具,如静态分析工具、动态分析工具、汇编语言测试工具和嵌入式测试工具等;③软件管理工具,如计划管理工具、项目管理工具、配置管理工具等。对于开发者来说,应用适合的软件开发辅助工具是软件开发成功的重要方面/保证。
(3)明确软件开发周期:要多久就是计划好软件的开发周期,对所编制软件的评估、审核过程也应该包括在开发周期内,应用软件生命开发周期模型对开发周期内的各项活动进行合理定义和表达确定软件开发全部过程、活动和任务的结构框架。
3.2列出项目计划
对项目进行定义之后应该制定项目的实施计划,应该包括项目的管理计划、控制计划、执行计划、结构管理计划、项目验收计划、质量保证计划等,这些计划应相互衔接,对于项目各参与人分工明确,合理分配软件开发项目中成员的任务和责任。
3.3加强软件配置管理
开发人员可以考虑选取合适的配置管理工具并着重做好以下几方面:
(1)加强配置标识:配置项应逐级细化、按层次标识,配置标识应便于理解和区分,通过配置标识能够确定配置项对应的电子物理名称的编码,如根据配置项的逻辑标识,可以确定其电子文件名称及其父配置项的电子文件名称或其父配置项的目录名称。
(2)做好实时、有效、可追溯的配置控制:配置项必须经过严格的审批流程才能够进入受控库,对应配置项的变化应及时记录存储,及时反应在配置管理库中,配置项的变更应该能够实现可追溯。
3.4提高测试的有效性和全面性
军用软件的测试应该贯穿软件研發的整个生命周期,在论证设计之初就应该同步考虑软件测试设计工作,改革软件测试方法应注意以下几方面工作:
(1)建立规范的软件测试体系。软件设计之初测试人员就应该介入设计体系中,参与论证和设计工作。同时,明确测试组织管理体系和过程管理体系,组织管理体系中应明确软件开发各阶段的测试人员,过程管理体系对软件整个生命周期中形成的体系结构模型、功能结构模型、业务流模型和数据流模型进行测试,以期对测试工作进行系统管理,尽早发现系统错误,及时纠正完善。
(2)建立统一的软件测试标准。软件测试标准包括测试组织与管理要求、测试设计、测试文档编制、测试术语规范、测试说明、测试报告等,对每一类文档的格式、内容制定统一的技术标准,确保测试能够真正实现对系统的纠错完善功能。
(3)应用先进的软件测试方法。针对软件的具体情况采用增量式集成测试方法、探索式测试方法,或重点加强系统恢复性、安全性测试、强度测试和仿真测试。
4结语
已有部分军用软件开发团队实施了运作对接机制,建立了部队用户、使用总体、技术总体、研发人员、测试人员五方同步参与的协作共同体。做到需求发现与确认、功能设计与实现、问题测试与整改归零的流水线管理策略,确保了项目进度和整体工作效率。研发过程中,各课题组定期组织开展专题研讨会,对各类事项进行预警。决策组据此提前规划,针对各类技术难点召集领域专家和技术负责人进行专项攻关,确定方案,保证关键点少走弯路。同时,结合实际情况,组织探讨研制、升级和保障中可能存在的技术风险、质量管控风险和计划风险等,开展风险预警和管控,取得比较理想的成效。
随着我国装备技术水平不断提高,军用软件开发的要求也日益提高,对于军用软件的质量管理要采用新思路新模式,及时更新软件工程理论技术,根据软件技术的发展、军备应用要求的提高采取更先进的开发模型、软件评价模型、质量保证方法,同时运用项目管理的思想对军用软件质量进行控制,在软件开发中坚持标准化、系列化、模块化理念,提高软件项目开发的效率和质量。
参考文献
【孙心丰,寇祝,门金柱.SVN在军用软件项目配置管理中的应用[J].电子质量,2015(09):26-28,34.】
【贲可荣,张秀山.软件工程:基于项目的面向对象研究方法[M].机械工业出版社.4-5.】
【刘伟,龙琼,陈芳,付敏.如何加强军用软件的质量管理[J].计算机技术与应用,2007,27(2):55-57.】
【李晓丽,龙翔,刘超,李虎.军用软件测试现状及对策[J].装甲兵工程学院学报,2008,22(5):66-70.】