計(jì)算機(jī)13-3班第二次作業(yè)袁清高_(dá)第1頁
計(jì)算機(jī)13-3班第二次作業(yè)袁清高_(dá)第2頁
計(jì)算機(jī)13-3班第二次作業(yè)袁清高_(dá)第3頁
已閱讀5頁,還剩2頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、第三章體系結(jié)構(gòu)風(fēng)格1、層次系統(tǒng)結(jié)構(gòu)和基于消息的層次系統(tǒng)結(jié)構(gòu)層次結(jié)構(gòu)將系統(tǒng)進(jìn)行分級(jí)組織,其組織區(qū)別?是:在層次結(jié)構(gòu)中,每一層向上層提供服務(wù),并作為客戶向下層請(qǐng)求服務(wù)。分層系統(tǒng)的優(yōu)點(diǎn):支持基于抽象程度遞增的系統(tǒng)設(shè)計(jì);支持功能增強(qiáng);支持重用。分層系統(tǒng)的缺點(diǎn):并不是每個(gè)系統(tǒng)都可以很容易的劃分為分層的模式,甚至即使是層次化的,出于性能的考慮,也不得不吧一些低及或高級(jí)的功能綜合起來;很難找到一個(gè)合適的、正確的層次抽象方法。消息總線是系統(tǒng)的連接件、負(fù)責(zé)消息的分派、傳遞和過濾以及處理結(jié)果的返回。消息是構(gòu)件之間通信的唯一方式。由于構(gòu)件通過總線進(jìn)行連接,并不要求各個(gè)構(gòu)件具有相同的地址空間或局限在一臺(tái)機(jī)器上,因此該

2、風(fēng)格可以很好的刻畫分布式開發(fā)系統(tǒng),以及和 EJB 規(guī)范的系統(tǒng)。2、是分析和比較 B/S、二層 C/S 和三層 C/S,之處各自的優(yōu)點(diǎn)和缺點(diǎn)。B/S 風(fēng)格就是上述三層應(yīng)用結(jié)構(gòu)的一種實(shí)現(xiàn)方式,其具體結(jié)構(gòu)為:瀏覽器/Web 服務(wù)器/數(shù)據(jù)庫服務(wù)器。優(yōu)點(diǎn)(1)基于 B/S 體系結(jié)構(gòu)的,系統(tǒng)安裝,修改和全在服務(wù)器端解決。(2)提供了異種機(jī),異種網(wǎng),異種應(yīng)用服務(wù)的聯(lián)機(jī),聯(lián)網(wǎng),同意服務(wù)的最現(xiàn)實(shí)的開放性基礎(chǔ)。缺點(diǎn):缺乏對(duì)動(dòng)態(tài)頁面的支持能力,沒有集成有效的數(shù)據(jù)庫處理能力。在數(shù)據(jù)查詢等響應(yīng)速度上,要遠(yuǎn)遠(yuǎn)低于 C/S 體系結(jié)構(gòu)。(3)數(shù)據(jù)提交一般以頁面為用。,數(shù)據(jù)的動(dòng)態(tài)交互性不強(qiáng),不利于事務(wù)處理應(yīng)二層 C/S 體系結(jié)

3、構(gòu)將應(yīng)用一分為二,服務(wù)器負(fù)責(zé)數(shù)據(jù)管理,客戶機(jī)完成與用戶的交互任務(wù)。二層 C/S 的優(yōu)點(diǎn):(1)C/S 體系結(jié)構(gòu)具有強(qiáng)大的數(shù)據(jù)操作的事務(wù)處理能力,模型解和接受。簡單,易于人們理(2)對(duì)軟硬件的變化有極大的適應(yīng)性和靈活性,易于對(duì)系統(tǒng)進(jìn)行擴(kuò)充和縮小。(3)系統(tǒng)中的功能構(gòu)建充分,節(jié)約大量費(fèi)用。缺點(diǎn):(1)開發(fā)成本較高??蛻舳顺绦蛟O(shè)計(jì)復(fù)雜。信息內(nèi)容和形式單一。用戶界面風(fēng)格不一,使用繁雜不易推廣。(5)(6)移植。和升級(jí)。(7)新技術(shù)不能輕易應(yīng)用。三層 CS 在上面的基礎(chǔ)上進(jìn)行了改造,并增加了一個(gè)服務(wù)器,其優(yōu)點(diǎn):允許合理的劃分三層結(jié)構(gòu)的功能,能提高系統(tǒng)和具有良好的可升級(jí)性和開放性。的可性和可擴(kuò)展性。應(yīng)用的

