面向?qū)ο蟮南到y(tǒng)分析課件_第1頁
面向?qū)ο蟮南到y(tǒng)分析課件_第2頁
面向?qū)ο蟮南到y(tǒng)分析課件_第3頁
面向?qū)ο蟮南到y(tǒng)分析課件_第4頁
面向?qū)ο蟮南到y(tǒng)分析課件_第5頁
已閱讀5頁,還剩69頁未讀 繼續(xù)免費閱讀

付費下載

下載本文檔

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

文檔簡介

第10章

面向?qū)ο蟮南到y(tǒng)分析1OOA任務(wù):以面向?qū)ο蟮挠^點和方法描述系統(tǒng)或產(chǎn)品,以使它符合面向?qū)ο筌浖こ痰奶攸c。系統(tǒng)分析的原則:①信息域建模;②描述模塊的功能;③表示模塊行為;④劃分模塊,取得更多的細節(jié);⑤早期模型表示本質(zhì),后期模型提供細節(jié)。OOA的過程:①和用戶交互②標識類(定義屬性和操作)③規(guī)定類層次④確定對象之間關(guān)系⑤為對象行為建模2領(lǐng)域分析OOA分析的屬過程和部件OOA過程對象行為模型310.1

領(lǐng)域分析目的:為了既滿足現(xiàn)行系統(tǒng)開發(fā)的需求,又能滿足將來同類系統(tǒng)的開發(fā)。OOA分析級別:①事務(wù)級(企業(yè)級):為整個企業(yè)建立模型,定義特定事務(wù)領(lǐng)域的對象模型;②領(lǐng)域級:為一個特定應(yīng)用領(lǐng)域建立模型,定義該應(yīng)用領(lǐng)域的對象模型。③應(yīng)用級:為一個應(yīng)用的特定用戶需求建立模型。410.1.1

再使用和領(lǐng)域分析面向?qū)ο蠹夹g(shù)是由再使用庫支持的;再使用庫將使快速開發(fā)低成本、高可靠性的產(chǎn)品;

3)建立再使用庫須進行領(lǐng)域分析。510.1.2

領(lǐng)域分析過程領(lǐng)域分析的任務(wù)①標識出應(yīng)用領(lǐng)域中的公共需求;②面向?qū)ο蟮念I(lǐng)域分析:公共對象,類等再使用部件。領(lǐng)域分析的過程⑴對于要分析的領(lǐng)域抽?。篛O項:規(guī)范、設(shè)計、支持類非OO項:計劃、標準6⑵歸類這些項成為范疇,定義范疇特征,分類方式和項的命名約定(即確定組織方式);⑶收集有代表性的應(yīng)用(提取實際的或概念上的對象);⑷分析每個應(yīng)用步驟(含有已有范疇的項)①標識可再使用對象(侯選)②指明可再使用原因③對侯選再使用對象進行整修④估計在本領(lǐng)域中該對象應(yīng)用的百分比7⑤命名該對象,用CM進行管理⑥估計再使用對象集合的應(yīng)用百分比⑦為這些對象開發(fā)分析模型3)領(lǐng)域分析的利益使用非常高百分比的再使用部件,構(gòu)造本領(lǐng)域的軟件,低成本,高質(zhì)量和快速進入市場。810.2

OOA分析的屬過程和部件一般分析過程屬部件(用于OOA)910.2.1

一般分析過程獲取客戶需求標識使用案例建立需求模型(CRC)選擇類和對象標識對象屬性和操作組織類的層次建立對象關(guān)系模型建立對象行為模型審查分析模型1010.2.2

屬部件(用于OOA)靜態(tài)部件:表明了對象的特征動態(tài)部件:控制、定時和事件處理類的靜態(tài)視圖:表示系統(tǒng)中存在的對象屬性靜態(tài)視圖:表示對象的屬性關(guān)系的靜態(tài)視圖:確定對象之間關(guān)系,相互操作和消息格式設(shè)計。行為動態(tài)視圖:規(guī)定操作的時間序列11通訊的動態(tài)視圖:發(fā)送消息的時間序列控制和定時的動態(tài)視圖:描述引起狀態(tài)變化事件的本質(zhì)與定時。這些部件構(gòu)成了分析模型。1210.3

OOA過程使用案例類—責任—協(xié)作者模型定義結(jié)構(gòu)和層次定義系統(tǒng)和子系統(tǒng)對象聯(lián)系模型1310.3.1

使用案例描述目標系統(tǒng)的一種使用情況。角色使用案例作用使用案例圖示使用案例描述(事件流方法)141)角色和系統(tǒng)通訊并外部于系統(tǒng)的任何事物(人、設(shè)備)。特點:①一個角色代表一類外部實體②僅起一個作用主要角色:直接并經(jīng)常和系統(tǒng)相互作用。

