市場調(diào)查復習市公開課一等獎省名師優(yōu)質(zhì)課賽課一等獎?wù)n件_第1頁
市場調(diào)查復習市公開課一等獎省名師優(yōu)質(zhì)課賽課一等獎?wù)n件_第2頁
市場調(diào)查復習市公開課一等獎省名師優(yōu)質(zhì)課賽課一等獎?wù)n件_第3頁
市場調(diào)查復習市公開課一等獎省名師優(yōu)質(zhì)課賽課一等獎?wù)n件_第4頁
市場調(diào)查復習市公開課一等獎省名師優(yōu)質(zhì)課賽課一等獎?wù)n件_第5頁
已閱讀5頁,還剩103頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第七章面向?qū)ο蠓椒ǖ谝还?jié)

概述一、OO起源和發(fā)展1、

起源1967年挪威計算機中心學者奧理(Ole-JoneDahl)設(shè)計仿真語言Simula67,該語言首次提出了對象、封裝、數(shù)據(jù)抽象化及類概念和繼承機制,并以互動方式來表示真實情況中對象與并行問題,表示了用對對象模擬客觀世界中實體特點。70年代,猶他大學博士生AlanKay為在個人計算機上開展圖形學和模擬工作,設(shè)計里一個試驗性語言Flex。1972年,Kay和PaRc等人設(shè)計了Smalltalk語言,Smalltalk——72正式使用了“面向?qū)ο蟆边@一術(shù)語,把對象作為一個較為獨立程序單位進行軟件開發(fā),開發(fā)出全部對象都是類實例。2、

發(fā)展80年代初,Smalltalk——80,OOPL出現(xiàn),如C++、object-c、object-pascal等90年代,從系統(tǒng)分析、系統(tǒng)設(shè)計到編程、測試與維護都采取面向?qū)ο蠓椒ā3霈F(xiàn)了50各種方法,如Rumbaugh對象模型技術(shù)(OMT),Booch和Yourdon面向?qū)ο蠓治雠c設(shè)計(OOA/OOD),Jacobson面向?qū)ο筌浖こ蹋∣OSE)。二、基本概念1、

對象:對象是系統(tǒng)中用來描述客觀事物一個實體,它是組成系統(tǒng)一個基本單位。一個對象由一組屬性和對這組屬性進行操作一組服務(wù)組成。屬性:用來描述對象靜態(tài)特征一個數(shù)據(jù)項。服務(wù):用來描述對象動態(tài)特征(行為)一個操作序列。2、

類:含有相同屬性和服務(wù)一組對象集合,它為屬于該類全部對象提供了統(tǒng)一抽象描述,其內(nèi)部包含屬性和服務(wù)兩個主要部分。普通類,特殊類:假如類A含有類B全部屬性和全部服務(wù),而且含有自己特有一些屬性或服務(wù),則A叫B特殊類,B叫A普通類。3、

封裝:把對象屬性和服務(wù)結(jié)合成一個獨立系統(tǒng)單位,并盡可能隱蔽對象內(nèi)部細節(jié)。可見性:對象屬性和服務(wù)允許對象外部存取和引用程度。4、

繼承:特殊類對象擁有其普通類全部屬性和服務(wù),稱作特殊類對普通類繼承。多繼承:一個類能夠是多個普通類特殊類,它從多個普通類中繼承了屬性與服務(wù),這種繼承模式叫多繼承。5、

消息:想對象發(fā)出服務(wù)請求。它應該含有下述信息:提供服務(wù)對象標識、服務(wù)標識、輸入信息和回答信息。6、

結(jié)構(gòu)和連接①

通用——特定結(jié)構(gòu)(分類結(jié)構(gòu)):由一組含有普通——特殊關(guān)系(繼承關(guān)系)類所組成結(jié)構(gòu)。②

整體——部分結(jié)構(gòu)(組裝結(jié)構(gòu)):一個(或一些)對象是另一個對象組成部分。③

實例連接:反應對象與對象之間靜態(tài)關(guān)系。④

消息連接:描述對象之間動態(tài)聯(lián)絡(luò),即:若一個對象在執(zhí)行自己服務(wù)時,需要經(jīng)過消息請求另一個對象為它完成某個服務(wù),則說第一個對象和第二個對象之間存在消息連接。7、

