2018年上半年系統(tǒng)分析師考試系統(tǒng)分析設(shè)計(jì)案例真題_第1頁(yè)
2018年上半年系統(tǒng)分析師考試系統(tǒng)分析設(shè)計(jì)案例真題_第2頁(yè)
2018年上半年系統(tǒng)分析師考試系統(tǒng)分析設(shè)計(jì)案例真題_第3頁(yè)
2018年上半年系統(tǒng)分析師考試系統(tǒng)分析設(shè)計(jì)案例真題_第4頁(yè)
2018年上半年系統(tǒng)分析師考試系統(tǒng)分析設(shè)計(jì)案例真題_第5頁(yè)
已閱讀5頁(yè),還剩11頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

2018年上半年系統(tǒng)分析師考試系統(tǒng)分析設(shè)計(jì)案例真題一、案例分析題

閱讀以下關(guān)于系統(tǒng)分析任務(wù)的敘述,在答題紙上回答問題1至問題3。

【說明】

某公司是一家以運(yùn)動(dòng)健身器材銷售為主營(yíng)業(yè)務(wù)的企業(yè),為了擴(kuò)展銷售渠道,解決原銷售系統(tǒng)存在的許多問題,公司委托某軟件企業(yè)開發(fā)一套運(yùn)動(dòng)健身器材在線銷售系統(tǒng)。目前,新系統(tǒng)開發(fā)處于問題分析階段,所分析各項(xiàng)內(nèi)容如下所述:

(a)用戶需要用鍵盤輸入復(fù)雜且存在重復(fù)的商品信息;

(b)訂單信息頁(yè)面自動(dòng)獲取商品信息并填充;

(c)商品訂單需要遠(yuǎn)程訪問庫(kù)存數(shù)據(jù)并打印提貨單;

(d)自動(dòng)生成電子提貨單并發(fā)送給倉(cāng)庫(kù)系統(tǒng);

(e)商品編碼應(yīng)與原系統(tǒng)商品編碼保持一致;

(f)商品訂單處理速度太慢;

(g)訂單處理的平均時(shí)間減少30%;

(h)數(shù)據(jù)編輯服務(wù)器CPU性能較低;

(i)系統(tǒng)運(yùn)維人員數(shù)量不能增加?!締栴}1】

問題分析階段主要完成對(duì)項(xiàng)目開發(fā)的問題、機(jī)會(huì)和或指示的更全面的理解。請(qǐng)說明系統(tǒng)分析師在問題分析階段通常需要完成哪四項(xiàng)主要任務(wù)。__________________________________________________________________________________________

正確答案:(問題分析階段的四項(xiàng)主要任務(wù)包括:

1)研究問題領(lǐng)域

2)分析問題和機(jī)會(huì)

3)制定系統(tǒng)改進(jìn)目標(biāo)

4)修改項(xiàng)目計(jì)劃)【問題2】

因果分析是問題分析階段一項(xiàng)重要技術(shù),可以得出對(duì)系統(tǒng)問題的真正理解,并且有助于得到更具有創(chuàng)造性和價(jià)值的方案。請(qǐng)將題目中所列(a)~(i)各項(xiàng)內(nèi)容填入表中(1)~(4)對(duì)應(yīng)位置。__________________________________________________________________________________________

正確答案:((1)(a)(f)

(2)(c)(h)

(3)(b)(d)(g)

(4)(e)(i))【問題3】

系統(tǒng)約束條件可以分為四類,請(qǐng)將類別名稱填入表中(1)~(4)對(duì)應(yīng)的位置。

表1-2約束條件分類

__________________________________________________________________________________________

正確答案:((1)進(jìn)度

(2)成本

(3)功能

(4)質(zhì)量)問題分析階段的主要任務(wù)包括:

1)研究問題領(lǐng)域

利用信息系統(tǒng)框架來列出和定義系統(tǒng)領(lǐng)域

數(shù)據(jù)–列出所有與系統(tǒng)當(dāng)前存儲(chǔ)的數(shù)據(jù)(在文件、數(shù)據(jù)庫(kù)、表格中)有關(guān)的內(nèi)容,并按照業(yè)務(wù)詞匯定義每項(xiàng)內(nèi)容。

過程–定義當(dāng)前為其實(shí)現(xiàn)了業(yè)務(wù)響應(yīng)(過程)的每個(gè)業(yè)務(wù)事件

接口–定義運(yùn)行當(dāng)前系統(tǒng)的所有地點(diǎn)和每個(gè)地點(diǎn)的所有用戶

2)分析問題和機(jī)會(huì)

3)分析業(yè)務(wù)過程(可選)

4)制定系統(tǒng)改進(jìn)目標(biāo)

5)修改項(xiàng)目計(jì)劃

6)階段確認(rèn)閱讀以下關(guān)于系統(tǒng)分析設(shè)計(jì)的敘述,在答題紙上回答問題1至問題3。

【說明】

某軟件公司為共享單車租賃公司開發(fā)一套單車租賃服務(wù)系統(tǒng),公司項(xiàng)目組對(duì)此待開發(fā)項(xiàng)目進(jìn)行了分析,具體描述如下:

1)用戶(非注冊(cè)用戶)通過手機(jī)向租賃服務(wù)系統(tǒng)進(jìn)行注冊(cè),成為可租賃共享單車的合法用戶,其中包括提供身份、手機(jī)號(hào)等信息,并支付約定押金;

2)將采購(gòu)的共享單車注冊(cè)到租賃服務(wù)系統(tǒng)后方可投入使用。即將單車的標(biāo)識(shí)信息(車輛編號(hào)、二維碼等)錄入到系統(tǒng);

