盧栩茵
摘要:隨著民航業(yè)的發(fā)展,信息化系統(tǒng)建設不斷推陳出新,如何能夠開發(fā)出符合行業(yè)標準,切實滿足用戶需求的系統(tǒng)變得尤為重要。事實證明,項目研發(fā)初期的需求管理是項目成功與否的關鍵?;诖?,該文詳細論述如何在民航項目中進行需求管理。
關鍵詞:系統(tǒng)研發(fā);需求管理;需求驗證
中圖分類號:TP311 文獻標識碼:A 文章編號:1009-3044(2017)17-0203-02
1背景
近年來,隨著民航業(yè)的發(fā)展,民航信息技術的深入推進,全國各地在保障空管設備運行的基礎上,進行了大量信息系統(tǒng)的研發(fā)工作。以中南空管局技術保障中心為例,自主研發(fā)了空管設備信號覆蓋評估系統(tǒng)、機場凈空管理分析系統(tǒng)、空管設備運維信息化平臺等。在研發(fā)的系統(tǒng)中,有些在后續(xù)上線使用過程中發(fā)現(xiàn),部分功能設計并不能很好地解決用戶的痛點,甚至個別功能與所提出的需求出入較大。事實上,用戶對系統(tǒng)的接受程度和使用情況取決于項目初期系統(tǒng)需求設計是否真真切切反映用戶的需求。因此,項目研發(fā)初期的需求管理成為了項目成功與否的關鍵。
2軟件需求管理
隨著信息技術的發(fā)展,盡管軟件項目管理的經驗積累不斷豐富,軟件管理的工具也不斷推陳出新,但仍然有相當比例的軟件項目以失敗告終,究其原因,大部分是在項目初期沒有正確地確定和定義需求,或是隨著項目的推進沒有正確地管理需求。百度百科中對軟件需求管理的定義如下:一個為系統(tǒng)的需求進行啟發(fā)、組織、建檔的系統(tǒng)方法,一個建立和維護客戶和項目團隊之間關于變更系統(tǒng)需求所達成的一致性的過程。軟件需求管理,主要包括4個方面:需求獲取、需求分析和確認、需求驗證和需求管理。在民航項目研發(fā)中,大部分的開發(fā)模式為,民航單位描述項目預期能夠實現(xiàn)的功能,作為需求提供方,即項目的甲方;合作的IT公司根據甲方提出的需求,進行系統(tǒng)研發(fā),即項目的乙方。本文主要論述民航單位即甲方所需完成的軟件需求管理工作。
2.1需求獲取
需求獲取指需求的收集分析細化過程。對于一個新項目,在需求獲取階段要充分對系統(tǒng)未來的用戶群(可以理解為不同的角色)進行分類,從不同的用戶群中選擇具有代表性的用戶,分析不同用戶的工作流程,確定使用場景使用實例,并以此為基礎,編寫初步的項目需求文檔。
2.2需求分析和確認
需求分析根據需求獲取中得到的需求文檔,分析可行的系統(tǒng)實現(xiàn)方案。該階段,作為甲方技術開發(fā)室的項目負責人員,主要完成的工作包括:設計系統(tǒng)原型,確定需求優(yōu)先級,編寫數據字典。以往在這個階段,甲方只完成確定需求優(yōu)先級這一項工作,并沒有對系統(tǒng)的實現(xiàn)方案進行審核確認,只有在項目開發(fā)完成后才對系統(tǒng)的具體實現(xiàn)方式進行確認,屆時發(fā)現(xiàn)項目實現(xiàn)與需求偏離為時已晚。
2.2.1設計系統(tǒng)原型
需求分析階段,最重要的工作為設計系統(tǒng)原型,由于甲方作為項目的最終使用用戶,對項目的業(yè)務需求、功能需求、非功能需求等的把握要遠遠清楚于開發(fā)方,因此在需求分析階段,在乙方的建議和配合下,由甲方主要完成系統(tǒng)原型的設計工作,并由甲乙方共同對設計原型進行確認是避免系統(tǒng)開發(fā)完成后無法滿足用戶需求最行之有效的方法。
設計系統(tǒng)原型指當開發(fā)人員或用戶不能明確需求時,利用原型工具,開發(fā)一個系統(tǒng)原型,用直觀明了的方式清晰描述業(yè)務邏輯。當前最主流的幾款原型工具包括:Axure RP、Gui De-sign Studio、JustInMind等,其中Axure RP擁有全套web控件庫,直接拖拽即可快速制作網站原型并可自動生成用于演示的網頁文件,豐富的動態(tài)面板可以用來模擬各種復雜的交互效果,支持多人協(xié)作設計和版本控制管理。由于Axure RP的實用性及快捷性,在實際工作中,通常采用其作為原型設計工具。例如,在設計規(guī)章手冊管理模塊時,在充分收集、分析、細化及核實用戶需求后,利用Axure工具設計了模塊原型,將模型生成網頁文件后,對用戶進行演示,驗證是否符合用戶需求。下圖就是利用Axure工具設計的規(guī)章手冊管理模塊原型發(fā)布后的網頁文件。
從圖1中可以看出,原型可以充分模擬系統(tǒng)的實現(xiàn)效果,大部分的交互都可以直觀地展現(xiàn)。根據演示結果修改原型,直至完全符合用戶需求。由于此處進行的修改是在原型工具上進行的,涉及的修改工作量相對于代碼的修改工作量非常小,而且修改起來簡單快捷。
原型的優(yōu)勢除了便于與用戶進行需求驗證,還可以使前端和開發(fā)人員更容易理解需求。作為甲方的需求管控人員,在與用戶確定需求無誤后,可以配上注釋等演示給乙方的前端和開發(fā)人員,大部分的疑問都可以針對模擬效果提出,避免了前端和開發(fā)人員的理解“誤入歧途”。
2.2.2確定需求優(yōu)先級
根據業(yè)務邏輯、工作流程等確定需求實現(xiàn)的優(yōu)先級別,幫助乙方以優(yōu)先級為基礎,確定系統(tǒng)的版本及項目的開發(fā)階段。這里的需求應涵蓋所有需求,包括性能需求等特性需求。
2.2.3編寫數據字典
創(chuàng)建數據字典是對系統(tǒng)用到的所有數據項和結構的定義,以確保開發(fā)人員使用統(tǒng)一的數據定義。該步驟的工作主要為乙方完成,建議有計算機研發(fā)基礎的甲方負責人員參與到數據字典的審核工作中,盡可能地減少后期的代碼變更。
2.3需求驗證
需求作為系統(tǒng)設計和最終驗收的依據,其重要性不言而喻,因此需求驗證至關重要。需求驗證務必確保符合完整性、正確性、無二義性、一致性、可跟蹤性及可驗證性等。作為甲方,應主要完成以下幾項工作:
1)確保系統(tǒng)設計原型滿足用戶需求;
2)審核需求文檔,包括需求規(guī)格說明書及其他業(yè)務規(guī)范文檔;
3)審核測試用例。乙方應依據需求編寫測試用例,包括性能等特殊功能需求,撰寫測試用例作為系統(tǒng)測試依據;
4)審核用戶手冊。乙方在系統(tǒng)設計原型定稿后即可起草一份用戶手冊,用它作為需求規(guī)格說明的參考并輔助需求分析。當前,經常采用的是Backlog的形式,用具體的語言詳細描述不同功能點的業(yè)務流程。
2.4需求管理
需求開發(fā)的結果經驗證批準就定義了開發(fā)工作的需求基線,甲方和乙方基于此基線達成需求約定。需求管理指在項目進展過程中維持需求約定一致性和精確性的所有活動。對于甲方而言,主要完成的需求管理工作包括如下幾點:
2.4.1審核需求規(guī)格說明書
需求管理的最終成果是甲方和乙方對將要開發(fā)的系統(tǒng)達成一致協(xié)議,這一協(xié)議的基礎就是需求規(guī)格說明書。需求規(guī)格說明書由乙方提供,甲方負責審核。需求規(guī)格說明書需采用標準模板,詳細記錄系統(tǒng)需求和各種其他與需求相關的重要信息。其中,每項需求都要指明需求來源,并清晰記錄在需求的跟蹤能力矩陣中,把每項需求來源、定義與實現(xiàn)、測試設計和代碼部分聯(lián)系起來,這樣有利于需求管理和評估需求變更。
在撰寫需求規(guī)格說明書時,乙方最容易忽略的一點是清晰記錄業(yè)務規(guī)范。所謂業(yè)務規(guī)范是指系統(tǒng)的操作原則。由于民航的大部分項目都是在原有系統(tǒng)的基礎上進行擴展功能,因此如何能夠保持新模塊和已有功能模塊的操作一致性非常重要。甲方應監(jiān)督乙方將業(yè)務規(guī)范編寫成需求規(guī)格說明書中的一個獨立部分,或撰寫獨立的業(yè)務規(guī)范文檔,并對文檔進行審核。
2.4.2管理需求變更
在項目開發(fā)過程中,由于業(yè)務流程變更等原因,造成需求變更在所難免,有些嚴重的需求變更可能會導致項目的重新開發(fā),因此如何管理需求變更是需求管理工作的技術難點所在??梢詮囊韵聨讉€方面來控制:
1)確定變更控制過程。制定詳細的變更控制過程,所有的需求變更都需遵循此流程;
2)分析變更可能造成的影響。評估需求變更對項目進度、工作量以及其它需求的影響;
3)跟蹤變更。當進行某項需求變更時,在需求跟蹤能力矩陣找到相關的其他需求,對造成影響的設計文檔、源代碼和測試用例等,進行同步修改;
4)記錄需求變更。詳細記錄需求變更的日期以及所做的變更、原因、更新人、更新版本號等情況。
3結束語
需求管理作為軟件項目管理的一個重要分支,其重要性不言而喻,在未來的民航項目開發(fā)中,將繼續(xù)沿用文中提到的管理方式并研究學習最新的需求管理方法,最大程度地保證項目開發(fā)的質量。