趙鑫業, 李 寧, 高成志, 王義濤
(1 海軍大連艦艇學院, 遼寧 大連 116018; 2 中國船舶集團有限公司綜合技術經濟研究院, 北京 100094)
ISO 9000:2000《質量管理體系基礎和術語》將“過程”定義為:“一組將輸入轉化為輸出的相互關聯或相互作用的活動”[1-2]。 當前,作戰軟件工程過程都是采用標準的軟件工程過程,而作戰軟件不同于普通商用軟件的特點在于用戶無法直接提出軟件需求。 通過研究建立適應作戰軟件特點工程過程,將需求獲取確認、用戶體驗驗證、人因測試等納入研制過程,形成一套行之有效的具有軍用軟件研制特點的標準工程過程。 其中,需求獲取確認階段的主要任務是對用戶需求調研中收集到的軟件需求進行歸并分類,形成初步的用戶需求文檔,并與用戶進行溝通確認;人因工程設計階段的主要任務是在完成軟件需求分析并開發出軟件原型系統后,由用戶代表基于原型系統進行體驗驗證,并根據用戶感受與意見對軟件需求進行進一步完善;人因工程測試階段的主要任務是對軟件的人因要素進行測試確認。
軟件工程涉及如何規范化地管理和開發軟件,其基本思想為:用工程化方法系統、且合理地規范軟件產品的開發,從而經濟地獲得可靠的、在實際機器上高效運行的軟件。 作戰軟件的發展必須綜合考慮各項發展指標,實現軟件功能和質量的最大化[3-4]。作戰軟件過程是軟件工程的基礎,有效應用軟件工程技術就必須定義合適的軟件過程框架,包括工具方法的有效使用、質量保證、項目管理、里程碑建立等。 作戰軟件過程的控制和優化是最關鍵的環節。
傳統的軟件工程觀點,軟件研制周期包括以下8 個基本階段(以螺旋開發模型為例):系統需求分析與設計;軟件的需求分析;概要設計;詳細設計;編碼與單元測試;集成測試;合格性測試與驗收;系統集成[5]。 簡要來說,軟件工程研制過程可進一步歸并劃分為軟件需求分析、軟件設計、軟件編碼、軟件測試、軟件維護5 個階段。
基于系統工程的組織管理方法是指在“系統思維+戰略思維”、“復雜適應+持續改進”思想的指引下,應用系統工程方法論,將作戰軟件工程看成由若干環節組成的系統工程來研究和解決問題,通過拆分成各個環節、分析環節組成、了解各個環節的作用、分清環節的輕重主次、掌握環節之間的關系,最終促使所有環節的運轉朝著整體最優的目標發展[1]。 針對作戰軟件工程的研制特點,基于上述系統工程的思想,在傳統5 個階段的基礎上,將需求獲取確認、用戶體驗驗證、人因測試3 個階段擴展加入原有標準軟件過程,據此,作戰軟件標準軟件過程包括需求獲取確認、軟件需求分析、用戶體驗驗證、軟件設計、軟件編碼、軟件測試、人因測試、軟件維護八個階段,具體研制過程如圖1 所示。

