軟件需求-第13課-軟件需求分析-面向?qū)ο蠼?三)(第1版).ppt
《軟件需求-第13課-軟件需求分析-面向?qū)ο蠼?三)(第1版).ppt》由會(huì)員分享,可在線閱讀,更多相關(guān)《軟件需求-第13課-軟件需求分析-面向?qū)ο蠼?三)(第1版).ppt(71頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
1、軟件需求 哈爾濱工程大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院海量數(shù)據(jù)挖掘及網(wǎng)絡(luò)數(shù)據(jù)集成研究組王念濱教授博導(dǎo) 第13章面向?qū)ο蠼?三 本課主要討論問(wèn)題 2對(duì)象模型 3用例模型 4行為模型 1面向?qū)ο蠓治?5對(duì)象約束語(yǔ)言O(shè)CL 6面向?qū)ο蠼?4行為模型 交互圖 InteractionDiagram 順序圖 SequenceDiagram 通信圖 CommunicationDiagram 交互概述圖 InteractionOverviewDiagram 時(shí)間圖 TimingDiagram 活動(dòng)圖 ActivityDiagram 狀態(tài)圖 StateDiagram 行為模型 4行為模型 以一組對(duì)象為中心的交互描述技
2、術(shù)描述在特定上下文環(huán)境中一組對(duì)象的交互行為通常描述的是單個(gè)用例的典型場(chǎng)景交互圖中的每一個(gè)交互都描述了環(huán)境中的對(duì)象為了實(shí)現(xiàn)某個(gè)目標(biāo)而執(zhí)行的一系列消息交換順序圖和通信圖是最常用的交互圖交互圖中出現(xiàn)的對(duì)象應(yīng)該在領(lǐng)域模型中有相應(yīng)的對(duì)象存在 行為模型 交互圖 在標(biāo)識(shí)出系統(tǒng)的類(lèi)圖之后 僅給出了實(shí)現(xiàn)用例的組成結(jié)構(gòu) 這時(shí)還需要描述這些類(lèi)的對(duì)象是如何交互來(lái)實(shí)現(xiàn)用例功能的 即不但需要把用例圖模型轉(zhuǎn)化為類(lèi)圖模型 還要將它轉(zhuǎn)化為交互圖模型 4行為模型 行為模型 交互圖 順序圖 可視化地對(duì)系統(tǒng)邏輯建模 順序圖用于對(duì)使用情景進(jìn)行邏輯建模 使用情景是描述系統(tǒng)使用的一種潛在的方式 使用情景的邏輯可能是用例的一部分 也可能是候
3、選過(guò)程 使用情景可能跨越多個(gè)用例所包含的邏輯 例如 學(xué)生注冊(cè)進(jìn)入大學(xué) 然后立即可以在多個(gè)討論班中注冊(cè) 順序圖是采用一種可視化的方式對(duì)系統(tǒng)的邏輯流程進(jìn)行建模 以便能夠記錄并驗(yàn)證分析的邏輯 通常被應(yīng)用在分析和設(shè)計(jì)領(lǐng)域 4行為模型 4行為模型 定義順序圖順序圖是交互圖之一 順序圖用來(lái)建模以時(shí)間順序安排的對(duì)象交互 并且把用例行為分配給類(lèi) 它是用來(lái)顯示參與者如何采用若干順序步驟與系統(tǒng)對(duì)象交互的模型 為什么要建模順序圖建模順序圖有許多理由 順序圖與活動(dòng)圖具有類(lèi)似的作用 其中重要的理由就是實(shí)現(xiàn)用例 任何用例都可以使用順序圖進(jìn)一步闡明和實(shí)現(xiàn) 使用順序圖建模 4行為模型 順序圖的標(biāo)記符順序圖有兩個(gè)主要的標(biāo)記符
4、活動(dòng)對(duì)象和這些活動(dòng)對(duì)象之間的通信消息 活動(dòng)對(duì)象可以是任何在系統(tǒng)中扮演角色的對(duì)象 不管它是對(duì)象實(shí)例還是參與者 如下圖所示 使用順序圖建模 4行為模型 活動(dòng)對(duì)象之間發(fā)送的消息是順序圖的關(guān)鍵 消息說(shuō)明了對(duì)象之間的控制流 對(duì)象是如何交互的 以及什么條件會(huì)改變控制流 活動(dòng)對(duì)象 活動(dòng)對(duì)象可以是系統(tǒng)的參與者或者任何有效的系統(tǒng)對(duì)象 對(duì)象是類(lèi)的實(shí)例 它使用包圍名稱(chēng)的矩形框來(lái)標(biāo)記 名稱(chēng)帶下劃線 順序圖中對(duì)象的標(biāo)記符如下圖所示 順序圖的對(duì)象與消息 4行為模型 消息 消息用來(lái)說(shuō)明順序圖中不同活動(dòng)對(duì)象之間的通信 它可在一個(gè)對(duì)象需要取消不同對(duì)象的進(jìn)程時(shí)或者需要向另一個(gè)對(duì)象提供服務(wù)時(shí) 使用消息 消息從活動(dòng)對(duì)象生命線到接收對(duì)
5、象生命線的箭頭表示 箭頭上面標(biāo)記要發(fā)送的消息 如下圖所示 活動(dòng)對(duì)象之間發(fā)送的消息是順序圖的關(guān)鍵 消息說(shuō)明了對(duì)象之間的控制流 對(duì)象是如何交互的 以及什么條件會(huì)改變控制流 順序圖的對(duì)象與消息 4行為模型 順序圖的對(duì)象與消息 活動(dòng)對(duì)象為參與者的情況 把參與者表示為活動(dòng)對(duì)象的建??梢哉f(shuō)明參與者如何與系統(tǒng)交互 以及系統(tǒng)如何與用戶交互 參與者可以調(diào)用對(duì)象 對(duì)象也可以通知參與者 如下圖所示 4行為模型 上面的圖例說(shuō)明了參與者和對(duì)象可以把消息發(fā)送給順序圖中的任何參與者或者對(duì)象 它們可以把消息發(fā)送給不是其直接相鄰的參與者或者對(duì)象 下面看一個(gè)意義更加豐富的示例 對(duì)于CompileApplication用例 可以創(chuàng)
6、建一個(gè)成功編譯工作流的順序圖 如圖所示 4行為模型 這個(gè)順序圖中有4個(gè)活動(dòng)對(duì)象 Developer Compiler Linker和FileSystem Developer是系統(tǒng)的參與者 Compiler是Developer交互的應(yīng)用程序 Linker是一個(gè)用來(lái)鏈接對(duì)象文件的獨(dú)立進(jìn)程 FileSystem是系統(tǒng)層功能的包裝器 用來(lái)執(zhí)行文件的輸人和輸出例程 CompileApplication用例的順序圖操作 Developer請(qǐng)求Compiler執(zhí)行編譯Compiler請(qǐng)求FileSystem加載文件Compiler通知自己執(zhí)行編譯Compiler請(qǐng)求FileSystem保存對(duì)象代碼Compi
7、ler請(qǐng)求Linker鏈接對(duì)象代碼Linker請(qǐng)求FileSystem加載對(duì)象代碼Liker通知自己執(zhí)行鏈接Linker請(qǐng)求FileSystem保存編譯的結(jié)果 順序圖示例 4行為模型 消息是順序圖活動(dòng)對(duì)象之間通信的惟一方式 UML中的消息使用了一些簡(jiǎn)潔的標(biāo)記符 消息可以包含條件以便限制它們只在滿足條件時(shí)才能發(fā)送 條件顯示在消息名稱(chēng)上面的方括號(hào)中 如下圖所示 順序圖 如何使用消息進(jìn)行通信 4行為模型 右圖的示例演示了如何建模一個(gè)順序圖來(lái)顯示登錄嘗試 如果登錄失敗 會(huì)在放棄登錄之前重試一次 順序圖 如何使用消息進(jìn)行通信 4行為模型 順序圖 構(gòu)建順序圖 示例 編譯程序 簡(jiǎn)化用例CompileAppl
8、ication用例 Developer請(qǐng)求Compiler執(zhí)行編譯Compiler請(qǐng)求FileSystem加載文件Compiler通知自己執(zhí)行編譯Compiler請(qǐng)求FileSystem保存對(duì)象代碼Compiler請(qǐng)求Linker鏈接對(duì)象代碼Linker請(qǐng)求FileSystem加載對(duì)象代碼Liker通知自己執(zhí)行鏈接Linker請(qǐng)求FileSystem保存編譯的結(jié)果 4行為模型 順序圖 構(gòu)建順序圖 構(gòu)建順序圖的第1步是確定該圖是否表示與外部和內(nèi)部實(shí)體的交互 在本方案中 開(kāi)發(fā)人員在系統(tǒng)外部 因此用參與者來(lái)表示他 首先將參與者Developer添加到順序圖上 Developer 4行為模型 順序圖
9、構(gòu)建順序圖 構(gòu)建順序圖的第2步是添加將與參與者交互的類(lèi) 對(duì)象 這些類(lèi)的名稱(chēng)應(yīng)該能夠反映出類(lèi)或者示例的行為 對(duì)于本例 將添加三個(gè)類(lèi) 編譯器 連接器和文件系統(tǒng) Developer Compiler Linker FileSystem 4行為模型 順序圖 構(gòu)建順序圖 構(gòu)建順序圖的第2步是添加將與參與者交互的類(lèi) 對(duì)象 這些類(lèi)的名稱(chēng)應(yīng)該能夠反映出類(lèi)或者示例的行為 對(duì)于軟件分析和設(shè)計(jì)人員來(lái)說(shuō) 順序圖是直觀的 它將對(duì)象 類(lèi) 和參與者 橫軸 映射到時(shí)間 縱軸 消息連接了對(duì)象 當(dāng)消息發(fā)生時(shí) 它們沿著縱軸從一個(gè)對(duì)象移動(dòng)到另外一個(gè)對(duì)象 這些消息被連接到從對(duì)象或參與者底部的中間延伸出的豎直虛線 這條線也被稱(chēng)為生命線
10、構(gòu)建順序圖的第3步是根據(jù)用例流程確定順序圖的流程 簡(jiǎn)化用例CompileApplication用例 Developer請(qǐng)求Compiler執(zhí)行編譯Compiler請(qǐng)求FileSystem加載文件Compiler通知自己執(zhí)行編譯Compiler請(qǐng)求FileSystem保存對(duì)象代碼Compiler請(qǐng)求Linker鏈接對(duì)象代碼Linker請(qǐng)求FileSystem加載對(duì)象代碼Liker通知自己執(zhí)行鏈接Linker請(qǐng)求FileSystem保存編譯的結(jié)果 4行為模型 順序圖 構(gòu)建順序圖 Developer Compiler Linker FileSystem Developer請(qǐng)求Compiler執(zhí)行編譯
11、 Compile 4行為模型 順序圖 構(gòu)建順序圖 Developer Compiler Linker FileSystem Compile Compiler請(qǐng)求FileSystem加載文件 LoadFiles 4行為模型 順序圖 構(gòu)建順序圖 Compiler通知自己執(zhí)行編譯 Developer Compiler Linker FileSystem Compile LoadFiles CompileFiles 4行為模型 順序圖 構(gòu)建順序圖 Compiler請(qǐng)求FileSystem保存對(duì)象代碼 Developer Compiler Linker FileSystem Compile LoadFi
12、les CompileFiles SaveOBJFiles 4行為模型 順序圖 構(gòu)建順序圖 Compiler請(qǐng)求Linker鏈接對(duì)象代碼 Developer Compiler Linker FileSystem Compile LoadFiles CompileFiles SaveOBJFiles Link 4行為模型 順序圖 構(gòu)建順序圖 Linker請(qǐng)求FileSystem加載對(duì)象代碼 Developer Compiler Linker FileSystem Compile LoadFiles CompileFiles SaveOBJFiles Link LoadOBJFiles 4行為模型
13、 順序圖 構(gòu)建順序圖 Developer Compiler Linker FileSystem Compile LoadFiles CompileFiles SaveOBJFiles Link LoadOBJFiles CompileFiles Liker通知自己執(zhí)行鏈接 4行為模型 順序圖 構(gòu)建順序圖 Linker請(qǐng)求FileSystem保存編譯的結(jié)果 Developer Compiler Linker FileSystem Compile LoadFiles CompileFiles SaveOBJFiles Link LoadOBJFiles CompileFiles SaveEXEFi
14、les 4行為模型 順序圖 構(gòu)建順序圖 Developer Compiler Linker FileSystem Compile LoadFiles CompileFiles SaveOBJFiles Link LoadOBJFiles CompileFiles SaveEXEFiles 消息用帶箭頭的實(shí)現(xiàn)表示 返回值用帶箭頭的虛線表示 4行為模型 順序圖 構(gòu)建順序圖 Developer Compiler Linker FileSystem Compile LoadFiles CompileFiles SaveOBJFiles Link LoadOBJFiles CompileFiles Sa
15、veEXEFiles success failure 返回值用帶箭頭的虛線表示 在分析階段一般可以不考慮 4行為模型 順序圖 構(gòu)建順序圖 Developer Compiler Linker FileSystem Compile LoadFiles CompileFiles SaveOBJFiles Link LoadOBJFiles CompileFiles SaveEXEFiles 關(guān)于激活狀態(tài) 4行為模型 順序圖 構(gòu)建順序圖 消息用帶箭頭的實(shí)現(xiàn)表示 返回值用帶箭頭的虛線表示 激活狀態(tài)用矩形框表示示例 顧客購(gòu)買(mǎi)CD順序圖 4行為模型 活動(dòng)圖 4行為模型 活動(dòng)圖概述 活動(dòng)圖是UML規(guī)范中定義的
16、一種圖表 是一種表述過(guò)程機(jī)理 業(yè)務(wù)過(guò)程以及工作流的技術(shù) 它可以用于對(duì)業(yè)務(wù)過(guò)程 工作流建模 也可以對(duì)用例實(shí)現(xiàn)或程序?qū)崿F(xiàn)來(lái)建模 因此它的作用和傳統(tǒng)的 流程圖 有類(lèi)似性 區(qū)別在于 活動(dòng)圖能夠更好地支持并行的行為 活動(dòng)是某件事情正在進(jìn)行的狀態(tài) 活動(dòng)在狀態(tài)機(jī)中表現(xiàn)為一個(gè)由一系列動(dòng)作組成的非原子的執(zhí)行過(guò)程 活動(dòng)圖是一種描述系統(tǒng)行為的圖 它用于展現(xiàn)參與行為的類(lèi)所進(jìn)行的各種活動(dòng)的順序關(guān)系 活動(dòng)圖與狀態(tài)圖都是狀態(tài)機(jī)的表現(xiàn)形式 實(shí)踐經(jīng)驗(yàn) 很多開(kāi)發(fā)小組在分析期間不畫(huà)順序圖 而將重點(diǎn)放在活動(dòng)圖上 4行為模型 活動(dòng)圖的圖形表示 在UML中 活動(dòng)表示成圓角矩形 如果一個(gè)活動(dòng)引發(fā)下一個(gè)活動(dòng) 兩個(gè)活動(dòng)的圖標(biāo)之間用帶箭頭的直線
17、連接 活動(dòng)圖也有起點(diǎn)和終點(diǎn) 表示法和狀態(tài)圖中相同 活動(dòng)圖中還包括分支與合并 分叉與匯合等模型元素 分支與合并的圖標(biāo)和狀態(tài)圖中的判定的圖標(biāo)相同 而分叉與匯合則用一條加粗的線段表示 4行為模型 活動(dòng)圖的主要元素 初始節(jié)點(diǎn)和活動(dòng)終點(diǎn) 在活動(dòng)圖中有兩個(gè)特殊的節(jié)點(diǎn) 一個(gè)用于表示活動(dòng)的初始節(jié)點(diǎn) 用一個(gè)實(shí)心圓表示 在一個(gè)活動(dòng)圖中有且只有一個(gè)初始節(jié)點(diǎn) 另外一個(gè)表示活動(dòng)處理完成 用一個(gè)圓圈內(nèi)加實(shí)心圓來(lái)表示 在活動(dòng)圖中可能包含多個(gè)活動(dòng)終點(diǎn) 4行為模型 活動(dòng)圖的主要元素 活動(dòng)節(jié)點(diǎn) 活動(dòng)節(jié)點(diǎn)是活動(dòng)圖中最重要的元素之一 用圓角矩形表示執(zhí)行的過(guò)程或活動(dòng) 用來(lái)表示一個(gè)活動(dòng) 在UML中 活動(dòng)節(jié)點(diǎn)所描述的活動(dòng)可以使原子的動(dòng)作
18、也可以是能進(jìn)一步分解的一系列操作 它可以使文字描述 表達(dá)式 事件等 用戶下訂單 A B C Dispatch aOrder 文字描述 表達(dá)式 消息事件 4行為模型 活動(dòng)圖的主要元素 轉(zhuǎn)換 當(dāng)一個(gè)活動(dòng)結(jié)束時(shí) 控制流會(huì)立即傳遞給下一個(gè)活動(dòng)節(jié)點(diǎn) 在活動(dòng)圖中稱(chēng)其為轉(zhuǎn)換 用一條帶箭頭的直線表示 從語(yǔ)義上說(shuō) 這種轉(zhuǎn)換稱(chēng)為無(wú)觸發(fā)轉(zhuǎn)換 一旦前一個(gè)動(dòng)作完成就無(wú)條件地轉(zhuǎn)換到另外一個(gè) 4行為模型 分支與監(jiān)護(hù)條件 對(duì)任何一個(gè)控制流而言 都一定會(huì)存在分支 循環(huán)等形式的控制流 在活動(dòng)圖中 采用菱形框表示分支 其包含一個(gè)進(jìn)入轉(zhuǎn)換 一個(gè)或者多個(gè)離開(kāi)轉(zhuǎn)換 對(duì)每個(gè)離開(kāi)轉(zhuǎn)換都存在一個(gè)監(jiān)護(hù)條件 用于表示滿足什么條件時(shí)執(zhí)行該轉(zhuǎn)換 需要
19、注意的是 在多個(gè)離開(kāi)條件存在時(shí) 應(yīng)保證各條件不會(huì)存在矛盾 否則會(huì)使流程出現(xiàn)混亂 活動(dòng)圖的主要元素 a 0 a 0 a 0 4行為模型 分支與監(jiān)護(hù)條件 活動(dòng)圖的主要元素 a 0 a 0 a 0 雖然在活動(dòng)圖中沒(méi)有提供表示循環(huán)的建模元素 但可以利用分支來(lái)實(shí)現(xiàn) 循環(huán) 控制流的表示 用戶下訂單 生成送貨單 用戶選擇支付方式 用戶取消或訂單超過(guò)時(shí)限 訂單取消 收款 No Yes 供應(yīng)商送貨 修改訂單項(xiàng)狀態(tài) 所有訂單項(xiàng)已送貨完畢 Yes 訂單完成 No 4行為模型 分岔與匯合 活動(dòng)圖的主要元素 在實(shí)際的控制流中 除了順序結(jié)構(gòu) 分支結(jié)構(gòu)和循環(huán)結(jié)構(gòu)外 還可能存在并發(fā)的事件流 在UML中 可以采用一個(gè)同步線來(lái)說(shuō)
20、明這些并行控制流的分岔和匯合 分岔 匯合 如圖所示 分岔有一個(gè)進(jìn)入轉(zhuǎn)換 兩個(gè)或者多個(gè)離開(kāi)轉(zhuǎn)換 匯合有兩個(gè)或者多個(gè)進(jìn)入轉(zhuǎn)換 一個(gè)離開(kāi)轉(zhuǎn)換 4行為模型 活動(dòng)圖 帶泳道的活動(dòng)圖 觀察活動(dòng)圖時(shí)會(huì)發(fā)現(xiàn)存在一個(gè)問(wèn)題 上述的活動(dòng)圖無(wú)法顯示業(yè)務(wù)活動(dòng)是由那個(gè)對(duì)象 類(lèi) 或者崗位執(zhí)行的 這在需求分析階段重點(diǎn)關(guān)注業(yè)務(wù)活動(dòng)不利 為了有效的解決這一問(wèn)題 可以通過(guò)泳道 Swimlane 來(lái)實(shí)現(xiàn) 4行為模型 泳道將活動(dòng)圖中的活動(dòng)化分為若干組 并把每一組指定給負(fù)責(zé)這組活動(dòng)的業(yè)務(wù)組織即對(duì)象 泳道區(qū)分了負(fù)責(zé)活動(dòng)的對(duì)象 明確地表示了哪些活動(dòng)是由哪些對(duì)象進(jìn)行的 每個(gè)活動(dòng)只能明確地屬于一個(gè)泳道 泳道用垂直實(shí)線繪出 垂直線分隔的區(qū)域就是泳
21、道 在泳道上方可以給出泳道的名字或?qū)ο?對(duì)象類(lèi) 的名字 該對(duì)象 對(duì)象類(lèi) 負(fù)責(zé)泳道內(nèi)的全部活動(dòng) 泳道沒(méi)有順序 不同泳道中的活動(dòng)既可以順序進(jìn)行也可以并發(fā)進(jìn)行 動(dòng)作流和對(duì)象流允許穿越分隔線 活動(dòng)圖 帶泳道的活動(dòng)圖 4行為模型 活動(dòng)圖 帶泳道的活動(dòng)圖 用戶下訂單 生成送貨單 用戶選擇支付方式 用戶取消或訂單超過(guò)時(shí)限 訂單取消 收款 No Yes 供應(yīng)商送貨 修改訂單項(xiàng)狀態(tài) 所有訂單項(xiàng)已送貨完畢 Yes 訂單完成 No 確定參與活動(dòng)的對(duì)象主要有用戶 電子商務(wù)網(wǎng)站 供應(yīng)商 4行為模型 活動(dòng)圖 帶泳道的活動(dòng)圖 客戶 電子商務(wù)網(wǎng)站 供應(yīng)商 用戶下訂單 用戶選擇支付方式 生成送貨單 用戶取消或訂單超過(guò)時(shí)限 訂單
22、取消 Yes No 收款 供應(yīng)商送貨 修改訂單項(xiàng)狀態(tài) 所有訂單項(xiàng)已送貨完畢 Yes No 訂單完成 4行為模型 活動(dòng)圖 帶對(duì)象流的活動(dòng)圖 對(duì)象流是動(dòng)作狀態(tài)或者活動(dòng)狀態(tài)與對(duì)象之間的依賴(lài)關(guān)系 表示動(dòng)作使用對(duì)象或者動(dòng)作對(duì)對(duì)象的影響 對(duì)象流中的對(duì)象特點(diǎn) 一個(gè)對(duì)象可以由多個(gè)動(dòng)作操縱 一個(gè)動(dòng)作輸出的對(duì)象可以作為另一個(gè)動(dòng)作輸入的對(duì)象 在活動(dòng)圖中 同一個(gè)對(duì)象可以多次出現(xiàn) 它的每一次出現(xiàn)表明該對(duì)象正處于對(duì)象生存期的不同時(shí)間點(diǎn) 對(duì)象流用帶有箭頭的虛線表示 如果箭頭從動(dòng)作狀態(tài)出發(fā)指向?qū)ο?則表示動(dòng)作對(duì)對(duì)象施加了一定的影響 如果箭頭從對(duì)象指向動(dòng)作狀態(tài) 則表示該動(dòng)作使用對(duì)象流所指向的對(duì)象 4行為模型 客戶 電子商務(wù)網(wǎng)站
23、 供應(yīng)商 用戶下訂單 用戶選擇支付方式 生成送貨單 用戶取消或訂單超過(guò)時(shí)限 訂單取消 Yes No 收款 供應(yīng)商送貨 修改訂單項(xiàng)狀態(tài) 所有訂單項(xiàng)已送貨完畢 Yes No 訂單完成 活動(dòng)圖 帶對(duì)象流的活動(dòng)圖 aOrder Order new DeliverOrder new DeliverOrder finished 4行為模型 活動(dòng)圖 帶對(duì)象流的活動(dòng)圖 當(dāng) 用戶下訂單 時(shí) 將創(chuàng)建一個(gè)Order類(lèi)的實(shí)例 用于存放訂單的信息 該Order類(lèi)還包含相應(yīng)的OrderItem項(xiàng) 當(dāng) 生成送貨單 時(shí) 將根據(jù)Order類(lèi)的實(shí)例 創(chuàng)建多個(gè)DeliverOrder 送貨單 的實(shí)例 當(dāng) 修改訂單項(xiàng)狀態(tài) 之后 De
24、liverOrder的狀態(tài)將變成 finished 4行為模型 活動(dòng)圖 活動(dòng)的分解 一個(gè)活動(dòng)可以分為若干個(gè)動(dòng)作或子活動(dòng) 這些動(dòng)作和子活動(dòng)本身可以組成一個(gè)活動(dòng)圖 一個(gè)包含子活動(dòng)的活動(dòng)和嵌套了子狀態(tài)的組合狀態(tài)類(lèi)似 概念上也相對(duì)統(tǒng)一 一個(gè)不含內(nèi)嵌活動(dòng)或動(dòng)作的活動(dòng)稱(chēng)之為簡(jiǎn)單活動(dòng) 一個(gè)嵌套了若干活動(dòng)或動(dòng)作的活動(dòng)稱(chēng)之為組合活動(dòng) 組合活動(dòng)有自己的名字和相應(yīng)的子活動(dòng)圖 4行為模型 活動(dòng)圖 活動(dòng)的分解 客戶 電子商務(wù)網(wǎng)站 供應(yīng)商 用戶下訂單 用戶選擇支付方式 生成送貨單 用戶取消或訂單超過(guò)時(shí)限 訂單取消 Yes No 收款 供應(yīng)商送貨 修改訂單項(xiàng)狀態(tài) 所有訂單項(xiàng)已送貨完畢 Yes No 訂單完成 4行為模型 活
25、動(dòng)圖 活動(dòng)的分解 收款 80 折扣 無(wú)折扣 vip Yes No 本課主要討論問(wèn)題 2對(duì)象模型 3用例模型 4行為模型 1面向?qū)ο蠓治?5對(duì)象約束語(yǔ)言O(shè)CL 6面向?qū)ο蠼?6面向?qū)ο蠼?1 從用例描述中識(shí)別出對(duì)象和類(lèi) 2 分析用例的描述信息 添加類(lèi)的屬性和類(lèi)之間的關(guān)聯(lián) 3 從用例描述中識(shí)別系統(tǒng)行為 4 將系統(tǒng)行為分配給類(lèi) 5 綜合考慮類(lèi)的屬性與行為 細(xì)化類(lèi)的職責(zé) 建立完全的對(duì)象模型 面向?qū)ο蠼?技術(shù)路線 6面向?qū)ο蠼?實(shí)際情況中 分析和設(shè)計(jì)的制品區(qū)別不僅僅是粗略和細(xì)化的問(wèn)題 也反映了開(kāi)發(fā)組的習(xí)慣和作風(fēng) 有些項(xiàng)目組在需求工程階段主要關(guān)心用例模型 他們將分析做得很簡(jiǎn)單 設(shè)計(jì)很詳細(xì) 有的組分
26、析和設(shè)計(jì)放一塊完成了 我的觀點(diǎn) 如果是大型項(xiàng)目 還是要有區(qū)別 如果是小項(xiàng)目 用例完成后 就開(kāi)始設(shè)計(jì) 編碼 分析就免了 僅供參考 6面向?qū)ο蠼?面向?qū)ο蠓治龅慕Y(jié)果 建立領(lǐng)域模型 建立行為模型用例模型 類(lèi)模型順序圖 活動(dòng)圖 6面向?qū)ο蠼?建立領(lǐng)域模型發(fā)現(xiàn)對(duì)象和類(lèi)概念類(lèi)分類(lèi)列表名詞分析行為分析建立類(lèi)之間的關(guān)聯(lián)添加類(lèi)的重要屬性 6面向?qū)ο蠼?建立領(lǐng)域模型 發(fā)現(xiàn)對(duì)象和類(lèi) 如果候選對(duì)象既維持一定的狀態(tài) 又依據(jù)狀態(tài)表現(xiàn)一定的行為 那么它就應(yīng)該是一個(gè)獨(dú)立存在的對(duì)象如果候選對(duì)象只有狀態(tài)沒(méi)有行為 那么就要分析它的狀態(tài)是否是系統(tǒng)需要的數(shù)據(jù) 如果系統(tǒng)需要它的狀態(tài)數(shù)據(jù) 那么該候選對(duì)象就應(yīng)該作為其他對(duì)象的屬性出現(xiàn)在
27、最終的領(lǐng)域模型當(dāng)中 否則 該候選對(duì)象應(yīng)該被擯棄如果候選對(duì)象只有行為沒(méi)有狀態(tài) 那么往往意味著需求信息的遺漏需要注意實(shí)體關(guān)系建模思想帶來(lái)的誤區(qū) 6面向?qū)ο蠼?概念類(lèi)分類(lèi)列表這種方法事先給出一個(gè)概念類(lèi)的分類(lèi)列表 從中發(fā)現(xiàn)對(duì)象 建立領(lǐng)域模型 發(fā)現(xiàn)對(duì)象和類(lèi) 6面向?qū)ο蠼?概念類(lèi)分類(lèi)列表示例 建立領(lǐng)域模型 發(fā)現(xiàn)對(duì)象和類(lèi) 6面向?qū)ο蠼?名詞分析從文本描述中識(shí)別出有關(guān)的名詞和名詞短語(yǔ) 然后從中發(fā)現(xiàn)對(duì)象 建立領(lǐng)域模型 發(fā)現(xiàn)對(duì)象和類(lèi) 6面向?qū)ο蠼?建立領(lǐng)域模型 發(fā)現(xiàn)對(duì)象和類(lèi) 6面向?qū)ο蠼?保證類(lèi)之間協(xié)作所必需的可見(jiàn)性適當(dāng)使用問(wèn)題域內(nèi)的關(guān)聯(lián) 增強(qiáng)領(lǐng)域模型的可理解性要適可而止不要在關(guān)聯(lián)的識(shí)別上花費(fèi)太多的時(shí)間
28、識(shí)別概念類(lèi)比識(shí)別關(guān)聯(lián)更加重要避免顯示冗余和導(dǎo)出的關(guān)聯(lián) 建立領(lǐng)域模型 類(lèi)建立類(lèi)間關(guān)系 原則 6面向?qū)ο蠼?建立領(lǐng)域模型 類(lèi)建立類(lèi)間關(guān)系 示例 6面向?qū)ο蠼?建立領(lǐng)域模型 添加類(lèi)的重要屬性 實(shí)現(xiàn)類(lèi)協(xié)作時(shí)必要的信息 是協(xié)作的條件 輸入 結(jié)果或者過(guò)程記錄使用用戶的描述方式 不進(jìn)行類(lèi)型和約束的嚴(yán)格定義 6面向?qū)ο蠼?建立行為模型 建立行為模型建立系統(tǒng)順序圖在需要時(shí)建立詳細(xì)的交互圖建立用例的狀態(tài)圖或者重要類(lèi)的狀態(tài)圖建立活動(dòng)圖為系統(tǒng)行為添加契約說(shuō)明 6面向?qū)ο蠼?確定交互圖的上下文環(huán)境上下文環(huán)境的前置條件和后置條件應(yīng)該被分配給交互圖中的相應(yīng)行為找出參與交互的對(duì)象交互圖中的參與對(duì)象 和對(duì)象之間的關(guān)聯(lián)
29、應(yīng)該和領(lǐng)域模型中的知識(shí)保持一致 根據(jù)發(fā)現(xiàn)的對(duì)象 和關(guān)聯(lián) 建立交互圖框架添加消息 描述交互行為考慮和系統(tǒng)相關(guān)的 系統(tǒng)內(nèi)的 系統(tǒng)與外部對(duì)象之間的 交互行為 忽略那些與系統(tǒng)無(wú)關(guān)的 外部對(duì)象之間的 交互行為 如果建立的是系統(tǒng)順序圖 那么系統(tǒng)內(nèi)的行為也可以被忽略 進(jìn)行消息標(biāo)識(shí) 特化圖示等詳細(xì)信息的描述 將交互圖的信息補(bǔ)充完整 建立行為模型 建立交互圖 6面向?qū)ο蠼?建立行為模型 建立交互圖 6面向?qū)ο蠼?確定活動(dòng)圖的上下文環(huán)境界定業(yè)務(wù)流程的處理界限分析業(yè)務(wù)流程中的主要處理步驟分析業(yè)務(wù)流程中的主要數(shù)據(jù)流進(jìn)行職責(zé)分配 將業(yè)務(wù)流程的處理步驟劃分到不同的泳道 并將處理步驟和數(shù)據(jù)流的傳遞組織起來(lái) 建立活動(dòng)圖添
30、加活動(dòng)圖的詳細(xì)信息 完善活動(dòng)圖描述 建立行為模型 建立活動(dòng)圖 6面向?qū)ο蠼?建立行為模型 建立活動(dòng)圖 6面向?qū)ο蠼?不需要為所有的系統(tǒng)行為都定義操作契約 可以有選擇的為其中的一部分系統(tǒng)行為定義操作契約涉及到很多狀態(tài)變化的復(fù)雜行為因果關(guān)系比較微妙的模糊行為可以從下面幾個(gè)角度進(jìn)行約束的發(fā)現(xiàn)工作 不變量 系統(tǒng)行為中所涉及的敏感狀態(tài) 這些狀態(tài)的改變往往會(huì)產(chǎn)生廣泛的連鎖反應(yīng)不可改變的屬性 不可改變的關(guān)聯(lián)關(guān)系前置條件 行為發(fā)生和順利完成所需要的系統(tǒng)的狀態(tài)條件合法的參數(shù)有效的狀態(tài)對(duì)象的存在狀態(tài) 對(duì)象的屬性取值 有效的關(guān)聯(lián)關(guān)系后置條件 行為順利完成之后引起的系統(tǒng)狀態(tài)改變有效狀態(tài)的改變對(duì)象的存在狀態(tài) 對(duì)象的
31、屬性取值關(guān)聯(lián)關(guān)系的改變 建立行為模型 添加契約說(shuō)明 6面向?qū)ο蠼?Contract enterItem itemID ItemID quantity integer CrossReferences ProcessSalePrecondition ThereisasaleunderwayPost condition ASalesLineIteminstancessliwascreatedsliwasassociatedwiththecurrentSalesli quantitybecomequantitysliwasassociatedwithaProductSpecification basedonitemIDmatch 建立行為模型 添加契約說(shuō)明
- 溫馨提示:
1: 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 單級(jí)雙吸離心泵維護(hù)與檢修
- 高中生物綜合考試典型試題舉例中國(guó)生物教學(xué)網(wǎng)
- 7怎么都快樂(lè)(精品)
- 四沖程汽油機(jī)的工作原理..課件
- 高中數(shù)學(xué)3.3幾何概型課件新人教A版必修
- 高中歷史必修二第20課修改
- 金融監(jiān)管體制的發(fā)展與發(fā)展變遷
- 七年級(jí)上新目標(biāo)英語(yǔ)期末復(fù)習(xí)課件
- 概率論與數(shù)理統(tǒng)計(jì)-32邊緣分布課件
- 四、人員素質(zhì)測(cè)評(píng)授課PPT(助學(xué)班)課件
- 劍南御白酒客戶推廣策略
- 金融行業(yè)超融合適用性探討
- 滇西南瀾滄江湄公河國(guó)際旅游區(qū)課件
- 華為3G無(wú)線路由器功用以及參數(shù)的詳細(xì)評(píng)測(cè)
- 冀教版三年級(jí)數(shù)學(xué)噸的認(rèn)識(shí)說(shuō)課獲獎(jiǎng)?wù)n件