4、各層可以并行開發(fā),可以選擇各自最適合的開發(fā)語言。為嚴(yán)格的安全管理奠定了堅(jiān)實(shí)的基礎(chǔ)。3、組織和參與一個(gè)采用 B/S 和 C/S 混合體系結(jié)構(gòu)的首先,開發(fā)者根據(jù)一定的原則,將系統(tǒng)的所有項(xiàng)目的開發(fā),總結(jié)開發(fā)經(jīng)驗(yàn)。能分類,決定哪些能適合采用C/S,哪些適合采用 B/S。適合采用 C/S 的能應(yīng)具備以下特點(diǎn):1 安全性要求高;2 要求具有較強(qiáng)的交互性;3 使用范圍小,地點(diǎn)固定;4 要求處理大量數(shù)據(jù)。例如,倉庫管理系統(tǒng)中的入庫單、領(lǐng)料單的輸入功能,財(cái)務(wù)系統(tǒng)中的憑證輸入功能等等。而適合采用 B/S 的能應(yīng)具備以下特點(diǎn):1 使用范圍廣,地點(diǎn)靈活;2 功能變動(dòng)頻繁;3 安全互性要求不同。例如:企業(yè)信息發(fā)布功能,

5、意見箱輸入功能,公司財(cái)務(wù)分析表的查詢功能,決策支持系統(tǒng)中的查詢功能等等。相對(duì)于單獨(dú)采用 C/S 或 B/S,這種方案的優(yōu)點(diǎn)在于:1 保證敏感數(shù)據(jù)的安全性,特別是對(duì)數(shù)據(jù)庫的修改和新增加強(qiáng)了控制;2 經(jīng)濟(jì)有效地利用企業(yè)計(jì)算機(jī)的資源,簡化了一部分可以簡化的客戶端;3 既保證了復(fù)雜功能的交互性,又保證了一般功能的易用與;4簡便,布局合理;5 網(wǎng)絡(luò)效率最高。如果系統(tǒng)開發(fā)者在系統(tǒng)設(shè)計(jì)階段決定采用這種 C/S 與 B/S 相結(jié)合的模式,那么在系統(tǒng)開發(fā)生命周期的如下各個(gè)階段相對(duì)這種新模式都應(yīng)有所響應(yīng)。在系統(tǒng)設(shè)計(jì)階段主要考慮的是 MIS 系統(tǒng)選擇問題。在詳細(xì)設(shè)計(jì)階段,系統(tǒng)開發(fā)者需要根據(jù)企業(yè)自身的業(yè)務(wù)特點(diǎn),以及一

6、定的選擇原則,來決定各個(gè)能采用哪一種模式并在系統(tǒng)說明書上分別注明。在編碼設(shè)計(jì)階段,系統(tǒng)開發(fā)者需要針對(duì)采用不同模式的能,選用不同的編碼方式(例如:C/S 可以采用 VB 編程環(huán)境,而 B/S 采用 ASP 方法),然后編譯生成不同的客戶應(yīng)用及 Web 服務(wù)程序。在安裝調(diào)試階段,其特點(diǎn)主要體現(xiàn)在系統(tǒng)的物理結(jié)構(gòu)上,即特定的客戶應(yīng)用程序?qū)⒈话惭b在特定的使用者的客戶端上,Web 服務(wù)程序需要被安裝在 Web 服務(wù)器上,而每個(gè)客戶端上都將被安裝上瀏覽器,同時(shí),客戶應(yīng)用的使用者必須接受一定的培訓(xùn)。在階段,針對(duì)不同模式的能應(yīng)采取不同方式。4、組織或參與一個(gè)采用三層體系結(jié)構(gòu)的項(xiàng)目的開發(fā),總結(jié)開發(fā)經(jīng)驗(yàn)。三層體系結(jié)

7、構(gòu)包括:用戶界面表示層(USL) 、業(yè)務(wù)邏輯層(BLL) 、數(shù)據(jù)層(DAL) 。各層的作用 :1:數(shù)據(jù)層:主要是對(duì)原始數(shù)據(jù)(數(shù)據(jù)庫或者文本文件等存放數(shù)據(jù)的形式)的操作層,而不是指原始數(shù)據(jù),也就是說,是對(duì)數(shù)據(jù)的操作,而不是數(shù)據(jù)庫,具體為業(yè)務(wù)邏輯層或表示層提供數(shù)據(jù)服務(wù)。2:業(yè)務(wù)邏輯層:主要是針對(duì)具體的操作,也可以理解成對(duì)數(shù)據(jù)層的操作,對(duì)數(shù)據(jù)業(yè)務(wù)邏輯處理,如果說數(shù)據(jù)層是積木,那邏輯層就是對(duì)這些積木的搭建。3:表示層:主要表示 WEB 方式,也可以表示成 WINFORM 方式,WEB 方式也可以表現(xiàn)成:aspx, 如果邏輯層相當(dāng)強(qiáng)大和完善,無論表現(xiàn)層如何定義和更改,邏輯層都能完善地提供服務(wù)。三層是指邏