圖1 作戰軟件工程研制過程Fig. 1 The development process of operational software engineering
對比傳統軟件工程研制過程的5 個階段,深入分析作戰軟件工程研制過程擴展的各個階段,主要改動為:將需求分析階段拓展為需求確認、需求分析和用戶體驗驗證階段,增加了人因測試階段。
近年來,包括作戰軟件在內的軍用指揮信息系統凸顯裝備效能倍增器—“神經中樞”的作用[6-8]。高效的作戰軟件不僅是設計出來的,也是不斷試用和修改出來的。 作為軟件工程的重要方面和關鍵首步,需求工程日益主導著作戰軟件研制任務的進程乃至成敗。
需求工程是一組與最終需求規約制定和商討相關的活動。 在開發作戰軟件時,設計人員必須清楚并充分理解這些需求。 然而,經常發現需求會侵入到“如何做”的部分,從而進入解決方案設計的領域。 應盡量將需求限制在“做什么”的部分,但這樣清楚的劃分通常很難。 科學的作戰軟件工程項目管理要求軟件的生產均在可控制之下,生產的作戰軟件要可靠、高效、便于維護,同時也應具有一定的魯棒性,最終目的是能滿足部隊用戶的需求。 軟件工程的重點就是參與者的交流和軟件組成部分的重用。 隨著計算機技術的發展,結構化編程模式、面向對象技術、軟件體系結構、構件原理、建模技術以及面向服務設計框架等理論和技術有力地保障了作戰軟件工程的發展,但隨著作戰軟件復雜度的迅速增長,涉及作戰軟件各行業領域內和行業領域之間的構件使這種復雜度上升到一個空前的高度。 現在,用戶需求的重要性被廣泛認可。 無論作戰軟件開發過程模型如何,管理需求和用戶參與正在成為軟件開發的關鍵任務。 參見圖1,作戰軟件工程研制過程新拓展的3 個階段,包括需求分析、需求確認和用戶體驗驗證階段[8-9]:
(1)需求分析階段。 通過需求調研,將部隊的各種使用需求轉化為作戰軟件的產品需求,同時考慮設計的技術可行性、成本等因素。 另外,需求分析階段要承擔裝備軟件與硬件需求之間的劃分任務。
(2)需求確認階段。 主要任務是對用戶(部隊)需求調研中收集到的軟件需求進行歸并分類,形成初步的用戶需求文檔,并與用戶進行溝通確認。 需求獲取確認的目的在于:確定要構建的作戰軟件需要具備包括功能的、性能的及其它非功能屬性的需求。
(3)用戶體驗驗證階段。 用戶體驗驗證階段的主要任務是在完成軟件需求分析并開發出軟件原型系統后,由用戶代表基于原型系統進行體驗驗證,并根據用戶感受與意見對軟件需求進行進一步完善。
當前,我軍作戰軟件的需求工程應該借鑒國外先進經驗,強調以聯合作戰為核心的能力建設,注重軍事需求與規劃計劃的有機結合,把新的實戰需求及時有效地融入國防和軍隊新時期規劃當中,更好地建設作戰軟件的需求工程。 在借鑒軍事強國先進經驗的基礎上,提出我軍作戰軟件軍事需求開發和管理制度化設計構想:目標明確,重視規劃;健全制度、統攬全局;用戶主導、突出需求。
傳統的軟件工程觀點,軟件研制過程可劃分為軟件需求分析、軟件設計、軟件編碼、軟件測試、軟件運行與維護等五個階段。 針對作戰軟件的研制特點,基于系統工程的思想,在傳統五階段的基礎上,將需求獲取確認、用戶體驗驗證、人因測試等階段擴展加入研制過程。 兩伊戰爭后[9-10],行業內普遍認識到,人因工程設計對于作戰系統的裝備性能至關重要,只有著力解決軟件裝備使用過程中人機結合的輔助決策問題,才能充分發揮嵌裝艦載作戰軟件的效能。
對于圖1 新增加的人因測試階段,其主要任務是對軟件的人因要素進行測試確認,例如針對作戰指揮系統存在的人機關系問題,開展人機界面優化設計工作,通過對軟件框架、功能表頁、圖形、工具欄等顯示元素的的信息顯示、交互方式等人機交互功能的反復優化測試,目的是在顯示交互方面增強作戰系統的人機交互能力、降低艦員的操作負荷、提高艦員的操作效率、提升裝備戰斗力等。
軟件人機界面設計是“主觀性”比較強的工作,人機界面設計不僅要聽取用戶的直接意見反饋,更看按照人因工程的設計過程來加以控制。 人與作戰軟件之間的交互產生人機關系,面向軟件中的實時決策類、方案指揮類等典型任務,區分人與軟件各自的功能優勢,如果人與軟件都可以完成且共同完成某些功能,分析人與軟件各自承擔工作量的額度,確保總體作業效率達到最優值。 針對軟件界面的交互反饋、顯示布局、格式及要素等,設計操作單元的交互方式與圖形、表頁、字符等信息的呈現方式,使指揮員易于感知和理解、操作便捷。
人因工程學,旨在研究特定作戰任務背景下人的因素與機器、環境之間的相互作用,使機器、環境等設計更加符合人的生理、心理等特點,以提高工作效率、安全性、舒適性等目標性能[11]。 人因工程學通過科學客觀規范的實驗、仿真、測試、分析等,以達到整體效能最佳為目的,提出特定任務條件下的人機關系解決方案,達到安全、高效、健康、經濟的目的[12-13]。
定義作戰軟件人因工程為:將人因工程的理論方法與技術手段系統性地應用于作戰軟件的研制中,把人與作戰軟件相結合,組成“人-軟件-環境”整體,探討人、軟件、環境的相互關系與作用。 面向指揮員的指揮決策能力特點,結合作戰任務和工作環境,圍繞態勢處理、方案擬制、實時決策等信息處理過程[12],開展人機交互、人員配置以及作業流程的優化設計,使軟件符合指揮員的認知操作特性和作戰使用需求,實現人機有效結合下軟件裝備的最大作戰效能。 以艦載作戰軟件為例,其人因工程實踐路線如圖2 所示。

圖2 艦載作戰軟件人因工程實踐路線圖Fig. 2 The roadmap of human factors engineering practice for shipborne operational software
依托前沿軍事理論和科學技術,創新適應裝備發展的作戰軟件工程過程研究,及時找出在作戰軟件產品生存周期中需求分析、作戰軟件人因工程設計和作戰軟件人因測試過程等階段的存在的主要問題,積極采用合理適宜的作戰軟件工程過程解決和緩解矛盾,為構建新一代智能化作戰指揮輔助決策軟件維護與升級機制奠定管理制度基礎,為發揮作戰軟件在現代戰爭中的核心作用,全面形成服務于信息化體系作戰的決策支持能力提供有力支撐[14]。