次要角色:支持系統(tǒng),使主要角色起作用。152)使用案例作用描述了角色與系統(tǒng)的相互作用方式。①角色執(zhí)行的主要任務(wù)②角色輸入系統(tǒng)的數(shù)據(jù)③角色得自系統(tǒng)的信息例:房屋安全系統(tǒng)角色:房主、傳感器、控制板房主使用案例:(相互作用方式)16設(shè)置和修改口令查詢安全部位狀態(tài)查詢傳感器狀態(tài)按緊急按鈕激活與停止系統(tǒng)173)使用案例圖示⑴圖例::角色:通訊:使用或擴展⑵表示關(guān)系:①通訊關(guān)系:角色與案例之間②使用關(guān)系:案例與案例之間,把公用功能孤立出來,形成被使用案例(再使用)18③擴展關(guān)系:案例與案例間,表明了特殊性和深入內(nèi)容。⑶例:19處理口令應(yīng)急處理激活系統(tǒng)房主停止系統(tǒng)查詢安全狀態(tài)查詢傳感器圖10.2房主使用案例處理口令應(yīng)急處理停止系統(tǒng)查詢安全狀態(tài)激活系統(tǒng)房主驗證口令查詢傳感器圖10.3使用關(guān)系的框圖20客戶取款展擴使用提前取款驗證口令圖10.4使用擴展關(guān)系的框圖214)使用案例描述(事件流方法)⑴格式:使用案例名稱簡要說明:前提條件:執(zhí)行案例的前提條件主要事件流:案例正常流程其它事件流:案例非正常流程錯誤事件流:出錯事件事后條件:事件后的結(jié)果⑵例:P22222使用案例名稱:激活系統(tǒng)簡要說明:房主使用控制面板激活系統(tǒng)前提條件:系統(tǒng)準備號,準備好指示燈亮.主要事件流A0:房主使用數(shù)字鍵輸入4位數(shù)字口令,該口令和系統(tǒng)內(nèi)存儲的口令比較,若正確,控制面板等待下一個命令;否則執(zhí)行事件流A1.房主選擇stay或away命令激活系統(tǒng).Stay激活房間周邊傳感器;away激活所有的傳感器.若激活成功,紅色指示燈亮;否則執(zhí)行事件流

E1.結(jié)束使用案例.23其他事件流A1:(1)控制面板響鈴一次.(2)系統(tǒng)復(fù)位.(3)執(zhí)行事件流A0.錯誤事件流E1:(1)控制面板顯示系統(tǒng)出錯.(2)結(jié)束使用案例.2410.3.2

類—責任—協(xié)作者模型類—責任—協(xié)作者模型:用于描述用戶的需求,標出對象和類。構(gòu)成:CRC卡片,頂部:類名,中左部:責任,中右部:協(xié)作者。類責任協(xié)作者251)類⑴確定:使用選擇特征①持有信息②有需要的服務(wù)③多個屬性④具有公共屬性(對所有對象)⑤公共操作(對所有對象實例)⑥產(chǎn)生需要信息26⑵類型:如設(shè)備(外部實體),相互作用類(學生成績)⑶特征:如有形的、原子的、并發(fā)的…⑷CRC卡片:類名:類的類型:(如設(shè)備、性質(zhì)、作用、事件…)類的特征:(如有形、原子的、并發(fā)的…)責任:協(xié)作:圖10.5

CRC卡片272)責任:指類的屬性及其操作。分配責任的指導(dǎo)原則:⑴系統(tǒng)的智能應(yīng)均勻分布:內(nèi)聚改善,修改容易。①責任表太長,表示不均勻,分裂成新類②責任抽象級別應(yīng)相同.例Control-panel責任:讀入口令和顯示字符28⑵每個責任盡量具有一般性,位于類層次頂層,便于應(yīng)用多態(tài)性⑶信息與其相關(guān)責任駐在同一類中—封裝性⑷單一對象的信息與行為局部于單一類中,不應(yīng)跨多個類⑸適當情況下,類間共享責任:通過繼承一個公共超類293)協(xié)作者類能和其它對象協(xié)作完成其責任。⑴定義:一個對象向另一對象發(fā)消息,則發(fā)生了協(xié)作。接收消息的對象稱為協(xié)作者。⑵Control-panel對象的責任:確定傳感器狀態(tài),為取得傳感器信息,必須有傳感器協(xié)作。3010.3.3

定義結(jié)構(gòu)和層次概化和特化關(guān)系進一步討論整體—部分關(guān)系的進一步討論311)概化和特化關(guān)系進一步討論⑴需要該模型原因①緊密地聯(lián)系于面向?qū)ο蟪绦蛟O(shè)計中的繼承;②將類似的類聯(lián)系起來,簡化問題域的描述;③該模型有效地描述了問題域中特定對象關(guān)系;④方便了通訊與理解問題域32⑵概化和特化的情況①多層次特化;學生碩士研究生研究生博士研究生多層概化/特化例子圖33②多路繼承人員學生教師教師學生圖10.7多路繼承34⑶建立模型方式①自頂向下特化:由超類特化成子類ⅰ增加子類的屬性和操作

