目錄
?
摘要(300~330字)
正文(2000~2500字,2200字為宜)
背景介紹(500字做左右)
論點論據(1500字做左右)
收尾(200字左右)
注:本篇論文篇幅稍長,您可以適當刪減。
?
摘要(300~330字)
本文以我參與的“xx省健康促進與教育信息化平臺”系統項目建設為例,討論軟件開發中需求管理的有關知識及實際應用過程。該系統項目基于相關部門為進一步落實健康中國行動有關要求而建設,目標是通過建立一個服務于全省疾控系統和居民的信息化平臺系統,通過線上線下相結合的方式,全面提示疾控系統健康促進與教工作效率及居民健康素養。項目的特點是用戶范圍廣、業務復雜、質量要求高。我作為該項目團隊的骨干人員,主要負責需求分析、架構設計和部分項目管理工作。本文首先介紹了需求管理的基本概念,然后介紹了需求管理中的主要活動及在項目中的實際運用,最后介紹了規范化的需求管理對項目的順利實施帶所來的幫助。
?
正文(2000~2500字,2200字為宜)
背景介紹(500字做左右)
2023年8月,為進一步落實國家關于健康中國行動中對“實施健康知識普及行動”、“建立并完善健康科普專家庫和資源庫”、“構建健康科普知識傳播和發布機制”、“全面提升健康素養”等要求,某省疾控中心開始啟動范圍覆蓋全省的健康促進與教育信息平臺系統項目建設工作,目標是通過建立一個健康信息化平臺,通過線上線下相結合的方式,全面提升疾控系統健康促進與教育工作效率和居民健康素養水平。系統的包括兩部分,一是建立服務于全省疾控系統的健康促進與教育工作信息平臺,二是建立服務于居民的健康知識宣教平臺。其中前者又包括健康資源庫管理平臺、健康促進工作業務協同平臺、健康教育作品發布與審核平臺、在線培訓與考核平臺,而后者主要包括由發布健康教育知識的網站和微信小程序組成。項目金額260萬,要求在6個月內開發完成并上線。
?經公開招標,我所在公司最終中標該項目,我作為公司骨干技術人員之一,被指定參與該項目建設,并負責需求分析、架構設計和部分項目管理工作。
經需求調研我了解到,該項目主要特點是用戶范圍廣、用戶量大、業務復雜,同時由于政策及各科室業務的多邊性,該項目的需求可能會經常進行變更。客戶對項目質量要求較高,并著重提出,項目應具備較高的可修改性,能快速響應需求的變化。基于此,為了保證項目質量,除了精準的需求分析、良好的架構設計等SQA主要活動之外,我特別關注項目的需求管理工作,因為良好的需求管理是保證項目后期質量的重要手段,也是提升客戶滿意度的重要舉措。本文中,我會詳細介紹需求管理的概念、需求管理的活動及需求管理在項目中的實際運用。
?
論點論據(1500字做左右)
論點
軟件需求管理是一個對系統需求變更了解和控制的過程,需求管理過程與需求開發過相互關聯,初始需求導出的同時就要形成需求管理規劃。一旦形成了需求文檔的初稿,需求管理活動就開始了。
需求管理主要包含變更控制、版本控制、需求跟蹤和需求狀態跟蹤等四項活動。
?
變更控制
在當前的軟件開發活動中,需求變更已經成為一種常態。需求變更主要包括四項工作:
- 問題分析和變更描述。當客戶提出一項需求變更提議后,需要系統分析人員與客戶進行進一步的溝通,全面分析問題,對變更背后的原因進行探究,明確變更對系統現有模塊及業務的影響,進而更加清晰的描述需求變更對于功能、性能、界面等方面的具體要求,使大家對需求變更有清晰而一直的理解。
- 變更分析和成本計算。組織技術專家、分析人員等對客戶所提出的需求進一步的分析,評估需求變更對項目的系統架構、數據庫結構、代碼邏輯等方面的的影響,同時從人力、物力、時間等方面估算變更所需要付出的成本,計算成本效益比,為領導審批提供依據。
- 變更審批。將需求變更及分析結果提交給CCB(變更控制委員會),CCB根據項目整體目標、業務需求優先級、成本效益比等進行綜合考慮,決定是否同意需求變更。如果批準,則應明確變更執行責任人員及時間節點要求。
- 變更實現。開發團隊根據變更提議進行具體的開發及實施工作,完成后,進行單元測試、集成測試、回歸測試等工作,確保變更質量。變更上線前更新相關文檔資料,確保系統與文檔處于一致的狀態。
需要說明的是,變更控制并不是給需求變更設置障礙。相反地,他是一個渠道和過濾器,可以確保采納最合適的變更,使變更對項目的負面影響降到最低。
?
版本控制
版本控制是需求變更管理中的一項重要工作,用于對需求文檔的版本和項目代碼版本進行管理控制,避免發生混亂,降低失控風險。版本控制的主要工作包括:
1)選擇版本控制工具。常見的版本控制工具有Git、SNV、VSS等,用于存儲需求文檔、代碼等資源。通過版本控制工具,可以方便地查看文檔、代碼的歷史版本,對比不同版本之間的差異,還可以將文檔、代碼恢復到歷史版本。
2)制定版本號命名規則。
合理的版本號命名規則可以讓人直觀地了解需求變更的程度,通常采用主版本號 + 次版本號 + 修訂版本號的方式來標識版本,規則如下:如果系統發生了重大變化或不向下兼容的變化,則主版本號遞增;如果系統在核心架構不變的情況下增加新的功能或者原有變化的功能不影響和以前的數據和業務,則此版本號遞增;修訂版本號則主要用于表示系統修復了缺陷,無功能上的變化。
3)變更記錄。
每次對需求文檔或代碼進行修改時,要文檔、代碼中記錄修改的內容、原因、時間、人員等信息,同時在版本控制軟件中也要增加變更說明,以備查詢。這樣可以幫助其他人員了解變更的歷史和背景,有利于軟件系統的長期維護。
?
需求跟蹤
需求跟蹤是指在軟件開發過程中,建立并維護需求與項目各個階段的工作產物(如:設計文檔、代碼模塊、測試用例等)之間對應關系的過程,它可以記錄需求從提出到實現的完整路徑。需求跟蹤的具體工作主要包括建立需求跟蹤矩陣和需求跟蹤檢查。
1)建立需求跟蹤矩陣。建立需求跟蹤矩陣表,將需求與項目各個階段的工作產物進行關聯,并記錄每個需求的狀態,如“進行中”、“已完成”等。通過需求跟蹤矩陣表,可以方便跟蹤需求的實現情況,及時發現和解決需求偏差。
2)需求跟蹤檢查。在項目的各個關鍵階段,如設計、開發、測試等階段,定期對需求跟蹤情況進行檢查,確保每個需求都需求都按計劃進行,沒有遺漏或偏差。如有特殊情況暫時無法實現,應在需求跟蹤矩陣表中記錄清楚。
?
需求狀態跟蹤
需求狀態跟蹤是為及時了解每個需求的狀態變化,以便及時做出調整。需求狀態跟蹤的主要活動包括:定義需求狀態、狀態更新與記錄。
- 定義需求狀態。定義需求的不同的狀態,如:待分析、已分析、待開發、已開發、待測試、已測試、已上線、推遲處理。通過定義需求狀態,可以對需求全生命周期進行管理。
- 需求狀態變更與記錄。在需求管理的各個階段,及時更新需求的狀態,并記錄需求狀態變更的原因和時間。通過狀態跟蹤,可以及時了解每個需求的進度變化情況,及時發現和處理需求管理中的問題。
論據
在項目的實施過程中,我們基于以上指導思想,實施了規范的需求管理。
首先,我們成立需求變更控制委員會(CCB),成員由項目經理、技術骨干、用戶代表組成。明確了各自職責、權限以及詳細的會議制度和決策機制。所有需求變更都要經CCB審核通過后才能實施。
其次,我們對項目需求變更流程做了統一的規定和培訓,確保所有項目人員對變更流程有了清晰和一致的認識。在項目實施過程中,嚴格按照流程執行。當客戶提出一項新的需求提議后,首先由需求分析師對需求進行深入分析,了解變更背后的原因和目的,然后組織技術人員對變更進行進一步評估和成本估算,之后提交CCB審核,審核通過后,及時實現需求并更新需求跟蹤文檔。
再次,我們確定了版本控制工具、版本號命名規則和需求跟蹤矩陣表格樣式。使用Git作為版本控制工具,版本號規則遵循主版本號+此版本號+修訂版本號這一命名規則,需求跟蹤矩陣表上清晰的體現了每個需求與設計文檔、測試用例、代碼模塊之間的關聯關系。
最后,我們是使用項目管理工具禪道對需求狀態進行管理和監控。每三天開一次項目例會,對各個狀態的需求進行統計和分析,及時發現需求管理中存在的問題并做出調整。
?
通過采取以上措施,我們實現了對需求的規范化管理,避免了很多無效需求,對項目順利通過驗收提供了很大的幫助,具體體現在:
有效控制了需求變更。對于符合不有關標準要求的需求變更提議,我們給客戶做了解釋說明,對于一些不太合理的需求,我們也通過深入分析,為客戶提供了更好的解決方案。比如有客戶提出,登錄密碼應該允許純數字,方便記憶和輸入,針對這個需求,我們告訴客戶復雜的密碼設置是網絡安全法和計算等級保護條例的有關要求,不能隨意改動;還有客戶提出,所有專家的手機號應該在系統中公開,方便聯系專家,我們經分析后認為,專家手機號屬于高度隱私數據,因此,只能向得到授權的操作人員開放,客戶非常認可這種做法,并稱贊我們專業。
提高了文檔與代碼的一致性。通過嚴格的需求跟蹤和版本管理工具,我們實現了需求文檔與代碼之間的一致性,避免了很多潛在的不利因素,為項目長期維護奠定了基礎。
提高了項目質量。嚴格規范的需求管理,使得最終審評通過的需求都是邏輯合理且描述清晰的,這為開發團隊和測試團隊執行正確的需求變更提供了重要的依據,確保了工作效率的提升和產出物符合客戶需求。
提升客戶滿意度。由于良好規范的需求管理過程,我們很好的滿足客戶提出各項需求,最終提高了產品質量,提升了客戶滿意度。
?
收尾(200字左右)
規范的需求管理是保證項目順利交付和驗收的關鍵和因素之一。通過有效的變更控制、版本控制、需求跟蹤和需求狀態跟蹤,可很大程度上能提高軟件的質量和用戶滿意度。在本項目中,我們通過一系列有效的需求管理措施,成功實現了軟件需求的合理管控,為項目順利通過驗收提供了有力保障。在今后的軟件項目開發中,我將繼續深入研究和探索需求管理的理論和方法,不斷完善需求管理流程和機制,為提高軟件項目的開發效率和質量做出更大的貢獻。
?