uml類圖教案公開課一等獎課件省課獲獎課件_第1頁
uml類圖教案公開課一等獎課件省課獲獎課件_第2頁
uml類圖教案公開課一等獎課件省課獲獎課件_第3頁
uml類圖教案公開課一等獎課件省課獲獎課件_第4頁
uml類圖教案公開課一等獎課件省課獲獎課件_第5頁
已閱讀5頁,還剩99頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

Copyright2023ByNeusoftGroup.AllrightsreservedUML建?;A

——類圖第1頁一、類圖

類圖是面向對象系統(tǒng)建模最常用圖,類圖描述了類、接口以及它們之間關系。類圖用來為系統(tǒng)靜態(tài)設計視建模。類圖組成部分包括:類。接口。依賴、類屬、實現(xiàn)或關聯(lián)關系。類圖還能夠具有注釋、約束、包或子系統(tǒng)。第2頁第3頁第4頁第5頁1.1類構造概念對一組具有相同屬性、操作、關系和語義對象描述一種對象是一種類實例包括:名稱(name)屬性(attributes)操作(operations)第6頁

UML中,描述一種屬性語法如下:

visibilityattribute-name[multiplicity]:type=initial-value可見性屬性名[多重性]:類型[=初始值]

屬性描述第7頁符號種類語義+Public(公共)任何能看到這個類類都能看到該屬性#Protected(受保護)這個類或者它任何子孫類都能看到該屬性

Private(私有)只有這個類本身能看到該屬性

Package(包)在同一種包中任何類能看到該屬性可見性visibility第8頁RationalRose中表達:公私第9頁屬性初始值設置:能夠通過在屬性名稱和數(shù)據(jù)類型之后添加等于號(=)來為屬性指定默認值,如下列圖所示。第10頁屬性多重性:多重性為可選項,它體現(xiàn)該類每個實例屬性值個數(shù)。能夠像應用于類之間關系中那樣把多重性應用于屬性。[0..1],[1],[*]([0..*]),[1..*],[1..3]例如,Student類具有屬性Grades。不希望該屬性只包括單個值,而是希望它包括該學生所有成績,能夠是任意多種。第11頁

數(shù)據(jù)類型能夠是任何顧客需要內(nèi)容,包括:來自程序設計語言如VisualBasic、C++、C#和Java任何標準數(shù)據(jù)類型。

屬性類型表達:冒號“:”后跟屬性值數(shù)據(jù)類型。數(shù)據(jù)類型表達依賴于實現(xiàn)語言,如有程序設計語言要求浮點數(shù)用保存字“Float”表達,有則要求用保存字“Real”表達。第12頁定義為類屬性(staticattibute),用下劃線指明maxCount:Integer=0jobID:Integercreate(){jobID=maxCount++}schedule()Job類屬性實例屬性類操作實例操作第13頁UML中描述一種操作語法如下:

Visibility

operating-name(parameter-list):return-type

參數(shù)表

parameter-name:typemultiplicity=default-value

操作描述第14頁

操作(Operation)表達類能夠提供功能服務。它在UML類矩形框中用文字串說明,如下列圖所示。

操作名批示類可提供功能服務,它后跟圓括號中參數(shù)列表是可選項,即一種操作能夠有參數(shù),也能夠沒有參數(shù)。參數(shù)列表由逗號分隔操作形式參數(shù)組成,其格式為:參數(shù)名:類型=缺省值,…第15頁Student類返回列表是返回給調(diào)用者單個變量值,它能夠表達該操作程序運行一種成功標志或者計算值。第16頁邊界類(Boundaryclass)接口與系統(tǒng)外部某些事物媒介控制類(ControlClass)負責協(xié)調(diào)用例行為實體類(EntityClass)