ⅱ轉(zhuǎn)載某些屬性或操作②自底向上概化:將公共屬性與操作置于超類之中⑷超類的例化問題①超類為無對象類:當子類中所有子類的并集等于超類集合35②超類為有對象類:當子類中所有子類的并集是超類集合的子集例:對于人員的模型,如果需要工人等對象,則需從人員類中例化。⑸模型讀方式從下向上讀為…是一個…或…是一種…例:教師是一種人員362)整體—部分關(guān)系的進一步討論⑴需要該模型的原因①準確描述客觀(問題域)世界中某些對象之間關(guān)系②對復(fù)雜問題抽象的強有力工具一個復(fù)雜的系統(tǒng)由許多復(fù)雜對象組成,而復(fù)雜對象是由簡單對象組成。③通訊問題域工具37⑵整體—部分關(guān)系的種類①部件與零件:例控制面板與鍵盤、屏幕等。

顯示屏

鍵盤

指示燈△

△1

1

11控制面板1

2圖10.8控制面板的組成38②容器與包含物:辦公室與桌子、書架等辦公室△1-n1△1圖10.9整體—部分關(guān)系的約束

桌子

電話

書架

文件柜△1△139121③群體與成員:職業(yè)學會與其成員、IFAC與其成員⑶關(guān)系約束與表達方式①用三角形表示整體部分關(guān)系,尖指向整體側(cè);②整體側(cè)數(shù)字表示零件、成員個數(shù);部分數(shù)字表示整體個數(shù);③約束值:單個數(shù)或數(shù)對0~n,1~n。40⑷復(fù)雜對象的行為①表明了高級行為②由低級部分的行為構(gòu)成③例:控制面板應(yīng)有行為ⅰ接收命令,由鍵盤實現(xiàn)ⅱ顯示狀態(tài),由顯示屏實現(xiàn)⑸程序框架41class

class_A{publicclass_A(

);~class_A(

);private:*the_class_B[5];*the_class_C[4];class_Bclass_C……}

Class_A

Class_C

Class_B115△4△42class

class_Bclass

class_C{{public:public:class_B();class_B();~class_C();~class_C();……}}4310.3.4

定義系統(tǒng)和子系統(tǒng)子系統(tǒng)子系統(tǒng)內(nèi)含子系統(tǒng)的圖示復(fù)雜系統(tǒng)的主題表示44子系統(tǒng)一些類相互作用,完成一組緊密相關(guān)的責任。子系統(tǒng)內(nèi)含①子系統(tǒng)的責任:完成的功能②子系統(tǒng)的契約:接口規(guī)定③子系統(tǒng)的協(xié)作者:與其它子系統(tǒng)關(guān)系453)子系統(tǒng)的圖示⑴對于復(fù)雜結(jié)構(gòu)的抽象表示(見圖10.12)⑵表示方式:矩形,其內(nèi)注明結(jié)構(gòu)名字4)復(fù)雜系統(tǒng)的主題表示1.控制面板4.傳感器3.

傳感器事件5.聲音警報2.系統(tǒng)圖10.13

OOA模型中的主題參考圖46

控制面板

顯示區(qū)

指示燈

報文顯示

圖顯示

功能鍵

數(shù)字鍵

△△△△△△△△1.控制面板主題參考

LCD顯示圖10.12主題參數(shù)4710.3.5

對象聯(lián)系模型對象聯(lián)系:表示對象間的關(guān)系⑴一個對象知道另一種對象⑵一個對象知道多少個另一種對象⑶一個對象的存在必須有多少對應(yīng)的對象存在⑷與E_R圖的區(qū)別①E_R圖僅表示數(shù)量的對應(yīng)②對象聯(lián)系除表示數(shù)量的對應(yīng)外加相互作用481)相互作用類型的對象聯(lián)系(單向作用)代碼框架class

系統(tǒng){public:系統(tǒng)(

);~系統(tǒng)(

);private:控制面板

*控制面板地址…}控制面板

統(tǒng)

含有49class

控制面板{public:控制面板(

);~控制面板(

);…}502)事務(wù)類型的相互聯(lián)系(雙向聯(lián)系)實現(xiàn)上:一個對象中應(yīng)有指向另一對象的指針①參與者——事務(wù)模板例如:學生——注冊約束基數(shù)的意義:一個學生可注冊0次或多次,而一個注冊只能由一個學生進行②事務(wù)——地方模板表示事務(wù)發(fā)生的地方,例:繳費與繳費地方③參與者——地方模板例如:學生與學院51出納窗口繳注冊費0-n1學生注冊0-n1學生學院10-n圖10.15參與者—事務(wù)模板圖10.16地方—事務(wù)模板圖10.18參與者--地方模板繳注冊費1-n521