3)用戶(注冊(cè)或非注冊(cè)用戶)通過手機(jī)查詢可獲得單車的地理位置信息以便就近取用;

4)用戶(注冊(cè)用戶)通過手機(jī)登錄到租賃服務(wù)系統(tǒng)中,通過掃描二維碼或輸入車輛編號(hào)以進(jìn)行系統(tǒng)確認(rèn),系統(tǒng)后臺(tái)對(duì)指定車輛狀態(tài)(可用或不可用),以及用戶資格進(jìn)行確認(rèn),通過確認(rèn)后對(duì)車輛下達(dá)解鎖指令;

5)用戶在用完車輛后關(guān)閉車鎖,車輛自身將閉鎖狀態(tài)上報(bào)到租賃服務(wù)系統(tǒng)中,完成車輛狀態(tài)的更新和用戶租賃費(fèi)用結(jié)算;

6)系統(tǒng)應(yīng)具備一定的擴(kuò)容能力,以滿足未來市場(chǎng)規(guī)模擴(kuò)張的需要。

項(xiàng)目組李工認(rèn)為該系統(tǒng)功能相對(duì)獨(dú)立,系統(tǒng)可分解為不同的獨(dú)立功能模塊,適合采用結(jié)構(gòu)化分析與設(shè)計(jì)方法對(duì)系統(tǒng)進(jìn)行分析與設(shè)計(jì)。但王工認(rèn)為,系統(tǒng)可管理的對(duì)象明確,而且項(xiàng)目團(tuán)隊(duì)具有較強(qiáng)的面向?qū)ο笙到y(tǒng)開發(fā)經(jīng)驗(yàn),建議采用面向?qū)ο蠓治雠c設(shè)計(jì)方法。經(jīng)項(xiàng)目組討論,決定采用王工的建議,采用面向?qū)ο蠓治雠c設(shè)計(jì)方法開發(fā)系統(tǒng)?!締栴}1】

在系統(tǒng)分析階段,結(jié)構(gòu)化分析和面向?qū)ο蠓治龇椒ㄖ饕治鲞^程和分析模型均有所區(qū)別,請(qǐng)將(a)~(g)各項(xiàng)內(nèi)容填入表2-1(1)~(4)處對(duì)應(yīng)位置。

表2-1系統(tǒng)分析方法比較

(a)確定目標(biāo)系統(tǒng)概念類;

(b)實(shí)體關(guān)系圖(ERD);

(c)用例圖;

(d)通過功能分解方式把系統(tǒng)功能分解到各個(gè)模塊中;

(e)交互圖;

(f)數(shù)據(jù)流圖(DFD);

(g)建立類間交互關(guān)系。__________________________________________________________________________________________

正確答案:((1)(d)

(2)(b)(f)

(3)(a)(g)

(4)(c)(e))【問題2】

請(qǐng)分析下面A~Q所列出的共享單車租賃服務(wù)系統(tǒng)中的概念類及其方法,在圖2-1所示用例圖(1)~(12)處補(bǔ)充所缺失信息。

A.用戶,B.共享單車,C.用戶管理,D.注冊(cè),E.注銷,F(xiàn).用戶查詢,G單車管理,H.租賃,L歸還,J.單車查詢,K.費(fèi)用管理,L.保證金管理,M.租賃費(fèi)管理,N.數(shù)據(jù)存儲(chǔ)管理,O.用戶數(shù)據(jù)存儲(chǔ)管理,P.單車數(shù)據(jù)存儲(chǔ)管理,Q.費(fèi)用結(jié)算,R.身份認(rèn)證

圖2-1單車租賃服務(wù)系統(tǒng)用例圖__________________________________________________________________________________________

正確答案:((1)D:注冊(cè)

(2)F:用戶查詢

(3)C:用戶管理

(4)R:身份認(rèn)證

(5)A:用戶

(6)N:數(shù)據(jù)存儲(chǔ)管理

(7)P:?jiǎn)诬嚁?shù)據(jù)存儲(chǔ)管理

(8)I:歸還

(9)B:共享單車

(10)K:費(fèi)用管理

(11)L:保證金管理

(12)Q:費(fèi)用結(jié)算)【問題3】

隨著共享單車投放量以及用戶量的增加會(huì)存在系統(tǒng)性能或容量下降問題,請(qǐng)用200字以內(nèi)的文字說明,在系統(tǒng)設(shè)計(jì)之初,如何考慮此類問題?__________________________________________________________________________________________

正確答案:(1、考慮可擴(kuò)展性問題,利用集群,擴(kuò)展時(shí)采用水平擴(kuò)展方式。

2、利用分布式存儲(chǔ)方式,將各個(gè)城市的數(shù)據(jù)分散存儲(chǔ),減少壓力,提升處理性能。

3、利用負(fù)載均衡技術(shù),解決高并發(fā)問題。)閱讀以下關(guān)于安全關(guān)鍵系統(tǒng)安全性設(shè)計(jì)技術(shù)的描述,回答問題1至問題3。

【說明】

某公司長(zhǎng)期從事計(jì)算機(jī)產(chǎn)品的研制工作,公司領(lǐng)導(dǎo)為了響應(yīng)國(guó)家軍民融合的發(fā)展戰(zhàn)略,決定要積極參與我國(guó)軍用設(shè)備領(lǐng)域的研制工作,將本公司的計(jì)算機(jī)及軟件產(chǎn)品通過提升和改造,應(yīng)用到軍用裝備的安全關(guān)鍵系統(tǒng)中。公司為了承擔(dān)軍用產(chǎn)品的研發(fā)任務(wù),公司領(lǐng)導(dǎo)將論證工作交給王工負(fù)責(zé)。王工經(jīng)調(diào)研分析,提交了一份完整論證報(bào)告?!締栴}1】

