版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
面向?qū)ο蠓治雠c設(shè)計(jì)分析詳解演示文稿目前一頁\總數(shù)六十頁\編于二十點(diǎn)優(yōu)選面向?qū)ο蠓治雠c設(shè)計(jì)分析目前二頁\總數(shù)六十頁\編于二十點(diǎn)分析與設(shè)計(jì)過程全景目前三頁\總數(shù)六十頁\編于二十點(diǎn)UML在建模中的使用目前四頁\總數(shù)六十頁\編于二十點(diǎn)面向?qū)ο蠓治鲞^程定義用例(輔助模型,可選)用用例對用戶需求進(jìn)行規(guī)范化描述建立類圖(基本模型)發(fā)現(xiàn)對象、定義對象類識別對象的內(nèi)部特征識別對象的外部關(guān)系建立交互圖、狀態(tài)圖和活動(dòng)圖(輔助模型,可選)建立詳細(xì)說明對模型中的成分進(jìn)行規(guī)范的定義和文字說明可以集中進(jìn)行,也可分散在各個(gè)活動(dòng)中原型開發(fā)結(jié)合其他活動(dòng)反復(fù)進(jìn)行目前五頁\總數(shù)六十頁\編于二十點(diǎn)什么是問題域?“問題域”是指一個(gè)包含現(xiàn)實(shí)世界事物與概念的領(lǐng)域,這些事物和概念與所設(shè)計(jì)的系統(tǒng)要解決的問題有關(guān)。建立概念模型,又稱為問題域建模、域建模,也就是找到代表那些事物與概念的“對象”。建模OO軟件的第一步是澄清問題域。目前六頁\總數(shù)六十頁\編于二十點(diǎn)確定核心的抽象概念目的通過采取確定系統(tǒng)必須處理的核心抽象概念(即在業(yè)務(wù)建模和需求活動(dòng)中確定的概念)的措施來進(jìn)行分析必要性需求和業(yè)務(wù)建?;顒?dòng)通常會(huì)揭示系統(tǒng)必須能夠處理的核心概念,與此同時(shí),這些概念也證實(shí)了其自身是核心的設(shè)計(jì)抽象概念。因?yàn)橐呀?jīng)確認(rèn),所以沒有必要在用例分析活動(dòng)中重復(fù)確認(rèn)工作。為了利用現(xiàn)有知識,我們初步確定使用實(shí)體分析類,來代表這些以系統(tǒng)常識(諸如需求、詞匯表、特別是領(lǐng)域模型或業(yè)務(wù)對象模型)為基礎(chǔ)的核心抽象概念關(guān)鍵抽象的來源需求詞匯表領(lǐng)域模型業(yè)務(wù)對象模型目前七頁\總數(shù)六十頁\編于二十點(diǎn)什么是分析類?它代表問題域中的簡潔抽象應(yīng)該映射到真實(shí)世界業(yè)務(wù)概念分析類的最重要方面是應(yīng)該使用清晰的和無歧義的方法映射到真實(shí)世界業(yè)務(wù)概念目前八頁\總數(shù)六十頁\編于二十點(diǎn)OO分析師的工作力求把混淆或不恰當(dāng)?shù)臉I(yè)務(wù)概念澄清為能夠形成分析類基礎(chǔ)的事物,是OO分析工作困難的原因。OO分析的真正目的是找出現(xiàn)實(shí)對象的類目前九頁\總數(shù)六十頁\編于二十點(diǎn)分析類的思想盡力捕獲抽象的本質(zhì),忽略實(shí)現(xiàn)細(xì)節(jié)不是從設(shè)計(jì)角度考慮而產(chǎn)生的類,在具體設(shè)計(jì)時(shí)可能一個(gè)分析類被精華為一個(gè)或多個(gè)設(shè)計(jì)類在分析中,在創(chuàng)建概念模型時(shí),捕獲大場景。分析類的形式名稱屬性操作目前十頁\總數(shù)六十頁\編于二十點(diǎn)如何產(chǎn)生良好的分析類名稱反映目的。建模問題域的一個(gè)特定元素是簡潔的抽象。清晰地映射到問題域中的可識別的特征。具有小的、良好定義的職責(zé)集合。職責(zé)是類與其客戶的契約或?qū)τ诳蛻舻牧x務(wù)職責(zé)在語義上是內(nèi)聚的操作集合每個(gè)類大約有3~5個(gè)職責(zé)高內(nèi)聚。類的所有特征應(yīng)該有助于實(shí)現(xiàn)其目的低耦合。類應(yīng)該僅同一小部分其他類協(xié)作實(shí)現(xiàn)其目的目前十一頁\總數(shù)六十頁\編于二十點(diǎn)分析類經(jīng)驗(yàn)法則每個(gè)類大約3~5個(gè)職責(zé)。不存在獨(dú)立的類。當(dāng)心很多非常小的類當(dāng)心少數(shù)幾個(gè)非常龐大的類當(dāng)心“偽類”當(dāng)心萬能類避免深度繼承樹設(shè)計(jì)良好的繼承層次的本質(zhì)是繼承層次中每個(gè)抽象層次應(yīng)該具有良好定義的目的目前十二頁\總數(shù)六十頁\編于二十點(diǎn)OO分析建模核心問題尋找分析類使用名詞/動(dòng)詞分析尋找類使用CRC分析尋找類尋找其他類來源目前十三頁\總數(shù)六十頁\編于二十點(diǎn)使用名詞/動(dòng)詞分析尋找類名詞/動(dòng)詞分析是分析文本嘗試找出類、屬性和職責(zé)的方法。從名詞與名詞短語中提取對象與屬性從動(dòng)詞與動(dòng)詞短語中提取操作與關(guān)聯(lián)所有格短語通常表明名詞應(yīng)該是屬性而不是對象目前十四頁\總數(shù)六十頁\編于二十點(diǎn)名詞/動(dòng)詞分析過程第一步:盡可能多地收集相關(guān)信息補(bǔ)充需求規(guī)格說明用例項(xiàng)目詞匯表任何其他信息源(構(gòu)架、遠(yuǎn)景文檔)目前十五頁\總數(shù)六十頁\編于二十點(diǎn)名詞/動(dòng)詞分析過程(續(xù))第二步:使用非常簡單方法分析如下內(nèi)容:名詞名詞短語動(dòng)詞動(dòng)詞短語目前十六頁\總數(shù)六十頁\編于二十點(diǎn)概念模型建模步驟找到備選類決定候選類并不是每一個(gè)備選類都是合適的候選類,有些名詞對于要開發(fā)的系統(tǒng)來說并無關(guān)緊要,甚至是系統(tǒng)之外的;而有些名詞表述的概念則相對較小,適合于某個(gè)候選類的屬性
確定類之間的關(guān)聯(lián)為類添加職責(zé)什么是類的職責(zé)呢?它包括以下兩個(gè)主要內(nèi)容:
類所維護(hù)的知識;(成員變量)
類能夠執(zhí)行的行為。(成員方法)目前十七頁\總數(shù)六十頁\編于二十點(diǎn)舉例-創(chuàng)建概念模型一個(gè)愛書之人,家里各類書籍已過千冊,而平時(shí)又時(shí)常有朋友外借,因此需要一個(gè)個(gè)人圖書管理系統(tǒng)。該系統(tǒng)應(yīng)該能夠?qū)幕拘畔从?jì)算機(jī)類、非計(jì)算機(jī)類分別建檔,實(shí)現(xiàn)按書名、作者、類別、出版社等關(guān)鍵字的組合查詢功能。在使用該系統(tǒng)錄入新書籍時(shí)系統(tǒng)會(huì)自動(dòng)按規(guī)則生成書號,可以修改信息,但不能夠刪除記錄。該系統(tǒng)還應(yīng)該能夠?qū)耐饨枨闆r進(jìn)行記錄,可對外借情況列表打印。另外,還希望能夠?qū)馁徺I金額、冊數(shù)按特定時(shí)限進(jìn)行統(tǒng)計(jì)。目前十八頁\總數(shù)六十頁\編于二十點(diǎn)使用名詞/動(dòng)詞法注意在使用“名詞動(dòng)詞法”尋找類的時(shí)候,很多團(tuán)隊(duì)會(huì)在此耗費(fèi)大量的時(shí)間,這樣很容易迷失方向。其實(shí)我們的主要目的是對問題域建立概要的了解,無需太過咬文嚼字。目前十九頁\總數(shù)六十頁\編于二十點(diǎn)其它方法-CRC分析腦力風(fēng)暴技術(shù)過程要求團(tuán)隊(duì)成員命名運(yùn)轉(zhuǎn)在業(yè)務(wù)領(lǐng)域的事物要求團(tuán)隊(duì)陳述該事物的職責(zé)要求團(tuán)隊(duì)識別可能一起工作的類目前二十頁\總數(shù)六十頁\編于二十點(diǎn)概念模型的意義面向?qū)ο蟮囊暯鞘褂肙O的思想所建立的系統(tǒng)模型就是對問題域的完整、直接的映射,體現(xiàn)了OO思想的關(guān)鍵活動(dòng)
開發(fā)團(tuán)對的需要概念模型的建立,其主要的作用是幫助開發(fā)團(tuán)隊(duì)能夠?qū)栴}域有一個(gè)全貌式的了解目前二十一頁\總數(shù)六十頁\編于二十點(diǎn)概念模型的詳細(xì)程度模型不是我們要生產(chǎn)的目標(biāo)產(chǎn)物,而且過程中的一個(gè)輔助工作,只要能夠利用其幫助團(tuán)隊(duì)更好的開發(fā),詳細(xì)也罷、簡約也罷,都是好模型目前二十二頁\總數(shù)六十頁\編于二十點(diǎn)OO分析總結(jié)用例模型幫助開發(fā)團(tuán)隊(duì)明白客戶想解決什么問題將需求整理歸納成為指導(dǎo)全開發(fā)過程的“軟件需求規(guī)格說明書概念模型幫助開發(fā)團(tuán)隊(duì)了解客戶所處的世界目前二十三頁\總數(shù)六十頁\編于二十點(diǎn)分析用例(行為分析)用例模型補(bǔ)充需求構(gòu)架描述用例分析用例用例工程師業(yè)務(wù)模型分析類目前二十四頁\總數(shù)六十頁\編于二十點(diǎn)用例分析目的確定執(zhí)行用例事件流的類使用用例實(shí)現(xiàn),將用例行為分配給那些類確定類的職責(zé)、屬性和關(guān)聯(lián)關(guān)系記錄構(gòu)架機(jī)制的使用情況角色設(shè)計(jì)師時(shí)機(jī)用例分析分兩個(gè)階段第一個(gè)階段是“定義備選構(gòu)架”,同時(shí)做“構(gòu)架分析”活動(dòng),目標(biāo)是定義一個(gè)備選構(gòu)架第二個(gè)階段是“分析行為”,與“確定設(shè)計(jì)元素”活動(dòng)一起做,目標(biāo)是把用例行為分配到分析類中目前二十五頁\總數(shù)六十頁\編于二十點(diǎn)行為分析之前-用例建模獲取可靠的需求--我們需要高層的需求文檔和用例結(jié)構(gòu)圖來確定需求的可靠性,它并不一定完備、但提供了系統(tǒng)的基本全景;如果在分析過程中發(fā)現(xiàn)了一些相當(dāng)新的用例,那說明需求工作沒做到位,它作為分析(行為建模)的基礎(chǔ)將是不可靠的;確定用例的優(yōu)先級—我們通常采用迭代的開發(fā)模式,每次只針對一個(gè)目標(biāo)用例集展開分析,而不是全線出擊;因此需要根據(jù)風(fēng)險(xiǎn)、重要性和團(tuán)隊(duì)的適應(yīng)能力綜合考慮,為所有的用例確定優(yōu)先級;那些級別高的用例應(yīng)當(dāng)有詳細(xì)的規(guī)格說明,包括基本流和重要的擴(kuò)展流,它們是分析的基本素材。目前二十六頁\總數(shù)六十頁\編于二十點(diǎn)用例實(shí)現(xiàn)中的分析與設(shè)計(jì)用例建模對系統(tǒng)外在的行為進(jìn)行了分解,每個(gè)用例情節(jié)最終都落實(shí)到內(nèi)部某個(gè)對象群體的協(xié)作上;而對象群體行為則進(jìn)一步將必要職責(zé)分配到對象個(gè)體上;這便是用例實(shí)現(xiàn),并分為用例分析和用例設(shè)計(jì)兩個(gè)階段。為用例實(shí)現(xiàn)建模的元素包括—協(xié)作圖、序列圖、以及類圖等。目前二十七頁\總數(shù)六十頁\編于二十點(diǎn)用例分析的輸入和輸出輸入詞匯表補(bǔ)充規(guī)約用例模型用例規(guī)約用例建模指南用例實(shí)現(xiàn)(只是識別出來了,還沒有開發(fā))軟件構(gòu)架文檔邊界類,表示用戶界面中的窗口設(shè)計(jì)模型或分析模型輸出用例實(shí)現(xiàn)分析模型(可選)或設(shè)計(jì)模型
目前二十八頁\總數(shù)六十頁\編于二十點(diǎn)用例實(shí)現(xiàn)用例實(shí)現(xiàn)對用例模型中的每個(gè)用例,在設(shè)計(jì)模型中都有相應(yīng)的實(shí)現(xiàn)提供從分析和設(shè)計(jì)到需求的可跟蹤性用例實(shí)現(xiàn)結(jié)構(gòu)用例實(shí)現(xiàn)包是組織用例的類和交互圖的方式每個(gè)用例都對應(yīng)一個(gè)用例實(shí)現(xiàn)包可跟蹤性圖交互圖時(shí)序圖(SequenceDiagrams)(動(dòng)態(tài))協(xié)作圖(CollaborationDiagrams)(動(dòng)態(tài))類圖(ClassDiagrams)(靜態(tài))目前二十九頁\總數(shù)六十頁\編于二十點(diǎn)用例分析的步驟補(bǔ)充用例描述對每個(gè)用例實(shí)現(xiàn)從用例行為中找出類把用例行為分配到類對每個(gè)分析類描述屬性和關(guān)聯(lián)描述責(zé)任限定分析機(jī)制(analysismechanism)確定屬性建立分析類之間的關(guān)聯(lián)關(guān)系說明分析類之間的事件依賴關(guān)系整合分析類目前三十頁\總數(shù)六十頁\編于二十點(diǎn)Step1:補(bǔ)充用例描述用例的描述往往不夠查找分析類用戶通常不關(guān)心系統(tǒng)內(nèi)部的信息,所以開始時(shí)的用例描述是黑盒的為了發(fā)現(xiàn)分析類,需要從系統(tǒng)內(nèi)部的視點(diǎn)對用例進(jìn)行白盒描述例如:課程注冊系統(tǒng)中,學(xué)生可能喜歡說“系統(tǒng)顯示課程列表”,但是這不能說明系統(tǒng)內(nèi)部是如何實(shí)現(xiàn)的。為了給出系統(tǒng)內(nèi)部是如何工作的,我們要加入:系統(tǒng)從課程目錄遺留數(shù)據(jù)庫中取得課程列表目前三十一頁\總數(shù)六十頁\編于二十點(diǎn)Step2:從用例行為中查找分析類
目的確定一組備選的、能夠執(zhí)行用例行為的分析類分析類分析類代表“系統(tǒng)中具備職責(zé)和行為的事物”的初期概念模型。這些概念模型最終將演進(jìn)為設(shè)計(jì)模型中的類和子系統(tǒng)分類(根據(jù)其擔(dān)負(fù)的職責(zé)和表現(xiàn)的行為)邊界類(Boundaryclass)接口與系統(tǒng)外部某些事物的媒介??刂祁悾–ontrolClass)負(fù)責(zé)協(xié)調(diào)用例的行為。實(shí)體類(EntityClass)
封裝了數(shù)據(jù)以及數(shù)據(jù)相關(guān)的操作,表達(dá)領(lǐng)域概念,負(fù)責(zé)承擔(dān)系統(tǒng)中需要持久化的信息及其關(guān)聯(lián)的行為。應(yīng)用邏輯對象
目前三十二頁\總數(shù)六十頁\編于二十點(diǎn)識別分析類用例的行為最終都要落實(shí)到各分析類的職責(zé)上。目前三十三頁\總數(shù)六十頁\編于二十點(diǎn)邊界類承擔(dān)的角色邊界類負(fù)責(zé)系統(tǒng)與外界的通訊和交互。邊界對象將系統(tǒng)與其外部環(huán)境的變更(與其他系統(tǒng)的接口的變更、用戶需求的變更等)分隔開,使這些變更不會(huì)對系統(tǒng)的其他部分造成影響。
目前三十四頁\總數(shù)六十頁\編于二十點(diǎn)邊界類的職責(zé)轉(zhuǎn)換和翻譯交互事件—對內(nèi),將外界不同格式的事件和信息轉(zhuǎn)換為內(nèi)部能夠識別的格式,并觸發(fā)控制類對象(或?qū)嶓w對象)來響應(yīng)它們;對外,則做類似的反向操作;變更對外的表示內(nèi)容—在內(nèi)部狀態(tài)(特別是外界關(guān)注的信息)發(fā)生變化時(shí),向外部通知或更新表示內(nèi)容)常見的邊界類對象有:用戶接口類幫助與用戶進(jìn)行通信的類,通過標(biāo)準(zhǔn)的I/O設(shè)備提供人機(jī)界面(GUI)系統(tǒng)接口類幫助與其他系統(tǒng)進(jìn)行通信的類,系統(tǒng)(通訊協(xié)議)接口。設(shè)備接口類或Timer提供對硬件設(shè)備的軟件接口目前三十五頁\總數(shù)六十頁\編于二十點(diǎn)識別邊界類用戶界面類關(guān)注要呈現(xiàn)給用戶的信息是什么不要陷入U(xiǎn)I的設(shè)計(jì)細(xì)節(jié)系統(tǒng)和設(shè)備接口類關(guān)注必須定義的協(xié)議是什么不要關(guān)注協(xié)議是如何實(shí)現(xiàn)的重點(diǎn)關(guān)注職責(zé)而不是細(xì)節(jié)目前三十六頁\總數(shù)六十頁\編于二十點(diǎn)識別邊界類(續(xù))每個(gè)用例主角都至少有一個(gè)邊界類查找用戶接口類時(shí)需要注意可以復(fù)用用戶界面建?;顒?dòng)期間存在的邊界類僅對系統(tǒng)的核心部分建模,不要對
GUI中的每個(gè)按鈕、列表和小部件都建模。分析的目的是要大致了解系統(tǒng)是如何構(gòu)成的,而不是要設(shè)計(jì)每一個(gè)細(xì)枝末節(jié)查找系統(tǒng)邊界類時(shí)注意與現(xiàn)有系統(tǒng)的接口可能已有明確定義,如果是這樣,即可從接口定義中直接推導(dǎo)出職責(zé)如果已經(jīng)有一個(gè)正式的接口定義,則可對它實(shí)施逆向工程,這樣就不必在此正式界定它查找設(shè)備邊界類時(shí)注意做用例分析的時(shí)候可能需要補(bǔ)充原來沒有識別出來的設(shè)備主角,相應(yīng)的也要修改用例的說明目前三十七頁\總數(shù)六十頁\編于二十點(diǎn)實(shí)例:用戶界面(邊界類)目前三十八頁\總數(shù)六十頁\編于二十點(diǎn)實(shí)例:系統(tǒng)接口(邊界類)目前三十九頁\總數(shù)六十頁\編于二十點(diǎn)邊界類的職責(zé)歸類GUI界面邊界類承擔(dān)的職責(zé)包括:按要求的格式顯示內(nèi)容(VIEW—文本、表格、圖形等控件)輸入數(shù)據(jù)并轉(zhuǎn)換為內(nèi)部格式(CONTROL—編輯、選擇、圖形等控件)轉(zhuǎn)換和翻譯用戶動(dòng)作并觸發(fā)響應(yīng)(CONTROL—菜單、按鈕、快捷鍵)系統(tǒng)接口邊界類承擔(dān)的職責(zé)包括:輸入/輸出數(shù)據(jù),并根據(jù)協(xié)議進(jìn)行格式轉(zhuǎn)換接收事件并觸發(fā)響應(yīng)和向外發(fā)送事件目前四十頁\總數(shù)六十頁\編于二十點(diǎn)邊界類的狀態(tài)與行為GUI界面邊界類可以擁有狀態(tài),并可能對其行為產(chǎn)生如下影響:影響用戶操作的執(zhí)行范圍(菜單等的使能與禁用,對話框的打開與關(guān)閉)影響對外顯示的樣式和能力邊界類的狀態(tài)除了受用戶操作序列的影響,更多地將為控制類和實(shí)體類的狀態(tài)所控制系統(tǒng)接口邊界類的狀態(tài)將與其支持的協(xié)議中規(guī)定的交互順序有關(guān)設(shè)備接口邊界類通常擁有復(fù)雜的狀態(tài),以便支持與硬件設(shè)備的適配邏輯目前四十一頁\總數(shù)六十頁\編于二十點(diǎn)控制類作用:負(fù)責(zé)協(xié)調(diào)、調(diào)度、處理事務(wù)并控制系統(tǒng)內(nèi)部其它對象的行為。用于對一個(gè)或幾個(gè)用例所特有的控制行為進(jìn)行建模,控制類封裝了用例的特有行為控制對象(控制類的實(shí)例)通??刂破渌麑ο螅虼怂鼈兊男袨榫哂袇f(xié)調(diào)性質(zhì)控制類有效地將邊界對象與實(shí)體對象分開,讓系統(tǒng)更能適應(yīng)其邊界內(nèi)發(fā)生的變更控制類還將用例所特有的行為與實(shí)體對象分開,使實(shí)體對象在用例和系統(tǒng)中具有更高的復(fù)用性控制類并不能處理用例需要執(zhí)行的一切事務(wù)。相反,它協(xié)調(diào)其他用來實(shí)施此功能的對象的活動(dòng)??刂祁悓⒐ぷ魑山o已被指定負(fù)責(zé)此項(xiàng)功能的對象??刂祁愅ǔ1豢闯梢粋€(gè)樂隊(duì)的指揮,它指揮(控制)參與usecase的其它對象的行為,通知對象什么時(shí)候執(zhí)行以及執(zhí)行什么。目前四十二頁\總數(shù)六十頁\編于二十點(diǎn)控制類的角色協(xié)調(diào)用例的行為目前四十三頁\總數(shù)六十頁\編于二十點(diǎn)識別控制類可以首先為每個(gè)用例實(shí)現(xiàn)確定一個(gè)控制類,接著,在確定了更多的用例實(shí)現(xiàn)并發(fā)現(xiàn)更多的共性后,再對其進(jìn)行改進(jìn)將性質(zhì)不同的控制邏輯封裝到分離的控制類中將(邏輯復(fù)雜的)主事件流和可選/異常事件流封裝到不同的控制類中盡量為每個(gè)執(zhí)行者定義單獨(dú)的控制類目前四十四頁\總數(shù)六十頁\編于二十點(diǎn)控制類的職責(zé)歸類用例控制類負(fù)責(zé)用例的控制序列(應(yīng)用邏輯),協(xié)調(diào)其它類的協(xié)作以完成用例的不同執(zhí)行場景,其中包括:控制顯示(導(dǎo)航)流程控制系統(tǒng)的執(zhí)行動(dòng)作,這些動(dòng)作將可能改變系統(tǒng)的內(nèi)部狀態(tài)、提供結(jié)果數(shù)據(jù)等控制協(xié)議的對話順序目前四十五頁\總數(shù)六十頁\編于二十點(diǎn)控制類的行為控制類行為有以下特點(diǎn)與周圍環(huán)境無關(guān)定義控制邏輯(event的順序)和usecase事務(wù)如果實(shí)體類的內(nèi)部結(jié)構(gòu)或行為變化,控制類很少會(huì)變化使用或設(shè)定幾個(gè)實(shí)體類的內(nèi)容,因此需要協(xié)調(diào)這幾個(gè)實(shí)體類的行為每次被激活,行為方式不同(flowofevent與多個(gè)狀態(tài)有關(guān))有的用例沒有控制類,復(fù)雜的用例可以有多個(gè)控制類控制對象的生命周期通常和用例實(shí)例的生命周期相同控制類可以分為協(xié)調(diào)對象(狀態(tài)無關(guān)的)和狀態(tài)相關(guān)的控制對象兩種
目前四十六頁\總數(shù)六十頁\編于二十點(diǎn)示例:管理任務(wù)隊(duì)列執(zhí)行任務(wù)用例的事件流主要包含:從任務(wù)隊(duì)列中按順序取出任務(wù),并為其分配資源,然后開始執(zhí)行任務(wù)(系統(tǒng)可以同時(shí)執(zhí)行多個(gè)任務(wù));根據(jù)控制邏輯的不同性質(zhì),可以劃分為兩個(gè)控制類,一個(gè)負(fù)責(zé)處理任務(wù)隊(duì)列和分配資源,另一個(gè)則負(fù)責(zé)具體控制任務(wù)的執(zhí)行過程。目前四十七頁\總數(shù)六十頁\編于二十點(diǎn)實(shí)體類實(shí)體類(entityclass)系統(tǒng)的關(guān)鍵抽象、是系統(tǒng)的核心概念主要責(zé)任是用于保存和管理系統(tǒng)的信息,如一個(gè)event,一個(gè)人或一些實(shí)際存在的對象的信息。通常是持久化的(persistent)通常不特定于某個(gè)usecaserealization,有時(shí)甚至不特定于系統(tǒng)。實(shí)體類承擔(dān)的角色(存儲(chǔ)和管理系統(tǒng)中的信息)目前四十八頁\總數(shù)六十頁\編于二十點(diǎn)從用例中識別實(shí)體類使用用例的事件流作為輸入用例中的關(guān)鍵抽象傳統(tǒng)的名詞過濾法劃出用例事件流中的名詞條款去掉重復(fù)的候選者去掉含糊的候選者去掉執(zhí)行者ACTORS(超出了系統(tǒng)范圍)去掉實(shí)施部件去掉屬性去掉操作目前四十九頁\總數(shù)六十頁\編于二十點(diǎn)應(yīng)用邏輯對象
分為業(yè)務(wù)邏輯對象和算法對象兩種業(yè)務(wù)邏輯對象(BusinessLogicObjects)
定義業(yè)務(wù)特定的處理一個(gè)用戶請求的應(yīng)用邏輯,目的是封裝(隱藏)業(yè)務(wù)邏輯通常業(yè)務(wù)邏輯對象在執(zhí)行過程中可以訪問各種實(shí)體對象只有在特定情況下才需要業(yè)務(wù)邏輯對象如果businessrule要通過訪問兩個(gè)或多個(gè)實(shí)體對象才能執(zhí)行,就需要有一個(gè)單獨(dú)的業(yè)務(wù)邏輯對象否則,就是實(shí)體類的一個(gè)操作業(yè)務(wù)邏輯對象與協(xié)調(diào)對象的區(qū)別協(xié)調(diào)對象的責(zé)任是監(jiān)督其他的對象而業(yè)務(wù)邏輯對象的主要責(zé)任是封裝和執(zhí)行businessrule算法對象(AlgorithmObjects)封裝了問題域用的算法
算法對象通常也封裝了計(jì)算算法時(shí)需要的數(shù)據(jù)
目前五十頁\總數(shù)六十頁\編于二十點(diǎn)實(shí)例:識別的候選分析類目前五十一頁\總數(shù)六十頁\編于二十點(diǎn)Step3:把用例行為分配到類指南:把責(zé)任分配到類邊界類和actor交互的行為實(shí)體類與數(shù)據(jù)抽象封裝有關(guān)的行為控制類特定到一個(gè)usecase或一部分非常重要的事件流程的行為動(dòng)態(tài)建模:用時(shí)序圖和協(xié)作圖來描述用例行為注意:對所有基本流和備選流都要進(jìn)行分析目前五十二頁\總數(shù)六十頁\編于二十點(diǎn)時(shí)序圖時(shí)序圖表示如何一步步的完成系統(tǒng)的一個(gè)功能時(shí)序圖是用于決定類責(zé)任和接口的主要信息來源時(shí)序圖描述了對象間的交互模式通過對象的“生命線”和他們相互發(fā)送的消息來顯示對象時(shí)序圖與協(xié)作圖在語義上是相同的,只是時(shí)序圖中的消息是按時(shí)間順序分布的時(shí)序圖表示的是一個(gè)場景(scenario)組成主角對象消息生命線Focusofcontrol表示對象直接或通過子過程執(zhí)行動(dòng)作的一段時(shí)間目前五十三頁\總數(shù)六十頁\編于二十點(diǎn)協(xié)作圖協(xié)作圖顯示對象之間的交互協(xié)作圖強(qiáng)調(diào)參與交互的對象的組織適合分析活動(dòng),適合表示少數(shù)對象的簡單交互協(xié)作圖很難顯示補(bǔ)充的說明性信息,例如時(shí)間、判定點(diǎn)或其他非結(jié)構(gòu)化的信息,而在序列圖中這些信息可以方便地添加到注釋中
組成主角(actor)對象(object)Links:Link是對象通信的途徑消息(message)目前五十四頁\總數(shù)六十頁\編于二十點(diǎn)記錄分析類的職責(zé)用簡短的(最多幾個(gè)單詞)職責(zé)名稱和簡短的(最多幾個(gè)句子)說明記錄職責(zé)。該說明表述對象實(shí)現(xiàn)職責(zé)需要執(zhí)行什么操作,以及調(diào)用職責(zé)時(shí)將返回什么結(jié)果可以用兩種方式來記錄職責(zé)用分析類的操作:操作名就是職責(zé)名稱,職責(zé)的說明就寫到操作的說明中。為了表示該操作是一個(gè)職責(zé),應(yīng)該在操作名前面加上“//”來標(biāo)記用文字描述:在類的說明中描述類的職責(zé)
維護(hù)一致性確保類具有一致的責(zé)任,如果類的責(zé)任是脫節(jié)的,要把類分成兩個(gè)或多個(gè)新類,同時(shí)要修改交互圖
確保沒有兩個(gè)類具有相似的責(zé)任,如果兩個(gè)類具有相同的責(zé)任,就把這兩個(gè)類合并成一個(gè),同時(shí)要修改交互圖
目前五十五頁\總數(shù)六十頁\編于二十點(diǎn)實(shí)例:用例分析-時(shí)序圖目前五十六頁\總數(shù)六十頁\編于二十點(diǎn)確定屬性是屬性還是類?信息屬于以下情況時(shí),需要使用屬性“通過值”引用;即在信息中只有值是重要的,而與地址或?qū)ο髽?biāo)識符無關(guān)由其所屬的對象唯一“擁有”;其他對象都不引用這條信息通過獲取、設(shè)置或者執(zhí)行對信息的簡單轉(zhuǎn)換的操作進(jìn)行訪問;信息除了提供它本身的值以外沒有任何“實(shí)際”的行為如果信息具有復(fù)雜的行為,被兩個(gè)或更多對象共享,或者在兩個(gè)或更多對象間“通過引用”傳遞,此時(shí)信息應(yīng)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度企業(yè)社會(huì)責(zé)任培訓(xùn)合同
- 2025年度個(gè)人買賣房屋違約責(zé)任合同模板4篇
- 2025年度智能門窗系統(tǒng)安裝與智能化升級合同4篇
- 2025年度個(gè)人與企業(yè)間設(shè)備租賃借款合同5篇
- 2025年度木材碳排放交易合同3篇
- 2025年度商業(yè)街營業(yè)房租賃與品牌導(dǎo)入合同
- 二零二五年度養(yǎng)老公寓房租賃與照護(hù)服務(wù)合同
- 二零二五年度財(cái)務(wù)人員聘用及稅務(wù)籌劃合同
- 二零二五年度草原承包合同:草原生物多樣性保護(hù)與生態(tài)旅游合作框架協(xié)議
- 2025年度主題酒店客房租賃與文化活動(dòng)合同
- 2024公路瀝青路面結(jié)構(gòu)內(nèi)部狀況三維探地雷達(dá)快速檢測規(guī)程
- 2024年高考真題-地理(河北卷) 含答案
- 中國高血壓防治指南(2024年修訂版)解讀課件
- 2024風(fēng)力發(fā)電葉片維保作業(yè)技術(shù)規(guī)范
- 《思想道德與法治》課程教學(xué)大綱
- 2024光儲(chǔ)充一體化系統(tǒng)解決方案
- 2024年全國高考新課標(biāo)卷物理真題(含答案)
- 處理后事授權(quán)委托書
- 封條(標(biāo)準(zhǔn)A4打印封條)
- 2023年大學(xué)生《思想道德與法治》考試題庫附答案(712題)
- 清代文學(xué)緒論
評論
0/150
提交評論