軟件就是敲代碼?一篇文章帶你了解軟件生存周期!
@TOC
很多剛進入互聯(lián)網(wǎng)領域或剛開始學習編程的小伙伴都會認為,說起軟件開發(fā),其可以聯(lián)想到的就是編寫程序。這也造成了很多非互聯(lián)網(wǎng)人員對軟件開發(fā)這樣一個工作產(chǎn)生了一定的誤解。
但其實不然,編寫程序只不過是在進行軟件開發(fā)的過程中較為基礎的一個部分,而并非屬于軟件開發(fā)整個過程的全部。
其實軟件和很多產(chǎn)品一樣,都是有一定的生存周期的,這個周期就叫做“軟件生存周期”。同時它也是在進行軟件開發(fā)的時候必須要經(jīng)過的一個階段。
所以今天大灰狼就來和大家分析一下,一個軟件從開始設想到最后投入使用,這樣一個生存周期的過程。
從上面這個圖,我們就可以很直觀的看出一個軟件的生存周期包括:可行性研究與計劃、需求分析、總體設計、詳細設計、實現(xiàn)(編碼與單元測試)、集成測試、確認測試、使用與維護八個階段。
其實在軟件開發(fā)的過程中,這八個階段每一步都是至關重要且不可忽視的。那么接下來大灰狼就來和大家聊一聊,這八個階段各有怎樣的關鍵任務和要做哪些工作。
可行性研究與計劃
我們在開發(fā)任何一款軟件的時候,都要對它進行可行性研究分析,進行深入的調(diào)研,來判斷這款軟件的開發(fā)是否具有一定的可行性。就像我們?nèi)プ鲆患聝海孪葘λM行考慮是否行得通是一樣的道理。
在可行性研究與計劃中,它的關鍵任務是要解決怎樣的問題,是否具有行的通的解決辦法和進行粗略的計劃。
那么當這一過程完成之后,我們必須要生成的三個文檔:
問題定義報告:其中應包含問題性質(zhì)、工程目標和工程規(guī)模三項;
可行性研究報告:其中應該對經(jīng)濟技術社會操作可行性進行詳細分析;
項目開發(fā)計劃:在這一項中,我們應該對該軟件開發(fā)的過程進行粗略計劃實施,以保證后續(xù)的開發(fā)工作可以有較為全面的依托。
需求分析
當我們的軟件通過可行性分析以后,那么就會進入需求分析這樣一步,這一步主要是與用戶進行溝通、分析用戶的需求,并能夠較好的根據(jù)用戶需求進行軟件開發(fā)。
在這一步中,我們要做的關鍵任務是:目標系統(tǒng)必須要做什么內(nèi)容,由于可行性研究的需求分析是粗略的、不準確的。
所以在需求分析這一步,我們必須要進行完整、準確、清晰、具體的軟件開發(fā)需求分析,這樣才能保證我們的軟件在開發(fā)處男以后與用戶所需求差距更小。
在需求分析這一步完成以后,我們要生成的文檔是需求規(guī)格說明書,其內(nèi)容應包含目標系統(tǒng)的詳細需求。
總體設計
當我們詳細的了解到用戶的需求之后,就要對整個軟件的開發(fā)過程進行整體而又詳細的設計。
在這一步的關鍵任務是:應該怎樣實現(xiàn)目標?系統(tǒng)根據(jù)需求設計方案分析推薦最佳方案、設計軟件結(jié)構(gòu)等。
當進行總體設計之后,要生成的文檔是總體設計說明書,該說明書中應詳細記錄總體設計的結(jié)果。
詳細設計
當進行總體設計之后,我們要進入的便是詳細設計階段。
在該階段中,我們要將進行軟件開發(fā)時所使用的語言算法函數(shù)以及各類型褲確定下來,并進行詳細設計規(guī)劃、選擇處進行該軟件較為合適的設計方案,具體到每一個方法和每一個代碼。
**該階段的關鍵任務是:應該怎樣具體的實現(xiàn)系統(tǒng)設計,每個模塊的算法和數(shù)據(jù)結(jié)結(jié)構(gòu)
在該階段完成時,應生成的是詳細設計說明書,該說明書中應包含適當表達工具、表達算法和數(shù)據(jù)結(jié)構(gòu)內(nèi)容,對所用到的函數(shù)及方法進行分析。
實現(xiàn)
在實現(xiàn)階段,包含兩方面內(nèi)容:一方面是編碼,另一方面為單元測試,同時這也是我們剛進入軟件開發(fā)編程階段時學習的內(nèi)容。
在該階段,我們要做的關鍵任務便是選擇語言工具翻譯和進行詳細設計結(jié)果并對每一個編碼完成的模塊進行測試,這樣一個過程就叫單元測試。
當編碼完成后,應實現(xiàn)的階段性文檔是:程序清單和單元測試報告,其中應對所用到的關鍵程序進行詳細介紹,并對每一個模塊的檢驗結(jié)果進行分析說明,確保構(gòu)成軟件的每一個單元完好無誤。
集成測試
當我們將程序以單元的方式進行編寫完畢之后,我們要做的就是將各個單元模塊進行集成。
在該階段要做的關鍵任務是:將進行單元測試模塊組裝起來進行測試,通過測試使軟件達到預定要求。
在該階段要生成的是:測試報告,其中應包含測試計劃,測試方案和測試結(jié)果三方面,并對測試中所出現(xiàn)的問題進行分析。
確認測試
該測試是由用戶進行接觸的測試,因此又叫驗收測試。
是我們將進行集成測試過后的軟件交付給用戶,讓用戶進行最后的確認測試,并對軟件中所存在的問題和缺陷進行提出,對于需求不一樣的內(nèi)容進行更正。
該階段的關鍵任務是:由用戶按需求規(guī)格說明書規(guī)定進行檢測,這就用到第二階段需求分析時所生成的「需求規(guī)格說明書」,同時它也是檢驗我們所開發(fā)的軟件是否達到用戶所預期需求的唯一標準。
該階段要稱成的文檔是測試報告,其中應包含軟件的設計方案和軟件,最后測試結(jié)果。
使用與維護
當用戶進行確認測試并驗收以后,軟件就已基本完成。但在軟件使用的過程中,難免會出現(xiàn)由于環(huán)境和方式的不同而產(chǎn)生的問題。因此,要對軟件進行定期維護。
該階段所要完成的關鍵任務是:通過必要的維護活動,使系統(tǒng)持久滿足用戶的需求。
同時進行維護的類型可以分為:
改正性維護:即用戶在運行軟件的過程中出現(xiàn)問題和發(fā)現(xiàn)錯誤并進行維護;
適應性維護:軟件在運行過程中,軟硬件環(huán)境發(fā)生變化時應進行的維護;
完善性維護:用戶在使用過程中發(fā)現(xiàn)軟件存在不足,提出要求,改進擴充軟件時所進行的維護。
預防性維護:作為軟件開發(fā)者一方,應對軟件將來可能要出現(xiàn)的問題進行分析,并為將來的維護做出準備。
以上便是進行軟件開發(fā)時所必須的八個階段,由此便可以看出,編碼階段只不過是在軟件開發(fā)中的一部分,當總體設計和詳細設計分析出來以后,只需按照需求進行編碼即可。
因此軟件的開發(fā)過程總體依托這八個方面逐步進行,只有這樣才能盡可能的保證在軟件開發(fā)過程中將風險和問題降到最低。
覺得有用記得關注分享,大灰狼為你的軟件開發(fā)之路助一臂之力!
單元測試 軟件開發(fā)
版權(quán)聲明:本文內(nèi)容由網(wǎng)絡用戶投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔相應法律責任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實的內(nèi)容,請聯(lián)系我們jiasou666@gmail.com 處理,核實后本網(wǎng)站將在24小時內(nèi)刪除侵權(quán)內(nèi)容。