国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > 綜合 > 正文

PowerDesigner UML 建模簡介(第一部分)

2024-07-21 02:07:05
字體:
來源:轉載
供稿:網友
powerdesigner uml 建模簡介
david dichmann,powerdesigner 產品經理,sybase, inc.

由于引入了 uml,powerdesigner 8.0 支持使用例圖、序列圖和類圖的面向對象分析與設計(ooad)。在即將發布的 9.0 版中,powerdesigner 加強了對 uml 的支持,提供了活動圖表和組件圖表、改進了分析方法并增強了與開發過程的集成。

powerdesigner 能夠幫助您構建適應現代 it 發展的傳統商務和電子商務系統,使用 java 等面向對象的語言以及 xml 等新技術,以物理或虛擬的方式與我們的數據庫技術合并。我們的目標是根據您的需求,提供隨時隨地訪問信息、控制業務流程的能力,并通過計算機和最新技術賦予企業在當今任何市場上先拔頭籌的競爭優勢。

我們的分析方法和設計技術將會是多種多樣的,從業務流程建模,到 uml 面向對象分析和設計,以及傳統的關系建模等。本文將幫助您深入了解 uml 這項強大的技術,它可以幫助您的企業創建出高效的傳統商務和電子商務系統。
面向對象的分析
在您準備為企業作出系統和軟件投資前,必須首先了解企業的實際需求,明確所部署的技術將如何幫助您的企業獲取更大的成功。

您可以使用 uml,借助用例圖、序列圖和活動圖來進行分析。這些圖表將幫助您規劃系統的范圍、動態性能、以及表現方式等。不必考慮實施細節,您希望獲得的只是按照您的需求而表現的系統性能。
用例圖(the use case diagram)
uml 用例圖提供了一個系統環境的建模方式。它能夠幫助您確定系統/應用程序的外部和內部元素以及系統范圍。作為圖形建模模式,它在您需要與所收集的系統需求進行對話時也將有所幫助,對于研制成品的開發團隊來說,更是有著舉足輕重的重要性。對于企業的所有者,或第一次接觸該軟件產品的用戶也有很大的幫助作用。用例圖能夠以可視化的方式,表達系統如何滿足所收集的業務規則,以及特定的用戶需求等信息。

在項目后期,也能夠用到 uml 用例圖。您可以通過用例圖中定義的需求來協助測試項目的相關功能。您不僅可以驗證系統性能是否無錯誤(無崩潰或明顯的非邏輯響應),還可以驗證系統運行時是否按照要求,執行了指定命令。這樣,您可以測試系統是否完全滿足了要求,以確信成品可以投入生產——也就是說,它已完全滿足了用戶的需求。

只有確保滿足了合理、實用的各項需求,才能確保 it 項目的更大成功。




圖 1 – 公司客戶下訂單的用例圖
序列圖(the sequence diagram)
您可以使用 uml 序列圖細化需求并對設計元素進行鏈接。序列圖允許高層和低層對象間的交互文檔。該交互在角色(與用例圖中的角色相同)和類實例(運行于計算機內存中的技術對象和細節對象)之間顯示。

通過序列圖,您可以按照系統特定方案中事件(消息)的精確順序來描述隨時間變化的系統行為。使用序列圖進行用例分析并引導設計:您可以決定將對用例圖所定義的管理任務負責的系統對象類型,并決定哪種對象將管理系統內外的“會話”或通信。由于消息已從序列圖中抽出,您可以描述類和接口(我們最后要編譯和部署的代碼元素)所需的某些關鍵操作(方法)。

 

圖 2 – 貸款應用程序的序列圖
活動圖(the activity diagram)
uml 活動圖設計用于幫助您了解系統中對象的動態變化。用于描述某一特定類或一組類如何協同工作。與序列圖有所不同,活動圖不是一系列與時間相關的通信,而是從一個任務到另一任務的控制轉移,同時指定誰(哪個對象)對發生的任務負責。 

uml 活動圖也是業務流程的技術視圖。可對業務工作流進行分析或在“業務流程建模”工作后可獲得活動圖。 

活動圖還可幫助構造系統內元素的詳細動態視圖(ejb 如何互操作等)。


圖 3 – 活動圖 – 處理訂單
通過分析推動設計
通過分析模型可捕獲獨立于實施細節之外的系統意向和預期行為,與使用的語言、部署的應用程序服務器或使用的體系結構都沒有關系。但是,設計階段開始后,一切都發生了變化。您必須進入生產環境的細節并將軟件構建至特定的體系結構。設計是對系統的實施。

如果設計是由分析得到的,您可以更加確信所編寫的系統行為的正確性,確認所開發的成果將是一個按需求構建的系統。您將獲得高度成功——讓用戶得到所需要的系統。您還可以直接利用分析得出的信息而無需在設計過程中重新生成,從而縮減開發時間,由于不必“重新復制”任何工作,因此減少了人為錯誤。

通過分析,我們可獲得什么呢?通過用例圖可以發現對象并促進類和接口的創建。一個或更多類和接口可以實現一個角色,您可以在角色定義中直接創建類和接口。您還可以將角色鏈接到現有的類和接口,顯示如何使用一條代碼來滿足所分析的多個元素。

