【摘 要】DOORS軟件在國際上飛機制造業有著廣泛的應用,但在國內的應用卻一直不夠深入.本文利用DOORS工具對民用客機研制過程中產生的需求信息進行管理,對重構需求文檔、建立需求數據庫、建立需求跟蹤關系進行了詳細的描述,突出了DOORS軟件全方位的需求管理功能。
【關鍵詞】需求;需求管理
0.引言
隨著高速變化的技術和日益激烈的競爭,人們越來越認識到需求對于項目的成功與否起著至關重要的作用,Standish 集團的分析顯示,一半以上的項目失敗原因是與需求相關的,所以好的需求管理是促使項目成功、降低失敗風險的關鍵。傳統的基于文檔存儲需求的方式有著很多的限制,而自動化的需求管理工具極大地提高了人們的工作效率,并且使需求管理過程更加規范化和精確化。目前,市場上已存在許多商業需求管理工具,DOORS軟件作為跨平臺、企業級的需求管理工具,用于收集、連接、追溯、分析和管理各類信息,來確保產品符合要求,改變了原先基于文檔存儲式的需求管理模式。DOORS軟件最初是建立在歐洲航天局軟件工程標準(ESA的PSS-05)的框架之上的,現在國際上飛機制造界被廣泛的使用。
1.重構需求文檔
1.1需求文檔結構
合適的需求結構是書寫有用需求的第一步,也是在DOORS中建立需求數據庫的基礎。在沒有引入需求管理工具之前,需求信息以WORD、Excel或其他形式(如pdf格式)存儲在各自的計算機中。利用DOORS工具將這些信息導入到需求數據庫中時,需對信息做結構化處理,使得需求文檔的文體、樣式、結構都是正確的。確定需求文檔結構的一種方式是使用通過標題結構能夠對需求語句編目的節。需求語句在文檔中的位置代表其一級分類。重構過的需求信息進入DOORS后,既讓用戶通過全文的閱讀以了解需求的上下文關系,也可以讓用戶在需求條目的基礎上進行需求的分析、確認、評審、跟蹤和驗證工作。
1.2需求語言
使用一致的需求語言可以幫助標志不同類型的需求,例如使用“將”、“應該”和“可能”表示需求的不同優先級。需求所使用的語言隨著表達需求層次的不同而不同。通常需求書寫應包含如下:
A.每個需求包含主語和謂語,主語是用戶或系統,謂語是條件、動作和期望的結果。比如:<飛機/系統/子系統/設備等>應該能夠<功能>。
注意助動詞的使用:(1)“將要,” “將,”或 “必須” 等詞表示強制特征;(2)“也許” 或 “可能” 等詞表示可選特征。
B.包含一個需求是否被滿足的判斷標準或其它可度量質量的指標。
除了需求語言之外,需求語句還應該滿足一些準則:(1)原子性:每個語句攜帶單個可跟蹤元素;(2)惟一性:每個語句可以被惟一地標識;(3)可行性:在成本和進度限度內,在技術上是可行的;(4)合法性:在法律上是可行的;(5)清晰性:每個語句被清晰地理解;(6)準確性:每個語句是可準確檢驗的、精確地;(7)可檢驗性:每個語句是可檢驗的、并知道如何檢驗的。
1.3需求屬性
每個需求除了文本描述,還會有一些與之相關的附加信息稱為屬性,如解釋、需求來源、需求的變化歷史、需求狀態、需求類型和其他相關信息。屬性可能系統定義的,也可能是用戶定義的。一般分為標識、本質特征、優先級與重要性、來源與擁有關系、背景、檢驗與確認、過程支持、詳細描述等等。有些屬性是自動確定的,例如日期、數字;有些是用戶需要而提供的,例如優先級;有些屬性是標志的,例如可檢查性。
在需求數據庫中除了系統屬性外,還可以設置4種最基本的屬性,以后將根據需要進行添加。這4種最基本的屬性包括:(1)對象類型/Object Type,枚舉型(標題、需求、其他信息);(2)狀態/Status,枚舉型(草稿、已評審、已批準、已否決);(3)理由/Rationale,文本型,羅列編寫該條目的考慮和限制;(4)注釋/Comments,文本型,其他所需信息。
2.建立需求數據庫
需求數據庫從形式上看,包括需求文件體系、需求模塊和需求條目。根據ARP4754的定義,需求是產品功能規范的可被識別的部分。建立合適的需求數據庫使需求的信息遺漏和冗余具有更好地可管理性,有助于規范需求管理過程,提高可操作性。
對于任何系統來說,需求和相關信息都可以存儲在DOORS的中心數據庫。DOORS使用需求屬性、鏈接、基線等來對需求文檔進行存儲和管理,解決了傳統基于手動的需求管理過程帶來的諸多弊端。
2.1 需求文檔的數據庫結構
在DOORS中,數據庫結構是一種樹型結構,體現了產品的需求細化和需求變更等需求管理過程。 他包括文件夾、項目、模塊、對象屬性、鏈接、基線等元素。需求信息存儲在模塊中,通過文件夾和項目在數據庫中組織模塊。文件夾用于存儲具體的數據,可以包含其他文件夾、項目或模塊;項目中包含有系統開發項目的需求、設計、開發、測試、生產和維護有關的所有數據;模塊主要有正式模塊、描述模塊和鏈接模塊三種類型的模塊;正式模塊中規范的每一條記錄都定義為一個對象;如圖1所示。
2.2需求信息在DOORS中的實現
將飛機研制過程中產生的主要需求信息都放到DOORS數據庫里,對于那些與需求相關的文檔,比如行業標準,設計元素,和分析報告以及測試報告,使用DOORS的外部鏈接關聯到這些次要的需求信息,這樣可以改進數據庫處理需求相關能力的效率,但是也需要在需求文檔的數據結構體現。
3.建立需求跟蹤關系
需求跟蹤就是記錄和理解怎樣把高層需求,即目標、期望、需求等,如何轉換為下層的需求信息及其項目中的其他由需求驅動而來的產出物,主要關注各個信息之間的關系。他可以檢查民用客機研制過程中需求的實現過程,找出需求與設計、需求和驗證之間的映射關系,在不同類型的需求之間建立關聯,一旦其中的某些需求發生變化,可以準確地進行變更的影響分析,實現民用客機項目整個生命周期的可追溯性。
3.1需求跟蹤分析方法
通過對需求的影響分析,對需求覆蓋率進行分析,以及根據不同需求的導出情況,在不同的需求之間建立跟蹤關系在是以需求與測試之間的關系為基礎的,更方便實現需求與測試之間的追蹤以及需求之間的跟蹤。
影響分析可用于確定開發過程中哪些工作產品受到影響,如果存在影響的話,設計人員必須進行分析以確定影響的確切性質。
來源分析與影響分析的相反。當選擇了下層的工作產品,例如需求、設計單元或測試,使用可跟蹤性鏈可以確定這些下層工作產品的高層需求是什么。不能進行這樣反向鏈接的設計單元有可能只會增加成本而不產生任何效益。
覆蓋率分析可以用來確定所有需求都可以跟蹤到下層并與測試相連,覆蓋率分析可以用來度量進展。
3.2需求跟蹤矩陣
需求跟蹤矩陣是表示需求和別的系統元素之間的一種聯系鏈。實現需求跟蹤矩陣的最簡單的方法,是將一層中的需求語句與另一層下層需求關聯,關聯的標記類似Web頁面的超鏈接,能夠雙向傳導,利用需求管理工具可直接基于需求文檔的需求條目通過拖放的方式建立,通過關聯標識指明需求跟蹤的方向。
DOORS中兩個需求之間的關聯是通過一個鏈接建立的,源對象是一個鏈接的起點,目標對象是一個鏈接的終點;鏈接建立后,源和目標可以相互索引和訪問;同時,可支持多對多的關聯。圖3顯示的是需求之間的跟蹤矩陣,在跟蹤矩陣中,用戶很容易的就可以看到需求之間以及需求與設計之間的跟蹤關系。
4.結束語
通過應用DOORS需求管理工具對民用客機項目研制過程中產生的需求信息進行結構化管理,并建立需求的跟蹤關系,保證需求在其演化的整個過程是保持一致的。但工具本身只是實現了需求管理的自動化,我們還需要借助系統工程的管理方法和流程制度,才能充分發揮需求管理工具的作用,并最終保證項目的成功。 [科]
【參考文獻】
[1]M.ELIZABETH C.HULL.需求工程[M].北京:清華大學出版社,2003.