国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

MBSE建模方法研究:業(yè)務(wù)、系統(tǒng)和軟件建模

2023-03-01 08:06:46金成杰俎濤張宏亮段博
電子制作 2023年2期
關(guān)鍵詞:用例視圖安保

金成杰,俎濤,張宏亮,段博

(1.上海中廣核工程科技有限公司,上海, 200241;2.北京火龍果網(wǎng)絡(luò)技術(shù)有限公司,北京, 100088)

0 引言

當(dāng)前,隨著系統(tǒng)的復(fù)雜性越來越高,MBSE越來越被重視。MBSE講求在整個(gè)系統(tǒng)的開發(fā)過程中以模型描述各個(gè)階段的分析設(shè)計(jì)成果,并實(shí)現(xiàn)各個(gè)階段的模型的跟蹤。一個(gè)復(fù)雜系統(tǒng)的工程實(shí)踐中,一般存在三個(gè)分析設(shè)計(jì):業(yè)務(wù)分析設(shè)計(jì)、系統(tǒng)分析設(shè)計(jì)、軟件設(shè)計(jì)。相應(yīng)的也就需要建立三個(gè)模型:業(yè)務(wù)模型、系統(tǒng)模型、軟件模型。在實(shí)際項(xiàng)目中,很多人都存在這樣的困惑:

這些模型都有什么內(nèi)容?

這些模型有哪些可以采用的建模語(yǔ)言?

這些模型如何緊密銜接,實(shí)現(xiàn)需求跟蹤?

本文將引入相關(guān)的建模規(guī)范,并結(jié)合工程范例研究相關(guān)的建模方法。

1 MBSE建模方法的現(xiàn)狀和遇到的問題

當(dāng)前MBSE標(biāo)準(zhǔn)的最主要的建模語(yǔ)言是:

SysML:系統(tǒng)工程建模語(yǔ)言,用于對(duì)系統(tǒng)建模。

UML:軟件工程建模語(yǔ)言,用于對(duì)軟件建模。

但是缺乏明確的業(yè)務(wù)建模語(yǔ)言規(guī)范。而SysML和UML也是面向不同的層次,實(shí)際的系統(tǒng)分析設(shè)計(jì)中,系統(tǒng)和軟件都需要建模,而且還要緊密相關(guān)。所以,即使當(dāng)前采用SysML和UML建模的工程師,也存在如下困惑:

業(yè)務(wù)建模都建模什么,用什么建模語(yǔ)言,如何建模?

SysML建立的系統(tǒng)模型和UML建立的軟件模型如何對(duì)接?

對(duì)于非功能需求(例如:性能)如何建模?

業(yè)務(wù)模型、系統(tǒng)模型、軟件模型如何緊密銜接?

2 MBSE建模解決方案

下面提供MBSE的建模解決方案:

采用UML作為基礎(chǔ)建模語(yǔ)言,根據(jù)建模的需要擴(kuò)展出業(yè)務(wù)建模語(yǔ)言BML。

把BML和SysML建立模型映射,實(shí)現(xiàn)業(yè)務(wù)模型到系統(tǒng)模型的緊密銜接。

把SysML和UML建立模型映射,實(shí)現(xiàn)系統(tǒng)模型到軟件模型的緊密銜接。

建模者可以根據(jù)自己的建模需要,基于UML擴(kuò)展特定的建模形式規(guī)范。

MBSE過程可以描述為角色、活動(dòng)和模型,如圖2所示[1]:

圖2 MBSE過程中的模型

說明如下:

業(yè)務(wù)分析師進(jìn)行業(yè)務(wù)分析,建立業(yè)務(wù)模型;

系統(tǒng)工程師進(jìn)行系統(tǒng)分析,建立系統(tǒng)模型;

軟件工程師基于軟件分析設(shè)計(jì)、軟件開發(fā)和軟件測(cè)試,建立了軟件模型;

測(cè)試工程師基于模型對(duì)系統(tǒng)進(jìn)行測(cè)試。