論證報(bào)告指出:我們公司長(zhǎng)期從事民用市場(chǎng)的計(jì)算機(jī)研制工作,在研制流程、管理方法以及環(huán)境試驗(yàn)等方面都不能達(dá)到軍用設(shè)備相關(guān)技術(shù)要求。要承擔(dān)武器裝備生產(chǎn)研制工作,就必須建立公司的武器裝備生產(chǎn)研制質(zhì)量體系,需要拿到軍方或政府部門頒發(fā)的資格認(rèn)證。從技術(shù)上講,軍用設(shè)備產(chǎn)品大部分都屬于安全關(guān)鍵系統(tǒng),其計(jì)算機(jī)及軟件的缺陷會(huì)導(dǎo)致武器裝備失效,因此,公司技術(shù)人員應(yīng)及早掌握相關(guān)安全性基本概念和相關(guān)設(shè)計(jì)知識(shí)。

1)企業(yè)要承擔(dān)武器裝備產(chǎn)品生產(chǎn)任務(wù),需獲得一些資格認(rèn)證,請(qǐng)列舉兩種資格認(rèn)證名稱。

2)請(qǐng)說明安全關(guān)鍵系統(tǒng)的定義,并列舉出兩個(gè)安全關(guān)鍵系統(tǒng)的實(shí)例設(shè)備。

3)請(qǐng)簡(jiǎn)要說明安全性(safety)的具體含義,并給出產(chǎn)品設(shè)計(jì)時(shí),安全性分析通常采用哪兩種方法?__________________________________________________________________________________________

正確答案:(1)從事軍工科研生產(chǎn)需先取得“軍工四證”。企事業(yè)單位參與軍品研制生產(chǎn),首先需要拿到軍方、政府部門頒發(fā)的資格認(rèn)證,我們稱其為“軍工四證”。

軍工四證包括:

1、武器裝備科研生產(chǎn)單位保密資質(zhì)認(rèn)證;

2、武器裝備科研生產(chǎn)許可證認(rèn)證;

3、裝備承制單位資格審查(裝備承制單位資格名錄認(rèn)證和武器裝備質(zhì)量管理體系認(rèn)證);

2)安全關(guān)鍵系統(tǒng)是指系統(tǒng)功能一旦失效將引起生命、財(cái)產(chǎn)等重大損失以及環(huán)境可能遭到嚴(yán)重破壞的系統(tǒng)。如戰(zhàn)斗機(jī)的航空電子系統(tǒng),火控雷達(dá)系統(tǒng)等。)【問題2】

IEC

61508

(《電氣/電子/可編程電子安全系統(tǒng)的功能要求》是國(guó)際上對(duì)安全關(guān)鍵系統(tǒng)規(guī)定的一種較完整的安全性等級(jí)劃分標(biāo)準(zhǔn),本標(biāo)準(zhǔn)是由國(guó)際電工委員會(huì)(International

Electronic

Commission)正式發(fā)布的電氣和電子部件行業(yè)標(biāo)準(zhǔn)(GB/T

20438等同于此標(biāo)準(zhǔn))。本標(biāo)準(zhǔn)對(duì)設(shè)備或系統(tǒng)的安全完整性等級(jí)(SIL)劃分為4個(gè)等級(jí)(SIL1、SIL2、SIL3、SIL4),SIL4是最高要求。

表3-1給出了本標(biāo)準(zhǔn)對(duì)安全功能等級(jí)和失效容忍概率的對(duì)應(yīng)關(guān)系。請(qǐng)根據(jù)自己所掌握的安全功能等級(jí)相關(guān)知識(shí),補(bǔ)充完善表3-1給出的(1)~(6)空格,并將答案寫在答題紙上。

表3-1安全功能等級(jí)(SIL)和失效容忍慣率對(duì)照表

__________________________________________________________________________________________

正確答案:((1)≧10-5

to

<10-4

(2)≧10-9

to

<10-8

(3)≧10-4

to

<10-3

(4)≧10-3

to

<10-2

(5)≧10-7

to

<10-6

(6)≧10-6

to

<10-5)【問題3】

實(shí)時(shí)調(diào)度是安全關(guān)鍵系統(tǒng)的關(guān)鍵技術(shù)。實(shí)時(shí)調(diào)度一般分為動(dòng)態(tài)和靜態(tài)兩種。其中,靜態(tài)調(diào)度是指在離線情況下計(jì)算出的任務(wù)的可調(diào)度性,靜態(tài)調(diào)度必須保證所有任務(wù)的時(shí)限、資源、優(yōu)先級(jí)和同步的需求。圖3-1給出了一組分布式任務(wù)執(zhí)行的優(yōu)先級(jí)關(guān)系,請(qǐng)根據(jù)圖3-1給出任務(wù)間的優(yōu)先級(jí)關(guān)系實(shí)例,按靜態(tài)調(diào)度算法的基本原理,補(bǔ)充完善圖3-2給出的任務(wù)靜態(tài)調(diào)度搜索樹的(1)

~

(10)空白,并給出最佳調(diào)度路徑。

__________________________________________________________________________________________

正確答案:((1)T6

(2)T5

(3)T7

(4)M1

(5)T1

(6)T3

(7)T4

(8)M2

(9)T6

(10)T5

最佳調(diào)度路徑:T0,T2,(M1,T1),(T3,T4),(M2,T6),T5,T7)

安全性分析是一種在軍用系統(tǒng)研制的初期開始進(jìn)行的系統(tǒng)性的檢查、研究和分析方法,它用于檢查軍用系統(tǒng)或設(shè)備在每種使用模式中的工作狀態(tài),確定潛在的危險(xiǎn),預(yù)計(jì)這些危險(xiǎn)對(duì)人員傷害或?qū)υO(shè)備損壞的嚴(yán)重性和可能性,并確定消除或減少危險(xiǎn)的方法,以便能夠在事故發(fā)生之前消除或盡量減少事故發(fā)生的可能性或降低事故有害影響的程度。安全性分析主要用于識(shí)別危險(xiǎn),以便在壽命周期的所有階段中能夠消除或控制這些危險(xiǎn)。安全性分析通過實(shí)施各種危險(xiǎn)分析達(dá)到下述目的。

