第5章 面向?qū)ο箝_(kāi)發(fā)技術(shù)_第1頁(yè)
第5章 面向?qū)ο箝_(kāi)發(fā)技術(shù)_第2頁(yè)
第5章 面向?qū)ο箝_(kāi)發(fā)技術(shù)_第3頁(yè)
第5章 面向?qū)ο箝_(kāi)發(fā)技術(shù)_第4頁(yè)
第5章 面向?qū)ο箝_(kāi)發(fā)技術(shù)_第5頁(yè)
已閱讀5頁(yè),還剩90頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、第5章 面向?qū)ο箝_(kāi)發(fā)技術(shù),清華大學(xué)出版社,主編賈鐵軍 甘泉 副主編俞小怡 宋少婷,軟件工程與實(shí)踐,上海市教育高地暨 特色專業(yè)建設(shè)配套教材,高等院校計(jì)算機(jī)與 信息類規(guī)劃教材,目 錄,2,5.1 面向?qū)ο蠓椒ǜ攀?第5章 面向?qū)ο箝_(kāi)發(fā)技術(shù) 教學(xué)目標(biāo) 掌握面向?qū)ο蟮挠嘘P(guān)概念 理解面向?qū)ο筌浖拈_(kāi)發(fā)任務(wù)及過(guò)程 熟悉面向?qū)ο蠓治觯∣OA)和面向?qū)ο笤O(shè)計(jì)(OOD)方法 掌握一種面向?qū)ο蠓治龊驮O(shè)計(jì)的方法的實(shí)際應(yīng)用,3,5.1 面向?qū)ο蠓椒ǜ攀?面向?qū)ο蠓椒ǎ∣OM)是面向?qū)ο蠹夹g(shù)在軟件工程中的全面運(yùn)用,包括面向?qū)ο蠓治?,OOA)、面向?qū)ο笤O(shè)計(jì)(OOD)、面向?qū)ο缶幊蹋∣OP)、面向?qū)ο鬁y(cè)試(OOT)和面向

2、對(duì)象維護(hù)等方法。 5.1.1 面向?qū)ο蠓椒ǖ母拍?Coad和Yourdon為面向?qū)ο?Object Oriented,OO) 給出的定義:面向?qū)ο? 對(duì)象 + 類 + 繼承 + 消息通信,具有這4個(gè)概念的軟件開(kāi)發(fā)方法稱為面向?qū)ο蠓椒∣OM?;境霭l(fā)點(diǎn)是盡量按照人類認(rèn)識(shí)世界的方法和思維方式來(lái)分析和解決問(wèn)題,以解決問(wèn)題中所涉及到的各種對(duì)象為主體,面向?qū)ο蠓椒▽W(xué)的出發(fā)點(diǎn)和基本原則,使軟件開(kāi)發(fā)的方法和過(guò)程盡可能接近人類認(rèn)識(shí)現(xiàn)實(shí)世界解決問(wèn)題的方式方法。只有同時(shí)使用對(duì)象、類、繼承與消息通信,才能體現(xiàn)面向?qū)ο蟮奶卣骱头椒ā?4,5.1 面向?qū)ο蠓椒ǜ攀?5.1.2 面向?qū)ο蠓椒ǖ奶攸c(diǎn) 面向?qū)ο蟮拈_(kāi)發(fā)方法OO

3、SD是一種新的軟件工程方法,其基本思想是盡可能按照人類認(rèn)識(shí)世界的方法和思維方式分析和解決問(wèn)題,可提供更加清晰的需求分析和設(shè)計(jì),是指導(dǎo)軟件開(kāi)發(fā)的系統(tǒng)方法。OOSD貫穿于整個(gè)軟件生命期,其中面向?qū)ο蟮姆治雠c設(shè)計(jì)是面向?qū)ο箝_(kāi)發(fā)的關(guān)鍵。OOM具有4個(gè)主要特點(diǎn): (1)符合人類分析解決問(wèn)題的習(xí)慣思維方式。 (2)各階段所使用的技術(shù)方法具有高度連續(xù)性。 (3)開(kāi)發(fā)階段有機(jī)集成有利系統(tǒng)穩(wěn)定。 (4)重用性好。,5,5.1 面向?qū)ο蠓椒ǜ攀?5.1.3 面向?qū)ο箝_(kāi)發(fā)過(guò)程及范型 1. 面向?qū)ο箝_(kāi)發(fā)過(guò)程 OOM不僅是一些具體的軟件開(kāi)發(fā)技術(shù)與策略,而且是一整套處理軟件系統(tǒng)與現(xiàn)實(shí)世界的關(guān)系并進(jìn)行系統(tǒng)構(gòu)造的軟件方法學(xué)。

4、其開(kāi)發(fā)過(guò)程與其他方法不同,從問(wèn)題論域開(kāi)始,歷經(jīng)從問(wèn)題提出到解決的一系列過(guò)程。下面具體說(shuō)明在開(kāi)發(fā)過(guò)程中的步驟。 (1)分析階段。包括兩個(gè)步驟:論域分析和應(yīng)用分析。 (2)高層設(shè)計(jì)。 (3)開(kāi)發(fā)類。 (4)建立實(shí)例。 (5)組裝測(cè)試。 (6)維護(hù)。,6,5.1 面向?qū)ο蠓椒ǜ攀?2. 面向?qū)ο蟮能浖_(kāi)發(fā)范型 (1)傳統(tǒng)軟件開(kāi)發(fā)方法主要是結(jié)構(gòu)化方法。 (2)面向?qū)ο蟮能浖_(kāi)發(fā)方法按照同傳統(tǒng)軟件開(kāi)發(fā)一樣的步驟,同樣要經(jīng)歷分析、設(shè)計(jì)、編碼實(shí)現(xiàn)和測(cè)試的生命周期。 (3)大部分面向?qū)ο筌浖_(kāi)發(fā)模型都包括以下內(nèi)容: 分析用戶的需求,提煉對(duì)象。 將現(xiàn)實(shí)中問(wèn)題領(lǐng)域的對(duì)象抽象成計(jì)算機(jī)軟件中的對(duì)象。 分析并描述對(duì)象之

5、間的關(guān)系。 根據(jù)用戶的需求,不斷地修改并完善。,7,5.1 面向?qū)ο蠓椒ǜ攀?5.1.4 面向?qū)ο箝_(kāi)發(fā)方法 1.OOSE 方法 面向?qū)ο筌浖こ蹋∣OSE)方法是1992年I.Jacobson 在其出版的專著面向?qū)ο蟮能浖こ讨刑岢龅?。OOSE方法采用五類模型建立目標(biāo)系統(tǒng),將面向?qū)ο蟮乃枷霊?yīng)用于軟件工程中。這5類模型為: 需求模型(Requirements model, RM)。 分析模型(Analysis model, AM)。 設(shè)計(jì)模型(Design model, DM)。 實(shí)現(xiàn)模型(Implementation model, IM)。 測(cè)試模型(Testing mode, TM)。 OO