通過序列圖可以發現方法并促進類操作的創建。如果您需要向類發送消息,您可以調用該類的方法。序列圖中的消息可以用來自動創建操作或鏈接到現有操作。您可以通過鏈接跟蹤方法的功能,包括將哪些作為輸入內容和必須返回哪些內容等等。
設計所包含的內容
您已經知道要構建的內容,現在您需要表述如何構建。您需要確定業務邏輯所在的位置:可以置于應用程序服務器的 ejb 等組件中,也可以置于使用 vb 或 powerbuilder 等語言、作為客戶端應用程序一部分的類或組件中,或者做為觸發器和過程內置于關系數據庫中。您需要根據需求做出一些選擇,包括擴展性、安全、性能和可訪問性等方面。

uml 類圖和組件圖將用于定義詳細的技術系統靜態結構。 
類圖 (the class diagram)
uml 類圖、業務邏輯和所有支持結構一同被用于定義全部的代碼結構。既然類圖用來模擬開發中所維護的實際代碼,顯然它是 java 或 powerbuilder 等對象語言的概括性表述。您還可以使用 uml 類圖來概括 xml 中的復雜結構,令其更易于開發和理解。

可以從 uml 類圖上生成代碼。還可以在開發過程中編輯該代碼以完善、測試和部署最終運行的應用程序。由于 powerdesigner 在對象語言和 uml 類圖之間具有 1:1 的映射功能,您還可以實施反向工程代碼,讀取源文件并創建新的類圖。您可以更深入地理解現有系統并簡化集成和維護工作。

 



圖 4 – 訂單輸入系統的類圖
組件圖(the component diagram)
uml 組件圖將被用于在更大的黑匣視圖(black box view)中描述高級對象的定義和相關性。它仍然是一個設計模型,并且是代碼的直接概括。例如,一個 ejb 的組件標識直接鏈接到實施所必需的一系列類和接口,并將生成所需代碼來推動最終 bean 的開發。




圖 5 – 訂單輸入系統的組件圖

組件圖比組件體系結構的代碼層視圖更容易理解和管理。還可以通過編寫組件接口的文檔來實現代碼的共享和反復使用,用戶無需(或很少)了解組件的實施細節即可在其他項目和系統中使用這些代碼。




圖 6 – 客戶實體 bean 的 ejb 模型:
循環疊代工程
世界不是一成不變的,您的 it 項目也如此。在您了解需求,通過分析進行了設計,并構建了系統的某些元素后,必然還會遇到新的變化,如要更新定義,又或者現有用例圖中存在某些需要改正的錯誤,代碼在 ide 和文本編輯器中被編輯以及數據庫被dba 優化等。必須管理和掌握所有需要更改的細節,以確保所構建的系統能夠與業務需求保持一致。

往返工程的一個方案是當代碼在開發過程中被更改時,需要在類圖中反映出來。具體細節如下:
創建類圖并將業務邏輯元素添加到模型中生成文件系統的應用程序代碼在 ide 或文本編輯器中編輯代碼編輯設計,此時忽略在生成的代碼中所發生的更改對編輯內容實施反向工程,直到與現有類圖一致將設計過程中完成的工作與開發時編輯的內容同步(合并)生成新代碼,該代碼是設計代碼和開發人員更改代碼的總和
當對類圖進行了修改以反映新的設計內容時,應該使用同步/合并技術防止丟失開發人員的工作成果,同時允許設計人員接受或拒絕開發過程中所做的更改。這樣,powerdesigner 令 it 能夠完全控制體系結構,這正是制勝的關鍵。

powerdesigner 的功能并不是僅限于此!現在設計模型已被更新,您可以將這些更改鏈接到分析中。有可能您在分析中發現了新的需求,可以將這一更改反映到設計中并編寫代碼。使用 powerdesigner 中領先的 compare/merge 技術(在 september blueprint 中討論過),您可以在開發周期的所有模型和階段中獲得真正的往返同步。
結論
所有現代 it 項目必須能夠以更快的速度實施,具有更高的可靠性,并能夠切實推動企業發展。通過在工作中 ooad 部分使用新的 uml 技術進行分析和設計,您可以控制體系結構并深入理解軟件。

powerdesigner 利用比較/合并技術的能力,以及集成的 uml 建模技術令您能夠迅速地對變化做出反應。無論何處發生更改都會被快速地合并到任意一層,包括分析、設計和運行時。系統模型和系統之間經常互相鏡像對比和備份,以獲得準確且可預測的開發成果。這些優勢將轉化為更快的開發速度,以及對商務流程、市場條件和技術革新中變化的快速反應。賦予 it 部門得天獨厚的能力,以保持公司的競爭優勢!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 鄯善县| 美姑县| 隆尧县| 雷波县| 东乡族自治县| 滦南县| 如东县| 新乐市| 易门县| 上饶县| 库车县| 廊坊市| 湘潭市| 房山区| 土默特左旗| 江陵县| 珲春市| 云和县| 济阳县| 池州市| 郑州市| 湾仔区| 榆林市| 双峰县| 邵东县| 鄂伦春自治旗| 潜江市| 宿松县| 酒泉市| 和静县| 平阳县| 会理县| 宣武区| 句容市| 新野县| 永德县| 吉首市| 敦化市| 合阳县| 北碚区| 榆树市|