(1)確定軍用系統(tǒng)存在的危險(xiǎn),并消除這些危險(xiǎn)或降低其風(fēng)險(xiǎn)。

(2)確定現(xiàn)有危險(xiǎn)的原因、影響及各種危險(xiǎn)的相互關(guān)系。

(3)確定軍用系統(tǒng)設(shè)計(jì)中需要采取預(yù)防措施或修復(fù)措施的部分。

(4)確定軍用系統(tǒng)應(yīng)進(jìn)行哪些專門的試驗(yàn)以驗(yàn)證其安全性以及確定可能導(dǎo)致事故發(fā)生的任何軍用系統(tǒng)缺陷。

危險(xiǎn)分析方法則包括危險(xiǎn)分析類型(工作項(xiàng)目)和分析技術(shù)兩個(gè)方面,分析類型將涉及到在何時(shí)、何地及對(duì)何種對(duì)象進(jìn)行危險(xiǎn)分析,分析技術(shù)是指用來支持危險(xiǎn)分析的手段和方法。在GJB900-90中,常用的分析類型包括初步危險(xiǎn)分析(PHA)、分系統(tǒng)危險(xiǎn)分析(SSHA)、系統(tǒng)危險(xiǎn)分析(SHA)等危險(xiǎn)分析技術(shù)很多種,最經(jīng)常使用的有故障模式影響及危害性分析(FMECA)、故障樹分析(FTA)、事件樹分析(ETA)、故障危險(xiǎn)分析(FHA)、潛通電路分析(SCA)等。

故障樹分析(FTA):一個(gè)可能的事故開始,自上而下、一層層的尋找頂事件的直接原因和間接原因事件,直到基本原因事件

失效模式與影響分析(FMEA):FMEA是在產(chǎn)品設(shè)計(jì)階段和過程設(shè)計(jì)階段,對(duì)構(gòu)成產(chǎn)品的子系統(tǒng)、零件,對(duì)構(gòu)成過程的各個(gè)工序逐一進(jìn)行分析,找出所有潛在的失效模式,并分析其可能的后果,從而預(yù)先采取必要的措施,以提高產(chǎn)品的質(zhì)量和可靠性的一種系統(tǒng)化的活動(dòng)。閱讀以下關(guān)于數(shù)據(jù)庫(kù)設(shè)計(jì)的敘述,在答題紙上回答問題1至問題3。

【說明】

某軟件企業(yè)開發(fā)一套類似于淘寶網(wǎng)上商城業(yè)務(wù)的電子商務(wù)網(wǎng)站。該系統(tǒng)涉及多種用戶角色,包括購(gòu)物用戶,商鋪管理員,系統(tǒng)管理員等。

在數(shù)據(jù)庫(kù)設(shè)計(jì)中,該系統(tǒng)數(shù)據(jù)庫(kù)的核心關(guān)系包括:

產(chǎn)品(產(chǎn)品編碼,產(chǎn)品名稱,產(chǎn)品價(jià)格,庫(kù)存數(shù)量,商鋪編碼)

商鋪(商鋪編碼,商鋪名稱,商鋪地址,商鋪郵箱,服務(wù)電話);

用戶(用戶編碼,用戶名稱,用戶地址,聯(lián)系電話)

訂單(訂單編碼,訂單日期,用戶編碼,商鋪編碼,產(chǎn)品編碼,產(chǎn)品數(shù)量,訂單總價(jià))

不同用戶角色也有不同的數(shù)據(jù)需求,為此該軟件企業(yè)在基本數(shù)據(jù)庫(kù)關(guān)系模式的基礎(chǔ)上,定制了許多試圖。其中,有很多視圖涉及到多表關(guān)聯(lián)和聚集函數(shù)運(yùn)算。【問題1】

商鋪用戶需要實(shí)時(shí)統(tǒng)計(jì)本商鋪的貨物數(shù)運(yùn)和銷售情況,以便及時(shí)補(bǔ)貨,或者為商鋪調(diào)整銷售策略。為此專門設(shè)計(jì)了可實(shí)時(shí)查看當(dāng)天商鋪中貨物銷售情況和存貸情況的視圖,商鋪產(chǎn)品銷售情況日?qǐng)?bào)表(商鋪編碼,產(chǎn)品編碼,日銷售產(chǎn)品數(shù)量,庫(kù)存數(shù)量,日期)。

數(shù)據(jù)庫(kù)運(yùn)行測(cè)試過程中,發(fā)現(xiàn)針對(duì)該視圖查詢性能比較差,不滿足用戶需求。

請(qǐng)說明數(shù)據(jù)庫(kù)視圖的基本概念及其優(yōu)點(diǎn),并說明本視圖設(shè)計(jì)導(dǎo)致查詢性能較差的原閃。__________________________________________________________________________________________