多態(tài)性:在普通類中定義屬性或服務(wù)被特殊類繼承后,能夠含有不一樣數(shù)據(jù)類型或表現(xiàn)出不一樣行為。三、OO信息系統(tǒng)開發(fā)流程第二節(jié)

OOA一、OOA基本模型

OOA系統(tǒng)模型包含三大部分:基本模型、補充模型和系統(tǒng)詳細說明。OOA基本模型組成(類圖組成要素)二、標識對象及對象類,建立對象層1、

標識對象①

發(fā)覺對象實物飛機、書、汽車、文檔、工作表角色雇員、用戶、教師、學生、系統(tǒng)、管理員組織部門部門、任務(wù)組、設(shè)備傳感器、定時器、打印機、鍵盤、顯示器、菜單按鈕突發(fā)事件、事件或交互登錄、退出、協(xié)議、購置、訂單、支付地點/位置倉庫、部門辦公室、工廠、零售店、桌面發(fā)覺對象A、發(fā)覺對象出發(fā)點:問題域(客觀存在事物與系統(tǒng)中對象映射)和系統(tǒng)責任(系統(tǒng)責任范圍內(nèi)每一項職責都應落實到一些對象來完成)。B、正確地利用抽象標準:——取舍準則是看被觀察事物及其特征是否與當前目標相關(guān)——考慮把問題域中事物映射為何對象,以及怎樣對這些對象分類C、策略與啟發(fā)——人員、組織、物品、設(shè)備、事件、表格、結(jié)構(gòu)——系統(tǒng)邊界:人員、設(shè)備、外系統(tǒng)——系統(tǒng)責任②

篩選對象審查和篩選——舍棄無用對象經(jīng)過屬性判斷(有用信息?)經(jīng)過服務(wù)判斷(有用功效?)——對象精簡只有一個屬性對象只有一個服務(wù)對象③

構(gòu)建對象2、

標識類①

從對象集合到類采取是抽象標準;對象分類,建立類圖對象層異常情況檢驗和調(diào)整——類屬性或服務(wù)不適合該類全部對象——屬性及服務(wù)相同類——屬性和服務(wù)相同類——對同一事物重復描述類命名——符合這個類所包含每一個對象——反應每個對象個體,而不是整個群體——名詞,或帶有定語名詞②建立類圖例:在一個公共習題庫支持下,使各科教師能夠在系統(tǒng)中編寫習題及標準答案,并將編寫習題及答案加入習題庫;或者從題庫中選取一組系統(tǒng),組成一份向?qū)W生布置作業(yè),并在適當初刻公布答案。學生能夠在系統(tǒng)中完成教師布置作業(yè),也能夠從題庫中選擇更多題目練習。教師能夠經(jīng)過系統(tǒng)檢驗學生作業(yè),學生也能夠在教師公布答案后對自己練習進行查對。系統(tǒng)維持對題庫管理,并對教師及學生權(quán)限進行檢驗:只有本課程教師能夠提交或修改習題,并指定哪些習題答案能夠向?qū)W生公開。三、標識屬性及服務(wù),建立特征層1、

標識對象屬性:對象屬性指對象內(nèi)封裝數(shù)據(jù),它描述對象內(nèi)部特征,是待開發(fā)系統(tǒng)中全部待存放數(shù)據(jù)反應。

屬性分類:A、單值屬性:屬性值在任何時刻有一個值或一個狀態(tài)。B、多值屬性:任何時刻都含有多個值屬性。C、互斥屬性:屬性值出現(xiàn)依賴與其它屬性值出現(xiàn)是否。②

尋找屬性:依據(jù)問題空間特征、系統(tǒng)責任、對象在問題空間中普通常識、對象存在狀態(tài)等角度發(fā)覺對象屬性針對每個對象提出并回答以下問題,啟發(fā)自己從各種角度發(fā)覺對象屬性——按普通常識這個對象應該有哪些屬性——在當前問題域中,這個對象應該有哪些屬性——依據(jù)系統(tǒng)責任要求,這個對象應含有哪些屬性——建立這個對象是為了保留和管理哪些信息——對象為了在服務(wù)中實現(xiàn)其功效,需要增設(shè)哪些屬性——對象有哪些需要區(qū)分狀態(tài),是否需增加一個屬性來區(qū)分這些狀態(tài)——用什么屬性表示整體—部分結(jié)構(gòu)和實例連接③

