版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、信息系統(tǒng)分析與設(shè)計(jì)第七章 面向?qū)ο蠓治雠c設(shè)計(jì)信息系統(tǒng)分析與設(shè)計(jì)第7章 面向?qū)ο蠓治雠c設(shè)計(jì)UML建模v一種系統(tǒng)開發(fā)方法應(yīng)由建模語言和開發(fā)過程組成。一種系統(tǒng)開發(fā)方法應(yīng)由建模語言和開發(fā)過程組成。 v建模語言是設(shè)計(jì)的表示符號(hào)建模語言是設(shè)計(jì)的表示符號(hào),而過程則是描述如何而過程則是描述如何進(jìn)行開發(fā)所需的步驟。進(jìn)行開發(fā)所需的步驟。vUML的開發(fā)過程包括需求獲取、系統(tǒng)分析、系統(tǒng)的開發(fā)過程包括需求獲取、系統(tǒng)分析、系統(tǒng)設(shè)計(jì)、實(shí)現(xiàn)和測試設(shè)計(jì)、實(shí)現(xiàn)和測試5個(gè)步驟。個(gè)步驟。信息系統(tǒng)分析與設(shè)計(jì)第一節(jié)需求獲取信息系統(tǒng)分析與設(shè)計(jì)第7章 面向?qū)ο蠓治雠c設(shè)計(jì)需求獲取需求獲取v系統(tǒng)開發(fā)的第一步工作就是進(jìn)行需求收集。系統(tǒng)開發(fā)的第一步
2、工作就是進(jìn)行需求收集。v需求收集從調(diào)查開始。需求收集從調(diào)查開始。v調(diào)查是為了發(fā)現(xiàn)了系統(tǒng)中的參與者和高層調(diào)查是為了發(fā)現(xiàn)了系統(tǒng)中的參與者和高層用例。用例。信息系統(tǒng)分析與設(shè)計(jì)第7章 面向?qū)ο蠓治雠c設(shè)計(jì)一、建立用例圖一、建立用例圖1.1.確定系統(tǒng)邊界確定系統(tǒng)邊界v在確定參與者和用例的過程中也就確定的了系統(tǒng)在確定參與者和用例的過程中也就確定的了系統(tǒng)的邊界,用例是系統(tǒng)之中的,參與者是系統(tǒng)外部的邊界,用例是系統(tǒng)之中的,參與者是系統(tǒng)外部的。的。v確定一個(gè)新需求是否屬于開發(fā)的系統(tǒng)之中,可參確定一個(gè)新需求是否屬于開發(fā)的系統(tǒng)之中,可參考以下問題:考以下問題:(1)(1)這些需求對于系統(tǒng)是否是必須的這些需求對于系統(tǒng)是
3、否是必須的? ?(2)(2)這些需求是系統(tǒng)在邏輯上會(huì)完成的嗎?這些需求是系統(tǒng)在邏輯上會(huì)完成的嗎?(3)(3)這些需求是參與者要求系統(tǒng)去做的嗎這些需求是參與者要求系統(tǒng)去做的嗎? ?信息系統(tǒng)分析與設(shè)計(jì)第7章 面向?qū)ο蠓治雠c設(shè)計(jì)一、建立用例圖一、建立用例圖2.2.識(shí)別參與者識(shí)別參與者(1 1)識(shí)別參與者的一般方法)識(shí)別參與者的一般方法一般地,可以通過以下問題去尋找用例圖中的參與者:一般地,可以通過以下問題去尋找用例圖中的參與者:v 誰誰是系統(tǒng)的主要使用者?是系統(tǒng)的主要使用者?v 誰從系統(tǒng)獲取信息?誰從系統(tǒng)獲取信息?v 誰向系統(tǒng)輸入信息?誰向系統(tǒng)輸入信息?v 誰從系統(tǒng)中刪除信息?誰從系統(tǒng)中刪除信息?v
4、 誰需要系統(tǒng)支持他們的日常工作?誰需要系統(tǒng)支持他們的日常工作?v 誰來維護(hù)、管理系統(tǒng)使其能正常工作?誰來維護(hù)、管理系統(tǒng)使其能正常工作?v 系統(tǒng)需要控制哪些硬件?系統(tǒng)需要控制哪些硬件?v 系統(tǒng)需要與其他哪些系統(tǒng)交互?系統(tǒng)需要與其他哪些系統(tǒng)交互?v 對系統(tǒng)產(chǎn)生的結(jié)果感興趣的是哪些人或哪些事物?對系統(tǒng)產(chǎn)生的結(jié)果感興趣的是哪些人或哪些事物?除把直接使用系統(tǒng)的人員確認(rèn)為參與者外。凡是與系統(tǒng)進(jìn)行信息交換(包括數(shù)據(jù)除把直接使用系統(tǒng)的人員確認(rèn)為參與者外。凡是與系統(tǒng)進(jìn)行信息交換(包括數(shù)據(jù)信息和控制信息交換)的外部事物均可被確認(rèn)為參與者。外部事物指的是:人信息和控制信息交換)的外部事物均可被確認(rèn)為參與者。外部事物
5、指的是:人員、設(shè)備、外部系統(tǒng)、事件。員、設(shè)備、外部系統(tǒng)、事件。信息系統(tǒng)分析與設(shè)計(jì)第7章 面向?qū)ο蠓治雠c設(shè)計(jì)一、建立用例圖一、建立用例圖2.識(shí)別參與者識(shí)別參與者(2)系統(tǒng)邊界與參與者)系統(tǒng)邊界與參與者 參與者與系統(tǒng)邊界的劃定有關(guān)參與者與系統(tǒng)邊界的劃定有關(guān) 信息系統(tǒng)分析與設(shè)計(jì)第7章 面向?qū)ο蠓治雠c設(shè)計(jì)一、建立用例圖一、建立用例圖2.識(shí)別參與者識(shí)別參與者(3)特殊的參與者)特殊的參與者系統(tǒng)時(shí)鐘系統(tǒng)時(shí)鐘時(shí)鐘周期性操作信息系統(tǒng)分析與設(shè)計(jì)第7章 面向?qū)ο蠓治雠c設(shè)計(jì)一、建立用例圖一、建立用例圖3.識(shí)別用例識(shí)別用例識(shí)別用例常用下面兩種方法。識(shí)別用例常用下面兩種方法。(1)根據(jù)與參與者有關(guān)的服務(wù)請求或事件)根據(jù)
6、與參與者有關(guān)的服務(wù)請求或事件l l)識(shí)別出與系統(tǒng)有關(guān)的參與者。)識(shí)別出與系統(tǒng)有關(guān)的參與者。2 2)對每個(gè)參與者,識(shí)別出他們發(fā)起或參加的過程。)對每個(gè)參與者,識(shí)別出他們發(fā)起或參加的過程。3 3)對每個(gè)參與者,識(shí)別出向他們傳遞信息的過程。)對每個(gè)參與者,識(shí)別出向他們傳遞信息的過程??闪幸粋€(gè)表,首先列出參與者,然后列出與它們有可列一個(gè)表,首先列出參與者,然后列出與它們有關(guān)的服務(wù)請求或事件。關(guān)的服務(wù)請求或事件。信息系統(tǒng)分析與設(shè)計(jì)第7章 面向?qū)ο蠓治雠c設(shè)計(jì)為編制用例準(zhǔn)備一個(gè)表為編制用例準(zhǔn)備一個(gè)表參與者參與者向向參與者參與者傳傳遞信息的遞信息的服服務(wù)或事件務(wù)或事件用例名用例名簡短的描述簡短的描述業(yè)務(wù)目標(biāo)業(yè)
7、務(wù)目標(biāo)信息系統(tǒng)分析與設(shè)計(jì)第7章 面向?qū)ο蠓治雠c設(shè)計(jì)參與者參與者職責(zé)職責(zé)用例用例3.識(shí)別用例識(shí)別用例(2)根據(jù)參與者的職責(zé))根據(jù)參與者的職責(zé)參與者的職責(zé)是它應(yīng)完成的任務(wù),也是它對系統(tǒng)功能的需求。參與者的職責(zé)是它應(yīng)完成的任務(wù),也是它對系統(tǒng)功能的需求。因此,我們通過列出參與者的職責(zé),也能幫助我們識(shí)別系因此,我們通過列出參與者的職責(zé),也能幫助我們識(shí)別系統(tǒng)的用例。統(tǒng)的用例。通常,在確定用例前應(yīng)考慮以下問題:通常,在確定用例前應(yīng)考慮以下問題:v 參與者需要使用系統(tǒng)嗎參與者需要使用系統(tǒng)嗎?v 對于各個(gè)參與者,其哪些職責(zé)會(huì)涉及系統(tǒng)對于各個(gè)參與者,其哪些職責(zé)會(huì)涉及系統(tǒng)?v 系統(tǒng)與參與者之間有哪些交互系統(tǒng)與參與者
8、之間有哪些交互?v 系統(tǒng)需要何種輸入輸出系統(tǒng)需要何種輸入輸出?輸入從何處來輸入從何處來?輸出到何處去輸出到何處去?v 用例將支持和維護(hù)的系統(tǒng)功能是什么用例將支持和維護(hù)的系統(tǒng)功能是什么?v 必須提醒參與者的事件有哪些必須提醒參與者的事件有哪些?v 參與者必須提醒的事件有哪些參與者必須提醒的事件有哪些?怎樣把這些事件表示成用怎樣把這些事件表示成用例中的功能例中的功能?信息系統(tǒng)分析與設(shè)計(jì)第7章 面向?qū)ο蠓治雠c設(shè)計(jì)參與者參與者職責(zé)職責(zé)用例用例從發(fā)貨者(從發(fā)貨者(ShipperShipper)識(shí)別)識(shí)別v 發(fā)貨者要求系統(tǒng)提供什么功能? 倉庫存儲(chǔ)物品的管理; 發(fā)貨處理。v 發(fā)貨者需要做什么? 從所有的定單
9、中按順序挑選出優(yōu)先級(jí)較高的定單來發(fā)貨; 在發(fā)貨單上簽上發(fā)貨的品名、數(shù)量。v 發(fā)貨者需要閱讀、創(chuàng)建、銷毀、更新或存儲(chǔ)系統(tǒng)的某些信息嗎? 是,發(fā)貨者需要閱讀、更新倉庫存儲(chǔ)物品信息和顧客信息。v 系統(tǒng)中的事件一定要告知發(fā)貨者嗎? 倉庫有關(guān)物品短缺(發(fā)貨者報(bào)告)信息系統(tǒng)分析與設(shè)計(jì)第7章 面向?qū)ο蠓治雠c設(shè)計(jì)一、建立用例圖一、建立用例圖4.4.確定關(guān)系確定關(guān)系v 確定確定用例的最后一個(gè)步驟就是描述關(guān)系。用例的最后一個(gè)步驟就是描述關(guān)系。v 關(guān)系包括:關(guān)系包括: 參與者與用例之間的關(guān)系 用例之間的關(guān)系 參與者之間的關(guān)系。v 關(guān)系類型包括:關(guān)系類型包括: 關(guān)聯(lián)關(guān)系、包含關(guān)系、擴(kuò)展關(guān)系和泛化關(guān)系。信息系統(tǒng)分析與設(shè)
10、計(jì)第7章 面向?qū)ο蠓治雠c設(shè)計(jì)用例圖的關(guān)系識(shí)別用例圖的關(guān)系識(shí)別v 包含關(guān)系:系統(tǒng)分析員應(yīng)該檢查模型中的每個(gè)用例,提煉包含關(guān)系:系統(tǒng)分析員應(yīng)該檢查模型中的每個(gè)用例,提煉出公共的部分,創(chuàng)建單獨(dú)的用例,并用出公共的部分,創(chuàng)建單獨(dú)的用例,并用包含包含關(guān)系與基本用關(guān)系與基本用例連接。這樣會(huì)降低原來的用例復(fù)雜性,增加用例的復(fù)用例連接。這樣會(huì)降低原來的用例復(fù)雜性,增加用例的復(fù)用性。性。v 擴(kuò)展關(guān)系:系統(tǒng)分析員檢查每個(gè)用例,如果發(fā)現(xiàn)一個(gè)用例擴(kuò)展關(guān)系:系統(tǒng)分析員檢查每個(gè)用例,如果發(fā)現(xiàn)一個(gè)用例比較大,并且其中既包含了一般處理又包含了特殊處理,比較大,并且其中既包含了一般處理又包含了特殊處理,那么就應(yīng)該將特殊處理的部
11、分提取出來,創(chuàng)建單獨(dú)的用例,那么就應(yīng)該將特殊處理的部分提取出來,創(chuàng)建單獨(dú)的用例,并且用擴(kuò)展關(guān)系連接這個(gè)用例與相關(guān)的用例。這樣會(huì)降低并且用擴(kuò)展關(guān)系連接這個(gè)用例與相關(guān)的用例。這樣會(huì)降低原來的用例復(fù)雜性,處理更簡單。原來的用例復(fù)雜性,處理更簡單。v 用例泛化:同一種業(yè)務(wù)目標(biāo)的不同實(shí)現(xiàn)方式,可使用用例用例泛化:同一種業(yè)務(wù)目標(biāo)的不同實(shí)現(xiàn)方式,可使用用例泛化關(guān)系,便于對需求的理解泛化關(guān)系,便于對需求的理解v 參與者泛化:有時(shí)參與者之間存在一些共性,為了便于描參與者泛化:有時(shí)參與者之間存在一些共性,為了便于描述參與者之間的區(qū)別,使用參與者泛化關(guān)系來描述參與者述參與者之間的區(qū)別,使用參與者泛化關(guān)系來描述參與者
12、之間的關(guān)系。之間的關(guān)系。信息系統(tǒng)分析與設(shè)計(jì)第7章 面向?qū)ο蠓治雠c設(shè)計(jì)用例關(guān)系用例關(guān)系現(xiàn)金支付查看患者病歷接待員醫(yī)生取消預(yù)約預(yù)約請求診治患者會(huì)計(jì)支付延期支付醫(yī)療保險(xiǎn)支付信息系統(tǒng)分析與設(shè)計(jì)第7章 面向?qū)ο蠓治雠c設(shè)計(jì)一、建立用例圖一、建立用例圖5.用例描述用例描述v 詳細(xì)具體的描述一個(gè)用例還要使用用例描述。用例描述是指采用自然詳細(xì)具體的描述一個(gè)用例還要使用用例描述。用例描述是指采用自然語言描述一個(gè)用例的功能。在用例描述中,通過用例的事件流可以詳語言描述一個(gè)用例的功能。在用例描述中,通過用例的事件流可以詳細(xì)地描述系統(tǒng)的一個(gè)功能是如何執(zhí)行的。細(xì)地描述系統(tǒng)的一個(gè)功能是如何執(zhí)行的。v 用例描述是一個(gè)結(jié)構(gòu)化的
13、用例說明文本。描述一個(gè)用例,可參照用例描述是一個(gè)結(jié)構(gòu)化的用例說明文本。描述一個(gè)用例,可參照9.3.1介紹的標(biāo)準(zhǔn)模板。介紹的標(biāo)準(zhǔn)模板。v 描述一個(gè)用例,應(yīng)說明以下細(xì)節(jié):描述一個(gè)用例,應(yīng)說明以下細(xì)節(jié): 用例名 前置條件(PreConditions) 后置條件(Post-Conditions) 擴(kuò)充點(diǎn)(Extension Points) 事件流 基流(Basic Flow) 分支流(Subflows)(可選) 替代流(Alternative Flows)信息系統(tǒng)分析與設(shè)計(jì)第7章 面向?qū)ο蠓治雠c設(shè)計(jì)一、建立用例圖一、建立用例圖6.確定用戶界面確定用戶界面v確定參與者如何啟動(dòng)用例,以及用例以什么形式確定
14、參與者如何啟動(dòng)用例,以及用例以什么形式向參與者提供信息,向參與者提供信息,v是在構(gòu)造用戶界面的原型。是在構(gòu)造用戶界面的原型。v這項(xiàng)活動(dòng)的輸入是:用例模型、詳細(xì)描述的用例這項(xiàng)活動(dòng)的輸入是:用例模型、詳細(xì)描述的用例描述。描述。v活動(dòng)的結(jié)果是用戶界面的簡圖?;顒?dòng)的結(jié)果是用戶界面的簡圖。v目的是為參與者確定用戶界面的外觀和感覺。目的是為參與者確定用戶界面的外觀和感覺。v用戶界面設(shè)計(jì)人員逐一檢查用例,用戶界面設(shè)計(jì)人員逐一檢查用例,為需要構(gòu)造用為需要構(gòu)造用戶界面的用例確定適當(dāng)?shù)慕缑嬖?,戶界面的用例確定適當(dāng)?shù)慕缑嬖?,如菜單、工如菜單、工具欄、對話框等。具欄、對話框等。信息系統(tǒng)分析與設(shè)計(jì)第7章 面向?qū)ο蠓?/p>
15、析與設(shè)計(jì)確定用戶界面界面設(shè)計(jì)人員通過訪談參與者界面設(shè)計(jì)人員通過訪談參與者,請他們回答下面的問題:請他們回答下面的問題:v 需要哪些界面元素來啟動(dòng)用例?需要哪些界面元素來啟動(dòng)用例?v 用戶界面元素之間如何相關(guān)?用戶界面元素之間如何相關(guān)?v 用戶界面看起來應(yīng)該是什么樣的?用戶界面看起來應(yīng)該是什么樣的?v 應(yīng)該如何處理這些用戶界面元素?應(yīng)該如何處理這些用戶界面元素?v 針對所涉及的業(yè)務(wù)領(lǐng)域,用戶對用戶界面元素有何特殊要求?針對所涉及的業(yè)務(wù)領(lǐng)域,用戶對用戶界面元素有何特殊要求?v 參與者喜歡用哪些用戶界面元素完成工作?參與者喜歡用哪些用戶界面元素完成工作?v 參與者可以激發(fā)哪些動(dòng)作?參與者可以激發(fā)哪些
16、動(dòng)作?v 在激發(fā)用例的動(dòng)作前需要哪些指南?在激發(fā)用例的動(dòng)作前需要哪些指南?v 參與者向系統(tǒng)提供什么信息?參與者向系統(tǒng)提供什么信息?v 系統(tǒng)向參與者提供什么信息?系統(tǒng)向參與者提供什么信息?v 每項(xiàng)輸入輸出的長度和類型是什么?每項(xiàng)輸入輸出的長度和類型是什么?v 用戶界面設(shè)計(jì)人員要確保每個(gè)用例都可以通過其用戶界面元素進(jìn)行訪用戶界面設(shè)計(jì)人員要確保每個(gè)用例都可以通過其用戶界面元素進(jìn)行訪問。問。信息系統(tǒng)分析與設(shè)計(jì)第7章 面向?qū)ο蠓治雠c設(shè)計(jì)二、用例的優(yōu)化與組織二、用例的優(yōu)化與組織1.1.用例的粒度用例的粒度v 不要把用例劃分的過大,也不要把用例劃分得過于瑣碎細(xì)不要把用例劃分的過大,也不要把用例劃分得過于瑣碎
17、細(xì)小。小。v 通常,用例的行為都是用事件流描述,通常,用例的行為都是用事件流描述,并且會(huì)產(chǎn)生顯著的并且會(huì)產(chǎn)生顯著的目標(biāo)目標(biāo)。這是用例粒度的底線。一般認(rèn)為用例粒度合適的把。這是用例粒度的底線。一般認(rèn)為用例粒度合適的把握原則是:握原則是:(1)(1)一個(gè)用例應(yīng)當(dāng)是一個(gè)完成有意義的業(yè)務(wù)任務(wù)的事件流集一個(gè)用例應(yīng)當(dāng)是一個(gè)完成有意義的業(yè)務(wù)任務(wù)的事件流集合。合。(2)(2)一個(gè)用例以能夠描述參與者與計(jì)算機(jī)的一次完整交互為一個(gè)用例以能夠描述參與者與計(jì)算機(jī)的一次完整交互為宜。宜。(3)(3)一個(gè)用例只描述沒有大的分支的事件流的單個(gè)線索。一個(gè)用例只描述沒有大的分支的事件流的單個(gè)線索。 信息系統(tǒng)分析與設(shè)計(jì)第7章 面
18、向?qū)ο蠓治雠c設(shè)計(jì)用例過細(xì)用例過細(xì)輸入用戶名輸入密碼用戶提交提示出錯(cuò)系統(tǒng)正確登錄信息系統(tǒng)分析與設(shè)計(jì)第7章 面向?qū)ο蠓治雠c設(shè)計(jì)一般認(rèn)為合適的把握一般認(rèn)為合適的把握購買CD顧客登陸信息系統(tǒng)分析與設(shè)計(jì)第7章 面向?qū)ο蠓治雠c設(shè)計(jì)二、用例的優(yōu)化與組織二、用例的優(yōu)化與組織2.用例的優(yōu)化用例的優(yōu)化v 如果已創(chuàng)建的用例有重復(fù)的功能出現(xiàn),或者有功如果已創(chuàng)建的用例有重復(fù)的功能出現(xiàn),或者有功能上的相互包含,則需要對其進(jìn)行優(yōu)化處理。能上的相互包含,則需要對其進(jìn)行優(yōu)化處理。v 優(yōu)化處理的原則是:用例的獨(dú)立性要強(qiáng)、用例的優(yōu)化處理的原則是:用例的獨(dú)立性要強(qiáng)、用例的功能要集中。功能要集中。v 用例的優(yōu)化方法有:用例的優(yōu)化方法有
19、:(1)用例的合并)用例的合并(2)用例的拆分)用例的拆分信息系統(tǒng)分析與設(shè)計(jì)第7章 面向?qū)ο蠓治雠c設(shè)計(jì)用例的優(yōu)化用例的優(yōu)化(1)用例的合并)用例的合并v合并指的是同類或相似的用例合并。例如:要將合并指的是同類或相似的用例合并。例如:要將電子郵件撰寫、郵件查看、合同錄入、合同修改、電子郵件撰寫、郵件查看、合同錄入、合同修改、合同刪除、合同查看等用例優(yōu)化??刹捎玫姆椒ê贤瑒h除、合同查看等用例優(yōu)化。可采用的方法如下:如下:v功能性合并:文檔錄入功能性合并:文檔錄入(電子郵件撰寫、合同錄電子郵件撰寫、合同錄入入);文檔查看;文檔查看 (郵件查看、合同查看郵件查看、合同查看)。v業(yè)務(wù)性合并:郵件管理、合
20、同管理。業(yè)務(wù)性合并:郵件管理、合同管理。同類或相似的同類或相似的用例合并用例合并信息系統(tǒng)分析與設(shè)計(jì)第7章 面向?qū)ο蠓治雠c設(shè)計(jì)用例的優(yōu)化用例的優(yōu)化(2)用例拆分)用例拆分v對較大的或復(fù)雜的用例對較大的或復(fù)雜的用例v用例描述,描述到了第四級(jí)(主流用例描述,描述到了第四級(jí)(主流子流子流分支分支流流子分支流),仍無法描述清楚,需用例拆分子分支流),仍無法描述清楚,需用例拆分v拆分例子:拆分例子: 管理用戶用例包括:添加用戶、修改用戶信息、刪除用戶、查找用戶、修改用戶口令、變更用戶級(jí)別。 按業(yè)務(wù)相關(guān)性可拆分為:管理用戶信息用例(添加用戶、修改用戶信息)、管理用戶用例(刪除用戶、查找用戶)、管理用戶權(quán)利用
21、例(修改用戶口令、變更用戶級(jí)別)三個(gè)用例。信息系統(tǒng)分析與設(shè)計(jì)第7章 面向?qū)ο蠓治雠c設(shè)計(jì)二、用例的優(yōu)化與組織二、用例的優(yōu)化與組織3.用例的組織用例的組織v較大的系統(tǒng)往往包含許多用例,為了更好的理解較大的系統(tǒng)往往包含許多用例,為了更好的理解和管理它們,我們可以通過兩種方式進(jìn)行組織:和管理它們,我們可以通過兩種方式進(jìn)行組織:v用用“包(包(Package)”來組織:來組織:v用用例的級(jí)別層次關(guān)系來組織。用用例的級(jí)別層次關(guān)系來組織。v在大型的軟件開發(fā)過程中,用例圖可以分層建立。在大型的軟件開發(fā)過程中,用例圖可以分層建立。v在建模的開始階段,注意保持用例圖是對系統(tǒng)功在建模的開始階段,注意保持用例圖是對系
22、統(tǒng)功能需求的高層次刻畫,不要對它進(jìn)行過細(xì)的分解。能需求的高層次刻畫,不要對它進(jìn)行過細(xì)的分解。信息系統(tǒng)分析與設(shè)計(jì)第7章 面向?qū)ο蠓治雠c設(shè)計(jì)產(chǎn)品分銷系統(tǒng)用例圖產(chǎn)品分銷系統(tǒng)用例圖總體圖總體圖 銷售中心結(jié)算中心銷售網(wǎng)點(diǎn)系統(tǒng)維護(hù)配送中心公用部分查詢統(tǒng)計(jì)信息系統(tǒng)分析與設(shè)計(jì)第7章 面向?qū)ο蠓治雠c設(shè)計(jì)產(chǎn)品分銷系統(tǒng)用例圖產(chǎn)品分銷系統(tǒng)用例圖銷售中心子系統(tǒng)銷售中心子系統(tǒng) 產(chǎn)品資料管理 采購管理 虛擬庫存維護(hù) 批銷管理 預(yù)訂管理 供貨商信息管理 客戶信息管理信息系統(tǒng)分析與設(shè)計(jì)第7章 面向?qū)ο蠓治雠c設(shè)計(jì)三、三、建立用例圖的規(guī)則建立用例圖的規(guī)則(1)如果兩名參與者有相同的功能需求,應(yīng)建立一個(gè)用例。)如果兩名參與者有相同的
23、功能需求,應(yīng)建立一個(gè)用例。(2)如果對同一事物有前臺(tái)處理和后臺(tái)處理之分,應(yīng)建立兩個(gè)用例。)如果對同一事物有前臺(tái)處理和后臺(tái)處理之分,應(yīng)建立兩個(gè)用例。(3)如果需要建立包含關(guān)系,通?;居美龖?yīng)是主要功能需求。)如果需要建立包含關(guān)系,通常基本用例應(yīng)是主要功能需求。(4)不要在用例圖上表現(xiàn)各用例之間的順序關(guān)系,如用順序關(guān)系,可在用例規(guī))不要在用例圖上表現(xiàn)各用例之間的順序關(guān)系,如用順序關(guān)系,可在用例規(guī)范中的前置條件、后置條件中說明。范中的前置條件、后置條件中說明。(5)擴(kuò)展用例的功能相對于基本用例是有條件執(zhí)行的。)擴(kuò)展用例的功能相對于基本用例是有條件執(zhí)行的。(6)當(dāng)處理一般與特殊的關(guān)系時(shí),應(yīng)采用泛化關(guān)系
24、。)當(dāng)處理一般與特殊的關(guān)系時(shí),應(yīng)采用泛化關(guān)系。(7)當(dāng)避免兩個(gè)或多個(gè)用例出現(xiàn)重復(fù)描述時(shí),應(yīng)采用包含關(guān)系。)當(dāng)避免兩個(gè)或多個(gè)用例出現(xiàn)重復(fù)描述時(shí),應(yīng)采用包含關(guān)系。(8)當(dāng)描述用例的某種特殊動(dòng)作時(shí),應(yīng)采用擴(kuò)展關(guān)系。)當(dāng)描述用例的某種特殊動(dòng)作時(shí),應(yīng)采用擴(kuò)展關(guān)系。(9)如果某個(gè)基本用例存在特殊動(dòng)作,則必須將其用擴(kuò)展關(guān)系描述下來,因?yàn)椋┤绻硞€(gè)基本用例存在特殊動(dòng)作,則必須將其用擴(kuò)展關(guān)系描述下來,因?yàn)閿U(kuò)展用例是不包括在基本用例之內(nèi)的,不描述擴(kuò)展用例等于遺失了系統(tǒng)的部擴(kuò)展用例是不包括在基本用例之內(nèi)的,不描述擴(kuò)展用例等于遺失了系統(tǒng)的部分功能,這對需求獲取來說是不允許出現(xiàn)的。分功能,這對需求獲取來說是不允許出現(xiàn)的
25、。(10)如果不描述包含用例,從功能獲取角度系統(tǒng)并無遺失,因?yàn)椴话寻茫┤绻幻枋霭美?,從功能獲取角度系統(tǒng)并無遺失,因?yàn)椴话寻美崛〕鰜?,那這部分用例仍存在于基本用例中,不存在功能遺失問題。例提取出來,那這部分用例仍存在于基本用例中,不存在功能遺失問題。(11)如果僅僅想描述一般參與者和特殊參與者,在用例圖中采用參與者的泛)如果僅僅想描述一般參與者和特殊參與者,在用例圖中采用參與者的泛化關(guān)系意義并不大;但如果既要強(qiáng)調(diào)幾個(gè)參與者的共同功能需求,又要分別化關(guān)系意義并不大;但如果既要強(qiáng)調(diào)幾個(gè)參與者的共同功能需求,又要分別強(qiáng)調(diào)它們各自的特殊功能需求,則應(yīng)該采用參與者的泛化關(guān)系。強(qiáng)調(diào)它們各自的
26、特殊功能需求,則應(yīng)該采用參與者的泛化關(guān)系。(12)定義用例的優(yōu)先級(jí),目的是區(qū)分需求的優(yōu)先級(jí),便于制定合理的開發(fā)計(jì))定義用例的優(yōu)先級(jí),目的是區(qū)分需求的優(yōu)先級(jí),便于制定合理的開發(fā)計(jì)劃。劃。信息系統(tǒng)分析與設(shè)計(jì)第二節(jié) 系統(tǒng)分析信息系統(tǒng)分析與設(shè)計(jì)第7章 面向?qū)ο蠓治雠c設(shè)計(jì)系統(tǒng)分析系統(tǒng)分析v面向?qū)ο笙到y(tǒng)分析的基本任務(wù)是:運(yùn)用面向?qū)ο竺嫦驅(qū)ο笙到y(tǒng)分析的基本任務(wù)是:運(yùn)用面向?qū)ο蠓椒?,對問題域和系統(tǒng)責(zé)任進(jìn)行分析和理解,對方法,對問題域和系統(tǒng)責(zé)任進(jìn)行分析和理解,對其中的事物和它們之間的關(guān)系產(chǎn)生正確的認(rèn)識(shí),其中的事物和它們之間的關(guān)系產(chǎn)生正確的認(rèn)識(shí),找出描述問題域以及系統(tǒng)責(zé)任所需的類及對象,找出描述問題域以及系統(tǒng)責(zé)任
27、所需的類及對象,定義這些對象的屬性和操作,以及它們之間的靜定義這些對象的屬性和操作,以及它們之間的靜態(tài)和動(dòng)態(tài)關(guān)系。態(tài)和動(dòng)態(tài)關(guān)系。v最終產(chǎn)生一個(gè)符合用戶需求,并能夠直接反應(yīng)問最終產(chǎn)生一個(gè)符合用戶需求,并能夠直接反應(yīng)問題域和系統(tǒng)責(zé)任的問題域模型及其詳細(xì)說明。題域和系統(tǒng)責(zé)任的問題域模型及其詳細(xì)說明。信息系統(tǒng)分析與設(shè)計(jì)第7章 面向?qū)ο蠓治雠c設(shè)計(jì)系統(tǒng)分析系統(tǒng)分析具體來說,分析階段的活動(dòng)主要是:具體來說,分析階段的活動(dòng)主要是:v識(shí)別對象;識(shí)別對象;v為對象分類;為對象分類;v確定類的屬性和操作;確定類的屬性和操作;v確定類之間的關(guān)系:確定類之間的關(guān)系:v確定對象之間的交互:確定對象之間的交互:v確定對象的
28、狀態(tài)變化等。確定對象的狀態(tài)變化等。信息系統(tǒng)分析與設(shè)計(jì)第7章 面向?qū)ο蠓治雠c設(shè)計(jì)一、識(shí)別對象一、識(shí)別對象v識(shí)別對象并不是從零開始的工作,應(yīng)該最大限度識(shí)別對象并不是從零開始的工作,應(yīng)該最大限度地利用已有的勞動(dòng)成果。比較典型的可利用的資地利用已有的勞動(dòng)成果。比較典型的可利用的資料有用例模型和用例描述、術(shù)語表、權(quán)威的術(shù)語料有用例模型和用例描述、術(shù)語表、權(quán)威的術(shù)語定義集合。定義集合。v就建模而言,識(shí)別對象的過程并不復(fù)雜,主要有就建模而言,識(shí)別對象的過程并不復(fù)雜,主要有以下三個(gè)要點(diǎn):以下三個(gè)要點(diǎn): 第一,從上述來源中找出候選的對象集合,根據(jù)第一,從上述來源中找出候選的對象集合,根據(jù)對象的基本含義做出相應(yīng)取
29、舍。對象的基本含義做出相應(yīng)取舍。 第二,將被確認(rèn)的對象以類的形式加入分析模型,第二,將被確認(rèn)的對象以類的形式加入分析模型,為每個(gè)對象做簡要文字說明。為每個(gè)對象做簡要文字說明。 第三,將對象繪制在一張第三,將對象繪制在一張( (或者多張或者多張) )描述類之間描述類之間關(guān)系的類圖中,標(biāo)識(shí)現(xiàn)階段能夠確認(rèn)的關(guān)系。關(guān)系的類圖中,標(biāo)識(shí)現(xiàn)階段能夠確認(rèn)的關(guān)系。信息系統(tǒng)分析與設(shè)計(jì)第7章 面向?qū)ο蠓治雠c設(shè)計(jì)一、識(shí)別對象一、識(shí)別對象1.發(fā)現(xiàn)對象發(fā)現(xiàn)對象v用例圖和用例描述是用來發(fā)現(xiàn)對象的重要資料。用例圖和用例描述是用來發(fā)現(xiàn)對象的重要資料。為了尋找對象需要認(rèn)真閱讀它們,閱讀時(shí)先將名為了尋找對象需要認(rèn)真閱讀它們,閱讀時(shí)
30、先將名詞劃出來。詞劃出來。v名詞可能是參與者、對象和對象屬性,所以還要名詞可能是參與者、對象和對象屬性,所以還要區(qū)別它們。區(qū)別它們。 v分析模型中最常用的分析模型中最常用的三種對象類型,它們是:三種對象類型,它們是: 實(shí)體(Entity) 邊界(Bountary) 控制(Control)信息系統(tǒng)分析與設(shè)計(jì)第7章 面向?qū)ο蠓治雠c設(shè)計(jì)實(shí)體對象實(shí)體對象v實(shí)體對象主要的任務(wù)是保存信息,同時(shí)也具有相實(shí)體對象主要的任務(wù)是保存信息,同時(shí)也具有相關(guān)的行為,但是這部分行為主要包括那些和實(shí)體關(guān)的行為,但是這部分行為主要包括那些和實(shí)體對象自身信息直接相關(guān)的操作。對象自身信息直接相關(guān)的操作。v識(shí)別實(shí)體對象的幾個(gè)辦法有
31、:識(shí)別實(shí)體對象的幾個(gè)辦法有: 考慮解決問題所需要的全部數(shù)據(jù)和行為,然后考慮解決問題所需要的全部數(shù)據(jù)和行為,然后將數(shù)據(jù)按相關(guān)性分組。將數(shù)據(jù)按相關(guān)性分組。 識(shí)別出重要的名詞,并將它們作為實(shí)體對象,識(shí)別出重要的名詞,并將它們作為實(shí)體對象,然后確定每一個(gè)實(shí)體對象包含的數(shù)據(jù)和行為。然后確定每一個(gè)實(shí)體對象包含的數(shù)據(jù)和行為。v識(shí)別實(shí)體對象可參考下列問題:識(shí)別實(shí)體對象可參考下列問題: 第一,該對象是否是某個(gè)問題中的重要的名詞第一,該對象是否是某個(gè)問題中的重要的名詞? 第二,該對象是否包含用來解決系統(tǒng)問題的重要第二,該對象是否包含用來解決系統(tǒng)問題的重要的信息的信息?信息系統(tǒng)分析與設(shè)計(jì)第7章 面向?qū)ο蠓治雠c設(shè)計(jì)邊
32、界對象邊界對象v邊界對象用于描述擬建系統(tǒng)內(nèi)部運(yùn)作與外部環(huán)境邊界對象用于描述擬建系統(tǒng)內(nèi)部運(yùn)作與外部環(huán)境之間的交互。之間的交互。v邊界對象主要用于描述三種類型的內(nèi)容:邊界對象主要用于描述三種類型的內(nèi)容: 擬建系統(tǒng)和用戶的界面, 擬建系統(tǒng)和外部系統(tǒng)的接口 擬建系統(tǒng)與設(shè)備的接口。v識(shí)別邊界對象可參考下列問題:識(shí)別邊界對象可參考下列問題: 該對象是否描述了與參與者的交互? 該對象是否包含所有的接口設(shè)計(jì)細(xì)節(jié)? 該對象是否描述了必須顯示的信息以及必須提供的服務(wù)?信息系統(tǒng)分析與設(shè)計(jì)第7章 面向?qū)ο蠓治雠c設(shè)計(jì)控制對象控制對象v控制對象用于描述對一個(gè)用例所特有的事件流的控制對象用于描述對一個(gè)用例所特有的事件流的控
33、制行為??刂菩袨?。v控制對象相當(dāng)于協(xié)調(diào)人,它自己通常不處理具體控制對象相當(dāng)于協(xié)調(diào)人,它自己通常不處理具體的任務(wù),但它知道那些類有能力完成具體的任務(wù)。的任務(wù),但它知道那些類有能力完成具體的任務(wù)。通常一個(gè)用例對應(yīng)一個(gè)控制類。通常一個(gè)用例對應(yīng)一個(gè)控制類。v識(shí)別控制對象可參考下列問題:識(shí)別控制對象可參考下列問題: 該對象是否對業(yè)務(wù)邏輯進(jìn)行控制該對象是否對業(yè)務(wù)邏輯進(jìn)行控制? 該對象是否將業(yè)務(wù)邏輯結(jié)果提交給實(shí)體對象該對象是否將業(yè)務(wù)邏輯結(jié)果提交給實(shí)體對象?信息系統(tǒng)分析與設(shè)計(jì)第7章 面向?qū)ο蠓治雠c設(shè)計(jì)順序圖中的邊界對象順序圖中的邊界對象, ,控制對象和實(shí)體對象控制對象和實(shí)體對象 : 實(shí)體對象 : 用戶 : 邊
34、界對象 : 控制對象輸入信息請求處理處理建立連接數(shù)據(jù)處理信息系統(tǒng)分析與設(shè)計(jì)第7章 面向?qū)ο蠓治雠c設(shè)計(jì) : 業(yè)務(wù)員 : 業(yè)務(wù)員生成合同用戶接口生成合同用戶接口生成合同過程生成合同過程合同合同批價(jià)率批價(jià)率1:選擇合同類型2:輸入合同號(hào)3:點(diǎn)擊“從批價(jià)單刷新數(shù)據(jù)”按鈕3.1:從批價(jià)單獲取與該合同有關(guān)數(shù)據(jù)3.1.1:獲取該合同對應(yīng)已批準(zhǔn)批價(jià)單的信息3.1.2:返回該合同對應(yīng)已批準(zhǔn)批價(jià)單的信息3.1.3:計(jì)算合同總金額3.1.3.1:返回合同總金額3.1.4:查找該合同客戶的地址3.1.4.1:返回客戶的地址4:輸入其他信息5:點(diǎn)擊暫存按鈕5.1:保存該合同5.1.1:該合同被保存6:點(diǎn)擊提交按鈕6.1
35、:提交該合同6.1.1:該合同狀態(tài)修改為已提交“生成合同生成合同”用例圖用例圖信息系統(tǒng)分析與設(shè)計(jì)第7章 面向?qū)ο蠓治雠c設(shè)計(jì)2.2.描述對象的行為描述對象的行為v我們還需要詳細(xì)了解對象在系統(tǒng)中的行為和責(zé)任。我們還需要詳細(xì)了解對象在系統(tǒng)中的行為和責(zé)任。v責(zé)任是響應(yīng)消息的能力。消息被要求者提出,責(zé)責(zé)任是響應(yīng)消息的能力。消息被要求者提出,責(zé)任由響應(yīng)者承擔(dān)。任由響應(yīng)者承擔(dān)。v確定責(zé)任主要根據(jù)責(zé)任和消息的簡明對應(yīng)關(guān)系,確定責(zé)任主要根據(jù)責(zé)任和消息的簡明對應(yīng)關(guān)系,所謂找出責(zé)任是根據(jù)消息的要求定義責(zé)任,即用所謂找出責(zé)任是根據(jù)消息的要求定義責(zé)任,即用責(zé)任滿足消息所提出的要求。責(zé)任滿足消息所提出的要求。信息系統(tǒng)分析
36、與設(shè)計(jì)第7章 面向?qū)ο蠓治雠c設(shè)計(jì)(1 1)對象的行為)對象的行為v對象的行為是通過系統(tǒng)中對象之間的交互以及對對象的行為是通過系統(tǒng)中對象之間的交互以及對象內(nèi)部狀態(tài)的轉(zhuǎn)化來表現(xiàn)的。象內(nèi)部狀態(tài)的轉(zhuǎn)化來表現(xiàn)的。v對象間通過發(fā)送消息而產(chǎn)生交互,對象間通過發(fā)送消息而產(chǎn)生交互,同時(shí)在一個(gè)對同時(shí)在一個(gè)對象的生命周期內(nèi)也存在狀態(tài)的轉(zhuǎn)移以及對事件的象的生命周期內(nèi)也存在狀態(tài)的轉(zhuǎn)移以及對事件的響應(yīng)。響應(yīng)。v動(dòng)態(tài)分析的主要任務(wù)包括分析用例的實(shí)現(xiàn)過程動(dòng)態(tài)分析的主要任務(wù)包括分析用例的實(shí)現(xiàn)過程( (要要求有詳細(xì)的用例描述求有詳細(xì)的用例描述) ),從而更好地理解業(yè)務(wù)流程,從而更好地理解業(yè)務(wù)流程以及為發(fā)現(xiàn)類打好基礎(chǔ);以及為發(fā)現(xiàn)類
37、打好基礎(chǔ);v用于進(jìn)行動(dòng)態(tài)分析的用于進(jìn)行動(dòng)態(tài)分析的UMLUML圖包括順序圖、協(xié)作圖、活圖包括順序圖、協(xié)作圖、活動(dòng)圖和狀態(tài)圖。動(dòng)圖和狀態(tài)圖。信息系統(tǒng)分析與設(shè)計(jì)第7章 面向?qū)ο蠓治雠c設(shè)計(jì)系統(tǒng)動(dòng)態(tài)分析系統(tǒng)動(dòng)態(tài)分析v建立交互圖,交互圖表現(xiàn)的是參與者與系統(tǒng)以及建立交互圖,交互圖表現(xiàn)的是參與者與系統(tǒng)以及系統(tǒng)內(nèi)部對象之間的交互,將消息加進(jìn)交互圖時(shí),系統(tǒng)內(nèi)部對象之間的交互,將消息加進(jìn)交互圖時(shí),是在向接收消息的對象指定職責(zé)。是在向接收消息的對象指定職責(zé)。v用例中的場景描述可以是形成系統(tǒng)對象圖的一個(gè)用例中的場景描述可以是形成系統(tǒng)對象圖的一個(gè)出發(fā)點(diǎn)。它對于系統(tǒng)中對象的發(fā)現(xiàn)有極大的幫助。出發(fā)點(diǎn)。它對于系統(tǒng)中對象的發(fā)現(xiàn)有
38、極大的幫助。每個(gè)場景代表了用例的一個(gè)實(shí)例。用例的事件流每個(gè)場景代表了用例的一個(gè)實(shí)例。用例的事件流中通常有一個(gè)基本事件流和多個(gè)分支事件流、替中通常有一個(gè)基本事件流和多個(gè)分支事件流、替代事件流。每個(gè)事件流應(yīng)用一個(gè)順序圖描述。代事件流。每個(gè)事件流應(yīng)用一個(gè)順序圖描述。信息系統(tǒng)分析與設(shè)計(jì)第7章 面向?qū)ο蠓治雠c設(shè)計(jì)對象狀態(tài)分析對象狀態(tài)分析v 狀態(tài)圖針對單個(gè)對象建模,通過分析單個(gè)對象的內(nèi)部狀態(tài)轉(zhuǎn)換來了解狀態(tài)圖針對單個(gè)對象建模,通過分析單個(gè)對象的內(nèi)部狀態(tài)轉(zhuǎn)換來了解一個(gè)對象的行為。一個(gè)對象的行為。v 對于有多種內(nèi)部狀態(tài)的對象,狀態(tài)圖可以顯示對象如何從一種狀態(tài)過對于有多種內(nèi)部狀態(tài)的對象,狀態(tài)圖可以顯示對象如何從一
39、種狀態(tài)過渡到另外一種狀態(tài),以及對象在不同狀態(tài)中的不同行為。渡到另外一種狀態(tài),以及對象在不同狀態(tài)中的不同行為。v 通過分析某一對象的狀態(tài)變化,為設(shè)計(jì)此對象的操作提供依據(jù)。通過分析某一對象的狀態(tài)變化,為設(shè)計(jì)此對象的操作提供依據(jù)。v 分析一個(gè)對象的狀態(tài)可采用下列:分析一個(gè)對象的狀態(tài)可采用下列: 首先要確定該對象有那些狀態(tài)是問題域所關(guān)心的。當(dāng)對象處于這些首先要確定該對象有那些狀態(tài)是問題域所關(guān)心的。當(dāng)對象處于這些狀態(tài)中時(shí)會(huì)有哪些動(dòng)作。當(dāng)然,我們只識(shí)別哪些問題域所關(guān)心的對象狀態(tài)中時(shí)會(huì)有哪些動(dòng)作。當(dāng)然,我們只識(shí)別哪些問題域所關(guān)心的對象的狀態(tài)。的狀態(tài)。 分析對象生命周期,確定對象活動(dòng)分析對象生命周期,確定對象
40、活動(dòng)“歷程歷程”; 確定對象生命周期劃分策略;確定對象生命周期劃分策略; 按策略劃分階段描述對象的生命周期;按策略劃分階段描述對象的生命周期; 獲取一系列候選狀態(tài);獲取一系列候選狀態(tài); 針對每一個(gè)候選狀態(tài),分析出對象在此狀態(tài)下的動(dòng)作。針對每一個(gè)候選狀態(tài),分析出對象在此狀態(tài)下的動(dòng)作。信息系統(tǒng)分析與設(shè)計(jì)第7章 面向?qū)ο蠓治雠c設(shè)計(jì)確定狀態(tài)圖的兩種方法:確定狀態(tài)圖的兩種方法:v檢查類的屬性:考慮一個(gè)類的實(shí)例在屬性值不同檢查類的屬性:考慮一個(gè)類的實(shí)例在屬性值不同時(shí)如何表現(xiàn),因?yàn)槿绻麑ο蟮男袨楸憩F(xiàn)不同,則時(shí)如何表現(xiàn),因?yàn)槿绻麑ο蟮男袨楸憩F(xiàn)不同,則其狀態(tài)也不同。其狀態(tài)也不同。v例:某培訓(xùn)班的人數(shù)屬性例:某培
41、訓(xùn)班的人數(shù)屬性v人人v人人信息系統(tǒng)分析與設(shè)計(jì)第7章 面向?qū)ο蠓治雠c設(shè)計(jì)某培訓(xùn)班狀態(tài)圖某培訓(xùn)班狀態(tài)圖信息系統(tǒng)分析與設(shè)計(jì)第7章 面向?qū)ο蠓治雠c設(shè)計(jì)檢查類的關(guān)聯(lián)檢查類的關(guān)聯(lián)v 檢查類的關(guān)聯(lián):看看關(guān)聯(lián)多重性中帶檢查類的關(guān)聯(lián):看看關(guān)聯(lián)多重性中帶0 0的關(guān)聯(lián),的關(guān)聯(lián),0 0表示這個(gè)表示這個(gè)關(guān)聯(lián)是可選的。關(guān)聯(lián)是可選的。v 關(guān)聯(lián)存在和不存在時(shí)類的實(shí)例是否表現(xiàn)相同?如果不同,關(guān)聯(lián)存在和不存在時(shí)類的實(shí)例是否表現(xiàn)相同?如果不同,則可能有多種狀態(tài)則可能有多種狀態(tài)v 雇員和公司雇員和公司 雇員(多重性:0 )失業(yè)(狀態(tài)) 雇員(多重性:1 )有工作(狀態(tài))信息系統(tǒng)分析與設(shè)計(jì)第7章 面向?qū)ο蠓治雠c設(shè)計(jì)狀態(tài)與屬性狀態(tài)與屬性
42、打開關(guān)閉透支do/ 通知客戶取錢 結(jié)余小于0 存款 結(jié)余小于0 客戶請求關(guān)閉檢查結(jié)余 結(jié)余小于0達(dá)30天以上 信息系統(tǒng)分析與設(shè)計(jì)第7章 面向?qū)ο蠓治雠c設(shè)計(jì)原則原則v原則上一般只對復(fù)雜的類創(chuàng)建狀態(tài)圖。原則上一般只對復(fù)雜的類創(chuàng)建狀態(tài)圖。v如果類對象有多種狀態(tài),每種狀態(tài)中的表現(xiàn)又大如果類對象有多種狀態(tài),每種狀態(tài)中的表現(xiàn)又大不相同,則可能要對其創(chuàng)建狀態(tài)圖。不相同,則可能要對其創(chuàng)建狀態(tài)圖。v實(shí)際情況是,許多類根本就不需要狀態(tài)圖。實(shí)際情況是,許多類根本就不需要狀態(tài)圖。v狀態(tài)圖僅用于文檔,而不用于生成代碼。從狀態(tài)圖僅用于文檔,而不用于生成代碼。從ROSEROSE模型產(chǎn)生代碼時(shí),沒有任何代碼是從狀態(tài)圖的信模型
43、產(chǎn)生代碼時(shí),沒有任何代碼是從狀態(tài)圖的信息中產(chǎn)生的。息中產(chǎn)生的。信息系統(tǒng)分析與設(shè)計(jì)第7章 面向?qū)ο蠓治雠c設(shè)計(jì)3.3.對象檢查對象檢查最后應(yīng)對得到的對象進(jìn)行核查最后應(yīng)對得到的對象進(jìn)行核查v可從對象的狀態(tài)確定性和狀態(tài)間的互斥性兩個(gè)方可從對象的狀態(tài)確定性和狀態(tài)間的互斥性兩個(gè)方面進(jìn)行核查。面進(jìn)行核查。v所謂對象的狀態(tài)確定性是指每個(gè)狀態(tài)都可以由對所謂對象的狀態(tài)確定性是指每個(gè)狀態(tài)都可以由對象某些數(shù)據(jù)屬性的組合來唯一確定。象某些數(shù)據(jù)屬性的組合來唯一確定。v狀態(tài)間的互斥性是指對象的不同狀態(tài)間必須是互狀態(tài)間的互斥性是指對象的不同狀態(tài)間必須是互斥的,這樣對象的狀態(tài)才具有確定性。斥的,這樣對象的狀態(tài)才具有確定性。信息
44、系統(tǒng)分析與設(shè)計(jì)第7章 面向?qū)ο蠓治雠c設(shè)計(jì)二、創(chuàng)建分析類圖二、創(chuàng)建分析類圖1.分析類及其類型分析類及其類型v分析模型中的所有類都是分析模型中的所有類都是”分析類分析類”。從設(shè)計(jì)視。從設(shè)計(jì)視角看待,角看待, “分析類分析類”忽略實(shí)現(xiàn)細(xì)節(jié),相當(dāng)粗略。忽略實(shí)現(xiàn)細(xì)節(jié),相當(dāng)粗略?!胺治鲱惙治鲱悺笔菫槎x設(shè)計(jì)類做準(zhǔn)備的。是為定義設(shè)計(jì)類做準(zhǔn)備的。v創(chuàng)建分析類圖的主要工作包括:確定分析類;確創(chuàng)建分析類圖的主要工作包括:確定分析類;確定分析類的操作、屬性;確定分析類之間的關(guān)系。定分析類的操作、屬性;確定分析類之間的關(guān)系。v首先確定一組備選的、能夠執(zhí)行用例中行為的首先確定一組備選的、能夠執(zhí)行用例中行為的“分析類分析
45、類”。v在確定在確定“分析類分析類”時(shí),使用三種不同的構(gòu)造型識(shí)時(shí),使用三種不同的構(gòu)造型識(shí)別和提取潛在的別和提取潛在的“分析類分析類”,它們是:實(shí)體類、,它們是:實(shí)體類、控制類、邊界類??刂祁?、邊界類。信息系統(tǒng)分析與設(shè)計(jì)第7章 面向?qū)ο蠓治雠c設(shè)計(jì)2.2.確定確定“分析類分析類”v邊界類:每個(gè)參與者和用例的交互存在一個(gè)對應(yīng)的邊邊界類:每個(gè)參與者和用例的交互存在一個(gè)對應(yīng)的邊界類。界類。v控制類:一般一個(gè)用例對應(yīng)一個(gè)控制類??刂祁悾阂话阋粋€(gè)用例對應(yīng)一個(gè)控制類。v實(shí)體類:這個(gè)主要看用例里面用到的持久的數(shù)據(jù)對象。實(shí)體類:這個(gè)主要看用例里面用到的持久的數(shù)據(jù)對象。用到數(shù)據(jù)庫對象時(shí),可能就使用了實(shí)體類。用到數(shù)據(jù)
46、庫對象時(shí),可能就使用了實(shí)體類。v 類的獲取有兩種辦法:類的獲取有兩種辦法: 從用例模型和用例描述中找出名詞,有4種名詞:參與者、類、類的屬性、其他描述性名詞。能夠找出實(shí)體類。 另一種是檢查交互圖中的對象,研究對象具有的共同屬性和操作來發(fā)現(xiàn)類。信息系統(tǒng)分析與設(shè)計(jì)第7章 面向?qū)ο蠓治雠c設(shè)計(jì)獲取邊界類獲取邊界類v分析參與者與用例對,找出邊界類。分析參與者與用例對,找出邊界類。v邊界類的復(fù)用:邊界類的復(fù)用:信息系統(tǒng)分析與設(shè)計(jì)第7章 面向?qū)ο蠓治雠c設(shè)計(jì)控制類的考慮控制類的考慮v如果不同用例包含的任務(wù)之間有比較緊密的聯(lián)系,如果不同用例包含的任務(wù)之間有比較緊密的聯(lián)系,某些控制類可以參與多個(gè)用例實(shí)現(xiàn)。某些控制
47、類可以參與多個(gè)用例實(shí)現(xiàn)。v當(dāng)用例事件流非常簡單的情況下,控制類的必要當(dāng)用例事件流非常簡單的情況下,控制類的必要性明顯降低。性明顯降低。信息系統(tǒng)分析與設(shè)計(jì)第7章 面向?qū)ο蠓治雠c設(shè)計(jì)實(shí)體類的考慮實(shí)體類的考慮v實(shí)體類的適用范圍和生命周期可能超越特定的用實(shí)體類的適用范圍和生命周期可能超越特定的用例事件流。例事件流。v實(shí)體類通常不是某一特定用例所專有的。實(shí)體類通常不是某一特定用例所專有的。v如果實(shí)體類如果實(shí)體類B僅僅被另一個(gè)類僅僅被另一個(gè)類A,并且實(shí)體類,并且實(shí)體類B不不具有明顯的行為特征,那么,可以考慮將實(shí)體類具有明顯的行為特征,那么,可以考慮將實(shí)體類B作為類作為類A的屬性。的屬性。信息系統(tǒng)分析與設(shè)計(jì)
48、第7章 面向?qū)ο蠓治雠c設(shè)計(jì)3.3.合并分析類合并分析類v分析了所有用例以后,并為每一個(gè)用例創(chuàng)建了分分析了所有用例以后,并為每一個(gè)用例創(chuàng)建了分析類圖,就要合并各種不同的分析類來形成一個(gè)析類圖,就要合并各種不同的分析類來形成一個(gè)系統(tǒng)的分析模型。系統(tǒng)的分析模型。v這一個(gè)階段的任務(wù)是對不同用例中相同類型的分這一個(gè)階段的任務(wù)是對不同用例中相同類型的分析類進(jìn)行分析,看它們是否相同,如相同則考慮析類進(jìn)行分析,看它們是否相同,如相同則考慮合并。如跨越用例的控制類如果具有相同的行為,合并。如跨越用例的控制類如果具有相同的行為,或表示相同的概念,就應(yīng)該合并,并把它們的行或表示相同的概念,就應(yīng)該合并,并把它們的行為
49、組合為一個(gè)單獨(dú)的類。為組合為一個(gè)單獨(dú)的類。信息系統(tǒng)分析與設(shè)計(jì)第7章 面向?qū)ο蠓治雠c設(shè)計(jì). .識(shí)別分析類操作識(shí)別分析類操作v分析類在順序圖里要承擔(dān)一定的分析類在順序圖里要承擔(dān)一定的“職責(zé)職責(zé)”v“職責(zé)職責(zé)”是對其他對象發(fā)送來的消息的響應(yīng)。也是對其他對象發(fā)送來的消息的響應(yīng)。也可能是對外部的響應(yīng),也可能是維護(hù)自身信息所可能是對外部的響應(yīng),也可能是維護(hù)自身信息所必要的必要的“職責(zé)職責(zé)”。v這種行為在分析類演化成設(shè)計(jì)類時(shí),它可能對應(yīng)這種行為在分析類演化成設(shè)計(jì)類時(shí),它可能對應(yīng)一個(gè)或多個(gè)具體的類的一個(gè)或多個(gè)具體的類的“操作操作”。v通常有兩種方法為類識(shí)別通常有兩種方法為類識(shí)別操作操作: 第一是責(zé)任驅(qū)動(dòng)法 第
50、二是通過交互圖信息系統(tǒng)分析與設(shè)計(jì)第7章 面向?qū)ο蠓治雠c設(shè)計(jì)責(zé)任驅(qū)動(dòng)法識(shí)別類責(zé)任驅(qū)動(dòng)法識(shí)別類“操作操作”責(zé)任驅(qū)動(dòng)主要基于兩個(gè)概念:責(zé)任驅(qū)動(dòng)主要基于兩個(gè)概念: 第一,一個(gè)對象在系統(tǒng)中負(fù)有一定的責(zé)任,例如它要獲得特定的信息(了解的責(zé)任)和為其他對象提供特定的信息(做的責(zé)任); 第二,一個(gè)對象與其他對象合作來提供所要求的服務(wù)。v責(zé)任分析的一種有用技術(shù)責(zé)任分析的一種有用技術(shù)CRC(ClassResponsibilityCollaboration)卡技術(shù)。)卡技術(shù)。信息系統(tǒng)分析與設(shè)計(jì)第7章 面向?qū)ο蠓治雠c設(shè)計(jì)為類分配操作為類分配操作CRCCRC卡卡 類的名稱類的名稱類的名稱類的名稱責(zé)任責(zé)任1 1責(zé)任責(zé)任1
51、 1的協(xié)作者的協(xié)作者對該類的描述對該類的描述責(zé)任責(zé)任2 2責(zé)任責(zé)任2 2的協(xié)作者的協(xié)作者責(zé)任責(zé)任3 3責(zé)任責(zé)任3 3的協(xié)作者的協(xié)作者信息系統(tǒng)分析與設(shè)計(jì)第7章 面向?qū)ο蠓治雠c設(shè)計(jì)使用使用CRCCRC的一般步驟的一般步驟Step 1. 選擇相關(guān)的用例。選擇相關(guān)的用例。Step 2. 按順序畫出與該用例有關(guān)的全部卡片。按順序畫出與該用例有關(guān)的全部卡片。Step 3. 把所有的類型和職責(zé)全部審閱一遍,命名。把所有的類型和職責(zé)全部審閱一遍,命名。Step 4. 改變使用條件,對設(shè)計(jì)進(jìn)行壓力測試改變使用條件,對設(shè)計(jì)進(jìn)行壓力測試Step 5. 增減卡片,完善設(shè)計(jì)增減卡片,完善設(shè)計(jì)Step 6. 寫出最關(guān)鍵的
52、職責(zé)和交互方式,關(guān)鍵交互寫出最關(guān)鍵的職責(zé)和交互方式,關(guān)鍵交互方式要畫出交互圖。方式要畫出交互圖。信息系統(tǒng)分析與設(shè)計(jì)第7章 面向?qū)ο蠓治雠c設(shè)計(jì)用交互圖描述用例來為類識(shí)別用交互圖描述用例來為類識(shí)別“操作操作”v面向?qū)ο笙到y(tǒng)是通過對象間相互發(fā)送消息來完成面向?qū)ο笙到y(tǒng)是通過對象間相互發(fā)送消息來完成系統(tǒng)功能的。這些對象間傳遞的消息就可以映射系統(tǒng)功能的。這些對象間傳遞的消息就可以映射為對象的操作。為對象的操作。v消息和操作的概念不同,消息和操作的概念不同,“操作操作”是對發(fā)送過來是對發(fā)送過來的的“消息消息”的響應(yīng),也就是說它要滿足的響應(yīng),也就是說它要滿足“消息消息”的具體要求。的具體要求。v“消息消息”和
53、和“操作操作”并不存在一一對應(yīng)的關(guān)系,并不存在一一對應(yīng)的關(guān)系,已有的已有的“職責(zé)職責(zé)”就可能滿足新的就可能滿足新的“消息消息”的要求。的要求。信息系統(tǒng)分析與設(shè)計(jì)第7章 面向?qū)ο蠓治雠c設(shè)計(jì)下面幾個(gè)問題有助于尋找類的操作:下面幾個(gè)問題有助于尋找類的操作:有哪些類會(huì)與該類交互,包括該類本身?有哪些類會(huì)與該類交互,包括該類本身?該類接收哪些類(包括自己)發(fā)送的消息,收到該類接收哪些類(包括自己)發(fā)送的消息,收到消息之后進(jìn)行什么處理?消息之后進(jìn)行什么處理?該類向哪些類發(fā)送消息,消息的內(nèi)容是什么,在該類向哪些類發(fā)送消息,消息的內(nèi)容是什么,在發(fā)送之前該類需要做什么處理?發(fā)送之前該類需要做什么處理?該類中需要
54、哪些操作來維持自身屬性的一致性、該類中需要哪些操作來維持自身屬性的一致性、完整性,以及自身屬性的更新?完整性,以及自身屬性的更新?信息系統(tǒng)分析與設(shè)計(jì)第7章 面向?qū)ο蠓治雠c設(shè)計(jì)分析類操作的設(shè)計(jì)分析類操作的設(shè)計(jì)v首先要給首先要給“操作操作”起一個(gè)易于理解的名字,通常起一個(gè)易于理解的名字,通常要比較簡短。要比較簡短。v一個(gè)類的操作太多或太少都是不合適的,太多說一個(gè)類的操作太多或太少都是不合適的,太多說明這個(gè)類過于復(fù)雜,這時(shí)要特別分析一下這個(gè)類明這個(gè)類過于復(fù)雜,這時(shí)要特別分析一下這個(gè)類是否有很高的內(nèi)聚,通常情況下應(yīng)該將過于復(fù)雜是否有很高的內(nèi)聚,通常情況下應(yīng)該將過于復(fù)雜的類拆成多個(gè)較小的類。的類拆成多個(gè)
55、較小的類。v如果類中的操作太少,有時(shí)甚至沒有操作,全部如果類中的操作太少,有時(shí)甚至沒有操作,全部都是屬性,這時(shí)應(yīng)該分析這個(gè)類,判斷其是否能都是屬性,這時(shí)應(yīng)該分析這個(gè)類,判斷其是否能夠合并到其他類中。夠合并到其他類中。信息系統(tǒng)分析與設(shè)計(jì)第7章 面向?qū)ο蠓治雠c設(shè)計(jì). .識(shí)別分析類屬性識(shí)別分析類屬性v“分析類分析類”要能執(zhí)行相應(yīng)的操作,它要依賴于兩要能執(zhí)行相應(yīng)的操作,它要依賴于兩方面的內(nèi)容:方面的內(nèi)容:v一方面是利用它自己保存的信息;一方面是利用它自己保存的信息;v另一方面是利用其他的類另一方面是利用其他的類 。v類自己所能夠保存的信息就是它的屬性。類自己所能夠保存的信息就是它的屬性。信息系統(tǒng)分析與
56、設(shè)計(jì)第7章 面向?qū)ο蠓治雠c設(shè)計(jì)獲得屬性的渠道獲得屬性的渠道屬性的來源有許多。獲得屬性的渠道有幾個(gè):屬性的來源有許多。獲得屬性的渠道有幾個(gè):v 通過查看用例文檔,尋找名詞。通過查看用例文檔,尋找名詞。 通常,在用例文檔中用名詞表示屬性,如通常,在用例文檔中用名詞表示屬性,如“圖書的出版社、圖書的出版社、價(jià)格等價(jià)格等”。這些名詞中有些是對象;有些是參與者;有些這些名詞中有些是對象;有些是參與者;有些是屬性。確定是對象還是屬性,答案在于要實(shí)現(xiàn)的功能。是屬性。確定是對象還是屬性,答案在于要實(shí)現(xiàn)的功能。v 通過查看文檔,發(fā)現(xiàn)系統(tǒng)要收集的信息,這些信息就是通過查看文檔,發(fā)現(xiàn)系統(tǒng)要收集的信息,這些信息就是類
57、的屬性。類的屬性。如為了下訂單而搜集的供貨商的姓名、電話及如為了下訂單而搜集的供貨商的姓名、電話及銀行帳號(hào)等。銀行帳號(hào)等。v 如果已經(jīng)定義了數(shù)據(jù)庫結(jié)構(gòu),則數(shù)據(jù)庫表中的字段就是如果已經(jīng)定義了數(shù)據(jù)庫結(jié)構(gòu),則數(shù)據(jù)庫表中的字段就是屬性。屬性。信息系統(tǒng)分析與設(shè)計(jì)第7章 面向?qū)ο蠓治雠c設(shè)計(jì)認(rèn)定一個(gè)屬性的策略認(rèn)定一個(gè)屬性的策略認(rèn)定一個(gè)屬性的策略有:認(rèn)定一個(gè)屬性的策略有:按一般常識(shí)這個(gè)類應(yīng)該具有哪些屬性?按一般常識(shí)這個(gè)類應(yīng)該具有哪些屬性?在當(dāng)前的問題域中類應(yīng)該具有什么屬性?在當(dāng)前的問題域中類應(yīng)該具有什么屬性? 根據(jù)系統(tǒng)責(zé)任的要求,這個(gè)類應(yīng)該具有哪些屬性?根據(jù)系統(tǒng)責(zé)任的要求,這個(gè)類應(yīng)該具有哪些屬性? 建立這個(gè)類
58、是為了保存和管理哪些信息?建立這個(gè)類是為了保存和管理哪些信息?類為了在服務(wù)中實(shí)現(xiàn)其功能,需要增設(shè)哪些屬性?類為了在服務(wù)中實(shí)現(xiàn)其功能,需要增設(shè)哪些屬性? 有哪些需要區(qū)別的狀態(tài),是否需要增加一個(gè)屬性來區(qū)別這有哪些需要區(qū)別的狀態(tài),是否需要增加一個(gè)屬性來區(qū)別這些狀態(tài)?些狀態(tài)?認(rèn)定一個(gè)屬性的基本原則:認(rèn)定一個(gè)屬性的基本原則:要確認(rèn)它相對于相應(yīng)對象或類的每一個(gè)實(shí)例都是適用的。要確認(rèn)它相對于相應(yīng)對象或類的每一個(gè)實(shí)例都是適用的。認(rèn)定的屬性應(yīng)當(dāng)是一種相對的原子概念,也就是說,不依認(rèn)定的屬性應(yīng)當(dāng)是一種相對的原子概念,也就是說,不依賴于并列的其他屬性就可以被理解。賴于并列的其他屬性就可以被理解。信息系統(tǒng)分析與設(shè)計(jì)第
59、7章 面向?qū)ο蠓治雠c設(shè)計(jì)6.6.描述類之間的關(guān)系描述類之間的關(guān)系v 類之間的關(guān)系有關(guān)聯(lián)關(guān)系、聚合關(guān)系、組合關(guān)系、泛化關(guān)類之間的關(guān)系有關(guān)聯(lián)關(guān)系、聚合關(guān)系、組合關(guān)系、泛化關(guān)系、依賴關(guān)系。系、依賴關(guān)系。v 通常按照以下步驟對類之間的關(guān)聯(lián)建模:通常按照以下步驟對類之間的關(guān)聯(lián)建模: 1 1)找出關(guān)系。有的類只和其他一個(gè)類有關(guān)系,而有些類)找出關(guān)系。有的類只和其他一個(gè)類有關(guān)系,而有些類同時(shí)和其他多個(gè)類存在關(guān)系。在一個(gè)面向?qū)ο笙到y(tǒng)中,不同時(shí)和其他多個(gè)類存在關(guān)系。在一個(gè)面向?qū)ο笙到y(tǒng)中,不存在完全獨(dú)立的類。存在完全獨(dú)立的類。 2 2)命名關(guān)系。最好給每個(gè)關(guān)系取一個(gè)名字以標(biāo)識(shí)出類之)命名關(guān)系。最好給每個(gè)關(guān)系取一個(gè)
60、名字以標(biāo)識(shí)出類之間的關(guān)系。通常可以使用動(dòng)詞和動(dòng)詞短語來標(biāo)識(shí)關(guān)系。間的關(guān)系。通??梢允褂脛?dòng)詞和動(dòng)詞短語來標(biāo)識(shí)關(guān)系。 3 3)設(shè)置關(guān)聯(lián)重?cái)?shù)。關(guān)聯(lián)的重?cái)?shù)()設(shè)置關(guān)聯(lián)重?cái)?shù)。關(guān)聯(lián)的重?cái)?shù)(MulhpliCityMulhpliCity)依賴于)依賴于系統(tǒng)的具體需求,要根據(jù)需求文檔的上下文進(jìn)行分析。在系統(tǒng)的具體需求,要根據(jù)需求文檔的上下文進(jìn)行分析。在系統(tǒng)分析階段,不必特別地考慮重?cái)?shù)。系統(tǒng)分析階段,不必特別地考慮重?cái)?shù)。 )設(shè)置關(guān)聯(lián)的其他特性。如果需要的話,可以為每個(gè)關(guān))設(shè)置關(guān)聯(lián)的其他特性。如果需要的話,可以為每個(gè)關(guān)聯(lián)設(shè)置關(guān)聯(lián)角色名、構(gòu)造型、限定符等細(xì)節(jié)。聯(lián)設(shè)置關(guān)聯(lián)角色名、構(gòu)造型、限定符等細(xì)節(jié)。信息系統(tǒng)分析與設(shè)計(jì)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年金融服務(wù)采購合同創(chuàng)新金融產(chǎn)品合作協(xié)議2篇
- 導(dǎo)演與發(fā)行方2025年度合同3篇
- 二零二五年度餐飲泔水處理與環(huán)保設(shè)施運(yùn)營管理合同6篇
- 二零二五年度高校畢業(yè)生就業(yè)見習(xí)實(shí)踐基地建設(shè)合作合同3篇
- 二零二五年度航空航天設(shè)備維修承包合同樣本3篇
- 二零二五年高性能混凝土委托加工合同范本3篇
- 碎石買賣合同(二零二五年度)2篇
- 二零二五年度藥品質(zhì)量第三方檢測合同范本6篇
- 二零二五版國際貿(mào)易中貨物所有權(quán)轉(zhuǎn)移與國際貿(mào)易政策研究合同3篇
- 2025年度電力設(shè)施租賃合同標(biāo)的轉(zhuǎn)讓協(xié)議3篇
- 課題申報(bào)書:大中小學(xué)鑄牢中華民族共同體意識(shí)教育一體化研究
- 巖土工程勘察課件0巖土工程勘察
- 《腎上腺腫瘤》課件
- 2024-2030年中國典當(dāng)行業(yè)發(fā)展前景預(yù)測及融資策略分析報(bào)告
- 《乘用車越野性能主觀評(píng)價(jià)方法》
- 幼師個(gè)人成長發(fā)展規(guī)劃
- 2024-2025學(xué)年北師大版高二上學(xué)期期末英語試題及解答參考
- 批發(fā)面包采購合同范本
- 乘風(fēng)化麟 蛇我其誰 2025XX集團(tuán)年終總結(jié)暨頒獎(jiǎng)盛典
- 2024年大數(shù)據(jù)分析公司與中國政府合作協(xié)議
- 一年級(jí)數(shù)學(xué)(上)計(jì)算題專項(xiàng)練習(xí)匯編
評(píng)論
0/150
提交評(píng)論