正確答案:(視圖是虛表,是從一個(gè)或幾個(gè)基本表(或視圖)中導(dǎo)出的表,在系統(tǒng)的數(shù)據(jù)字典中僅存放了視圖的定義,不存放視圖對(duì)應(yīng)的數(shù)據(jù)。

視圖的優(yōu)點(diǎn):

1、視圖能簡(jiǎn)化用戶的操作

2、視圖機(jī)制可以使用戶以不同的方式查詢同一數(shù)據(jù)

3、視圖對(duì)數(shù)據(jù)庫(kù)重構(gòu)提供了一定程度的邏輯獨(dú)立性

4、視圖可以對(duì)機(jī)密的數(shù)據(jù)提供安全保護(hù)

查詢性能較差的原因是視圖中“日銷售產(chǎn)品數(shù)量”需要針對(duì)訂單表做統(tǒng)計(jì)分析,訂單表中有數(shù)量龐大的歷史銷售記錄,所以這種操作極為耗時(shí)。)【問題2】

為解決該視圖查洵性能比較差的問題,張工建議為該數(shù)據(jù)建立單獨(dú)的商品當(dāng)天貨物銷售、存貨情況的關(guān)系表。但李工認(rèn)為張工的方案造成了數(shù)據(jù)不一致的問題,必須采用一定的手段來解決。

1)說明張工方案是否能夠?qū)υ撘晥D查詢性能有所提升,并解釋原因:

2)解釋說明李工指出的數(shù)據(jù)不一致問題產(chǎn)生的原因。__________________________________________________________________________________________

正確答案:(1)張工方案能夠?qū)υ撘晥D查詢性能有所提升,因?yàn)檫@樣做能極大的減少統(tǒng)計(jì)分析的數(shù)據(jù)量,對(duì)小數(shù)據(jù)量進(jìn)行統(tǒng)計(jì),性能是能得以保障的。

2)由于當(dāng)日訂單數(shù)據(jù)既存儲(chǔ)在訂單表中,又存儲(chǔ)在單獨(dú)的當(dāng)天貨物銷售、存貨情況表中。同一數(shù)據(jù)存儲(chǔ)了兩份,一旦出現(xiàn)修改,未同步修改,則會(huì)造成數(shù)據(jù)不一致。)【問題3】

針對(duì)李工提出的問題,常見的解決手段有應(yīng)用程序?qū)崿F(xiàn),觸發(fā)器實(shí)現(xiàn)和物化視圖實(shí)現(xiàn)等、請(qǐng)用300字以內(nèi)的文字解釋說明這三種方案。__________________________________________________________________________________________

正確答案:(應(yīng)用程序?qū)崿F(xiàn):在進(jìn)行訂單的添加、修改、刪除操作時(shí),從應(yīng)用程序中,控制對(duì)兩個(gè)數(shù)據(jù)表都進(jìn)行相關(guān)操作,以保障數(shù)據(jù)的一致性。

觸發(fā)器實(shí)現(xiàn):在應(yīng)用程序中,只對(duì)訂單表進(jìn)行操作。但寫觸發(fā)器,當(dāng)訂單表發(fā)生變化時(shí),把當(dāng)日訂單內(nèi)容同步更新到當(dāng)天貨物銷售、存貨情況表中。

物化視圖實(shí)現(xiàn):建立“當(dāng)天貨物銷售、存貨情況”的物化視圖,物化視圖會(huì)把相應(yīng)的數(shù)據(jù)物理存儲(chǔ)起來,而且在訂單表發(fā)生變化時(shí),會(huì)自動(dòng)更新。)視圖(View)是從一個(gè)或多個(gè)表(或視圖)導(dǎo)出的表。視圖與表(有時(shí)為與視圖區(qū)別,也稱表為基本表——BaseTable)不同,視圖是一個(gè)虛表,即視圖所對(duì)應(yīng)的數(shù)據(jù)不進(jìn)行實(shí)際存儲(chǔ),數(shù)據(jù)庫(kù)中只存儲(chǔ)視圖的定義,在對(duì)視圖的數(shù)據(jù)進(jìn)行操作時(shí),系統(tǒng)根據(jù)視圖的定義去操作與視圖相關(guān)聯(lián)的基本表。閱讀以下關(guān)于Web應(yīng)用設(shè)計(jì)開發(fā)的描述,在答題紙上回答問題1至問題3。

【說明】

某公司擬開發(fā)一個(gè)自由,可定制性強(qiáng)、用戶界面友好的在線調(diào)查系統(tǒng),以獲取員工在課程學(xué)習(xí)、對(duì)公司重人事件的看法、對(duì)辦公室環(huán)境的建議等相關(guān)反饋。因需要調(diào)查的內(nèi)容各異,可選擇的調(diào)查方式多樣,故本在線調(diào)查系統(tǒng)應(yīng)滿足以下需求:

1)支持編輯和視圖兩種模式,編輯模式只對(duì)調(diào)查發(fā)起者可見,視圖模式對(duì)接受調(diào)查者可見:

2)調(diào)查問卷具有可定制性,因調(diào)查的內(nèi)容各異,需要多樣的信息采集方式,可設(shè)置的調(diào)查問題類型包括單選、多選、矩陣類單選、矩陣類多選和開放性問題。

3)操作簡(jiǎn)單,調(diào)查者可以方便地新建和編輯各種問題類型,接受調(diào)查者可對(duì)每個(gè)問題和每個(gè)調(diào)查問卷給出評(píng)論。

