面向?qū)ο笤O(shè)計(jì)-設(shè)計(jì)方法以及設(shè)計(jì)工具分享_第1頁(yè)
面向?qū)ο笤O(shè)計(jì)-設(shè)計(jì)方法以及設(shè)計(jì)工具分享_第2頁(yè)
面向?qū)ο笤O(shè)計(jì)-設(shè)計(jì)方法以及設(shè)計(jì)工具分享_第3頁(yè)
面向?qū)ο笤O(shè)計(jì)-設(shè)計(jì)方法以及設(shè)計(jì)工具分享_第4頁(yè)
面向?qū)ο笤O(shè)計(jì)-設(shè)計(jì)方法以及設(shè)計(jì)工具分享_第5頁(yè)
已閱讀5頁(yè),還剩39頁(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)介

面向?qū)ο笤O(shè)計(jì)設(shè)計(jì)方法以及設(shè)計(jì)工具分享……(1)2023/12/71軟件建模模型是對(duì)現(xiàn)實(shí)的簡(jiǎn)化。好的模型包含有廣泛影響的主要元素,而忽略與給定不相關(guān)的次要元素,形成語(yǔ)義上閉合的系統(tǒng)抽象。建模是為了更好理解正在開(kāi)發(fā)的系統(tǒng)。人對(duì)復(fù)雜問(wèn)題的理解能力是有限的,通過(guò)建模,縮小所研究問(wèn)題的范圍,實(shí)現(xiàn)“各個(gè)擊破”。好處:1)精確表達(dá)領(lǐng)域需求;2)進(jìn)行系統(tǒng)設(shè)計(jì);3)設(shè)計(jì)分離;4)代碼生成;22023/12/7目錄1需求模型2分析模型3設(shè)計(jì)模型4物理架構(gòu)模型5代碼導(dǎo)出32023/12/71需求模型1.1用例模型識(shí)別角色識(shí)別用例用例圖1.2用例描述1.3界面設(shè)計(jì)基本要求主要工作42023/12/71.1用例模型

用例是一個(gè)角色使用系統(tǒng)的某項(xiàng)功能時(shí)交互過(guò)程的文字描述。用例的本質(zhì)是系統(tǒng)中各個(gè)相關(guān)人員之間就系統(tǒng)的行為所達(dá)成的契約,是系統(tǒng)的功能性需求。

用例是面向?qū)ο笙到y(tǒng)設(shè)計(jì)的起點(diǎn),是類、對(duì)象、操作的來(lái)源