篩選屬性:適用性標準、原子性標準、無冗余性標準等

——這個屬性是否表達了以系統(tǒng)責任為目標抽象——這個屬性是否描述這個對象本身特征——該屬性是否破壞了對象特征“原子性”——這個屬性是否能夠經(jīng)過繼承得到——從其它屬性直接導出④

屬性命名和定位名詞,帶定語名詞⑤

屬性說明屬性解釋、數(shù)據(jù)類型、表達關(guān)系、實現(xiàn)要求例:習題管理系統(tǒng)2、

標識服務(wù)行為分類——系統(tǒng)行為,對象創(chuàng)建、復制、刪除等——對象本身行為,算法簡單服務(wù)——對象本身行為,算法復雜服務(wù)①

尋找服務(wù):從系統(tǒng)責任和問題空間、對象屬性等角度考慮——考慮系統(tǒng)責任——考慮問題域——分析對象狀態(tài)——追蹤服務(wù)執(zhí)行路線②

篩選服務(wù):服務(wù)是對象所映射事物固有行為、服務(wù)滿足系統(tǒng)功效、一個服務(wù)完成一項定義明確、完整而功效單一操作。是否真正有用,是否高內(nèi)聚③

服務(wù)命名和定位動詞+名詞④

服務(wù)說明服務(wù)解釋、消息協(xié)議、消息發(fā)送、約束條件、服務(wù)流程圖例:習題管理系統(tǒng)3、

建立特征層四、標識對象外部特征,建立關(guān)系層1、

標識普通——特殊結(jié)構(gòu)普通——特殊結(jié)構(gòu)是把一組有普通——特殊關(guān)系類組織在一起而得到結(jié)構(gòu),它是一個以類為結(jié)點,以普通——特殊關(guān)系為邊連通有向圖。①

尋找普通——特殊結(jié)構(gòu):從已經(jīng)有行業(yè)知識和分類學知識、常識發(fā)覺普通——特殊結(jié)構(gòu)——學習當前領(lǐng)域分類學知識——按常識考慮事物分類——考查類屬性與服務(wù)——考慮領(lǐng)域范圍內(nèi)復用②

調(diào)整所標識普通——特殊結(jié)構(gòu)——問題域是否需要這么分類——系統(tǒng)責任是否需要這么分類——是否符合分類學常識——是否組成了繼承關(guān)系普通——特殊關(guān)系簡化——取消沒有特殊屬性特殊類——經(jīng)過增加屬性簡化普通——特殊結(jié)構(gòu)——取消用途單一普通類2、

標識整體——部分結(jié)構(gòu)整體——部分結(jié)構(gòu)是把一組含有整體——部分關(guān)系類組織在一起結(jié)構(gòu)。它是一個以類為結(jié)點,以整體——部分關(guān)系為邊連通有向圖。①

整體——部分結(jié)構(gòu)概念:設(shè)有三個對象:a對象、b對象和c對象,假如對象a和對象b是對象c兩個組成部分,則把對象a和對象b稱為部分對象,對象c是整體對象,對象a、b、c之間關(guān)系形成整體——部分結(jié)構(gòu)。表現(xiàn)形式:——物理上整體事物和它一個部分——組織結(jié)構(gòu)與它下級組織或部門——團體與組員——空間上包容關(guān)系——抽象事物整體與部分——詳細事物和它某個抽象方面②

尋找整體——部分結(jié)構(gòu):總裝和零件、容器與內(nèi)容物、組織和組員——物理上整體事物和它組成部分——組織機構(gòu)和它下級組織及部分——團體與組員——一個事物在空間上包容其它事物——抽象事物整體與部分——詳細事物和它某個抽象方面③