封裝了數(shù)據(jù)以及數(shù)據(jù)有關操作1.2類分類第17頁(1)邊界類邊界類幫助系統(tǒng)接口與系統(tǒng)外部進行交互。邊界對象將系統(tǒng)與其外部環(huán)境變更(與其他系統(tǒng)接口變更、顧客需求變更等)分隔開,使這些變更不會對系統(tǒng)其他部分造成影響分類顧客接口類幫助與顧客進行通信類,通過標準I/O設備提供人機界面系統(tǒng)接口類幫助與其他系統(tǒng)進行通信類,系統(tǒng)接口對象隱藏如何與外部接口通信細節(jié)設備接口類或Timer提供對硬件設備軟件接口第18頁-19-示例:識別邊界類每對參與者/用例定義一種邊界類第19頁

(2)控制類本身不完成任何功能,負責協(xié)調(diào)其他類工作控制類并不能處理用例需要執(zhí)行一切事務。相反,它協(xié)調(diào)其他用例實行此功能對象活動??刂祁悓⒐ぷ魑山o已被指定負責此項功能對象。控制類一般被當作一種樂隊指揮,它指揮(控制)參與usecase其他對象行為,通知對象什么時候執(zhí)行以及執(zhí)行什么。一般一種usecase會對應一種(或多種)控制類,來控制usecase任務流程第20頁-21-示例:識別控制類一般,每個用例定義一種控制類伴隨分析繼續(xù),一種復雜用例控制類能夠發(fā)展為多種第21頁第22頁

(3)實體類是系統(tǒng)中要永久保存邏輯數(shù)據(jù)構造。一般代表系統(tǒng)中信息存放對應于系統(tǒng)中名詞有時Actor也可作為實體類第23頁2識別對象和類類和對象識別類識別貫通于整個系統(tǒng)分析、實現(xiàn)過程中:分析階段主要是識別問題域有關類;設計階段需要加入某些反應設計思想、辦法類以及其他某些實現(xiàn)問題域所需類;編碼階段,加入某些編程語言有關類。類識別某些辦法

名詞識別法,根據(jù)用例確定類,CRC分析法,根據(jù)邊界類、控制類、實體類幫助識別系統(tǒng)中類、對領域進行分析,利用領域分析成果確定類。UML和設計模式24第24頁(1)名詞識別法根據(jù)系統(tǒng)問題域中概念和命名,從系統(tǒng)描述中名詞及名詞性短語中尋找。這些名詞往往能夠標識為對象或類。UML和設計模式25第25頁(2)根據(jù)用例確定類針對每一種用例,回答如下問題來輔助識別類:用例描述中出現(xiàn)了哪些實體?用例完成需要哪些實體合作?用例執(zhí)行過程中會產(chǎn)生并存放哪些信息?用例要求與之關聯(lián)每個角色輸入是什么?用例反饋給與之關聯(lián)每個角色輸出是什么?用例需要操作哪些硬件設備?UML和設計模式26第26頁

不關懷系統(tǒng)運作流程及實體之間通信狀態(tài),而只考慮系統(tǒng)中人員、組織、地點、表格、報告等實體,通過度析將他們識別為類(或對象)。被標識實體有:系統(tǒng)需要存放、分析、處理信息實體;系統(tǒng)內(nèi)部需要處理設備;與系統(tǒng)交互外部系統(tǒng);系統(tǒng)有關人員;系統(tǒng)組織實體。(3).系統(tǒng)實體識別法第27頁例:有一種購物超市,顧客可在貨架上自由挑選商品,由收款機收款,收款機讀取商品上條型碼標簽,并計算商品價格。收款機應保存所有交易統(tǒng)計,以備帳務復查及匯總使用。通過度析問題陳說,確定下列幾類實體:⑴信息實體:交易統(tǒng)計、商品、稅務信息、銷售統(tǒng)計、貨存統(tǒng)計。⑵設備:收款機、條型碼掃描器。⑶交互系統(tǒng):信用卡付款系統(tǒng)。⑷人員職責:收款員、顧客、會計、經(jīng)理。以上列出實體,都能夠直接識別為類。第28頁名詞識別法