用例圖包括角色、系統(tǒng)邊界、用例以及元素間的關(guān)聯(lián)。首先識(shí)別出角色,根據(jù)角色再識(shí)別用例。52023/12/71.1用例模型-識(shí)別角色角色不僅僅是使用系統(tǒng)的用戶也可以是硬件、外部系統(tǒng)等等。角色應(yīng)該和系統(tǒng)具有交互行為,即角色向用例發(fā)送消息或者接收用例反饋的消息。角色之間存在繼承關(guān)系。通過(guò)回答以下6個(gè)問(wèn)題來(lái)識(shí)別系統(tǒng)的角色。62023/12/71.1用例模型-識(shí)別角色誰(shuí)使用系統(tǒng)的主要功能?——無(wú)誰(shuí)需要系統(tǒng)的支持以完成日常工作?——無(wú)誰(shuí)負(fù)責(zé)維護(hù)、管理并保持系統(tǒng)正常運(yùn)行?——運(yùn)維人員系統(tǒng)需要應(yīng)付哪些設(shè)備?——不需要系統(tǒng)需要和哪些外部系統(tǒng)交互?——藝龍接口,暢聯(lián)接口誰(shuí)或什么對(duì)系統(tǒng)運(yùn)行結(jié)果感興趣?——酒店模塊72023/12/71.1用例模型-識(shí)別用例根據(jù)角色來(lái)識(shí)別用例,識(shí)別用例的人為因素很大,不同的人針對(duì)同一個(gè)需求識(shí)別出的用例不一定是相同的,用例識(shí)別和經(jīng)驗(yàn)關(guān)系很大。一般通過(guò)回答3個(gè)問(wèn)題來(lái)識(shí)別用例。我們以角色“酒店模塊”為例,根據(jù)這個(gè)角色來(lái)識(shí)別相關(guān)的用例。82023/12/71.1用例模型-識(shí)別用例某個(gè)角色要求系統(tǒng)為其提供什么功能?酒店模塊主要調(diào)用UIP完成外聯(lián)訪問(wèn)功能。該角色需要做哪些工作?該模塊需要配置引用UIP的類庫(kù),并配置對(duì)UIP的訪問(wèn)地址。角色需要閱讀、創(chuàng)建、銷毀、更新或存儲(chǔ)系統(tǒng)中某些信息嗎?酒店模塊需要查詢酒店房型信息,創(chuàng)建訂單,撤消訂單和對(duì)訂單歷史進(jìn)行查詢。92023/12/71.1用例模型-用例圖Q1用例抽象原則Q2關(guān)于SystemBoundary102023/12/71.2用例模型-用例描述用例描述是通過(guò)文字語(yǔ)言描述用戶的實(shí)際需求,用例采用自然語(yǔ)言描述角色和系統(tǒng)進(jìn)行交互時(shí)雙方的行為,不追求形式化的語(yǔ)言一般應(yīng)該包括以下的內(nèi)容:用例的目的;用例是怎樣啟動(dòng)的;角色和用例之間的消息是如何傳送的;用例中除了主要路徑外,其他路徑是什么;用例結(jié)束后系統(tǒng)的狀態(tài);其他需要描述的內(nèi)容。112023/12/71.2用例模型-用例描述用例名稱酒店查詢綜述酒店模塊通過(guò)調(diào)用UIP,來(lái)訪問(wèn)外聯(lián)接口,取得查詢結(jié)果前置條件類庫(kù)引用正確,訪問(wèn)地址配置正確后置條件發(fā)起查詢接口調(diào)用基本操作流1、UIP提供查詢接口供引用;2、酒店業(yè)務(wù)創(chuàng)建查詢接口對(duì)象;3、酒店業(yè)務(wù)創(chuàng)建查詢請(qǐng)求對(duì)象;4、酒店業(yè)務(wù)調(diào)用查詢接口對(duì)象的酒店查詢方法;5、酒店業(yè)務(wù)取回查詢結(jié)果可選操作流可選流1:可選流2:122023/12/71.3用例模型-界面設(shè)計(jì)界面建模是需求工作中重要的步驟,同時(shí)又屬于設(shè)計(jì)工作的內(nèi)容界面建模放在需求分析階段,一方面軟件界面的需求也是用戶需求的一部分,另一方面使用界面模型和用戶交流系統(tǒng)的功能需求直觀、明確,用戶很容易理解。1)完整的體現(xiàn)出用戶需求的表現(xiàn)形式;2)符合用戶群的習(xí)慣、感官、感覺(jué);3)符合用戶習(xí)慣性的工作過(guò)程132023/12/71.3用例模型-界面設(shè)計(jì)確定界面元素——設(shè)計(jì)目的是讓最終用戶能夠獲得美感、提高工作效率、易于操作使用系統(tǒng)針對(duì)用戶設(shè)計(jì)——行業(yè)特點(diǎn)、用戶的使用水平、喜好建立用戶界面模型,并且同用戶進(jìn)行交互——用戶對(duì)功能需求相對(duì)明確,對(duì)界面需求比較模糊,通過(guò)交互挖掘界面需求142023/12/71需求模型-小結(jié)用例建模推薦用Rose,方便直觀用例描述推薦用Table,整體性強(qiáng),層次分明界面建模推薦用Visio,能可視化操作,并可以發(fā)布成網(wǎng)頁(yè)用20%的用例描述80%的需求識(shí)別角色識(shí)別用例畫(huà)用例圖用例描述界面設(shè)計(jì)152023/12/72分析模型2.1架構(gòu)設(shè)計(jì)分層架構(gòu)設(shè)計(jì)4+1視圖方法2.2獲取分析類2.3用例實(shí)現(xiàn)活動(dòng)圖/狀態(tài)圖時(shí)序圖/協(xié)作圖2.4整理分析類繪制類圖162023/12/72分析模型分析是一個(gè)十分關(guān)鍵的過(guò)程,它是把需求轉(zhuǎn)化為代碼實(shí)現(xiàn)的中間階段。軟件分析是將自然語(yǔ)言表達(dá)的軟件需求進(jìn)一步進(jìn)行解析的過(guò)程。軟件設(shè)計(jì)就是從分析到軟件實(shí)現(xiàn)的過(guò)程。172023/12/72.1架構(gòu)設(shè)計(jì)架構(gòu)設(shè)計(jì)決定了各子系統(tǒng)如何組織以及如何協(xié)調(diào)工作。常用的架構(gòu)技術(shù)有分層架構(gòu)和4+1視圖方法182023/12/72.1架構(gòu)設(shè)計(jì)-分層架構(gòu)分層架構(gòu):好處:不需要去了解層的實(shí)現(xiàn)細(xì)節(jié);可以使用另一種技術(shù)來(lái)改變基礎(chǔ)的層,而不會(huì)影響上層的應(yīng)用;可以減少不同層之間的依賴;容易制定出層標(biāo)準(zhǔn);底下的層可以用來(lái)建立頂上層的多項(xiàng)服務(wù);分層有利于標(biāo)準(zhǔn)化工作的執(zhí)行壞處:層次不能封裝所有東西,有時(shí)候會(huì)帶來(lái)級(jí)聯(lián)修改;過(guò)多的層間數(shù)據(jù)傳遞會(huì)影響性能;困難:分層架構(gòu)中最困難的問(wèn)題就是決定建立哪些層以及每層的職責(zé)192023/12/72.1架構(gòu)設(shè)計(jì)-分層架構(gòu)202023/12/72.1架構(gòu)設(shè)計(jì)-4+1視圖212023/12/72.1架構(gòu)設(shè)計(jì)-4+1視圖邏輯視圖(LogicalView),設(shè)計(jì)的對(duì)象模型。進(jìn)程視圖(ProcessView),捕捉設(shè)計(jì)的并發(fā)和同步特征。部署視圖(DeploymentView),描述了軟件到硬件的映射,反映了分布式特性。實(shí)現(xiàn)視圖(ImplementationView),描述了在開(kāi)發(fā)環(huán)境中軟件的靜態(tài)組織結(jié)構(gòu)。用例視圖(Use-CaseView),該視圖是其他視圖的冗余(因此"+1")。222023/12/72.1架構(gòu)設(shè)計(jì)-4+1視圖232023/12/72.1架構(gòu)設(shè)計(jì)-4+1視圖是多個(gè)視圖,不是多個(gè)架構(gòu)。多個(gè)視圖組成一個(gè)架構(gòu)保持架構(gòu)視圖之間的同步,也就是要保證不同視圖之間是相互解釋的、而不是相互矛盾的

