《飞行器研制中的软件工程》由会员分享,可在线阅读,更多相关《飞行器研制中的软件工程(47页珍藏版)》请在金锄头文库上搜索。
1、飞行器研制中的软件工程工程系统工程系Dept. of Project Systems Engineering概 述 在当代采用高新技术的飞行器研制中,系统工程与软件工程是密不可分的。这不仅是因为现代飞行器中装备了大量的软件,而且由于在飞行器研制中纯粹的软件开发和开发组织是少见的。软件多是与系统一起开发,并集成到系统中。因此迫切需要将软件工程,乃至软件采办与系统工程集成在一起。概 述n软件质量特性n软件的质量模型n软件质量的Pareto原理n软件质量与软件工程化现代软件开发与管理的三维模型时间维对软件生存期的全过程控制n过程是指通过人员、设备、器材和规程的交互作用,以期提供一个规定的服务,或生产
2、一个规定的产品。时间维对软件生存期的全过程控制n软件过程管理的关键活动n过程控制要点软件开发过程应当是可度量、可控、可改进的软件开发过程应按时间顺序划分各子过程,对各子过程应确定各控制点清楚地描述过程中的各项活动、任务及其结果,特别是应标识出对软件项目成功至关重要的任务使用正确的、解析的质量参数,对软件开发过程提供有效的质量度量在软件开发过程中,应将管理活动与工程活动结合起来在软件开发过程中,必须认真进行软件工程的实践标识软件开发过程中的风险领域,确定描述与跟踪各风险因素的方法和降低风险的途径时间维对软件生存期的全过程控制时间维对软件生存期的全过程控制n软件生存期各阶段的过程控制空间维软件关键
3、质量因素的全方位管理n软件质量的全方位管理是对影响软件质量的各个关键要素进行严格管理,使软件开发按照软件质量要求规范化地实施三位一体的软件开发管理模式n软件开发者的自我管理个体软件过程(PSP)n软件开发者的团队管理(TSP)小组软件过程TSP的简单框架小组及其角色的管理目标及其度量评价软件能力成熟度名模型(CMM)从CMM到集成的能力成熟度模型(CMMI)三位一体的软件开发管理模式下一代飞行器研制中的软件可靠性问题n美国F-22的教训nF-35软件可靠性的实施n下一代飞行器研制中的软件可靠性工程美国F-22的教训nF-22是目前美国空军飞机中最复杂的软件密集系统nF-22软件控制着飞机上80
4、%的功能,其费用占飞机工程与制造研制费用的30%nIBM公司主要经验:认真实施软件工程特别加强软件测试n1.认真实施软件工程F-22软件开发强制性要求遵循MIL-STD-2167A标准F-22软件开发强制性要求采用Ada军用标准语言为降低风险,F-22航空电子软件是分块批次开发的采用综合产品组(IPT)软件开发团队的成员采用相同的软件开发环境重视软件工程师的培训美国F-22的教训nF-22航空电子软件开发采用的是多V模型的开发方法nF-22上的航空电子硬件和软件开发共用了4批次1.0批次(1999年上半年)2.0批次(1999年下半年)3.0批次(2000年4月)4.0批次(2005年)美国F
5、-22的教训n2.特别加强软件测试航空电子综合实验(AIL)飞行实验台(FTB )试验F-22研制试验飞机飞行试验美国F-22的教训美国F-22的教训n3.F-22在飞行试验中出现的软件可靠性问题美国空军要求F/A-22整个软件包工作20小时不会发生任何1个航电组件实效的问题。在2003年2月的试验中,3小时飞行试验出现1次软件错误F-22飞行试验过程中,出现的众多航空电子软件可靠性问题在于各个组件之间的综合,在技术上遇到的最大挑战是实现多传感器的数据融合研制进度延后一年半,费用超支8.76亿美元后,美国空军称,F-22已解决了航空电子软件可靠性问题,并称,“软件可靠性已不再是问题” 由于软件
6、问题,由于软件问题,F-22F-22的座舱系统每运行的座舱系统每运行2 2小时就要关闭一次。航空电子软件可靠性的小时就要关闭一次。航空电子软件可靠性的问题能造成部分航空电子系统如雷达处于异问题能造成部分航空电子系统如雷达处于异常状态,甚至完全不能运行。在这种条件下,常状态,甚至完全不能运行。在这种条件下,试飞员必须重新启动试飞员必须重新启动F-22F-22航空电子系统航空电子系统n3.F-22在飞行试验中出现的软件可靠性问题新问题产生: 飞控有关的软件问题 全球定位系统问题美国F-22的教训 2004 2004年年1212月月2020日,一架美军日,一架美军F/A-22F/A-22猛禽猛禽战斗
7、机坠毁。战斗机坠毁。 此前此前F/A-22F/A-22战斗机的原型机战斗机的原型机YF-22YF-22由于软由于软件问题在降落时发生过一次坠毁事故件问题在降落时发生过一次坠毁事故 2007 2007年年2 2月,美国空军月,美国空军1212架架F-22AF-22A战斗机战斗机从夏威夷飞往日本,途经国际日期变更线时,从夏威夷飞往日本,途经国际日期变更线时,飞机上的全球定位系统纷纷失灵,多个电脑飞机上的全球定位系统纷纷失灵,多个电脑系统发生崩溃,多次重启均告失败系统发生崩溃,多次重启均告失败 对对8787架架F-22AF-22A进行全面检查,对有问题的进行全面检查,对有问题的软件系统实施修改升级软
8、件系统实施修改升级n1.F-35软件特点软件庞大、复杂:软件规模大于680万行的代码软件开发组织:庞大、复杂,多公司配合,国际化团队,多地点软件开发产品开发管理:全面的软件计划、标准及度量,保证有组织的软件开发工作F-35软件可靠性的实施n2.F-35软件可靠性的实施建立了软件管理团队强调软件可靠性是软件产品质量和软件产品完整性的一个指标,并要求在软件开发过程和系统综合与测试中均应开展软件可靠性工作软件可靠性的关键n确定可靠性指标n制定软件操作剖面n可靠性测试n可靠性测量F-35软件可靠性的实施n2.F-35软件可靠性的实施软件可靠性技术用于n预计一个新软件期望的缺陷数n预计软件何时可交付n预
9、计为满足软件质量目标需要进行多少测试n定量的预计软件交付时的质量n预计外场的软件失效率F-35软件可靠性的实施n目前了解的在F-35在软件可靠性方面的工作管理并报告软件可靠性收集软件可靠性数据,并采集度量数据收集的工具软件可靠性预计和度量当软部件产品集成时,通过数据整合等数据来跟踪和预测软件可靠性MTTF通过测试计划和测试资源的使用来确认测试费用和约束条件可利用外场的使用强度估计外场的软件失效率F-35软件可靠性的实施下一代飞行器研制中的软件可靠性工程n1.软件可靠性工程模型软件可靠性工程 Muss模型下一代飞行器研制中的软件可靠性工程软件可靠性工程 Ruan模型n2.软件可靠性参数选取与指标
10、的确定一般的软件可靠性参数:n可靠度、失效率、MTTF、MTBF结合飞行器特点的软件可靠性参数n成功率n任务成功概率MCSPn由平均失效前时间派生的参数n平均致命性失效前时间下一代飞行器研制中的软件可靠性工程软件可靠性参数的选取n一般的软件可靠性参数选取原则低要求:失效率、失效强度高要求:可靠度稳定的:平均失效前时间/平均失效间隔时间n飞行器软件可靠性参数选取原则考虑飞行器特点(平均失效间隔小时)考虑软件所在系统的可靠性要求考虑软件可靠性验证方法考虑软件的使用要求下一代飞行器研制中的软件可靠性工程软件可靠性指标确定依据n使用方法的要求n系统的重要程度n系统的可靠性要求n国内外软件可靠性的水平n
11、相似软件的可靠性水平n软件管理、开发人员、软件开发技术水平及开发工具的使用等n进度要求n经费保障n指标要求的可验证性下一代飞行器研制中的软件可靠性工程n3.软件可靠性设计与软件可靠性分析软件可靠性设计n软件可靠性设计原则n软件可靠性设计的内容避错设计查错和改错设计容错设计软件可靠性分析n软件失效模式和影响分析(SFMEA)n系统SFMEA的分析步骤下一代飞行器研制中的软件可靠性工程n系统SFMEA的分析步骤系统定义危险分析结构分析失效模式分析在IEEE软件异常分类标准中给出了软件失效模式分类下一代飞行器研制中的软件可靠性工程潜在的软件失效原因表失效影响严重性分类下一代飞行器研制中的软件可靠性工
12、程下一代飞行器研制中的软件可靠性工程n软件可靠性测试目的n有效地发现程序中影响软件可靠性的缺陷,将其排出,即可实现可靠性增长n验证软件的可靠性是否满足一定的要求n预计软件的可靠性n估计软件的可靠性水平下一代飞行器研制中的软件可靠性工程下一代飞行器研制中的软件可靠性工程软件可靠性测试过程下一代飞行器研制中的软件可靠性工程软件可靠性增长测试下一代飞行器研制中的软件可靠性工程软件可靠性验证测试过程软件可靠性验证测试工作内容下一代飞行器研制中的软件可靠性工程n软件可靠性管理下一代飞行器研制中的软件系统测试问题n关于嵌入式软件测试环境的思考n模型驱动的软件仿真测试技术仿真测试原理模型驱动的软件仿真测试n
13、两种不同观点特别强调测试环境“真实性”对嵌入式软件的系统测试最好在半实物仿真测试环境下进行n两种实际飞行器比较美国F-22我国某型号飞机关于嵌入式软件测试环境的思考关于嵌入式软件测试环境的思考n模型驱动的仿真测试技术(MDST)将模型驱动体系结构(MDA)方法与软件仿真测试结合,整个测试活动围绕建模开展,从测试需求分析,到测试用例生成,以及测试用例执行,最后是测试结果分析,处处都以模型为指导将MDA方法应用到软件测试过程中,将带来测试质量和测试效率的提高模型驱动测试将测试逻辑与具体的测试实现相分离,从而使得测试人员更加关注于测试逻辑的设计,而具体的测试实现以及测试执行完全由模型驱动测试工具来完成模型驱动测试为测试人员提供了简便、有效的方式模型驱动的仿真测试技术n仿真测试原理目的n减少测试费用、缩短测试时间、提前测试进行、降低测试风险、提高测试可重复性本质n基本公里假设:独立性、环境同构、缺陷本质、有效性n基本特性:可仿真性、测试性、可替换性对系统环境的仿真n系统环境、系统行为、系统功能、系统性能、系统功能与环境的关系模型驱动的仿真测试技术n仿真测试类型模型驱动的仿真测试技术对环境仿真的抽象模型驱动的仿真测试技术模型驱动的软件仿真测试模型驱动的仿真测试技术模型驱动的软件仿真测试模型驱动的仿真测试技术分布式实时仿真测试系统的整体框架结构模型驱动的仿真测试技术