注冊費細目圖10.19事務(wù)—事務(wù)細目模板注冊費項目0-n1

注冊費細目T3—保險費T3--學費

T2--實驗費T2--學費T1—保險費

T1-學費事務(wù)細目實驗費體檢費保險費學費項目圖10.20項目—事務(wù)細目模板53④事務(wù)——事務(wù)細目模板

例:注冊費與注冊費細節(jié)⑤項目——事務(wù)細目模板例:注冊費項目與注冊費細目(每項目的交費者)⑥對等聯(lián)系:聯(lián)系同一類中不同的對象

m-n1

543)雙向多對多聯(lián)系

1-n0-n

1-n0-n學生課程學期11變換成成績55原因:學期和成績既不屬于學生又不屬于課程①若歸入學生類,則求每門課程平均分困難;②若歸入課程類,則求每個學生的平均分困難。以上這些關(guān)系可構(gòu)成OOA的對象關(guān)系模型。5610.4

對象行為模型對象的服務(wù)對象行為表示5710.4.1

對象的服務(wù)業(yè)務(wù)政策和過程服務(wù)類型發(fā)現(xiàn)和標識服務(wù)581)業(yè)務(wù)政策和過程①業(yè)務(wù)政策:某項業(yè)務(wù)活動的原則性規(guī)定例如:研究生在修滿32學分后可開始論文工作②業(yè)務(wù)過程:是業(yè)務(wù)政策的具體地形式化的描述例如:學分≧32∧修課

必修課③業(yè)務(wù)政策和過程是確定服務(wù)的基礎(chǔ)592)服務(wù)類型⑴基本服務(wù)①生成對象與取消對象(構(gòu)造與折構(gòu)函數(shù))生成對象時,通常屬性值為空(除非構(gòu)造函數(shù)設(shè)定值)?設(shè)定與取得操作(SET和GET)為對象設(shè)定屬性值或取得屬性值③增加或消去聯(lián)系把一個對象聯(lián)接到另一個對象上或者反之60足球隊排球隊學生體育隊屬性服務(wù)王平張林李林趙立

體育隊成員屬性服務(wù)(a)ADD(學生體育隊=“足球隊”,體育隊成員=“王平”)圖10.22增加和消去聯(lián)系服務(wù)例子61足球隊排球隊王平張林李林趙立體育隊成員體育隊成員屬性服務(wù)屬性服務(wù)(b)

REMOVE(學生體育隊=“排球隊”,體育隊成員=“張林”)圖10.22增加和消去聯(lián)系服務(wù)例子62④搜索查詢一個對象操作對于數(shù)據(jù)存貯在關(guān)系庫中的實現(xiàn)方式:

首先生成一個對象,發(fā)查詢消息給該對象,然后由其方法查詢數(shù)據(jù)庫,取得值后,再設(shè)置對象的屬性值。⑵問題域的特定報務(wù)對汽車租賃系統(tǒng)中的問題:例1汽車類的問題,計算里程和費用:計算里程:里程=結(jié)束里程-起始里程計算費用:費用=價格/公里×里程63汽車起始里程結(jié)束里程返還日期計算里程計算費用查返還日報表統(tǒng)計超期車輛64例2:

報表類的問題,統(tǒng)計超期車輛服務(wù)3)發(fā)現(xiàn)和標識服務(wù)⑴由事件標識服務(wù):對象能生成事件或識別事件,識別事件的對象提供服務(wù)??疾旒せ钕到y(tǒng)案例的事件(有下劃線的句子),對控制板可發(fā)現(xiàn)下列操作:①接收口令②接收命令③比較口令④點亮指示燈⑤響鈴⑥顯示出錯報文65使用案例名稱:激活系統(tǒng)簡要說明:房主使用控制面板激活系統(tǒng)前提條件:系統(tǒng)準備號,準備好指示燈亮.主要事件流A0:房主使用數(shù)字鍵輸入4位數(shù)字口令,該口令和系統(tǒng)內(nèi)存儲的口令比較,若正確,控制面板等待下一個命令;否則執(zhí)行事件流A1.房主選擇stay或away命令激活系統(tǒng).Stay激活房間周邊傳感器;away激活所有的傳感器.若激活成功,紅色指示燈亮;否則執(zhí)行事件流

E1.結(jié)束使用案例.66其他事件流A1:(1)控制面板響鈴一次.(2)系統(tǒng)復(fù)位.(3)執(zhí)行事件流A0.錯誤事件流E1:(1)控制面板顯示系統(tǒng)出錯.(2)結(jié)束使用案例.67⑵由類狀態(tài)標識服務(wù):對于教

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論