6、SE 的開(kāi)發(fā)活動(dòng)主要分為分析、構(gòu)造和測(cè)試三個(gè)過(guò)程,如圖5-1所示。,8,5.1 面向?qū)ο蠓椒ǜ攀?OOSE 的開(kāi)發(fā)活動(dòng)主要分為分析、構(gòu)造和測(cè)試三個(gè)過(guò)程,如圖5-1所示。,圖5-1 OOSE 的開(kāi)發(fā)活動(dòng),9,5.1 面向?qū)ο蠓椒ǜ攀?用例(Use case)是貫穿OOSE 活動(dòng)的核心,描述了系統(tǒng)的需求及功能。用例實(shí)際上是從使用者的角度來(lái)確定系統(tǒng)的功能,描述系統(tǒng)用戶(也稱使用者)對(duì)于系統(tǒng)的使用情況。圖5-2所示,使用者以人形表示,橢圓表示用例,大的矩形框表示系統(tǒng)的邊界。用連接使用者和用例的箭頭線,表示使用者驅(qū)動(dòng)事件的完成。,10,5.1 面向?qū)ο蠓椒ǜ攀?用例之間通常有“使用”和“擴(kuò)展”兩種關(guān)系。

7、 圖5-2 用例圖,11,5.1 面向?qū)ο蠓椒ǜ攀?2常見(jiàn)的面向?qū)ο箝_(kāi)發(fā)方法 開(kāi)發(fā)方法有Coad方法、Booch方法、OMT方法和UML語(yǔ)言等。 (1)Booch方法。 (2)Coad方法。 (3)OMT方法。 (4)UML語(yǔ)言。 課堂討論: (1) 面向?qū)ο蟀男┲饕拍睿克鼈兊木唧w含義是什么? (2) 面向?qū)ο缶哂心男┨卣鳎?(3) 面向?qū)ο蟮能浖_(kāi)發(fā)過(guò)程是怎樣的?,12,5.2 面向?qū)ο蟮南嚓P(guān)概念,5.2.1 對(duì)象與類 1)對(duì)象 對(duì)象是描述客觀事物的一個(gè)實(shí)體,是構(gòu)成系統(tǒng)的基本單位。對(duì)象具有三要素:對(duì)象標(biāo)識(shí)、屬性和服務(wù)。對(duì)象的名字稱為對(duì)象標(biāo)識(shí),用于唯一地識(shí)別系統(tǒng)內(nèi)部對(duì)象,在定義或使用對(duì)象

8、時(shí)指定。 描述對(duì)象的靜態(tài)特征是屬性也稱狀態(tài)或數(shù)據(jù)。在某些OOP語(yǔ)言中,屬性通常被稱為成員變量或簡(jiǎn)稱變量。描述對(duì)象的動(dòng)態(tài)特征是服務(wù)也稱操作、行為或方法等,在某些OOP語(yǔ)言中,服務(wù)通常被稱為成員函數(shù)或簡(jiǎn)稱函數(shù)。,13,5.2 面向?qū)ο蟮南嚓P(guān)概念,2)封裝 封裝(Encapsulation)是對(duì)象的一個(gè)重要特性。在面向?qū)ο蟮南到y(tǒng)中,對(duì)象是一個(gè)封裝數(shù)據(jù)屬性和操作行為的實(shí)體。封裝有兩層含義:一是對(duì)象是其全部屬性和全部服務(wù)緊密結(jié)合而形成的一個(gè)不可分割的整體;二是對(duì)象如同一個(gè)密封的“黑盒子”,表示對(duì)象狀態(tài)的數(shù)據(jù)和實(shí)現(xiàn)操作的代碼都被封裝在其中。,14,5.2 面向?qū)ο蟮南嚓P(guān)概念,3)類和實(shí)例 類(Class)

9、也稱對(duì)象類(Object Class)是對(duì)具有相同屬性和服務(wù)的一組對(duì)象的抽象定義。類與對(duì)象是抽象描述與具體實(shí)例的關(guān)系,一個(gè)具體的對(duì)象被稱為類的一個(gè)實(shí)例(Instance)。,案例5-1 “張三轎車”等具體對(duì)象可得到 “轎車”類,而這些具體的對(duì)象就是該類的實(shí)例。如圖5-3所示。,15,5.2 面向?qū)ο蟮南嚓P(guān)概念,圖5-3 對(duì)象、類與實(shí)例,16,5.2 面向?qū)ο蟮南嚓P(guān)概念,5.2.2 繼承及多態(tài)性 1) 繼承 繼承(Inheritance)是父類和子類之間共享數(shù)據(jù)結(jié)構(gòu)和方法的一種機(jī)制,是以現(xiàn)存的定義的內(nèi)容為基礎(chǔ),建立新定義內(nèi)容的技術(shù),是類之間的一種關(guān)系。繼承有兩種:?jiǎn)沃乩^承、多重繼承。繼承性通常表

10、示父類與子類的關(guān)系,如圖5-4所示。,17,5.2 面向?qū)ο蟮南嚓P(guān)概念,圖5-4 繼承性 圖5-5 繼承性描述,18,5.2 面向?qū)ο蟮南嚓P(guān)概念,圖5-5 是繼承性描述的一種圖示方法。通過(guò)繼承關(guān)系還可構(gòu)成層次關(guān)系,單重繼承構(gòu)成的類之間的層次關(guān)系為一樹狀,若將所有無(wú)子類的類,都看成還有一個(gè)公共子類,多重繼承構(gòu)成的類之間的關(guān)系為一個(gè)網(wǎng)格,而且繼承關(guān)系可傳遞。 建立繼承結(jié)構(gòu)的優(yōu)點(diǎn)有3個(gè):一是易編程、易理解且代碼短, 結(jié)構(gòu)清晰;二是易修改,共同部分只在一處修改即可;三是易增加新類,只須描述不同部分。,19,5.2 面向?qū)ο蟮南嚓P(guān)概念,2) 多態(tài)性和動(dòng)態(tài)綁定 多態(tài)性(Polymorphism)是指多種類

11、型的對(duì)象在相同的操作或函數(shù)、過(guò)程中取得不同結(jié)果的特性。多態(tài)有多種不同形式,其中參數(shù)多態(tài)和包含多態(tài)統(tǒng)稱為通用多態(tài),過(guò)載多態(tài)和強(qiáng)制多態(tài)統(tǒng)則稱為特定多態(tài)。 動(dòng)態(tài)綁定(Dynamic-binding)是多態(tài)性的基石之一。將函數(shù)調(diào)用與目標(biāo)代碼塊的連接延遲到運(yùn)行時(shí)進(jìn)行,只有發(fā)送消息時(shí)才與接收消息實(shí)例的一個(gè)操作綁定。,20,5.2 面向?qū)ο蟮南嚓P(guān)概念,5.2.3 消息與方法 1) 消息與消息通信 消息(Message)是向?qū)ο蟀l(fā)出的服務(wù)請(qǐng)求,包含信息為:提供服務(wù)的對(duì)象標(biāo)識(shí)、消息名、輸入信息和回答信息。 消息通信(Communication with messages)與對(duì)象的封裝原則密切相關(guān)。 2)方法 方

