系統(tǒng)分析(軟件工程)-酸奶公園
項(xiàng)目分析
·在面向?qū)ο笏枷胫校到y(tǒng)中應(yīng)該使用現(xiàn)實(shí)世界的隱喻來(lái)幫助我們構(gòu)建系統(tǒng),以達(dá)到系統(tǒng)代碼易于理解的目的。
· 構(gòu)建領(lǐng)域模型是我們首次以對(duì)象的視角來(lái)看待現(xiàn)實(shí)世界中對(duì)象之間關(guān)系的第一步。
構(gòu)建領(lǐng)域模型
·本階段的任務(wù)∶
·構(gòu)建領(lǐng)域模型∶
·抽象現(xiàn)實(shí)世界中的對(duì)象之間的關(guān)系,并將這種隱喻映射到系統(tǒng)內(nèi)部的類之間的關(guān)系上?!ね瓿山研苑治?/span>
·幫助軟件開發(fā)人員從系統(tǒng)外部的響應(yīng)轉(zhuǎn)換成系統(tǒng)內(nèi)部各對(duì)象之間的交互與協(xié)作,挖掘和完善系統(tǒng)內(nèi)部類的組成。
·進(jìn)行交互建模
·根據(jù)健壯性分析的結(jié)果,通過(guò)構(gòu)建順序圖為系統(tǒng)對(duì)象分配職責(zé),構(gòu)建系統(tǒng)內(nèi)部類的初步設(shè)計(jì)。
領(lǐng)域模型概念
一、
定義
·是對(duì)領(lǐng)域內(nèi)的概念類或現(xiàn)實(shí)世界中對(duì)象的可視化表示。領(lǐng)域模型
也被稱為概念模型、領(lǐng)域?qū)ο竽P秃头治鰧?duì)象模型。
·表現(xiàn)形式
·領(lǐng)域模型可以被描述成一組沒(méi)有定義操作的類圖(UML表示法)。它提供了概念透視圖?!ゎI(lǐng)域?qū)ο蠡蚋拍铑?/span>
·概念類之間的關(guān)聯(lián)·概念類的屬性
·銀行領(lǐng)域模型的例子
·銀行辦理儲(chǔ)蓄業(yè)務(wù)時(shí),首先需要儲(chǔ)戶實(shí)名申請(qǐng)賬戶。銀行職員在辦理賬戶時(shí),可以為儲(chǔ)戶提供存折和銀行卡作為憑證。儲(chǔ)戶也可以在辦理儲(chǔ)蓄業(yè)務(wù)時(shí),直接采用存單的方式辦理存款業(yè)務(wù)。這些憑證都是有明確的生效起始時(shí)間和終止時(shí)間的。由于憑證性質(zhì)的不同,每種憑證都有各自特定的組成格式的憑證號(hào)。
·如何理清業(yè)務(wù)對(duì)象之間的關(guān)系呢?
領(lǐng)域建模。 從領(lǐng)域模型開始,我們就開始了面向?qū)ο蟮姆治龊驮O(shè)計(jì)過(guò)程,可以說(shuō),領(lǐng)域模型是完成從需求分析到面向?qū)ο笤O(shè)計(jì)的一座橋梁。
顧名思義,就是顯示最重要的業(yè)務(wù)概念和它們之間關(guān)系,是真實(shí)世界各個(gè)事物的表示(現(xiàn)實(shí)世界的可視化抽象字典)而不是軟件中各構(gòu)件的表示。(類:表示業(yè)務(wù)概念,通常只包含重要屬性,少甚至不包含操作;關(guān)聯(lián)、泛化:表達(dá)概念之間的關(guān)系)領(lǐng)域模型是描述業(yè)務(wù)領(lǐng)域(業(yè)務(wù)實(shí)體)的靜態(tài)結(jié)構(gòu)
類似Java的父子關(guān)系
如果子類可以繼承父類的某個(gè)實(shí)例方法,那么子類就有權(quán)利重寫這個(gè)方法。
也就是繼承關(guān)系
?
領(lǐng)域模型有兩個(gè)主要的作用:
發(fā)掘重要的業(yè)務(wù)領(lǐng)域概念
建立業(yè)務(wù)領(lǐng)域概念之間的關(guān)系
超清
類圖的抽象層次
·在軟件開發(fā)的不同階段使用的類圖具有不同的抽象層次。
·概念透視圖
· 用圖來(lái)描述現(xiàn)實(shí)世界或關(guān)注領(lǐng)域中的事物、概念。
·說(shuō)明透視圖
· 用圖來(lái)描述軟件的抽象物或具有規(guī)格說(shuō)明和接口的構(gòu)件,但是并不約束特定實(shí)現(xiàn)·實(shí)現(xiàn)透視圖
· 用圖來(lái)描述特定技術(shù)中的軟件實(shí)現(xiàn),揭示實(shí)現(xiàn)細(xì)節(jié)。
?
?
?
?
例子棋牌館管理系統(tǒng)
·系統(tǒng)向客戶提供座位預(yù)定的服務(wù),并且如果暫時(shí)無(wú)法獲取座位的信息,允許客戶進(jìn)入“等候隊(duì)列”,當(dāng)有人退訂之后及時(shí)通知客戶。另外,該系統(tǒng)還將為總臺(tái)服務(wù)員提供作座位安排以及結(jié)賬的功能,要求能夠支持現(xiàn)金和銀行卡兩種結(jié)賬方式。
·請(qǐng)構(gòu)建其領(lǐng)域模型。
?
1.?類的識(shí)別
2.?·領(lǐng)域?qū)ο箢惖淖罴褋?lái)源
·高級(jí)問(wèn)題陳述、低級(jí)需求和問(wèn)題空間的專業(yè)知識(shí)。
·確定名詞短語(yǔ)的方法是一種簡(jiǎn)單易行的方式
·它主要是在對(duì)領(lǐng)域的文本性描述中識(shí)別名詞和名詞短語(yǔ),將其作為候選的概念類或?qū)傩浴?/span>
通過(guò)識(shí)別名詞短語(yǔ)尋找概念類
·啟發(fā)式準(zhǔn)則
·為了理解用例,開發(fā)者或用戶需要澄清后的術(shù)語(yǔ)
·在用例中反復(fù)出現(xiàn)的名詞系統(tǒng)需要跟蹤的現(xiàn)實(shí)世界中的實(shí)體
系統(tǒng)需要跟蹤的現(xiàn)實(shí)世界中的活動(dòng)
·數(shù)據(jù)源或者數(shù)據(jù)匯總
?
?
?
·健壯性圖的使用規(guī)則
·參與者只同邊界對(duì)象交互
·邊界對(duì)象只能同控制器和參與者交互
·實(shí)體對(duì)象只能同控制器交互
· 控制器可同邊界對(duì)象、實(shí)體對(duì)象以及其他控制器交互,但不能同參與者進(jìn)行交互
?
?