8、輯上的三層,即使這三個(gè)層放置到一臺(tái)機(jī)器上。 三層體系的應(yīng)用程序?qū)I(yè)務(wù)規(guī)則、數(shù)據(jù)、校驗(yàn)等工作放到了中間層進(jìn)行處理。在保證客戶端功能的前提下,為用戶提供一個(gè)簡潔的界面。這意味著如果需要修改應(yīng)用程序代碼,只需要對(duì)中間層應(yīng)用服務(wù)器進(jìn)行修改,而不用修改成千上萬的客戶端應(yīng)用程序?!爸虚g業(yè)務(wù)層”的用途有很多,例如:驗(yàn)證用戶輸入數(shù)據(jù)、緩存從數(shù)據(jù)庫中的數(shù)據(jù)等等但是,“中間業(yè)務(wù)層”的實(shí)際目的是將“數(shù)據(jù)層”的最基礎(chǔ)的邏輯組合起來,形成一種業(yè)務(wù)規(guī)則。要保證“數(shù)據(jù)管負(fù)責(zé)或?qū)印钡闹械暮瘮?shù)功能的原子性!即最小性和不可再分?!皵?shù)據(jù)層”只數(shù)據(jù)就可以了。用三層結(jié)構(gòu)主要是使項(xiàng)目結(jié)構(gòu)更清楚,分工更明確,有利于后期的和升級(jí)。它未必會(huì)性

9、能,因?yàn)槌绦蚰K未執(zhí)行結(jié)束時(shí),主程序模塊只能處于等待狀態(tài)。這說明將應(yīng)用程序劃分層次,會(huì)帶來其執(zhí)行速度上的一些損失。但從團(tuán)隊(duì)開發(fā)效率角度上來講卻可以感受到大不相同的效果。需明一下,三層結(jié)構(gòu)不是.NET 的專利,也不是專門用在數(shù)據(jù)庫上的技術(shù)。它是一種更加普適的架構(gòu)設(shè)計(jì)理念。此種架構(gòu)要在數(shù)據(jù)庫設(shè)計(jì)上注意表之間的關(guān)系,盡力滿足主與子的關(guān)系。在功能上對(duì)用戶要有一定的限制,不要表現(xiàn)在對(duì)于子表的刪除操作一定要慎重,以免造成主表與子表的數(shù)據(jù)在邏輯上出現(xiàn)的主表的外鍵在子表中沒有相對(duì)應(yīng)的值。“三層結(jié)構(gòu)”開發(fā)模式,入門難度夠高,難于理解和學(xué)習(xí)。這是對(duì)于初學(xué)程序設(shè)計(jì)的人來說的。以這種模式開發(fā)出來的,代碼量通常要稍稍多

10、一些。這往往會(huì)令初學(xué)者淹沒在茫茫的代碼之中。望之生畏,對(duì)其產(chǎn)生,也是可以理解的。5、在開發(fā)中,采用異構(gòu)結(jié)構(gòu)好處,其影響有哪些?1).結(jié)構(gòu)有不同的處理能力的強(qiáng)項(xiàng)和弱點(diǎn),一個(gè)系統(tǒng)的體系結(jié)構(gòu)應(yīng)該根據(jù)實(shí)際需要進(jìn)行選擇,以解決實(shí)際問題。2).包,框架,通信以及其他一些體系機(jī)構(gòu)上,目前存在者多中標(biāo)準(zhǔn)。即。使再某一段時(shí)間內(nèi)某一標(biāo)準(zhǔn)占據(jù)著地位,但變動(dòng)最終是3).工作中,總會(huì)遇到一些遺留下的代碼,它們?nèi)杂行в?,但是卻與新系統(tǒng)有某種程度上的不協(xié)調(diào)。然而在很多場合,將技術(shù)與經(jīng)濟(jì)綜合進(jìn)行考慮時(shí),總是決定不重寫它們。4).在某一中,規(guī)定了共享共同的包或相互關(guān)系的一些標(biāo)準(zhǔn),仍會(huì)存在解釋或表示上的不同。影響:大多數(shù)應(yīng)用程序