篩選所標識整體——部分結(jié)構(gòu)——是否屬于問題域——是否是系統(tǒng)責任需要——部分對象是否有一個以上屬性——是否有顯著整體——部分關(guān)系3、標識實例連接用于表示對象之間靜態(tài)聯(lián)絡(luò)。靜態(tài)聯(lián)絡(luò)指最終經(jīng)過對象屬性表示一個對象對另一個對象依賴關(guān)系。怎樣建立實例連接——認識對象之間靜態(tài)聯(lián)絡(luò)——認識實例連接屬性與操作——分析實例連接多重性命名與定位動詞或動賓結(jié)構(gòu)實例連接定位:當連接線某一端是一個普通——特殊結(jié)構(gòu)時,要考慮連接線畫到結(jié)構(gòu)中哪個類符號上。假如實例連接適應結(jié)構(gòu)中每一個類對象,則畫到普通類上,假如只適應其中一些特殊類,則畫到對應特殊類上。4、標識消息連接A、次序系統(tǒng)中消息次序系統(tǒng)中一切操作都是次序執(zhí)行。次序系統(tǒng)中消息特點:——每個消息都是向?qū)ο蟀l(fā)出一個服務(wù)請求,它必定引發(fā)接收者一個服務(wù)執(zhí)行——除主動對象唯一主動服務(wù)之外,其它對象服務(wù)只有在接收到消息時才開始執(zhí)行——每個消息發(fā)送與接收都是同時進行,消息是同時——消息是從正在執(zhí)行服務(wù)中發(fā)出。全部操作都是串行。B、并發(fā)系統(tǒng)中消息并發(fā)系統(tǒng)是有多個任務(wù)并發(fā)執(zhí)行系統(tǒng)。C、怎樣建立消息連接——建立控制線程內(nèi)部消息連接(考慮為了完成當前工作,需要請求其它對象(或本對象)提供什么服務(wù)。)——建立控制線程之間消息連接例:習題管理系統(tǒng)第三節(jié)

OOD一、OOD系統(tǒng)模型:問題空間(PD)、人機交互(HI)、任務(wù)管理(TM)和數(shù)據(jù)管理(DM)。二、PD設(shè)計1、

建立OOD模型初始PD部分2、

修改——增補初始PD部分現(xiàn)實條件對問題域部分影響1、編程語言(不支持一些面向?qū)ο蟾拍钆c標準;對象細節(jié)推遲到OOD階段定義)2、硬件、操作系統(tǒng)及網(wǎng)絡(luò)設(shè)施3、復用支持4、數(shù)據(jù)管理系統(tǒng)5、界面支持系統(tǒng)設(shè)計內(nèi)容及策略1、針對編程語言支持能力調(diào)整A、對繼承調(diào)整——簡單轉(zhuǎn)換——重新定義對象類——保持分類,剝離多繼承信息B、對多態(tài)性調(diào)整2、增加普通類,提供共同協(xié)議3、為實現(xiàn)復用采取設(shè)計策略——直接復用——刪除可復用類多出信息——經(jīng)過繼承復用——刪除多出信息,經(jīng)過繼承復用4、提升性能(數(shù)據(jù)傳輸時間、存取時間、處理時間)——調(diào)整對象分布——縮短對象存取時間——合并消息頻繁類——增加屬性以降低重復計算——降低算法計算復雜性——細化對象分類——將復雜對象化為整體——部分結(jié)構(gòu)映射方式OOA類OOD類1=11TOMMTO1MTOM0TO1建立與OOA文檔映射表

三、HI設(shè)計1、分析與系統(tǒng)交互人2、從usecase分析人機交互收款員·收款輸入開始此次收款命令;作好收款準備,應收款總數(shù)置為0,輸出提醒信息;FOR用戶選購每種商品DO

輸入商品編號;

IF此種商品多于一件THEN

輸入商品數(shù)量

ENDIF

檢索商品名稱及單價;貨架商品數(shù)減去售出數(shù):IF貨架商品數(shù)低于下限值THEN

通知供貨員請求上貨ENDIF計算本種商品總價并打印編號、名稱、數(shù)量、單價、總價;總價累加到應收款總數(shù);ENDFOR打印應收款總數(shù);輸入用戶交來款數(shù);計算應找回款數(shù),打印以上兩個數(shù)目,收款數(shù)計入帳冊。“收款員·收款”usecase人機交互描述收款員·收款(人機交互)輸入開始此次收款命令;輸出提醒信息;FOR用戶選購每種商品DO

輸入商品編號;

IF此種商品多于一件THEN

輸入商品數(shù)量

ENDIF

