劉錚
摘 要 在計算機軟件項目管理中,進一步的明確需求分析的重要性,了解需求分析的一般性流程和注意事項有著重要的戰略指導意義,有助于計算機軟件項目的開發目標的準確達成。
關鍵詞 軟件項目 需求分析 用戶 報告
隨著互聯網+時代的來臨,計算機軟件項目作為市場經濟中的“紅海”領域,越來越多的經濟投資進入到計算機軟件項目開發。現階段,計算機軟件項目開發得到了長足的發展,開發技術也更加科學可靠。但即便在更加科學的開發技術之下,仍舊存在一些失敗的軟件項目開發,或者是開發出來的軟件存在極大的缺陷。通過調查表明,忽略了軟件項目開發過程中的需求分析,是造成軟件項目開發失敗的主要原因。因此,在計算機軟件項目管理中,進一步的明確需求分析的重要性,了解需求分析的一般性流程和注意事項有著重要的戰略指導意義,有助于計算機軟件項目的開發目標的準確達成。
一、軟件項目管理中需求分析的重要性
在軟件項目的開發系統中,需求分析指的是建立一個電腦系統時對這一新的電腦系統的目標、范圍、定義和功能時所有需要做的工作。在軟件項目開發歷史中,很長的時間很長時間里人們一直認為需求分析是整個軟件工程中最簡單的一個步驟,但在過去十年中越來越多的人認識到它是整個過程中最關鍵的一個過程。假如在需求分析時分析者們未能正確地認識到顧客的需要的話,那么最后的軟件實際上不可能達到顧客的需要,或者軟件無法在規定的時間里完工。需求分析的重要性與困難性主要體現在以下幾個方面:
第一,用戶與開發人員的交流容易產生極大的理解誤區。軟件項目的開發實際上是為了解決用戶對計算機系統開發的需求,這一階段是軟件項目開發的標志時間,但正由于這是軟件開發的第一道工序,其難度不言而喻,用戶想要進行軟件項目開發,他有著既定的目標,他想要通過軟件工程的開發去得到既定的結果,但對于這種既定的結果,用戶本身是不明確的。對于開發人員而言,往往會對用戶的需求進行計算機語言的表達,這一思考過程中,開發人員只是在客觀的理解自己再開發過程中需要“做什么”,但并不能夠知道能夠產生何種結果。
第二,用戶的需求不夠精確,一般來說,用戶對于軟件開發的結果是模糊的,更別提精確到軟件的具體功能。只有經過長時間的反復認識才逐步明確。有時進入到設計、編程階段才能明確,更有甚者,到開發后期還在提新的要求。這無疑給軟件開發帶來困難。
二、計算機軟件項目管理需求分析流程及注意事項
(一)獲取用戶需求
獲取用戶需求是需求分析的第一道工序,也表示軟件項目開發工作的正式開始。在獲取用戶需求的過程中,作為開發人員必須要盡可能迅速的熟悉項目項目的干系人全貌,力求盡可能的精確確定他們對軟件開發項目的實際需求和期望定位。應該逐步的理清干系人的組織結構、領導層級,盡可能的獲得干系人全體對軟件開發的支持,降低干系人內部對軟件工程開發的異議帶來的不良影響。
在獲取用戶需求過程中,需要注意兩個方面的事情,一是分析人員要使用符合客戶語言習慣的表達,需求討論集中于業務需求和任務,因此要使用術語。客戶應將有關術語(例如:采價、印花商品等采購術語)教給分析人員,而客戶不一定要懂得計算機行業的術語。二是開發人員不能夠局限于與用戶方的技術人員進行交流,而應該與業務部門和實際使用人員進行交流。
(二)分析用戶需求
分析用戶需求,是在開發人員完整的獲取到用戶的需求及期望之后,需要做的一項精細的分析工作。在這一過程中,開發人員需要針對軟件的實際用戶進行一定的需求調研情況,在獲取調研數據的過程中,應該與用戶方進行前期交涉和知會,確保數據或者信息獲取的有效性和真實性。分析用戶需求所執行的活動包括:用業務流程圖描述系統的整體業務活動,包括系統之間的接口和邊界;用數據流程圖模型來描述系統的數據流關系;通過過原型向用戶展示系統界面以及各項功能模塊;采用實體關系圖描述實體、屬性、關系三者之間的聯系。
在需求分析的過程中,開發人員既要尊重用戶的需求,也要尊重自身的需求分析過程。一方面,開發人員要進一步的提升自己對客戶需求分析的精準性和對應性,就是要分析用戶提出的需求當中所衍生出的隱含需求,這一點往往容易忽略掉,這就需要系統分析員在與用戶交流當中,關注用戶的表情、眼神、用語,避免出現不專業的現象,讓客戶對于開發人員的需求分析失去信心,另一方面,開發人員要判斷用戶提出的需求是否合理,對于不合理的需求,開發方要給出不合理的理由和原因,不能夠一味地去屈從用戶,特別是有的用戶需要一再的縮減開發成本,這對于軟件開發的質量水平是極其不利的。
(三)需求說明書的編寫
需求說明書的編寫是開發人員需求分析的書面呈現,其編寫的主要目的在于更加具象化的將軟件開發過程描述出來,便于開發人員與客戶進行相關的交流協作,并且作為軟件開發過程中的進度依據,便于對軟件開發管理過程中的控制和管理工作。
在編寫需求說明書的過程中,開發人員首先應該注意到需求的全面性以及軟件共性表達。應該特別注重對于開發過程中模糊不清的需求進行清晰的表達,在需求分析中暫時加上“待定”標志是個方法。用該標志可指明哪些是需要進一步討論、分析或增加信息的地方,有時也可能因為某個特殊需求難以解決或沒有人愿意處理它而標注上“待定”。客戶要盡量將每項需求的內容都闡述清楚,以便分析人員能準確地將它們寫進“軟件需求報告”中去。如果客戶一時不能準確表達,通常就要求用原型技術,通過原型開發,客戶可以同開發人員一起反復修改,不斷完善需求定義。
(四)需求確認與評審
需求確認與評審是不可逾越的兩個階段,有研究表明:由客戶發現的一個錯誤,然后更正錯誤,約需要多花 90 倍的時間,可以看出,需求確認和評審階段的重要性。
在這一階段,關鍵過程在于確立需求評審的嚴肅性,在對需求評審的現場,必須要有開發方和用戶方雙方的領導以及專家的共同在場,開發方在對需求報告進行講解的過程中,應該巨細無遺,不能放過任何一個功能模塊,使得雙方共同找出需求調研中不合理的、不完善的、有歧義的、遺漏的問題。需求評審的目的是要獲得用戶的認可,如果用戶以種種理由不以確認,那么系統分析員要盡快拿出原型系統來給用戶確認,否則后續的工作將無法順利開展,并伴隨著無窮無盡的需求變更。
(作者單位為華北計算技術研究所)
參考文獻
[1] 魏昊,劉建新.淺談軟件項目開發過程中的需求分析和范圍管理[J].北京工業職業技術學院報,2014.
[2] 李愛東.淺談“大學計算機信息技術”網絡課件開發的需求分析和需求管理[J].電腦學習,2013(05).
[3] 郭晉秦.軟件項目管理在實際開發中的應用與實踐[J].電腦編程技巧與維護,2013 (12).
[4] 孫連英,張德政.基于統一軟件項目過程管理的監理框架[J].北京聯合大學學報 (自然科學版),2014(03).