版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
软件工程的研究与应用
0软件的工程原则恶意软件是应用科学、技术和工程管理的理论、方法和方法,以满足用户需求的软件定义、开发、出版和维护的设计。其主要研究内容包括软件的工程目标,工程原则和工程活动。开发和生产具有可用性、正确性和经济性的软件产品是软件工程的基本目标。其中,可用性是指软件的基本结构、实现文档达到用户可用的程度;正确性是指产品达到预期功能的程度;经济性是指软件开发、运行、维护的费用用户可以承受。软件工程活动是生产一个达到工程目标要求能满足用户需求的软件产品的过程或步骤,包括需求、设计、实现、认可和维护。需求活动是在一个抽象层上建立系统模型的活动,该活动的主要产品是需求规约,是软件开发人员与客户之间的契约基础。设计活动定义实现需求规约所需的结构,其主要产品是软件体系结构、处理算法等。实现活动是设计规约到代码转换活动,主要技术有模型评估、代码走查、程序测试等。维护活动是软件发布后进行的修改,包括对发现错误的修正,基于环境变化进行的调整等。软件的工程原则主要围绕工程设计、工程支持和工程管理开展,因此其工程原则:(1)选用适宜的开发范型,以保证软件开发的可持续性,并使最终的软件产品满足用户的需求;(2)采用合适的设计方法,支持模块化、信息隐蔽、局部化、一致性、适应性、构造性、集成组装性等问题的解决和实现,以达到软件工程的目标;(3)提高质量的工程支持,如配置管理、质量保证等工具和环境,以保证按时交付高质量的软件产品;(4)实施有效的软件工程管理,只有对软件工程实施有效的管理,才能实现有效的软件工程。软件不仅是电子信息系统的核心部件(如美陆军的未来战斗系统需要生成3400万行软件代码),而且已成为武器装备信息化的灵魂,现美军仅一个先进火炮系统,软件指令就达100万条以上,并且信息化程度越高的武器装备,软件对功能的支持程度也越高,如美军20世纪60年代的F-14“鬼怪”飞机,软件对功能的支持度(指功能依靠软件支持比率)仅为8%,70年代的F-111增至20%,1982年的F-16增至45%,1990年的B-2已高达65%,而21世纪初的F-22则更高达80%。此外,在武器装备的研究开发、论证、设计、定型、试验、验证、评估等各阶段也都离不开软件的支持。据统计,美军B-2战略轰炸机的研制、设计、定型、生产过程中,90%以上工作是由计算机直接或辅助完成;在C-130运输机的工程研制阶段中,美国防部利用仿真软件完成了多于60000h的模拟飞行与测试,其为飞机60年实际使用寿命的2倍,极大地降低了研制成本,并加快了研制进度。1俄罗斯软件开发规模和使用规模最大的国家据美国软件生产率研究所(SPR)统计,美军软件的拥有量超过了俄罗斯、中国、德国、英国和法国5国军队拥有量的总和,成为世界上软件开发规模、使用规模最大和软件水平最先进的国家。1.1专业人才缺乏目前美国从事军事装备软件开发和生产的公司超过5000家,其中一些大型军工企业拥有强大的开发能力,如波音公司、洛克希德·马丁公司、雷声公司等聘用的软件工作人员均超过5000人,不但数量多,而且水平高。目前,美国从事军事装备软件工作的总人数超过37万人,其中高级程序员约4.4万人,系统软件工程师约3.6万人,嵌入式软件工程师约2.7万人。1979年,美军的软件投资就达91亿美元,约占当年国防预算的7%;2002年软件投资已达400亿美元,占当年国防预算(3372亿美元)的11.86%。1.2软件功能点所需资源和能力软件的开发水平主要体现在软件的开发能力和质量水平上。前者是指以程序代码行数来衡量的软件复杂程度,后者是指清除软件缺陷的能力。目前,美军已具有强大的复杂软件开发能力。2001年,美军软件开发能力已达到100万~500万行源代码,如今正在发展大于1000万行源代码(约10万个功能点)的开发能力。当前,美军一架战斗机的软件功能点达25万个,源代码超过2500万行;一艘“宙斯盾”舰软件功能点可达50万个,源代码超过5000万行;1名进入数字化、信息化战场的美军士兵,至少有5万个功能点为其服务,500万行源代码为其行动提供支撑。美军一般军事装备的软件工程项目缺陷清除率已达95%,而先进军事装备系统的软件缺陷清除率高达98%。如今美军已能将大规模软件的缺陷从每百万行源代码500个降到250个。自20世纪60年代起至21世纪初的40年间,美军飞机、导弹、航天器领域的软件规模几乎增长了100倍,预计2035年美军软件规模将达到100亿条指令(1995年为1亿条指令),每个软件功能点的开发成本将从2000年800美元到2020年降为200美元,2030年降为100美元。美国防科学技术委员会还提出,军事装备的软件的开发周期不得超过18个月。1.3嵌入和同构系统gccs软件随着军事装备中电子信息含量的不断增大,软件开发水平的不断提高,使软件在美军军事装备中的应用范围越来越广,应用水平越来越高,软件功能也更趋强大,其专用软件和共性软件均得到了迅速发展。据统计,截至1995年,美军直接用于军事装备的专用软件源代码总量已达2.38亿行,美陆军中软件密集型武器装备系统的源代码总量从20世纪70年代的100万行发展到1995年的1亿行以上。在专用软件的发展中,嵌入式软件和C3I系统软件更发展迅速。如美军“海狼”级潜艇的AN/BSY-1综合作战系统软件耗资就达14亿美元,源代码总量超过460万行。嵌入式软件除装备大型武器装备平台外,还广泛用于单兵武器和弹药,甚至计划在下一代武器弹药中嵌入3000行左右的Ada编码,以提高其智能程度。在部分装备中,嵌入式软件实现了以往只有依靠硬件来实现的功能,如为了降低雷达截面积以提高隐身性能,B-2战略轰炸机取消了尾翼,采用软件控制来保护飞机飞行的稳定性。与嵌入式软件一样,C3I系统软件的功能也越来越强大,在C4ISR系统中的含量也越来越高。20世纪90年代,美军已成功开发了全球指挥控制系统(GCCS)软件,1995年GCCS2.0版软件开发成功,基本实现了各军兵种C4I系统的互连、互通和互操作,1997年采用了联合作战规划与实施系统(JOPES)软件,使GCCS具备了支持联合作战的功能;2002年GCCS软件已升级到5.0版本,使GCCS具有了情报分析以及与盟军指挥控制系统互操作的能力;2003年升级到6.0版本,实现了监视、侦察与C4I的集成,形成了名副其实的C4ISR系统。因此,可以说GCCS的发展主要是软件的升级发展,是软件化推动了美军C4ISR系统的发展。目前,美军C4I系统的研制经费中,约有90%是用于软件的开发和采办的。共性软件的迅速发展已使其成为构建信息系统和信息装备的基础,尤其是国防信息基础设施公共操作环境(DIICOE),其通过提供可重用的软件部件、应用程序接口等,提高了软件的重用性、复用度,从而降低软件的开发成本,缩短软件开发周期,提高软件的质量;同时通过采用联合技术体系结构(JTA)的开放式体系结构,提高了系统间的兼容性,以及不同系统间的互连、互通和互操作能力。目前,DIICOE已发展到5.0版本。美国国防部已经在100多个软件系统的开发中使用了DIICOE。其中,在GCCS和全球作战支援系统(GCSS)软件的开发中,由于采用了DIICOE,不仅按期顺利完成了开发任务,而且实现了2类系统的互操作。2政策指导与市场引导为探讨软件工程采办和软件密集型军事装备中软件工程部署问题,美国国防工业协会系统工程分会就美国国防部和国防工业领域软件工程的重大问题进行了研究,并成立了由国防部负责采办、技术和后勤的国防部副部长办公室、国防部国防合同管理局、海军航空系统司令部、空军(采办)系统工程分部、空军航空系统中心、波音公司、BAE公司、洛克希德·马丁公司、雷声公司、哈里斯公司、MITRE公司、计算机科学公司、麻省理工学院、战略与国际研究中心、软件工程协会、系统与软件联盟等美国国防部和政府部门、国防企业以及有关研究机构共26位成员组成的工作组,工作组就与当前软件采办和发展环境递交了《美国国防部与国防工业领域软件工程的重大问题报告》。问题1:在软件开发和维护过程中,有关系统需求对软件的影响始终未被量化和管理。其主要表现是缺乏任务变化和作战人员需求变化对系统和软件需求影响的研究,尤其是始终缺乏对这些影响的描述;在利用部件和能力文件包描述任务需求的采办策略中,对软件需求较为弱化;特定的系统级需求不能完全反映软件需求的各个方面等。建议:加强软件需求的有效开发和管理,为采购和供应双方评估需求变化对软件的影响。其中包括加强对各级软件需求完整性描述的政策指导;开展对现有软件评估模型有效性的评估以及开发新的综合评估模型(用以评估跨功能的寿命周期活动);建立利益相关者的沟通机制,评估需求变化对软件的影响;将需求开发融入基于软件的联合能力集成与开发系统;确保系统需求的进展与软件研制过程的集成等。问题2:基础系统工程决策缺乏软件工程的全面参与。其主要表现是软件工程没有始终如一地参与系统的体系结构的决策中,而这将对软件能力、属性以及体系结构/设计方法产生重大影响;对于交叉学科的系统,系统工程和软件工程的寿命周期、过程和产品不总是具有良好的协调性和一致性;系统开发方法不能适当地利用软件能力来迅速部署改进能力,而这是采办环境发展的一项重要需求等。建议:在所有系统工程活动中,使软件工程的参与和集成制度化。其中包括软件工程师从系统工程开始时就参与项目计划;为强化软件工程参与采办、技术、管理决策等的项目全寿命周期,应修订政策、标准、指南和培训内容;促进软件工程师与系统工程师的沟通交流;培养系统工程的软件工程师和软件工程的系统工程师;充分利用快速软件开发周期的采办策略和开发方法(复用能力和可维护能力)等。问题3:采办方和供货方缺乏有效的软件寿命周期规划和管理。其主要表现是在项目计划编制与管理过程中,对软件风险和软件寿命周期的成本无法前后始终一致和预先确定并适应之;快速采购作战人员所需新能力的压力,限制了通过对寿命周期成本、进度和性能的权衡实施有效管理;可用于计划编制与管理的软件工程专业知识匮乏,并将更趋恶化;不能正确地选择、定制、执行与监控软件过程和方法,导致项目运行效率低下;没有有效使用和发挥软件度量的作用等。建议:利用经验证的有关软件寿命周期中的协同决策程序,建立可量化的计划编制和管理文化。其中包括在采购与供应方(所有级别)之间建立协作的合同关系;加强对供应商的选择,以及运用正确的软件项目计划编制与管理规程和方法;确保在项目计划和审查中核实寿命周期前景并反复决策,克服短期思想;确保项目计划规定的度量始终与工业标准和最佳范例相一致,以实现正确决策等。问题4:软件工程专业技术人员的数量和质量不足以满足政府部门和国防工业部门的需求。其主要表现是具有适当软件领域经验的、有资质的高级和高技能的软件专业技术人员(如软件工程师和软件设计师)的数量不足以满足政府和国防工业领域不断增长的需求;资金约束限制了熟练软件人员的安置机会;政府部门和国防工业基础设施不足,限制了软件工作人员在技术迅速发展的环境中迅速掌握和运用所需的新技能;系统全寿命周期的软件人员数量不足,无法始终如一地支持项目的计划编制、系统/软件体系结构的定义、软件管理问题的解决方案。建议:在恰当级别就创新人才策略开展合作,吸引和留住合格人才,以满足政府和工业部门对软件工程的需求。其中包括开发并支持软件能力路线图;组建由政府部门、国防工业以及学术界组成的联合协作工作组,确定扩大软件资源库与技能群的战略,包括检查激励与补偿机制;创新吸引新人选择软件职业的方法;在大学相关专业课程中扩大软件工程课目、投资软件工程教育研究等;提高软件领导人员的领导能力并拓宽其领域知识,开展职能学科(如项目经理、系统工程师等)之间的交叉培训等。问题5:应对规模大且复杂的现代系统,传统的软件验证技术昂贵且低效。其主要表现是产品质量保障没有在全寿命周期中应用鲁棒的软件验证技术;大型资源投资,其软件测试技术主要依赖于劳动密集型的人工测试,不成规模,且生产率低;基于兼容性的软件验收,并不能保证包括危险和失败的情况;过多的编制文件,使大量工作花费在详细程序和数据库上,不仅需要大量维护,且限制了产品改进;对测试专业人员的教育和培训不够充分,使其无法得到所需的技能等。建议:研究国防工业软件验证范例,制定指南,开展培训,以保证产品全寿命周期中的质量。其中包括资助现代化验证和测试方法的研究;评估和更新测试政策和指南,以增强鲁棒的生成方法;在采办寿命周期的初期,检查软件验证/方法的适用性;确保规定的质量属性和易测试性在软件需求、体系结构和设计中得到落实;加强全寿命周期的技能调查,包括软件风险和降低风险;开发提高软件测试效率的技术;加强软件测试的训练和认证等。问题6:在分布式环境中,无法确保复杂软件的正确性、可预测性、安全性和可靠运行性。其主要表现是软件对普遍的安全威胁具有固有的脆弱性,从而产生重大的运行风险;利用易于理解的特性(如内部行为、接口特征、对激励的响应等)来描述、构建、验证和确认软件部件的技术尚显不足,虽有部分技术可供使用,但价格昂贵且不易扩展;系统安全以及由多个系统组成的大系统的安全,难以从部件级推断其安全;穷举调试法对消除软件脆弱性缺乏现实意义等。建议:与国防工业部门开展合作,开发有关方法、标准与工具,解决采办全寿命周期与供应链的系统安全问题。其中包括建立并部署全寿命周期的系统安全方法,并在政府部门与国防工业之间采取协调行动,如集成系统工程范例和软件工程范例,以生成能抗入侵和损害的系统;在供应链实施应对脆弱性管理的商用标准(包括产品级安全指标以及检测部件脆弱性的嵌入测试标准),加强范例推广以及评估脆弱性技术与支持工具;倡议开展系统构成新形式的研究,以满足特殊的安全目标;定义体系结构时权衡可能涉及的软件安全质量属性;利用期望的安全特性,制定系统采办政策与指南,并开展培训。问题7:商用产品/非研制产品(COTS/NDI)对寿命周期成本和风险的影响重视不够。其主要表现是缺乏对COTS/NDI全寿命周期的正确预算方法,在评估COTS与用户解决方案时,未能全面考虑隐藏成本和权衡成本/效益;没有坚持实施处理COTS/NDI整个寿命周期有关问题的有效范例;对有关寿命周期早期的保障(使用和维护)问题开放资源许可关注不够;用户对定制方案的期望降低了COTS解决方案的效益;对COTS/NDI有关软件保障问题未被适当处理;产生和促进跨机构的资产重用的基础设施不足。建议:改进并细化有关处理COTS/NDI问题的指导方针。其中包括使用COTS/NDI最好的范例,并按需要制定补充指南;确保项目计划清楚描述COTS/NDI寿命周期处理过程;在项目里程碑和审核阶段评估COTS/NDI寿命周期保障问题;为形成和促进资产的可重用性,制定/改进基础设施、程序和激励措施;确保国防部长办公室的政策和软件保障倡议对有关COTS/NDI问题有所关注;提高COTS/NDI意识,扩大培训途径。3国防部《军事关键技术清单》mctal为使美国军事能力持续保持世界领先地位,美国防部联合其他政府部门、工业界和学术团体对支撑美国军事能力的技术进行了评估,并于1981年首次形成了国防部《军事关键技术清单》(MCTL),以后又不断更新维护。2006年6月,美国防部发布了最新版的MCTL,该版本共分20大部分,新版本虽未将软件/软件工程单独成章,但MCTL的有关章节包含了军事关键软件的应用。本文仅MCTL中与信息系统技术有关的专用软件技术作一简单介绍。3.1态势感知图和传感器融合算法(1)满足特定军事作战需求的压缩与解压算法;(2)提供完整态势感知图和实时、一体化传感器信息所需速度和精确度的传感器融合算法;(3)根据灵活设计原则,能自动指示单个传感器或传感器栅格对“预设”或“实时”的任务输入信息作出响应的算法。3.2用于各种专用算法的应用程序(1)为“主体局域网”专门设计网络管理系统;(2)能够结合分布式网络资源(传感器、通信、环境监控和响应),设计和分析士兵系统的建模与仿真软件;(3)用于全球栅格计算、能够支持有关任意特征的军事专用算法和应用程序;(4)用于测试全球栅格计算能力的专用软件;(5)大型数据库检索专用算法,包括验证性能的测试程序;(6)用于军事的智能代理组件/模块的专用软件;(7)用以保护应用程序不受不同硬件和操作系统的细微差别影响的软件隔离层;(8)支持有关任意特征的软件保护算法和其应用程序;(9)用于测试软件保护措施(包括红队测试想定)的专用设计软件。3.3军事仿真软件及应用(1)为军事用途而设计的战场识别软件,与其他相同设备共同实现战场发送、接收及显示可靠的数字信息;(2)多分辨率处理算法、实时数据融合和实时目标识别软件;(3)军用软件无线电软件,包括战斗无线电台和战术数据链(包括卫星链路和无人飞行器与地面站间的链路);(4)已验证的人员绩效建模与
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026四川凉山州西昌住房和城乡建设局招聘1名笔试备考题库及答案解析
- 2026四川成都传媒集团人力资源服务中心售前工程师、内控法务专员等岗位招聘4人笔试备考题库及答案解析
- 2026中科芯社会招聘笔试备考试题及答案解析
- 2026河南安阳师范学院招聘笔试备考试题及答案解析
- 2026福建厦门市集美职业技术学校非在编(顶岗)教师招聘3人笔试备考试题及答案解析
- 2026江西萍乡市莲花县坊楼中心幼儿园招聘2人笔试备考试题及答案解析
- 2026云南曲靖市宣威市第二幼儿园招聘编制外学龄前教学辅助人员1人考试参考试题及答案解析
- 2026云南临沧永德县红十字会招聘公益性岗位人员1人考试参考试题及答案解析
- 2026春季福建福州市台江第五中心小学顶岗教师招聘2人笔试模拟试题及答案解析
- 2026山东威海长青海洋科技股份有限公司博士后科研工作站招聘2人考试参考试题及答案解析
- 萨克斯课件教学课件
- 呼吸内科利用PDCA循环提高患者无创呼吸机有效使用率品管圈
- 肝硬化护理疑难病例讨论
- 股东内部承包经营利润分成合同
- 安徽省水利水电工程施工招标文件示范文本(2025年版)
- T/CFDIA 007-2024再生羽绒羽毛及制品评价要求
- 设备合伙投资协议书
- 急性缺血性卒中再灌注治疗指南(2024版)解读
- 2025年广东惠州市交通投资集团有限公司招聘笔试参考题库附带答案详解
- 外墙真石漆协议书范本
- 公务员-强烈逻辑推理500题
评论
0/150
提交评论