下面以目前正在實(shí)施的某核安保監(jiān)控系統(tǒng)為例說明MBSE工程實(shí)踐中的建模方法。

3 業(yè)務(wù)建模方法

在系統(tǒng)分析之前,應(yīng)梳理清楚業(yè)務(wù)。這就需要通過業(yè)務(wù)模型對(duì)業(yè)務(wù)進(jìn)行清晰地描述。業(yè)務(wù)模型的構(gòu)成通常如表1所示[2]。

表1 業(yè)務(wù)建模的內(nèi)容

業(yè)務(wù)建模目前可以采用BPMN進(jìn)行工作流建模,但是對(duì)于如上的完整業(yè)務(wù)模型并沒有對(duì)應(yīng)的建模規(guī)范。而對(duì)業(yè)務(wù)模型的構(gòu)成和現(xiàn)有的建模規(guī)范進(jìn)行對(duì)比,可以看到UML具有描述業(yè)務(wù)模型的所有基本形式。所以可以對(duì)UML進(jìn)行擴(kuò)展,建立業(yè)務(wù)建模語(yǔ)言。

■3.1 業(yè)務(wù)域建模

業(yè)務(wù)域是指一個(gè)業(yè)務(wù)的問題空間,是邏輯層次的,其中含有業(yè)務(wù)人員、業(yè)務(wù)對(duì)象、系統(tǒng)。業(yè)務(wù)域的含義和UML包圖中的包含義一致,所以可以用包圖建模業(yè)務(wù)域。圖3是核安保系統(tǒng)的業(yè)務(wù)域模型。

圖3 業(yè)務(wù)域模型(UML包圖)

■3.2 業(yè)務(wù)角色和業(yè)務(wù)服務(wù)建模

每個(gè)業(yè)務(wù)域都存在業(yè)務(wù)角色和業(yè)務(wù)服務(wù)。業(yè)務(wù)角色就是對(duì)業(yè)務(wù)中的人的抽象,可以采用UML中用例圖中的Actor,Actor就是主要用于描述角色的抽象。業(yè)務(wù)服務(wù)本質(zhì)上是一種行為,所以可以采用UML的活動(dòng)圖中的Activity來描述。這樣,核安保系統(tǒng)的《業(yè)務(wù)域:訪客服務(wù)》的業(yè)務(wù)服務(wù)的模型可以描述如圖4所示。

圖4 訪客服務(wù)的業(yè)務(wù)流程(UML活動(dòng)圖)

■3.3 業(yè)務(wù)流程建模

業(yè)務(wù)服務(wù)通過業(yè)務(wù)流程來實(shí)現(xiàn),業(yè)務(wù)流程的建模要體現(xiàn)出:執(zhí)行者、活動(dòng)、活動(dòng)之間的對(duì)象流[3]。這些要素和UML的活動(dòng)圖的Partition、Activity和Object對(duì)應(yīng)。所以可以采用UML的活動(dòng)圖建模業(yè)務(wù)流程,核安保系統(tǒng)的《業(yè)務(wù)域:訪客服務(wù)》的《業(yè)務(wù)服務(wù):辦理通行卡和使用》對(duì)應(yīng)的業(yè)務(wù)流程圖建模如圖5所示。

圖5 通行卡辦理及使用流程(UML活動(dòng)圖)

4 系統(tǒng)建模方法

在分析了業(yè)務(wù)并建立了相應(yīng)的模型后,就需要對(duì)相應(yīng)的系統(tǒng)建模。系統(tǒng)建模一般需要建模如表2所示[4]。

表2 系統(tǒng)建模的內(nèi)容

系統(tǒng)建模一般采用SysML進(jìn)行,下面以核安保系統(tǒng)為例說明。

■4.1 系統(tǒng)的構(gòu)成建模