12、法(Method) 指在對(duì)象內(nèi)的操作。數(shù)據(jù)描述對(duì)象的狀態(tài),操作可操縱私有數(shù)據(jù),改變對(duì)象的狀態(tài)。當(dāng)其他對(duì)象向該對(duì)象發(fā)出消息并響應(yīng)時(shí),其操作才得以實(shí)現(xiàn)。方法是類中操作的實(shí)現(xiàn)過(guò)程,一個(gè)方法包括方法名、參數(shù)及方法體。,21,5.2 面向?qū)ο蟮南嚓P(guān)概念,課堂討論: (1) 什么是對(duì)象及其三要素?什么是類及實(shí)例? (2) 怎樣理解繼承及多態(tài)性?舉例說(shuō)明。,22,5.3 面向?qū)ο蠓治?5.3 面向?qū)ο蠓治?面向?qū)ο蠓治觯∣OA)的目標(biāo)是獲取用戶需求并建立一系列問(wèn)題域的精確模型,描述滿足用戶需要的軟件。OOA所建立的模型應(yīng)表示出系統(tǒng)的數(shù)據(jù)、功能和行為3方面的基本特征。先要進(jìn)行調(diào)研分析,在理解需求的基礎(chǔ)上建立并

13、驗(yàn)證模型。,23,5.3 面向?qū)ο蠓治?5.3.1 面向?qū)ο蠓治龅娜蝿?wù) 1面向?qū)ο蠓治龅脑瓌t OOA階段是獲取和描述用戶需求并建立問(wèn)題域?qū)ο竽P偷倪^(guò)程。分析系統(tǒng)中所含的所有對(duì)象及其相互間的關(guān)系,為建立分析模型,應(yīng)遵照5個(gè)基本原則:建立信息域模型;描述功能;表達(dá)行為;劃分功能、數(shù)據(jù)、行為模型,揭示更多的細(xì)節(jié);以早期模型描述問(wèn)題實(shí)質(zhì),以后期模型給出實(shí)現(xiàn)細(xì)節(jié),這是OOA的基礎(chǔ)。,24,5.3 面向?qū)ο蠓治?2面向?qū)ο蠓治龅娜蝿?wù) OOA的關(guān)鍵是定義所有與待解決問(wèn)題相關(guān)的類,包括類的操作和屬性、類與類之間的關(guān)系以及它們表現(xiàn)出的行為,主要完成6項(xiàng)任務(wù): (1)全面深入調(diào)研分析,掌握用戶業(yè)務(wù)需求細(xì)節(jié)及流程;

14、 (2)準(zhǔn)確標(biāo)識(shí)類,包括定義其屬性和操作; (3)認(rèn)真分析定義類的層次關(guān)系; (4)明確表達(dá)對(duì)象與對(duì)象之間的關(guān)系(對(duì)象的連接); (5)具體確定模型化對(duì)象的行為;,25,5.3 面向?qū)ο蠓治?5.3.2 面向?qū)ο蠓治龅倪^(guò)程 OOA是利用面向?qū)ο蟮母拍詈头椒檐浖枨蠼ㄔ炷P?,使用戶需求逐步精確化、一致化、完全化的分析過(guò)程,也是提取需求的過(guò)程,主要包括理解、 表達(dá)和驗(yàn)證3個(gè)過(guò)程。OOA中建造的模型主要有對(duì)象模型、動(dòng)態(tài)模型和功能模型3種。對(duì)象模型常由五個(gè)層次組成:類與對(duì)象層、屬性層、服務(wù)層、結(jié)構(gòu)層和主題層,其層次對(duì)應(yīng)著OOA過(guò)程中建立對(duì)象模型的五項(xiàng)主要活動(dòng):發(fā)現(xiàn)對(duì)象、定義 類、定義屬性、定義服務(wù)、

15、設(shè)別結(jié)構(gòu)。? OOA過(guò)程如圖5-6所示。,26,5.3 面向?qū)ο蠓治?圖5-6 面向?qū)ο蠓治鲞^(guò)程,27,5.3 面向?qū)ο蠓治?5.3.3 對(duì)象建模技術(shù) 對(duì)象建模技術(shù)(Object Modeling Technique,OMT)用于OOA、系統(tǒng)設(shè)計(jì)和對(duì)象級(jí)設(shè)計(jì)。可將分析時(shí)獲取的需求信息構(gòu)建在對(duì)象模型、功能模型和動(dòng)態(tài)模型三類模型中。 1. 建立對(duì)象模型 對(duì)象模型是OOA最關(guān)鍵的模型之一,主要描述系統(tǒng)中對(duì)象的靜態(tài)結(jié)構(gòu)、對(duì)象之間的關(guān)系、對(duì)象的屬性和操作。通過(guò)表示靜態(tài)的、結(jié)構(gòu)上的、系統(tǒng)的“數(shù)據(jù)特征,為動(dòng)態(tài)模型和功能模型提供基本框架,利用包含對(duì)象和類的關(guān)系圖表示。 建立對(duì)象模型時(shí),首先確定對(duì)象和類,然后分

16、析對(duì)象的類及其相互之間關(guān)系。對(duì)象類與對(duì)象間的關(guān)系可分為3種:一般特殊(繼承或歸納)關(guān)系、聚集(組合)關(guān)系和關(guān)聯(lián)關(guān)系。對(duì)象模型用類符號(hào)、類實(shí)例符號(hào)、類的繼承關(guān)系、聚集關(guān)系和關(guān)聯(lián)等表示。 對(duì)象模型描述系統(tǒng)的靜態(tài)結(jié)構(gòu)包括:類和對(duì)象,它們的屬性和操作,以及它們之間的關(guān)系。構(gòu)造對(duì)象模型的目的是找出與應(yīng)用程序密切相關(guān)的概念。,28,5.3 面向?qū)ο蠓治?【案例5-2】對(duì)象模型以包含的對(duì)象及其關(guān)系圖表示。在對(duì)象模型中用于表示“類、類的關(guān)聯(lián)關(guān)系和鏈屬性”的圖形符號(hào),分別如圖5-7所示中(a)、(b)和(c)。其中,類的關(guān)聯(lián)關(guān)系反映對(duì)象之間相互依賴及作用關(guān)系,鏈屬性是關(guān)聯(lián)中鏈(實(shí)例對(duì)象間的物理或概念上的連接)的