11、只使用 10%的代碼實(shí)現(xiàn)系統(tǒng)的公開功能,剩下 90%的代碼完成系統(tǒng)管理功能:輸入和輸出,用戶界面,文本編輯,基本圖表,標(biāo)準(zhǔn)據(jù)確認(rèn)和旁聽追蹤,特定領(lǐng)域的基本定義等???,通信,數(shù)6、選擇一個(gè)你熟悉的大型點(diǎn)。系統(tǒng),分析其體系結(jié)構(gòu)中用到的風(fēng)格,以及的特對(duì)社交的分析:采用了 C/S 風(fēng)格,并且在一定程度上算為三層 C/S 風(fēng)格表示層:社交信息的顯示,并提供了更新和搜索等操作功能層:具有搜索、聊天、離線留言、文件傳輸?shù)鹊裙δ軘?shù)據(jù)層:有數(shù)據(jù)庫服務(wù)器提供留言、相冊(cè)、好友信息等數(shù)據(jù)優(yōu)點(diǎn):使邏輯結(jié)構(gòu)更為清晰,分類明確,給用戶更好的體驗(yàn)缺點(diǎn):需要數(shù)據(jù)通信的支持,對(duì)網(wǎng)絡(luò)的依賴很高,沒有網(wǎng)絡(luò),許多功能將沒有意義。7、黑

12、板風(fēng)格和倉庫風(fēng)格之間的區(qū)別是什么?倉庫風(fēng)格的體系結(jié)構(gòu)由兩個(gè)構(gòu)件組成:一個(gè)是數(shù)據(jù)結(jié)構(gòu),用于說明當(dāng)前數(shù)據(jù)的狀態(tài);一個(gè)是一組對(duì)數(shù)據(jù)進(jìn)行操作的獨(dú)立構(gòu)件。對(duì)于系統(tǒng)中數(shù)據(jù)和狀態(tài)的控制方法有兩種:一個(gè)是傳統(tǒng)的方法由輸人事務(wù)選擇進(jìn)行何種處理,并把執(zhí)行結(jié)果作為當(dāng)前狀態(tài)存儲(chǔ)到數(shù)據(jù)結(jié)構(gòu)中,這時(shí),倉庫是一個(gè)傳統(tǒng)的數(shù)據(jù)庫體系結(jié)構(gòu);另法由數(shù)據(jù)結(jié)構(gòu)的當(dāng)前狀態(tài)決定進(jìn)行何種處理。這時(shí),倉庫是一個(gè)黑板體系結(jié)構(gòu),即黑板體系結(jié)構(gòu)是倉庫體系結(jié)構(gòu)的特殊化。8、研究項(xiàng)目:著名的體系結(jié)構(gòu)風(fēng)格有多少種?最為常用的體系結(jié)構(gòu)風(fēng)格,總共有五種,分別是:數(shù)據(jù)流風(fēng)格;調(diào)用/返回風(fēng)格的體系結(jié)構(gòu);虛擬機(jī)風(fēng)格的體系結(jié)構(gòu); 獨(dú)立組件風(fēng)格的體系結(jié)構(gòu);倉庫風(fēng)格的體

13、系結(jié)構(gòu)。第四章體系結(jié)構(gòu)描述1、體系結(jié)構(gòu)描述有哪些方法?有哪些標(biāo)準(zhǔn)和規(guī)范?傳統(tǒng)體系結(jié)構(gòu)描述方法:(1)、圖形表達(dá)工具。對(duì)于體系結(jié)構(gòu)的描述和表達(dá),一種簡潔易懂且使用廣泛的方法是采用由矩形框和有向線段組合而成的圖形表達(dá)工具。在這種方法中,矩形框代表抽象構(gòu)件,框內(nèi)標(biāo)注的文字為抽象構(gòu)件的名稱,有向線段代表輔助各構(gòu)件進(jìn)行通訊、控制或關(guān)聯(lián)的連接件。目前,這種圖形表達(dá)工具在設(shè)計(jì)中占據(jù)著主導(dǎo)地位。盡管由于在術(shù)語和表達(dá)語義上存在著一些不規(guī)范和不精確,而使得以矩形框與線段為基礎(chǔ)的傳統(tǒng)圖形表達(dá)方法在不同系統(tǒng)和不同文檔之間有著許多不一致甚至被廣泛使用,并為,但該方法仍然以其簡潔易用的特點(diǎn)在實(shí)際的設(shè)計(jì)和開發(fā)工作中傳遞了大

