UML(統一模組化語言) 是用元模型描述的,元模型是4層元模型體系結構模式中的一層。此模式的其他層次分别是元-元模型層、模型層和使用者對象層。
在原模型層,UML元模型 又被分解為三個子邏輯包:基礎包(核心、擴充機制和資料模型)、行為元素包(描述模型動态行為的語言上層結構,支援不同的行為圖)、模型管理包(定義了對模型元素進行分組和管理的語義)。
UML 通過圖形化的表示機制從多個側面對系統的分析和設計模型進行刻畫。它定型了10種視圖,并将其分為以下4類:
①、用例圖。從外部使用者的角度描述系統的功能,并指出功能的執行者。
②、靜态圖。包括類圖(class diagram),對象圖(object diagram)和包圖(package diagram)
③、行為圖。包括互動圖(interactive diagram)、狀态圖(statechart diagram)與活動圖(artive diagram)
④、實作圖(implementation )。包括構件圖(component diagram)與部署圖(deployment diagram)
定義一:用例是對一個活動者(actor)使用系統的一項功能時所進行的互動過程的一個文字描述序列。
定義二:用例是系統、子系統或類和外部的參與者(actor)互動的動作序列的說明。
編寫用例必須包含以下元素:
一:角色 - 指系統以外的,需要使用系統或與系統互動的東西,包括人、裝置、外部系統等。
二:用例間的關系
用例除了與參與者有關聯(association)關系外,之間的關系 - 關系(relationship),如泛化(generalization)關系、包含(include)關系、擴充(extend)關系等
互動圖(interaction diagram)
用來描述對象之間以及對象與參與者(actor)之間的動态寫作關系以及協作過程中行為次序的圖形文檔。
1、順序圖 (時序圖):顯示對象直接按互動的圖,這些對象是按時間排序的。是一個二維圖形,以水準方向為對象維。
2、協作圖 :用于描述系統的行為是如何由系統的成分協作實作的圖。
類圖和對象圖
類是具有相似結構、及行為和關系的一組對象的抽象。
一般來說,類之間的關系又關聯、聚集(一種特殊形式的關聯)、組合(是特殊形式的聚集)、泛化(定義了一半和特殊元素之間的關系)和依賴(假設由兩個元素X、Y,如果修改元素X的定義可能會導緻對另一個元素Y的修改,則稱元素Y依賴于元素X),類圖(以直覺、抽象形式展示了不同對象之間的關系)
狀态圖和活動圖
1、狀态圖 UML中的狀态圖(state chart diagram)主要用于描述一個對象在其生存期間的動态行為。
2、活動圖 是對系統的動态行為模組化的5個之一,用于描述系統的工作流程和并發行為。可看作狀态圖的特殊形式。包含幾個基本概念:
①、活動 (表示的是某流程中的任務執行,可以表示某算法過程中語句的執行) ②、泳道(是活動圖中的區域劃分,根據每個活動的職責對多有活動進行劃分,每個用到代表一個責任區) ③、分支(每個可能的轉移是一個分支(branch)) ④、分叉和彙合 ⑤、對象流(可作為活動的輸出或輸入)
構件圖
構件(componet):是系統中遵從一組接口且提供其實作的無力的、可替換的部門。
構件圖(componentdiagram)則顯示一組構件以及他們之間的互相關系、包括編譯、連結或執行時構件之間的依賴關系
構件就是一個實際檔案,包含(1)部署構件 (2)工作産品構件(deploymentcomponet),如dll檔案、exe檔案 (3)執行構件,也就是系統執行後得到的構件
部署圖
部署圖也稱配置圖、實施圖,它可以用來顯示系統中計算節點的拓撲結構和通信路徑與節點上運作的軟構件等。
基于UML的軟體開發過程
1、初啟 (軟體發起項目人确定項目的主要目标和範圍)
2、細化 (标志項目的正式确立)
1)、初步的需求分析
2)、初步的高層設計
3)、部分的詳細設計
4)、部分的原型構造
在細化階段可能需要使用UML語言機制包括描述使用者需求的用例及用例圖、表示靈魂與概念模型的類圖、表示業務流程處理的活動圖、表示系統搞成結構的包圖和表示用例内部實作過程的互動圖。
3、建構 (開發人員通過一系列的疊代完成所有用例的軟體實作工作)
軟體疊代計劃用遵循:①、使用者認為業務價值較大的用例應優先安排。②、開發人員評估後認為開發風險較高的的用例應優先安排。
4、部署
基于UML的需求分析
- 利用用例及用例圖表示需求。
- 利用包圖及表示目标軟體系統的總體架構結構。
1、生成用例 (從外部使用者的視角看,一個 用例 是執行者(actor)與目标軟體系統直之間的一次典型的互動作用;從軟體系統内部的視角出發,一個用例代表系統執行的一系列動作,動作執行的結果能夠被外部的執行者所察覺)
2、用活動圖表示用例
3、生成用例圖 (執行者與用例之間的關系有兩種:觸發執行與資訊交換)
4、建立頂層架構 (頂層架構的目的主要是為後續的分析和設計活動建立一種結構和劃分,以便開發人員在不同的開發階段,以及同一開發階段的不同開發人員,能夠聚焦于系統的不同部分)
1)、UML 包圖 (包是UML對類進行分組的一種機制,包之間存在兩種依賴關系:依賴和構成)
2)、頂層架構設計
目前主要的架構模式:(1)、流程處理模式。(2)、客戶/服務模式 (3)、分成模式 (4)、架構中包的數量 (5)、架構中包之間的耦合度 (6)、軟體系統的穩定性 (7)軟體系統的必然性 (8)、作為軟體系統運作環境的實體網絡拓撲 (9)、開發團隊的技術專長
5、建立概念模型
面向對象的設計方法
一、設計用例實作方法
1、設計用例實作方案 (1)、界面控制 (2)、外部接口 (3)、環境隔離
2、構造互動圖 (在UML順序圖中:用例的主動執行者在最左側,緊鄰其右的類是作為使用者界面的邊界類,再往右是控制類,控制類的右側應防止輔助類和實體類)
3、根據互動圖精化類圖
二、設計技術支撐方案
三、設計使用者界面 (1、熟悉使用者并對使用者分類 2、按使用者類别分析使用者的工作流程與習慣 3、設計指令系統并進行優化 4、設計使用者界面的各種細節 5、增加使用者界面專用的類與對象)
四、計劃設計模型(分精化和設計模型)
系統架構文檔化
1、“4+1”視圖包括:邏輯視圖(logical view)、過程視圖(process view)、實體視圖(physical view)、開發視圖(development view)、場景。
2、邏輯架構:設計的對象模型(使用面對對象的設計方法時)。支援功能性需求,采用抽象、封裝或繼承的原理,用來識别遍布系統各個部分的通用機制和設計元素。
3、程序架構:捕捉設計的并發和同步特征。考慮一些非功能性的需求,如性能和可用性。在幾種層次的抽象上進行描述,每個層次針對不同問題。
4、開發架構:描述了開發環境中軟體的靜态組織結構。用子產品和子系統來表達,顯示了“輸出”和“輸入”關系。
5、實體架構:描述了軟體到硬體的映射,反映了分布式特性。主要關注系統非功能性需求,如可用性、可靠性、性能和可伸縮性。
6、場景:架構的描述,及所做的各種決定,可以圍繞着這四個視圖來組織,然後由一些用例(use cases)或場景(scenarios)來說明,進而形成了第五個視圖。
我是小侯,我想和大家一起變厲害