17、性質(zhì)。,29,5.3 面向?qū)ο蠓治?(a) (b) (c) 圖5-7 表示類、關(guān)聯(lián)關(guān)系和鏈屬性,30,5.3 面向?qū)ο蠓治?使用OMT建立對(duì)象模型的主要步驟為: (1) 確定對(duì)象類。通過(guò)分析確定所有的對(duì)象類; (2) 定義數(shù)據(jù)詞典。主要用于描述類、屬性和關(guān)系; (3) 組織并簡(jiǎn)化對(duì)象類。通過(guò)繼承進(jìn)行組織和簡(jiǎn)化對(duì)象類; (4) 測(cè)試訪問(wèn)路徑。測(cè)試所有的訪問(wèn)路徑; (5) 對(duì)象分組建立模塊。 2. 建立動(dòng)態(tài)模型 動(dòng)態(tài)模型主要用于系統(tǒng)的控制邏輯,注重對(duì)象及其關(guān)系的改變,描述涉及時(shí)序和改變的狀態(tài)。動(dòng)態(tài)模型包括狀態(tài)圖和事件跟蹤圖。建立動(dòng)態(tài)模型的主要步驟為: (1) 準(zhǔn)備場(chǎng)景。為典型的交互序列準(zhǔn)備好場(chǎng)景;

18、 (2) 建立事件跟蹤圖。確定對(duì)象之間的事件,為每個(gè)場(chǎng)景建立事件跟蹤圖; (3) 繪出事件流程圖。為每個(gè)系統(tǒng)準(zhǔn)備一個(gè)事件流程圖; (4) 建立狀態(tài)圖。為具有重要?jiǎng)討B(tài)行為的類建立狀態(tài)圖; (5) 檢驗(yàn)。檢驗(yàn)不同狀態(tài)圖中共享的事件的一致性和完整性。,31,5.3 面向?qū)ο蠓治?例5-3】賓館信息系統(tǒng)中旅客和床位的狀態(tài)轉(zhuǎn)換圖。如圖5-8和5-9所示。,圖5-8 旅客的狀態(tài)轉(zhuǎn)換圖,圖5-9 床位在系統(tǒng)中狀態(tài)轉(zhuǎn)換圖,32,5.3 面向?qū)ο蠓治?3. 建立功能模型 功能模型用于系統(tǒng)內(nèi)部數(shù)據(jù)的傳送和處理。功能模型表明,經(jīng)過(guò)處理從輸出數(shù)據(jù)能得到具體的輸出數(shù)據(jù),但忽略參加處理的數(shù)據(jù)以何時(shí)序執(zhí)行。功能模型由多個(gè)數(shù)

19、據(jù)流圖組成,指明從外部輸出,通過(guò)操作和內(nèi)部存儲(chǔ),直到外部輸出的整個(gè)數(shù)據(jù)流情況。功能模型還包括了對(duì)象模型內(nèi)部數(shù)據(jù)間的限制。 功能模型中的數(shù)據(jù)流圖可形成一個(gè)層次結(jié)構(gòu),建立功能模型的主要步驟為: (1) 確定輸出和輸出值; (2) 用數(shù)據(jù)流圖表示功能的依賴性。 (3) 具體描述每個(gè)功能; (4) 確定具體限制。 (5) 對(duì)功能確定優(yōu)化的準(zhǔn)則。,33,5.3 面向?qū)ο蠓治?【案例5-4】賓館客房信息系統(tǒng)數(shù)據(jù)流圖,如圖5-10所示。,圖5-10 旅館客房管理系統(tǒng)數(shù)據(jù)流圖,34,5.3 面向?qū)ο蠓治?5.3.4 UML概述 UML(Unified Modeling Language)是一種定義良好、易于表

20、達(dá)、功能強(qiáng)大且普遍適用的結(jié)構(gòu)化建模語(yǔ)言。 1UML組成 UML綜合OOM使用的各種圖形描述的技術(shù),旨在給出這些圖形描述的語(yǔ)法和語(yǔ)義的語(yǔ)言,是一種標(biāo)準(zhǔn)的圖形化(即可視化)建模語(yǔ)言。從語(yǔ)法語(yǔ)義上,UML由圖和元模型構(gòu)成,圖是UML的語(yǔ)法,而元模型給出圖的含義成為UML語(yǔ)義。,35,5.3 面向?qū)ο蠓治?1)UML的體系結(jié)構(gòu) UML的體系結(jié)構(gòu)如圖5-11所示。從體系結(jié)構(gòu)上,UML由三部分組成:基本構(gòu)造塊、規(guī)則和公用機(jī)制。其中基本構(gòu)造塊又包括3種類型:事物、關(guān)系和圖。事物劃分為3種類型: (1)結(jié)構(gòu)事物。 (2)行為事物。 (3)分組事物。 (4)注釋事物。,36,5.3 面向?qū)ο蠓治?2)UML模型

21、元素 UML是專門設(shè)計(jì)的一種統(tǒng)一 描述面向?qū)ο蠓椒ǖ姆?hào)系 統(tǒng)。 (1)UML的語(yǔ)義。,語(yǔ)義定義在一個(gè)四層(抽象級(jí)別) 建模概念框架中:UML的基本元 模型層、元模型層、模型層、用 戶模型層。,如圖5-11所示,37,5.3 面向?qū)ο蠓治?(2)UML模型元素。UML兩類模型元素。一類模型元素用于表示模型中的某個(gè)概念,如類、對(duì)象、用例、結(jié)點(diǎn)、構(gòu)件、包、接口等;另一類模型元素用于表示模型元素之間相互連接的關(guān)系,主要有關(guān)聯(lián)、泛化(表示一般與特殊的關(guān)系)、依賴、聚集(表示整體與部分的關(guān)系)等。模型元素圖形表示如圖5-12所示。,38,5.3 面向?qū)ο蠓治?圖5-12模型元素圖形表示,39,5.3 面

22、向?qū)ο蠓治?(3)UML模型圖及表示法。常用的UML模型圖有五類圖(共9種圖形)來(lái)定義UML的主要內(nèi)容:用例圖、靜態(tài)圖(類圖、對(duì)象圖)、行為圖(狀態(tài)圖、活動(dòng)圖)、交互圖(順序圖、協(xié)作圖)、實(shí)現(xiàn)圖(構(gòu)件圖、配置圖)。 描述軟件系統(tǒng)動(dòng)態(tài)特性使用5種圖:用例圖、順序圖、協(xié)作圖、狀態(tài)圖和活動(dòng)圖??赏ㄟ^(guò)表5-1可見(jiàn)UML的視圖及其所包括的圖及與每種圖有關(guān)的主要概念。,40,5.3 面向?qū)ο蠓治?表5-1 UML視圖和圖的主要概念,【注意】容易混淆的是有時(shí)也將圖稱為模型,因?yàn)閮烧叨及唤M模型元素的信息。這兩個(gè)概念的區(qū)別是,模型描述的是信息的邏輯結(jié)構(gòu),而圖是模型的特殊物理表示。,41,5.3 面向?qū)ο蠓治?/p>

