李浩敏 /
(上海飛機設(shè)計研究院,上海201210)
現(xiàn)代大型民機設(shè)計是高度復(fù)雜的多系統(tǒng)綜合集成設(shè)計,具有技術(shù)密集、學(xué)科交叉、綜合集成、適航驗證等復(fù)雜的技術(shù)特征,研制過程投入巨大、管理復(fù)雜、時間緊、任務(wù)重。需求作為支持整個研制過程的公共基礎(chǔ)[1],基于需求的工程(Requirements Based Engineering,簡稱RBE)即是民機研制中面向安全性、面向適航建立置信度和過程保證的重要手段。
如圖1所示的“雙V”(Validation & Verification)研制流程,正向的民機設(shè)計過程是頂層需求不斷向下分解的過程,飛機頂層需求到飛機級功能需求,再分配到系統(tǒng)需求及產(chǎn)品需求,并在整個過程中不斷地確認(rèn)和驗證需求[2]。
圖1 民機研制的“雙V”流程
對于高度復(fù)雜系統(tǒng)的研制,需求作為整個研制過程的基礎(chǔ),產(chǎn)品開發(fā)過程中會遇到如下問題:
1) 如何保證這些海量需求的正確性與完整性;
2) 如何保證各方對于需求理解的一致性;
3) 如何解決系統(tǒng)間接口不清的問題;
4) 需求的確認(rèn)和驗證缺乏手段。
這些成為了急需設(shè)計人員解決的問題,設(shè)計需求源自功能,為解決以上問題,下文將探討功能分析方法。
功能分析是功能在預(yù)期場景中的行為分析,通過定義功能的運行特性,解析系統(tǒng)的主要工作內(nèi)容和工作機理,將上層功能逐級分解成各個層級的功能,并將相應(yīng)功能需求分配到這些功能層級,把相關(guān)方的需要轉(zhuǎn)換成功能邏輯架構(gòu)的過程,由此提出功能性需求和內(nèi)部、外部功能接口。值得注意的是,功能分析描述的行為不涉及物理層次,不會提出具體的系統(tǒng)解決方法[3]。
功能分析的主要工作包括:(1)確定系統(tǒng)工作的邊界,描述系統(tǒng)的任務(wù)、運行場景;(2)定義頂層功能;(3)根據(jù)運營狀態(tài)組織功能邏輯關(guān)系;(4)把高層級功能分解成低層級功能;(5)評估多種功能向下分解的方式;(6)形成功能分析的基線,記錄形成功能架構(gòu)及功能描述文檔。
基于模型的功能分析方法是基于模型的系統(tǒng)工程(Model-Based Systems Engineering,簡稱MBSE)的重要組成部分,設(shè)計者之間通過易于理解的圖形交流系統(tǒng)設(shè)計方案,減少因誤解造成的隱患??蓤?zhí)行的功能模型使得在設(shè)計的各個階段都能分析系統(tǒng)對功能性需求的符合性,并驗證系統(tǒng)需求是否符合利益相關(guān)方的原始需求,能加速復(fù)雜系統(tǒng)開發(fā)過程,減少研制錯誤。
建模語言、建模方法和建模工具是基于模型的功能分析過程的三大支柱。
在特定的建模語言中定義的規(guī)則會使得模型的元素和關(guān)系更加清晰。UML(Unified Modeling Language)是針對軟件工程領(lǐng)域的標(biāo)準(zhǔn)化建模語言,SysML (Systems Modeling Language)是UML的一種擴展,通過圖形化的語言描述系統(tǒng)運行的過程,它是系統(tǒng)工程的標(biāo)準(zhǔn)建模語言,為系統(tǒng)的行為模型、結(jié)構(gòu)模型、需求模型和參數(shù)模型定義語義。
SysML語言定義了九種基本圖形來表示模型的各個方面。從模型的不同描述角度來劃分,這九種基本圖形分成三類:行為圖、需求圖和結(jié)構(gòu)圖。行為圖包括用例圖、活動圖、時序圖和狀態(tài)機圖[4-5],結(jié)構(gòu)圖包括包圖、內(nèi)部模塊圖和模塊定義圖。如圖2所示。
圖2 SysML框圖組成
建模方法是建模團隊創(chuàng)建系統(tǒng)模型要執(zhí)行的以系統(tǒng)設(shè)計任務(wù)的合集,它確保團隊中所有人按一致的方式構(gòu)建模型,沒有這樣的指導(dǎo),團隊中每個成員建模的模型深度、廣度和準(zhǔn)確度方面就會有很大差別。
本文介紹基于Harmony的系統(tǒng)工程方法,一般來說,Harmony將系統(tǒng)設(shè)計分為3個階段,需求分析、功能分析(黑盒)和設(shè)計綜合(白盒),在功能分析階段按圖3所示的方法進行建模。
圖3 基于SysML語言的行為建模方法
1)根據(jù)需求分析的結(jié)果構(gòu)建用例圖
用例圖一般會在系統(tǒng)周期的早期創(chuàng)建,它定義系統(tǒng)的邊界和外部執(zhí)行者,并將外部執(zhí)行者和用例關(guān)聯(lián)。
用例圖是系統(tǒng)的一種黑盒視圖,所以適合展示飛機的運行場景。對于一個給定功能/系統(tǒng),可能需要考慮各種不同的場景,用來描述在不同環(huán)境和操作模式下的情況。用例可以作為需求表達的重要組織形式,可以在需求開發(fā)過程中,保證需求的正確性與完整性,同時也是基于需求測試和驗證的基礎(chǔ)。能建立完整的飛機功能用例和運行場景,對飛機系統(tǒng)開發(fā)有重要意義。
2)針對每個用例,建立系統(tǒng)活動圖
活動圖描述某個用例下的功能流,包括功能運行活動、層級結(jié)構(gòu)規(guī)劃、決策跳轉(zhuǎn)邏輯、狀態(tài)條件監(jiān)控、外部交互響應(yīng)定義以及中斷應(yīng)急措施等。應(yīng)對各個活動的顆粒度應(yīng)充分地進行把控,應(yīng)基于功能層次的考慮作出適當(dāng)?shù)某橄蟾爬?,避開物理實現(xiàn)和軟硬件層次的具體設(shè)計。頂層活動的顆粒度應(yīng)以清晰明確的方式概括性地表明系統(tǒng)的主要活動,底層活動的顆粒度應(yīng)細化到可以滿足建模的分析要求,以支持功能分配、交聯(lián)分析等。
在上述兩個階段可以建立需求矩陣,反映需求與用例之間的追溯關(guān)系以及需求與系統(tǒng)活動的滿足關(guān)系,并進行需求覆蓋率的統(tǒng)計。
3)對于每個活動圖,生成時序圖和內(nèi)部塊圖
時序圖是采用時間序列的方式,對并排分列的目標(biāo)系統(tǒng)和外部對象之間的信息交互關(guān)系進行描述,并對信息的內(nèi)容進行確認(rèn)和反饋。內(nèi)部接口模塊圖能清晰地表征研究對象與外部交互對象的交互信息,反映功能接口信息,體現(xiàn)功能架構(gòu)。
4)建立狀態(tài)圖,運行并驗證模型
狀態(tài)圖是根據(jù)活動圖和時序圖,用基于相互跳轉(zhuǎn)的狀態(tài)的方式來描述系統(tǒng)功能的模型。狀態(tài)圖可以進行執(zhí)行運算,通過運行各個狀態(tài)檢驗系統(tǒng)功能運轉(zhuǎn)是否符合預(yù)期。狀態(tài)圖可以對功能邏輯和設(shè)計需求進行驗證,確保設(shè)計早期發(fā)現(xiàn)問題,減少后期的迭代。
功能建模的工具軟件有很多,如Enterprise Architecture、IBM Rational Raphsody、Magic Draw等,建模工具間的通用性非常重要,可以通過中間格式或軟件接口實現(xiàn)模型的共享,擺脫對某一種工具的依賴。
首先,根據(jù)自動飛行系統(tǒng)的涉眾需求確定系統(tǒng)的用例,確定系統(tǒng)的邊界和外部交互對象,圖4展示了自動著陸用例,該用例包括多個外部相關(guān)的交互對象,具體的接口信息將在下文中體現(xiàn)。
圖4 自動飛行系統(tǒng)的用例分析
針對每一用例,通過活動圖可以直觀地展示功能流的運轉(zhuǎn)情況,表征自動飛行系統(tǒng)在自動著陸過程中的功能運行活動、層級結(jié)構(gòu)規(guī)劃、決策跳轉(zhuǎn)邏輯、狀態(tài)條件監(jiān)控和外部交互響應(yīng)等,如圖5所示。
圖5 自動飛行系統(tǒng)的活動圖
在用例圖和活動圖完成后,可以對模型進行需求覆蓋率分析,需求覆蓋率分析包含關(guān)聯(lián)關(guān)系分析和滿足關(guān)系分析。關(guān)聯(lián)關(guān)系相對簡單,只需把所有功能性需求關(guān)聯(lián)到對應(yīng)的用例即可,滿足關(guān)系則需要把每條功能性需求鏈接到模型中相應(yīng)的活動、事件和屬性參數(shù)上,再建立需求矩陣。
圖形化的顯示可以直觀地反映需求的覆蓋率,如圖6所示,導(dǎo)入的431條需求中有353條關(guān)聯(lián)到了自動著陸用例,覆蓋到該用例的需求比例為82%。
圖6 自動飛行系統(tǒng)的需求覆蓋率分析
基于活動圖,可以用生命線的方式建立自動飛行系統(tǒng)和各相關(guān)系統(tǒng)的交互關(guān)系,形成時序圖。它一般反映了系統(tǒng)在活動圖中沿著某一條或者多條特定的路徑下的各種內(nèi)外部運行活動。如圖7所示。
圖7 自動飛行系統(tǒng)的時序分析
在黑盒階段可以根據(jù)創(chuàng)建好的用例圖、時序圖自動生成內(nèi)部模塊圖,它反映的是系統(tǒng)和外部交互對象間的接口關(guān)系,此時,時序圖中的交互信息已經(jīng)在接口中體現(xiàn)。如圖8所示。
圖8 自動飛行系統(tǒng)的內(nèi)部模塊圖
最后,用狀態(tài)機圖從機器運轉(zhuǎn)的角度對系統(tǒng)進行闡述,如圖9所示,可執(zhí)行的狀態(tài)機圖可以有效地對功能邏輯、功能接口進行虛擬驗證,以便在設(shè)計初期及早發(fā)現(xiàn)問題,減少后期的更改。
圖9 自動飛行系統(tǒng)的狀態(tài)機分析
此外,在后續(xù)的設(shè)計和架構(gòu)綜合中,還可以按需采用參數(shù)圖、模塊定義圖來進行系統(tǒng)的約束和架構(gòu)的分析。
針對民用飛機研制特點與研制需求,闡述了大型客機中的功能分析工作,詳細介紹了功能分析、基于模型的功能分析等內(nèi)容,及其在大型客機研制過程中的應(yīng)用情況。實踐表明,功能分析為復(fù)雜產(chǎn)品的自上而下的正向設(shè)計提供了很好的基礎(chǔ),保證了民機研制過程中需求的正確性和完整性、各方對需求理解的一致性以及系統(tǒng)間接口完整清晰,對大型客機項目取得研制、市場和商業(yè)成功具有重要意義。