系統(tǒng)分析與設(shè)計概述:6 對象建模_第1頁
系統(tǒng)分析與設(shè)計概述:6 對象建模_第2頁
系統(tǒng)分析與設(shè)計概述:6 對象建模_第3頁
系統(tǒng)分析與設(shè)計概述:6 對象建模_第4頁
系統(tǒng)分析與設(shè)計概述:6 對象建模_第5頁
已閱讀5頁,還剩17頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

對象建模CollegeofComputerScienceandTechnologyZhejiangUniversity概述本部分內(nèi)容主要討論對象建模技術(shù)對象建模技術(shù)和結(jié)構(gòu)化建模技術(shù)一樣可以幫助分析員創(chuàng)建邏輯模型,其工作的最終產(chǎn)品是一個模型系統(tǒng)的邏輯模型面向?qū)ο蟮姆治黾夹g(shù)是除了結(jié)構(gòu)化分析技術(shù)以外,另一種表示和設(shè)計信息系統(tǒng)的方法面向?qū)ο蠼<夹g(shù)的術(shù)語和概念主要有:對象、屬性、方法、消息、類和實例等其建模工具和技術(shù)主要是“統(tǒng)一建模語言UML”,包括用例、用例圖、類圖、順序圖、狀態(tài)轉(zhuǎn)換圖和活動圖等面向?qū)ο蠓治黾夹g(shù)的原則什么是面向?qū)ο蠹夹g(shù)?面向?qū)ο蠹夹g(shù)有什么好處?為什么要用面向?qū)ο蠹夹g(shù)?軟件開發(fā)分析階段的工作就是提取系統(tǒng)需求的過程,主要包括三項內(nèi)容:理解、表達(dá)和驗證對象:是客觀世界中實體的抽象原則:使問題描述空間(問題域)與解空間(求解域)在結(jié)構(gòu)上盡量一致問題域的對象通常是不固定的,其行為也是反復(fù)多彩的,而解空間的對象行為是簡單確定的面向?qū)ο蟮姆椒ǎ鹤屆總€模塊都對應(yīng)且唯一對應(yīng)著現(xiàn)實世界中的某件事面向?qū)ο筌浖翰皇枪ぷ髟跀?shù)據(jù)上的一系列過程的集合,而是相互協(xié)作又彼此獨立的對象的集合面向?qū)ο蠓治龅谋磉_(dá)目前主要采用統(tǒng)一建模語言(UML),可以將信息系統(tǒng)可視化、文檔化面向?qū)ο蠓治龈攀鰧ο笫菍π畔⑾到y(tǒng)來說重要的人、地點、事件或事務(wù)對象可以有許多描述其特征的屬性。如,汽車的品牌、型號、顏色等;某人的學(xué)歷、經(jīng)歷、閱歷等類是具有類似屬性的對象的集合。例如,由全體學(xué)生組成學(xué)生類實例就是類中特定的對象。如學(xué)生張三,就是學(xué)生類的實例下圖是汽車對象的屬性、方法和消息的示例消息司機對象發(fā)送消息給汽車對象。如清洗車輛,或減速等屬性汽車對象擁有被稱為屬性的特性。如品牌、驅(qū)動方式、型號和顏色等方法啟動車輛、轉(zhuǎn)向等對象在UML中,對象可以用如下左圖的方式來描述下右圖是一個小女孩類的對象實例描述示例對象名屬性屬性1屬性2……方法方法1方法2……瀟瀟性別:女年齡:4頭發(fā):黑色體型:苗條吃飯玩會討人喜歡屬性如果對象類似于名詞的性質(zhì),那么屬性就是類似于描述的特征的形容詞分析員在系統(tǒng)設(shè)計期間需要定義對象的屬性對象屬性既可以獨立定義,也可以從其它對象繼承對象的特定屬性稱為狀態(tài),對象狀態(tài)是描述該對象當(dāng)前情形的形容詞方法方法定義了對象可以執(zhí)行的任務(wù),或動作、處理、加工、算法、操作等正如對象類似于名詞,屬性類似于形容詞,方法則類似于描述對象動作的動詞消息消息就是傳遞給某對象執(zhí)行某任務(wù)的指令。如駕駛員對象收到啟動機動車的消息許多情況下,同一條消息傳遞給不同的對象,會產(chǎn)生不同的結(jié)果。如消息:睡覺,傳遞給小女孩會要求媽媽親她一下,而傳遞給小男孩會要求奶奶給他講個故事。這種現(xiàn)象稱為多態(tài)性將對象封裝后,就可以將它看成是一個黑盒。當(dāng)消息到達(dá)時,我們僅關(guān)心黑盒輸出的結(jié)果,而不關(guān)心其內(nèi)部是如何處理的,也不需要外部干預(yù)因此,被封裝的對象可以作為模塊組件,在系統(tǒng)任意地方使用雖然接收和發(fā)送的消息會不同,但對象內(nèi)部的方法不會改變,因此可以提高系統(tǒng)的可重用性類類是具有相同屬性和方法的對象的集合類還可以被劃分為更具體的子類。如,機動車類可以繼續(xù)劃分為重型載重車、輕型貨車、小型車輛等另外,一個類還可以屬于一個更一般的類,稱之為超類。例如,小說書屬于超類書對象和類之間的關(guān)系如同自然界或人類社會一樣,對象和對象之間、類和類之間、對象和類之間也都會發(fā)生關(guān)系關(guān)系有強弱之分。最強的關(guān)系是繼承。繼承允許一個對象(子對象)從另一個對象(父對象)處獲得能力(屬性和方法)下列左圖是繼承機制的圖形表示方法,右圖是動物之間的繼承關(guān)系A(chǔ)B父類子類派生繼承

