在线亚洲成人/中文字幕我不卡/涩五月婷婷/日日添日日鲁日日夜 - 99re国产精品视频

軟件是怎么開發出來的?
發布時間:2020-05-15

軟件開發流程

先上一個軟件開發的整體流程圖,這就是大名鼎鼎的“瀑布模型(Waterfall Model)”。據說由溫斯頓·羅伊斯(Winston Royce)在1970年提出。

瀑布模型

瀑布模型的特點為:上一階段的結果為本階段的輸入,開發進程從一個階段“流動”到下一個階段。

(圖中右側括號中為每個階段的輸出物。)

一般軟件售前人員對這個流程比較熟悉,這其中項目規劃、可行性論證報告、需求說明書等,通常都由IT售前人員提供。

如果將瀑布模型的設計部分分為總體設計、詳細設計兩部分,即“軟件開發的8個流程”:

1、問題定義階段

用戶提出一個軟件開發需求以后,分析人員首先要明確軟件的實現目標、規模及類型:如它是數據處理問題還是實時控制問題,是科學計算問題還是人工智能問題等。

2、可行性研究

基本任務:“對于上一個階段所確定的問題有行得通的解決辦法嗎”?

內容包括經濟可行性、技術可行性、法律可行性、不同方案。

結束標準:提出關于問題性質、工程目標和規模的問題定義書面報告;提出可行性研究報告。

3. 需求分析

基本任務:“為了解決這個問題,目標系統必須做什么?”

確定系統必須具有的功能和性能,系統要求的運行環境,并且預測系統發展的前景。

結束標準:軟件需求規格說明書(specification)

4. 總體設計(概要設計)

基本任務:“概括地說,應如何解決這個問題?”

設計出實現目標系統的幾種可能的方案。推薦一個最佳方案。

結束標準:概要設計文檔

5. 詳細設計

基本任務:“應該怎樣具體地實現這個系統呢?”

結束標準:設計出程序的詳細規格說明。

6. 編碼

基本任務:寫出正確的容易理解、容易維護的程序模塊

結束標準:以某種程序設計語言表示的源程序清單

7. 測試(單元測試和綜合測試)

基本任務:在設計測試用例的基礎上檢驗軟件的各個組成部分是否達到預定的要求。

結束標準:軟件合格,能交付用戶使用。

8. 軟件維護

基本任務:使系統持久地滿足用戶的需要。

改正性維護,適應性維護,完善性維護,預防性維護。

雖然后來提出很多模型,如演化模型(evolutionary model)、增量模型(incremental model)、原型模型(prototyping model)等,但現在軟件開發的流程,依然總體遵循瀑布模型。

如何搭建一個系統

說完流程,再說說系統是如何被開發人員搭建出來的。

系統的百度百科定義為:軟件系統(Software Systems)是指由系統軟件、支撐軟件和應用軟件組成的計算機軟件系統,它是計算機系統中由軟件組成的部分。

搭建系統可以分為三個步驟:環境部署、軟件開發、軟件部署。

系統部署步驟圖

1、環境部署

準備服務器,部署操作系統、軟件環境、安全軟件、FTP服務器等。數據庫和應用可分開布置在多個服務器,也可布置在同一服務器。

準備網絡,分為內網和外網。外網需要購買公網IP和域名。

負責人:網絡管理員

2、軟件開發

包括開發語言選擇、架構設計、數據庫設計等工作,并進行編碼、編譯、測試、打包。

負責人:程序員

3、軟件部署

將程序文件上傳到服務器,進行部署、配置,成功后即可通過客戶端訪問項目。

負責人:軟件實施

軟件開發階段

下面以java語言開發為例,簡單講講程序員是如何進行軟件開發的。

(本部分參考了“軟帝在線”公眾號、博客園“架構與我”的文章)。

1、新建java文件(或工程)

java源代碼本質上就是普通的文本文件,可以用txt等工具編輯java代碼(程序員一般采用源代碼編輯工具,如:Notepad++;或集成開發工具IDE,如:Eclipse)。txt編寫后需將文件擴展名改成java。

2、編寫代碼

以“Hello World”舉例編寫代碼:

publicclassHelloWorld{publicstaticvoidmain(String[] args){System.out.println("Hello World");}}

該程序表示的意思是輸出Hello World這樣一段話。

3、編譯程序

Java程序之所以能做到跨平臺運行,是因為Java程序運行在JVM中的,然而JVM只能夠識別字節碼文件,而不能直接識別Java文件。所以需要先將Java文件編譯成字節碼文件,即class文件,然后字節碼文件才能夠在JVM中運行。

編譯文件,可以通過手動執行Dos命令javac,或直接用編譯器如Eclipse完成。

4、運行程序

可在Dos命令窗口中輸入java命令,按回車,輸出Hello World;

或在編譯器的控制臺中看到輸出結果。

5、單元測試

單元測試(模塊測試)是開發者對編寫的一小段代碼,檢驗一個很小的、很明確的功能是否正確。

通常采用JUnit框架(多數java開發環境已集成)進行測試,即所謂白盒測試,叫“白盒”是因為程序員知道被測試的軟件如何(How)完成功能和完成什么樣(What)的功能。

測試通過后,就完成了軟件開發階段,可以打包部署了。