伍慶龍 張?zhí)鞆?qiáng) 楊鈁
(中國(guó)第一汽車股份有限公司 新能源開(kāi)發(fā)院,長(zhǎng)春 130013)
主題詞:DOORS 動(dòng)力系統(tǒng) 需求開(kāi)發(fā) 需求管理
研究表明,大量的產(chǎn)品及軟件開(kāi)發(fā)項(xiàng)目失敗是由于需求問(wèn)題導(dǎo)致的,需求在項(xiàng)目成敗中所起的作用越來(lái)越重要,并引起了廣泛的關(guān)注[1]。隨著對(duì)項(xiàng)目開(kāi)發(fā)中需求問(wèn)題的不斷深入研究,以及為了滿足實(shí)際用戶需求,對(duì)產(chǎn)品需求開(kāi)發(fā)的可靠性和有效性提出了更高的要求[2]。近年來(lái)隨著國(guó)家新能源汽車行業(yè)戰(zhàn)略地位的不斷提升,電動(dòng)汽車的研發(fā)受到了越來(lái)越多汽車產(chǎn)商的重視[3],其系統(tǒng)需求開(kāi)發(fā)也成為了核心關(guān)注問(wèn)題。需求開(kāi)發(fā)及管理貫穿于整個(gè)產(chǎn)品項(xiàng)目開(kāi)發(fā)的過(guò)程中,而需求開(kāi)發(fā)及管理可以借助專用的軟件工具,達(dá)到自動(dòng)化管理的效果。本文探討了基于DOORS軟件的需求開(kāi)發(fā)及管理,以某汽車項(xiàng)目為開(kāi)發(fā)平臺(tái),建立了動(dòng)力系統(tǒng)需求開(kāi)發(fā)庫(kù),為后續(xù)其他需求開(kāi)發(fā)提供借鑒和參考。
需求是一個(gè)項(xiàng)目開(kāi)發(fā)的驅(qū)動(dòng)力,項(xiàng)目開(kāi)發(fā)目的是要滿足客戶的需求,只有滿足客戶需求的項(xiàng)目才能算是成功的項(xiàng)目[4]。需求開(kāi)發(fā)和需求管理屬于需求工程領(lǐng)域,兩者體現(xiàn)了需求工程的不同方面,但并非完全獨(dú)立,而是相互聯(lián)系、相輔相成的。
需求開(kāi)發(fā)作為一個(gè)產(chǎn)品項(xiàng)目開(kāi)發(fā)的初始階段工作,起到了連接用戶需求到具體研發(fā)的橋梁作用。需求開(kāi)發(fā)的目標(biāo)是按時(shí)、按預(yù)算開(kāi)發(fā)出滿足用戶真實(shí)需要的產(chǎn)品或?qū)崿F(xiàn)具體的功能要求。需求開(kāi)發(fā)一般分為問(wèn)題獲取、需求分析、編寫(xiě)需求規(guī)格書(shū)以及測(cè)試與驗(yàn)證,如圖1所示。其中問(wèn)題獲取包括業(yè)務(wù)需求、用戶需求、功能需求及非功能性的需求,需求獲取及確認(rèn)是需求分析過(guò)程中最重要的活動(dòng)之一[5],非功能需求又包括了性能需求、標(biāo)準(zhǔn)規(guī)范及設(shè)計(jì)約束等。
圖1 需求開(kāi)發(fā)范圍
需求工程中除了需求開(kāi)發(fā)之外,還有需求管理,需求管理是一種獲取、組織并記錄需求的系統(tǒng)化方案過(guò)程。如圖2所示,需求管理的基本內(nèi)容包括變更控制、版本控制、需求跟蹤以及需求狀態(tài)跟蹤。
需求管理與需求開(kāi)發(fā)之間有一定的界限,需求開(kāi)發(fā)主要是基于市場(chǎng)、客戶、項(xiàng)目管理而進(jìn)行的分析和編寫(xiě)需求規(guī)格書(shū),而需求管理應(yīng)確保客戶與項(xiàng)目團(tuán)隊(duì)對(duì)需求的變更、結(jié)果達(dá)成并保持一致。在需求管理過(guò)程中,需要對(duì)每一版的需求基線進(jìn)行確認(rèn),并保證這些需求能被完整及正確地開(kāi)發(fā)。
圖2 需求管理范圍
需求開(kāi)發(fā)與管理的好壞直接影響著產(chǎn)品項(xiàng)目的開(kāi)發(fā)情況,貫穿于整個(gè)產(chǎn)品項(xiàng)目之中,影響著整個(gè)產(chǎn)品項(xiàng)目的生命周期。不完整的需求捕獲和管理過(guò)程會(huì)對(duì)項(xiàng)目的生命周期產(chǎn)生多米諾骨牌的效應(yīng),需求開(kāi)發(fā)與管理對(duì)產(chǎn)品項(xiàng)目開(kāi)發(fā)成敗具有重大影響。如圖3所示,用戶需求的缺失會(huì)導(dǎo)致整個(gè)系統(tǒng)需求的缺失,進(jìn)而導(dǎo)致設(shè)計(jì)單元的缺失及過(guò)程開(kāi)發(fā)的反復(fù),最終導(dǎo)致整個(gè)系統(tǒng)不能實(shí)現(xiàn)預(yù)期的目標(biāo)。
圖3 需求重要性
一般而言,需求開(kāi)發(fā)及管理會(huì)借助一些專業(yè)的軟件工具,使用合適的軟件往往可以起到事半功倍的效果,對(duì)于項(xiàng)目開(kāi)發(fā)能否成功起到重要的作用。國(guó)內(nèi)外具有代表性的需求開(kāi)發(fā)管理軟件有IBM Rational DOORS、RequisitePro、Borland CaliberRM 和 統(tǒng) 御oBridge。
為了更清晰地認(rèn)識(shí)這幾種軟件的功能,以下分別從軟件的可擴(kuò)展性、需求變更管理、需求基線管理、追蹤關(guān)系顯示、角色權(quán)限控制、需求鏈接變更通知、文件導(dǎo)入導(dǎo)出等方面進(jìn)行比較,如表1所示。
從表1的比較結(jié)果可以看出,基于需求開(kāi)發(fā)及管理軟件常用的一些功能,DOORS更具有一些優(yōu)勢(shì)。因?yàn)镈OORS所具有這些優(yōu)勢(shì),目前有較多的汽車廠商在進(jìn)行需求開(kāi)發(fā)及管理時(shí),會(huì)采用DOORS,同時(shí)DOORS也廣泛于航空、機(jī)械、信息技術(shù)開(kāi)發(fā)等領(lǐng)域。以下重點(diǎn)講述DOORS軟件的主要功能。
在產(chǎn)品項(xiàng)目開(kāi)發(fā)全生命周期中,DOORS可以覆蓋從需求、設(shè)計(jì)到測(cè)試過(guò)程的追蹤,并為追蹤關(guān)系提供更加高效的解決方案[6-7]。同時(shí),DOORS也是一種面向管理者、開(kāi)發(fā)者與最終用戶的綜合需求開(kāi)發(fā)管理軟件,可優(yōu)化企業(yè)內(nèi)及供應(yīng)鏈上的需求溝通、協(xié)作和驗(yàn)證等。
DOORS軟件的主要功能如圖4所示,包括數(shù)據(jù)庫(kù)結(jié)構(gòu)化管理、需求的條目化管理、需求的協(xié)作開(kāi)發(fā)、需求鏈接及跟蹤管理、需求變更及影響分析、需求的歷史信息記錄、需求的屬性定義、需求訪問(wèn)權(quán)限管理、數(shù)據(jù)的備份和恢復(fù)、需求的導(dǎo)入導(dǎo)出等。
表1 需求管理軟件應(yīng)用功能比較
圖4 DOORS的主要功能實(shí)現(xiàn)分布
DOORS數(shù)據(jù)庫(kù)一般存放于公司的某一個(gè)服務(wù)器上,不同的PC端可以并行訪問(wèn),支持需求的協(xié)同開(kāi)發(fā),在一個(gè)數(shù)據(jù)庫(kù)中能夠根據(jù)實(shí)際需要?jiǎng)?chuàng)建多個(gè)項(xiàng)目??梢栽贒OORS軟件環(huán)境中建立不同的文件夾和項(xiàng)目來(lái)存儲(chǔ)和管理文檔,并建立相應(yīng)的模塊及對(duì)象,對(duì)象之間可以建立鏈接關(guān)系。
DOORS數(shù)據(jù)庫(kù)的視圖與MS Windows的瀏覽器類似,對(duì)不同類型的需求可使用不同的文檔,比如不同的系統(tǒng)需求或者軟件需求可以在多個(gè)文檔中進(jìn)行管理。
DOORS提供了與微軟辦公軟件風(fēng)格相似的編輯界面,但DOORS對(duì)于需求可采用條目化的存儲(chǔ)方式,即可將一條需求作為數(shù)據(jù)庫(kù)中的一條單獨(dú)記錄進(jìn)行存儲(chǔ),這樣對(duì)需求條目的編寫(xiě)、鏈接和跟蹤就很方便、快捷。
DOORS可記錄并顯示多種形式的內(nèi)容,包括需求文本、圖形、表格、屬性及更改欄。同時(shí),可支持不同需求交換格式,支持供應(yīng)商和開(kāi)發(fā)合作伙伴提供的需求文檔及功能板塊。
DOORS有著直觀的用戶界面,可通過(guò)桌面客戶端進(jìn)行訪問(wèn)、編輯、配置、分析和生成報(bào)告,DOORS也可以提供給用戶自定義的視圖,基于用戶定制的視圖界面,支持快速訪問(wèn)數(shù)據(jù),并可維護(hù)大量的管理對(duì)象需求和鏈接,以幫助需求人員、管理者或評(píng)審人員直接獲得所需信息。
DOORS提供了在線討論溝通機(jī)制,可提供一個(gè)溝通平臺(tái)給相關(guān)人員,每一個(gè)討論者可以提交帖子,系統(tǒng)能夠?qū)⑦@些帖子相關(guān)的信息自動(dòng)記錄,包括提交人,提交時(shí)間和內(nèi)容。在需求協(xié)作方面,DOORS提供了完整的變更建議流程和審核系統(tǒng),用戶可針對(duì)需求遞交變更建議及其原因。
DOORS可創(chuàng)建不同需求條目之間鏈接關(guān)系,并能通過(guò)鏈接指示符跟蹤到與某條需求關(guān)聯(lián)的條目。具備與Simulink模型直接關(guān)聯(lián)的功能,可以通過(guò)需求條目追蹤到Simulink模型,也可以通過(guò)Simulink模型追蹤到相應(yīng)的需求條目。
DOORS能夠?qū)?層以上的鏈接關(guān)系進(jìn)行追蹤分析,顯示所有的鏈接關(guān)系,能夠?qū)ψ粉櫧Y(jié)果的覆蓋度進(jìn)行分析,找出未被覆蓋或多余的需求項(xiàng),同時(shí),還能夠?qū)㈡溄舆^(guò)濾出來(lái)并保留成視圖。針對(duì)鏈接關(guān)系,可以在需求項(xiàng)旁邊產(chǎn)生標(biāo)記來(lái)通知鏈接的另一方需求發(fā)生了變更,并且當(dāng)被通知的一方相應(yīng)調(diào)整后使得該鏈接不再是可疑鏈接時(shí),用戶能夠?qū)⒋丝梢涉溄踊謴?fù)為正常鏈接,從而不再作為可疑鏈接顯示。
DOORS能夠自動(dòng)記錄文檔中的每一個(gè)需求項(xiàng)的變更歷史,包括所有類型的變更,比如修改、刪除、增加、復(fù)制、移動(dòng)、屬性創(chuàng)建及鏈接建立等變化,記錄包括誰(shuí)做的,何時(shí)做的,變更前后的內(nèi)容和差異標(biāo)記信息。
DOORS能夠?qū)δ硞€(gè)需求文檔的任意兩個(gè)版本進(jìn)行差異性比較,并能夠?qū)⒉町惽闆r逐條比較后顯示出來(lái)??梢詫?duì)一份需求文檔打基線,也可以對(duì)一個(gè)項(xiàng)目中的所有需求文檔同時(shí)打基線,并將它們之間的鏈接同時(shí)保留在基線集內(nèi)。
DOORS提供了一種相互協(xié)作的平臺(tái),在軟件使用過(guò)程中,可定義不同項(xiàng)目開(kāi)發(fā)角色及根據(jù)需要設(shè)置不同的權(quán)限,比如需求開(kāi)發(fā)工程師、軟件設(shè)計(jì)工程師、測(cè)試驗(yàn)證工程師、質(zhì)保工程師以及項(xiàng)目管理人員等。如表2所示,每種角色在軟件中能獲得所需要的輸入及輸出等,以支持項(xiàng)目協(xié)同開(kāi)發(fā)。
表2 需求開(kāi)發(fā)相關(guān)角色定義
DOORS可賦予用戶多種工具與方法對(duì)需求進(jìn)行管理,用戶可以靈活地把它融合到公司的管理過(guò)程中。DOORS提供了一些集成功能,可以與其他軟件工具進(jìn)行接口對(duì)接。比如,DOORS可以與IBM Rational工具集成,包括IBM Rational Quality Manager、Rhapsody、Focal Point等,還可以與Microsoft Team Foundation Server(TFS)集成,以支持開(kāi)發(fā)團(tuán)隊(duì)創(chuàng)建和維護(hù)需求間的跟蹤鏈接等。
基于DOORS軟件工具,以某汽車項(xiàng)目為平臺(tái),建立了動(dòng)力系統(tǒng)需求開(kāi)發(fā)庫(kù),包括項(xiàng)目文件夾、模塊及對(duì)象等?,F(xiàn)舉其中的一份需求文檔進(jìn)行說(shuō)明,圖5是DOORS軟件運(yùn)行界面,圖6是DOORS中的一份寫(xiě)好的需求文檔編輯界面。
從圖6示例界面可以看出,與PDM系統(tǒng)軟件不同,開(kāi)發(fā)人員可以直接在DOORS軟件環(huán)境中進(jìn)行編輯文字,然后保存,推送給下游。下游通過(guò)訪問(wèn)、識(shí)別并提取出變更的需求,實(shí)現(xiàn)有針對(duì)性地獲取信息,節(jié)省時(shí)間和提高效率,同時(shí)每一個(gè)需求項(xiàng)在文檔中的ID編號(hào)都是唯一的,不會(huì)產(chǎn)生需求內(nèi)容混淆的情況。
圖5 DOORS運(yùn)行初始界面
圖6 基于DOORS的動(dòng)力系統(tǒng)需求示例
利用DOORS建立的文檔編輯是比較方便的,如圖7所示,在不改變用戶原本的編輯習(xí)慣下,可以像Office word辦公軟件那樣,在文檔中直接插入相應(yīng)的表格、圖表和 OLE(Object Linking and Embedding)對(duì)象。
圖7 DOORS插入表格示例
利用DOORS可以針對(duì)每一條需求創(chuàng)建鏈接關(guān)系,如圖8所示,比如想知道增加某條需求的原因,可以鏈接到起點(diǎn)進(jìn)行查看。另外,所有的需求內(nèi)容修改都會(huì)被記錄和儲(chǔ)存,以避免某一些需求內(nèi)容被篡改或刪除而找不到具體責(zé)任人。
圖8 創(chuàng)建需求鏈接關(guān)系示例
利用DOORS軟件進(jìn)行需求開(kāi)發(fā)及管理時(shí),內(nèi)部允許項(xiàng)目共享需求,提供了基線比較功能,可對(duì)不同的基線版本進(jìn)行比較。如圖9所示,對(duì)某一份需求文檔打完基線之后,可以通過(guò)不同版本的比較,識(shí)別出新版本的更改內(nèi)容,使用戶可看到不同需求版本之間的區(qū)別。
圖9 修改歷史記錄儲(chǔ)存示例
為了更有效地進(jìn)行項(xiàng)目的需求開(kāi)發(fā)及管理,可以借助專業(yè)的需求開(kāi)發(fā)及管理軟件工具,基于DOORS軟件,建立了動(dòng)力系統(tǒng)需求開(kāi)發(fā)庫(kù),服務(wù)于具體項(xiàng)目起到了較好的結(jié)果,節(jié)省時(shí)間,提高效率,實(shí)現(xiàn)了自動(dòng)化和規(guī)范化開(kāi)發(fā)及管理。
基于建立的需求開(kāi)發(fā)庫(kù),后續(xù)可進(jìn)行需求版本的不斷迭代升級(jí)。首先是推動(dòng)精細(xì)化的需求設(shè)計(jì),對(duì)已建立的項(xiàng)目需求開(kāi)發(fā)庫(kù)進(jìn)行持續(xù)完善,支撐多項(xiàng)目開(kāi)發(fā),讓其覆蓋面更廣;其次是豐富需求開(kāi)發(fā)庫(kù),結(jié)合整車系統(tǒng)特性,引申出相應(yīng)的功能需求開(kāi)發(fā),進(jìn)行多維度的設(shè)計(jì)及優(yōu)化;最后是基于DOORS提供的一些軟件接口,探索與其他軟件的對(duì)接關(guān)系和接口集成,進(jìn)一步完善已有的項(xiàng)目平臺(tái)需求開(kāi)發(fā)庫(kù)。