• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            不會飛的鳥

            2010年12月10日 ... 不鳥他們!!! 我要用自己開發的分布式文件系統、分布式調度系統、分布式檢索系統, 做自己的搜索引擎!!!大魚有大志!!! ---楊書童

            PowerDesigner UML 建模簡介

            引言
                PowerDesigner支持UML1.3的所有圖包括用例圖、序列圖和類圖、活動圖表和組件圖表等,并全面支持UML2.0。改進了面向對象分析與設計(OOAD)分析方法并增強了與開發過程的集成。
               
                PowerDesigner 能夠幫助您構建適應現代 IT 發展的傳統商務
            電子商務系統,使用 Java 等面向對象的語言以及 XML 等新技術,以物理或虛擬的方式與我們的數據庫技術合并。我們的目標是根據您的需求,提供隨時隨地訪問信息、控制業務流程的能力,并通過計算機和最新技術賦予企業在當今任何市場上先拔頭籌的競爭優勢。

            我們的分析方法和設計技術將會是多種多樣的,從業務流程建模,到 UML 面向對象分析和設計,以及傳統的關系建模等。本文將幫助您深入了解 UML 這項強大的技術,它可以幫助您的企業創建出高效的傳統商務和電子商務系統。 
                面向對象的分析

                在您準備為企業作出系統和軟件投資前,必須首先了解企業的實際需求,明確所部署的技術將如何幫助您的企業獲取更大的成功。您可以使用 UML,借助用例圖、序列圖和活動圖來進行分析。這些圖表將幫助您規劃系統的范圍、動態性能、以及表現方式等。不必考慮實施細節,您希望獲得的只是按照您的需求而表現的系統性能。

            用例圖(The Use Case Diagram)

            UML 用例圖提供了一個系統環境的建模方式。它能夠幫助您確定系統/應用程序的外部和內部元素以及系統范圍。作為圖形建模模式,它在您需要與所收集的系統需求進行對話時也將有所幫助,對于研制成品的開發團隊來說,更是有著舉足輕重的重要性。對于企業的所有者,或第一次接觸該軟件產品的用戶也有很大的幫助作用。用例圖能夠以可視化的方式,表達系統如何滿足所收集的業務規則,以及特定的用戶需求等信息。

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

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

            PowerDesigner UML 建模簡介(圖一)

            點擊查看大圖


            序列圖(The Sequence Diagram)

             



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

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

            PowerDesigner UML 建模簡介(圖二)

            點擊查看大圖


            活動圖(The Activity Diagram)

             



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

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

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

            PowerDesigner UML 建模簡介(圖三)

            點擊查看大圖

             



            通過分析推動設計

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

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

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

            通過序列圖可以發現方法并促進類操作的創建。如果您需要向類發送消息,您可以調用該類的方法。序列圖中的消息可以用來自動創建操作或鏈接到現有操作。您可以通過鏈接跟蹤方法的功能,包括將哪些作為輸入內容和必須返回哪些內容等等。

            設計所包含的內容

            您已經知道要構建的內容,現在您需要表述如何構建。您需要確定業務邏輯所在的位置:可以置于應用程序服務器的 EJB 等組件中,也可以置于使用 VB 或 PowerBuilder 等語言、作為客戶端應用程序一部分的類或組件中,或者做為觸發器和過程內置于關系數據庫中。您需要根據需求做出一些選擇,包括擴展性、安全、性能和可訪問性等方面。

            UML 類圖和組件圖將用于定義詳細的技術系統靜態結構。

            類圖 (The Class Diagram)

            UML 類圖、業務邏輯和所有支持結構一同被用于定義全部的代碼結構。既然類圖用來模擬開發中所維護的實際代碼,顯然它是 Java 或 PowerBuilder 等對象語言的概括性表述。您還可以使用 UML 類圖來概括 XML 中的復雜結構,令其更易于開發和理解。

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

            PowerDesigner UML 建模簡介(圖四)

            點擊查看大圖


            組件圖(The Component Diagram)

             



            UML 組件圖將被用于在更大的黑匣視圖(Black Box View)中描述高級對象的定義和相關性。它仍然是一個設計模型,并且是代碼的直接概括。例如,一個 EJB 的組件標識直接鏈接到實施所必需的一系列類和接口,并將生成所需代碼來推動最終 bean 的開發。

            PowerDesigner UML 建模簡介(圖五)



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

            右擊Customer EntityBean_CMP,選擇Create/Update Class Diagram,生成如下class diagram:

            PowerDesigner UML 建模簡介(圖六)

            點擊查看大圖


            循環疊代工程

             


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

            往返工程的一個方案是當代碼在開發過程中被更改時,需要在類圖中反映出來。具體細節如下:
            1. 創建類圖并將業務邏輯元素添加到模型中
            2. 生成文件系統的應用程序代碼
            3. 在 IDE 或文本編輯器中編輯代碼
            4. 編輯設計,此時忽略在生成的代碼中所發生的更改
            5. 對編輯內容實施反向工程,直到與現有類圖一致
            6. 將設計過程中完成的工作與開發時編輯的內容同步(合并)
            7. 生成新代碼,該代碼是設計代碼和開發人員更改代碼的總和

            當對類圖進行了修改以反映新的設計內容時,應該使用同步/合并技術防止丟失開發人員的工作成果,同時允許設計人員接受或拒絕開發過程中所做的更改。這樣,PowerDesigner 令 IT 能夠完全控制體系結構,這正是制勝的關鍵。

            PowerDesigner 的功能并不是僅限于此!現在設計模型已被更新,您可以將這些更改鏈接到分析中。有可能您在分析中發現了新的需求,可以將這一更改反映到設計中并編寫代碼。使用 PowerDesigner 中領先的 Compare/Merge 技術(在 September Blueprint 中討論過),您可以在開發周期的所有模型和階段中獲得真正的往返同步。

            對象圖(Object Diagram)
                   與類圖一樣,對象圖也是一個 UML 靜態結構圖;它定義了系統在給定時刻具有的物理元素,而沒有具體考慮系統的動態活動。它與代碼一一對應,但與類圖不同,我們現在討論的是具體的分類器,而不是分類器定義。將對象圖描述為類實例圖可能最為合適。

            對象圖的主要用途是進行分析。類圖中無法表示的類之間存在不確定的約束。我們將使用對象圖來記錄這些約束。而且,在我們查看所管理的具體類實例示例以闡明這些元素之間的交互作用關系時,對象圖還允許我們定義具體的“What if”場景。

            以下內容適用于 OO 建模的初學者:分類器是抽象的對象結構定義。分類器可以告訴我們所管理的是什么類型的數據(屬性/成員表示數據元素)以及該分類器具有什么能力(操作/方法表示對象的行為)。實例是具體的分類器示例。假定定義一個名為 Customer 的類,該類具有 Name 屬性。類 Customer 的實例“Jane Doe”是姓名恰為“Jane Doe”的客戶。實例通常具有比分類器更豐富的含義,這是因為分類器表示某種級別的概述。收集某個分類器的若干個實例或示例可能有助于您理解其用途并更好地使用它。

            因此,對象圖是類圖的具體形式,表示類實例樣本,并且顯示了鍵值和關系。例如,CustomerBean 類具有以下客戶實例:該客戶的 ID 為 52271,姓名為“John Doe”。該客戶實例與三個訂單實例(三份訂單)相關,訂單編號分別為122047、122103 和 122399。

            PowerDesigner UML 建模簡介(圖七)

            協作圖(Collaboration Diagram)



                協作圖和序列圖非常相似。實際上,序列圖和協作圖可以有效地交替使用,并可以簡便的相互轉換。其區別在于用戶閱讀和理解的方式不同。序列圖具有很好的層次性,并且圍繞時間構造。協作圖則主要是圍繞對象結構構造。通過在圖中對消息進行編號可以表示消息的順序。采用這種方式時,即使圖的結構不是基于時間的,也將保持定時關系。

            協作圖借助于系統中元素或對象之間的交互作用,表示系統的動態方面,即在一段時間內的表現方式。它通過表示系統的靜態結構來對類圖和對象圖進行補充,但不是借助于基于結構的關系,而是在系統對象之間傳遞交互作用“消息”。

            構造協作圖時還可以在概念級測試靜態模型。在類圖中定義了類實例,這些類實例之間的交互作用定義了一個具體的使用方案以及將在這些元素之間發生的內部通訊。我們還可以使用其他角色來表示系統的外部作用者和內部使用者,如用例圖。

            例如,我們可以建立一個訂單輸入系統,以供客戶和銷售代表使用。客戶通過創建新訂單與該系統交互作用。訂單對象與銷售對象之間進行對話,該對話由鏈接消息表示,在此情況下,只有兩個消息:一個是來自 Orders 類的訂單請求,一個是來自 Sales 類的訂單確認。對一個鏈接上的消息數量沒有限制。我們在此討論的對話以一個訂單請求開始,然后是對該訂單的確認。

            PowerDesigner UML 建模簡介(圖八)



            適用性

                協作圖對于設計人員尤其重要,因為它闡明了對象的作用。您可以在序列圖之前構造協作圖(如果您計劃構造這兩個圖),但通常是在完成類圖之后構造協作圖以說明從類中導出的對象之間的交互作用。可以使用一個或多個協作圖來實現一個用例,或者將復雜行為分割成多個邏輯子行為。

            狀態圖(Statechart Diagram)

                狀態圖(也稱為狀態機)描述了特定類或組件在其整個生命周期中不斷變化時的行為。該圖顯示是什么觸發了從一種狀態向另一種狀態的轉換,以及在該類上調用哪些操作以提供該狀態的行為或觸發這種轉換。例如,訂單在被創建時處于初始狀態。在客戶確認訂單正確后,訂單將進入確認狀態。在發貨以后,訂單需要從確認狀態進入發貨狀態。

            PowerDesigner UML 建模簡介(圖九)



            因此,每當一個類在其生命周期的不同階段具有不同的可用選項(不同的有效行為)時,您都可以使用狀態圖來將這些規則和條件建模。生命周期中的每個階段都是該對象的一種狀態,而每個改變狀態的觸發器都代表從一種狀態到另一種狀態的轉換。可以根據需要從某個狀態轉換到任意多個其它狀態,也可以從其它多個狀態進入某個狀態。

            子狀態圖

                若要保持狀態圖簡單和易讀,您可能發現所定義的一個或多個狀態實際上涉及到更為復雜的行為,以至于它本身就可以定義為一個狀態圖。此時,與向主圖中添加大量復雜細節的做法相比,更好的做法是將這個單獨的狀態分解為多個子狀態,進而組成一個輔助圖,以定義父狀態的更為復雜的內部行為。

            部署圖(Deployment Diagram)

                部署圖可以幫助我們確定所有代碼元素在服務器、工作站和數據庫中的存放位置。有的節點需要依賴硬件或軟件框來運行部分業務邏輯。這些節點交互作用以演示我們開發的多個計算機和系統是如何交互作用和集成的。節點中包含將部署到數據庫、應用程序或 Web 服務器中的組件實例。

            部署圖用于將組件實際部署到服務器中。通過定義希望組件運行的位置,我們可以快捷的映射、部署和管理分布在客戶端應用程序和應用程序服務器端組件之間的業務邏輯或數據庫端服務器邏輯。以下是要管理的物理體系結構的 1:1 模型。

            例如,假定我們已決定實現兩個 Enterprise Java Beans,并且在應用程序服務器上運行它們。下圖顯示了單個節點以及該節點內的兩個組件(每個 EJB 一個組件)。我們可以看出 EmployeeBean 依賴于同一應用程序服務器內的 CustomerBean。

            PowerDesigner UML 建模簡介(圖十)



            結論

                在我們借助用例圖、序列圖、活動圖、類圖和組件圖完成基本 UML 建模時,我們將需要其它一些工具來定義有關系統中某些特定元素的詳細信息。我們可能希望在對象圖中使用精確的示例來表示對象的結構,或者借助于狀態圖來更多地了解在其內部具有多個復雜狀態的類的行為。我們需要使用協作圖從結構角度而不是從時間角度來考察系統組件之間的交互作用。最后,還需要使用部署圖來顯示所有系統組件在運行環境中的物理硬件或服務器中所處的位置,從而更詳盡的了解分布式體系結構的使用方式。

            posted on 2008-09-10 08:26 不會飛的鳥 閱讀(485) 評論(0)  編輯 收藏 引用

            久久久久久一区国产精品| 国产精品日韩深夜福利久久| 久久夜色精品国产亚洲av| 久久久久久国产精品美女| 亚洲国产天堂久久综合| 无码久久精品国产亚洲Av影片 | 人人狠狠综合久久88成人| 少妇久久久久久被弄高潮| 久久精品成人国产午夜| 精品国产乱码久久久久久浪潮| 中文成人久久久久影院免费观看| 国产亚洲精久久久久久无码77777| 久久热这里只有精品在线观看| 国产V综合V亚洲欧美久久 | 久久精品99无色码中文字幕| 久久人人爽人人爽人人片AV高清| 国产精品无码久久久久久| 久久天天躁狠狠躁夜夜2020老熟妇| 77777亚洲午夜久久多人| 国产成人AV综合久久| 国产偷久久久精品专区 | 人人狠狠综合久久亚洲| 久久棈精品久久久久久噜噜| 久久亚洲中文字幕精品一区四 | 国产精品美女久久久久久2018| 久久免费国产精品| 国产精品美女久久久久久2018| 久久夜色精品国产亚洲| 久久久久国色AV免费观看| 2021久久精品国产99国产精品| 亚洲国产精品嫩草影院久久| 91久久精品国产免费直播| 99久久这里只有精品| 日产精品久久久久久久性色| 伊人久久综合精品无码AV专区| 日韩久久久久中文字幕人妻 | 久久精品国产亚洲一区二区三区| 99精品国产在热久久| 97久久精品人妻人人搡人人玩| 99国产精品久久| 久久久久一区二区三区|