版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
XXXXXX大學(xué)軟件工程SOFTWARE
ENGINEERING教師:XXXXX2024教學(xué)目標(biāo):(1)了解面向?qū)ο蠓治雠c設(shè)計(jì)的基本概念;(2)掌握面向?qū)ο蟮挠美!㈧o態(tài)建模和動(dòng)態(tài)建模過(guò)程;(3)理解面向?qū)ο蟮南到y(tǒng)設(shè)計(jì)和對(duì)象設(shè)計(jì);(4)能夠?qū)π⌒蛙浖到y(tǒng)進(jìn)行用例圖、類(lèi)圖和順序圖設(shè)計(jì)。第7章面向?qū)ο蠓治雠c設(shè)計(jì)7.1面向?qū)ο蠓治雒嫦驅(qū)ο蠓治鍪侵咐妹嫦驅(qū)ο蟮母拍詈头椒檐浖枨蠼ㄔ炷P?,使用需求逐步精確化、一致化、完全化的分析過(guò)程。面向?qū)ο蠓治鲞^(guò)程。這個(gè)階段主要是建立用例模型、對(duì)象類(lèi)靜態(tài)模型和對(duì)象類(lèi)動(dòng)態(tài)模型。7.2用例建模7.2.1用例建模過(guò)程1.確定系統(tǒng)的范圍和邊界2.確定系統(tǒng)的參與者3.確定系統(tǒng)的用例4.確定用例之間的關(guān)系5.建立用例圖并定義用例圖的層次結(jié)構(gòu)6.用例描述7.2.2用例圖設(shè)計(jì)用例圖(usecasediagram)是表示一個(gè)系統(tǒng)中用例與參與者之間關(guān)系的圖。它描述了系統(tǒng)中相關(guān)的用戶和系統(tǒng)對(duì)不同用戶提供的功能和服務(wù)。1.參與者參與者也稱(chēng)為角色。參與者示例。在用例圖中,參與者有兩種表示方法。參與者的圖標(biāo)表示法是一個(gè)小人圖形,圖標(biāo)下方顯示參與者的名稱(chēng)。參與者還可以使用帶有<<actor>>構(gòu)造型的類(lèi)符號(hào),也就是一個(gè)矩形來(lái)表示。一般情況下,習(xí)慣用圖標(biāo)表示法來(lái)代表人,用類(lèi)符號(hào)表示法來(lái)表示事物。2.用例在用例圖中,用例用一個(gè)包含名稱(chēng)的橢圓形來(lái)表示。用例示例。其中用例的名稱(chēng)可以顯示在橢圓內(nèi)部或橢圓下方。3.關(guān)系(1)參與者間的泛化關(guān)系(2)參與者與用例的關(guān)聯(lián)關(guān)系(3)用例間的泛化關(guān)系(4)用例間的包含關(guān)系(5)用例間的擴(kuò)展關(guān)系7.2.3用例建模實(shí)例1.情境說(shuō)明機(jī)票預(yù)訂系統(tǒng)是某航空公司推出的一款網(wǎng)上訂票系統(tǒng)。未實(shí)名認(rèn)證的用戶只能查詢(xún)航班信息;已實(shí)名認(rèn)證的用戶登錄后還可以預(yù)訂機(jī)票、退訂機(jī)票和查看訂單。系統(tǒng)管理員可以管理用戶信息和航班信息。用戶在登錄時(shí)如果忘記密碼,可以通過(guò)郵箱找回密碼。2.確定參與者在了解系統(tǒng)使用場(chǎng)景后,首先分析需求確定系統(tǒng)中的參與者。根據(jù)分析系統(tǒng)的情境說(shuō)明可以得出,系統(tǒng)主要有兩類(lèi)參與者,分別是用戶與管理員。其中用戶包括普通用戶和注冊(cè)用戶,表示為參與者的泛化關(guān)系。因?yàn)橛脩粢欢▽儆诙咂渲兄?,所以用戶?yīng)該是一個(gè)抽象參與者。確定參與者。3.確定用例分析出系統(tǒng)的參與者之后,就可以通過(guò)分析每個(gè)參與者是如何使用系統(tǒng)確定系統(tǒng)中的用例。在機(jī)票預(yù)訂系統(tǒng)中,普通用戶可以進(jìn)行實(shí)名認(rèn)證和查詢(xún)航班信息;注冊(cè)用戶可以登錄系統(tǒng)、查詢(xún)航班信息、預(yù)訂機(jī)票、退訂機(jī)票和查看訂單;管理員可以登錄系統(tǒng)、管理用戶信息和管理航班信息。確定用例。4.確定用例之間的關(guān)系在確定完所有用例之后,需要具體考慮每個(gè)用例的工作流程從而添加用例之間的依賴(lài)關(guān)系。在機(jī)票預(yù)訂系統(tǒng)中,用戶在預(yù)訂機(jī)票時(shí)需要先查詢(xún)相關(guān)的航班信息,因此預(yù)訂機(jī)票用例與查詢(xún)航班信息用例之間可以建立包含關(guān)系。如果用戶在登錄時(shí)忘記密碼,可以使用找回密碼功能,由于這一關(guān)系是有條件的,所以二者構(gòu)成擴(kuò)展關(guān)系。為保證對(duì)用例的粒度控制在同一個(gè)量級(jí)上,可以將管理用戶信息與管理航班信息都
定義為抽象用例,并分別創(chuàng)建其非抽象的子用例。將以上關(guān)系添加到用例圖中,形成最終的用例圖。機(jī)票預(yù)訂系統(tǒng)用例圖。5.用例描述用例描述的內(nèi)容可以使用UML中定義的格式,也可以根據(jù)項(xiàng)目實(shí)際情況選擇其它格式。下面以機(jī)票預(yù)訂系統(tǒng)的“機(jī)票預(yù)訂”用例為例,給出一個(gè)用例描述的格式和內(nèi)容作為參考,在實(shí)際建模過(guò)程中可以靈活使用。7.3靜態(tài)建模7.3.1靜態(tài)建模過(guò)程1.確定類(lèi)與對(duì)象(1)找出候選的類(lèi)與對(duì)象(2)篩選出正確的類(lèi)與對(duì)象2.確定屬性(1)分析(2)選擇3.確定關(guān)聯(lián)(1)初步確定關(guān)聯(lián)(2)篩選(3)完善關(guān)聯(lián)4.優(yōu)化模型7.3.2類(lèi)圖設(shè)計(jì)類(lèi)圖(classdiagram)是顯示一組類(lèi)、接口以及它們之間關(guān)系的圖。一個(gè)類(lèi)圖主要通過(guò)系統(tǒng)中的類(lèi)以及各個(gè)類(lèi)之間的關(guān)系來(lái)描述系統(tǒng)的靜態(tài)結(jié)構(gòu)。1.類(lèi)2.接口接口是一個(gè)被命名的操作集合,用于描述類(lèi)或組件的一個(gè)服務(wù)。接口不同于任何類(lèi)或類(lèi)型,它不描述任何結(jié)構(gòu),因此不包含任何屬性;也不描述任何實(shí)現(xiàn),因此不包含任何實(shí)現(xiàn)操作的方法。像類(lèi)一樣,接口可以有一些操作。接口中沒(méi)有對(duì)自身內(nèi)部結(jié)構(gòu)的描述,因此,接口沒(méi)有私有特性,它的所有內(nèi)容都是公共的。接口代表了一份契約,實(shí)現(xiàn)接口的類(lèi)必須縷履行這份契約。3.關(guān)系(1)關(guān)聯(lián)關(guān)系(2)泛化關(guān)系(3)依賴(lài)關(guān)系(4)實(shí)現(xiàn)關(guān)系7.3.3靜態(tài)建模實(shí)例1.確定類(lèi)2.添加類(lèi)的屬性與操作3.確定類(lèi)圖中的關(guān)系7.4動(dòng)態(tài)建模7.4.1順序圖設(shè)計(jì)1.對(duì)象與生命線2.激活3.消息7.4.2活動(dòng)圖設(shè)計(jì)1.動(dòng)作2.開(kāi)始與終止3.控制流4.判斷節(jié)點(diǎn)5.合并節(jié)點(diǎn)6.分叉節(jié)點(diǎn)與結(jié)合節(jié)點(diǎn)7.泳道7.4.3動(dòng)態(tài)建模實(shí)例(1)確定交互對(duì)象創(chuàng)建順序圖的第一步就是要明確參與對(duì)象?!暗卿洝庇美挠脩糇鳛閰⑴c者,是交互過(guò)程的發(fā)起者。如果機(jī)票預(yù)訂系統(tǒng)采用MVC模式進(jìn)行設(shè)計(jì),參與交互過(guò)程的對(duì)象還包括用戶界面、邏輯層和數(shù)據(jù)庫(kù)。確定交互對(duì)象。(2)添加消息在確定了參與交互的對(duì)象之后,就要在對(duì)象之間添加消息的傳遞。用戶首先在界面填寫(xiě)表單并確認(rèn),用戶界面將用戶填寫(xiě)的表單數(shù)據(jù)發(fā)送給邏輯層,邏輯層向數(shù)據(jù)庫(kù)發(fā)送請(qǐng)求來(lái)檢查用戶數(shù)據(jù)的合法性,接收到合法的返回消息后,邏輯層再向界面發(fā)送消息顯示出登錄結(jié)果。按照分析的交互過(guò)程,向順序圖中添加消息,創(chuàng)建出完整的順序圖。登錄用例順序圖。2.以某機(jī)票預(yù)訂系統(tǒng)的預(yù)訂機(jī)票用例為例,展示活動(dòng)圖的設(shè)計(jì)過(guò)程。(1)確定泳道首先確定參與的對(duì)象,即確定活動(dòng)圖中的泳道,通過(guò)分析,預(yù)訂機(jī)票用例共有選擇航班、確認(rèn)信息、提示無(wú)票、提交、更新機(jī)票信息、產(chǎn)生機(jī)票訂單等動(dòng)作。泳道說(shuō)明了活動(dòng)的執(zhí)行者,因此,以上動(dòng)作可以分為用戶和系統(tǒng)兩個(gè)泳道。繪制泳道。(2)按邏輯順序完成活動(dòng)圖在確定泳道后,梳理預(yù)訂機(jī)票的業(yè)務(wù)流程。用戶首先選擇航班,如果所選航班已無(wú)票,則系統(tǒng)返回提示信息,用戶可以重新選擇航班;如果所選航班有票,則系統(tǒng)請(qǐng)求用戶確認(rèn)訂票信息,此時(shí)用戶可以取消訂票,也可以確認(rèn)訂票信息后進(jìn)行提交,用戶提交后系統(tǒng)將更新機(jī)票信息并同時(shí)生成機(jī)票訂單,然后結(jié)束預(yù)訂機(jī)票流程。7.5面向?qū)ο笤O(shè)計(jì)7.5.1系統(tǒng)設(shè)計(jì)1.問(wèn)題域子系統(tǒng)設(shè)計(jì)(1)調(diào)整需求。如果需求發(fā)生了變化或是分析人員在理解軟件需求上還不完整,需要簡(jiǎn)單修改面向?qū)ο蠓治龅慕Y(jié)果,再把這些修改反映到問(wèn)題域子系統(tǒng)中。(2)重用已有類(lèi)。軟件設(shè)計(jì)時(shí),要考慮如何將已有的類(lèi)增加到問(wèn)題域部分中。因此,需要在已有類(lèi)中找到能被問(wèn)題域重用的類(lèi),然后由重用的類(lèi)派生出問(wèn)題域的類(lèi),再添加定義問(wèn)題域的類(lèi),最后修改與問(wèn)題域類(lèi)相關(guān)的關(guān)聯(lián)。(3)組合問(wèn)題域類(lèi)。先分析查找一個(gè)能把問(wèn)題域類(lèi)組合在一起的類(lèi),作為根類(lèi),把所有與問(wèn)題域有關(guān)的類(lèi)關(guān)聯(lián)到一起,建立類(lèi)的層次結(jié)構(gòu)。把同一問(wèn)題域的一些類(lèi)集合起來(lái)存放到類(lèi)庫(kù)中,起到概括每一個(gè)類(lèi)及對(duì)象的作用。(4)調(diào)整繼承關(guān)系。面向?qū)ο蠓治瞿P椭邪ǘ嘀乩^承,而設(shè)計(jì)語(yǔ)言一般不支持多重繼承,必須對(duì)面向?qū)ο蠓治龅慕Y(jié)果做修改,把多重繼承轉(zhuǎn)換為單繼承。2.人機(jī)交互子系統(tǒng)設(shè)計(jì)人機(jī)交互部分是面向?qū)ο笤O(shè)計(jì)模型的外圍組成部分之一。在面向?qū)ο蠓治鲞^(guò)程中,已經(jīng)對(duì)用戶界面需求做了初步分析。在面向?qū)ο笤O(shè)計(jì)過(guò)程中,則應(yīng)該對(duì)系統(tǒng)的人機(jī)交互子系統(tǒng)進(jìn)行詳細(xì)設(shè)計(jì),以確定人機(jī)交互的細(xì)節(jié)。人機(jī)交互設(shè)計(jì)的質(zhì)量,將直接影響用戶對(duì)軟件產(chǎn)品的評(píng)價(jià)。3.任務(wù)管理子系統(tǒng)設(shè)計(jì)任務(wù)是進(jìn)程的別稱(chēng),是執(zhí)行一系列活動(dòng)的一段程序。當(dāng)系統(tǒng)中有許多并發(fā)行為時(shí),需要依照各個(gè)行為的協(xié)調(diào)和通信關(guān)系劃分各種任務(wù),以簡(jiǎn)化并發(fā)行為的設(shè)計(jì)和編碼。任務(wù)管理的一項(xiàng)重要內(nèi)容是確定哪些是必須同時(shí)進(jìn)行的任務(wù),哪些是相互排斥的任務(wù)。設(shè)計(jì)人員根據(jù)以上任務(wù),最后設(shè)計(jì)出任務(wù)管理子系統(tǒng)。4.數(shù)據(jù)管理子系統(tǒng)設(shè)計(jì)數(shù)據(jù)管理子系統(tǒng)為面向?qū)ο笤O(shè)計(jì)模型提供了在特定的數(shù)據(jù)庫(kù)管理系統(tǒng)之上,存儲(chǔ)或檢索對(duì)象的基本結(jié)構(gòu)。設(shè)計(jì)數(shù)據(jù)管理子系統(tǒng)的目的是將目標(biāo)軟件系統(tǒng)中依賴(lài)平臺(tái)開(kāi)發(fā)的數(shù)據(jù)存取部分與其他功能分離。7.5.2對(duì)象設(shè)計(jì)1.對(duì)象描述對(duì)象是類(lèi)的一個(gè)實(shí)例,對(duì)象的設(shè)計(jì)描述可以采用以下兩種形式之一。(1)協(xié)議描述通過(guò)定義對(duì)象可以接收到的每個(gè)消息和當(dāng)對(duì)象接收到消息后完成的相關(guān)操作來(lái)建立對(duì)象的接口。協(xié)議描述是一組消息和對(duì)消息的注釋。(2)實(shí)現(xiàn)描述描述由傳送給對(duì)象的消息所蘊(yùn)含的每個(gè)操作的實(shí)現(xiàn)細(xì)節(jié),包括對(duì)象名字的定義和類(lèi)的引用、關(guān)于描述對(duì)象的屬性的數(shù)據(jù)結(jié)構(gòu)的定義及操作過(guò)程的細(xì)節(jié)。2.設(shè)計(jì)類(lèi)中的服務(wù)(1)確定類(lèi)中應(yīng)有的服務(wù)需要綜合考慮設(shè)計(jì)模型才能確定類(lèi)中應(yīng)有的服務(wù)。(2)設(shè)計(jì)實(shí)現(xiàn)服務(wù)的方法設(shè)計(jì)實(shí)現(xiàn)服務(wù)首先應(yīng)設(shè)計(jì)實(shí)現(xiàn)服務(wù)的算法,考慮算法的復(fù)雜度,如何使算法容易理解、容易實(shí)現(xiàn)并容易修改。其次是選擇數(shù)據(jù)結(jié)構(gòu),要選擇能方便、有效地實(shí)現(xiàn)算法的數(shù)據(jù)結(jié)構(gòu)。最后定義類(lèi)的內(nèi)部操作,可能需要添加一些用來(lái)存放中間結(jié)果的類(lèi)。3.設(shè)計(jì)類(lèi)的關(guān)聯(lián)在應(yīng)用系統(tǒng)中,使用關(guān)聯(lián)有兩種可能的方式,即只需單向遍歷的單向關(guān)聯(lián)和需要雙向遍歷的雙向關(guān)聯(lián)。4.鏈屬性的實(shí)現(xiàn)鏈屬性的實(shí)現(xiàn)要根據(jù)具體情況分別處理。如果是一對(duì)一關(guān)聯(lián),鏈屬性可作為其中一個(gè)對(duì)象
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 七年級(jí)下英語(yǔ)教師工作計(jì)劃范文
- 科研能力提升計(jì)劃
- 二年級(jí)地方教學(xué)計(jì)劃
- 護(hù)理協(xié)會(huì)年度工作計(jì)劃范文
- 2025年電大工作計(jì)劃范文
- 《氨吸收式制冷機(jī)》課件
- 政史地科組計(jì)劃
- 大班安全個(gè)人工作計(jì)劃024開(kāi)頭
- 《氧化還原平衡修改》課件
- 《復(fù)試記賬》課件2
- 玉溪大紅山鐵礦二期北采區(qū)采礦施工組織設(shè)計(jì)
- 2024新教科版四年級(jí)上冊(cè)科學(xué)知識(shí)點(diǎn)總結(jié)精簡(jiǎn)版
- 中西文化鑒賞智慧樹(shù)知到答案2024年鄭州大學(xué)
- 2024國(guó)開(kāi)大學(xué)《經(jīng)濟(jì)學(xué)基礎(chǔ)》形考任務(wù)2答案
- 14《答謝中書(shū)書(shū)》對(duì)比閱讀-2024-2025中考語(yǔ)文文言文閱讀專(zhuān)項(xiàng)訓(xùn)練(含答案)
- DL∕T 5494-2014 電力工程場(chǎng)地地震安全性評(píng)價(jià)規(guī)程
- 顱腦外傷病人的急救和護(hù)理
- 大型儲(chǔ)罐制作安裝施工方案
- 2024版《供電營(yíng)業(yè)規(guī)則》學(xué)習(xí)考試題庫(kù)500題(含答案)
- 環(huán)境工程原理智慧樹(shù)知到期末考試答案章節(jié)答案2024年西華大學(xué)
- 現(xiàn)代食品加工技術(shù)(食品加工新技術(shù))智慧樹(shù)知到期末考試答案章節(jié)答案2024年中國(guó)農(nóng)業(yè)大學(xué)
評(píng)論
0/150
提交評(píng)論