23、,3)UML模型結(jié)構(gòu) 根據(jù)UML語(yǔ)義,UML模型結(jié)構(gòu)可分為元元模型、元模型、模型和用戶模型四個(gè)抽象層次結(jié)構(gòu),如圖5-13所示。層次關(guān)系是下一層為上一層的基礎(chǔ),上一層為下一層的實(shí)例。,圖5-13 UML模型結(jié)構(gòu)/示例,42,5.3 面向?qū)ο蠓治?2. UML模型及建模規(guī)則 OOM主要有4種模型:用例模型、靜態(tài)模型、動(dòng)態(tài)模型和實(shí)現(xiàn)模型。 UML建模規(guī)則包括對(duì)以下內(nèi)容的描述。 (1)名字:任何一個(gè)UML成員都必須包含一個(gè)名字。 (2)作用域:UML成員所定義的內(nèi)容起作用的上下文環(huán)境。 (3)可見(jiàn)性:UML成員能被其他成員引用的方式。 (4)完整性:UML成員之間互相連接的合法性和一致性。 (5)運(yùn)行

24、屬性:UML成員在運(yùn)行時(shí)的特性。,43,5.3 面向?qū)ο蠓治?3. UML特點(diǎn)及應(yīng)用 (1)UML的特點(diǎn)。主要包括: 統(tǒng)一的標(biāo)準(zhǔn),易使用,可視化,表達(dá)力強(qiáng),易于在不同背景的人員之間進(jìn)行 交流。 UML可運(yùn)用于任何軟件開(kāi)發(fā)過(guò)程,各種模型都可采用UML建模。 UML內(nèi)部有擴(kuò)展機(jī)制,可以對(duì)一些概念進(jìn)行進(jìn)一步地?cái)U(kuò)展。 UML的一個(gè)最重要的特征是用于建模。 模型可視化。,44,5.3 面向?qū)ο蠓治?(2)使用準(zhǔn)則 使用準(zhǔn)則主要包括:選擇使用合適的UML圖,只對(duì)關(guān)鍵事物建立模型,分層次地畫模型圖,模型應(yīng)具有協(xié)調(diào)性,模型和模型的元素大小適中。 (3)應(yīng)用領(lǐng)域 建立用例模型主要是識(shí)別角色和用例,給出系統(tǒng)用例視

25、圖(可以分層次的)描述和每個(gè)用例的實(shí)例腳本(文字)描述。UML中,用例視圖由角色、用例、關(guān)聯(lián)和系統(tǒng)邊界組成。,45,5.3 面向?qū)ο蠓治?【案例5-5】保險(xiǎn)業(yè)務(wù)系統(tǒng)的用例視圖例,如圖5-14所示,圖5-14 保險(xiǎn)業(yè)務(wù)系統(tǒng)的用例視圖例,46,5.4 面向?qū)ο笤O(shè)計(jì),課堂討論: (1) OOA的原則是什么? (2) OOA的主要任務(wù)和過(guò)程有哪些? (3) OOA的主要方法有哪些?,47,5.4 面向?qū)ο笤O(shè)計(jì),5.4.1面向?qū)ο笤O(shè)計(jì)的準(zhǔn)則及任務(wù) 1.面向?qū)ο笤O(shè)計(jì)準(zhǔn)則 OOD準(zhǔn)則包括5個(gè)方面: (1)抽象。強(qiáng)調(diào)實(shí)體本質(zhì)內(nèi)在屬性,忽略無(wú)關(guān)緊要屬性。 (2)信息隱蔽。 (3)高內(nèi)聚。 (4)低耦合。 (5)

26、可重用。,48,5.4 面向?qū)ο笤O(shè)計(jì),2.OOD的基本任務(wù) OOD是OOM在軟件設(shè)計(jì)階段應(yīng)用與擴(kuò)展,是將OOA 所創(chuàng)建的分析模型轉(zhuǎn)換為設(shè)計(jì)模型,解決“怎么做”的問(wèn)題。主要目標(biāo)是提高開(kāi)發(fā)效率、質(zhì)量和可維護(hù)性。 (1)系統(tǒng)設(shè)計(jì)。主要任務(wù)是:將分析模型中緊密相關(guān)的類劃分為子系統(tǒng)(也稱為主題),子系統(tǒng)應(yīng)具有良好的接口,且其中的類相互協(xié)作。 (2)對(duì)象設(shè)計(jì)。模塊、數(shù)據(jù)結(jié)構(gòu)及接口等都集中地體現(xiàn)在對(duì)象和對(duì)象層次結(jié)構(gòu)中,系統(tǒng)開(kāi)發(fā)的全過(guò)程都與對(duì)象層次結(jié)構(gòu)直接相關(guān),是面向?qū)ο笙到y(tǒng)的基礎(chǔ)和核心。 (3)設(shè)計(jì)優(yōu)化。,49,5.4 面向?qū)ο笤O(shè)計(jì),5.4.2 系統(tǒng)設(shè)計(jì)的過(guò)程 在以O(shè)OM設(shè)計(jì)軟件時(shí),OOD模型(求解域?qū)ο竽?/p>

27、型)與OOA模型(問(wèn)題域?qū)ο竽P?類似,組成的5個(gè)層次為:主題層、類與對(duì)象層、結(jié)構(gòu)層、屬性層和服務(wù)層,大多數(shù)系統(tǒng)的OOD模型,在邏輯上都由4大部分組成對(duì)應(yīng)組成目標(biāo)系統(tǒng)的4個(gè)子系統(tǒng):?jiǎn)栴}域子系統(tǒng)、人機(jī)交互子系統(tǒng)、任務(wù)管理子系統(tǒng)和數(shù)據(jù)管理子系統(tǒng)。分別包括:有效的人機(jī)交互所必須的實(shí)際顯示和輸入;放置OOA結(jié)果并管理分析的某些類及對(duì)象、結(jié)構(gòu)、屬性和方法;任務(wù)定義、通信和協(xié)調(diào)、硬件分配及外部系統(tǒng);對(duì)永久性數(shù)據(jù)的訪問(wèn)和管理。OOD模型如圖5-15所示。,50,5.4 面向?qū)ο笤O(shè)計(jì),圖5-15 OOD模型,51,5.4 面向?qū)ο笤O(shè)計(jì),OOD是將分析階段獲得的需求,轉(zhuǎn)變成符合成本和質(zhì)量要求的、抽象的系統(tǒng)實(shí)現(xiàn)方

28、案的過(guò)程。分為系統(tǒng)設(shè)計(jì)和對(duì)象設(shè)計(jì)兩個(gè)階段設(shè)計(jì),系統(tǒng)設(shè)計(jì)確定實(shí)現(xiàn)系統(tǒng)的策略和目標(biāo)系統(tǒng)的高層結(jié)構(gòu),對(duì)象設(shè)計(jì)確定解空間中的類、關(guān)聯(lián)、接口形式及實(shí)現(xiàn)服務(wù)的算法。系統(tǒng)設(shè)計(jì)過(guò)程主要按照以下5個(gè)步驟進(jìn)行。 1 系統(tǒng)分解 軟件系統(tǒng)中子系統(tǒng)結(jié)構(gòu)的組成有兩種方案:水平層次組織和塊狀組織。 (1)層次組織。層次結(jié)構(gòu)可以分為兩種模式:封閉式和開(kāi)放式。 (2)塊狀組織。將系統(tǒng)分解成幾個(gè)相對(duì)獨(dú)立的、低耦合的子系統(tǒng),每一子系統(tǒng)相當(dāng)于一塊,每塊提供一種類型的服務(wù)。 (3)設(shè)計(jì)系統(tǒng)的拓補(bǔ)結(jié)構(gòu)。可利用層次和塊的各種組合,將多個(gè)子系統(tǒng)構(gòu)成完整的軟件系統(tǒng)。 2.設(shè)計(jì)問(wèn)題域子系統(tǒng) 設(shè)計(jì)問(wèn)題域子系統(tǒng)的主要工作為:調(diào)整需求、重用設(shè)計(jì)、組合

