李 皓,徐文元,郭 麗,張生曉,許 鵬
(中國船舶工業(yè)系統(tǒng)工程研究院,北京 100094)
艦船裝備信息系統(tǒng)敏捷原型頂層設(shè)計方法
李 皓,徐文元,郭 麗,張生曉,許 鵬
(中國船舶工業(yè)系統(tǒng)工程研究院,北京 100094)
針對國內(nèi)艦船裝備信息系統(tǒng)總體設(shè)計存在的體系結(jié)構(gòu)描述不直觀、需求難于完備等問題,參考軟件工程的敏捷軟件開發(fā)方法,本文提出敏捷原型頂層設(shè)計方法,并對方法的內(nèi)含、實現(xiàn)步驟、支撐手段進(jìn)行了描述。該方法可為用戶與設(shè)計人員提供共同交互、共同理解系統(tǒng)需求的原型系統(tǒng),實現(xiàn)系統(tǒng)設(shè)計與系統(tǒng)需求之間的逐步完善、逐步深化、逐步逼近,為實現(xiàn)艦艇裝備信息系統(tǒng)總體快速設(shè)計提供理論依據(jù).
艦船裝備信息系統(tǒng);敏捷原型;頂層設(shè)計
艦船裝備信息系統(tǒng)隨著作戰(zhàn)需求的變化,其組成、功能、關(guān)系也越來越復(fù)雜,為了使其更好地符合軍事需求,實現(xiàn)系統(tǒng)設(shè)計最優(yōu)化,同時,也為了降低研制成本,必須有一種有效的設(shè)計方法來指導(dǎo)艦船裝備信息系統(tǒng)的設(shè)計,能盡早的與用戶方進(jìn)行交流溝通,進(jìn)一步明確和挖掘需求;能盡早的發(fā)現(xiàn)系統(tǒng)設(shè)計的缺陷,減少后期修改量,降低研制成本;能形象的展示設(shè)計理念和設(shè)計方案,可準(zhǔn)確地指導(dǎo)下一步工作。
針對這類復(fù)雜系統(tǒng),國外普遍采用體系結(jié)構(gòu)設(shè)計方法開展系統(tǒng)設(shè)計,如美國國防部的 DoDAF(Department of Defense Architecture Framework)、英國國防部的 MoDAF(Ministry of Defense Architecture Framework)、北約的 NAF(NATO Architecture Framework)等,都是體系結(jié)構(gòu)設(shè)計方法,能夠為體系結(jié)構(gòu)的設(shè)計提供指導(dǎo),能規(guī)范體系結(jié)構(gòu)的設(shè)計過程、設(shè)計內(nèi)容和設(shè)計形式,使系統(tǒng)的組成關(guān)系、流程和信息接口的描述得以統(tǒng)一,便于系統(tǒng)分析、設(shè)計和實現(xiàn)人員及使用維護(hù)人員對系統(tǒng)體系結(jié)構(gòu)設(shè)計的理解、比較和交流,提高系統(tǒng)總體設(shè)計的效率。同時,為很好地使用這些體系結(jié)構(gòu)方法,提供了相應(yīng)的設(shè)計工具,如 SA,Rhapsody 等。
但這類方法和工具在艦船裝備信息系統(tǒng)設(shè)計過程中,仍然存在以下不足:1)體系結(jié)構(gòu)設(shè)計方法要求需求一步到位,即需求具備完備性,否則無法設(shè)計出各視圖產(chǎn)品,但艦船裝備信息系統(tǒng)的需求都是逐步明晰、逐步細(xì)化的過程;2)體系結(jié)構(gòu)設(shè)計出的視圖產(chǎn)品主要采用軟件描述語言如UML進(jìn)行描述,即使采用SysML 描述,也是由軟件描述語言演化的,不能做到所見即所得,無法直接將設(shè)計結(jié)果與用戶溝通,無法在設(shè)計過程中不斷捕獲和修正需求,實現(xiàn)需求的多次迭代、反復(fù)漸進(jìn)。因此,需要在體系結(jié)構(gòu)設(shè)計方法基礎(chǔ)上,補(bǔ)充一種能快速實現(xiàn)可操作、可演示的原型系統(tǒng)頂層設(shè)計方法——敏捷原型頂層設(shè)計方法,彌補(bǔ)體系結(jié)構(gòu)設(shè)計方法的不足。敏捷原型頂層設(shè)計方法主要參考了軟件的敏捷開發(fā)方法,結(jié)合艦船裝備信息系統(tǒng)頂層設(shè)計的特征而提出的。敏捷開發(fā)方法是針對傳統(tǒng)瀑布式開發(fā)模式中的弊端而產(chǎn)生的一種開發(fā)模式,它以用戶的需求進(jìn)化為核心,采用迭代、循序漸進(jìn)的方法進(jìn)行軟件開發(fā)。具有開發(fā)精確、高質(zhì)量、高速度、高投資回報、高效率等優(yōu)點,目標(biāo)是提高開發(fā)效率和響應(yīng)能力。
敏捷原型頂層設(shè)計方法同樣是以用戶的需求演進(jìn)為核心,采用迭代、循序漸進(jìn)的方式進(jìn)行設(shè)計。即在需求不是很完備的情況下,抓住系統(tǒng)的重點和主要矛盾,快速實現(xiàn)一個可操作、可演示的原型系統(tǒng)——為用戶與設(shè)計人員提供共同交互、共同理解系統(tǒng)需求的原型系統(tǒng),從而不斷捕獲需求、修正設(shè)計方案,實現(xiàn)系統(tǒng)設(shè)計方案的逐步完善、逐步深化、最終逼近真實系統(tǒng)。敏捷原型頂層設(shè)計方法具有靈活性、高效性、動態(tài)性等特點,從而保證設(shè)計方案的快速逼近和用戶需求變化的快速響應(yīng)。
敏捷原型頂層設(shè)計方法不同于傳統(tǒng)的原型系統(tǒng),原型系統(tǒng)應(yīng)體現(xiàn)最終目標(biāo)產(chǎn)品的主要和基本功能,是具有可運(yùn)行、可演示性質(zhì)的早期版本;敏捷原型法不要求是否體現(xiàn)主要功能,它只需對系統(tǒng)進(jìn)行簡單、快速的需求捕獲,重點從人機(jī)交互角度進(jìn)行功能實現(xiàn),而且,核心是借助開發(fā)工具快速實現(xiàn)原型系統(tǒng)。它也不同于軟件設(shè)計中的界面原型,界面原型主要采用靜態(tài)的方法設(shè)計出目標(biāo)系統(tǒng)的每個界面,界面之間的相互關(guān)系、界面的操作流程、界面顯示的信息等都無法描述。而敏捷原型設(shè)計方法則采用動態(tài)的方法將目標(biāo)系統(tǒng)的界面進(jìn)行實現(xiàn),將與界面顯示、界面關(guān)聯(lián)、人機(jī)交互等方面相關(guān)的功能進(jìn)行實現(xiàn)。
敏捷原型頂層設(shè)計方法相對于傳統(tǒng)的設(shè)計方法具有以下特點:
1)需求的不完備性和不確定性。傳統(tǒng)的設(shè)計方法要求用戶需求完整和明確,只有在正確完整的需求下才能得到正確的結(jié)果。但是在實際的艦船裝備信息系統(tǒng)設(shè)計過程中,需求往往是變化的、逐步挖掘出來的,造成這種原因,大部分是用戶自己無法準(zhǔn)確地提出自己的需求,需隨時間變化而不斷明確,當(dāng)然,有時是用戶不能很好地表達(dá)自己的需求,或者是用戶和設(shè)計者理解上的差異。傳統(tǒng)的設(shè)計方法很難適應(yīng)這種變化,而敏捷原型頂層設(shè)計方法擁抱變化,允許變化隨時隨地發(fā)生,通過對變化的快速響應(yīng)達(dá)到需求的逐漸完備和確定。
2)用戶參與設(shè)計。傳統(tǒng)設(shè)計方法中用戶的參與度不高,與設(shè)計團(tuán)隊之間相對割裂,是導(dǎo)致最終研制出的系統(tǒng)與用戶理想的系統(tǒng)差距較大的重要原因。而敏捷原型頂層設(shè)計方法通過提供便利的交互環(huán)境——敏捷原型系統(tǒng),促使用戶參與到設(shè)計過程中,用戶通過操作和使用快速原型系統(tǒng),提出修改意見和建議,不斷的修正和完善系統(tǒng)設(shè)計方案。
3)理解的一致性。傳統(tǒng)的設(shè)計方法往往采用文字和圖表的方式,在用戶和設(shè)計人員之間以及設(shè)計人員內(nèi)部進(jìn)行交流溝通,文字的理解具有二義性,圖表方式雖然相對直觀,但也需要在統(tǒng)一規(guī)范下才能達(dá)到一致的理解,而且需要具備一定的計算機(jī)軟件知識。而敏捷原型頂層設(shè)計方法通過提供可操作、可演示的敏捷原型系統(tǒng),使不同人員之間達(dá)到一致的理解,大大提高溝通交流的有效性和準(zhǔn)確性。
4)整體可評價性。傳統(tǒng)的設(shè)計方法是一種靜態(tài)設(shè)計方法,對設(shè)計方案優(yōu)劣的判斷大部分采用專家研討的方式,屬定性評價方式,而且評價的內(nèi)容跟專家的知識結(jié)構(gòu)和水平強(qiáng)相關(guān),無法保證每次評價的內(nèi)容、評價的粒度相同。敏捷原型頂層設(shè)計方法無論是系統(tǒng)的功能、數(shù)據(jù)要求及數(shù)據(jù)結(jié)構(gòu)、操作性能、特點以及系統(tǒng)的體系結(jié)構(gòu)等方面均可進(jìn)行定性或定量的評價,將評價結(jié)果快速反饋到設(shè)計中。
敏捷原型頂層設(shè)計方法的實現(xiàn)步驟分為:快速分析、原型構(gòu)造(以界面為主的功能)、運(yùn)行評價原型、修改原型 4 步,再構(gòu)造、再運(yùn)行評價、再修改,直到獲取到滿意的需求,具備充分指導(dǎo)裝備設(shè)計工作為止。
1) 快速分析:分析人員和用戶通過界面原型方法快速確定系統(tǒng)的基本要求,編寫需求規(guī)格說明書,以備開發(fā)模型使用。
2) 原型構(gòu)造:使用原型開發(fā)工具對系統(tǒng)進(jìn)行建模、集成測試,快速產(chǎn)生出敏捷原型。
3) 運(yùn)行評價原型:運(yùn)行敏捷原型系統(tǒng),通過用戶的操作,體驗?zāi)繕?biāo)裝備系統(tǒng)的操作方式、交互流程、指揮關(guān)系、部分功能特征等,從而評價敏捷原型與用戶需求的吻合程度,提出修改意見。
4) 修正和改進(jìn)原型:根據(jù)修改意見進(jìn)行修改。修改完后,再次進(jìn)入運(yùn)行評價原型階段,2 個階段是一個不斷迭代、交替進(jìn)行的過程。
當(dāng)然,若修改意見屬于顛覆性或需求的大幅增加,就需要從新開始分析-構(gòu)造-運(yùn)行與評價-修改。
根據(jù)原型輔助的敏捷體系結(jié)構(gòu)設(shè)計方法,研制出界面原型設(shè)計和集成運(yùn)行環(huán)境、原型信息生成與運(yùn)行環(huán)境,為設(shè)計人員提供一個可視化的且方便、快捷的軟件界面原型設(shè)計和集成運(yùn)行環(huán)境,提供 1 套基于作戰(zhàn)系統(tǒng)協(xié)議的接口、流程生成和運(yùn)行環(huán)境,彌補(bǔ)體系結(jié)構(gòu)設(shè)計工具 SA 描述的不直觀、非動態(tài)的缺點,統(tǒng)一和規(guī)范概念原型的開發(fā),提高開發(fā)效率。
1)界面原型設(shè)計和集成運(yùn)行環(huán)境
界面原型設(shè)計和集成運(yùn)行環(huán)境主要由開發(fā)平臺、UI 設(shè)計器、工程模板構(gòu)件等 3 部分組成。每部分包含的功能如圖 2 所示。
開發(fā)平臺集成相關(guān)模板框架和組件,使平臺具備自定義向?qū)Чδ?;提供工程模板?gòu)件管理,使平臺具備識別自定義構(gòu)件并解析自定義構(gòu)件功能;利用 Visual Studio SDK 使開發(fā)平臺具備定制擴(kuò)展接口。同時,開發(fā)平臺提供測試用例的管理功能,開發(fā)人員可根據(jù)新建項目向?qū)нx擇是否加載原型模擬數(shù)據(jù),用戶可以對原型測試數(shù)據(jù)進(jìn)行更新及刪除等管理功能。
UI 設(shè)計器是為設(shè)計人員提供的一款設(shè)計工具,用戶可利用設(shè)計器對各個面板組件進(jìn)行拖拽式布局、支持對拖拽的元素組件進(jìn)行屬性設(shè)置、支持自定義多個顯示器數(shù)量及位置,是否自適應(yīng)屏幕大小、支持多個界面元素以 TAB 欄的方式進(jìn)行堆疊、支持界面占位元素,用戶也可向組件添加自定義標(biāo)題文字及圖片。
工程模板構(gòu)件包含以組件形式存在的若干種項目模板。每套模板包括控件庫、資源庫、新建項目向?qū)У?,均存在組件庫中,供設(shè)計人員使用,并擴(kuò)展到其他模板框架中去。
因此,界面原型設(shè)計和集成運(yùn)行環(huán)境面向 3 類人員使用:設(shè)計人員、開發(fā)人員、維護(hù)人員,設(shè)計人員主要使用界面編輯器進(jìn)行界面設(shè)計工作,并將設(shè)計的結(jié)果基于 xml 格式以資源配置文件形式導(dǎo)出,生成的資源配置文件提供開發(fā)人員進(jìn)行應(yīng)用程序開發(fā)。開發(fā)人員主要使用開發(fā)平臺進(jìn)行組件業(yè)務(wù)邏輯的開發(fā),通過使用開發(fā)平臺集成的自定義工程模板向?qū)Чδ?,對工程模板?gòu)件進(jìn)行解析,若符合需求直接使用工程模版構(gòu)件,若不符合則進(jìn)行二次開發(fā)形成新的工程模版。維護(hù)人員主要使用控件庫管理進(jìn)行資源組件和工程模板構(gòu)建,累積控件庫資源,讓資源得以復(fù)用。
2)原型信息生成與運(yùn)行環(huán)境
設(shè)計環(huán)境還根據(jù)研究內(nèi)容 1 中研究的某典型艦艇裝備防空反導(dǎo)系統(tǒng)的系統(tǒng)結(jié)構(gòu)成果,利用 DODAF 工具建立全局視圖、作戰(zhàn)視圖、系統(tǒng)視圖、技術(shù)視圖等產(chǎn)品形成設(shè)計模型庫實現(xiàn)統(tǒng)一管理,通過將基于敏捷原型設(shè)計工具和開發(fā)環(huán)境生成的界面元素,系統(tǒng)設(shè)計模型等,存入模型庫實現(xiàn)統(tǒng)一管理。
艦船裝備信息系統(tǒng)作為一個復(fù)雜的工程系統(tǒng),各組成部分之間耦合緊密,需求捕獲困難,方案設(shè)計工作繁雜,本文參考軟件敏捷開發(fā)方法,并結(jié)合我國艦船裝備系統(tǒng)設(shè)計的實際特點,創(chuàng)新性地提出了敏捷原型頂層設(shè)計方法,為艦船裝備信息系統(tǒng)的頂層設(shè)計提供理論依據(jù)和手段,從而提高艦船裝備信息系統(tǒng)設(shè)計的合理性和效率。
[1]沈長云. 艦船系統(tǒng)工程的頂層設(shè)計[J]. 艦船科學(xué)技術(shù), 2011, 33(6): 22–25
[2]DoD Architecture Framework Working Group. DoD Architecture Framework Version 1.0. The United States: Department of Defense, 2004
[3]DoD Architecture Framework Working Group. DoD Architecture Framework Version 1.5. The United States: Department of Defense, 2007
[4]DoD Architecture Framework Working Group. DoD Architecture Framework Version 2.0. The United States: Department of Defense, 2009
[5]COOLAHAN J E. Modeling and simulation at APL[J]. Johns Hopkins APL Tech. Dig., 2003, 24(1), 63–74
[6]姑新生, 李玉建. 快速原型法與并行工程法在快速開發(fā)現(xiàn)代化管理軟件中的應(yīng)用[J]. 東莞理工學(xué)院學(xué)報, 1996, 3(1): 22–28
[7]劉玉仁, 董震曜. 快速原型法在軟件設(shè)計中的應(yīng)用[J]. 光電對抗與無源干擾, 2002(4): 6–9
[8]趙國平. 敏捷鑄造中的快速原型技術(shù)[J]. 鑄造設(shè)備研究, 1999(6): 4–39
[9]王 沖. 敏捷開發(fā)與傳統(tǒng)瀑布模型的比較及教學(xué)[J]. 福建電腦, 2011(4): 61–62
The agile prototype top-level design on warship equipment information system
LI Hao, XU Wen-yuan, GUO Li, ZHANG Sheng-xiao, XU Peng
(Systems Engineering Research Institute, Beijing 100094, China)
Aiming at problems that the architecture description is not intuitive, the demand is difficult to complete during the overall design of Warship Equipment Information System (WEIS), the method of the agile prototype top-level design is introduced based on the system engineering method in this paper. And the content of the method, the realization steps, the support means are described. This method can provide a prototype system of mutual interaction and mutual understanding between users and designers, and realize the system design and system requirements gradually improve, gradually deepen, gradually approaching, which is a theoretical basis for the overall rapid design of WEIS.
warship equipment information system (WEIS);the agile prototype;top-level design
TP12
A
1672 – 7649(2017)08 – 0185 – 04
10.3404/j.issn.1672 – 7649.2017.04.039
2016 – 04 – 27;
2016 – 08 – 02
李皓(1975 – ),女,研究員,研究方向為系統(tǒng)集成設(shè)計、系統(tǒng)仿真及精益研發(fā)技術(shù)等。