<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                # 統一建模語言(Unified Modeling Language, UML) uml 是一種繪制軟件藍圖的標準語言 可以對軟件密集型的系統進行可視化、詳述、構造和文檔化 ## UML的模型概念 > @todo ### UML的構造塊 #### 事物 ##### 結構事物 (類、接口、協作、用況、主動類、構件、制品、節點) ``通常是模型的 *靜態部分*(不參與邏輯 只作為工具), 描述概念元素或物理元素`` 類: 具有相同屬性、相同操作、相同關系、相同語義的對象的描述 接口:定義了一組操作規范(非操作實現) 描述了外部的可見行為。可定常量,不需要屬性 協作:定義了一個交互。具有結構、行為、和維度。由一組共同工作提供協作行為的角色和其他元素構成的群體。一個類/對象可以參與幾個協作 用況:用于構建模型中的行為事物,是一組動作序列都描述。通過協作實現。 主動類: 能夠啟動控制活動,對象元素行為和其他元素的行為并發 其余和類 一樣 構件:系統設計的模塊化部件,實現隱藏,對外只提供接口 制品: 系統中物理的可代替的部件;比如現成的動態庫、源代碼文件、腳本 節點:運行時存在的物理元素、表示計算機資源、有一些記憶/處理能力 ``以上是基本結構事物 還有變體 參與者、信號、使用程序(一種類)、進程和線程(兩種主動類)、應用、文檔、文件、庫、頁和表(一種制品)等`` ![類表示法](http://oosl511la.bkt.clouddn.com/1492833510%281%29.jpg "類表示:類名稱、屬性、操作") ![接口表示法](http://oosl511la.bkt.clouddn.com/1492836755%281%29.png "接口表示:Iwondow 是接口名稱") ![接口、類關系表示法](http://oosl511la.bkt.clouddn.com/1492836954%281%29.png "接口 類關系表示法:圓=接口、方塊=該類、半圓=其他類;該類向其他類請求") ![協作表示法](http://oosl511la.bkt.clouddn.com/1492837438%281%29.jpg "協作表示法:虛線的橢圓形。英文 責任鏈") ![用況表示法](http://oosl511la.bkt.clouddn.com/1492838383%281%29.png "用況表示法:橢圓形。英文 訂購;下訂單") ![主動類表示法](http://oosl511la.bkt.clouddn.com/1492839663%281%29.jpg "主動類表示法,左右邊框雙線 其余同 《類》") ![構件表示法](http://oosl511la.bkt.clouddn.com/1492839863.png "構件表示法:很像類 右上角有個圖標") ![制品表示法](http://oosl511la.bkt.clouddn.com/1492840033%281%29.png "制品表示法:關鍵字 <artifact>") ![節點表示法](http://oosl511la.bkt.clouddn.com/1492840139%281%29.jpg "節點表示法:通常只寫名稱") ##### 行為事物 (交互、狀態機、活動、) ``UML模型中的動態部分 代表了跨越時間和空間的行為`` 交互(interaction):共同完成一定任務的一組對象/角色之間交換的信息組成。 一個對象的群體/單個操作可以用一個交互來描述。交互設計其他元素 包括消息、動作、連接件(對象之間的鏈接)。 狀態機(state machine):描述一個對象/交互在生命期內響應事件所經歷的狀態序列以及對事件的響應。 活動(activity):計算過程執行的步驟序列。 ``交互注重一系列相互起作用的對象、狀態機注重一定之間內一個對象的生命周期、活動注重的是步驟之間的流而不關心那個對象執行那個步驟`` ![交互表示法](http://oosl511la.bkt.clouddn.com/1492841265%281%29.png "交互表示法:直線+箭頭+操作名") ![狀態機表示法](http://oosl511la.bkt.clouddn.com/1492841701.png "狀態機表示法:狀態名字及子狀態(若有)") ![活動表示](http://oosl511la.bkt.clouddn.com/1492841944%281%29.jpg "活動表示:和狀態機表示相同 只能通過語境區分 英語:處理流程/順序") ##### 分組事物 (包) ![包表示](http://oosl511la.bkt.clouddn.com/1492842255%281%29.jpg "包表示:僅有包名 或有其內容 英文:業務規則") ##### 注釋事物 () ![注釋表示](http://oosl511la.bkt.clouddn.com/1492842584%281%29.jpg "文字/圖形解釋") ##### 關系 (依賴、關聯、泛化、實現 ) ``關系構造塊可以寫出結構良好的模型`` 依賴:其中一個元素(獨立元素)發生變化 影響另一個元素(依賴元素) 關聯:類之間的結構關系。描述了一組鏈(是實例對象之間的連接) 《聚合》是一種特殊類型的關聯 描述了整體與部分件的結構關系 泛化:一種特殊/一般的關系。特殊元素(子元素)基于一般元素(父元素)而建立 子繼承了父的結構和行為 實現:類目之間的語義關系。一個類目指向由另一個類目保證執行的合約。 兩種情景: 接口和實現它們的類/構件之間; 用況和實現 它們的協作之間 ``以上是基本關系事物 可能有變體 精華、跟蹤、包含、擴展`` ![依賴](http://oosl511la.bkt.clouddn.com/1492845114%281%29.png "偶爾其上帶標記") ![關聯](http://oosl511la.bkt.clouddn.com/1492845264%281%29.png "偶爾其上帶標記經常含有多重性/端名修飾 英文:雇主 雇員") ![泛化](http://oosl511la.bkt.clouddn.com/1492845501%281%29.png "指向父元素") ![實現](http://oosl511la.bkt.clouddn.com/1492845590%281%29.png "泛化和依賴關系兩種圖形的結合") #### 圖 ``一組元素的圖形表現 一般吧圖化成定點(代表事物)和弧(代表關系的連通圖)`` *類圖*、*對象圖*、*構件圖*、*組合結構圖*、*用況圖*、*順序圖*、*通信圖*、*狀態圖*、*活動圖*、*部署圖*、*包圖*、*定時圖*、*交互概覽圖* 類圖:展示了一組類、接口、協作和他們之間的關系 對象圖:展示了一組對象以及他們之間的關系 構造圖:展示了一個封裝的類和他的接口、端口、以及又內嵌的構件和連接件構成的內部結構 用況圖 : 展示了一組用況、參與者(一種特殊的類)以及他們之間的關系 順序圖/通信圖:都是交互圖 展示了一種交互,有一組對象或角色以及他們之間可能發送的消息構成 。 交互圖專注于系統的動態視圖。順序圖強調消息的時間次序;通信圖強調收發消息的對象或角色的結構組織 狀態圖: 由狀態、轉義、時間和活動組成。展示了一個狀態機(對象的動態視圖) 活動圖 : 將進程或其他計算結構展示為計算機內部一步步的控制流和數據流;系統的動態視圖;強調對象間的控制流程 部署圖: 展示了對運行時的處理節點以及在其中生成的構件的配署 (靜態部署視圖) 制品圖: 計算機中的一個系統的物理結構 包圖: 模塊本身分解而成的組織單元以及它們的依賴關系 定時圖: 一種交互圖,消息跨越不同對象/角色的實際時間,而不僅僅關心消息的相對順序 交互概覽圖: 活動圖和順序圖都而混合物 ### UML規則 #### 語法和語義規則 * 命名 (為事物、關系、圖起的名字 * 范圍 (使名字具有特定含義的語境 * 可見性 (這些名字如何讓其他成員看見和使用 * 完整性 (事物如何正確 一致的相互聯系 * 執行 (運行或模擬動態模型的含義是什么 為了應對開發期間的變化 有時候也建造這樣的模型 * 省略 ( 因此某些元素以簡化視圖 * 不完全 ( 可能遺漏了某些元素 * 不一致 ( 不保證模型的完整性 #### UML中的公共機制 * 詳述 (提供了對構造塊的語法和語義的文字敘述 * 修飾 (唯一和直接的圖形表示符號 如 是否是抽象類 屬性操作是否可見 +公共 # 受保護 -私有 * 通用劃分(類和對象的劃分 接口和實現的分離 類型和角色的分離。如 對象:名稱有下劃線 * 擴展機制( 衍型:擴展UML的詞匯 用來構造新的構造塊 標記值:擴展了UML衍型的特性 約束:擴展了UML構造塊的語義 ## 體系結構 ``要求從多個角度去觀察系統 最終 用戶、分析人員、開發人員、測試人員。。。`` 軟件結構是一組有關下屬內容的總要決策: * 軟件系統的組織 * 對組成系統的結構元素及其接口的選擇 * 像元素間的協作鎖描述的那樣的行為 * 將這些結構元素和行為元素組合刀逐步增大的子系統中 * 知道這種組織的體系結構風格:靜態、動態元素及其他們的接口 協作和組成 ``軟件體系結構不僅關心結構和行為 還關心 用法 功能 性能 彈性 復用 可理解 。。。`` **最好用5個互聯的視圖來描述軟件的密集型系統的體系結構 設計、實現、用況、交互、部署視圖** 用況視圖: 被最終用戶 分析人員 測試人員看到的系統行為的用況組成。(業務邏輯?) 設計視圖: 包含類 接口 協作 交互視圖:系統的不同部分之間的控制流,包括并發/同步機制。主要針對性能 可伸縮性 系統吞吐量 實現視圖: 裝配和發布物理系統的制品 部署視圖:包含了形成系統硬件拓撲結構的節點 ## 軟件的開發周期 任務>業務模型>需求>分析和設計>實現>測試>部署
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看