14、量重要的體系結(jié)構(gòu)。為了克服傳統(tǒng)圖形表達(dá)方法中所缺乏的語義特征,有關(guān)研究理論。(2)、模塊內(nèi)連接語言試圖通過增加含有語義的圖元素的方式來開發(fā)圖文法體系結(jié)構(gòu)的第二種描述和表達(dá)方法是采用將一種或幾種傳統(tǒng)程序設(shè)計(jì)語言的模塊連接起來的模塊內(nèi)連接語言 MIL(Moduleerconnection Language)。由于程序設(shè)計(jì)語言和模塊內(nèi)連接語言具有嚴(yán)格的語義基礎(chǔ),因此他們能支持對(duì)較大的定義/使用和扇入/扇出等操作。單元進(jìn)行描述,諸如MIL 方式對(duì)模塊化的程序設(shè)計(jì)和分段編譯等程序設(shè)計(jì)與開發(fā)技術(shù)確實(shí)發(fā)揮了很大的作用。但是由于這些語言處理和描述的設(shè)計(jì)開發(fā)層次過于依賴程序設(shè)計(jì)語言,因此限制了他們處理和描述比程

15、序設(shè)計(jì)語言元素更為抽象的次體系結(jié)構(gòu)元素的能力2、體系結(jié)構(gòu)描述語言與程序設(shè)計(jì)語言 ADL 與其他的語言比較具有以下能力:(1)構(gòu)造能力:ADL 能夠使用較小的獨(dú)區(qū)別?系結(jié)構(gòu)元素來建造大型系統(tǒng);(2)抽象能力:ADL 使得體系結(jié)構(gòu)中的構(gòu)件和連接件描述可以只關(guān)注他們的抽象特性,而不管其具體的實(shí)現(xiàn)細(xì)節(jié);(3)重用能力:ADL 使得組成系統(tǒng)的構(gòu)件,連接件甚至是體系結(jié)構(gòu)都成為系統(tǒng)開發(fā)和設(shè)計(jì)的可重用;(4)組合能力:ADL 使得其描述的每一系統(tǒng)元素都有其自己的布局結(jié)構(gòu),這種描述布局結(jié)構(gòu)的特點(diǎn)使得 ADL 支持系統(tǒng)的動(dòng)態(tài)變化組合;異構(gòu)能力:ADl 允許多個(gè)不同的體系結(jié)構(gòu)描述關(guān)聯(lián)存在;分析和推理能力:ADL 允

16、許對(duì)其描述的體系結(jié)構(gòu)進(jìn)行多種不同的性能和功能上的多種推理分析。ADL 與需求語言的區(qū)別在于后者描述的是問題空間,而前者描述的是接空間。 ADL 與建模語言的區(qū)別在于后者對(duì)整體行為的關(guān)注要大于部分的關(guān)注,而 ADl 集中在構(gòu)建的表示上。3、典型的素?主要有五種 AD體系結(jié)構(gòu)描述語言包括哪些?它們分別需要描述體系結(jié)構(gòu)中哪些基本元iCon,Darwin,C2 SADL,Acme 和 xADL.Rae:一種事件驅(qū)動(dòng)的 ADL,它以體系結(jié)構(gòu)定義作為開發(fā)框架,支持基于構(gòu)件的開發(fā).該語言提供了建模,分析,仿真和代碼生成的能力,但是沒有將連接子顯式地表示為一階實(shí)體.Wright:其主要特點(diǎn)是將 CSP 用于體

17、系結(jié)構(gòu)的描述,從而完成對(duì)體系結(jié)構(gòu)描述的某些形式化推理(包括相容性檢查和死鎖檢查等).但它僅僅是一個(gè)設(shè)計(jì)規(guī)約語言,只能用于描述,無法支持系統(tǒng)生成,同時(shí) CSP 的使用也是比較的事情.Acme:支持 ADL 之間的及工具集成的體系結(jié)構(gòu)互交換語言.其目標(biāo)是作為體系結(jié)構(gòu)設(shè)計(jì)的一個(gè)共同的互交換格式,以便將現(xiàn)有的各種 ADL 在這個(gè)框架下起來;而它本身也可以看作是一種 ADL.xArch:一種基于 XML 的 ADL.它使用 XML 定義了描述體系結(jié)構(gòu)的元素,可以用來簡單的描述體系結(jié)構(gòu),也可以作為設(shè)計(jì)其它 ADL 的基礎(chǔ),或者用作體系結(jié)構(gòu)描述描述語言的互交換機(jī)制。xADL2.0:以 xArch 為基礎(chǔ)的基