有關類:有關類是指那些顯著屬于問題域類,一般表達這些類名字名詞經(jīng)常出目前需求陳說中。含糊類:那些我們不能肯定地和無二義性地分類為有關類類。我們需要對它們深入進行分析后才能確定其是有關類還是屬性或者無關類。無關類:無關類是那些問題域之外類,我們無法陳說它們目標。有經(jīng)驗開發(fā)人員在他們候選類初始表中就不包括無關類,這樣識別和消除無關類步驟就能夠省略了。第29頁-30-識別實體類分析用例事件流中名詞、名詞短語找出系統(tǒng)所需實體對象,這些名詞也許是:對象、對象特性和狀態(tài)參與者、描述信息、系統(tǒng)之外從這些名詞、名詞短語中進行篩選,抽取出系統(tǒng)對象,并抽象成類綜合考慮在系統(tǒng)中意義、作用和職責對于所識別類進行命名第30頁-31-名詞篩選法識別實體類基本思緒:將用例文檔作為輸入,找出文檔中名詞或名詞性短語,形成了實體類初始候選列表合并那些含義相同名詞刪除那些系統(tǒng)不需要處理名詞刪除作為參與者名詞刪除與實現(xiàn)有關名詞刪除那些作為其他實體類屬性名詞對剩下名詞,綜合考慮它在目前用例以及整個系統(tǒng)中含義、作用以及職責,并基于此確定合適名字,作為初始實體類存在第31頁-32-實體類其他起源除了用例文檔之外,從與顧客和專家進行訪談中得到信息,也可作為實體類起源系統(tǒng)原始需求書/問題描述該領域有關文獻、專家意見或個人知識過去類似系統(tǒng)在背面職責分派中也許識別某些新實體類實體類命名要用該領域中最經(jīng)常使用名稱第32頁

識別問題域中實體,實體描述一般用名詞、名詞短語、名詞性代詞形式出現(xiàn)。用指定語言對系統(tǒng)進行描述;從系統(tǒng)描述中標識名詞、名詞短語、名詞性代詞;識別確定(取、舍)類。描述過程應與領域專家共同合作完成,并遵循問題域中概念和命名。第33頁

識別問題域中實體,實體描述一般用名詞、名詞短語、名詞性代詞形式出現(xiàn)。用指定語言對系統(tǒng)進行描述;從系統(tǒng)描述中標識名詞、名詞短語、名詞性代詞;識別確定(取、舍)類。為了發(fā)覺對象和類,開發(fā)人員要在系統(tǒng)需求和系統(tǒng)分析文檔中查找名詞和名詞短語,包括:可感知事物、角色、事件、互相作用、人員、場所、組織、設備和地點等。第34頁

識別問題域中實體,實體描述一般用名詞、名詞短語、名詞性代詞形式出現(xiàn)。用指定語言對系統(tǒng)進行描述;從系統(tǒng)描述中標識名詞、名詞短語、名詞性代詞;識別確定(取、舍)類。根據(jù)下述標準深入確定類:①去掉冗余類:如兩個類表述同一信息,應保存最具有描述能力類。②去掉不相干類:刪除與問題無關或關系不大類。③刪除含糊類或性質(zhì)獨立性不強類:有些初始類邊界定義不確切,或范圍太廣,應當刪除。⑤所描述操作不宜作為對象類,所描述只是實現(xiàn)過程中臨時對象,應刪去。第35頁案例—銀行網(wǎng)絡系統(tǒng)

一、問題陳說

銀行網(wǎng)絡系統(tǒng)包括人工出納和分行共享自動出納機;各分理處用自己計算機處理業(yè)務(保存帳戶、處理事務等);各分理處與出納站通過網(wǎng)絡通信;出納站錄入帳戶和事務數(shù)據(jù)。自動出納機與分行計算機通信;自動出納機與顧客接口,接收鈔票卡;發(fā)放鈔票;打印收據(jù);分行計算機與撥款分理處結帳。要求系統(tǒng)正確處理同一帳戶并發(fā)訪問;網(wǎng)絡費用平均攤派給各分理處。第36頁ATM(AutoTradeMachine)銀行網(wǎng)絡系統(tǒng)包括人工出納和分行與分理處共享自動出納機。銀行網(wǎng)絡ATM系統(tǒng)自動出納機自動出納機自動出納機出納站分理處計算機分理處計算機出納站帳戶帳戶顧客分行計算機自動出納機…第37頁確定類采取名詞識別法:檢查問題陳說中所有名詞,得到初始類:軟件銀行網(wǎng)絡出納員分行系統(tǒng)自動出納機帳戶帳戶數(shù)據(jù)出納站分理處訪問分理處計算機

