1. 程式人生 > >趙雷 廊坊師範學院資訊科技提高班 十四期

趙雷 廊坊師範學院資訊科技提高班 十四期

初級認識UML

語言基礎概論:

     自我理解通過UML能夠更好的描述開發軟體系統;以便於保證軟體能夠保質保量高效的被開發出來。談起統一建模語言(UML),我想我們腦海中浮現的應該是Why do we use it?;What is it?;What can it bring to us ?

--------------------------------------------------------------

     相信我們之前瞭解過面向過程和麵向物件;其實兩者從本質上講都是一種軟體技術;不過只是適用的範圍和階段不一樣罷了。縱觀來看,面向物件技術發展比較迅速,解決了之前存留在面向過程設計方法中等等難題;再加上現在設計的軟體系統需要保證隨需應變等等適應性能力;面向物件脫穎而出。

     但是面向物件也有其困難的地方:物件是如何抽象出來的?為什麼要這樣抽象物件?如何組合抽象出來的物件正好可以滿足需求?抽象出來的物件又是如何表達需求的?等等一系類問題;同樣都是難題。

     這也造成了無法在設計階段判斷出設計出來的物件或類能否滿足客戶的需求等等;往往都是在不斷地測試和返工之前往返;一直到最後陰差陽錯的滿足使用者的需求後才停止這個重複化的動作。---因此設計模式和需求之間根本不掛鉤,相互聯絡不上,那又如何談編碼設計後的產品能夠滿足客戶的需求呢?

--------------------------------------------------------------

     因此為了應對以上的問題,面向物件分析方法UML便逐漸走上了大家的視野;同樣也是被軟體界所公認。所以UML便是為了能過保證從需求分析--->設計階段兩者之間順利過渡;進而保證軟體系統符合使用者的需求。

     這裡還需要順帶提及統一過程,擴充套件些知識面。既然存在建模語言,那麼建模方法怎麼能夠缺少呢?RUP即是和UML相互配合的搭檔。

UML描述軟體生產過程中需要產生的文件;RUP則指導如何產生這些文件以及這些文件講述什麼的方法。

儘管RUP和UML配合的如此天衣無縫;但是針對不同的想要也要選擇合適的軟體開發方法。

UML建模基礎:

     談及UML建模。除此外便是何為模?如何建模?

     從抽象的角度確定的目標需要由靜態的事物+特定條件下產生的特定的場景來完成整個的過程稱作模型;

決定抽象的角度(即目的是做什麼),然後分析此過程中涉及到多少參與者和每個參與者的目標是什麼;此過程即是建模的過程。---其實更好的還是依靠一幅圖來簡單說明;


--------------------------------------------------------------------------

在瞭解建模基礎後,也就是巨集觀把握整個建模過程,然後又把UML語言細分為詞彙+語法;本篇部落格圍繞“詞彙”來講解。


------------------------------------------------

用例劃分:


---------------------------------------------------------------

類圖以及物件等UMl核心因素之間的關係:

     總體分為四大類:即關聯(聚合+組合)、依賴、泛化(繼承)、實現;然後細分擴充套件增添:包含、精化、擴充套件等三類。

     相比於關聯中聚合和組合之間的聯絡:

                 聚合:強調兩者之間只是臨時關係,某一方不存在時都不會影響另外一方;

                 組合:強調兩者之間具有強相互關係,即母體和子體之間的聯絡;子體必須依賴於母體存在。

                 擴充套件:則是在實現某一目標的前提下+外來因素=多種選擇方式。

                 包含:多目標複用同一用例;

                 精華:一個基本用例精化為更小的關鍵精化用例。

以上便是瞭解以及擴充的三種用例之間的關係。

----------------------------------------------------------------------

在結尾中我問大家一個問題---在接觸事物後,我們先想到的是結構(外形)--->功能--->使用等等過程;還是首先想到的是使用--->功能--->結構呢。這裡就列舉了兩種描述事物的方式,當然這裡也適合於不同的方面;前者更適合於相對比較熟悉的事物;而後者更適合於陌生和未知的事物。讀者先自行體會其中的區別,稍後下篇部落格咱們一塊聊聊。

下篇部落格會繼續淺談UML語言中語法的部分--即核心元素。