freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

面向?qū)ο蟮姆治雠c設(shè)計(jì)課件-設(shè)計(jì)篇-資料下載頁(yè)

2025-08-16 01:11本頁(yè)面
  

【正文】 ting Swimming 100 Music Tennis 100 Accounting Tennis 150 Math Jogging STUMAJOR ( SID ,Major) Key:( SID, Major) SID Major 100 Music 100 Accounting 150 Math STUACT( SID, Activity) Key:( SID, Activity) SID Activity 100 Skiing 100 Swimming 100 Tennis 150 Jogging 106 SID Major 1 1 1 1 * * * * 課程 學(xué)生 活動(dòng) 學(xué)生 課程 學(xué)生 活動(dòng) SID Activity * * * * 課程 學(xué)生 活動(dòng) 用面向?qū)ο蠓椒ǖ玫降姆诸?—— 有三類對(duì)象 化解多對(duì)多關(guān)聯(lián)之后的結(jié)果 為什么多出來(lái) 3個(gè)類? 107 用面向?qū)ο蠓椒ㄎ茨鼙苊夂瘮?shù)依賴的例子 職工 職工編號(hào) 月工資 所得稅 … … … … 可以不通過(guò)規(guī)范化解決問(wèn)題 —— 討論為什么 108 規(guī)范化的兩種策略 保持類圖,對(duì)表規(guī)范化 缺點(diǎn)是對(duì)象的存儲(chǔ)與恢復(fù)必須經(jīng)過(guò)數(shù)據(jù)格式的轉(zhuǎn)換 修改類圖 對(duì)問(wèn)題域的映射 可能 不像規(guī)范化之前那么直接。但是這個(gè)問(wèn)題并不嚴(yán)重 —— 利大于弊 采用第二種策略 —— 按規(guī)范化的要求修改類圖中的類 作為問(wèn)題域部分的設(shè)計(jì)內(nèi)容之一 2)修改類圖 109 3)確定關(guān)鍵字 用較少的屬性作關(guān)鍵字,將為含關(guān)鍵字的操作帶來(lái)方便 常用的技巧 —— 引入編號(hào) 最終效果: 經(jīng)過(guò)必要的規(guī)范化處理和關(guān)鍵字處理之后,得到一個(gè)符合數(shù)據(jù)庫(kù)設(shè)計(jì)要求的類圖,其中每個(gè)需要映射到數(shù)據(jù)庫(kù)表的類,都滿足如下條件: 至少滿足第一范式 滿足所期望的更高范式 有一組屬性被確定為關(guān)鍵字 110 4)從類圖到數(shù)據(jù)庫(kù)的映射 ( 1)映射策略概要 對(duì)每個(gè)要在數(shù)據(jù)庫(kù)中存儲(chǔ)對(duì)象實(shí)例的類,都建立一個(gè)數(shù)據(jù)庫(kù)表 類的每個(gè)屬性(包括從所有祖先繼承來(lái)的屬性)都對(duì)應(yīng)表的一個(gè)屬性(列) 名稱、數(shù)據(jù)類型完全相同 其中一組屬性被確定為關(guān)鍵字 類的每個(gè)對(duì)象實(shí)例將對(duì)應(yīng)表的一個(gè)元組(行) 111 ( 2)對(duì) OO概念的處理 對(duì)一般 特殊結(jié)構(gòu)的處理 抽象類不對(duì)應(yīng)數(shù)據(jù)庫(kù)表 特殊類包括自己定義的和繼承來(lái)的所有屬性 人員 姓名 出生年月 教職工 職稱 從事專業(yè) 研究生 學(xué)號(hào) 班級(jí) 攻讀專業(yè) 在職研究生 在職單位 例 : 5個(gè)屬性 4個(gè)屬性 8個(gè)屬性 不建表 112 在關(guān)聯(lián)連接線一端的類中定義一個(gè)(或一組)屬性,表明另一端類的哪個(gè)對(duì)象實(shí)例與本端的對(duì)象實(shí)例相關(guān)聯(lián) 該屬性(屬性組)應(yīng)該和另一端的關(guān)鍵字相同 如果另一端的關(guān)鍵字包含多個(gè)屬性,本端也要定義同樣的多個(gè)屬性 在對(duì)應(yīng)的數(shù)據(jù)庫(kù)表中,一個(gè)表以該屬性(或?qū)傩越M)作為 外鍵 ,另一個(gè)表以它作為主鍵,使前者的元組通過(guò)其屬性值指向后者的元組 對(duì)關(guān)聯(lián)的處理 一對(duì)一的關(guān)聯(lián) A B 0..1 1 從 B端指向 A端,則 B表的外鍵對(duì)有些元組可能是空值( NULL) 從 A端指向 B端則不存在這一問(wèn)題 表 A 表 B 113 一對(duì)多的關(guān)聯(lián) 從多重性約束為“ m”的一端指向多重性約束為 “ 1”的一端 A B 1 * 映射為數(shù)據(jù)庫(kù)表后, A表以 B表的主鍵作為自己的外鍵 表 A 表 B 114 多對(duì)多的關(guān)聯(lián) A B * * 先在類圖中化為兩個(gè)一對(duì)多的關(guān)聯(lián) A C 1 1 B * * 115 多對(duì)多的關(guān)聯(lián) A B * * 先在類圖中化為兩個(gè)一對(duì)多的關(guān)聯(lián) A C 1 1 B * * C表含有兩個(gè)外鍵,一個(gè)是 A的主鍵,一個(gè)是 B的主鍵 然后將每個(gè)類映射到一個(gè)數(shù)據(jù)庫(kù)表 表 A 表 B 116 對(duì)象類轉(zhuǎn)化為數(shù)據(jù)庫(kù)表的三種情況: ①表中只包含描述本類事物自身特征的屬性 ②表中既包含描述本類事物自身特征的屬性, 也包含作為外鍵指向另一個(gè)表的元組的屬性 ③表中只包含作為外鍵指向其它表的元組的屬性 117 對(duì)整體 部分結(jié)構(gòu)的處理 分為緊密、固定的方式 和 松散、靈活的方式 二者的區(qū)別將通過(guò)數(shù)據(jù)庫(kù)表的設(shè)計(jì)體現(xiàn)出來(lái) 緊密、固定方式: 把部分對(duì)象類的屬性合并到整體對(duì)象類中 松散、靈活方式: 整體對(duì)象類和部分對(duì)象類分別建立一個(gè)表 通過(guò)外鍵表現(xiàn)整體部分關(guān)系 118 A 1 B 1 A 0..1 B 1 A * B 1 A 1 B * A * B * (a) (b) (c) (d) (e) 緊密方式: B的屬性合并到 A 建立 A表 松散方式: 建立 A、 B兩個(gè)表 A指向 B 或者 B指向 A 緊密方式: B的屬性合并到 A 建立 A表 還要建立 B 表 松散方式: 建立 A、 B兩個(gè)表 A指向 B 松散方式: 建立 A、 B兩個(gè)表 A指向 B 松散方式: 建立 A、 B兩個(gè)表 B指向 A 松散方式: 參考多對(duì)多關(guān)聯(lián)解決辦法 首先解決多對(duì)多問(wèn)題 然后建立 A、 B兩個(gè)表以及新增類的表 119 例:多 對(duì)多的整體 部分結(jié)構(gòu)的轉(zhuǎn)化 * * 運(yùn)動(dòng)隊(duì) * 1 學(xué)生 運(yùn)動(dòng)隊(duì) 1 * 隊(duì)員 學(xué)生 120 數(shù)據(jù)接口部分類的設(shè)計(jì) 設(shè)計(jì)一個(gè)名為“對(duì)象存取器”的對(duì)象類,它提供兩種操作 “對(duì)象保存” 將內(nèi)存中一個(gè)對(duì)象保存到相應(yīng)的數(shù)據(jù)庫(kù)表中 “對(duì)象恢復(fù)” 從數(shù)據(jù)庫(kù)表中找到對(duì)象所對(duì)應(yīng)的元組,把它恢復(fù)成內(nèi)存中的對(duì)象 執(zhí)行這些操作需要知道對(duì)象的下述信息: 它在內(nèi)存中是哪個(gè)對(duì)象 為了知道從何處取得對(duì)象數(shù)據(jù) 或者把數(shù)據(jù)恢復(fù)到何處 它屬于哪個(gè)類 為了知道該對(duì)象應(yīng)保存在哪個(gè)數(shù)據(jù)庫(kù)表中 它的關(guān)鍵字 為了知道該對(duì)象對(duì)應(yīng)數(shù)據(jù)庫(kù)表的哪個(gè)元組 121 第一種設(shè)計(jì)方案 對(duì)每個(gè)要求保存和恢復(fù)的對(duì)象類,分別設(shè)計(jì)一個(gè)“對(duì)象保存”操作和一個(gè)“對(duì)象恢復(fù)”操作 對(duì)象存取器 對(duì)象保存 1 對(duì)象恢復(fù) 1 …… 對(duì)象保存 n 對(duì)象恢復(fù) n 每個(gè)操作只負(fù)責(zé)一類對(duì)象的存或取 因此下述信息是確定的: 對(duì)象存放在哪個(gè)數(shù)據(jù)庫(kù)表 關(guān)鍵字所包含的屬性數(shù)目與名稱 在操作接口中只需傳遞如下參數(shù): 內(nèi)存中的一個(gè)對(duì)象變量 用來(lái)提供或接收對(duì)象數(shù)據(jù) 對(duì)象關(guān)鍵字的值 優(yōu)點(diǎn): 每個(gè)操作都很容易實(shí)現(xiàn),通常只需要一個(gè)數(shù)據(jù)操縱語(yǔ)句, (例如靜態(tài) SQL語(yǔ)句) 缺點(diǎn): 操作個(gè)數(shù)太多 很難在問(wèn)題部分采用統(tǒng)一的消息協(xié)議 122 第二種設(shè)計(jì)方案 只設(shè)計(jì) 一個(gè)“對(duì)象保存”操作和一個(gè)“對(duì)象恢復(fù)”操作 供全系統(tǒng)所有要求保存和恢復(fù)的對(duì)象類共同使用 對(duì)象存取器 對(duì)象保存 對(duì)象恢復(fù) 類名 表名 對(duì)照表 操作接口的參數(shù)應(yīng)傳送三項(xiàng)信息: 類名 指明被存取的對(duì)象屬于哪個(gè)類 對(duì)象變量 提供或接受被存取的對(duì)象數(shù)據(jù) 關(guān)鍵字的值 指明是哪個(gè)對(duì)象實(shí)例要求保存或恢復(fù) 數(shù)據(jù)類型不能靜態(tài)確定 優(yōu)點(diǎn): 操作少,消息協(xié)議統(tǒng)一 缺點(diǎn): 實(shí)現(xiàn)難度大 —— 表的名稱、關(guān)鍵字的構(gòu)成、對(duì)象的類型不能在編程時(shí)確定 需要編程語(yǔ)言和數(shù)據(jù)操縱語(yǔ)言提供較強(qiáng)的支持 123 問(wèn)題域部分的修改 采用第一種方案時(shí) 問(wèn)題域部分每個(gè)請(qǐng)求保存或恢復(fù)的類,都要使用不同的操作請(qǐng)求語(yǔ)句,這些請(qǐng)求只能分散到各個(gè)類中 采用第二種方案時(shí) 在問(wèn)題域部分設(shè)計(jì)一個(gè)高層的類,提供統(tǒng)一的協(xié)議,供各個(gè)需要在數(shù)據(jù)庫(kù)中存儲(chǔ)其對(duì)象實(shí)例的類繼承 可以做到和采用文件系統(tǒng)時(shí)的處理完全一致 124 采用第二種方案時(shí)修改情況和采用文件系統(tǒng)時(shí)完全一致 … … … … 類 B … … … … … … … … 類 D … … … … 問(wèn)題域部分 數(shù)據(jù)接口部分 類 A 類 C 對(duì)象存取器 … … … … RDBMS 關(guān)系數(shù)據(jù)庫(kù) 對(duì)象使用數(shù)據(jù)庫(kù)中的普通數(shù)據(jù),只是其操作算法的實(shí)現(xiàn)問(wèn)題 持久對(duì)象 請(qǐng)求保存 請(qǐng)求恢復(fù) … … 類名 … … 增加一個(gè)一般類來(lái)定義它們,作為共同協(xié)議,供所有的持久對(duì)象類繼承 125 從應(yīng)用系統(tǒng)到數(shù)據(jù)庫(kù),從內(nèi)存空間到外存空間,數(shù)據(jù)模型都是一致的。因此,幾乎不要為此再做更多的設(shè)計(jì)工作。 類圖中的類一般不需要類似于規(guī)范化的改造 也不需要專門設(shè)計(jì)專門負(fù)責(zé)對(duì)象保存與恢復(fù)的對(duì)象類 主要考慮: 如何用 OODBMS提供的數(shù)據(jù)定義語(yǔ)言、數(shù)據(jù)操縱語(yǔ)言和其它編程語(yǔ)言來(lái)實(shí)現(xiàn) OOD模型 —— 實(shí)現(xiàn)類和對(duì)象的定義和對(duì)數(shù)據(jù)庫(kù)的訪問(wèn) 必要時(shí)要根據(jù)語(yǔ)言的功能限制對(duì)類圖做適當(dāng)?shù)男薷? (三)針對(duì) OODBMS的設(shè)計(jì) 126 M. Fowler: “面向?qū)ο蠼缫恢睆V為流傳的一項(xiàng)爭(zhēng)論就是構(gòu)件和正常類之間的區(qū)別為何?!薄啊裁词菢?gòu)件’這一問(wèn)題是一個(gè)爭(zhēng)論不休的題目。” “要點(diǎn)是,構(gòu)件代表可以獨(dú)立購(gòu)買與升級(jí)的軟件片。因此,把一個(gè)系統(tǒng)分成若干構(gòu)件既是一個(gè)技術(shù)抉擇,又是一個(gè)銷售抉擇?!? —— Fowler M and Scott K. UML Distilled 3rd edition 面向?qū)ο蠓椒ㄅc構(gòu)件技術(shù) 第 15章 構(gòu)件化與系統(tǒng)部署 127 “ 基于構(gòu)件 ” 與 “ 面向?qū)ο?” 并不是兩種相互取代的方法或技術(shù),它們是正交的、互補(bǔ)的關(guān)系 面向?qū)ο髠?cè)重于用什么概念來(lái)認(rèn)識(shí)問(wèn)題域,并把其中的事物以及其關(guān)系映射到軟件系統(tǒng)中,是一種貫穿軟件生命周期的軟件方法學(xué)。 構(gòu)件技術(shù)的側(cè)重點(diǎn)是如何把系統(tǒng)組織成能夠獨(dú)立地進(jìn)行生產(chǎn)、組裝、復(fù)用、部署、發(fā)布、銷售和升級(jí)的產(chǎn)品單位。 用 OO方法開(kāi)發(fā)的系統(tǒng),既可以組織成構(gòu)件,也可以不組織成構(gòu)件 構(gòu)件技術(shù)既可以用于 OO軟件開(kāi)發(fā) 也可以用于非 OO的軟件開(kāi)發(fā) 構(gòu)件 非構(gòu)件 OO 非 OO 維護(hù) 測(cè)試 實(shí)現(xiàn) 設(shè)計(jì) 分析 128 構(gòu)件技術(shù)已經(jīng)發(fā)展到軟件生命周期的各個(gè)階段 —— 通過(guò)領(lǐng)域分析識(shí)別領(lǐng)域構(gòu)件,在系統(tǒng)分析、設(shè)計(jì)和實(shí)現(xiàn)中形成分析級(jí)、設(shè)計(jì)級(jí)和實(shí)現(xiàn)級(jí)的構(gòu)件,在構(gòu)件生產(chǎn)線上進(jìn)行構(gòu)件的分析、設(shè)計(jì)和編程。但是這一切并不取代現(xiàn)有的分析與設(shè)計(jì)方法,正如它并不取代任何一種編程語(yǔ)言一樣。 與其他軟件工程方法和技術(shù)相比,面向?qū)ο蠓椒ㄅc構(gòu)件技術(shù)之間的配合最為緊密、融洽。 面向?qū)ο蠓椒ǖ某橄螅^承,封裝,聚合,多態(tài)等概念與原則對(duì)構(gòu)件技術(shù)形成良好的支持。 構(gòu)件一種比類粒度更大的系統(tǒng)單位。一個(gè)構(gòu)件可以包括多個(gè)類,一個(gè)類不應(yīng)該拆散到不同的構(gòu)件。這意味著,構(gòu)件的概念并不影響面向?qū)ο蟾拍畹恼Z(yǔ)法和語(yǔ)義, 129 OO模型的構(gòu)件化 構(gòu)件化的意義 —— 支持基于構(gòu)件的軟件開(kāi)發(fā) OOA階段:支持分析級(jí)的軟件復(fù)用 OOD階段:支持和計(jì)級(jí)的軟件復(fù)用,并且支持以構(gòu)件為單位進(jìn)行編程實(shí)現(xiàn) OOA階段的構(gòu)件通常不是最終結(jié)果,在 OOD階段會(huì)有變化 主要工作 把類圖中的類組織成一些可以獨(dú)立進(jìn)行編程、發(fā)布、銷售和升級(jí)的構(gòu)件 基本原則 構(gòu)件的粒度不宜過(guò)小,一個(gè)構(gòu)件通常可以包含多個(gè)類,除非某些類本身就已經(jīng)很龐大。 一個(gè)類可以在多個(gè)構(gòu)件中復(fù)用,但是不把一個(gè)類拆分到多個(gè)構(gòu)件中,即:把類看成一個(gè)原子的系統(tǒng)單位。 130 考慮的因素: 各個(gè)類之間關(guān)系的緊密程度 在問(wèn)題域中所對(duì)應(yīng)的事物 所提供的功能類別 彼此之間通信頻繁程度 在系統(tǒng)中的分布與并發(fā)情況 這一切正是在面向?qū)ο蠼V羞M(jìn)行 包的劃分 所考
點(diǎn)擊復(fù)制文檔內(nèi)容
黨政相關(guān)相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1