視圖數(shù)量由具體實(shí)踐狀況決定242023/12/72.2獲取分析類類圖的獲取是一個(gè)不斷細(xì)化的過(guò)程,一般我們先從分析類開(kāi)始。分析類是概念層面上的類,是進(jìn)行類設(shè)計(jì)的基礎(chǔ),獲取分析類是系統(tǒng)分析中一項(xiàng)很重要的工作。獲取分析類的是一個(gè)需要大量技巧的工作,我們主要根據(jù)用例描述來(lái)確定分析類252023/12/72.2獲取分析類用例描述中出現(xiàn)了哪些實(shí)體?用例的完成需要哪些實(shí)體的合作?用例執(zhí)行過(guò)程中會(huì)產(chǎn)生并存儲(chǔ)哪些信息?用例要求與之相關(guān)聯(lián)的每個(gè)角色的輸入是什么?用例返回與之相關(guān)聯(lián)的每個(gè)角色的輸出是什么?用例需要操作哪些硬件設(shè)備?262023/12/72.2獲取分析類272023/12/72.3用例實(shí)現(xiàn)-活動(dòng)圖/狀態(tài)圖282023/12/72.3用例實(shí)現(xiàn)-時(shí)序圖/協(xié)作圖292023/12/72.4整理分析類整理分析類主要是依據(jù)用例實(shí)現(xiàn)部分的一系列的交互圖。我們已經(jīng)獲得了分析類,在用例實(shí)現(xiàn)中我們?cè)诮换D中使用了這些類。但是這些類還沒(méi)有屬性、職責(zé)。我們需要對(duì)他們進(jìn)行整理,完成分析類的屬性、職責(zé)以及類之間的關(guān)系,并在類圖中將他們展示出來(lái)302023/12/72.4整理分析類-示例312023/12/72分析模型-小結(jié)類之間并不是孤立的,利用類之間的關(guān)系就可以找到另一個(gè)類屬性是分析類的基本內(nèi)容。屬性的基本來(lái)源是用例的事件流描述。類不僅僅是從選擇建設(shè)項(xiàng)目這個(gè)用例獲取的信息,它是綜合了所有相關(guān)的用例分析的結(jié)果。所以要考慮每個(gè)用例的情況,進(jìn)行歸納總結(jié)322023/12/73設(shè)計(jì)模型3.1映射分析類到設(shè)計(jì)類3.2整理設(shè)計(jì)類3.3更新用例實(shí)現(xiàn)332023/12/73.1映射分析類到設(shè)計(jì)類設(shè)計(jì)類是指設(shè)計(jì)層面的類,映射分析類到設(shè)計(jì)類的過(guò)程實(shí)際上就是細(xì)化分析類的屬性、方法,使類達(dá)到可以進(jìn)行面向?qū)ο缶幊痰某潭?。類的屬性和方法?yīng)該按照UML中的格式表示:屬性格式和操作格式〔可見(jiàn)性〕屬性名〔:類型〕〔‘〔‘多重性〔次序〕’〕’〕〔=初始值〕〔{特性}〕〔可見(jiàn)性〕操作名〔(參數(shù)列表)〕〔:返回類型〕〔{特性}〕342023/12/73.1映射分析類到設(shè)計(jì)類352023/12/73.2整理設(shè)計(jì)類在最終的類圖上并不是所有的類都是由分析類映射而來(lái)的,系統(tǒng)中的絕大部分類都是由分析類映射而來(lái)的。在完成映射之后,還需要對(duì)已有的類根據(jù)設(shè)計(jì)原則進(jìn)行優(yōu)化。362023/12/73.2整理設(shè)計(jì)類開(kāi)放-封閉原則(OCP)對(duì)于擴(kuò)展是開(kāi)放的,對(duì)于更改是封閉的Liskov替換原則(LSP)子類型(subtype)必須能夠替換掉它們的基類型(basetype)依賴倒置原則(DIP)高層模塊不應(yīng)該依賴于低層模塊。二者都應(yīng)該依賴于抽象。抽象不應(yīng)該依賴于細(xì)節(jié)。細(xì)節(jié)應(yīng)該依賴于抽象接口隔離原則(ISP)不要強(qiáng)迫客戶依賴于它們不用的方法372023/12/73.3更新用例實(shí)現(xiàn)當(dāng)完成了類的設(shè)計(jì)后,需要根據(jù)類的設(shè)計(jì)更新在分析階段的用例實(shí)現(xiàn)382023/12/73設(shè)計(jì)模型-小結(jié)一般完成了類的屬性、方法的設(shè)計(jì)就可以了,由開(kāi)發(fā)人員在程序編寫(xiě)過(guò)程中設(shè)計(jì)類中方法的具體實(shí)現(xiàn)。如果條件允許在設(shè)計(jì)階段盡量對(duì)類的重要方法進(jìn)行設(shè)計(jì),因?yàn)楦乓O(shè)計(jì)和詳細(xì)設(shè)計(jì)一氣呵成,設(shè)計(jì)中的問(wèn)題會(huì)相對(duì)較少。通過(guò)自然語(yǔ)言、偽代碼、流程圖來(lái)實(shí)現(xiàn)詳細(xì)設(shè)計(jì),開(kāi)發(fā)人員很容易理解設(shè)計(jì)者的意圖,并很快將其實(shí)現(xiàn)。392023/12/74物理架構(gòu)模型組件圖主要目的是顯示系統(tǒng)組件間的結(jié)構(gòu)關(guān)系部署圖描述系統(tǒng)硬件的物理拓?fù)浣Y(jié)構(gòu)以及在此結(jié)構(gòu)上運(yùn)行的軟件402023/12/75代碼導(dǎo)出412023/12/7PS1:重要輸出編碼規(guī)范:信息形式、接口規(guī)約、命名規(guī)則物理模型:組件圖、部署圖不同角度的構(gòu)架視圖:用例視圖、邏輯視圖、進(jìn)程視圖、實(shí)施視圖、數(shù)據(jù)視圖(可選)系統(tǒng)總體布局:哪些部分組成、各部分在物理上、邏輯上的相互關(guān)系與需求功能的關(guān)系:對(duì)于需求中的每一個(gè)功能,用哪一層、哪個(gè)模塊、哪個(gè)類、哪個(gè)對(duì)象來(lái)實(shí)現(xiàn)(一對(duì)多關(guān)系)邏輯與物理位置:每個(gè)對(duì)象在邏輯上分別落在哪一層、哪個(gè)模塊、哪個(gè)類422023

溫馨提示

  • 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)論