打印商品編號、名稱、數(shù)量、單價、總價;ENDFOR打印應收款總數(shù);輸入用戶交來款數(shù);打印交款數(shù)及找回款數(shù)設(shè)計過程和策略1、選擇和掌握界面支持系統(tǒng)2、依據(jù)人機交互需求選擇界面元素3、用OO概念表示界面元素A、對象和類(每一個詳細界面元素都是一個對象)B、屬性和服務(wù)——屬性用于描述界面元素各種靜態(tài)特征,如位置、尺寸、顏色、分辨率、立體效果等物理特征;狀態(tài)、內(nèi)容等邏輯特征;一個界面對象所含有部分對象。——服務(wù)表示界面元素各項操作,如窗口創(chuàng)建、激活、最大化、最小化、移動、按紐單擊、雙擊,菜單顯示、隱藏等。C、整體——部分結(jié)構(gòu)——在圖形結(jié)構(gòu)上含有組成關(guān)系界面元素之間用整體——部分結(jié)構(gòu)表示——用整體——部分結(jié)構(gòu)表示一些界面對象在操作中邏輯層次D、普通——特殊結(jié)構(gòu)E、關(guān)聯(lián),一個類界面對象需要知道它與另一個類哪個界面對象相聯(lián)絡(luò)F、消息連接——從命令輸入到命令處理——系統(tǒng)向用戶輸出信息四、TM設(shè)計控制驅(qū)動部分是OOD模型中外圍組成部分,由系統(tǒng)中全部主動類組成。1、確定系統(tǒng)分布方案對象分布——按功效決定——按數(shù)據(jù)決定類分布——在一個節(jié)點上創(chuàng)建一個類對象實例——在多個節(jié)點上創(chuàng)建一個類對象實例類圖劃分——把每個節(jié)點上主題看成一個獨立子系統(tǒng),用一個完整類圖表示——把每個節(jié)點主題看成是在整個系統(tǒng)類圖上劃分出來一個局部。五、DM設(shè)計數(shù)據(jù)接口部分是OOD模型中負責與詳細數(shù)據(jù)管理系統(tǒng)銜接外圍組成部分,為系統(tǒng)中需要長久存放對象提供了在選定數(shù)據(jù)管理系統(tǒng)中進行數(shù)據(jù)存放與恢復功效。一、針對文件系統(tǒng)設(shè)計1、對象在內(nèi)存空間和文件空間映射2、對象存放策略:把由每個類直接定義,并需要永久存放全部對象實例,存放在一個文件中;其中每個對象實例全部屬性作為一個存放單元,占用該文件一個統(tǒng)計。3、設(shè)計數(shù)據(jù)接口部分對象類一個最主要對象類是為全部其它對象提供基本保留與恢復功效對象類。4、問題域部分修改問題域部分對象經(jīng)過請求數(shù)據(jù)接口部分提供服務(wù)實現(xiàn)對象保留與恢復。為了實現(xiàn)這種請求,這些對象類需要增加一些屬性和服務(wù)。針對RDBMS設(shè)計1、對象及其對數(shù)據(jù)庫使用2、對象存放策略把由每個類直接定義并需要永久存放全部對象實例存放在一個數(shù)據(jù)庫表中。類——表,經(jīng)過規(guī)范化之后類每個屬性對應數(shù)據(jù)庫表一個屬性,類每個對象實例對應數(shù)據(jù)庫表中一個元組。3、數(shù)據(jù)接口部分對象類設(shè)計和問題域部分修改第四節(jié)

實例錄像商店信息系統(tǒng)一、尋找對象依據(jù)自己在錄像商店租電影錄像帶親身經(jīng)歷,討論問題域?qū)ο蟪醺澹蜻x對象清單:會員、用戶、電影、報表、優(yōu)惠、銷售、游戲、庫存、錄像機出租、電影出租、雇員、獎勵計劃、銷售點終端、交易、營銷、爆米花、價格、地點、會計、廣告、日常開支、工資單第二稿,對象清單:電影(錄像帶)、游戲(游戲)、優(yōu)惠(優(yōu)惠項)、錄像機出租(錄像機)、交易(出售交易、出租交易)、會員(會員)、雇員(雇員)、地點(商店地址)、廠商、采購訂單二、尋找屬性屬性數(shù)據(jù)詞典:屬性類定義/規(guī)則條碼號庫存交易最多12個字符信用卡到期日期會員月/年信用卡號會員最多19個字符成本庫存范圍0——999.99押金數(shù)額會員最少25美圓,最多200美圓描述庫存40字符得到候選類:錄像帶、游戲、優(yōu)惠項、錄像機、出售交易、出租交易、會員、雇員、商店地址、廠商、采購訂單

三、尋找對象模式抽象,通用——特定

溫馨提示

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

評論

0/150

提交評論