版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、教學(xué)目的:了解面向?qū)ο笤O(shè)計的概念和方法教學(xué)重點:理解面向?qū)ο蟮脑O(shè)計的基本原理,掌 握面向?qū)ο蟮脑O(shè)計方法。教學(xué)難點:對用例圖的理解 教 具:多媒體教室、電子教案作 業(yè):,第10章 面向?qū)ο蟮脑O(shè)計方法,第10章 面向?qū)ο蟮脑O(shè)計方法,本章采用基于UML的面向?qū)ο笤O(shè)計方法將分析模型轉(zhuǎn)換為設(shè)計模型。如第六章所述,面向?qū)ο蟮姆治瞿P椭饕身攲蛹軜?gòu)圖、用例與用例圖、領(lǐng)域概念模型構(gòu)成;設(shè)計模型則包含以包圖表示的
2、軟件體系結(jié)構(gòu)圖、以交互圖表示的用例實現(xiàn)圖、完整精確的類圖、針對復(fù)雜對象的狀態(tài)圖和用以描述流程化處理過程的活動圖等。為了完成這些轉(zhuǎn)換設(shè)計人員必須處理好下列問題: (1) 針對分析模型中的用例,設(shè)計實現(xiàn)方案,實現(xiàn)方案用UML交互 圖表示 (2)設(shè)計技術(shù)支撐設(shè)施 (3)設(shè)計用戶界面 (4)針對分析模型中的領(lǐng)域概念模型以及第(2)、(3)兩步引用的的新類,完整、精確地確定每個類的屬性和操作,并完整地標(biāo)示
3、類之間的關(guān)系,10.1 設(shè)計用例實現(xiàn)方案,UML的交互圖(順序圖、協(xié)作圖)適于用例實現(xiàn)方案的表示。設(shè)計方法包含三步:(1)提取邊界類、實體類和控制類(2)構(gòu)造交互圖(3)根據(jù)交互圖精化類圖,10.1.1 順序圖,順序圖用來描述對象之間動態(tài)的交互關(guān)系,著重表現(xiàn)對象間消息傳遞的時間順序。 在順序圖中,參與交互的對象位于頂端的水平軸上,垂直軸表示時間,時間推移的方向是自上而下。對象下方的垂直虛線表示對象的生命線。對象生命
4、的終結(jié)用叉號表示;附在對象生命線上的矩形框表示對象在此期間內(nèi)活躍;對象之間的通信表現(xiàn)為對象生命線之間的消息傳遞。 UML的消息有四種類型: (1)簡單消息 (2)同步消息 (3)異步消息 (4)返回消息,10.1 設(shè)計用例實現(xiàn)方案,10.1.2 協(xié)作圖協(xié)作圖用于描述相互合作的對象間的交互關(guān)系和連接關(guān)系。在協(xié)作圖中,對象可以在二維平面中自由占位。區(qū)別:順
5、序圖強調(diào)消息交互的時間序,而協(xié)作圖強調(diào)交互對象間的靜態(tài)鏈接關(guān)系。,10.1.3 提取邊界類、實體類和控制類,邊界類---用于描述目標(biāo)系統(tǒng)與外部環(huán)境之間的交互,并負責(zé)實現(xiàn)如下功能: (1)界面控制 (2)外部接口 (3)環(huán)境隔離>作為特殊標(biāo)識實體類----表示目標(biāo)軟件系統(tǒng)中具有持久意義的信息項及其操作。>作為特殊標(biāo)識控制類---作為完成用例任務(wù)的責(zé)任承當(dāng)者,協(xié)調(diào)、控制其他類共同完成用
6、例規(guī)定的功能或行為。>作為特殊標(biāo)識,10.1.4 構(gòu)造交互圖,在標(biāo)識了邊界類、實體類和控制類之后,接著把分析模型中的用例描述轉(zhuǎn)化成UML的交互圖。定義:順序圖描述交互的對象在特定的時間周期內(nèi)的消息傳遞情況,同時還描述了對象之間相互作用,并詳細地說明了類、接口,以及它們可能使用的操作行為。作用:順序圖一般用來描述用例的實現(xiàn)過程。布局規(guī)則:框圖頂部顯示了涉及的角色和對象,并表明對象所屬類的對象一般以“對象名:類名”的方式標(biāo)識。對
7、象的下方用垂直虛線表示對象的生命線,即對象在某段時間內(nèi)存在。附著在生命線上的矩形框表示對象在此段時間內(nèi)活躍。對象間的通信表現(xiàn)為對象的生命線之間的消息傳遞。在消息邊上需附加消息名和消息參數(shù)。有時也以序號強調(diào)消息的時序。消息的源對象和目標(biāo)對象可以相同??梢栽谙⒚懊娴姆嚼ㄌ栔袝鴮憲l件表達式,表明僅當(dāng)條件成立時該消息才發(fā)送。,,下圖顯示了考場管理的實現(xiàn)過程。監(jiān)考人員在登錄窗口w_login中輸入用戶口令,登錄窗口校驗口令,如果口令正確,系統(tǒng)
8、打開監(jiān)考主控窗口w_server_main,否則報錯;登錄成功后,監(jiān)考人員首先發(fā)放試卷,然后發(fā)開考指令,此時系統(tǒng)進入考場監(jiān)控狀態(tài),考試結(jié)束監(jiān)考人員發(fā)結(jié)束考試指令,最后發(fā)評分指令,完成監(jiān)考任務(wù)。,,10.1.4 構(gòu)造交互圖,10.1.4 構(gòu)造交互圖,定義:協(xié)作圖顯示的信息與順序圖相同。它們之間的區(qū)別主要表現(xiàn)在協(xié)作圖集中在活動著的對象上,它表現(xiàn)的是相互協(xié)作的對象之間的消息傳遞,不參照時間;而順序圖側(cè)重于在某種特定的情形下對象之間消息傳遞的時
9、序性。下面的協(xié)作圖對應(yīng)于上面的順序圖。協(xié)作圖通過在消息上加序號表示消息傳遞的次序。,,10.1.5 精化類圖,類圖描述系統(tǒng)的靜態(tài)結(jié)構(gòu),類圖的節(jié)點表示系統(tǒng)中的類及其屬性和操作,類圖的邊表示類之間的聯(lián)系,包括繼承、關(guān)聯(lián)、依賴、聚合等。在考試系統(tǒng)中,考生類和成績類之間的關(guān)聯(lián)關(guān)系。圖元表示:類圖中每個類用方框表示,分成三部分,第一部分為類名,第二部分為類包含的屬性,第三部分為類的操作,即類提供的功能。分析人員可以用類圖顯示系統(tǒng)的細節(jié),開發(fā)
10、人員可以用類圖來開發(fā)類。類圖可以顯示用例圖中類的相互關(guān)系,也可顯示整個系統(tǒng)或子系統(tǒng)。,10.1.5 精化類圖,考生成績類圖,10.2 設(shè)計技術(shù)支撐方案,技術(shù)支撐方案應(yīng)該為多個用例的軟件實現(xiàn)提供技術(shù)服務(wù),所以,它應(yīng)該成為整個目標(biāo)軟件系統(tǒng)中全局性的公共技術(shù)平臺。數(shù)據(jù)持久存儲服務(wù)并行與同步控制服務(wù)技術(shù)支撐方案與用例實現(xiàn)方案的融合,10.3 設(shè)計用戶界面,,需求分析和軟件設(shè)計階段都必須考慮人機交互問題。在需求分析階段要確定人機交互的屬性
11、和外部服務(wù),而在設(shè)計階段要給出有關(guān)人機交互的所有系統(tǒng)成份,包括用戶如何操作系統(tǒng)、系統(tǒng)如何響應(yīng)命令和系統(tǒng)顯示信息的報表格式等。用戶界面設(shè)計策略與步驟如下: (1) 熟悉用戶并對用戶分類 (2)按用戶類別分析用戶的工作流程和習(xí)慣 (3)設(shè)計命令系統(tǒng)并進行優(yōu)化 (4)設(shè)計用戶界面的各種細節(jié) (5)增加用戶界面專用的類與對象 (6)利用快速原型法改進界面設(shè)計,10.4 精化設(shè)計模型
12、,對設(shè)計模型精化需要考慮以下任務(wù): (1)以頂層架構(gòu)圖為基礎(chǔ),精化目標(biāo)軟件系統(tǒng)的體系結(jié)構(gòu) (2)精化類之間的關(guān)系 (3)精化類的屬性和操作 (4)針對具有明顯狀態(tài)轉(zhuǎn)換特征的類,設(shè)計狀態(tài)圖 (5)針對比較復(fù)雜的類圖方法,設(shè)計活動圖,10.4.1 狀態(tài)圖,狀態(tài)圖用來描述一個特定類的對象的所有可能狀態(tài)以及因事件而引起的狀態(tài)轉(zhuǎn)移。狀態(tài)圖的節(jié)點包含狀態(tài)名和活動兩部分內(nèi)容?;顒邮强蛇x的,可分為如下四種:(
13、1)entry活動。一旦對象進入該狀態(tài),相應(yīng)的活動即被觸發(fā)(2)exit活動。一旦對象離開該狀態(tài),相應(yīng)的活動被觸發(fā)執(zhí)行(3)do活動。當(dāng)對象位于該狀態(tài)時,執(zhí)行相應(yīng)活動,對象的狀態(tài)不變(4)on-event。當(dāng)對象位于該狀態(tài)并且接收到某一事件后,執(zhí)行相應(yīng)的事件響應(yīng)活動,在狀態(tài)圖的狀態(tài)轉(zhuǎn)移邊上可以附加以下信息:事件名(事件參數(shù)表)[條件表達式]/ 動作 ^事件目標(biāo).事件名(事件參數(shù)表)。第一個事件是引發(fā)對象狀態(tài)遷移的觸發(fā)事件;條件表達
14、式表示此轉(zhuǎn)移邊所代表的狀態(tài)遷移的發(fā)生條件;動作表示對象在進行狀態(tài)遷移時同時還將執(zhí)行的處理功能;最后一個事件表示對象在進行狀態(tài)遷移時還可以向其它對象發(fā)送的事件。所有上述語法成分都是可選項,并不是必須的。如果狀態(tài)轉(zhuǎn)移邊上沒有觸發(fā)事件,則表明對象在到達該邊的源節(jié)點時,內(nèi)部活動執(zhí)行完畢后自動觸發(fā)狀態(tài)遷移,但是否真正發(fā)生遷移還取決于條件表達式的真假。如果條件表達式不存在,則認為遷移條件恒成立。,10.4.1 狀態(tài)圖,10.4.1 狀態(tài)圖,狀態(tài)
15、圖描述類的對象的狀態(tài)遷移與響應(yīng)動作。下圖顯示了考生對象的各種狀態(tài)方式及其轉(zhuǎn)換。該圖表明考生啟動程序后進入“登錄”狀態(tài),當(dāng)輸入學(xué)號后,系統(tǒng)校驗學(xué)號是否有效和開考指令是否下達,若學(xué)號有效且開考指令已下達,進入“答題”狀態(tài),否則保持登錄狀態(tài)??忌谶M入“答題”狀態(tài)后系統(tǒng)啟動計時器,開始計時;考生答題完畢,進入“答題完畢”狀態(tài),交卷后考試結(jié)束。若考試時間用完,系統(tǒng)自動結(jié)束考試。,10.4.1 狀態(tài)圖,,考生類的狀態(tài)圖,10.4.2 精化體系
16、結(jié)構(gòu),精化體系結(jié)構(gòu)的主要目的是尋找一種理想的包劃分方案,使得每個包中直接包含的類的數(shù)量規(guī)模適中,包的邊界清晰、自然,并且包間的偶合度較低。在包圖中耦合度主要取決于依賴關(guān)系,而包間的依賴關(guān)系又取決于分屬兩個包的類之間的關(guān)系。下面是類之間耦合程度從高到低的判斷方法: (1)繼承關(guān)系 (2)構(gòu)成關(guān)系 (3)聚合關(guān)系 (4)關(guān)聯(lián)關(guān)系 (5) 依賴關(guān)系 (6)兩個類的對象受同一執(zhí)行者變化
17、的影響,10.4.2 精化體系結(jié)構(gòu),弱化包間耦合的方法:(1)分拆(2)調(diào)整類的擺放位置當(dāng)一個系統(tǒng)有幾十個或上百個類時,理解和修改這個系統(tǒng)就變得很困難了,總是希望將復(fù)雜系統(tǒng)進行分解。解決這個問題的辦法就是將許多類組合成一個更高層次的單位,這些高內(nèi)聚、低耦合的類的集合稱為包。將這些包關(guān)聯(lián)起來就形成了包圖,,10.4.2 精化體系結(jié)構(gòu),考試系統(tǒng)包圖,弱化包間依賴關(guān)系既無必要,也不合理,但應(yīng)盡量遵循以下原則:(1) 避免包間的循環(huán)依賴
18、關(guān)系,即排除包P1依賴P2,P2又依賴于P1的情形(2) 在層次結(jié)構(gòu)中,位于較低層次的通用包不應(yīng)當(dāng)依賴于較高層次中的專用包(3) 在層次結(jié)構(gòu)中,較高層次的包依賴于較低層次的包,但此種以來應(yīng)盡量在相鄰的層次間發(fā)生(4) 如果針對某些子系統(tǒng)專門劃分了接口包和實現(xiàn)包,那么其他與該系統(tǒng)相關(guān)的包只能依賴于接口包,不能依賴于實現(xiàn)包。,10.4.2 精化體系結(jié)構(gòu),10.4.3 精化類之間的關(guān)系,在分析階段形成 的類圖的基礎(chǔ)上進行精化類間關(guān)系。
19、(1) 根據(jù)這些連接的語義強度,將它們精確判定為UML的依賴、關(guān)聯(lián)、聚合或構(gòu)成關(guān)系(2) 確定連接的方向及參與連接的類的對象之間的數(shù)量對應(yīng)關(guān)系(3) 根據(jù)軟件重用的要求及軟件結(jié)構(gòu)簡潔化、清晰化的要求,優(yōu)化類之間的關(guān)系對象間消息傳遞機制:(1) 引用全局對象 (2) 通過參數(shù)傳遞(3) 引用局部對象 (4)通過類的成員變量精化類之間的關(guān)系時,往往需要考慮到軟件重用的需要而對類進行調(diào)整,10.4.3 精化類之間的關(guān)系,類
20、圖描述系統(tǒng)的靜態(tài)結(jié)構(gòu),類圖的節(jié)點表示系統(tǒng)中的類及其屬性和操作,類圖的邊表示類之間的聯(lián)系,包括繼承、關(guān)聯(lián)、依賴、聚合等。類圖中每個類用方框表示,分成三部分,第一部分為類名,第二部分為類包含的屬性,第三部分為類的操作,即類提供的功能。分析人員可以用類圖顯示系統(tǒng)的細節(jié),開發(fā)人員可以用類圖來開發(fā)類。類圖可以顯示用例圖中類的相互關(guān)系,也可顯示整個系統(tǒng)或子系統(tǒng)。在考試系統(tǒng)中,考生類和成績類之間的關(guān)聯(lián)關(guān)系如下圖所示:,,10.4.3 精化類之間
21、的關(guān)系,1、提取關(guān)聯(lián)類2、提取公共父類3、將多重繼承化為單重繼承,圖11-2-4 多重繼承 圖11-2-5 用部分-整體的關(guān)系 表示多重繼承,店員,店主,人員,,,,,,,,,,,,,,,,人員,,,,,角色,,,店員,店主,,,,,,
22、,,,,圖11-2-6 多重繼承平板化,店員,店主,人員,,,,,,,,,,,店主兼店員,,,,10.4.4 精化類的屬性和操作,屬性和操作范圍有以下三種(1) PUBLIC。對軟件系統(tǒng)中的所有類都可見(2) PROTECT。僅對本類及其子類可見(3) PRIVATE。僅對本類可見,10.4.5 設(shè)計狀態(tài)圖,狀態(tài)圖適合于表示跨越多個用例的單個對象的行為。,10.4.6 設(shè)計活動圖,活動圖適合表示用例中的事件流和過程,也可以用來
溫馨提示
- 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 教學(xué)要求了解醫(yī)務(wù)社會工作的概念與歷史變遷。理解
- 面向?qū)ο蟮慕虒W(xué)模式建模方法研究.pdf
- 面向?qū)ο蟪绦蛟O(shè)計的概念
- 動詞“理解”和“了解”的差異及其對外漢語教學(xué).pdf
- 面向?qū)ο蟪绦蛟O(shè)計教學(xué)大綱
- 《面向?qū)ο蟪绦蛟O(shè)計》教學(xué)大綱
- 《面向?qū)ο蟪绦蛟O(shè)計》教學(xué)大綱
- 面向?qū)ο笤O(shè)計類和對象
- 面向?qū)ο蟪绦蛟O(shè)計教學(xué)大綱07
- 在生物教學(xué)中注重重要概念的理解和運用
- 算法驅(qū)動的面向?qū)ο蟪绦蛟O(shè)計教學(xué)研究
- 教學(xué)目的和要求掌握和了解擾亂公共秩序罪的構(gòu)成要件,
- 項目教學(xué)法在面向?qū)ο蟪绦蛟O(shè)計實踐教學(xué)中的應(yīng)用
- 面向?qū)ο蟪绦蛟O(shè)計(java)課程教學(xué)大綱
- 面向?qū)ο蟪绦蛟O(shè)計實驗教學(xué)大綱
- 面向?qū)ο蟮姆治龊驮O(shè)計
- 面向?qū)ο笤O(shè)計及uml語言課程教學(xué)大綱
- 面向?qū)ο髈o程序設(shè)計基本概念
評論
0/150
提交評論