uml在其中的各個階段都有不同的應用,如下所述。
(1)需求階段:採用用例圖描述需求。
(2)分析階段:採用類圖描述靜態結構,採用順序圖、協作圖、活**和狀態圖描述動態行為。
(3)設計階段:採用類圖對類的介面進行設計。
(4)開發階段:採用某種物件導向語言實現。
(5)測試階段:單元測試採用類圖和類的規格說明書;整合測試採用類圖、協作圖;系統測試採用用例圖。
(6)交付階段:採用構件圖和部署圖。
瀑布模型產生的歷史背景是20世界70年代出現的軟體危機,該模型將軟體開發分為若干階段,由於其類似於瀑布從上到下的過程,故稱其為「瀑布模型」。推遲實現的觀點
質量保證:
缺點:開始需要把需求做到最全,懼怕使用者測試中的反饋,懼怕需求變更。
v模型是在瀑布模型的基礎上發展而來的。
v模型大體可以劃分為以下幾個不同的階段步驟:需求分析、概要設計、詳細設計、軟體編碼、單元測試、整合測試、系統測試、驗收測試。v模式是一種傳統軟體開發模型,一般適用於一些傳統資訊系統應用的開發;而一些高效能高風險的系統、網際網路軟體,或乙個系統難以被具體模組化的時候,就比較難做成v模式所需的各種構件,需要更強調迭代的開發模型或者敏捷開發模型。
w模型:由evolutif公司提出,相對於v模型,w模型增加了軟體開發各階段中同步進行的驗證和確認活動。缺點:增量模型:把軟體分成許多個構件,每個構件分別當作乙個軟體來分析、設計、編碼、測試。開發人員一次乙個構件的提交給使用者,最後組裝到一起。如圖所示,由兩個v字型模型組成,分別代表測試與開發過程,圖中明確表示出了測試與開發的並行關係。
缺點:並行開發構件有可能遇到不能整合的風險,軟體必須具備開放式的體系結構。
螺旋模型:在快速原型模型的每乙個原型前引入乙個非常嚴格的風險分析,每個模型經過制定計畫、風險分析、實施工程、客戶評估四步走。每個原型都標識乙個或多個主要風險,直到所有的主要風險因素都被確定。螺旋模型由風險驅動,強調可選方案和約束條件從而支援軟體的重用,有助於將軟體質量作為特殊目標融入產品開發之中。
缺點:噴泉模型:以使用者需求為動力,以物件為驅動的模型,主要用於描述物件導向的軟體開發過程。該模型認為軟體開發過程自下而上週期的各階段是相互迭代和無間隙的特性。噴泉模型不像瀑布模型那樣,需要分析活動結束後才開始設計活動,設計活動結束後才開始編碼活動。該模型的各個階段沒有明顯的界限,開發人員可以同步進行開發。
瀑布型生命週期包括可行性分析與開發項計畫、需求分析、設計(概要設計和詳細設計)、編碼、測試、維護等階段。耦合可以分為以下幾種,它們之間的耦合度由高到低排列如下:
總結:耦合是影響軟體複雜程度和設計質量的乙個重要因素,為提高模組的獨立性,應建立模組間盡可能鬆散的系統,在設計上我們應採用以下原則:若模組間必須存在耦合,應盡量使用資料耦合,少用控制耦合,慎用或有控制地使用公共耦合,並限制公共耦合的範圍,盡量避免內容耦合。內聚有如下的種類,它們之間的內聚度由弱到強排列如下:
總結:在模組劃分時,要遵循「乙個模組,乙個功能」的原則,盡可能使模組達到功能內聚。高內聚,低耦合的系統有什麼好處呢?
事實上,短期來看,並沒有很明顯的好處,甚至短期內會影響系統的開發進度,因為高內聚,低耦合的系統對開發設計人員提出了更高的要求。
高內聚,低耦合的好處體現在系統持續發展的過程中,高內聚,低耦合的系統具有更好的重用性,維護性,擴充套件性,可以更高效的完成系統的維護開發,持續的支援業務的發展,而不會成為業務發展的障礙。
軟體工程總結
單擊檢視大圖 這張圖,把軟體工程的基本點,總結出來了。其實簡單的說,就是對一款軟體從前到後的管理,從巨集觀到微觀的把控。這裡需要我們考慮的方面很多,需要我們有乙個統籌兼顧的頭腦。這裡我們這些開發過程如何讓別人明白,需要的就是我們文件,這裡的每個階段的文件都起著至關重要的作用。當然,這裡物件導向的簡單...
軟體工程總結
黑盒測試也稱功能測試,它是通過測試來檢測每個功能是否都能正常使用。在測試中,把程式看作乙個不能開啟的黑盒子,在完全不考慮程式內部結構和內部特性的情況下,在程式介面進行測試,它只檢查程式功能是否按照需求規格說明書的規定正常使用,程式是否能適當地接收輸入資料而產生正確的輸出資訊。黑盒測試著眼於程式外部結...
軟體工程總結
黑盒測試也稱功能測試,它是通過測試來檢測每個功能是否都能正常使用。在測試中,把程式看作乙個不能開啟的黑盒子,在完全不考慮程式內部結構和內部特性的情況下,在程式介面進行測試,它只檢查程式功能是否按照需求規格說明書的規定正常使用,程式是否能適當地接收輸入資料而產生正確的輸出資訊。黑盒測試著眼於程式外部結...