【#第一文档网# 导语】以下是®第一文档网的小编为您整理的《系统分析师论文范文-论软件开发模型的选择与应用3》,欢迎阅读!
论软件开发模型的选择与应用
【摘要】
21世纪以来,综合测试诊断技术成了各国为增强其装备后勤保障能力的热点技术。2009年6月,我单位受某装备部委托,承担了“XXX电子装备综合测试诊断设备”的研制。我有幸担任了该项目的总设计师。 综合测试诊断设备主要分两部分:测试软件开发平台和管理运行平台。测试软件开发平台主要提供给装备研制单位,用来开发装备测试和故障诊断用TPS,适配器,故障诊断模型等。管理运行平台供维修保障战士使用,提供装备例行检查功能和出现问题后的故障诊断和隔离。 通过对传统开发模型的介绍,和对综合测试诊断设备项目特点的描述,我们选用螺旋模型作为该项目的开发模型。在开发过程中,采用两轮迭代,第一轮迭代的产品,我们称为“原型机”,通过用户对第一轮迭代的评价和我们实际开发的总结,形成了第二轮迭代的需求,第二轮迭代的产品,我们称为“正样机”,该项目的正样机与2010年9月份通过军代表检验和设计鉴定。 【正文】
21世纪以来,综合测试诊断技术成了各国为增强其装备后勤保障能力的热点技术。2009年6月,我单位受某装备部委托,承担了“XXX电子装备综合测试诊断设备”的研制。我有幸担任了该项目的总设计师。 综合测试诊断技术是充分考虑和综合了装备的测试性、人工和自动测试、维修辅助手段、技术信息、人员和培训等构成诊断能力的所有要素,是武器装备的诊断效能达到最佳的一种结构化过程。 综合测试诊断设备主要分两部分组成:测试程序开发平台和管理运行平台。 测试程序开发平台的主要功能是:根据装备的测试要求、测试性设计、测试流程、测试接口、测试资源等信息,开发出装备测试用:TPS(Test Program Set测试程序集),适配器,故障的智能诊断模型。该软件由装备的研制单位使用,提供了测试资源管理、装备资源管理、适配器开发、测试程序开发、智能诊断建模、系统管理、数据管理等模块。 管理运行平台的主要功能是:在装备使用过程中,通过接受装备的BIT信息,判断装备的状态。在装备出现故障后,根据装备的故障模式,故障推理机会自动调用相应的装备故障模型,根据发生故障的模式,同时以历史排故信息作为参考,寻找到一条最快、费用最小的诊断树,然后依次调用诊断树上规定的TPS,故障推理机根据TPS返回结果,自动执行下一步,来完成装备故障的诊断和隔离。该软件还具有TPS执行序列的灵活配置功能,
可以配合完成装备的例行检查。该软件连同硬件设备仪器提供给装备的使用部门(维修保障战士),提供了BIT接收、装备管理、测试、智能故障诊断、数据管理、报表管理、数据分析、装备技术文件查询、ITEM辅助支持、用户管理等功能。 传统的测试诊断设备的测试对象都非常单一和明确。根据我们给研究所做配套测试设备的经验,由于研究所是装备的研制单位,也具有相当高的技术水平,所以在给我们提需求的时候,能够提的比较明确。但是,综合测试诊断设备是综合了所有可测试性资源,所提供的一种最优化测试诊断思路,是在原有测试设备上的极大扩充和升级,在这方面,我国还处于摸索阶段,所以,该项目也是装备部立项的一个科研项目,同时为以后的项目做技术探索和铺垫。 在开发之初,选择软件开发模型时,我们对目前软件工程中的所有开发模型进行了一些分析和对比,寻找一条适合我们这个项目开发的开发模型。 在软件工程中,传统的软件开发模型有:瀑布模型,螺旋模型,演化模型。随着软件技术的迅速发展和市场的变化,新的软件开发模型也不断的出现,如XP模型,敏捷模型和RUP模型。 瀑布模型是最经典的软件生命周期模型,曾经为抵御软件危机起到了举足轻重的作用,该模型的主要是将软件的开发过程分为多个循序执行的过程,每个过程完成之后,才能进入下一个过程,如瀑布流水一样,所以叫瀑布模型。该模型的主要优点是:开发过程条理清楚,有利于管理,解决了最初软件开发混乱的局面。缺点是:该模型相对来说比较死板,有些项目开发时,用户和开发人员在最开始对需求都不是特别清楚的时候,该模型的弊端就暴露出来。 演化模型是针对开发初期用户对需求难以表达清楚的情况下提出的一种模型。开发人员在进行初步需求调研后,通过完成一些基本的原型,来让用户确认,通过用户的反馈,修改原型,通过多次迭代,逐步理解用户需求。该模型的优点是:用户有了一个直观的感受,能够提出一些真正自己需要的需求,很适合用户对需求不清楚项目的开发。缺点是:该模型需要用户的参与较多,有时候在开发出去,由于是原型,开发人员的目的是说明问题为原则,结果用户看了之后,可能会误以为开发人员的最终产品就是这样的,造成不好的负面影响。 螺旋模型综合了瀑布模型按部就班的优点和演化模型多次迭代的优点,螺旋模型分为多次迭代,每次迭代分为四个步骤:指定计划,风险评估,实施工程,客户评估。迭代的过程中比演化模型多了风险评估环节,能够有效的控制项目的风险,每次迭代都是一个增量的发布版本,所以特别适合大型,复杂或者高风险的项目的开发。 综合测试诊断设备本身不但涉及了很多新技术(例如:对装备故障的智能诊断和隔离),而且有很多技术难点,例如:要建立一个TPS开发平台,根据技术要求,该平台要具有图形化开发界面。另外对这些现有测试诊断资源的有效整合也是一次新的尝试。所以该项目的特点就是:复杂度高,有技术难度,风险较高。 根据我们对传统设计模型的分析,同时结合
该项目的特点,螺旋模型最适合该项目的开发,所以选用螺旋模型作为该项目的主要开发模型。在工作进度安排方面,经过我们认真考虑,并且结合军工质量体系的研制惯例,我们将该项目的总体进度划分为两次迭代,第一次迭代的产品我们叫做原型样机,第二次迭代的产品我们叫做正样机。 由于国内目前都是研究阶段,没有成熟的产品供我们借鉴和学习,所以在原型样机阶段,我们从两方面对需求进行了调研:1.积极和上级单位,装备的研制单位(研究所),装备的使用单位(部队)取得联系,了解相关责任部门和使用单位对该设备的期望和要求,根据我们的调研结果发现,不论是上级单位还是装备研制单位和使用单位,被调研人都只是从某一个点说明自己的需求,很多需求也是模糊的,模棱两可的,这个我们也可以理解,因为该项目是一个研究性的项目。2.积极学习国外的类似产品的经验,国外比较著名的有PAWS,SMART等,通过分析这些软件的主要功能,优缺点来构建我们系统的一些需求。 通过以上的调研过程,我们基本明确了第一轮迭代的基本思路:项目的主要规划从上级单位获取;项目的具体测试相关要求,技术信息,从研制单位研究所获取;装备的使用需求通过和部队操作战士沟通获取;装备的整体架构和实现技术方向通过学习国外的成熟软件和相关科技文献来获取。 第一轮迭代的目的是实现“有无到有”,所以通过了第一轮的迭代,我们的产品的大体功能的雏形也有了,并且通过了军代表的检验,并且组织了国内相关专家和项目组主要成员单位的主要负责人和相关人,进行了正式的原型样机技术评审。在评审过程中,专家一致认为我们的产品体积太大,不适合快速作战的要求。我们在开发过程中,也总结了该项目的一些不足点,通过整合,形成了第二轮迭代的需求。 第二轮迭代的目的是实现“从有到精”,有了第一轮迭代的经验,第二轮的目的性更强,针对体积的问题,我们在公司内部进行了多次技术讨论会,将小型化作为一个重要议题,进行充分讨论,寻找解决方案,后来我们决定采用嵌入式架构。另外,根据原型样机性能不佳的情况,我们也作为第二轮迭代需要解决的重点问题。最终项目在2011年9月份通过军代表的最终检验,进行了设计鉴定。 近年来,软件开发模型越来越朝着轻量级,高适应性方向发展,表现特别突出的是敏捷开发,强调能工作的程序就是最好的文档,突出沟通和反馈,是一种小型项目的快速开发方法,在市场竞争中,响应速度非常快,能够帮助企业抢占先机。由于我们做的是项目特点决定了,不能忽视文档,不过我们可以借鉴敏捷的思维:在项目开发过程中,尽量减少不必要的文档和意义不大的过程,将主要精力集中在需要重点关注的过程;敏捷的快速反馈和沟通的特性,在任何项目都非常有用,通过我们的项目经验,快速反馈不只是对项目的开发进度有好处,对我们在用户心目中的形象非常有利,用户的印象在项目验收过程中起到做作用还是挺大的。
本文来源:https://www.dy1993.cn/D8A.html