定義一個(gè)系統(tǒng)的構(gòu)成,需要二個(gè)視圖:物理視圖和邏輯視圖。物理視圖為客觀存在的對(duì)象及其關(guān)系圖,而邏輯視圖則存在于人的頭腦中,是對(duì)物體、行為、數(shù)據(jù)、關(guān)系進(jìn)行了概念抽象,以便更好地理解系統(tǒng)。對(duì)于整個(gè)系統(tǒng)的理解,常常需要把這兩個(gè)視圖對(duì)照閱讀。這就產(chǎn)生了一種需要—建立能夠同時(shí)描述物理和邏輯的綜合視圖,方法如下:

首先建立物理視圖,描述系統(tǒng)的實(shí)體和關(guān)系;然后建立邏輯視圖,描述事物、行為、關(guān)系等概念。再后建立一個(gè)復(fù)合視圖,把物理元素和概念進(jìn)行關(guān)聯(lián)。物理視圖可以采用SysML的模塊定義圖建模[5],邏輯視圖可以采用UML圖建模。復(fù)合視圖則需要做一些擴(kuò)展:因?yàn)槟K(Block)和類(Class)在外觀上很像,所以對(duì)Block定義了一個(gè)新的構(gòu)造型(Physical Block),并采用了能夠表達(dá)物理特點(diǎn)的長(zhǎng)方體外形,這樣,就可以清晰地區(qū)分出物理模塊和邏輯類之間的外觀。圖6是核安保系統(tǒng)構(gòu)成的復(fù)合視圖[6-7]。

圖6 系統(tǒng)構(gòu)成復(fù)合視圖(SysML的BDD和UML的類圖)

系統(tǒng)構(gòu)成復(fù)合視圖中的元素說明如表3所示。

表3 核安保系統(tǒng)的構(gòu)成的復(fù)合視圖元素說明

■4.2 功能分析與建模

系統(tǒng)的功能可以采用SysML的用例圖建模,每個(gè)Actor代表一個(gè)用戶角色的抽象,每個(gè)Use Case代表一個(gè)用戶使用系統(tǒng)執(zhí)行的功能[8]。應(yīng)建立用例的逐級(jí)分解機(jī)制,頂級(jí)用例也稱為最大整體用例,是指一組完全獨(dú)立的功能,可以進(jìn)一步分解為更小的功能用例;而最小用例是可以獨(dú)立執(zhí)行的最小功能。圖7是核安保系統(tǒng)的保安這個(gè)角色的頂級(jí)用例模型。

圖7 保安的頂級(jí)用例模型(SysML用例圖)

■4.3 子系統(tǒng)分析與建模

系統(tǒng)可以分解為子系統(tǒng),并把功能分配到各個(gè)子系統(tǒng)上,才能夠?qū)ο到y(tǒng)的功能進(jìn)行最終的定義。對(duì)子系統(tǒng)的建模,主要描述其提供的功能。可以采用SysML的模塊定義圖(BDD)進(jìn)行建模。模塊表示子系統(tǒng),屬性(Property)表述子系統(tǒng)具有的功能[9]。圖8是核安保系統(tǒng)的子系統(tǒng)功能定義圖。

圖8 子系統(tǒng)功能分配(SysML模塊定義圖)

■4.4 子系統(tǒng)的接口交互建模

在定義了子系統(tǒng)后,應(yīng)該對(duì)子系統(tǒng)之間的接口進(jìn)行建模,然后對(duì)接口進(jìn)行詳細(xì)描述:接口的歸屬、接口的通信屬性、數(shù)據(jù)流和非功能需求[10]。圖9是描述核安保系統(tǒng)子系統(tǒng)接口的模塊定義圖(BDD)。

圖9 子系統(tǒng)接口圖(SysML模塊定義圖)

而對(duì)于子系統(tǒng)的接口交互,可以采用SysML的順序圖進(jìn)行描述,圖10是核安保系統(tǒng)的接口交互建模示例。

圖1 復(fù)雜系統(tǒng)的MBSE 相關(guān)的模型和建模語(yǔ)言

圖10 子系統(tǒng)接口交互圖(SysML順序圖)

■4.5 非功能需求分析與建模

