本書的主要目標(biāo)是為系統(tǒng)工程師和從業(yè)者提供集成系統(tǒng)工程和面向?qū)ο蠹軜?gòu)方法中的流程(Integrated Systems Engineering and Pipelines of Processes in ObjectOriented Architectures,ISE & PPOOA)方法的分析、設(shè)計(jì)和建模工具。該方法將基于模型的系統(tǒng)和軟件工程方法結(jié)合在一起,用于進(jìn)行復(fù)雜產(chǎn)品的開發(fā)。本書的另一目標(biāo),是利用基于模型的系統(tǒng)工程(Modelbased systems engineering,MBSE)方法和SysML語言的優(yōu)勢實(shí)現(xiàn)高質(zhì)量的設(shè)計(jì),避免全面開展MBSE的復(fù)雜性。因此,我們使用了一套SysML概念,最終目的是為讀者提供足夠的學(xué)習(xí)案例,使他們能夠?qū)SE & PPOOA和SysML示意圖應(yīng)用于自己的系統(tǒng)工程活動中。
ISE & PPOOA是經(jīng)過25年以上研發(fā)取得的成果。PPOOA是20世紀(jì)90年代末為實(shí)時系統(tǒng)創(chuàng)建的一種軟件架構(gòu)框架,它提出了構(gòu)建元素的詞匯表,以及如何在構(gòu)建實(shí)時系統(tǒng)的軟件架構(gòu)時使用這些元素。
關(guān)于PPOOA的開創(chuàng)性論文發(fā)表于1998年(第五屆國際軟件重用會議,加拿大維多利亞,IEEE1998),題為一種面向?qū)ο蟮膶?shí)時系統(tǒng)的架構(gòu)形式。本文首次提出PPOOA并描述了其框架,強(qiáng)調(diào)了協(xié)調(diào)機(jī)制的使用方法以及為該框架設(shè)計(jì)的架構(gòu)指南。
PPOOA是在UML標(biāo)準(zhǔn)發(fā)布之前開發(fā)的,隨著UML的普及,作者意識到使用UML語言的重要性。隨后,在歐盟第五框架計(jì)劃的部分資助下,完成了CARTSIST項(xiàng)目,在該項(xiàng)目中,為基于PPOOA的實(shí)時系統(tǒng)開發(fā)了UML配置文件,以及一個稱為PPOOA的架構(gòu)過程(PPOOA_AP)。PPOOA和PPOOA_AP在由CARTS項(xiàng)目(19992001)的工業(yè)合作伙伴開發(fā)的自主機(jī)器人和地面空間系統(tǒng)中得到了驗(yàn)證。
2004年,PPOOA作為通用繪圖工具在MicrosoftVisio中實(shí)現(xiàn)應(yīng)用,提供了實(shí)現(xiàn)多種工程方法的機(jī)制,并為商業(yè)CASE提供了良好的工具,這些工具支持UML表示法以及PPOOA的語義和元模型。
在軟件生命周期的早期階段(例如在架構(gòu)階段之后)預(yù)測軟件性能,并基于UML模型對其進(jìn)行評估是一種有效方法,可以節(jié)省后期系統(tǒng)測試和軟件修復(fù)階段的費(fèi)用。PPOOACASE工具使用了一種新模塊(Visio插件),該模塊將系統(tǒng)的PPOOA_UML架構(gòu)圖轉(zhuǎn)換為可由Cheddar讀取的XML文件。Cheddar是由布列斯特大學(xué)(法國)開發(fā)的一種調(diào)度分析器和模擬工具。隨后通過新功能對PPOOA工具進(jìn)行了增強(qiáng),例如使用智能代理來指導(dǎo)軟件架構(gòu)師,并在架構(gòu)開發(fā)階段進(jìn)行早期的死鎖檢測。
最后,PPOOA軟件架構(gòu)被擴(kuò)展用于軟件密集型及非密集型的復(fù)雜產(chǎn)品或系統(tǒng)開發(fā)。新的MBSE被稱為面向?qū)ο蠹軜?gòu)方法中的流程(ISE & PPOOA)。
ISE & PPOOA是為使用SysML符號標(biāo)準(zhǔn)子集的獨(dú)立工具而創(chuàng)建的。
該過程的ISE部分包括適用于任何類型系統(tǒng)的系統(tǒng)工程過程的第一步,而不僅僅是軟件密集型系統(tǒng)。ISE子流程集成了傳統(tǒng)的系統(tǒng)工程最佳實(shí)踐和MBSE。
PPOOA部分支持在集成流程中盡可能早地進(jìn)行并發(fā)建模。ISE & PPOOA提供了一系列指導(dǎo)方針和啟發(fā)式方法幫助工程師構(gòu)建系統(tǒng)。
ISE & PPOOA提供的主要成果之一是使用SysML塊定義圖功能層次結(jié)構(gòu)的功能架構(gòu)。該圖與主要系統(tǒng)功能流的活動圖相輔相成。N2圖表被用作識別主功能接口的界面圖。系統(tǒng)功能的文本描述也作為一部分可提供的成果。
該流程提供的另一個產(chǎn)出是物理架構(gòu),它使用SysML塊定義圖將系統(tǒng)分解為子系統(tǒng)和部件。該圖補(bǔ)充了每個子系統(tǒng)的SysML內(nèi)部框圖以及所需的活動圖和狀態(tài)圖。此外,該流程還提供了系統(tǒng)塊的文字說明,用于確定和記錄特定體系結(jié)構(gòu)的解決方案。
軟件子系統(tǒng)架構(gòu)在PPOOA中使用兩個視圖進(jìn)行描述,這兩個視圖由一個或多個使用UML符號的圖表表達(dá),一個是靜態(tài)的結(jié)構(gòu)視圖,另一個是動態(tài)的行為視圖。系統(tǒng)架構(gòu)圖除了表示系統(tǒng)組件以及它們之間的組成和使用關(guān)系之外,還表示用作連接器的協(xié)調(diào)機(jī)制。UML/SysML活動圖支持系統(tǒng)的行為視圖,它表示系統(tǒng)響應(yīng)事件而執(zhí)行動作流的內(nèi)部視圖。ISE & PPOOA/energy是這種MBSE方法的最新流程,用于處理過程中的能效問題。
第1章緒論1
1.1本書目標(biāo)和受眾群體1
1.2本書內(nèi)容2
1.3關(guān)于本書的閱讀方式建議4
參考文獻(xiàn)5
第2章系統(tǒng)工程6
2.1系統(tǒng)的定義與特性6
2.2系統(tǒng)的生命周期8
2.3系統(tǒng)工程9
2.3.1對系統(tǒng)工程的需求10
2.3.2系統(tǒng)工程的主要任務(wù)10
2.4系統(tǒng)開發(fā)的各種方法12
2.4.1順序法13
2.4.2增量法13
2.4.3進(jìn)化法14
2.5總結(jié)15
2.6問題與練習(xí)15
參考文獻(xiàn)16
第3章基于模型的系統(tǒng)工程17
3.1為什么我們需要基于模型的系統(tǒng)工程17
3.2什么是MBSE中的建模?18
3.2.1為什么使用模型18
3.2.2模型和視圖20
3.3MBSE的建模語言、方法和工具20
3.3.1建模語言20
3.3.2MBSE方法23
3.3.3MBSE工具25
3.4總結(jié)26
3.5問題與練習(xí)26
參考文獻(xiàn)27
第4章ISE & PPOOA方法29
4.1集成系統(tǒng)工程和軟件架構(gòu)29
4.2ISE & PPOOA的挑戰(zhàn)30
4.2.1實(shí)現(xiàn)非功能性需求30
4.2.2處理功能和物理接口30
4.3ISE & PPOOA系統(tǒng)工程概念模型31
4.4ISE & PPOOA的維度和主要步驟33
4.4.1系統(tǒng)工程子過程34
4.4.2軟件架構(gòu)子流程38
4.5能效問題流程的擴(kuò)展43
4.6總結(jié)45
4.7問題與練習(xí)45
參考文獻(xiàn)46
第5章功能架構(gòu)47
5.1功能架構(gòu)的重要性47
5.1.1系統(tǒng)工程中的功能架構(gòu)47
5.1.2軟件密集型系統(tǒng)的功能架構(gòu)48
5.2功能是一種變換48
5.2.1功能架構(gòu)模型的主要概念48
5.2.2功能架構(gòu)模型49
5.3功能層級的建模54
5.3.1功能層級自上而下的方法55
5.3.2功能層級自下向上的方法55
5.4功能建模55
5.5對功能和功能接口的描述56
5.6功能需求57
5.7總結(jié)57
5.8問題與練習(xí)58
參考文獻(xiàn)59
第6章系統(tǒng)工程中應(yīng)用的啟發(fā)式方法61
6.1啟發(fā)式框架61
6.2啟發(fā)式系統(tǒng)架構(gòu)64
6.2.1第4章步驟3的啟發(fā)式:ISE流程的功能架構(gòu)64
6.2.2第4章步驟4的啟發(fā)式:ISE過程的物理架構(gòu)64
6.3基于啟發(fā)式的可靠性和可維護(hù)性66
6.3.1第4章步驟4 可靠性和可維護(hù)性啟發(fā)式:ISE過程的物理架構(gòu)66
6.3.2軟件架構(gòu)可維護(hù)性的啟發(fā)式方法:PPOOA過程66
6.3.3限制職責(zé)可見性的啟發(fā)式方法67
6.3.4防止非預(yù)期影響的啟發(fā)式方法67
6.4效率的啟發(fā)式方法68
6.4.1管理需求的啟發(fā)式方法69
6.4.2仲裁需求的啟發(fā)式方法70
6.4.3管理多個資源的啟發(fā)式方法70
6.5安全性啟發(fā)式方法71
6.5.1避免危害的啟發(fā)式方法72
6.5.2降低危害的啟發(fā)式方法72
6.5.3控制危害的啟發(fā)式方法72
6.5.4減輕影響的啟發(fā)式方法73
6.6恢復(fù)啟發(fā)式方法73
6.6.1威脅中幸存的啟發(fā)式方法74
6.6.2適應(yīng)威脅的啟發(fā)式方法74
6.6.3平穩(wěn)退化的啟發(fā)式方法75
6.6.4面對威脅時采取整體行動的啟發(fā)式方法75
6.7使用PPOOA框架的軟件架構(gòu)啟發(fā)式方法75
6.8總結(jié)77
6.9問題和練習(xí)77
參考文獻(xiàn)78
第7章物理架構(gòu)80
7.1系統(tǒng)工程中的物理架構(gòu)80
7.1.1物理架構(gòu)模型的主要概念80
7.1.2ISE & PPOOA中的功能樹、物理樹和質(zhì)量樹81
7.1.3其他架構(gòu)模型81
7.2分配和模塊化82
7.2.1模塊化架構(gòu)的表示83
7.2.2分配84
7.3改進(jìn)架構(gòu)的涉及啟發(fā)式方法84
7.3.1控制監(jiān)控模式85
7.3.2三重模塊化冗余模式85
7.4使用PPOOA框架進(jìn)行軟件架構(gòu)設(shè)計(jì)85
7.4.1域模型86
7.4.2軟件組件和PPOOA詞匯表87
7.4.3協(xié)調(diào)機(jī)制88
7.4.4軟件行為和活動的因果流程90
7.5總結(jié)91
7.6問題與練習(xí)91
參考文獻(xiàn)92
第8章應(yīng)用示例:無人機(jī)電氣子系統(tǒng)94
8.1示例概述、需求和能力94
8.1.1操作場景和用例96
8.1.2系統(tǒng)能力97
8.2功能架構(gòu)和系統(tǒng)需求98
8.2.1功能架構(gòu)98
8.2.2系統(tǒng)需求107
8.3物理架構(gòu)和啟發(fā)式應(yīng)用109
8.3.1啟發(fā)式的應(yīng)用109
8.3.2物理架構(gòu)110
8.4總結(jié)115
參考文獻(xiàn)116
第9章應(yīng)用示例:協(xié)作機(jī)器人117
9.1示例概述、需求和能力117
9.1.1確定操作場景118
9.1.2能力和高級功能需求119
9.1.3質(zhì)量屬性和系統(tǒng)NFR121
9.2功能架構(gòu)和系統(tǒng)需求122
9.2.1功能架構(gòu)122
9.2.2系統(tǒng)需求130
9.3物理架構(gòu)和啟發(fā)式應(yīng)用132
9.3.1模塊化架構(gòu)132
9.3.2應(yīng)用啟發(fā)式細(xì)化物理架構(gòu)135
9.3.3精細(xì)化物理架構(gòu)的表現(xiàn)形式136
9.4軟件架構(gòu)140
9.4.1軟件組件142
9.4.2簡便的活動流143
9.4.3安全啟發(fā)式方法143
9.5總結(jié)146
參考文獻(xiàn)147
第10章應(yīng)用示例:燃煤發(fā)電廠蒸汽產(chǎn)生過程的能效分析148
10.1引言148
10.2蒸汽產(chǎn)生過程的功能架構(gòu)150
10.3蒸汽發(fā)生子系統(tǒng)的物理架構(gòu)152
10.4物質(zhì)和能量平衡的方程和相關(guān)性153
10.5成果156
10.6總結(jié)157
10.7問題和練習(xí)157
參考文獻(xiàn)158
第11章權(quán)衡分析159
11.1權(quán)衡與架構(gòu)的決策過程159
11.2權(quán)衡評估的標(biāo)準(zhǔn)和效用功能160
11.3用于ISE & PPOOA過程的權(quán)衡方法162
11.4總結(jié)163
參考文獻(xiàn)164
第12章其他感興趣的主題與后續(xù)步驟165
12.1敏捷開發(fā)165
12.1.1敏捷方法的原則及對其的誤解165
12.1.2敏捷方法的可擴(kuò)展性166
12.1.3ISE & PPOOA流程和敏捷性168
12.2架構(gòu)評估和模型檢查169
12.2.1架構(gòu)評估169
12.2.2架構(gòu)評估的不同實(shí)踐示例170
12.2.3模型評估172
12.3推薦給讀者的后續(xù)步驟173
12.4總結(jié)173
參考文獻(xiàn)175
附錄ASysML符號177
附錄B需求框架185
作者介紹196