表示B繼承了A;也可以說是A派生出了B動物家禽類寵物雞鴨鵝狗貓對象關(guān)系圖

對象關(guān)系圖是系統(tǒng)的視圖,通常在確定了對象、類和關(guān)系之后,就可以獲得可以將對象關(guān)系圖作為創(chuàng)建附加圖表和文檔的指南下圖是一個高校圖書管理系統(tǒng)的類和對象關(guān)系圖Staff0..n0..10..10..10..1StaffLibBookLibReaderLiblogBookReaderSuperAdminRoleLidrarianRoleLibraryAdminRoleReaderAdminRole1..n1..n對象=(屬性+操作)封裝+消息名集合(接口)類:一組具有相同數(shù)據(jù)結(jié)構(gòu)和操作的對象集合。消息:要求某個對象執(zhí)行定義自己的類中的某個操作的規(guī)格說明。方法:對象所能執(zhí)行的操作,即類中定義的服務(wù)。屬性:類中定義的數(shù)據(jù),是對客觀世界實體所具有的性質(zhì)的抽象封裝:數(shù)據(jù)和過程的內(nèi)部實現(xiàn)細(xì)節(jié)對外部隱蔽。繼承:使用已存在的定義為基礎(chǔ)建立新定義的技術(shù)。多態(tài)性:指子類對象可以象父類對象那樣使用。重載:同一運算符可以施加于不同類型的操作數(shù)上,編譯時再決定運算符的語義面向?qū)ο蟮男g(shù)語和概念使用統(tǒng)一建模語言實現(xiàn)對象建模UML是目前流行的分析員將系統(tǒng)文檔化和模型化的技術(shù)UML使用一系列圖形符號來表示系統(tǒng)中的各種組件和關(guān)系UML主要用來支持面向?qū)ο蟮南到y(tǒng)分析和開發(fā)對象模型,但有時也用來進(jìn)行業(yè)務(wù)過程建模和需求建模用例建模用例表示某個具體的業(yè)務(wù)行為或功能,以及過程的一系列步驟外部實體(即行為者)通過請求系統(tǒng)執(zhí)行某功能或過程來初始化用例用例用橢圓圖形表示,下面加上一個描述行為或動作的標(biāo)簽行為者用人形圖形表示,下面加上一個描述該行為者角色的標(biāo)簽從行為者指向用例的有向線段稱為聯(lián)系,它將行為者和用例聯(lián)系起來例如,行為者為“學(xué)生”,用例描述的是“選課”,就可以表示為行為者用例學(xué)生選課用例圖

