乾貨!帶你揭祕軟件的生存週期

很多剛進入互聯網領域或剛開始學習編程的小夥伴都會認為,說起軟件開發,其可以聯想到的就是編寫程序。這也造成了很多非互聯網人員對軟件開發這樣一個工作產生了一定的誤解。


但其實不然,編寫程序只不過是在進行軟件開發的過程中較為基礎的一個部分,而並非屬於軟件開發整個過程的全部。


乾貨!帶你揭秘軟件的生存週期


其實軟件和很多產品一樣,都是有一定的生存週期的,這個週期就叫做“軟件生存週期”。同時它也是在進行軟件開發的時候必須要經過的一個階段。


所以今天大灰狼就來和大家分析一下,一個軟件從開始設想到最後投入使用,這樣一個生存週期的過程。

乾貨!帶你揭秘軟件的生存週期


從上面這個圖,我們就可以很直觀的看出一個軟件的生存週期包括:可行性研究與計劃、需求分析、總體設計、詳細設計、實現(編碼與單元測試)、集成測試、確認測試、使用與維護八個階段。


其實在軟件開發的過程中,這八個階段每一步都是至關重要且不可忽視的。那麼接下來大灰狼就來和大家聊一聊,這八個階段各有怎樣的關鍵任務和要做哪些工作。

01


可行性研究與計劃


我們在開發任何一款軟件的時候,都要對它進行可行性研究分析,進行深入的調研,來判斷這款軟件的開發是否具有一定的可行性。就像我們去做一件事兒,要事先對他進行考慮是否行得通是一樣的道理。


在可行性研究與計劃中,它的關鍵任務是要解決怎樣的問題,是否具有行的通的解決辦法和進行粗略的計劃。


乾貨!帶你揭秘軟件的生存週期


那麼當這一過程完成之後,我們必須要生成的三個文檔:


問題定義報告:其中應包含問題性質、工程目標和工程規模三項;


可行性研究報告:其中應該對經濟技術社會操作可行性進行詳細分析;


項目開發計劃:在這一項中,我們應該對該軟件開發的過程進行粗略計劃實施,以保證後續的開發工作可以有較為全面的依託。

02


需求分析


當我們的軟件通過可行性分析以後,那麼就會進入需求分析這樣一步,這一步主要是與用戶進行溝通、分析用戶的需求,並能夠較好的根據用戶需求進行軟件開發。


在這一步中,我們要做的關鍵任務是:目標系統必須要做什麼內容,由於可行性研究的需求分析是粗略的、不準確的。


乾貨!帶你揭秘軟件的生存週期


所以在需求分析這一步,我們必須要進行完整、準確、清晰、具體的軟件開發需求分析,這樣才能保證我們的軟件在開發處男以後與用戶所需求差距更小。


在需求分析這一步完成以後,我們要生成的文檔是需求規格說明書,其內容應包含目標系統的詳細需求。

03


總體設計


當我們詳細的瞭解到用戶的需求之後,就要對整個軟件的開發過程進行整體而又詳細的設計。


在這一步的關鍵任務是:應該怎樣實現目標?系統根據需求設計方案分析推薦最佳方案、設計軟件結構等。


當進行總體設計之後,要生成的文檔是總體設計說明書,該說明書中應詳細記錄總體設計的結果。


04


詳細設計


當進行總體設計之後,我們要進入的便是詳細設計階段。


在該階段中,我們要將進行軟件開發時所使用的語言算法函數以及各類型褲確定下來,並進行詳細設計規劃、選擇處進行該軟件較為合適的設計方案,具體到每一個方法和每一個代碼。


該階段的關鍵任務是:應該怎樣具體的實現系統設計,每個模塊的算法和數據結構。


乾貨!帶你揭秘軟件的生存週期


在該階段完成時,應生成的是詳細設計說明書,該說明書中應包含適當表達工具、表達算法和數據結構內容,對所用到的函數及方法進行分析。

05


實現


在實現階段,包含兩方面內容:一方面是編碼,另一方面為單元測試,同時這也是我們剛進入軟件開發編程階段時學習的內容。


在該階段,我們要做的關鍵任務便是選擇語言工具翻譯和進行詳細設計結果並對每一個編碼完成的模塊進行測試,這樣一個過程就叫單元測試。


乾貨!帶你揭秘軟件的生存週期


當編碼完成後,應實現的階段性文檔是:程序清單和單元測試報告,其中應對所用到的關鍵程序進行詳細介紹,並對每一個模塊的檢驗結果進行分析說明,確保構成軟件的每一個單元完好無誤。

06


集成測試


當我們將程序以單元的方式進行編寫完畢之後,我們要做的就是將各個單元模塊進行集成。


在該階段要做的關鍵任務是:將進行單元測試模塊組裝起來進行測試,通過測試使軟件達到預定要求。


在該階段要生成的是:測試報告,其中應包含測試計劃,測試方案和測試結果三方面,並對測試中所出現的問題進行分析。

07


確認測試


該測試是由用戶進行接觸的測試,因此又叫驗收測試。


是我們將進行集成測試過後的軟件交付給用戶,讓用戶進行最後的確認測試,並對軟件中所存在的問題和缺陷進行提出,對於需求不一樣的內容進行更正。


乾貨!帶你揭秘軟件的生存週期


該階段的關鍵任務是:由用戶按需求規格說明書規定進行檢測,這就用到第二階段需求分析時所生成的「需求規格說明書」,同時它也是檢驗我們所開發的軟件是否達到用戶所預期需求的唯一標準。


該階段要稱成的文檔是測試報告,其中應包含軟件的設計方案和軟件,最後測試結果。

08


使用與維護


當用戶進行確認測試並驗收以後,軟件就已基本完成。但在軟件使用的過程中,難免會出現由於環境和方式的不同而產生的問題。因此,要對軟件進行定期維護。


該階段所要完成的關鍵任務是:通過必要的維護活動,使系統持久滿足用戶的需求。


同時進行維護的類型可以分為:


改正性維護:即用戶在運行軟件的過程中出現問題和發現錯誤並進行維護;


適應性維護:軟件在運行過程中,軟硬件環境發生變化時應進行的維護;


完善性維護:用戶在使用過程中發現軟件存在不足,提出要求,改進擴充軟件時所進行的維護。


預防性維護:作為軟件開發者一方,應對軟件將來可能要出現的問題進行分析,併為將來的維護做出準備。


乾貨!帶你揭秘軟件的生存週期


以上便是進行軟件開發時所必須的八個階段,由此便可以看出,編碼階段只不過是在軟件開發中的一部分,當總體設計和詳細設計分析出來以後,只需按照需求進行編碼即可。


因此軟件的開發過程總體依託這八個方面逐步進行,只有這樣才能儘可能的保證在軟件開發過程中將風險和問題降到最低。


覺得有用記得點贊分享,大灰狼為你的軟件開發之路助一臂之力!

同時也可以關注大灰狼的微信公眾號“灰狼洞主”,獲取更多軟件及互聯網開發乾貨!


分享到:


相關文章: