目錄
需求(Requirement)
需求關(guān)系
需求圖
建模過程中的需求分析工作
需求跟蹤和需求覆蓋分析
需求(Requirement)
????????需求(Requirement)是一個系統(tǒng)必須或應(yīng)該滿足的能力或條件。當(dāng)設(shè)計一個產(chǎn)品的時候,最初產(chǎn)生的設(shè)計概念或要求都是用文字描述和交流的。這些文字化描述的需求最終需要落實(shí)到每個設(shè)計細(xì)節(jié)。SysML通過建立文字化的需求元素,以及這些需求元素和系統(tǒng)中其它設(shè)計元素(表示功能的行為、表示架構(gòu)的模塊等)的關(guān)系,以實(shí)現(xiàn)設(shè)計過程對中文字化需求的跟蹤分析。這種跟蹤分析的工作包括需求實(shí)現(xiàn)情況的分析(需求覆蓋分析)、變動之后對設(shè)計的影響分析(需求變更分析)等等。
????????根據(jù)需求說明的對象不同,需求分為“利益相關(guān)者需求”和“系統(tǒng)需求”?!袄嫦嚓P(guān)者需求”是反映利益相關(guān)者需要的表述,是從用戶或其它使用系統(tǒng)的相關(guān)人員(包括維護(hù)人員、市場人員等)的角度,系統(tǒng)應(yīng)該向他們提供什么?!跋到y(tǒng)需求”是系統(tǒng)將要做什么以及必須做到什么程度的表述,是從實(shí)現(xiàn)的角度,主要講給內(nèi)部設(shè)計人員的。需求分析的過程,是先有利益相關(guān)者需求,然后經(jīng)過分析、總結(jié),才產(chǎn)生系統(tǒng)需求。
????????SysML標(biāo)準(zhǔn)附錄中對需求的類型進(jìn)行了擴(kuò)展,五種擴(kuò)展需求的說明如下:
功能需求:代表對系統(tǒng)的功能要求,它將被一個“行為”(如“活動”Activity))滿足或改善(Refine,表示更詳細(xì)的說明)。
性能需求:表示系統(tǒng)或系統(tǒng)中的部件的能力應(yīng)該達(dá)到的定量要求。通常用一個約束來更具體的說明(改善),被一個表示系統(tǒng)或部件能力的值屬性來滿足。
物理需求:表示系統(tǒng)或部件的物理特征或物理約束,被一個表示具體結(jié)構(gòu)的元素來滿足。
接口需求:表示對系統(tǒng)或系統(tǒng)部件的端口的要求,被一個端口、連接器、項(xiàng)目流或約束屬性滿足。
設(shè)計約束:它表示對系統(tǒng)或系統(tǒng)中的部件給出的一個約束,例如“系統(tǒng)中的某類部件必須使用商業(yè)貨架產(chǎn)品”,被一個具體的模塊或部件滿足。
???????? 上面所說的關(guān)系可以通過下面一個需求圖來說明:
需求關(guān)系
????????如上所述,為了實(shí)現(xiàn)需求跟蹤和分析,SysML中定義了6種需求關(guān)系。
跟蹤關(guān)系:用于建立一種可追蹤的需求路徑,可以被后面這幾種更具體的需求關(guān)系代替(其它需求關(guān)系是從跟蹤關(guān)系繼承的)。
復(fù)制關(guān)系:從需求文本總是和主需求文本相同。這個關(guān)系用于同一個需求說明在不同的需求層級被重復(fù)使用的情況。從需求不用輸入文本,它總是會和主需求的說明保持一致。
導(dǎo)出需求關(guān)系:導(dǎo)出的需求來源于被導(dǎo)出需求。一般用于建立“系統(tǒng)需求”和“利益相關(guān)者需求”之間的關(guān)系(請注意:這個關(guān)系應(yīng)該是從“系統(tǒng)需求”指向“利益相關(guān)者需求”,就是箭頭端是在后者,它表示“系統(tǒng)需求”是從“利益相關(guān)者需求”導(dǎo)出的。一些資料中將“導(dǎo)出需求”關(guān)系翻譯為“繼承”或“派生”都是錯誤的?!袄^承”或“派生”都是子類自動具有父類的所有特征,而導(dǎo)出需求關(guān)系只是表示導(dǎo)出的需求和來源需求之間有一個“推導(dǎo)”的關(guān)系,兩者的描述內(nèi)容可能是差距很大的)。
改善關(guān)系:用一種更具體、更詳細(xì)的方式說明了被改善的需求。例如用一個用例、用例的活動場景來改善一個需求的說明。
滿足關(guān)系:建立具體的設(shè)計元素實(shí)現(xiàn)了一個需求的關(guān)系。
驗(yàn)證關(guān)系:建立測試方法和需求之間的驗(yàn)證關(guān)系。測試方法在模型中一般是一個活動或其它的行為,SysML中建立了一種構(gòu)造型“測試用例”來標(biāo)記這些專門用于驗(yàn)證需求的行為(測試用例不是“用例”,而是具體的行為)。
下面這個模型圖中舉出上面所述的各種關(guān)系:
需求圖
????????需求圖是展示需求元素的圖。需求圖的代表元素一般是一個包,需求圖中頂層的需求元素屬于這個包。在需求圖中最常見的表示方法是用需求包含關(guān)系把各層需求連接成一棵樹。包含關(guān)系表示需求的分解關(guān)系。把一個需求逐步分解為更細(xì)、更具體的需求項(xiàng)目,也是需求分析的常規(guī)工作。進(jìn)行需求覆蓋分析的時候,如果是按組進(jìn)行統(tǒng)計,則下層子需求全部滿足了,上層需求就認(rèn)為也滿足了;如果是按“獨(dú)立”的統(tǒng)計方式,則不考慮上下層需求之間的包含關(guān)系。在需求圖中也可以顯示其它元素,然后用其它6種關(guān)系把這個元素和需求連起來。但為了更方便的建立需求和其它元素的關(guān)系,軟件工具中一般用“矩陣”表格的方式建立和顯示需求和其它元素的關(guān)系。
????????下圖是一個表示需求分解的需求圖。
???????? 除了用圖,軟件工具中也經(jīng)常提供表格的方式來顯示和管理需求。表格一般也展示為一棵樹的形式。如下所示上面需求的表格表示方式。
???????? 在需求表格中,還會有需求導(dǎo)入、導(dǎo)出的功能,可以和其它系統(tǒng)進(jìn)行需求數(shù)據(jù)的交換。
建模過程中的需求分析工作
????????在MBSE建模工作中,有多個工作階段涉及需求。系統(tǒng)建模的開始工作,就是從建立利益相關(guān)者需求。經(jīng)過用例分析、功能分析,進(jìn)一步總結(jié)出系統(tǒng)需求。再經(jīng)過系統(tǒng)架構(gòu)分析,最終形成能夠作為機(jī)械結(jié)構(gòu)或電子電路設(shè)計輸入的物理需求。
(1)建立利益相關(guān)者需求。利益相關(guān)者需求可能來源于市場調(diào)研、參考已有系統(tǒng)、用戶的意見、合同中規(guī)定的研制要求、售后產(chǎn)品故障維修記錄等。利益相關(guān)者需求也可能是在一個專用的需求管理系統(tǒng)中已存在,導(dǎo)入到我們系統(tǒng)工程建模軟件中即可。而且,這些需求也未必是一開始就非常全面和完備的。我們進(jìn)行需求分析的過程,也是不斷補(bǔ)充、完善需求的過程。甚至一開始我們連一條需求都沒有,通過后面用例分析才抽出來利益相關(guān)者需求也是正常的過程。
(2)建立用例。我們通過上一個文章已經(jīng)了解到,用例是進(jìn)行需求分析的重要工具。利益相關(guān)者需求和用例是“多對一”的關(guān)系,就是一個用例可以和多個利益相關(guān)者需求建立關(guān)系??梢杂谩案櫋标P(guān)系、“改善”關(guān)系,或者“分配”關(guān)系建立利益相關(guān)者需求和用例之間的關(guān)系。不建立用例和需求的關(guān)系、直接建立用例的行為和需求的關(guān)系也可以,這個和使用的方法論有關(guān)。
(3)建立用例的活動場景,開展系統(tǒng)功能分析。用活動圖建立用例的活動場景,分析功能性的需求必要性和充分性。在這個過程中如果發(fā)現(xiàn)新的功能需求,補(bǔ)充到利益相關(guān)需求。同時,這個過程又是抽取系統(tǒng)需求的過程,就是分析以滿足利益相關(guān)者需求為目的,系統(tǒng)應(yīng)該提供什么功能需求。
(4)建立系統(tǒng)需求。從如何實(shí)現(xiàn)、滿足利益相關(guān)者需求的角度,結(jié)合用例的活動場景分析,抽出系統(tǒng)需求條目。系統(tǒng)需求是否是可行的、充分的,也是需要在后面的架構(gòu)設(shè)計過程中不斷完善。在整個模型中,需求應(yīng)該和滿足需求的設(shè)計要素一一對應(yīng)。
(5)建立滿足系統(tǒng)需求的架構(gòu)模型。
(6)提取進(jìn)行機(jī)械結(jié)構(gòu)、電子電路、工藝或嵌入式軟件設(shè)計的物理需求。
????????從利益相關(guān)者需求到建立系統(tǒng)需求、物理需求,整個系統(tǒng)建模過程都是一個需求不斷更具體、更細(xì)化的過程。通過系統(tǒng)架構(gòu)的設(shè)計分析,系統(tǒng)性能參數(shù)的分配和分析,逐步生成子系統(tǒng)的需求,以及開展機(jī)械結(jié)構(gòu)設(shè)計、電子電路設(shè)計的物理需求。
需求跟蹤和需求覆蓋分析
????????在整個系統(tǒng)建模過程中,通過建立需求和需求、需求和其它設(shè)計元素之間的關(guān)系,可以跟蹤需求變動對設(shè)計的影響,統(tǒng)計建模工作的完成度。
????????例如利益相關(guān)者需求到功能分析的關(guān)系,通過一個需求改善關(guān)系矩陣,設(shè)置用例行為分析中的“活動”對利益相關(guān)者需求中“功能需求”改善關(guān)系,如下圖所示:
???????? 利益相關(guān)者需求改善關(guān)系的覆蓋分析,按組統(tǒng)計,結(jié)果是66.66%,如下所示:
???????? 查看沒有被改善的需求項(xiàng),可以看到,是“自主行走”需求沒有進(jìn)行用例及功能分析,沒有改善關(guān)系。因?yàn)槭恰鞍唇M”統(tǒng)計,“總需求”下面如果有一個子需求沒有被改善,就認(rèn)為它也沒有被改善。需求數(shù)量的統(tǒng)計,是包括最上層的“總需求”,所以總數(shù)是6個,2個沒有改善,總的改善率是“66.66%”。
MBSE建模學(xué)習(xí)之七:用例和用例圖的說明
MBSE建模學(xué)習(xí)之六:狀態(tài)機(jī)和狀態(tài)機(jī)圖
MBSE建模學(xué)習(xí)之五:交互和序列圖
MBSE建模學(xué)習(xí)之四:活動(Activity)及活動圖
MBSE建模學(xué)習(xí)之三:系統(tǒng)功能--行為(Behavior)的說明
MBSE建模學(xué)習(xí)之二:+-#~/^*都啥意思?詳細(xì)說說屬性
MBSE建模學(xué)習(xí)之一:說說模塊(Block)文章來源:http://www.zghlxwxcb.cn/news/detail-465894.html
基于模型的系統(tǒng)工程(MBSE)是什么?有什么用?怎么學(xué)習(xí)?文章來源地址http://www.zghlxwxcb.cn/news/detail-465894.html
到了這里,關(guān)于MBSE建模學(xué)習(xí)之八:需求和需求圖的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!