【摘 要】在應用軟件開發過程中,由于軟件需求本身的不確定性、用戶與開發者之間的溝通障礙、隨著時間推移用戶的需求發生了變化以及用戶變更等原因,可能使需求分析偏離實際需求而最終導致軟件開發過程不斷的被延遲甚至失敗。需求分析是軟件開發過程中最初始、最基礎的工作,也是最重要的工作之一,其成敗將直接并最終決定軟件開發的成敗,并且呈倍增效應。
【關鍵詞】應用軟件;開發過程;探析
1.快速原型法。以原型(即軟件產品的樣品)為共同語言,實現用戶與軟件設計者雙向溝通的快速原型法,簡稱原型法(prototyping)。建立原型的主要原因是為了解決在產品開發的早期階段不確定性的問題,有助于說明和糾正這些不確定性。快速原型法的基本思路是,通過在軟件生產中引進其它工業在生產新產品之前先試制樣品的方法, 在產品開發的早期階段,開發人員做出真實系統的一個模型或一部分者用來向用戶演示,以確定用戶真正的需求,解決需求規格確立的難題。原型根據其目的和生存期形態,分為試驗性原型和試用性原型,拋棄式原型和演化式原型。快速原型法的優點:這種方法使得用戶在早期就能看到軟件的雛形或者其中的一部分,用戶通過對原型的評價可以指出需求中的許多問題,在真正開發之前,可以用最低的費用來解決這些問題。快速原型法的局限性:原型法需要有工具支持,否則開發工作量太大,很難在目的與成本之間找到平衡點,所以工具的水平限制著原型法的實現。
2.UML面向對象分析法。UML (Unified Modeling Language)是一種基于00方法(面向對象方法)的建模圖形語言,用于對軟件系統進行說明、構造、可視化和文檔的建立。UML在需求分析中的應用主要是用例(Use Case)模型,類圖和狀態圖這三個視圖的建模過程。UML的核心和基礎是用例,是從用戶角度出發來考慮計算機能實現哪些具體目標從而幫助開發人員獲取更多的需求。從需求角度來說,一個用例就是用戶由于某種外部事件而與計算機之間進行的一次交互。
3.領域分析方法。"領域"是指一組具有相似或相近軟件需求的應用系統所覆蓋的功能區域。領域分析方法在軟件需求分析的應用是以面向對象和基于復用的開發為基礎的。根據所要開發的軟件的應用范圍,將原有的該領域的功能類似的產品或者其原型作為需求分析階段的進化型原型。用戶根據該原型提出自己的修改意見。
4.面向Agent分析方法。Agent是一個比對象和類更加抽象的概念,適合作為需求分析的描述對象:即在一個相對抽象的概念層次上對系統進行描述,而不涉及系統實現的具體設計細節。面向agent的需求分析就是指基于這一概念、借助于面向計算范型的思想對系統進行工程化需求分析的方法學,它提供了良定義和結構化的過程以及相應的建模語言對面向Agent的系統進行描述、分析和建模。面對不同的系統實現需要各種Agent開發平臺也隨之出現。Agent應用于需求階段比分析的結果是一個一致和無二義的軟件需求規范具有更大的穩定性和可復用性。
5.領域專家全程參與。領域專家由于既有豐富的行業知識,又有深厚的開發功底,是聯系用戶和開發者的最佳橋梁。其全程參與,可以保證需求及變更始終處于控制之中,是降低需求風險的最有效手段之一。
6.迭代式需求開發。由于需求變更是客觀的、永恒的。
總之,文章側重介紹了需求開發的幾種比較可行的方法。其中快速原型法可以在產品開發最初階段給用戶對真正產品一個感性的認識,特別適用于用戶對自身需求還不是特別明確的情況。
作者簡介:蔡鑫輝(1996.12-),男,浙江省嘉興市桐鄉市人,西北民族大學本科學生,研究方向為數據挖掘,軟件工程方法學等。
參考文獻:
[1]鄭人杰等.實用軟件工程(第2版).北京:清華大學出版社,2017版.
[2]史濟民等.軟件工程——原理、方法和應用.北京:高等教育出版社,2012.
[3]Pressman.軟件工程——實踐者研究方法(第4版).北京:機械工業出版社,1999.
[4]張龍祥.UML與系統分析設計.北京:人民郵電出版社,2001.
[5]孫家廣.軟件工程——理論、方法與實踐,高等教育出版社.