18、于 XML 的 ADL。除了 xArch 的元素,xADL2.0 還提供了對(duì)系統(tǒng)運(yùn)行時(shí)刻和設(shè)計(jì)時(shí)刻的元素的建模支持,類似版本,選項(xiàng)和變量等更高級(jí)的配置管理觀念,以及對(duì)產(chǎn)品的體系結(jié)構(gòu)的建模支持.此外,xADL2.0 還利用 XML 的可擴(kuò)展性簡化了新的 ADL 的設(shè)計(jì)及其相應(yīng)工具的開發(fā)過程。4、對(duì)一個(gè)你熟悉的系統(tǒng),如果要使用 ADL 對(duì)其體系結(jié)構(gòu)進(jìn)行描述,你會(huì)選擇哪一種?為什么?這樣選擇的優(yōu)點(diǎn)和缺點(diǎn)各有哪些?我會(huì)選擇 Acme。下面介紹原因:Acme 是 CMU 的 Acme 項(xiàng)目的產(chǎn)物.該項(xiàng)目始于 1995 年,目的是為了研究一個(gè)公共的語言,使之能在不同的體系結(jié)構(gòu)設(shè)計(jì)工具之間作為體系結(jié)構(gòu)描述信

19、息互換的橋梁.目前 Acme 及其開發(fā)工具包 AcmeLib 提供了一個(gè)通用的,可擴(kuò)展的基礎(chǔ)框架用于描述,表示,生成以及分析系統(tǒng)的體系結(jié)構(gòu).而作為橋梁作用的 Acme,由于必須具備大多數(shù) ADL 共有的概念,因此它本身也是一個(gè) ADL,并且是一個(gè)相對(duì)而言比較簡單的通用的 ADL. Acme 的建模元素和特點(diǎn) Acme的主要特點(diǎn)表現(xiàn)為:采用七個(gè)基本的體系結(jié)構(gòu)設(shè)計(jì)元素作為體系結(jié)構(gòu)的本體(architectural ontology),采用靈活的標(biāo)注機(jī)制支持使用外部語言定義的非結(jié)構(gòu)化信息 ,使用類型機(jī)制對(duì)常見的可復(fù)用的體系結(jié)構(gòu)俗語和風(fēng)格進(jìn)行抽象描述 使用開放的語義框架對(duì)體系結(jié)構(gòu)描述進(jìn)行推理Acme

20、的設(shè)計(jì)元素 Acme 的設(shè)計(jì)元素 ,以下對(duì) Acme 所采用的設(shè)計(jì)元素進(jìn)行簡要介紹.這七個(gè)設(shè)計(jì)元素是:構(gòu)件(components):系統(tǒng)中的計(jì)算元素和數(shù)據(jù).直觀的說,就是線框圖中的框.典型的構(gòu)件有:客戶端,服務(wù)器,數(shù)據(jù)庫,黑板,過濾器等,連接子(connectors):構(gòu)件之間的交互.直觀的說,就是線框圖中的線.典型的連接子有:過程調(diào)用,事件廣播,客戶和服務(wù)器之間的協(xié)議等. 系統(tǒng)(systems):構(gòu)件和連接子的配置,端口(ports):構(gòu)件通過端口與外界發(fā)生交互.一個(gè)構(gòu)件可以有多個(gè)不同類型的端口,每個(gè)端口都是一個(gè)接口的集合,例如一系列需要以特定順序調(diào)用的過程.角色(roles):連接子通過角

21、色與外界發(fā)生交互.角色定義了構(gòu)件之間交互的參與者.表示(represenions):構(gòu)件或者連接子結(jié)構(gòu)的描述.通過表示這個(gè)概念,系統(tǒng)的體系結(jié)構(gòu)就具有了層次結(jié)構(gòu).同時(shí),表示這個(gè)概念可以用于描述體系結(jié)構(gòu)實(shí)體的多個(gè)視圖(但是 Acme 本身并不處理視圖之間的對(duì)應(yīng)關(guān)系)。(rep-maps):將構(gòu)件或者連接子的表示與外部接口進(jìn)行. 簡單的客戶端-服務(wù)器系統(tǒng)以下是一個(gè)簡單的客戶端-服務(wù)器系統(tǒng)的 Acme 描述:Acme 本質(zhì)上是一些 ADL 的建模元素的最大公約數(shù),因此它能作為不同 ADL 及其支撐工具之間用于信息交換的語言.這是 Acme 的最大作用,當(dāng)然這也使得它只能成為一個(gè)建模能力一般的 ADL,