非功能需求包含兩個(gè)視角:用戶視角和系統(tǒng)視角。非功能需求的分析過程是從用戶視角到系統(tǒng)視角逐步細(xì)化的過程。因?yàn)樯婕?個(gè)視角,所以有必要建立一個(gè)上下文圖:用SysML的用例圖描述用戶視角,用模塊定義圖(BDD)描述系統(tǒng)視角。圖11是核安保系統(tǒng)中門禁控制器的性能上下文圖。

圖11 門禁控制器的性能上下文圖(SysML的用例圖+模塊定義圖)

對(duì)于用戶視角的性能需求,描述如表4所示。

表4 門禁控制器的性能需求

對(duì)于系統(tǒng)視角的性能需求,把用例的場(chǎng)景分解為子系統(tǒng)和設(shè)備的交互過程,可以采用SysML的順序圖建模,圖12是門禁控制的系統(tǒng)性能分析圖。

圖12 門禁控制器的系統(tǒng)性能分析圖(SysML順序圖)

5 軟件設(shè)計(jì)與建模

軟件設(shè)計(jì)的建模包括如下表5所示[11]。

表5 軟件設(shè)計(jì)建模的內(nèi)容

下面以核安保系統(tǒng)為例,說明軟件的建模方法。

■5.1 數(shù)據(jù)設(shè)計(jì)與建模

數(shù)據(jù)設(shè)計(jì)是對(duì)系統(tǒng)使用和存儲(chǔ)的數(shù)據(jù)進(jìn)行定義,這是從概念到邏輯、再到物理的逐步落地的過程,相應(yīng)的數(shù)據(jù)模型包括概念視圖、邏輯視圖和物理視圖。概念視圖只關(guān)注數(shù)據(jù)對(duì)象,不關(guān)注數(shù)據(jù)屬性。邏輯視圖則進(jìn)一步關(guān)注數(shù)據(jù)對(duì)象的屬性,二者都可以采用UML類圖建模[12],圖13是核安保系統(tǒng)的邏輯數(shù)據(jù)模型簡(jiǎn)化示例。

圖13 核安保系統(tǒng)的邏輯數(shù)據(jù)模型—部分(UML類圖)

物理視圖關(guān)注數(shù)據(jù)的存儲(chǔ)空間及其網(wǎng)絡(luò)連接??梢圆捎肬ML的部署圖建模[13],圖14是核安保系統(tǒng)的物理數(shù)據(jù)模型示例。

圖14 核安保系統(tǒng)的數(shù)據(jù)物理模型(UML部署圖)

■5.2 軟件框架結(jié)構(gòu)設(shè)計(jì)與建模

軟件層次框架設(shè)計(jì)的目的是把問題分解為不同的層次,分別進(jìn)行處理,提高開發(fā)的復(fù)用性和效率。

核安保系統(tǒng)的多個(gè)上位機(jī)子系統(tǒng)(監(jiān)控子系統(tǒng),管理子系統(tǒng),服務(wù)子系統(tǒng))具有類似的層次:

應(yīng)用層:為用戶或客戶端提供應(yīng)用功能;

服務(wù)層:為應(yīng)用層提供服務(wù);

業(yè)務(wù)對(duì)象層:提供數(shù)據(jù)對(duì)象及其相關(guān)的數(shù)據(jù)處理;

數(shù)據(jù)資源層:提供數(shù)據(jù)資源及其訪問服務(wù)。

層可以用包建模,其中的邏輯模塊可以采用類建模、實(shí)現(xiàn)模塊可以采用組件建模,所以完整的層次框架視圖需要結(jié)合UML的包圖、類圖和組件圖才能進(jìn)行完整建模[14]。核安保系統(tǒng)的軟件層次模型如圖15所示。

圖15 核安保系統(tǒng)的軟件層次框架視圖(UML包圖+類圖+組件圖)

■5.3 軟件處理邏輯設(shè)計(jì)與建模

