UML建模与软件工程
生活随笔
收集整理的這篇文章主要介紹了
UML建模与软件工程
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
| 前言 |
| 正文 |
? ? 舉個簡單例子,如果我想給自己的小寵物狗蓋個窩,開始的時候我手頭上有一堆木材、釘子、錘子、木鋸、尺子等,在開工之前稍微計劃一下,用半天或者一天的時間就可以完成。只要能容得下小寵物狗,能遮風擋雨,就算不美觀、差一點也是可以的。 ? ? 如果建筑師想建一座房子,他在打好地基之前就需要好好規劃一下。要根據房屋所需者的要求,建筑師先要為將要建造的房子設計一張草圖或者幾張房屋建設的藍圖,要考慮各個房間的用途以及照明取暖設備的布局,供所需者參考。然后在準備材料,請工人建房子。? ? 如果房地產開發商想要開發一個新樓盤,在正式動工之前,他需要對這個項目有一個合理的、詳細的規劃。有預算、有風險評估等,更是少不了該樓盤的圖紙、模型圖等。
? ? 我們的軟件系統開發,就類似于以上不同等級的蓋房子一樣。如果一個軟件開發團隊像建造狗窩一樣進行軟件開發,想要開發出高質量的軟件通常情況下會是失敗的。如果像建房子或者開發新樓盤一樣開發軟件,問題就不再是開始動工、寫代碼了,而是怎樣正確動工、怎樣正確寫代碼和怎樣減少代碼量了。這樣高質量軟件的開發就像建造房子、開發樓盤一樣,變成了一個有結構化、有過程化和與工具相結合的問題了。
? ? 我們在軟件開發過程中,使用UML建模就相當于是給房子畫藍圖、給新樓盤設計模型圖。軟件工程思想將軟件開發過程劃分了不同的階段,每個階段的文檔也是給不同的人員看的。文檔與UML圖是軟件開發過程的靈魂、是一個良好的軟件開發團隊中不可缺少的一部分。接下來具體說說它們之間的關聯。
UML與軟件工程的結合
前面小編學習了軟件工程,也總結了一些相應的博客;現在學習了UML建模。那么這兩者是怎樣結合在一起的呢?請看下面的一張圖:
一、項目開始階段
這個階段相當于軟件工程中的可行性研究,主要任務是通過與用戶的溝通,以確認待開發系統“要做什么”,并進行可行性研究,簡單來說就是從企業的角度出發研究這個項目是否能做、是否能盈利,如果可以盈利就去做。
1.本階段的重點:搞清項目的范圍、必要的業務流程、項目的技術限制
2.項目的成功關鍵因素:要充分了解利益相關方對于整體項目成功與否最關切的問題是什么,并且評估問題和項目成敗的風險是否相關。
這些方面在一開始就決定了此項目是否會成功,要不要進行這個項目。本階段結束之后,如果通過可行性研究分析,那么便進入下一個階段——需求分析。
二、需求分析階段
本階段主要是分析人員跟客戶溝通,進行需求的收集和分析,然后形成需求規格說明書之類的文檔,交由設計人員進行后續的系統設計工作。UML中的用例圖正是用于需求收集和表達的有力工具,但是如何找出用例并非易事,這是因為從用戶那里收集來的信息很可能是零散的、沒有系統性的,要直接從中找出正確的用例非常困難。因此在分析用例之前,可以先對企業級的業務流程進行規劃和設計,抓住企業的本質工作流,為后續進行詳細的需求收集和用例分析做好準備。這就會引出UML中另一個重要的圖—活動圖,在本階段的活動圖是服務于用例圖的。
要想進行業務流程設計,提到流程一定不能忘了活動圖。活動圖最適合用來描述企業的本質工作流。活動圖的應用:
1.項目起始階段,需求分析人員可以使用活動圖,針對與項目相關的企業活動,與領域專家一起設計流程。
2.項目上線階段,可以用利用起始階段的活動圖作為集成測試的重要參考依據
3.項目維護階段,企業管理人員可以通過活動圖了解企業現行的流程以及未來可以改善的方向。
三、系統設計階段
前一階段主要是使用用例圖,后續的設計和開發階段將圍繞用例展開。系統設計就階段的主要任務就是實現用例。
1. 系統的設計分為概要設計和詳細設計。概要設計即總體設計,這個階段是建立系統整體模型和架構的階段,需要抽象整個系統的結構,建立類模型就出現了,用類模型來模擬真實的系統關系模型,解決功能需求的問題。類圖的主要目的是在進行軟件開發前,先對軟件所需面對問題領域的本質作一個通盤性的了解,但類圖在軟件設計之初并不完全正確,必須通過后續的檢查才能夠逐漸趨近于真實世界的領域模型。類圖形成之后,對象圖也會隨之而來,復雜的系統中為了保證類圖的正確性可以用對象圖來解釋類圖的設計,因為類是對象的抽象和組合,在面向對象的編程設計中,我們所有的編碼都是面向對象的。
2. 類圖和對象圖都屬于靜態結構圖,整個系統的靜態結構呈現出來之后,這個框架已經有了,相當于有了軀體,這個時候我們需要給他注入血液讓它動起來,所以這個時候需要交互圖和行為圖來描述整個系統的動態模型,其中行為圖包括活動圖和狀態圖,交互圖包括時序圖和協作圖。
3. 接下來到了詳細設計,本階段用到最多的是類圖和包圖,會包含很多的類,必須對這些類進行分類,放置在不同的命名空間中,利用命名空間之間的關系圖,來限制住不同分類對象之間的訪問,這就是“包圖”的使用場景。
四、實現階段
有了前面的概要設計和詳細設計作為鋪墊,到系統實現階段就變得很容易了。實現階段的編碼依據就需要用到上一階段的系統設計模型,包括靜態和動態。行為圖和交互圖成為了主要的編碼依據,因為它們對系統實現有較強的邏輯性,具體代碼映射最強的就是對象圖,它在畫圖軟件中可以直接生成代碼。
五、測試階段
單元測試:使用類圖和類的規格說明書
集成測試:使用類圖、包圖、構件圖、協作圖
系統測試:使用用例圖來測試系統功能
系統配置:使用部署圖
| 結語 |
*感謝您的閱讀,希望對您能有所幫助*
總結
以上是生活随笔為你收集整理的UML建模与软件工程的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: SQL常用语句大全(值得收藏)
- 下一篇: 网页版qq