李 皓,徐文元,郭 麗,張生曉,許 鵬
(中國(guó)船舶工業(yè)系統(tǒng)工程研究院,北京 100094)
艦船裝備信息系統(tǒng)敏捷原型頂層設(shè)計(jì)方法
李 皓,徐文元,郭 麗,張生曉,許 鵬
(中國(guó)船舶工業(yè)系統(tǒng)工程研究院,北京 100094)
針對(duì)國(guó)內(nèi)艦船裝備信息系統(tǒng)總體設(shè)計(jì)存在的體系結(jié)構(gòu)描述不直觀、需求難于完備等問題,參考軟件工程的敏捷軟件開發(fā)方法,本文提出敏捷原型頂層設(shè)計(jì)方法,并對(duì)方法的內(nèi)含、實(shí)現(xiàn)步驟、支撐手段進(jìn)行了描述。該方法可為用戶與設(shè)計(jì)人員提供共同交互、共同理解系統(tǒng)需求的原型系統(tǒng),實(shí)現(xiàn)系統(tǒng)設(shè)計(jì)與系統(tǒng)需求之間的逐步完善、逐步深化、逐步逼近,為實(shí)現(xiàn)艦艇裝備信息系統(tǒng)總體快速設(shè)計(jì)提供理論依據(jù).
艦船裝備信息系統(tǒng);敏捷原型;頂層設(shè)計(jì)
艦船裝備信息系統(tǒng)隨著作戰(zhàn)需求的變化,其組成、功能、關(guān)系也越來越復(fù)雜,為了使其更好地符合軍事需求,實(shí)現(xiàn)系統(tǒng)設(shè)計(jì)最優(yōu)化,同時(shí),也為了降低研制成本,必須有一種有效的設(shè)計(jì)方法來指導(dǎo)艦船裝備信息系統(tǒng)的設(shè)計(jì),能盡早的與用戶方進(jìn)行交流溝通,進(jìn)一步明確和挖掘需求;能盡早的發(fā)現(xiàn)系統(tǒng)設(shè)計(jì)的缺陷,減少后期修改量,降低研制成本;能形象的展示設(shè)計(jì)理念和設(shè)計(jì)方案,可準(zhǔn)確地指導(dǎo)下一步工作。
針對(duì)這類復(fù)雜系統(tǒng),國(guó)外普遍采用體系結(jié)構(gòu)設(shè)計(jì)方法開展系統(tǒng)設(shè)計(jì),如美國(guó)國(guó)防部的 DoDAF(Department of Defense Architecture Framework)、英國(guó)國(guó)防部的 MoDAF(Ministry of Defense Architecture Framework)、北約的 NAF(NATO Architecture Framework)等,都是體系結(jié)構(gòu)設(shè)計(jì)方法,能夠?yàn)轶w系結(jié)構(gòu)的設(shè)計(jì)提供指導(dǎo),能規(guī)范體系結(jié)構(gòu)的設(shè)計(jì)過程、設(shè)計(jì)內(nèi)容和設(shè)計(jì)形式,使系統(tǒng)的組成關(guān)系、流程和信息接口的描述得以統(tǒng)一,便于系統(tǒng)分析、設(shè)計(jì)和實(shí)現(xiàn)人員及使用維護(hù)人員對(duì)系統(tǒng)體系結(jié)構(gòu)設(shè)計(jì)的理解、比較和交流,提高系統(tǒng)總體設(shè)計(jì)的效率。同時(shí),為很好地使用這些體系結(jié)構(gòu)方法,提供了相應(yīng)的設(shè)計(jì)工具,如 SA,Rhapsody 等。
但這類方法和工具在艦船裝備信息系統(tǒng)設(shè)計(jì)過程中,仍然存在以下不足:1)體系結(jié)構(gòu)設(shè)計(jì)方法要求需求一步到位,即需求具備完備性,否則無(wú)法設(shè)計(jì)出各視圖產(chǎn)品,但艦船裝備信息系統(tǒng)的需求都是逐步明晰、逐步細(xì)化的過程;2)體系結(jié)構(gòu)設(shè)計(jì)出的視圖產(chǎn)品主要采用軟件描述語(yǔ)言如UML進(jìn)行描述,即使采用SysML 描述,也是由軟件描述語(yǔ)言演化的,不能做到所見即所得,無(wú)法直接將設(shè)計(jì)結(jié)果與用戶溝通,無(wú)法在設(shè)計(jì)過程中不斷捕獲和修正需求,實(shí)現(xiàn)需求的多次迭代、反復(fù)漸進(jìn)。因此,需要在體系結(jié)構(gòu)設(shè)計(jì)方法基礎(chǔ)上,補(bǔ)充一種能快速實(shí)現(xiàn)可操作、可演示的原型系統(tǒng)頂層設(shè)計(jì)方法——敏捷原型頂層設(shè)計(jì)方法,彌補(bǔ)體系結(jié)構(gòu)設(shè)計(jì)方法的不足。敏捷原型頂層設(shè)計(jì)方法主要參考了軟件的敏捷開發(fā)方法,結(jié)合艦船裝備信息系統(tǒng)頂層設(shè)計(jì)的特征而提出的。敏捷開發(fā)方法是針對(duì)傳統(tǒng)瀑布式開發(fā)模式中的弊端而產(chǎn)生的一種開發(fā)模式,它以用戶的需求進(jìn)化為核心,采用迭代、循序漸進(jìn)的方法進(jìn)行軟件開發(fā)。具有開發(fā)精確、高質(zhì)量、高速度、高投資回報(bào)、高效率等優(yōu)點(diǎn),目標(biāo)是提高開發(fā)效率和響應(yīng)能力。
敏捷原型頂層設(shè)計(jì)方法同樣是以用戶的需求演進(jìn)為核心,采用迭代、循序漸進(jìn)的方式進(jìn)行設(shè)計(jì)。即在需求不是很完備的情況下,抓住系統(tǒng)的重點(diǎn)和主要矛盾,快速實(shí)現(xiàn)一個(gè)可操作、可演示的原型系統(tǒng)——為用戶與設(shè)計(jì)人員提供共同交互、共同理解系統(tǒng)需求的原型系統(tǒng),從而不斷捕獲需求、修正設(shè)計(jì)方案,實(shí)現(xiàn)系統(tǒng)設(shè)計(jì)方案的逐步完善、逐步深化、最終逼近真實(shí)系統(tǒng)。敏捷原型頂層設(shè)計(jì)方法具有靈活性、高效性、動(dòng)態(tài)性等特點(diǎn),從而保證設(shè)計(jì)方案的快速逼近和用戶需求變化的快速響應(yīng)。
敏捷原型頂層設(shè)計(jì)方法不同于傳統(tǒng)的原型系統(tǒng),原型系統(tǒng)應(yīng)體現(xiàn)最終目標(biāo)產(chǎn)品的主要和基本功能,是具有可運(yùn)行、可演示性質(zhì)的早期版本;敏捷原型法不要求是否體現(xiàn)主要功能,它只需對(duì)系統(tǒng)進(jìn)行簡(jiǎn)單、快速的需求捕獲,重點(diǎn)從人機(jī)交互角度進(jìn)行功能實(shí)現(xiàn),而且,核心是借助開發(fā)工具快速實(shí)現(xiàn)原型系統(tǒng)。它也不同于軟件設(shè)計(jì)中的界面原型,界面原型主要采用靜態(tài)的方法設(shè)計(jì)出目標(biāo)系統(tǒng)的每個(gè)界面,界面之間的相互關(guān)系、界面的操作流程、界面顯示的信息等都無(wú)法描述。而敏捷原型設(shè)計(jì)方法則采用動(dòng)態(tài)的方法將目標(biāo)系統(tǒng)的界面進(jìn)行實(shí)現(xiàn),將與界面顯示、界面關(guān)聯(lián)、人機(jī)交互等方面相關(guān)的功能進(jìn)行實(shí)現(xiàn)。
敏捷原型頂層設(shè)計(jì)方法相對(duì)于傳統(tǒng)的設(shè)計(jì)方法具有以下特點(diǎn):
1)需求的不完備性和不確定性。傳統(tǒng)的設(shè)計(jì)方法要求用戶需求完整和明確,只有在正確完整的需求下才能得到正確的結(jié)果。但是在實(shí)際的艦船裝備信息系統(tǒng)設(shè)計(jì)過程中,需求往往是變化的、逐步挖掘出來的,造成這種原因,大部分是用戶自己無(wú)法準(zhǔn)確地提出自己的需求,需隨時(shí)間變化而不斷明確,當(dāng)然,有時(shí)是用戶不能很好地表達(dá)自己的需求,或者是用戶和設(shè)計(jì)者理解上的差異。傳統(tǒng)的設(shè)計(jì)方法很難適應(yīng)這種變化,而敏捷原型頂層設(shè)計(jì)方法擁抱變化,允許變化隨時(shí)隨地發(fā)生,通過對(duì)變化的快速響應(yīng)達(dá)到需求的逐漸完備和確定。
2)用戶參與設(shè)計(jì)。傳統(tǒng)設(shè)計(jì)方法中用戶的參與度不高,與設(shè)計(jì)團(tuán)隊(duì)之間相對(duì)割裂,是導(dǎo)致最終研制出的系統(tǒng)與用戶理想的系統(tǒng)差距較大的重要原因。而敏捷原型頂層設(shè)計(jì)方法通過提供便利的交互環(huán)境——敏捷原型系統(tǒng),促使用戶參與到設(shè)計(jì)過程中,用戶通過操作和使用快速原型系統(tǒng),提出修改意見和建議,不斷的修正和完善系統(tǒng)設(shè)計(jì)方案。
3)理解的一致性。傳統(tǒng)的設(shè)計(jì)方法往往采用文字和圖表的方式,在用戶和設(shè)計(jì)人員之間以及設(shè)計(jì)人員內(nèi)部進(jìn)行交流溝通,文字的理解具有二義性,圖表方式雖然相對(duì)直觀,但也需要在統(tǒng)一規(guī)范下才能達(dá)到一致的理解,而且需要具備一定的計(jì)算機(jī)軟件知識(shí)。而敏捷原型頂層設(shè)計(jì)方法通過提供可操作、可演示的敏捷原型系統(tǒng),使不同人員之間達(dá)到一致的理解,大大提高溝通交流的有效性和準(zhǔn)確性。
4)整體可評(píng)價(jià)性。傳統(tǒng)的設(shè)計(jì)方法是一種靜態(tài)設(shè)計(jì)方法,對(duì)設(shè)計(jì)方案優(yōu)劣的判斷大部分采用專家研討的方式,屬定性評(píng)價(jià)方式,而且評(píng)價(jià)的內(nèi)容跟專家的知識(shí)結(jié)構(gòu)和水平強(qiáng)相關(guān),無(wú)法保證每次評(píng)價(jià)的內(nèi)容、評(píng)價(jià)的粒度相同。敏捷原型頂層設(shè)計(jì)方法無(wú)論是系統(tǒng)的功能、數(shù)據(jù)要求及數(shù)據(jù)結(jié)構(gòu)、操作性能、特點(diǎn)以及系統(tǒng)的體系結(jié)構(gòu)等方面均可進(jìn)行定性或定量的評(píng)價(jià),將評(píng)價(jià)結(jié)果快速反饋到設(shè)計(jì)中。
敏捷原型頂層設(shè)計(jì)方法的實(shí)現(xiàn)步驟分為:快速分析、原型構(gòu)造(以界面為主的功能)、運(yùn)行評(píng)價(jià)原型、修改原型 4 步,再構(gòu)造、再運(yùn)行評(píng)價(jià)、再修改,直到獲取到滿意的需求,具備充分指導(dǎo)裝備設(shè)計(jì)工作為止。
1) 快速分析:分析人員和用戶通過界面原型方法快速確定系統(tǒng)的基本要求,編寫需求規(guī)格說明書,以備開發(fā)模型使用。
2) 原型構(gòu)造:使用原型開發(fā)工具對(duì)系統(tǒng)進(jìn)行建模、集成測(cè)試,快速產(chǎn)生出敏捷原型。
3) 運(yùn)行評(píng)價(jià)原型:運(yùn)行敏捷原型系統(tǒng),通過用戶的操作,體驗(yàn)?zāi)繕?biāo)裝備系統(tǒng)的操作方式、交互流程、指揮關(guān)系、部分功能特征等,從而評(píng)價(jià)敏捷原型與用戶需求的吻合程度,提出修改意見。
4) 修正和改進(jìn)原型:根據(jù)修改意見進(jìn)行修改。修改完后,再次進(jìn)入運(yùn)行評(píng)價(jià)原型階段,2 個(gè)階段是一個(gè)不斷迭代、交替進(jìn)行的過程。
當(dāng)然,若修改意見屬于顛覆性或需求的大幅增加,就需要從新開始分析-構(gòu)造-運(yùn)行與評(píng)價(jià)-修改。
根據(jù)原型輔助的敏捷體系結(jié)構(gòu)設(shè)計(jì)方法,研制出界面原型設(shè)計(jì)和集成運(yùn)行環(huán)境、原型信息生成與運(yùn)行環(huán)境,為設(shè)計(jì)人員提供一個(gè)可視化的且方便、快捷的軟件界面原型設(shè)計(jì)和集成運(yùn)行環(huán)境,提供 1 套基于作戰(zhàn)系統(tǒng)協(xié)議的接口、流程生成和運(yùn)行環(huán)境,彌補(bǔ)體系結(jié)構(gòu)設(shè)計(jì)工具 SA 描述的不直觀、非動(dòng)態(tài)的缺點(diǎn),統(tǒng)一和規(guī)范概念原型的開發(fā),提高開發(fā)效率。
1)界面原型設(shè)計(jì)和集成運(yùn)行環(huán)境
界面原型設(shè)計(jì)和集成運(yùn)行環(huán)境主要由開發(fā)平臺(tái)、UI 設(shè)計(jì)器、工程模板構(gòu)件等 3 部分組成。每部分包含的功能如圖 2 所示。
開發(fā)平臺(tái)集成相關(guān)模板框架和組件,使平臺(tái)具備自定義向?qū)Чδ埽惶峁┕こ棠0鍢?gòu)件管理,使平臺(tái)具備識(shí)別自定義構(gòu)件并解析自定義構(gòu)件功能;利用 Visual Studio SDK 使開發(fā)平臺(tái)具備定制擴(kuò)展接口。同時(shí),開發(fā)平臺(tái)提供測(cè)試用例的管理功能,開發(fā)人員可根據(jù)新建項(xiàng)目向?qū)нx擇是否加載原型模擬數(shù)據(jù),用戶可以對(duì)原型測(cè)試數(shù)據(jù)進(jìn)行更新及刪除等管理功能。
UI 設(shè)計(jì)器是為設(shè)計(jì)人員提供的一款設(shè)計(jì)工具,用戶可利用設(shè)計(jì)器對(duì)各個(gè)面板組件進(jìn)行拖拽式布局、支持對(duì)拖拽的元素組件進(jìn)行屬性設(shè)置、支持自定義多個(gè)顯示器數(shù)量及位置,是否自適應(yīng)屏幕大小、支持多個(gè)界面元素以 TAB 欄的方式進(jìn)行堆疊、支持界面占位元素,用戶也可向組件添加自定義標(biāo)題文字及圖片。
工程模板構(gòu)件包含以組件形式存在的若干種項(xiàng)目模板。每套模板包括控件庫(kù)、資源庫(kù)、新建項(xiàng)目向?qū)У?,均存在組件庫(kù)中,供設(shè)計(jì)人員使用,并擴(kuò)展到其他模板框架中去。
因此,界面原型設(shè)計(jì)和集成運(yùn)行環(huán)境面向 3 類人員使用:設(shè)計(jì)人員、開發(fā)人員、維護(hù)人員,設(shè)計(jì)人員主要使用界面編輯器進(jìn)行界面設(shè)計(jì)工作,并將設(shè)計(jì)的結(jié)果基于 xml 格式以資源配置文件形式導(dǎo)出,生成的資源配置文件提供開發(fā)人員進(jìn)行應(yīng)用程序開發(fā)。開發(fā)人員主要使用開發(fā)平臺(tái)進(jìn)行組件業(yè)務(wù)邏輯的開發(fā),通過使用開發(fā)平臺(tái)集成的自定義工程模板向?qū)Чδ埽瑢?duì)工程模板構(gòu)件進(jìn)行解析,若符合需求直接使用工程模版構(gòu)件,若不符合則進(jìn)行二次開發(fā)形成新的工程模版。維護(hù)人員主要使用控件庫(kù)管理進(jìn)行資源組件和工程模板構(gòu)建,累積控件庫(kù)資源,讓資源得以復(fù)用。
2)原型信息生成與運(yùn)行環(huán)境
設(shè)計(jì)環(huán)境還根據(jù)研究?jī)?nèi)容 1 中研究的某典型艦艇裝備防空反導(dǎo)系統(tǒng)的系統(tǒng)結(jié)構(gòu)成果,利用 DODAF 工具建立全局視圖、作戰(zhàn)視圖、系統(tǒng)視圖、技術(shù)視圖等產(chǎn)品形成設(shè)計(jì)模型庫(kù)實(shí)現(xiàn)統(tǒng)一管理,通過將基于敏捷原型設(shè)計(jì)工具和開發(fā)環(huán)境生成的界面元素,系統(tǒng)設(shè)計(jì)模型等,存入模型庫(kù)實(shí)現(xiàn)統(tǒng)一管理。
艦船裝備信息系統(tǒng)作為一個(gè)復(fù)雜的工程系統(tǒng),各組成部分之間耦合緊密,需求捕獲困難,方案設(shè)計(jì)工作繁雜,本文參考軟件敏捷開發(fā)方法,并結(jié)合我國(guó)艦船裝備系統(tǒng)設(shè)計(jì)的實(shí)際特點(diǎn),創(chuàng)新性地提出了敏捷原型頂層設(shè)計(jì)方法,為艦船裝備信息系統(tǒng)的頂層設(shè)計(jì)提供理論依據(jù)和手段,從而提高艦船裝備信息系統(tǒng)設(shè)計(jì)的合理性和效率。
[1]沈長(zhǎng)云. 艦船系統(tǒng)工程的頂層設(shè)計(jì)[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é)報(bào), 1996, 3(1): 22–28
[7]劉玉仁, 董震曜. 快速原型法在軟件設(shè)計(jì)中的應(yīng)用[J]. 光電對(duì)抗與無(wú)源干擾, 2002(4): 6–9
[8]趙國(guó)平. 敏捷鑄造中的快速原型技術(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 – ),女,研究員,研究方向?yàn)橄到y(tǒng)集成設(shè)計(jì)、系統(tǒng)仿真及精益研發(fā)技術(shù)等。