22、例如 Acme 中就沒有相應(yīng)的機(jī)制用于對(duì)構(gòu)件或者系統(tǒng)行為進(jìn)行描述或者規(guī)約.相關(guān)研究者正在考慮在 Acme 中引入類似于 Wright 中使用的 CSP 的形式化語言來解決這個(gè)問題.當(dāng)然,作為一個(gè)通用的交換語言,Acme 的能力及其可擴(kuò)展性也不是無限的.例如 Acme 的擴(kuò)展僅限于在七個(gè)基本設(shè)計(jì)元素的基礎(chǔ)上進(jìn)行,并且 Acme 中缺乏用于描述屬性及其數(shù)據(jù)格式的元語言.無論如何,Acme 是第一個(gè) ADL 之間的互交換語言,它的出現(xiàn)使得不同的 ADL 支持工具之間有可能進(jìn)行體系結(jié)構(gòu)描述信息的交流.5、選擇一個(gè)規(guī)模適中的系統(tǒng),使用 UML 為其建模。為一個(gè)網(wǎng)上購物系統(tǒng)利用 UML 為其建模,如下:開

23、發(fā)過程 RUP 把整個(gè)開發(fā)過程分為初始、細(xì)化、構(gòu)造、交付四個(gè)階段,具有用例驅(qū)動(dòng)、以架構(gòu)為中心、迭代和增量的特點(diǎn)。同其它開發(fā)方法相比較,RUP 具有自身獨(dú)特的優(yōu)勢,為開發(fā)提供了重要的方法論指導(dǎo)根據(jù)對(duì)網(wǎng)上購物系統(tǒng)的體系結(jié)構(gòu)及建模分析,采用 UML 作為建模語言,結(jié)合 RUP 的基本開發(fā)過程,提出適合網(wǎng)上購物系統(tǒng)開發(fā)的建模過程。該過程遵循了 RUP 四個(gè)階段的理論,主要是對(duì)初始和細(xì)化兩個(gè)階段進(jìn)行了詳細(xì)的分析。整個(gè)過程包括業(yè)務(wù)建模、需求建模、對(duì)象建模、數(shù)據(jù)庫建模和物理建模等五個(gè)步驟,每個(gè)步驟都會(huì)生成一定的系統(tǒng)模型,并用相應(yīng)的 UML 圖來描述這些模型。在建模過程中,采用了 RUP 中迭代增量式的開發(fā),

24、把系統(tǒng)的建模進(jìn)一步分解為迭代,一個(gè)迭代是一個(gè)從系統(tǒng)的業(yè)務(wù)建模到物理建模的完整過程,每一個(gè)迭代都會(huì)產(chǎn)生一個(gè)模型版本,是最終模型的一個(gè)子集,它增量式地發(fā)展,從一個(gè)迭代過程到另一個(gè)迭代過程,直到成為系統(tǒng)的最終模型。(1)、 業(yè)務(wù)建模業(yè)務(wù)建模用于對(duì)網(wǎng)上購物系統(tǒng)環(huán)境的業(yè)務(wù)過程進(jìn)行建模。系統(tǒng)分析通過網(wǎng)上購物系統(tǒng)的業(yè)務(wù)建模能夠了解系統(tǒng)所處的環(huán)境和業(yè)務(wù)過程,業(yè)務(wù)建模能夠?qū)⑦@些信息進(jìn)行體現(xiàn),并表現(xiàn)環(huán)境中存在或可以覺察到的過程,從而詳細(xì)說明網(wǎng)上購物系統(tǒng)所要支持的業(yè)務(wù)過程。業(yè)務(wù)建模既確定了業(yè)務(wù)過程涉及到的業(yè)務(wù)對(duì)象和領(lǐng)域?qū)ο螅执_定了每個(gè)業(yè)務(wù)過程所需要的資源和能力,包括、每個(gè)的職責(zé)和執(zhí)行的操作、過程的執(zhí)行方式和協(xié)作等

25、。這些信息對(duì)于下一步的需求建模是非常重要和有用的。業(yè)務(wù)建模一般通過業(yè)務(wù)過程圖來進(jìn)行描述。業(yè)務(wù)過程圖是對(duì)事件邏輯的歸類,這些事件被認(rèn)為是業(yè)務(wù)的基本元素。其目的是將整個(gè)業(yè)務(wù)領(lǐng)域作為一個(gè)過程集進(jìn)行描述,而不關(guān)心過程的次序或單個(gè)過程之間的交互作用。業(yè)務(wù)過程圖不必嚴(yán)格精密,它應(yīng)該全面而不是精確。重要的是,通過查看業(yè)務(wù)過程圖,系統(tǒng)分析關(guān)于業(yè)務(wù)范圍和活動(dòng)的總體印象。(2)、 需求建模、設(shè)計(jì)、開發(fā)和用戶能夠迅速獲得需求建模的主要工作是獲得系統(tǒng)的需求,建立待開發(fā)系統(tǒng)的模型。而用例則有助于更好地了解系統(tǒng)需求并以規(guī)范化的格式進(jìn)行描述。需求建模就是要以用例的方式來描述系統(tǒng)的功能,其主要工作成果是用例模型。采用用例模型