對(duì)于軟件處理流程分析的時(shí)候,需要描述清楚:活動(dòng)由誰(shuí)執(zhí)行、活動(dòng)的時(shí)序和數(shù)據(jù)流。采用UML的活動(dòng)圖可以充分地描述以上流程信息[15]。圖16是核安保系統(tǒng)中非常復(fù)雜的一個(gè)功能“進(jìn)門檢查”的處理流程的活動(dòng)圖分解示例。首先是一級(jí)活動(dòng)圖,描述進(jìn)門檢查功能有哪些子系統(tǒng)協(xié)作,分別執(zhí)行什么活動(dòng)、傳遞什么數(shù)據(jù)。

圖16 一級(jí)軟件處理邏輯流程圖(UML活動(dòng)圖)

然后對(duì)于有必要細(xì)化的活動(dòng)可以建立下級(jí)流程描述,編排為可編程的基本處理單元:順序處理、判定分支處理、循環(huán)處理。圖17是“讀卡器檢查”的二級(jí)處理流程描述。

圖17

圖17 二級(jí)軟件處理邏輯流程圖(UML活動(dòng)圖)

6 結(jié)論

MBSE是對(duì)復(fù)雜系統(tǒng)進(jìn)行分析設(shè)計(jì)的有效方法,MBSE的全周期建模涉及業(yè)務(wù)、系統(tǒng)和軟件,需要建立三個(gè)層次建模規(guī)范,各種模型視圖建立映射關(guān)系,模型才能真正成為提高系統(tǒng)分析設(shè)計(jì)能力的載體。本文通過MBSE的業(yè)務(wù)、系統(tǒng)、軟件的建模需要,基于業(yè)界公認(rèn)的建模規(guī)范UML和SysML,給出了業(yè)務(wù)、系統(tǒng)和軟件的建模方法和形式標(biāo)準(zhǔn),并采用核安保系統(tǒng)為例,給出了具體的圖例和建模方法。這些可以為MBSE實(shí)踐者提供有意義的參考。

如上的MBSE建模方法已經(jīng)通過實(shí)際工程項(xiàng)目—核安保系統(tǒng)的實(shí)施進(jìn)行了驗(yàn)證,相關(guān)的工作成果得到了用戶代表和開發(fā)代表的認(rèn)可,一致認(rèn)為提高了分析設(shè)計(jì)的能力和效率。

另外需要注意的是:在各個(gè)行業(yè)領(lǐng)域的建模內(nèi)容會(huì)有所不同,所以本文提出的建模方法還可以結(jié)合具體行業(yè)應(yīng)用的需要進(jìn)一步具體化,使其對(duì)特定的領(lǐng)域更有針對(duì)性,這些工作可以作為后續(xù)研究的內(nèi)容。

猜你喜歡
用例視圖安保
中軍軍弘集團(tuán)秦皇島安保公司 以黨建為統(tǒng)領(lǐng) 打造“軍”字品牌安保企業(yè)
公民與法治(2022年6期)2022-07-26 06:16:42
UML用例模型中依賴關(guān)系的比較與分析
聯(lián)鎖軟件詳細(xì)設(shè)計(jì)的測(cè)試需求分析和用例編寫
從出土文獻(xiàn)用例看王氏父子校讀古書的得失
如何找準(zhǔn)安保與宣傳的平衡點(diǎn)——以G20杭州峰會(huì)安保宣傳為例
5.3 視圖與投影
視圖
Y—20重型運(yùn)輸機(jī)多視圖
SA2型76毫米車載高炮多視圖
“猴”安保
沂水县| 北川| 南通市| 蒙阴县| 枞阳县| 山丹县| 南陵县| 屏山县| 秀山| 怀宁县| 贡嘎县| 剑川县| 车险| 普兰店市| 安宁市| 保亭| 高台县| 汉中市| 湘潭县| 临安市| 营口市| 沧州市| 宜兰市| 兰考县| 盐城市| 探索| 武威市| 阳新县| 玛纳斯县| 沧源| 光山县| 宽甸| 福安市| 榕江县| 北宁市| 信宜市| 当雄县| 嘉峪关市| 隆子县| 利川市| 炎陵县|