29、問(wèn)題域類、添加一般化類等。,52,5.4 面向?qū)ο笤O(shè)計(jì),3. 設(shè)計(jì)人機(jī)交互子系統(tǒng) 通常設(shè)計(jì)人機(jī)交互子系統(tǒng)時(shí),遵循以下準(zhǔn)則和策略。 1)設(shè)計(jì)人機(jī)交互界面的準(zhǔn)則 (1)達(dá)到一致。盡量使術(shù)語(yǔ)、步驟和動(dòng)作達(dá)到完全一致。 (2)提高效率。盡量減少擊鍵次數(shù)、點(diǎn)擊鼠標(biāo)的頻率及下拉菜單的距離,減少輸出時(shí)間。 (3)反饋及時(shí)。使用戶及時(shí)了解系統(tǒng)正在完成操作任務(wù)的進(jìn)展情況。 (4)提供“撤銷”命令。使用戶及時(shí)撤銷錯(cuò)誤動(dòng)作,避免/減少錯(cuò)誤的影響。 (5)減少記憶。最好不用記住操作信息再使用界面,盡量簡(jiǎn)單或在操作同時(shí)給出提示。 (6)幫助使用。提供聯(lián)機(jī)幫助和參考資料,供用戶隨時(shí)查閱。 (7)便捷友好。易于操作,快捷新

30、穎,富有吸引力。,53,5.4 面向?qū)ο笤O(shè)計(jì),2)設(shè)計(jì)人機(jī)交互子系統(tǒng)的策略 (1)用戶分類。有利于設(shè)計(jì)和實(shí)現(xiàn)人機(jī)交互子系統(tǒng)各項(xiàng)功能。 按組織層次分類:行政人員、管理人員、專業(yè)技術(shù)人員、其他辦事員。 按職能分類:顧客、職員。 按技能層次分類:外行、初學(xué)者、熟練者、專家。 (2)用戶描述。對(duì)用戶的描述主要包括以下6個(gè)方面: 用戶具體類型。 使用系統(tǒng)所要達(dá)到的目的。 特征(年齡、性別、受教育程度、限制因素等)。 關(guān)鍵的成功因素(需求、愛(ài)好、習(xí)慣等)。 業(yè)務(wù)及操作的技能水平。 完成本崗位業(yè)務(wù)工作的腳本。,54,5.4 面向?qū)ο笤O(shè)計(jì),(3)設(shè)計(jì)命令層次。有利于設(shè)計(jì)和實(shí)現(xiàn)人機(jī)交互子系統(tǒng)各種操作命令。 詳細(xì)

31、調(diào)研現(xiàn)有的人機(jī)交互含義、準(zhǔn)則和操作流程。 確定初始的命令層次:如一系列選擇屏幕、一個(gè)按鈕或一系列圖標(biāo)。 精化命令層次:調(diào)研命令的次序及歸納關(guān)系、命令層次的寬度和深度要小且操作簡(jiǎn)單。 (4)設(shè)計(jì)人機(jī)交互類。便于提供人機(jī)交互的類別操作。如Visual C+語(yǔ)言提供 了MFC類庫(kù),設(shè)計(jì)人機(jī)交互類時(shí),只需從其類庫(kù)中選擇合適的類,再派生出需要的類。,55,5.4 面向?qū)ο笤O(shè)計(jì),4.設(shè)計(jì)任務(wù)管理子系統(tǒng) (1)分析并發(fā)性。 (2)設(shè)計(jì)任務(wù)管理子系統(tǒng)。通常有以下6項(xiàng)工作:確定事件驅(qū)動(dòng)任務(wù)、辨識(shí)時(shí)鐘驅(qū)動(dòng)任務(wù)、辨識(shí)優(yōu)先及關(guān)鍵任務(wù)、明確協(xié)調(diào)者、評(píng)審任務(wù)、確定資源需求。 (3)定義任務(wù)。主要工作包括:明確具體任務(wù)、協(xié)

32、調(diào)工作方法和通信方式。 5 設(shè)計(jì)數(shù)據(jù)管理子系統(tǒng) (1)選取數(shù)據(jù)存儲(chǔ)管理模式。 (2)設(shè)計(jì)數(shù)據(jù)管理子系統(tǒng)。,56,5.4 面向?qū)ο笤O(shè)計(jì),5.4.3 對(duì)象設(shè)計(jì)的過(guò)程 1) 對(duì)象描述 對(duì)象的設(shè)計(jì)描述可選擇以下2種形式。 (1)協(xié)議描述。 (2)實(shí)現(xiàn)描述。 2) 設(shè)計(jì)類中的服務(wù) (1)確定類中應(yīng)有的服務(wù)。 (2)設(shè)計(jì)實(shí)現(xiàn)服務(wù)的方法。 3) 設(shè)計(jì)類中的關(guān)聯(lián) 4) 實(shí)現(xiàn)鏈屬性 5) 優(yōu)化設(shè)計(jì),57,5.4 面向?qū)ο笤O(shè)計(jì),5.4.4 類設(shè)計(jì)的目標(biāo)及方法 1. 類設(shè)計(jì)的主要目標(biāo) 類設(shè)計(jì)的主要目標(biāo): (1)單一概念的模型。 (2)可復(fù)用的“插接相容性”構(gòu)件。 (3)可靠的構(gòu)件。 (4)可集成的構(gòu)件。,58,5.

