[摘 要] 軟件開發的需求分析是軟件工程中的核心內容,它可以根據客戶的需要導出軟件的思維業務功能,幫助軟件的開發者向客戶進行交流,滿足客戶的操作需求。當前,經常使用到的軟件需求分析技術包含面向對象和面向過程兩類,可以根據實際軟件的開發和實現進行選擇。根據多年的軟件開發經驗,深入分析了軟件需求分析的作用,探究了軟件需求分析技術。
[關 鍵 詞] 軟件;需求分析;技術
[中圖分類號] TP31 [文獻標志碼] A [文章編號] 2096-0603(2017)36-0210-02
隨著我國社會科技的迅速發展,計算機技術已經被各行各業廣泛使用,例如在工業控制、電子商務、金融證券等行業里,都發揮出了強大的作用。軟件系統開發過程中的需求分析可以讓軟件工程師很好地與客戶進行交流溝通,可以迅速獲取到信息完成后續的工作,以此來獲取并滿足客戶的需求,在軟件開發中具有非常重要的作用。
一、需求分析的認知
需求分析是針對用戶需求不斷進行演示和分析的過程,要通過對可行性進行分析,然后確定系統的目標和功能,進一步分析和探討,確定用戶的要求。其需求分析的具體內容可以分為兩類:第一,功能性的需求和非功能性的需求。功能性需求是指系統當中的各方面功能零件和實際環境之間有著相互作用的關系,即將要開發的軟件在實際的工作崗位可以做的內容是什么。非功能性的需求換個詞叫被束縛,它主要是通過各方面對所考慮到的問題起到約束和限制的作用,如時間、儲存和界面的限制等。第二,用戶最重要的需求[1]。其需求分析可以了解到用戶最主要的需求是什么,大多數都是系統的輸入、系統能完成的內容和有什么功能等反應。
二、軟件需求分析作用
隨著技術的發展,軟件的功能變得越來越復雜,規模也變得越來越大,讓其操作功能也變得難以獲取。同時,人們也越來越重視軟件工程的作用,一些技術專家也在原有的基礎上進行了研究和改進。在軟件工程中,軟件需求分析是最不能缺少的環節,可以通過查詢相關的歷史資料,隨后分析出軟件的原型,和軟件用戶進行溝通,它還能發現原來系統存在的問題并了解到用戶的新要求,幫助工程師很好地完善軟件功能。其主要作用是了解軟件的處理過程,然后利用各項技術導出系統的邏輯業務功能模式,構成一個新的軟件模型給用戶觀看,讓客戶觀察是否能滿足自己的需要。軟件需求分析也是軟件設計和開發的基礎,其結果的準確度對后期的設計工作有非常大的影響,所以具有重要的作用。
三、需求分析對軟件開發的重要性
通常一些大型的軟件項目持續的時間會比較長,這是因為人的意識在變化,外界的環境也在變化,所以對軟件的要求也會有些變化,還有一個原因是開發人員在開發過程中與用戶進行交流后進行的修改[2]。軟件開發的不同階段其修改付出的代價也是不一樣的,早期的變動損失會比較少,而中期的變動損失就會比較嚴重。因為這個階段的軟件配置大多數已經完成了,要是有變動可能就要對已經完成的配置進行修改,不但加大了工作量,邏輯方面也會變得復雜;如果在軟件已經完成時變動,那在人力、物力、財力等方面就要付出更高的代價。用戶需求分析的目的就是通過調查與用戶進行交流,設計出來的軟件要盡量滿足用戶的需求,如果對用戶的需求沒有正確的認識就展開研發工作,這樣會帶來負面的影響。
四、軟件需求分析技術探討
目前在軟件需求分析過程中,最常用的技術有兩種,其中的表現方法也是不相同的,如,面向對象需求分析可用UML代表,面向結構可用數據流圖和業務流程圖表示。這兩類的技術可以應用到各項軟件開發工作中,具體分析如下:
(一)UML需求分析技術
UML需求分析技術是面向對象的思想需求分析技術,其原型是用例建模分析方法。這個方法最早是由美國的一位博士提出來的,然后被軟件工程的專家運用到了UML中,到如今已經成為規范化的軟件工程。UML需求分析通過使用靜態圖、類圖、順序圖、狀態圖等,利用這些與用戶、硬件設備和其他軟件系統進行交互,最后描述出軟件的功能[3]。UML技術在應用過程中,最關鍵的一步就是識別系統的參與者,這樣才能對參與者的需求進行調查和分析,通過各項圖形建模技術來研究軟件的業務功能。目前,UML需求分析技術在各行各業當中的軟件設計和開發工作中得到了廣泛的應用,其效果也非常的明顯。例如,在教學管理軟件的研發過程中,可以收集到用戶的角色有教師、學生、管理人員等,主要的功能包含了教師信息的管理、學生信息的管理和教務信息的管理等。
(二)數據流圖技術
在軟件需求分析的過程中,數據流圖是類似結構化的需求分析工具,它當然也是信息系統邏輯業務處理需求分析的模型之一,還可以把實際的數據信息進行抽象化。數據流圖可以通過圖形簡單的外觀表示出系統的邏輯業務功能,與系統當中的軟件硬件都沒有關系,也不用加入系統的物理部署環境,其應用的層次比較高。軟件數據流圖分析的過程包含的因素有外部實體、數據處理、數據流等,其中外部實體是指系統數據的起始點和終點,可以體現出數據流圖和外部實體之間的聯系,并且能表示出系統的組成部分。數據處理是指對數據進行加工和處理,讓軟件能滿足用戶的需求;數據流是指數據傳播的一個過程,代表的是數據從起點到終點的一個過程,能很直接地表現出數據處理的內容,數據流還可以利用矢量圖來表示,這樣能更方便地了解數據流傳輸的方向。
(三)業務流程圖技術
業務流程圖技術也是屬于結構化的需求分析方法。在軟件的需求分析過程中,為了讓用戶能更清楚地了解軟件的工作流程,利用業務流程圖能夠方便、快捷地導出系統的功能操作流程圖,能非常直觀地讓用戶了解其系統的功能。業務流程圖可以利用穩定的基本符號元素,分析出具體的邏輯業務處理過程,在分析軟件功能時,可以讓用戶更加清晰、全面地了解到系統的功能,并且掌握其系統的各項功能,清楚地知道如何通過系統輸入信息、輸出信息、存儲信息和信息處理的方法和步驟等,方便用戶能很好地處理數據信息,保障系統使用時的運行情況[4]。業務流程圖在如今的系統需求分析中已經是不能缺少的部分,也是系統需求分析當中最重要的環節。軟件業務流程圖在構建的過程中,可以通過基本的圖形符號,其中包含有系統用戶、系統信息流、系統的數據儲存等幾個類別,涉及的方面非常廣。在業務流程圖建模過程中,可以通過圓圈來表示系統的操作用戶,如一些單位的工作人員、教務管理人員、教師、學生等;利用矩形框來表示工作人員在工作過程中的信息業務加工和處理過程;實體、單據、憑證可以利用卡片形式的符號來表示;實心表示業務處理信息的具體流程;學校在實際的工作過程中,能夠非常簡單、明了地表示出教務管理信息系統的數據,并且標出管理系統處理的功能。
隨著軟件工程的不斷創新和應用,軟件需求分析技術也得到了發展[5],其已經由傳統的分析技術慢慢向原型化系統、敏捷需求分析、構件和零件等方面發展,適用于各種類型的軟件需求分析,可以導出完整的軟件功能,在各行業中都發揮出了自己的作用,滿足用戶各項需求。
參考文獻:
[1]米林.軟件開發周期中的需求分析[J].軟件工程師,2013,29(3):42-43.
[2]羅亞東.淺談軟件項目開發過程中的需求分析[J].電子技術與軟件工程,2014,28(9):93.
[3]羅薇紅.計算機軟件需求分析及開發研究[J].信息通信,2013,31(2):177.
[4]周偉.計算機應用軟件的需求分析與開發[J].計算機光盤軟件與應用,2014,24(1):287-288.
[5]文靜,顧勛梅.簡化數據流圖的功能點分析方法研究[J].計算機工程與應用,2011,47(36):86-90.