4)系統(tǒng)支持顯示調(diào)查統(tǒng)計(jì)結(jié)果,以及導(dǎo)出統(tǒng)計(jì)結(jié)果。

針對(duì)以上需求,經(jīng)項(xiàng)目經(jīng)討論,擬采用REST架構(gòu)風(fēng)格設(shè)計(jì)實(shí)現(xiàn)該在線調(diào)查系統(tǒng)?!締栴}1】

分析該在線調(diào)在系統(tǒng)的業(yè)務(wù)流程,填寫圖5-1中(1)~(5)的內(nèi)容:

圖5-1在線調(diào)查系統(tǒng)業(yè)務(wù)流程分析__________________________________________________________________________________________

正確答案:((1)編輯模式

(2)視圖模式

(3)是否保存調(diào)查問卷

(4)已保存的調(diào)查問卷

(5)顯示(查看)調(diào)查問卷)【問題2】

REST架構(gòu)風(fēng)格的核心是資源抽象。在系統(tǒng)設(shè)計(jì)中,項(xiàng)目組擬將系統(tǒng)中的每一個(gè)實(shí)體抽象成一種資源。皆列舉出該系統(tǒng)中的5種資源。__________________________________________________________________________________________

正確答案:((1)調(diào)查發(fā)起者

(2)接受調(diào)查者

(3)調(diào)查問卷

(4)調(diào)查問題類型

(5)調(diào)查問卷評(píng)論)【問題3】

基于REST架構(gòu)風(fēng)格對(duì)系統(tǒng)進(jìn)行設(shè)計(jì),請(qǐng)簡(jiǎn)要敘述REST風(fēng)格的5條關(guān)鍵原則。__________________________________________________________________________________________

正確答案:(REST風(fēng)格的5條關(guān)鍵原則包括:

(1)網(wǎng)絡(luò)上的所有事物都被抽象為資源。

(2)每個(gè)資源對(duì)應(yīng)一個(gè)唯一的資源標(biāo)識(shí)。

(3)通過通用的連接件接口對(duì)資源進(jìn)行操作。

(4)對(duì)資源的各種操作不會(huì)改變資源標(biāo)識(shí)。

(5)所有的操作都是無狀態(tài)的。)試題分析:REST風(fēng)格的5條關(guān)鍵原則包括:

1.為所有“事物”定義ID

在這里我使用了“事物”來代替更正式準(zhǔn)確的術(shù)語“資源”,因?yàn)橐粭l如此簡(jiǎn)單的原則,不應(yīng)該被淹沒在術(shù)語當(dāng)中。思考一下人們構(gòu)建的系統(tǒng),通常會(huì)找到一系列值得被標(biāo)識(shí)的關(guān)鍵抽象。每個(gè)事物都應(yīng)該是可標(biāo)識(shí)的,都應(yīng)該擁有一個(gè)明顯的ID——在Web中,代表ID的統(tǒng)一概念是:URI。URI構(gòu)成了一個(gè)全局命名空間,使用URI標(biāo)識(shí)你的關(guān)鍵資源意味著它們獲得了一個(gè)唯一、全局的ID。

對(duì)事物使用一致的命名規(guī)則(namingscheme)最主要的好處就是你不需要提出自己的規(guī)則——而是依靠某個(gè)已被定義,在全球范圍中幾乎完美運(yùn)行,并且能被絕大多數(shù)人所理解的規(guī)則。想一下你構(gòu)建的上一個(gè)應(yīng)用(假設(shè)它不是采用RESTful方式構(gòu)建的)中的任意一個(gè)高級(jí)對(duì)象(high-levelobject),那就很有可能看到許多從使用唯一標(biāo)識(shí)中受益的用例。比如,如果你的應(yīng)用中包含一個(gè)對(duì)顧客的抽象,那么我可以相當(dāng)肯定,用戶會(huì)希望將一個(gè)指向某個(gè)顧客的鏈接,能通過電子郵件發(fā)送到同事那里,或者加入到瀏覽器的書簽中,甚至寫到紙上。更透徹地講:如果在一個(gè)類似于Amazon的在線商城中,沒有用唯一的ID(一個(gè)URI)標(biāo)識(shí)它的每一件商品,可想而知這將是多么可怕的業(yè)務(wù)決策。

當(dāng)面對(duì)這個(gè)原則時(shí),許多人驚訝于這是否意味著需要直接向外界暴露數(shù)據(jù)庫(kù)記錄(或者數(shù)據(jù)庫(kù)記錄ID)——自從多年以來面向?qū)ο蟮膶?shí)踐告誡我們,要將持久化的信息作為實(shí)現(xiàn)細(xì)節(jié)隱藏起來之后,哪怕是剛有點(diǎn)想法都常會(huì)使人驚恐。但是這條原則與隱藏實(shí)現(xiàn)細(xì)節(jié)兩者之間并沒有任何沖突:通常,值得被URI標(biāo)識(shí)的事物——資源——要比數(shù)據(jù)庫(kù)記錄抽象的多。例如,一個(gè)定單資源可以由定單項(xiàng)、地址以及許多其它方面(可能不希望作為單獨(dú)標(biāo)識(shí)的資源暴露出來)組成。標(biāo)識(shí)所有值得標(biāo)識(shí)的事物,領(lǐng)會(huì)這個(gè)觀念可以進(jìn)一步引導(dǎo)你創(chuàng)造出在傳統(tǒng)的應(yīng)用程序設(shè)計(jì)中不常見的資源:一個(gè)流程或者流程步驟、一次銷售、一次談判、一份報(bào)價(jià)請(qǐng)求——這都是應(yīng)該被標(biāo)識(shí)的事物的示例。同樣,這也會(huì)導(dǎo)致創(chuàng)建比非RESTful設(shè)計(jì)更多的持久化實(shí)體。

