軟件開發是在做什麽?

006z8ADjzy77YwO0G0D6f&690

一、基本定義      

        軟件開發是根據用戶要求建造出軟件係統或者係統中軟件部分的一個產品開發的過程。軟件開發是一項包括需求獲取、開發規劃、需求分析和設計、編程實現、軟件測試、版本控製的係統工程。換句話說,軟件開發就是一係列最終構建出軟件產品的活動。

二、階段劃分

1、計劃

       對所要解決的問題進行總體定義,包括了解用戶的要求及現實環境,從技術、經濟和社會因素等3個方麵研究並論證本軟件項目的可行性,編寫可行性研究報告,探討解決問題的方案,並對可供使用的資源(如計算機硬件、係統軟件、人力等)成本,可取得的效益和開發進度作出估計,製訂完成開發任務的實施計劃。

2、分析

       軟件需求分析就是對開發什麽樣的軟件的一個係統的分析與設想。它是一個對用戶的需求進行去粗取精、去偽存真、正確理解,然後把它用軟件工程開發語言(形式功能規約,即需求規格說明書)表達出來的過程。本階段的基本任務是和用戶一起確定要解決的問題,建立軟件的邏輯模型,編寫需求規格說明書文檔並最終得到用戶的認可。需求分析的主要方法有結構化分析方法、數據流程圖和數據字典等方法。本階段的工作是根據需求說明書的要求,設計建立相應的軟件係統的體係結構,並將整個係統分解成若幹個子係統或模塊,定義子係統或模塊間的接口關係,對各子係統進行具體設計定義,編寫軟件概要設計和詳細設計說明書,數據庫或數據結構設計說明書,組裝測試計劃。在任何軟件或係統開發的初始階段必須先完全掌握用戶需求,以期能將緊隨的係統開發過程中哪些功能應該落實、采取何種規格以及設定哪些限製優先加以定位。係統工程師最終將據此完成設計方案,在此基礎上對隨後的程序開發、係統功能和性能的描述及限製作出定義。

3、設計

       軟件設計可以分為概要設計和詳細設計兩個階段。實際上軟件設計的主要任務就是將軟件分解成模塊,然後進行模塊設計。模塊是指能實現某個功能的數據和程序說明、可執行程序的程序單元。可以是一個函數、過程、子程序、一段帶有程序說明的獨立的程序和數據,也可以是可組合、可分解和可更換的功能單元。概要設計就是結構設計,其主要目標就是給出軟件的模塊結構,用軟件結構圖表示。詳細設計的首要任務就是設計模塊的程序流程、算法和數據結構,次要任務就是設計數據庫,常用方法還是結構化程序設計方法。

4、編碼

       軟件編碼是指把軟件設計轉換成計算機可以接受的程序,即寫成以某一程序設計語言表示的“源程序清單”。充分了解軟件開發語言、工具的特性和編程風格,有助於開發工具的選擇以及保證軟件產品的開發質量。

5、測試

       軟件測試的目的是以較小的代價發現盡可能多的錯誤。要實現這個目標的關鍵在於設計一套出色的測試用例(測試數據與功能和預期的輸出結果組成了測試用例)。如何才能設計出一套出色的測試用例,關鍵在於理解測試方法。不同的測試方法有不同的測試用例設計方法。兩種常用的測試方法分別是白盒法和黑盒法,白盒法測試對象是源程序,依據的是程序內部的邏輯結構來發現軟件的編程錯誤、結構錯誤和數據錯誤。結構錯誤包括邏輯、數據流、初始化等錯誤。白盒法用例設計的關鍵是以較少的用例覆蓋盡可能多的內部程序邏輯結果。黑盒法依據的是軟件的功能或軟件行為描述,發現軟件的接口、功能和結構錯誤。其中接口錯誤包括內部/外部接口、資源管理、集成化以及係統錯誤。黑盒法用例設計的關鍵同樣也是以較少的用例覆蓋模塊輸出和輸入接口。

6、維護

       維護是指在已完成對軟件的研製(分析、設計、編碼和測試)工作並交付使用以後,對軟件產品所進行的一些軟件工程的活動。即根據軟件運行的情況,對軟件進行適當修改,以適應新的要求,以及糾正運行中發現的錯誤。編寫軟件問題報告、軟件修改報告。

   昆明AG捕鱼科技http://www.kunmingapp.cn/有限公司專注軟件開發領域,一直秉承著客戶至上、專注創新的理念合作,任何一個項目AG捕鱼都會安排專業產品經理跟客戶溝通需求,並了解行業內容。經過深度溝通了解後AG捕鱼會設計出兩款方案,表明每款方案的利弊,以及能為企業帶來的價值,客戶同意後安排報價以及簽訂合同。

APP開發資訊

最新行業資訊信息

貴陽APP開發——開發A...

2019-05-15 15:19 11

現在越來越多的企業開發專屬自己的APP,在這裏貴陽AG捕鱼小編要提醒大家不要盲目開發APP,一定要提前做好規劃和準備,才能保證APP的開發、推廣和運營順利進行。今天給大家從APP開發前、APP開發時和A...

查看詳情

貴陽APP開發——ioses開...

2019-05-14 17:33 21

現在很多企業都有了開發APP的需求,而APP開發大家首選ioses ,但是大家知道ioses APP開發優勢有哪些嗎?AG捕鱼小編給大家歸納了以下幾點供大家參考; 1.盈利容易 iphoness用戶更傾向與ioses APP付費,一...

查看詳情

App3種開發方式的優劣分析...

2019-05-09 13:54 44

App混合開發(英文名:Hybrid App),是指在開發一款App產品的時候為了提高效率、節省成本即利用了原生的開發技術還應用了HTML5開發技術,是原生和HTML5技術的混合應用。目前App的開發主要包含三種方式...

查看詳情