鄧林,鄧明
基于系統(tǒng)工程過程論驗證和確認
鄧林,鄧明
(中國電子科技集團公司第二十九研究所,成都 610036)
為了解析工程過程驗證和確認之間的關系,明確兩者的作用和方法。對兩個概念的形成溯源、異同比較、關系分析、方法應用等角度展開分析和論述。驗證和確認是系統(tǒng)工程過程中非常重要的兩個技術過程,兩個過程中的若干活動的方法比較相似,甚至相同,容易引起混淆。分析結果表明,兩者目的不同,方法相似。驗證(Verification)和確認(Validation)是系統(tǒng)工程的技術過程中非常重要的兩個子過程,是整體過程中的不可缺少的兩個環(huán)節(jié),區(qū)別在于驗證過程是確定設計過程和結果是正確的,確認過程則是確定所設計的對象是正確的,是符合利益相關方需求的。
系統(tǒng)工程;驗證;確認
驗證和確認是系統(tǒng)工程過程中非常重要的兩個技術過程,由于兩個過程中若干活動的方法比較相似,甚至相同。因而,我們對這兩個不同目的過程的概念和應用上存在不少困惑。如術語如何形成的,術語概念的異同是什么,驗證和確認之間的關系是什么,什么時機運用驗證或者確認,驗證和確認過程有哪些活動。
由于不同標準對這兩個術語定義不盡相同,如國際標準化組織ISO、美國民用航空航天局NASA、美國國防部DOD、國際系統(tǒng)工程學會INCOSE。因此,更有必要理清它們之間的關系已便于合理應用。
由于這兩個詞是由西方語系英語翻譯過來的詞,因此要搞清其本質,須從詞源角度先看看這兩個詞的本意是什么。
驗證(Verification):牛津英語(Oxford)給出解釋為,名詞,詞起源于古法國16世紀早期,來源于拉丁文,從動詞verificare(verify),從“真實”。意為確定某物的真實性、準確性或有效性的過程。詞義落腳點在過程(process)。標準(3.8.12,ISO 9000:2015(E))給出的解答是,通過提供客觀證據(jù)(可以用觀察、演示、測試、試驗和分析等方法獲得證據(jù))證實規(guī)定的要求已經實現(xiàn)[1]。
確認(Validation):牛津英語(Oxford)給出解釋為,名詞,詞形成于17世紀中期,有律例或法律上“有效”的意義,來源于16世紀晚期的拉丁文動詞的validus(valid),從“有效”。意為檢查或證明某物有效性或準確性的措施;或在法律或官方上做出可以接受決策的措施。詞義落腳點在措施(action)。標準(3.8.13,ISO 9000:2015(E))給出的解答是,通過提供客觀證據(jù),證實預期的使用和應用要求已經實現(xiàn)[2]。
從標準上來看,驗證是證實規(guī)定的要求已被實現(xiàn),確認是證實預期的使用和應用要求已被實現(xiàn),雖然同是證實要求已被實現(xiàn),但驗證的對象是規(guī)定的要求,而確認的對象則是預期的使用和應用要求。這是兩個概念相近,但對象不同,具有差異性的術語,易引起混淆。在特定領域,為易于理解,其術語定義還被細化,如ANSI/GEIA-STD-0009給出了特定的驗證(Verification)術語定義:通過提供和檢查客觀證據(jù),證實最終產品(被設計、編碼或組裝而成的產品)的規(guī)定要求已經實現(xiàn)[3]。
查閱文獻后發(fā)現(xiàn),在管理體系過程和系統(tǒng)工程過程中,驗證和確認還是兩個非常重要的過程,如ISO/IEC/IEEE 15288:2015(E) 系統(tǒng)和軟件工程-系統(tǒng)的生命周期過程,其中將驗證過程和確認過程作為其四大過程之一,技術過程14個子過程中的兩個重要技術過程。分別是6.4.9驗證和6.4.11確認,并進行了標準化的描述[4],很值得學習。國際系統(tǒng)工程學會2015年發(fā)布的第4版系統(tǒng)工程師手冊(INCOSE-TP- 2003-002-04)同樣將驗證(4.9)和確認(4.11)放入技術過程中進行了詳細的說明[5]。
對于這些概念,應注意廣泛查閱相關資料中的異同點,以助于學習、理解、掌握這些概念。綜合各方論述,建議參考國際標準化組織ISO/IEC/IEEE 15288: 2015(E),對驗證過程和確認過程的目的說明,有助于我們理解這兩個術語概念。
標準對于驗證過程的目的描述如下:驗證過程的目的是提供客觀證據(jù),證明系統(tǒng)或系統(tǒng)要素符合其規(guī)定的要求和規(guī)格。驗證過程使用適當?shù)姆椒ā⒓夹g、標準或規(guī)則,來識別已實現(xiàn)系統(tǒng)或生命周期過程中與描述信息項(如系統(tǒng)要求或體系結構描述)不一致的各種異常(包括錯誤、缺陷和故障)。這一過程為識別異常的判別準確度提供了必要的信息。驗證過程是確定“產品設計正確”,確認過程則是確定“設計的產品正確,是所需的”[4]。
標準對于確認過程的目的描述如下:確認過程的目的是提供客觀證據(jù),證明系統(tǒng)在預期的工作環(huán)境中,以及預期的使用條件下,實現(xiàn)其業(yè)務或任務目標以及相關方(也稱為利益相關方,指有權、利益、投資,可影響系統(tǒng)涉及開發(fā)決策或活動的個人或組織)的相關要求,以及達成其預期的使用用途。進行系統(tǒng)或系統(tǒng)要素確認的目標,是在特定的工作條件下,取得系統(tǒng)或系統(tǒng)要素實現(xiàn)其預期任務或使用能力的置信度。確認結果是由相關方批準認可的。這一過程為針對引入異常的過程點,利用適宜的技術過程解決各種識別出的異常,提供了必要的信息。確認也適用于系統(tǒng)定義和實現(xiàn)過程中產出的工程工件(可視其為系統(tǒng)元素)[4]。
通過以上解析,大致可以得出這兩者概念的異同。相同的是兩者都是證實要求已被實現(xiàn),不同的是驗證用于證實事做對了,確認則用于證實相關方的錢花沒有白花,東西做正確了,所得即所需。
要了解這兩個過程之間的關系,首先需要去了解系統(tǒng)工程技術過程中,這兩個過程是什么,做什么。
對于一個成功的驗證過程,標準認為有以下幾個衡量標準:影響需求、架構和設計的驗證限制條件已被識別;所有驗證所需的支持系統(tǒng)或配套設施是有效的;系統(tǒng)和系統(tǒng)元素已得到驗證;糾正措施所需的,由數(shù)據(jù)歸納出的信息,已得到報告或記錄;已實現(xiàn)系統(tǒng)符合需求、架構和設計的客觀證據(jù)已提供;驗證結論和各類異常(錯誤、缺陷和故障)已被識別;各類已驗證系統(tǒng)元素的可追溯性已被建立。
標準認為,一個成功的確認過程應有如下衡量標準:相關方的需求確認標準已定義;相關方要求的可用服務/功能已確定;影響需求、架構、設計確認的限制已識別;系統(tǒng)或系統(tǒng)元素已得到確認;所有確認所需的支持系統(tǒng)或配套設施是有效的;確認結論和各類異常(錯誤、缺陷和故障)已被識別;已實現(xiàn)的系統(tǒng)或系統(tǒng)元素符合相關方要求的客觀證據(jù)已提供;各類已確認系統(tǒng)元素的可追溯性已被建立。
綜合上述描述可以看出,對同一系統(tǒng)或系統(tǒng)元素對象而言,驗證應在確認之前。驗證是證實對象的形成過程是對的,結果是符合設計規(guī)格和要求的。確認則是證實已形成的結果在預期的使用條件和預期使用環(huán)境中,能夠實現(xiàn)相關方對其的預期應用和任務能力要求,且經過相關方的認可批準??梢哉f,二者過程之間,活動和方法相近,目的不同。
運用時機方面,對同一系統(tǒng)或系統(tǒng)元素對象,驗證在其實現(xiàn)過程中,需要對過程和過程的輸出實施驗證,以證實做對了。確認則是在其實現(xiàn)之后,運用特定方法對其實施結果進行確認,以證實做正確了且符合相關方的需求,如圖1所示。
圖1 驗證與確認的時機
從多份參考資料中可以看出,驗證過程和確認過程非常相似,就像同一工具使用在不同對象上一樣,目的雖不同,方法卻一致。
標準對驗證過程活動描述為:驗證策略通常會基于成本、進度、風險三個維度,權衡出最小化代價的方案,用以證實系統(tǒng)或系統(tǒng)元素已符合設計要求。驗證過程分為3個子過程[4]。
1)驗證準備,包含7個活動。分別是識別驗證范圍和相應的驗證措施;識別可能限制驗證措施可行性的各類約束條件;為每一個驗證措施,選擇適宜的驗證方法、技術,以及相應的標準;定義驗證策略;在驗證策略中,識別系統(tǒng)約束,并納入到系統(tǒng)需求、架構、設計規(guī)格要求中;識別并策劃所有驗證所需的支持系統(tǒng)或配套設施;獲得或獲取這些支持系統(tǒng)或配套設施的使用或訪問權限,用于實施驗證活動。
2)驗證實施,包含兩個活動。分別是定義驗證活動程序,每個程序支持一個或一組驗證措施;執(zhí)行驗證程序。
3)驗證結果管理,包含5個活動。分別是記錄驗證結果以及所遇到的任何異常;記錄操作過程中的失效事件和問題,并跟蹤其解決過程形成的各類決議;獲取有關系統(tǒng)或系統(tǒng)元素滿足特定要求的利益相關方協(xié)議;維護已驗證系統(tǒng)元素之間的可追蹤性;對各類已選定為基線的,提供驗證的關鍵信息項。
與驗證過程相似,確認過程也分為3個子過程[4]。
1)確認準備,包含7個活動。分別是識別確認范圍和相應的確認措施;識別可能限制確認措施可行性的各類約束條件;為每一個確認措施選擇適宜的確認方法、技術,以及相應的標準;定義確認策略;在確認策略中,識別系統(tǒng)約束,并納入到利益相關者要求中;識別并策劃所有確認所需的支持系統(tǒng)或配套設施;獲得或獲取這些支持系統(tǒng)或配套設施的使用或訪問權限,用于實施確認活動。
2)確認實施,包含3個活動。分別是定義確認活動程序,每個程序支持一個或一組驗證措施;在指定的環(huán)境中,執(zhí)行確認程序;評審確認過程給出的結論,用以確定利益相關方所提出的系統(tǒng)各種功能使用要求是已實現(xiàn)且可用的。
3)確認結果管理,包含5個活動。分別是記錄確認結果以及所遇到的任何異常;記錄操作過程中的失效事件和問題,并跟蹤其解決過程形成的各類決議;獲取有關系統(tǒng)或系統(tǒng)元素滿足特定要求的利益相關方協(xié)議;維護已確認系統(tǒng)元素之間的可追蹤性;對各類已選定為基線的,提供確認的關鍵信息項。
以上驗證和確認過程中的子過程和各子過程中的活動非常相似,但目的不同。特別是兩個過程的實施過程,驗證強調的是可執(zhí)行性,確認則是強調評審驗證結論,用以證實已實現(xiàn)系統(tǒng)滿足利益相關方最初提出的使用和應用需求。
驗證和確認是系統(tǒng)工程的技術過程中非常重要的兩個子過程[6],是整體過程中不可缺少的兩個環(huán)節(jié),驗證過程用以確保技術實現(xiàn)過程的正確性,避免或消除出現(xiàn)局部與整體之間的偏差。通過驗證過程,可以有效地降低系統(tǒng)實現(xiàn)過程中的過程或技術來帶的偏差和異常風險。確認過程則是確保已實現(xiàn)系統(tǒng)或系統(tǒng)元素是正確的,是符合利益相關方最初提出的系統(tǒng)或系統(tǒng)元素的開發(fā)需求,即得到的結果對于利益相關方來講,是正確的。也可以反過來理解,設計過程和結果雖正確,但不一定是利益相關方想要的。
歸納為一句話:驗證過程是確定設計過程和結果是正確的,確認過程則是確定設計的對象是正確的,是滿足利益相關方需求的。
[1] ISO 9000, Quality Management Systems—Fundamen- tals and Vocabulary[S].
[2] ISO 9000—2015, Quality Management Systems—Fun- damentals and Vocabulary[S].
[3] ANSI/GEIA-STD-0009, Reliability Program Standard for Systems Design, Development, and Manufacturing[S].
[4] ISO/IEC/IEEE 15288, Systems and software engineering—System life cycle processes[S].
[5] INCOSE-TP-2003-002-04, Systems Engineering Handbook, a Guide for System Life Cycle Processes and Activities[S].
[6] NASA/SP-2016-6105 Rev2, NASA Systems Engineering Handbook[S].
Verification and Validation Based on System Engineering Process Theory
DENG Lin, DENG Ming
(The 29th Research Institute of China Electronics Technology Group Corporation, Chengdu 610036, China)
To analyze the relationship between verification and validation of engineering processes and clarify the roles and methods of both, this paper analyzed and discussed the two concepts from traceability, similarities and differences, relationship analysis, method application, etc. Verification and validation are two important technical processes in system engineering. Methods of several activities in two processes are similar, even the same, and confusing. The results show that their purposes were different, while their methods were similar. Verification and validation are two very important sub-processes in technical process of system engineering. They are essential for the integral process. Their difference is that: the verification process is to determine the design process and the results are correct, the confirmation process is to determine the design of the object is correct. They are in line with the needs of stakeholders.
system engineering; verification; validation
10.7643/ issn.1672-9242.2017.11.005
TJ01;TB21
A
1672-9242(2017)11-0027-03
2017-07-11;
2017-08-26
鄧林(1972—),男,四川遂寧人,高級工程師,主要研究方向為環(huán)境可靠性工程/質量工程技術。