事務事務數(shù)據(jù)鈔票卡顧客顧客分行計算機鈔票收據(jù)費用安全措施統(tǒng)計保管根據(jù)下述標準深入確定類:①去掉冗余類:如兩個類表述同一信息,應保存最具有描述能力類,如“顧客”與“顧客”是反復描述,由于“顧客”更具有描述性,故保存它,刪除“顧客”。②去掉不相干類:刪除與問題無關或關系不大類,如“費用”。第38頁確定類采取名詞識別法:檢查問題陳說中所有名詞,得到初始類:軟件銀行網(wǎng)絡出納員分行系統(tǒng)自動出納機帳戶帳戶數(shù)據(jù)出納站分理處訪問分理處計算機

事務事務數(shù)據(jù)鈔票卡顧客顧客分行計算機鈔票收據(jù)費用安全措施統(tǒng)計保管③刪除含糊類:有些初始類邊界定義不確切,或范圍太廣,應當刪除。如“系統(tǒng)”、“安全措施”、“統(tǒng)計保管”、“銀行網(wǎng)絡”。④刪除那些性質(zhì)獨立性不強,而應當是類“屬性”候選類:如“帳戶數(shù)據(jù)”、“收據(jù)”、“鈔票”、“事務數(shù)據(jù)”。第39頁采取名詞識別法:檢查問題陳說中所有名詞,得到初始類:軟件銀行網(wǎng)絡出納員分行系統(tǒng)自動出納機帳戶帳戶數(shù)據(jù)出納站分理處訪問分理處計算機

事務事務數(shù)據(jù)鈔票卡顧客顧客分行計算機鈔票收據(jù)費用安全措施統(tǒng)計保管⑤所描述操作不宜作為對象類,并被其本身所操縱,所描述只是實現(xiàn)過程中臨時對象,應刪去。如“軟件”,“訪問”。確定類第40頁最后確定11個類為:

分行計算機分行出納站出納員分理處計算機自動出納機帳戶鈔票卡事務顧客采取名詞識別法:檢查問題陳說中所有名詞,得到初始類:軟件銀行網(wǎng)絡出納員分行系統(tǒng)自動出納機帳戶帳戶數(shù)據(jù)出納站分理處訪問分理處計算機

事務事務數(shù)據(jù)鈔票卡顧客顧客分行計算機鈔票收據(jù)費用安全措施統(tǒng)計保管確定類第41頁-42-從用例中識別分析類第42頁-43-實例-旅游申請系統(tǒng)中分析類第43頁(1)關聯(lián)(2)聚集和組合(3)泛化(4)依賴(5)實現(xiàn)3.類之間關系第44頁關聯(lián)(1).關聯(lián)定義

關聯(lián)(association):模型元素之間一種語義聯(lián)系,它是對具有共同構造特性、行為特性、關系和語義鏈描述。關聯(lián)能夠分為單向關聯(lián),雙向關聯(lián)。單向關聯(lián)雙向關聯(lián)第45頁關聯(lián)關系是指類之間語義聯(lián)系。關聯(lián)能夠具有如下特性:關聯(lián)名稱角色名稱多重性導航性第46頁①關聯(lián)名關聯(lián)名★假如關聯(lián)關系已經(jīng)清楚,就無需關聯(lián)名第47頁②關聯(lián)角色★