33、4 面向?qū)ο笤O(shè)計(jì),2. 類設(shè)計(jì)的方法 類的設(shè)計(jì)描述包括: (1)協(xié)議描述。 (2)實(shí)現(xiàn)描述。 課堂討論: (1) OOD的準(zhǔn)則和任務(wù)有哪些? (2) 系統(tǒng)設(shè)計(jì)及對(duì)象設(shè)計(jì)的過(guò)程分別是什么? (3) 類設(shè)計(jì)的目標(biāo)和方法有哪些?,59,5.5 面向?qū)ο蠓治龊驮O(shè)計(jì)實(shí)例,5.5 面向?qū)ο蠓治龊驮O(shè)計(jì)實(shí)例 5.5.1 圖書管理信息系統(tǒng)OOA實(shí)例,【案例5-6】圖書管理信息系統(tǒng)(以下簡(jiǎn)稱圖書館系統(tǒng)或系統(tǒng)),院校廣大師生都使用過(guò)比較熟悉圖書借閱、還書和其它方面的實(shí)際業(yè)務(wù)過(guò)程、角色、用例和行為等。 具體問(wèn)題描述: (1)一個(gè)圖書館藏有圖書和期刊雜志兩大類書籍,每種圖書/雜志可以有多冊(cè)。 (2)圖書館可以維護(hù)(注冊(cè)

34、、更新和刪除)圖書資料。 (3)圖書管理員在系統(tǒng)支持下,為借書者進(jìn)行借還圖書服務(wù)。 (4)所有人員可以網(wǎng)上瀏覽圖書館的圖書信息和各種告示。 (5)借書者可以預(yù)約暫時(shí)借閱不到的書或雜志。 (6)系統(tǒng)能夠在所有流行的技術(shù)環(huán)境下運(yùn)行,有一個(gè)良好的圖形交互界面。 (7)系統(tǒng)應(yīng)該具有良好的可擴(kuò)展性。,60,5.4 面向?qū)ο笤O(shè)計(jì),1建立用例模型 (1)畫出網(wǎng)上圖書館系統(tǒng)的用例視圖。如圖5-16所示。 (2)給出系統(tǒng)每個(gè)用例的腳本描述,包括正常情景和異常情景 的腳本描述。,圖5-16 圖書館系統(tǒng)的用例視圖,61,5.5 面向?qū)ο蠓治龊驮O(shè)計(jì)實(shí)例,2建立侯選類 通過(guò)篩選的侯選類有3類:借書者類、圖書書目類和圖書

35、標(biāo)題類,分別 建立它們的CRC卡。如表5-3所示。 表 5-3 圖書館系統(tǒng)的CRC卡,62,5.5 面向?qū)ο蠓治龊驮O(shè)計(jì)實(shí)例,3. 構(gòu)建類圖 建立一個(gè)“借/還”類來(lái)存儲(chǔ)借書者的借書記錄,以一個(gè)預(yù)約者的“預(yù)約”類來(lái)存 儲(chǔ)預(yù)約記錄。最終的類包括:借書者、圖書標(biāo)題、圖書書目、借/還、預(yù)約。構(gòu) 成了圖書館系統(tǒng)的類圖,如圖5-17所示。,預(yù)約3.,63,5.5 面向?qū)ο蠓治龊驮O(shè)計(jì)實(shí)例,4. 動(dòng)態(tài)建模 圖書館系統(tǒng)借書(未預(yù)約)功能的動(dòng)態(tài)建模,可以選擇使用時(shí)序圖、協(xié)作圖、狀態(tài)圖和活動(dòng)圖進(jìn)行描述。分別如圖5-18、圖5-19和圖5-20所示。,64,5.5 面向?qū)ο蠓治龊驮O(shè)計(jì)實(shí)例,65,5.5 面向?qū)ο蠓治龊驮O(shè)

36、計(jì)實(shí)例,66,5.5 面向?qū)ο蠓治龊驮O(shè)計(jì)實(shí)例,5.5.2 圖書管理信息系統(tǒng)OOD實(shí)例 1領(lǐng)域建模 通過(guò)對(duì)圖書館系統(tǒng)進(jìn)一步分析,將系統(tǒng)中的領(lǐng)域和關(guān)鍵類條理化,得出商業(yè)域類模型。 圖書館系統(tǒng)類操作的細(xì)化,分析時(shí)通過(guò)協(xié)作圖、時(shí)序圖、活動(dòng)圖等給出描述。其中,圖書館系統(tǒng)商業(yè)域類模型如圖5-21所示,帶有借書窗口的時(shí)序圖如圖5-22所示。,67,5.5 面向?qū)ο蠓治龊驮O(shè)計(jì)實(shí)例,圖5-21 圖書館系統(tǒng)商業(yè)域類模型,68,5.5 面向?qū)ο蠓治龊驮O(shè)計(jì)實(shí)例,69,5.5 面向?qū)ο蠓治龊驮O(shè)計(jì)實(shí)例,2結(jié)構(gòu)設(shè)計(jì)圖書館系統(tǒng)的架構(gòu)可使用UML的包圖(四個(gè)子系統(tǒng))進(jìn)行描述。系統(tǒng)架構(gòu)設(shè)計(jì)成四個(gè)子系統(tǒng)包為:用戶接口包、業(yè)務(wù)對(duì)象包

37、數(shù)據(jù)庫(kù)包和應(yīng)用包。 圖書館系統(tǒng)架構(gòu)的包圖如圖5-23所示,另外,圖書借閱子系統(tǒng)結(jié)構(gòu)如圖5-24所示。,圖5-23 圖書館系統(tǒng)架構(gòu)的包圖,70,5.5 面向?qū)ο蠓治龊驮O(shè)計(jì)實(shí)例,圖5-24 圖書借閱子系統(tǒng),71,5.5 面向?qū)ο蠓治龊驮O(shè)計(jì)實(shí)例,3細(xì)節(jié)設(shè)計(jì) UML中的動(dòng)態(tài)模型用于顯示類的對(duì)象在指定的情況下的動(dòng)作,用例描述用于驗(yàn)證用例在設(shè)計(jì)中的處理。需要進(jìn)行3類/對(duì)象的細(xì)節(jié)設(shè)計(jì):永久存儲(chǔ)對(duì)象、細(xì)化業(yè)務(wù)對(duì)象和用戶界面類。圖書館系統(tǒng)(部分)類屬性和操作如圖5-25所示,而用戶接口(部分)包類圖如圖5-26所示。,72,5.5 面向?qū)ο蠓治龊驮O(shè)計(jì)實(shí)例,圖5-25 圖書館系統(tǒng)(部分)類屬性和操作,73,5.5

38、 面向?qū)ο蠓治龊驮O(shè)計(jì)實(shí)例,圖5-26 用戶接口(部分)包類圖,74,5.5 面向?qū)ο蠓治龊驮O(shè)計(jì)實(shí)例,4設(shè)計(jì)進(jìn)化 開(kāi)發(fā)的系統(tǒng)便于維護(hù)是OOD方法一個(gè)重要優(yōu)勢(shì)。主要由于對(duì)象可被當(dāng)作一個(gè)獨(dú)立的實(shí)體進(jìn)行理解和修改,實(shí)現(xiàn)變更對(duì)象和添加新服務(wù)不會(huì)影響系統(tǒng)中其他對(duì)象;對(duì)象也可以作為可復(fù)用的組件,既可減少了設(shè)計(jì)、編程和維護(hù)的費(fèi)用,又降低了開(kāi)發(fā)風(fēng)險(xiǎn)。如在借/還書功能中,若要添加預(yù)約功能,則只需增加一個(gè)預(yù)約類,并在“Borrower”類中增加預(yù)約操作即可。 課堂討論: (1) 圖書管理信息系統(tǒng)面向?qū)ο蠓治龅囊c(diǎn)是什么? (2) 圖書管理信息系統(tǒng)OOD的要點(diǎn)有那些?,75,5.6 實(shí)驗(yàn)五 Rational Rose

