軟件體系結(jié)構(gòu)第7次課課件_第1頁
軟件體系結(jié)構(gòu)第7次課課件_第2頁
軟件體系結(jié)構(gòu)第7次課課件_第3頁
軟件體系結(jié)構(gòu)第7次課課件_第4頁
軟件體系結(jié)構(gòu)第7次課課件_第5頁
已閱讀5頁,還剩84頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、 上次課重點(diǎn)1.軟件體系結(jié)構(gòu)描述方法有哪些,目前占據(jù)主導(dǎo)地位的是那一種?(P99). 2.軟件體系結(jié)構(gòu)描述語言的特色是什么? (p101)3. 軟件體系結(jié)構(gòu)描述有哪些標(biāo)準(zhǔn)和規(guī)范?4. UML 和 XML 都可以用來描述軟件體系結(jié)構(gòu)。 上次課重點(diǎn)1.軟件體系結(jié)構(gòu)描述方法有哪些,目前占據(jù)主導(dǎo)地專題一UML及建模 作為軟件系統(tǒng)設(shè)計(jì)與體系結(jié)構(gòu)課程的重要內(nèi)容UML及建模受到重視。專題一作為軟件系統(tǒng)設(shè)計(jì)與體系結(jié)構(gòu)課程的重要內(nèi)容UML及建模受 UML簡介 UML是一種用可視化方法對軟件系統(tǒng)進(jìn)行描述、實(shí)施和說明的標(biāo)準(zhǔn)語言。 支持用不同實(shí)現(xiàn)技術(shù)進(jìn)行的軟件開發(fā)全過程。 UML簡介 UML簡介 UML簡介 UML簡

2、介 UML簡介 第1節(jié) UML語言縱覽 1.1 UML的構(gòu)成 1.2 視圖 1.3 圖1.4 UML1.4與UML2.0的比較1.5 模型元素1.6 通用機(jī)制1.7 UML建模的簡單流程第1節(jié) UML語言縱覽 1.1 UML的構(gòu)成 1.1 UML的構(gòu)成 視圖圖模型元素通用機(jī)制1.1 UML的構(gòu)成 UML的組成結(jié)構(gòu)圖 UML的組成結(jié)構(gòu)圖 1.2 視圖 系統(tǒng)通常是從多個(gè)不同的方面來描述的:系統(tǒng)的使用實(shí)例系統(tǒng)的邏輯結(jié)構(gòu)系統(tǒng)的構(gòu)成系統(tǒng)的并發(fā)特性系統(tǒng)的配置1.2 視圖 系統(tǒng)通常是從多個(gè)不同的方面來描述的:1.2 視圖視圖的分類:用例視圖邏輯視圖組件視圖并發(fā)視圖配置視圖1.2 視圖視圖的分類: 構(gòu)成系統(tǒng)模

3、型的幾種視圖 構(gòu)成系統(tǒng)模型的幾種視圖 1.2.1 用例視圖 用途:描述系統(tǒng)應(yīng)該具備的功能,即被稱為參與者的外部用戶所能觀察到的功能。 用例視圖是幾個(gè)視圖的核心,它的內(nèi)容直接驅(qū)動其他視圖的開發(fā)。1.2.1 用例視圖 用途:描述系統(tǒng)應(yīng)該具備的功能,即被稱1.2.2 邏輯視圖 用途:描述用例視圖中提出的系統(tǒng)功能的實(shí)現(xiàn)。 邏輯視圖既描述系統(tǒng)的靜態(tài)結(jié)構(gòu),也描述系統(tǒng)內(nèi)部的動態(tài)協(xié)作關(guān)系。使用者:主要是設(shè)計(jì)人員和開發(fā)人員。 組成:靜態(tài)結(jié)構(gòu)在類圖和對象圖中進(jìn)行描述;動態(tài)模型在狀態(tài)圖、時(shí)序圖、協(xié)作圖以及活動圖中進(jìn)行描述。1.2.2 邏輯視圖 用途:描述用例視圖中提出的系統(tǒng)功能的1.2.3 并發(fā)視圖用途:考慮資源的