26、來描述進(jìn)行需求建模的主要過程如下:a、確定所要開發(fā)系統(tǒng)的參與者,參與者可以是人,也可以是與系統(tǒng)交互的外部系統(tǒng)。網(wǎng)上購物系統(tǒng)的參與者主要有管理員、顧客、支付系統(tǒng)等。b、從執(zhí)行者的角度出發(fā),分析他和系統(tǒng)需要進(jìn)行的交互作用,并從這些交互過程中抽象出用例。從顧客的角度出發(fā),網(wǎng)上購物系般有以下用例:用戶登錄、用戶、瀏覽商品、搜索商品、商品、下訂單、支付等;從系統(tǒng)管理員的角度出發(fā),網(wǎng)上購物系般有以下用例:用戶登錄、用戶管理、商品管理、訂單管理等。c、對(duì)每一用例確定其主要的業(yè)務(wù)過程。例如“用戶登錄”用例的業(yè)務(wù)過程為顧客、系統(tǒng)管理員、等通過用戶登錄可以獲得相應(yīng)的服務(wù);“支付”用例的業(yè)務(wù)過程為顧客為所夠買物品選

27、擇付款方式進(jìn)行付款。e、以信息流為中心逐步形成完整的用例模型。網(wǎng)上購物系統(tǒng)的完整用例模型包括很多的用例圖,其中既包括系統(tǒng)的頂層用例圖,也包括各種細(xì)化的用例圖。、 對(duì)象建模確定了系統(tǒng)的需求分析、得出系統(tǒng)的用例模型以后,需要進(jìn)行的主要任務(wù)就是對(duì)系統(tǒng)進(jìn)行對(duì)象建模。對(duì)象建模的主要工作是把需求建模階段產(chǎn)生的用例模型轉(zhuǎn)化為系統(tǒng)的靜態(tài)結(jié)構(gòu)模型和動(dòng)態(tài)行為模型,使建立的系統(tǒng)在特定的環(huán)境下完成需求分析中的任務(wù)和功能,有利于系統(tǒng)的實(shí)現(xiàn)和迭代。這其中主要包括靜態(tài)結(jié)構(gòu)建模和動(dòng)態(tài)對(duì)象建模兩部分。、 數(shù)據(jù)庫建模數(shù)據(jù)庫建模是從計(jì)算機(jī)系統(tǒng)的角度對(duì)系統(tǒng)所要處理的數(shù)據(jù)進(jìn)行建模。數(shù)據(jù)庫系統(tǒng)是整個(gè)網(wǎng)上購物系統(tǒng)的基礎(chǔ),數(shù)據(jù)庫建模的好壞直

28、接影響到整個(gè)系統(tǒng)的結(jié)構(gòu)、實(shí)現(xiàn)的復(fù)雜程度、性能、安全性和可性等。傳統(tǒng)的邏輯數(shù)據(jù)庫建模工具“實(shí)體一聯(lián)系(ER)圖只針對(duì)數(shù)據(jù)建模,不能對(duì)行為建模。而 UML 的類圖能夠更好的用于數(shù)據(jù)庫建模。UML 的類圖不但對(duì)數(shù)據(jù)建模,而且能對(duì)行為建模,這些行為在物理數(shù)據(jù)庫中被設(shè)計(jì)成觸發(fā)器和過程。即使是關(guān)系數(shù)據(jù)庫,也可以在類圖設(shè)計(jì)圖到關(guān)系模型的轉(zhuǎn)換,按照一個(gè)類標(biāo)識(shí)的標(biāo)識(shí)符即為關(guān)系的主鍵。(5)、 物理建模后,再采取標(biāo)準(zhǔn)方法把類圖到具體的關(guān)系模型。從類為一個(gè)關(guān)系的原則進(jìn)行,而類的屬性即為關(guān)系的屬性,物理建模用于網(wǎng)上購物系統(tǒng)建模過程的最后階段,是對(duì)網(wǎng)上購物系統(tǒng)的物理方面進(jìn)行建模。它使用 UML 中的組件圖描述網(wǎng)上購物系統(tǒng)中代碼組件的物理結(jié)構(gòu)及各個(gè)組件之間的依賴關(guān)系,使用配置圖定義網(wǎng)上購物系統(tǒng)的軟硬件結(jié)構(gòu)及通信機(jī)制,表示軟硬件系統(tǒng)之間的協(xié)作關(guān)系。以上五個(gè)步驟是根據(jù) RUP 的四個(gè)階段細(xì)化的結(jié)果,分別對(duì)應(yīng)了 RU

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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)論