军事:中国载人航天软件20年:手工生产曾严重威胁系统
[航天,工程软件,软件工程化]:
载人航天工程软件工程化工作20年发展纪实
从神舟一号到神舟九号,从无人飞行试验到8位中国航天员“闪耀”太空,从出舱活动到首次手控交会对接,浩瀚的宇宙太空,一次次写下中华民族的辉煌!
辉煌背后,有中国载人航天工程在航天领域率先运用软件工程化管理方法,确保了复杂庞大的载人航天系统软件可信、可靠、安全,激活了航天器的“神经中枢”,给冷冰冰的火箭和飞船注入了“灵魂”。
20年奋斗,20年跨越,20年辉煌。在工程总指挥、总设计师系统的领导下,载人航天工程的软件工程师们从“自编自导自演”的“手工作坊式”软件开发模式起步,走出了一条既符合中国国情,又充分体现重大科技专项工程特点的软件工程化道路,与参与载人航天飞行任务的广大科研人员一起,以堪称完美的表现,夺取了10次飞行任务的圆满成功,将中国载人航天事业推向新高度!
横下一条心,走出中国载人航天软件工程化道路
2003年金秋,载人飞船神舟五号成功发射,航天员杨利伟遨游浩瀚太空,中国成为世界上继俄罗斯、美国之后第三个能够独立开展载人航天活动的国家。这一刻,载人航天工程软件系统的工程师们欢呼雀跃!
这是软件工程化管理方法在载人航天任务中的一次完美应用,更是我国载人航天工程软件工程化发展的一个里程碑,意味着磨合多年的软件工程化终于走向成熟!
载人航天软件系统可以用复杂和庞大来形容,神舟三号飞船的软件系统就有数十个配置项(具有独立完整功能的一组程序),每个配置项有数万行代码。神舟九号飞船的软件系统更是达到了百余个配置项。软件系统成了不折不扣的庞然大物!
“越是复杂的产品,越要采取系统工程方法开发,这是世界航天界的共识,特别是追求高安全、高可靠目标的载人航天工程更需要如此。”时任载人航天工程副总设计师、长期从事软件工程化管理工作的专家陈炳忠说。
然而在工程刚立项时,软件开发却是“手工作坊式”。那时,软件开发很少使用系统化的开发方法,软件规模比较小,几乎没有什么文档资料,基本上采取“自编、自导、自演”的软件开发方式。最明显的弊端就是除程序员外,第二个人很难能看懂这个程序究竟干什么,隔以时日,甚至连程序员自己也未必能完全说清楚。这直接导致了软件系统不像硬件系统那样直观、可控,不可控因素将可能对整个载人航天系统造成致命伤害。
问题的存在使大家认识到,软件和硬件一样,也是一种产品,必须按照系统的、可约束的、可量化的工程化方法来进行开发和管理。
1996年,载人航天工程成立软件专家组,对工程主要软件研制单位和软件项目进行了半年多的广泛、深入调研。同时,考察了国外航天机构的软件开发和管理方法。最终得出了重要结论,实施软件工程化是保障载人航天工程质量的必由之路:“抓载人航天工程不抓质量不行,抓质量不抓软件不行,抓软件不抓工程化不行,抓工程化不抓管理不行,抓管理不抓领导不行。”
工程总指挥、总设计师系统决定,横下一条心,设计出一条符合中国国情、符合工程实际的软件工程化路子,全面贯彻实施软件工程化,确保工程软件的高可靠和高安全性。
于是专门组织了专家团队,先后召开了5次软件工作会议,结合工程实际和系统工程理念,围绕开发模型与技术、标准与规范、工具与环境、组织与管理四个方面,制定了《载人航天工程软件工程化技术文件》《载人航天工程软件研制工作管理要求》,规定软件要同硬件一样作为产品,纳入计划、技术和质量管理渠道,软件按重要程度分级分类管理,按工程化方法分阶段开展软件研制。同时,实行软件分级分类管理;将软件列入研制计划,明确经费,纳入统一调度;在软件生命周期各阶段,制定技术流程,明确研制节点;设立第三方测评与自身测试相结合的软件测评管理体系。