4、有效利用、代碼的并行執(zhí)行以及系統(tǒng)環(huán)境中異步事件的處理。使用者:主要是開發(fā)人員和系統(tǒng)集成人員。 組成:狀態(tài)圖、協(xié)作圖和活動圖。1.2.3 并發(fā)視圖用途:考慮資源的有效利用、代碼的并行執(zhí)1.2.4 組件視圖用途:描述系統(tǒng)的實(shí)現(xiàn)模塊以及它們之間的依賴關(guān)系。 組成:組件圖。 使用者:主要是開發(fā)人員。 1.2.4 組件視圖用途:描述系統(tǒng)的實(shí)現(xiàn)模塊以及它們之間的1.2.5 配置視圖用途:顯示系統(tǒng)的物理部署,并描述位于節(jié)點(diǎn)實(shí)例上的運(yùn)行組件實(shí)例的部署情況。 組成:配置圖。使用者:開發(fā)人員、系統(tǒng)集成人員和測試人員。 1.2.5 配置視圖用途:顯示系統(tǒng)的物理部署,并描述位于節(jié)1.3 圖 1 用例圖2 類圖3 對象

5、圖4 狀態(tài)圖5 時(shí)序圖6 協(xié)作圖7 活動圖8 組件圖9 配置圖1.3 圖 1 用例圖1.4 UML1.4與2.0的比較對UML1.4進(jìn)行了一些擴(kuò)充。用更為受限的通信圖代替了協(xié)作圖。 增加了交互綜述圖、定時(shí)圖、協(xié)議狀態(tài)圖、組成結(jié)構(gòu)圖等新圖。1.4 UML1.4與2.0的比較對UML1.4進(jìn)行了一些1.5 模型元素 1.5.1 事物1.5.2 UML中的關(guān)系1.5 模型元素 1.5.1 事物1. 結(jié)構(gòu)事物2. 動作事物3. 分組事物4. 注釋事物1.5.1 事物1. 結(jié)構(gòu)事物1. 結(jié)構(gòu)事物 UML模型中最基本的結(jié)構(gòu)化事物,包括:類接口協(xié)作用例活動類組件節(jié)點(diǎn) 1. 結(jié)構(gòu)事物 UML模型中最基本的結(jié)構(gòu)

6、化事物,包括:(1)類對具有相同屬性、方法、關(guān)系和語義的對象的抽象。 (1)類對具有相同屬性、方法、關(guān)系和語義的對象的抽象。 (2)接口類或組件提供特定服務(wù)的一組操作的集合。 描述了類或組件的對外可見的動作。 (2)接口類或組件提供特定服務(wù)的一組操作的集合。 (3)協(xié)作 定義了交互操作。 代表構(gòu)成系統(tǒng)的模式的實(shí)現(xiàn)。(3)協(xié)作 定義了交互操作。 (4)用例 描述系統(tǒng)對一個(gè)特定角色執(zhí)行的一系列動作。 組織動作事物。 (4)用例 描述系統(tǒng)對一個(gè)特定角色執(zhí)行的一系列動作。 (5)活動類 類對象有一個(gè)或多個(gè)進(jìn)程或線程的類。 (5)活動類 類對象有一個(gè)或多個(gè)進(jìn)程或線程的類。 (6)組件實(shí)現(xiàn)了一個(gè)接口集合的

7、物理上可替換的系統(tǒng)部分。 (6)組件實(shí)現(xiàn)了一個(gè)接口集合的物理上可替換的系統(tǒng)部分。 (7)節(jié)點(diǎn) 在運(yùn)行時(shí)存在的一個(gè)物理元素。代表一個(gè)可計(jì)算的資源。通常占用一些內(nèi)存和具有處理能力。 (7)節(jié)點(diǎn) 在運(yùn)行時(shí)存在的一個(gè)物理元素。2. 動作事物 UML模型中的動態(tài)部分,包括: 交互狀態(tài)機(jī)2. 動作事物 UML模型中的動態(tài)部分,包括: (1)交互一組對象在特定上下文中,為達(dá)到某種特定的目的而進(jìn)行的一系列消息交換組成的動作。 (1)交互一組對象在特定上下文中,為達(dá)到某種特定的目的而進(jìn)行(2)狀態(tài)機(jī)由一系列對象的狀態(tài)組成。 (2)狀態(tài)機(jī)由一系列對象的狀態(tài)組成。 3. 分組事物 UML模型中組織的部分。分組事物只

8、有一種:包。包是一種將有組織的元素分組的機(jī)制。包只存在于開發(fā)階段。 3. 分組事物 UML模型中組織的部分。4. 注釋事物 UML模型的解釋部分。4. 注釋事物 UML模型的解釋部分。1.5.2 UML中的關(guān)系 關(guān)聯(lián)依賴泛化實(shí)現(xiàn)聚合1.5.2 UML中的關(guān)系 關(guān)聯(lián)1.6 通用機(jī)制 1.6.1 修飾1.6.2 注釋1.6.3 規(guī)格說明(略)1.6.4 通用劃分(略)1.6.5 擴(kuò)展機(jī)制(略)1.6 通用機(jī)制 1.6.1 修飾1.6.1 修飾 為圖中的模型元素增加了語義。示例: 當(dāng)一個(gè)元素代表某種類型的時(shí)候,它的名稱用粗體字形來顯示;當(dāng)同一元素表示該類型的特例時(shí),該元素的名稱用一條下劃線修飾。1.