在關聯(lián)每一種端點上有一種角色。每一種角色具有一種名字,用來描述其類被其他類看作是什么:把它稱為角色名假如類名與角色名相同,則不標出角色名,類關系通過添加角色來深入豐富。在類圖中使用角色能夠幫助讀者理解第一種類對于第二個類作用。關聯(lián)角色第48頁

下列圖顯示了player類和Team類在關聯(lián)中分別扮演兩個角色。第49頁

③多重性(mutiplicity)用來批示一種類多少對象與另一種類一種對象有關。能夠在類關系任何一端添加多重性,來批示出多重性,如下列圖所示。第50頁

多重性是非負整數(shù)開集一種子集。另一端上多重性是指,對于本端一種對象,需要另一端對象個數(shù)。把多重性規(guī)約表達成由用逗號分開整數(shù)間隔序列組成字符串,間隔代表整數(shù)范圍(也許無限),其格式為:下限..上限其中下限和上限都是文字整型值,說明從下限到上限整數(shù)閉區(qū)間。另外星號(*)能夠用于上限,表白不限制上限。

假如多重性規(guī)約由單個(*)組成,那么它就表白了無窮非負正整數(shù)范圍,也即它等價于0..*。

第51頁AB有多少A對象與B一種對象有關有多少B對象與A一種對象有關??第52頁0,10:0或100..*:0到多種11..n:1到多*:0到多關聯(lián)角色關聯(lián)多重性在UML中,常用關聯(lián)多重性表達格式如下:0..10或111*0或多種885,7..105或7~10第53頁成績單11學生有一種系11..*專家工作系0..11專家系主任課程0..*0..*學生選修第54頁第55頁靜態(tài)構造模型:實體類類圖

第56頁第57頁讀圖過程讀出類:讀出關系:從圖中關系最復雜(也就是線最密集)類開始閱讀,本圖中最復雜就是Order類。

1)OrderItem和Order之間是組合關系,根據(jù)箭頭方向可知Order包括了OrderItem。

2)Order類和Customer、Consignee、DeliverOrder是關聯(lián)關系。也就是說,一種訂單和客戶、收貨人、送貨單是有關。第58頁讀圖過程多重性:用來說明關聯(lián)兩個類之間數(shù)量關系源類及多重性目標類及多重性分析Customer(1)Order(0…n)訂單是屬于某個客戶,網(wǎng)站客戶能夠有0個或多種訂單Order(1)Consignee(1)每個訂單只能夠有一種收貨人Order(1)OrderItem(1…n)訂單是由訂單項組成,最少要有一種訂單項,最多能夠有n個Order(1)DeliverOrder(1…n)一種訂單有一種或多種送貨單說明:系統(tǒng)根據(jù)訂單項產(chǎn)品所屬商戶,將其分發(fā)給商戶,拆成了多種送貨單!DeliverOrder(1)OrderItem(1…n)一張送貨單對應訂單中一到多種訂單項DeliverOrder(1)Consignee(1)每張送貨單都對應著一種收貨人Peddlery(1)DeliverOrder(0…n)每個商戶能夠有有關0個或多種送貨單OrderItem(1)Product(1)每個訂單項中都包括著唯一一種產(chǎn)品Peddlery(1)Prodcut(0…n)產(chǎn)品是屬于某個商戶,能夠注冊0到多種產(chǎn)品第59頁(一)、定義系統(tǒng)對象類定義過系統(tǒng)需求,就能夠根據(jù)系統(tǒng)需求來識別系統(tǒng)中所存在對象。系統(tǒng)對象識別能夠通過尋找系統(tǒng)域描述和需求描述中名詞來進行,從系統(tǒng)需求描述中能夠找到名詞有銀行(Bank)、帳戶(Account)、客戶(Customer)、資金(Funds),這些是對象圖中候選對象。第60頁(一)、定義系統(tǒng)對象類從上述分析可知,系統(tǒng)最少具有3個主要類:Bank、Account、Customer。在銀行中,對帳戶進行存錢、取錢、轉帳操作,要保存業(yè)務統(tǒng)計。因此在系統(tǒng)中還應有代表這些業(yè)務統(tǒng)計對象存在:存(Deposit)、取(Withdraw)、轉帳(Transfer),這三個類都是一種業(yè)務統(tǒng)計,故可抽象出父類:Transaction。接著需確定這些對象屬性和行為。第61頁類BankGUI系統(tǒng)主界面示例圖第62頁類QueryDialog帳戶查詢對話示例圖第63頁DWDialog界面(存款)示例圖第64頁DWDialog界面(取款)示例圖第65頁界面類AccountDialog示例圖1第66頁界面類AccountDialog示例圖2當按下主窗口“注銷帳戶”或“修改帳戶信息”按鈕時,對話框QueryDialog彈出,操作員填寫帳號并確定提交后,系統(tǒng)彈出對話框AccountDialog,顯示帳戶詳細信息。第67頁界面類AccountDialog示例圖3第68頁類TransferDialog示例圖第69頁銀行簡化系統(tǒng)類圖第70頁第71頁類A代碼:PublicclassA{publicBtheB;publicA(){}}類B代碼:PublicclassB{publicB(){}}4)導航性假如關聯(lián)是單向,則稱為導航關聯(lián)。導航性描述了源對象通過鏈接訪問目標對象。箭頭表白了導航方向性,只有源對象才能訪問目標對象,反之,目標對象不能訪問源對象。導航性第72頁(2)聚集和組合聚集聚集(aggregation):表達類之間一種渙散整體與部分組成關系,是一種特殊關聯(lián)。表達“整體/部分”關聯(lián)關系?!癶asa”,表達聚合中每一種部分能夠屬于其他整體。被表達為在整體一端用一種空心菱形修飾簡單關聯(lián)第73頁第74頁