下面是一些你可能想到的URI的例子:

注:網(wǎng)址中的“*”代表“.”

http://example*com/customers/1234

http://example*com/orders/2007/10/776654

http://example*com/products/4554

http://example*com/processes/salary-increase-234正如我選擇了創(chuàng)建便于閱讀的URI——這是個(gè)有用的觀點(diǎn),盡管不是RESTful設(shè)計(jì)所必須的——應(yīng)該能十分容易地推測(cè)出URI的含義:它們明顯地標(biāo)識(shí)著單一“數(shù)據(jù)項(xiàng)”。但是再往下看:

http://example*com/orders/2007/11

http://example*com/products?color=green首先,這兩個(gè)URI看起來與之前的稍有不同——畢竟,它們不是對(duì)一件事物的標(biāo)識(shí),而是對(duì)一類事物集合的標(biāo)識(shí)(假定第一個(gè)URI標(biāo)識(shí)了所有在2007年11月份提交的定單,第二個(gè)則是綠顏色產(chǎn)品的集合)。但是這些集合自身也是事物(資源),也應(yīng)該被標(biāo)識(shí)。

注意,使用唯一、全局統(tǒng)一的命名規(guī)則的好處,既適用于瀏覽器中的Web應(yīng)用,也適用于機(jī)對(duì)機(jī)(machine-to-machine,m2m)通信。

來對(duì)第一個(gè)原則做下總結(jié):使用URI標(biāo)識(shí)所有值得標(biāo)識(shí)的事物,特別是應(yīng)用中提供的所有“高級(jí)”資源,無論這些資源代表單一數(shù)據(jù)項(xiàng)、數(shù)據(jù)項(xiàng)集合、虛擬亦或?qū)嶋H的對(duì)象還是計(jì)算結(jié)果等。

2.將所有事物鏈接在一起

接下來要討論的原則有一個(gè)有點(diǎn)令人害怕的正式描述:“超媒體被當(dāng)作應(yīng)用狀態(tài)引擎(Hypermediaastheengineofapplicationstate)”,有時(shí)簡(jiǎn)寫為HATEOAS。(嚴(yán)格地說,這不是我說的。)這個(gè)描述的核心是超媒體概念,換句話說:是鏈接的思想。鏈接是我們?cè)贖TML中常見的概念,但是它的用處絕不局限于此(用于人們網(wǎng)絡(luò)瀏覽)。

應(yīng)用程序(已經(jīng)檢索過文檔)如何“跟隨”鏈接檢索更多的信息。當(dāng)然,如果使用一個(gè)遵守專用命名規(guī)范的簡(jiǎn)單“id”屬性作為鏈接,也是可行的——但是僅限于應(yīng)用環(huán)境之內(nèi)。使用URI表示鏈接的優(yōu)雅之處在于,鏈接可以指向由不同應(yīng)用、不同服務(wù)器甚至位于另一個(gè)大陸上的不同公司提供的資源——因?yàn)閁RI命名規(guī)范是全球標(biāo)準(zhǔn),構(gòu)成Web的所有資源都可以互聯(lián)互通。

超媒體原則還有一個(gè)更重要的方面——應(yīng)用“狀態(tài)”。簡(jiǎn)而言之,實(shí)際上服務(wù)器端(如果你愿意,也可以叫服務(wù)提供者)為客戶端(服務(wù)消費(fèi)者)提供一組鏈接,使客戶端能通過鏈接將應(yīng)用從一個(gè)狀態(tài)改變?yōu)榱硪粋€(gè)狀態(tài)。稍后我們會(huì)在另一篇文章中探究這個(gè)方面的影響;目前,只需要記?。烘溄邮菢?gòu)成動(dòng)態(tài)應(yīng)用的非常有效的方式。

對(duì)此原則總結(jié)如下:任何可能的情況下,使用鏈接指引可以被標(biāo)識(shí)的事物(資源)。也正是超鏈接造就了現(xiàn)在的Web。

3.使用標(biāo)準(zhǔn)方法

在前兩個(gè)原則的討論中暗含著一個(gè)假設(shè):接收URI的應(yīng)用程序可以通過URI明確地做一些有意義的事情。如果你在公共汽車上看到一個(gè)URI,你可以將它輸入瀏覽器的地址欄中并回車——但是你的瀏覽器如何知道需要對(duì)這個(gè)URI做些什么呢?

