软件开发的生命周期描述
軟件項目的生命周期:
項目計劃
需求分析
設計(概要設計和詳細設計)
編碼
測試
發布
維護
項目計劃階段:走訪客戶,進行交流溝通,獲得客戶原始需求。
對客戶的需求和市場等進行調研,分析,編寫可行性分析報告。
通過不斷的與客戶溝通,找客戶不同環節的用戶進行交流來獲取需求。召開評審會議,報告可行性分析,報告用戶原始需求,報告項目遠景規化。
需求分析階段:
在客戶原始需求的基礎上不斷與客戶溝通,充分的熟悉和深入客戶業務,獲得充分的業務需求,完善用戶需求和功能性需求,了解客戶的相關約束而獲得非功能性需求。最終編寫《需求規格說明書》;召開需求評審會議,客戶確定需求,并簽定合同;編寫項目計劃說明書;編寫測試計劃;召開項目啟動會議,項目正式啟動。
概要設計階段:根據《需求分析說明書》,進行用例分析,獲得充分而有效的用例。編寫界面原型,編寫編碼規范和界面風格規范,數據庫設計規范。用uml工具畫用例圖,編寫有效的用例規約文檔。劃分項目功能模塊.評審用例及用例規約文檔。
詳細設計階段:根據完整的用例及需求進行分析,獲得數據庫所需的相關信息,畫數據庫E-R圖,編寫數據設計說明書.進行數據庫建模。進行詳細的分析,用uml工具畫類圖,確定每個功能模塊的子功能,抽取項目的公共部分成為一個公共模塊。確定項目的架構基礎。確定需要用到的類及類成員和方法。確定一些輔助類及方法。對每一個用例都用uml工具畫出順序圖。編寫詳細設計說明書,評審詳細設計說明書, 進行基礎框架搭建。列出任務清單,進行任務分配。
編碼階段:以小組的形式進行代碼編寫,編寫單元測試用例,每完成一個類都要進行單元測試。每完成一個功能點和模塊都要進行集成測試。確保每一個功能點和模塊完成后都是一個可以看得見、摸得著的產品。而不是等到最后才進行統一的調試和搭配。每天都要對代碼進行檢查和優化,也就是所謂的重構。
測試階段:根據測試計劃對項目進行系統測試,以及用戶的驗收測試
產品發布:交付完整的產品和設計文檔。把產品布署到客戶的計算機上,確保產品的正常運行。客戶簽收。
維護階段:為客戶提供技術保障,對產品進行相應的維護和升級工作
軟件常見開發模型
瀑布模型:最經典的過程模型,適用于需求明確,規模較小的項目
噴泉模型:迭代,無間隙特點,適用于面向對象的軟件開發過程
螺旋模型:
MSF模型:微軟解決方案過程模型
什么是極限(XP)編程:極限編程是對敏捷軟件開發方法的一種實現。它強調測試先行,也就是在編寫代碼的時候先編寫測試用例;循環迭代,每一次迭代都是一個可用的產品;重構,不斷的對代碼進行優化;結對編程,兩個人為一對共同進行代碼編寫;它強調團隊之間的知識傳播,讓團隊的每個人都能熟悉軟件開發的各種技術。如:支持熟悉數據庫的人去做界面,做界面的人去做數據庫等,通過不定期的角色轉換來增強團隊的能力。要求客戶參與到軟件開發中來,開發出最適合客戶需求的產品。
單元測試一般是在編碼的時候同步進行的,一般是以類為單位進行測試,當一個類完成了編碼,并編譯正確后才進行的測試,測試這個類是否已經能夠實現指定的功能。一個類能夠正常的編譯成功并不意味著這個類就已經完成了,還要通過測試,設置斷言來確定他是否已經達到了預期的效果,實現了特定的功能。調試,編譯通過只能證明代碼的語法沒有錯誤。
單元測試由程序員自己來進行,也可以在項目小組內交互進行。單元測試是采用白盒測試
集成測試一般指實現了一個功能點或一個模塊后,為了測試這個模塊是否已經實現了需求要求的功能。集成測試可能需要對多個類進行組裝,也可能需要與以前已經測試通過的模塊進行組裝,是對產品組件的系統整合和執行。集成測試可以根據模塊的大小分不同的級別,在現行的軟件開發中,每完成一個功能模塊都必須要進行一次集成測試,使得你完成的模塊是一個可以運行的產品。集成測試一般可以由項目小組的負責人(或指定一個小組成員)來完成。集成測試采用白盒式測試和黑盒測試
系統測試一般指項完代碼已經全部完成,交給測試小組來進行測試。進行系統測試的人員獨立于開發小組,系統測試人員把完成的產品布署在相應的計算機環境中,按照測試計劃進行測試,驗證系統是否滿足了指定的需求。系統測試除了測試產品應滿足基本的功能需求外,還要對產品的性能,用戶界面,安全性,壓力,可靠性,安裝和反安裝等幾個方面進行測試
系統測試采用黑盒測試
驗收測試一般指產品交付給客戶,負責把產品布署在指定的計算機環境中。由用戶根據需求文檔,進行的總體測試。驗收測試的內容和系統測試一樣,只是執行者不同。都是除了測試系統完成基本功能外還要對性能,安全性,可靠性等進行測試。驗收測試也是采用黑盒測試
閱讀(0)|?評論(0)?|?編輯?|刪除?|推送?|置頂轉載于:https://www.cnblogs.com/hui1107464497/p/4502174.html
總結
以上是生活随笔為你收集整理的软件开发的生命周期描述的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Xcode 修改工程名以及注意事项
- 下一篇: Vue跨路由触发事件,Vue监听sess