9、6.1 修飾 為圖中的模型元素增加了語義。當(dāng)一個(gè)元素代1.6.2 注釋以自由的文本形式出現(xiàn)的。信息類型是不被UML解釋的一個(gè)字符串。 示例:1.6.2 注釋以自由的文本形式出現(xiàn)的。1.7 UML建模的簡單流程 構(gòu)建系統(tǒng)模型所需的幾種模型:1.7 UML建模的簡單流程 構(gòu)建系統(tǒng)模型所需的幾種模型:第2節(jié) 用例圖 2.1 用例圖的概念2.2 用例圖建模技術(shù)2.3 實(shí)例圖書館管理系統(tǒng)中的 用例圖第2節(jié) 用例圖 2.1 用例圖的概念2.1.1 概述 用例圖顯示誰將是相關(guān)的用戶、用戶希望系統(tǒng)提供什么服務(wù)以及用戶需要為系統(tǒng)提供的服務(wù)。用例圖最常用來描述系統(tǒng)以及子系統(tǒng)。 2.1.1 概述 用例圖顯示誰將是相

10、關(guān)的用戶、用戶希望系統(tǒng)提2.1.1 概述 用例圖包含6個(gè)元素:參與者(Actor)用例(Use Case)關(guān)聯(lián)關(guān)系(Association)包含關(guān)系(Include)擴(kuò)展關(guān)系(Extend)泛化關(guān)系(Generalization) 2.1.1 概述 用例圖包含6個(gè)元素:2.1.2 參與者 系統(tǒng)外部的一個(gè)實(shí)體。參與用例的執(zhí)行過程。通過向系統(tǒng)輸入或請求系統(tǒng)輸入某些事件來觸發(fā)系統(tǒng)的執(zhí)行。由參與用例時(shí)所擔(dān)當(dāng)?shù)慕巧珌肀硎?。每個(gè)參與者可以參與一個(gè)或多個(gè)用例。 2.1.2 參與者 系統(tǒng)外部的一個(gè)實(shí)體。2.1.2 參與者參與者的種類:系統(tǒng)用戶與所建造的系統(tǒng)交互的其他系統(tǒng)一些可以運(yùn)行的進(jìn)程 2.1.2 參與者參

11、與者的種類:確定參與者如何尋找系統(tǒng)的參與者 對參與者建模的過程中需要注意的問題確定參與者參與者間的關(guān)系在用例圖中,使用泛化關(guān)系來描述多個(gè)參與者之間的公共行為。 參與者間的泛化關(guān)系示例:參與者間的關(guān)系在用例圖中,使用泛化關(guān)系來描述多個(gè)參與者之間的2.1.3 用例 外部可見的系統(tǒng)功能單元。 在不揭示系統(tǒng)內(nèi)部構(gòu)造的前提下定義連貫的行為。 不是需求或功能的規(guī)格說明,但是也展示和體現(xiàn)其所描述的過程中的需求情況。 2.1.3 用例 外部可見的系統(tǒng)功能單元。 2.1.3 用例用例的名稱:簡單名路徑名2.1.3 用例用例的名稱:識別用例識別用例最好的方法就是從分析系統(tǒng)的參與者開始,考慮每個(gè)參與者是如何使用系統(tǒng)