39、應(yīng)用,5.6.1用Rational Rose繪制用例圖 1 實(shí)驗(yàn)環(huán)境 Windows、Rational Software公司的Rational Rose應(yīng)用軟件 2 實(shí)驗(yàn)?zāi)康?(1)了解Rational Rose工具軟件的組成及功能 (2)掌握用Rational Rose畫用例圖的具體的使用方法 3 實(shí)驗(yàn)內(nèi)容 (1)設(shè)計(jì)用例圖(Use Case框圖) (2)用Rational Rose,在Use Case視圖中創(chuàng)建Use Case框圖。,76,5.6 實(shí)驗(yàn)五 Rational Rose應(yīng)用,4 實(shí)驗(yàn)要求 建立一個(gè)Use Case框圖。某航空公司為方便旅客,開(kāi)發(fā)一個(gè)機(jī)票預(yù)定系統(tǒng)。旅行社將預(yù)定機(jī)票

40、的旅客信息(姓名、性別、工作單位,身份證號(hào)碼、旅行時(shí)間、施行目的地等)輸入系統(tǒng),系統(tǒng)為旅客安排航班,印出取票通知和帳單,旅客在飛機(jī)起飛前一天憑取票通知單和帳單交款取票,系統(tǒng)校對(duì)無(wú)誤即印出機(jī)票給旅客。 學(xué)時(shí)安排:任務(wù)1-2(2節(jié)),共計(jì)4學(xué)時(shí)。,77,5.6 實(shí)驗(yàn)五 Rational Rose應(yīng)用,5 實(shí)驗(yàn)步驟 Use Case框圖表示整個(gè)機(jī)構(gòu)提供的功能,可用于解答3方面問(wèn)題:公司業(yè)務(wù)是什么? 為何要建立這個(gè)系統(tǒng)?以及使用這些系統(tǒng)的用戶。Use Case框圖在業(yè)務(wù)建?;顒?dòng)期間大量用于設(shè)置系統(tǒng)情景和形成創(chuàng)建使用案例的基礎(chǔ)。 1)使用Rational Rose畫Use Case框圖 (1)點(diǎn)擊“開(kāi)始

41、”在“程序”中找到“Rational rose”點(diǎn)擊“Rational Rose Enterprise Edition”進(jìn)入該軟件。如圖5-27所示。,78,5.6 實(shí)驗(yàn)五 Rational Rose應(yīng)用,圖5-27 用“開(kāi)始”菜單啟動(dòng)Rational Rose,79,5.6 實(shí)驗(yàn)五 Rational Rose應(yīng)用,(2)在該軟件出現(xiàn)的界面左邊將看到一個(gè)“Use Case View”雙擊后出現(xiàn)一個(gè)“main”,在雙擊“main”會(huì)彈出一個(gè)界面,可此界面上開(kāi)始繪制用例圖。如圖5-28所示。,圖5-28 畫圖界面上繪制用例圖,80,5.6 實(shí)驗(yàn)五 Rational Rose應(yīng)用,(3)在稍微靠左的

42、位置將會(huì)看到Use Case框圖工具欄圖標(biāo),下面介紹一下這些圖表含義,如圖5-29所示。,圖5-29 Use Case框圖工具欄圖標(biāo)含義,81,5.6 實(shí)驗(yàn)五 Rational Rose應(yīng)用,2)繪制與保存 (1)根據(jù)預(yù)習(xí)實(shí)驗(yàn)是所畫的用例圖草稿和Use Case工具欄圖標(biāo)繪制用例圖 (2)在繪制完成后點(diǎn)擊保存,會(huì)彈出選擇保存位置的對(duì)話框,選擇地址保存即可。,82,5.6 實(shí)驗(yàn)五 Rational Rose應(yīng)用,下面以一個(gè)教師的實(shí)例,說(shuō)明一下Rational Rose的使用。 USE CASE框圖顯示教師管理系統(tǒng)使用案例與角色間的交互,本例中,管理員啟動(dòng)幾個(gè)使用案例:基本信息管理、課程管理、教師

43、職稱管理、科研項(xiàng)目管理、基本課程查詢、科研項(xiàng)目查詢。教師也可以啟動(dòng)基本課程查詢,科研項(xiàng)目查詢使用案例。箭頭從使用案例到角色表示其產(chǎn)生一些角色要使用的信息。如圖5-30所示。,83,5.6 實(shí)驗(yàn)五 Rational Rose應(yīng)用,圖5-30 USE CASE框圖,84,5.6 實(shí)驗(yàn)五 Rational Rose應(yīng)用,5.6.2 用Rational Rose繪制類圖 1 實(shí)驗(yàn)環(huán)境 Windows、IBM公司的Rational Rose應(yīng)用軟件。 2 實(shí)驗(yàn)?zāi)康?(1)了解Rational Rose工具軟件的組成及功能; (2)掌握Rational Rose中繪制類圖工具使用方法。 3 實(shí)驗(yàn)內(nèi)容 (1

44、)通過(guò)Rational Rose工具軟件的界面,了解其組成及功能; (2)利用Rational Rose工具軟件對(duì)選題中的類圖,按照如下要求和步驟進(jìn)行繪制。,85,5.6 實(shí)驗(yàn)五 Rational Rose應(yīng)用,4 實(shí)驗(yàn)要求 某航空公司為方便旅客,開(kāi)發(fā)一個(gè)機(jī)票預(yù)定系統(tǒng)。旅行社將預(yù)定機(jī)票的旅客信息(姓名、性別、工作單位,身份證號(hào)碼、旅行時(shí)間、施行目的地等)輸入該系統(tǒng),系統(tǒng)為旅客安排航班,印出取票通知和帳單,旅客在飛機(jī)起飛前一天憑取票通知單和帳單交款取票,系統(tǒng)校對(duì)無(wú)誤即印出機(jī)票給旅客。 同時(shí)繪制出該機(jī)票預(yù)定系統(tǒng)的類圖。,86,5.6 實(shí)驗(yàn)五 Rational Rose應(yīng)用,5 實(shí)驗(yàn)步驟 類圖表示不同的實(shí)體(人、事物和數(shù)據(jù))彼此相關(guān),顯示了系統(tǒng)的靜態(tài)結(jié)構(gòu)。類圖可用于表示邏輯類,邏輯類通常就是業(yè)務(wù)人員所談及的事物種類,如樂(lè)隊(duì)、CD、廣播劇、貸款、住房抵押、汽車信貸和利率等。類圖還可用于表示實(shí)現(xiàn)類,即程序員處理的實(shí)體。實(shí)現(xiàn)類圖或許會(huì)與邏輯類圖顯示一些相同的類。但是,由于很可能具有對(duì)Vector和HashMap這種事物的引用,實(shí)現(xiàn)類圖不會(huì)使用相同的屬性進(jìn)行描述。 (1) 啟動(dòng)Rational Rose。 (2) 系統(tǒng)會(huì)自動(dòng)建立一個(gè)新的mdl文件,在此文件中,繪制類圖。 (3) 界面右邊的空白區(qū)域?yàn)楣ぷ鲄^(qū),在工作區(qū)

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論