它知道如何去處理URI的原因在于所有的資源都支持同樣的接口,一套同樣的方法(只要你樂意,也可以稱為操作)集合。在HTTP中這被叫做動(dòng)詞(verb),除了兩個(gè)大家熟知的(GET和POST)之外,標(biāo)準(zhǔn)方法集合中還包含PUT、DELETE、HEAD和OPTIONS。這些方法的含義連同行為許諾都一起定義在HTTP規(guī)范之中。如果你是一名OO開發(fā)人員,就可以想象到RESTfulHTTP方案中的所有資源都繼承自類似于這樣的一個(gè)類(采用類Java、C#的偽語法描述,請(qǐng)注意關(guān)鍵的方法):

classResource{

Resource(URIu);

Responseget();

Responsepost(Requestr);

Responseput(Requestr);

Responsedelete();

}由于所有資源使用了同樣的接口,你可以依此使用GET方法檢索一個(gè)表述(representation)——也就是對(duì)資源的描述。因?yàn)橐?guī)范中定義了GET的語義,所以可以肯定當(dāng)你調(diào)用它的時(shí)候不需要對(duì)后果負(fù)責(zé)——這就是為什么可以“安全”地調(diào)用此方法。GET方法支持非常高效、成熟的緩存,所以在很多情況下,你甚至不需要向服務(wù)器發(fā)送請(qǐng)求。還可以肯定的是,GET方法具有冪等性[譯注:指多個(gè)相同請(qǐng)求返回相同的結(jié)果]——如果你發(fā)送了一個(gè)GET請(qǐng)求沒有得到結(jié)果,你可能不知道原因是請(qǐng)求未能到達(dá)目的地,還是響應(yīng)在反饋的途中丟失了。冪等性保證了你可以簡(jiǎn)單地再發(fā)送一次請(qǐng)求解決問題。冪等性同樣適用于PUT(基本的含義是“更新資源數(shù)據(jù),如果資源不存在的話,則根據(jù)此URI創(chuàng)建一個(gè)新的資源”)和DELETE(你完全可以一遍又一遍地操作它,直到得出結(jié)論——?jiǎng)h除不存在的東西沒有任何問題)方法。POST方法,通常表示“創(chuàng)建一個(gè)新資源”,也能被用于調(diào)用任意過程,因而它既不安全也不具有冪等性。

如果你采用RESTful的方式暴露應(yīng)用功能(如果你樂意,也可以稱為服務(wù)功能),那這條原則和它的約束同樣也適用于你。如果你已經(jīng)習(xí)慣于另外的設(shè)計(jì)方式,則很難去接受這條原則——畢竟,你很可能認(rèn)為你的應(yīng)用包含了超出這些操作表達(dá)范圍的邏輯。請(qǐng)?jiān)试S我花費(fèi)一些時(shí)間來讓你相信不存在這樣的情況。

來看下面這個(gè)簡(jiǎn)單的采購(gòu)方案例子:

可以看到,例子中定義了兩個(gè)服務(wù)程序(沒有包含任何實(shí)現(xiàn)細(xì)節(jié))。這些服務(wù)程序的接口都是為了完成任務(wù)(正是我們討論的OrderManagement和CustomerManagement服務(wù))而定制的。如果客戶端程序試圖使用這些服務(wù),那它必須針對(duì)這些特定接口進(jìn)行編碼——不可能在這些接口定義之前,使用客戶程序去有目的地和接口協(xié)作。這些接口定義了服務(wù)程序的應(yīng)用協(xié)議(applicationprotocol)。

在RESTfulHTTP方式中,你將通過組成HTTP應(yīng)用協(xié)議的通用接口訪問服務(wù)程序。你可能會(huì)想出像這樣的方式:

可以看到,服務(wù)程序中的特定操作被映射成為標(biāo)準(zhǔn)的HTTP方法——為了消除歧義,我創(chuàng)建了一組全新的資源?!斑@是騙人的把戲”,我聽見你叫嚷著。不,這不是欺騙。標(biāo)識(shí)一個(gè)顧客的URI上的GET方法正好相當(dāng)于getCustomerDetails操作。有人用三角形形象化地說明了這一點(diǎn):

把三個(gè)頂點(diǎn)想象為你可以調(diào)節(jié)的按鈕。可以看到在第一種方法中,你擁有許多操作,許多種類的數(shù)據(jù)以及固定數(shù)量的“實(shí)例”(本質(zhì)上和你擁有的服務(wù)程序數(shù)量一致)。在第二種方法中,你擁有固定數(shù)量的操作,許多種類的數(shù)據(jù)和許多調(diào)用固定方法的對(duì)象。它的意義在于,證明了通過這兩種方式,你基本上可以表示任何你喜歡的事情。

為什么使用標(biāo)準(zhǔn)方法如此重要?從根本上說,它使你的應(yīng)用成為Web的一部分——應(yīng)用程序?yàn)閃eb變成Internet上最成功的應(yīng)用所做的貢獻(xiàn),與它添加到Web中的資源數(shù)量成比例。采用RESTful方式,一個(gè)應(yīng)用可能會(huì)向Web中添加數(shù)以百萬計(jì)的客戶URI;如果采用CORBA技術(shù)并維持應(yīng)用的原有設(shè)計(jì)方式,那它的貢獻(xiàn)大抵只是一個(gè)“端點(diǎn)(endpoint)”——就好比一個(gè)非常小的門,僅僅允許有鑰匙的人進(jìn)入其中的資源域。

統(tǒng)一接口也使得所有理解HTTP應(yīng)用協(xié)議的組件能與你的應(yīng)用交互。通用客戶程序(genericclient)就是從中受益的組件的例子,例如curl、wget、代理、緩存、HTTP服務(wù)器、網(wǎng)關(guān)還有Google、Yahoo!、MSN等等。

總結(jié)如下:為使客戶端程序能與你的資源相互協(xié)作,資源應(yīng)該正確地實(shí)現(xiàn)默認(rèn)的應(yīng)用協(xié)議(HTTP),也就是使用標(biāo)準(zhǔn)的GET、PUT、POST和DELETE方法。

4.資源多重表述

到目前為止我們一直忽略了一個(gè)稍微復(fù)雜的問題:客戶程序如何知道該怎樣處理檢索到的數(shù)據(jù),比如作為GET或者POST請(qǐng)求的結(jié)果?原因是,HTTP采取的方式是允許數(shù)據(jù)處理和操作調(diào)用之間關(guān)系分離的。換句話說,如果客戶程序知道如何處理一種特定的數(shù)據(jù)格式,那就可以與所有提供這種表述格式的資源交互。

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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)論