12、的。 如何識別用例。(圖書館管理系統(tǒng):借書、還書、查詢;ATM系統(tǒng):查詢、取款、修改密碼、轉(zhuǎn)賬;教材:查詢、買書者修改書庫信息、采購者修改書庫信息;成績:查詢、修改成績、添加成績。識別用例識別用例最好的方法就是從分析系統(tǒng)的參與者開始,考慮每2.1.4 用例間的關(guān)系 1 關(guān)聯(lián)關(guān)系2 包含關(guān)系3 擴(kuò)展關(guān)系4 泛化關(guān)系2.1.4 用例間的關(guān)系 關(guān)聯(lián)關(guān)系表示參與者用例之間進(jìn)行通信。 不同的參與者可以訪問相同的用例。(如成績查詢) 關(guān)聯(lián)關(guān)系表示參與者用例之間進(jìn)行通信。 包含關(guān)系客戶用例可以簡單地包含提供者用例具有的行為,并把它所包含的用例行為作為自身行為的一部分。 (如ATM系統(tǒng)的取款用例指向驗(yàn)證用戶賬

13、戶余額用例)包含關(guān)系客戶用例可以簡單地包含提供者用例具有的行為,并把它所擴(kuò)展關(guān)系擴(kuò)展用例被定義為基礎(chǔ)用例的增量擴(kuò)展。基礎(chǔ)用例提供擴(kuò)展點(diǎn)以添加新的行為。擴(kuò)展用例提供插入片段以插入到基礎(chǔ)用例的擴(kuò)展點(diǎn)上。 (如圖書超期,交罰金)擴(kuò)展關(guān)系擴(kuò)展用例被定義為基礎(chǔ)用例的增量擴(kuò)展。泛化關(guān)系父用例也可以被特別列舉為一個(gè)或多個(gè)子用例。 子用例表示父用例的特殊形式。 子用例從父用例處繼承行為和屬性,還可以添加行為或覆蓋、改變繼承的行為。泛化關(guān)系父用例也可以被特別列舉為一個(gè)或多個(gè)子用例。 2.2 用例圖建模技術(shù)2.2.1 對語境建模2.2.2 對需求建模2.2 用例圖建模技術(shù)2.2.1 對語境建模識別系統(tǒng)外部的參與者

14、。將類似參與者組織成泛化的結(jié)構(gòu)層次。在需要加深理解的地方,為每個(gè)參與者提供一個(gè)構(gòu)造型。將參與者放入到用例圖中,并說明參與者與用例之間的通信路徑。2.2.1 對語境建模識別系統(tǒng)外部的參與者。2.2.2 對需求建模 識別系統(tǒng)的外部參與者來建立系統(tǒng)的語境。考慮每一個(gè)參與者期望的行為或需要系統(tǒng)提供的行為。把這些公共的行為命名為用例。確定提供者用例和擴(kuò)展用例。對這些用例、參與者和它們之間的關(guān)系建模。用注釋修飾用例。2.2.2 對需求建模 識別系統(tǒng)的外部參與者來建立系統(tǒng)的語2.3 實(shí)例圖書館管理系統(tǒng)的用例圖 2.3.1 確定系統(tǒng)涉及的總體信息2.3.2 確定系統(tǒng)的參與者2.3.3 確定系統(tǒng)的用例2.3.4

15、 圖書館管理系統(tǒng)的用例圖2.3 實(shí)例圖書館管理系統(tǒng)的用例圖 2.3.1 確定系統(tǒng)涉及的總體信息讀者:借書還書書籍預(yù)定 2.3.1 確定系統(tǒng)涉及的總體信息讀者:2.3.1 確定系統(tǒng)涉及的總體信息圖書館管理員:書籍借出處理書籍歸還處理預(yù)定信息處理 2.3.1 確定系統(tǒng)涉及的總體信息圖書館管理員:2.3.1 確定系統(tǒng)涉及的總體信息系統(tǒng)管理員:增加書目刪除或更新書目增加書籍減少書籍增加讀者帳戶信息刪除或更新讀者帳戶信息書籍信息查詢讀者信息查詢 2.3.1 確定系統(tǒng)涉及的總體信息系統(tǒng)管理員:2.3.2 確定系統(tǒng)的參與者首先分析系統(tǒng)所涉及的問題領(lǐng)域和系統(tǒng)運(yùn)行的主要任務(wù):分析使用該系統(tǒng)主要功能部分的是哪些人

16、。誰將需要該系統(tǒng)的支持以完成其工作。系統(tǒng)的管理者與維護(hù)者。 2.3.2 確定系統(tǒng)的參與者首先分析系統(tǒng)所涉及的問題領(lǐng)域和2.3.2 確定系統(tǒng)的參與者圖書館管理系統(tǒng)的參與者:讀者(借閱者)圖書館管理員圖書館管理系統(tǒng)維護(hù)者 2.3.2 確定系統(tǒng)的參與者圖書館管理系統(tǒng)的參與者:2.3.3 確定系統(tǒng)的用例1. 借閱者請求服務(wù)的用例2. 圖書館管理員處理借書、還書等的用例3. 系統(tǒng)管理員進(jìn)行系統(tǒng)維護(hù)的用例 2.3.3 確定系統(tǒng)的用例1. 借閱者請求服務(wù)的用例登錄系統(tǒng) 查詢自己的借閱信息查詢書籍信息預(yù)定書籍借閱書籍歸還書籍1. 借閱者請求服務(wù)的用例登錄系統(tǒng) 2. 圖書館管理員處理借書、還書的用例處理書籍借閱

17、處理書籍歸還刪除預(yù)定信息2. 圖書館管理員處理借書、還書的用例3. 系統(tǒng)管理員進(jìn)行系統(tǒng)維護(hù)的用例查詢借閱者信息查詢書籍信息增加書目刪除或更新書目增加書籍刪除書籍添加借閱者帳戶刪除或更新借閱者帳戶 3. 系統(tǒng)管理員進(jìn)行系統(tǒng)維護(hù)的用例查詢借閱者信息2.3.4 圖書館管理系統(tǒng)的用例圖1. 借閱者請求服務(wù)的用例圖2. 圖書館管理員處理借書、還書的用例圖3. 系統(tǒng)管理員進(jìn)行系統(tǒng)維護(hù)的用例圖2.3.4 圖書館管理系統(tǒng)的用例圖1. 借閱者請求服務(wù)的用例圖1. 借閱者請求服務(wù)的用例圖2. 圖書館管理員處理借書、還書的用例圖 2. 圖書館管理員處理借書、還書的用例圖 3. 系統(tǒng)管理員進(jìn)行系統(tǒng)維護(hù)的用例圖 3.

18、系統(tǒng)管理員進(jìn)行系統(tǒng)維護(hù)的用例圖 課本p126 用例圖用于顯示若干角色以及這些角色與系統(tǒng)提供的用例之間的連接關(guān)系。用例是系統(tǒng)提供的功能的描述 課本p126 用例圖用于顯示若干角色以及這些角色與系統(tǒng)提供第3節(jié) 類圖和對象圖3.1 類圖的概念3.2 對象圖3.3 實(shí)例ATM系統(tǒng)的類圖第3節(jié) 類圖和對象圖3.1 類圖的概念3.1 類圖的概念描述類、接口、協(xié)作及它們之間關(guān)系的圖。顯示系統(tǒng)中各個(gè)類的靜態(tài)結(jié)構(gòu)。 3.1 類圖的概念描述類、接口、協(xié)作及它們之間關(guān)系的圖。3.1.1 概述類圖的元素:類(Class)接口(Interface)協(xié)作(Collaboration)依賴關(guān)系(Dependency)泛化關(guān)

19、系(Generalization)關(guān)聯(lián)關(guān)系(Association)實(shí)現(xiàn)關(guān)系(Realization) 3.1.1 概述類圖的元素:3.1.2 類 面向?qū)ο笙到y(tǒng)組織結(jié)構(gòu)的核心。對一組具有相同屬性、操作、關(guān)系和語義的對象的抽象。包括名稱部分(Name)、屬性部分(Attribute)和操作部分(Operation)。 3.1.2 類 面向?qū)ο笙到y(tǒng)組織結(jié)構(gòu)的核心。3.1.2 類1 名稱2 屬性3 操作4 職責(zé)5 約束6 注釋3.1.2 類1 名稱名稱 應(yīng)該來自系統(tǒng)的問題域。 應(yīng)該是一個(gè)名詞,且不應(yīng)該有前綴或后綴。 分為簡單名稱和路徑名稱。 名稱 應(yīng)該來自系統(tǒng)的問題域。 屬性描述了類在軟件系統(tǒng)中代表

20、的事物(即對象)所具備的特性。 類可以有任意數(shù)目的屬性,也可以沒有屬性。 在UML中,類屬性的語法為:屬性描述了類在軟件系統(tǒng)中代表的事物(即對象)所具備的特性。 操作對類的對象所能做的事務(wù)的抽象。一個(gè)類可以有任意數(shù)量的操作或者根本沒有操作。 返回類型、名稱和參數(shù)一起被稱為操作簽名。 在UML中,類操作的語法為:操作對類的對象所能做的事務(wù)的抽象。職責(zé)(了解) 類或其他元素的契約或義務(wù)。 自由形式的文本。 非形式化的方法。 職責(zé)(了解) 類或其他元素的契約或義務(wù)。 約束(了解)指定了類所要滿足的一個(gè)或多個(gè)規(guī)則。 形式化的方法。 約束(了解)指定了類所要滿足的一個(gè)或多個(gè)規(guī)則。 注釋注釋可以包含圖形也可以包含文本。 注釋注釋可以包含圖形也可以包含文本。 3.1.3 接口 在沒有給出對象的實(shí)現(xiàn)和狀態(tài)的情況下對對象行為的描述。 包含操作但不包含屬性。沒有對外界可見的

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論