用例圖是一個系統(tǒng)或者子系統(tǒng)中相關(guān)用例的簡略視圖例如,下圖就是一張?zhí)砑有鹿痪€路的用例圖創(chuàng)建需求預(yù)測準(zhǔn)備線路計劃開發(fā)職員計劃通知乘客調(diào)度司機建議通知決定創(chuàng)建通知類圖類圖表示一個用例的詳細(xì)視圖,顯示了參與這個用例的類,并說明類之間的關(guān)系類圖和DFD一樣,是對系統(tǒng)邏輯模型的描述類圖中,每一個類都用一個矩形表示右圖描述的是某銷售系統(tǒng)訂單用例的類圖銷售經(jīng)理屬性方法銷售辦公室屬性方法訂單屬性方法銷售員屬性方法顧客屬性方法已訂項目屬性方法管理管理分配預(yù)訂包含順序圖順序圖是用例的動態(tài)模型,顯示某個特定時段內(nèi),類之間的交互順序圖通過描述用例的類、消息和消息時間,圖形化描述用例順序圖中的符號分別表示類、生命線、消息和焦點,如圖類用矩形框表示,發(fā)送或接收消息的類放在順序圖頂端生命線表示一個時間段,在此期間,對象可以和用例中其它對象交互,X表示其末端消息用一條有向線段表示,線段方向就是消息傳遞方向焦點用豎直蓋住生命線的框表示,描述這段時間內(nèi)對象正在發(fā)送或接收消息類1類2生命線生命線焦點焦點消息1消息2X順序圖的例子下圖是一個健身中心新學(xué)員注冊的順序圖的例子學(xué)員經(jīng)理焦點申請健身課程支付X健身課程表注冊記錄通知檢查注冊狀態(tài)轉(zhuǎn)移圖狀態(tài)轉(zhuǎn)移圖顯示了對象如何在事件的作用下,從一個狀態(tài)轉(zhuǎn)移到另一個狀態(tài)狀態(tài)轉(zhuǎn)移圖中,狀態(tài)用圓角矩形表示,自左至右的線條表示狀態(tài)轉(zhuǎn)移的方向,以及觸發(fā)這種轉(zhuǎn)移的動作或事件下圖是一個銀行賬戶的狀態(tài)轉(zhuǎn)移圖的例子新建激活/現(xiàn)有注銷/先前凍結(jié)開戶第一次存款銀行注銷賬戶客戶注銷賬戶附屬資產(chǎn)資產(chǎn)釋放活動圖活動樹是按照發(fā)生順序描述動作或事件的水平流程圖,它顯示了動作發(fā)生順序并標(biāo)明結(jié)果下圖是儲戶在ATM機上取款的活動圖客戶插入ATM卡客戶輸入密碼客戶請求現(xiàn)金ATM調(diào)整余額ATM提供現(xiàn)金ATM通知客戶開始客戶需要現(xiàn)金卡被接納密碼正確現(xiàn)金充足現(xiàn)金不足CASE工具順序圖、狀態(tài)轉(zhuǎn)移圖和活動圖,是幫助分析員理解對象的行為及對象如何與系統(tǒng)交互的動態(tài)建模工具但如果分析員在系統(tǒng)分析和設(shè)計時,都用手工完成這些圖形的繪制,則費時費力,效率低下目前,已經(jīng)有可以幫助分析員制圖的CASE工具這些工具不僅加快了分析員繪圖的

溫馨提示

  • 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)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論