組合

組合(composition):表達類之間一種緊密整體與部分組成關系,也是一種特殊關聯(lián)。表達組合中每一種部分只能屬于一種整體組合確實只是一種特殊關聯(lián),用整體端有實心菱形箭頭簡單關聯(lián)修飾它。第75頁聚集與組合區(qū)分①聚集渙散,組合緊密;

●第76頁3.聚集與組合區(qū)分

①聚集渙散,組合緊密;②一種部分事物對象能夠屬于多種聚集對象,但一種部分事物對象僅能屬于一種組合對象;

●第77頁3.聚集與組合區(qū)分①聚集渙散,組合緊密;②一種部分事物對象能夠屬于多種聚集對象,但一種部分事物對象僅能屬于一種組合對象;③聚集對象生命周期能夠不一樣,但組合對象則是同存同亡?!竦?8頁(3)泛化

泛化(generalization):表達事物之間一般與特殊關系。也能夠稱為繼承關系。表達“一般/特殊”關系?!癷s-a-kind-of”也就是繼承關系帶空心箭頭實線表達,箭頭指向父元素。

第79頁泛化目標自頂向下屬性繼承。能夠使得子類共享父類屬性和操作,實現(xiàn)繼承。自底向上實例替代。能夠使得子類實例用于任何父類被申明使用地方,實現(xiàn)多態(tài)。第80頁泛化表達:例子表達第81頁(4)依賴

依賴(dependency):表達兩個元素X、Y,假如X變化必然造成Y變化,則稱Y依賴X。

第82頁

依賴表達:例子表達第83頁(5)實現(xiàn)一種元素完成另外一種元素操作功能,則二者之間組成實現(xiàn)關系。如接口類及其實現(xiàn);接口沒有屬性,只有申明操作辦法(對于辦法沒有實現(xiàn)部分),而由實現(xiàn)類詳細定義實現(xiàn)部分。第84頁關聯(lián)類□深入描述關聯(lián)屬性、操作以及其他信息。關聯(lián)類通過一條虛線與關聯(lián)連接。圖5.6使用關聯(lián)類關聯(lián)

第85頁第86頁限定關聯(lián)□在關聯(lián)端緊靠類圖標處能夠有限定符(

溫馨提示

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

最新文檔

評論

0/150

提交評論