




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
上六個月系統(tǒng)分析師考試系統(tǒng)分析設(shè)計案例真題(總分:126.00,做題時間:150分鐘)一、案例分析題
(總題數(shù):5,分?jǐn)?shù):126.00)閱讀如下有關(guān)系統(tǒng)分析任務(wù)的論述,在答題紙上回答問題1至問題3。
【闡明】
某企業(yè)是一家以運(yùn)動健身器材銷售為主營業(yè)務(wù)的企業(yè),為了擴(kuò)展銷售渠道,處理原銷售系統(tǒng)存在的許多問題,企業(yè)委托某軟件企業(yè)開發(fā)一套運(yùn)動健身器材在線銷售系統(tǒng)。目前,新系統(tǒng)開發(fā)處在問題分析階段,所分析各項內(nèi)容如下所述:
(a)顧客需要用鍵盤輸入復(fù)雜且存在反復(fù)的商品信息;
(b)訂單信息頁面自動獲取商品信息并填充;
(c)商品訂單需要遠(yuǎn)程訪問庫存數(shù)據(jù)并打印提貨單;
(d)自動生成電子提貨單并發(fā)送給倉庫系統(tǒng);
(e)商品編碼應(yīng)與原系統(tǒng)商品編碼保持一致;
(f)商品訂單處理速度太慢;
(g)訂單處理的平均時間減少30%;
(h)數(shù)據(jù)編輯服務(wù)器CPU性能較低;
(i)系統(tǒng)運(yùn)維人員數(shù)量不能增長。(分?jǐn)?shù):26)【問題1】
問題分析階段重要完畢對項目開發(fā)的問題、機(jī)會和或指示的更全面的理解。請闡明系統(tǒng)分析師在問題分析階段一般需要完畢哪四項重要任務(wù)。(分?jǐn)?shù):8)__________________________________________________________________________________________
對的答案:(問題分析階段的四項重要任務(wù)包括:
1)研究問題領(lǐng)域
2)分析問題和機(jī)會
3)制定系統(tǒng)改善目的
4)修改項目計劃)解析:【問題2】
因果分析是問題分析階段一項重要技術(shù),可以得出對系統(tǒng)問題的真正理解,并且有助于得到更具有發(fā)明性和價值的方案。請將題目中所列(a)~(i)各項內(nèi)容填入表中(1)~(4)對應(yīng)位置。(分?jǐn)?shù):9)__________________________________________________________________________________________
對的答案:((1)(a)(f)
(2)(c)(h)
(3)(b)(d)(g)
(4)(e)(i))解析:【問題3】
系統(tǒng)約束條件可以分為四類,請將類別名稱填入表中(1)~(4)對應(yīng)的位置。
表1-2約束條件分類
(分?jǐn)?shù):9)__________________________________________________________________________________________
對的答案:((1)進(jìn)度
(2)成本
(3)功能
(4)質(zhì)量)解析:問題分析階段的重要任務(wù)包括:
1)研究問題領(lǐng)域
運(yùn)用信息系統(tǒng)框架來列出和定義系統(tǒng)領(lǐng)域
數(shù)據(jù)–列出所有與系統(tǒng)目前存儲的數(shù)據(jù)(在文獻(xiàn)、數(shù)據(jù)庫、表格中)有關(guān)的內(nèi)容,并按照業(yè)務(wù)詞匯定義每項內(nèi)容。
過程–定義目前為其實現(xiàn)了業(yè)務(wù)響應(yīng)(過程)的每個業(yè)務(wù)事件
接口–定義運(yùn)行目前系統(tǒng)的所有地點(diǎn)和每個地點(diǎn)的所有顧客
2)分析問題和機(jī)會
3)分析業(yè)務(wù)過程(可選)
4)制定系統(tǒng)改善目的
5)修改項目計劃
6)階段確認(rèn)閱讀如下有關(guān)系統(tǒng)分析設(shè)計的論述,在答題紙上回答問題1至問題3。
【闡明】
某軟件企業(yè)為共享單車租賃企業(yè)開發(fā)一套單車租賃服務(wù)系統(tǒng),企業(yè)項目組對此待開發(fā)項目進(jìn)行了分析,詳細(xì)描述如下:
1)顧客(非注冊顧客)通過手機(jī)向租賃服務(wù)系統(tǒng)進(jìn)行注冊,成為可租賃共享單車的合法顧客,其中包括提供身份、手機(jī)號等信息,并支付約定押金;
2)將采購的共享單車注冊到租賃服務(wù)系統(tǒng)後方可投入使用。即將單車的標(biāo)識信息(車輛編號、二維碼等)錄入到系統(tǒng);
3)顧客(注冊或非注冊顧客)通過手機(jī)查詢可獲得單車的地理位置信息以便就近取用;
4)顧客(注冊顧客)通過手機(jī)登錄到租賃服務(wù)系統(tǒng)中,通過掃描二維碼或輸入車輛編號以進(jìn)行系統(tǒng)確認(rèn),系統(tǒng)後臺對指定車輛狀態(tài)(可用或不可用),以及顧客資格進(jìn)行確認(rèn),通過確認(rèn)後對車輛下達(dá)解鎖指令;
5)顧客在用完車輛後關(guān)閉車鎖,車輛自身將閉鎖狀態(tài)上報到租賃服務(wù)系統(tǒng)中,完畢車輛狀態(tài)的更新和顧客租賃費(fèi)用結(jié)算;
6)系統(tǒng)應(yīng)具有一定的擴(kuò)容能力,以滿足未來市場規(guī)模擴(kuò)張的需要。
項目組李工認(rèn)為該系統(tǒng)功能相對獨(dú)立,系統(tǒng)可分解為不一樣的獨(dú)立功能模塊,適合采用構(gòu)造化分析與設(shè)計措施對系統(tǒng)進(jìn)行分析與設(shè)計。但王工認(rèn)為,系統(tǒng)可管理的對象明確,并且項目團(tuán)體具有較強(qiáng)的面向?qū)ο笙到y(tǒng)開發(fā)經(jīng)驗,提議采用面向?qū)ο蠓治雠c設(shè)計措施。經(jīng)項目組討論,決定采用王工的提議,采用面向?qū)ο蠓治雠c設(shè)計措施開發(fā)系統(tǒng)。(分?jǐn)?shù):25)【問題1】
在系統(tǒng)分析階段,構(gòu)造化分析和面向?qū)ο蠓治龃胧┲匾治鲞^程和分析模型均有所區(qū)別,請將(a)~(g)各項內(nèi)容填入表2-1(1)~(4)處對應(yīng)位置。
表2-1系統(tǒng)分析措施比較
(a)確定目的系統(tǒng)概念類;
(b)實體關(guān)系圖(ERD);
(c)用例圖;
(d)通過功能分解方式把系統(tǒng)功能分解到各個模塊中;
(e)交互圖;
(f)數(shù)據(jù)流圖(DFD);
(g)建立類間交互關(guān)系。(分?jǐn)?shù):7)__________________________________________________________________________________________
對的答案:((1)(d)
(2)(b)(f)
(3)(a)(g)
(4)(c)(e))解析:【問題2】
請分析下面A~Q所列出的共享單車租賃服務(wù)系統(tǒng)中的概念類及其措施,在圖2-1所示用例圖(1)~(12)處補(bǔ)充所缺失信息。
A.顧客,B.共享單車,C.顧客管理,D.注冊,E.注銷,F(xiàn).顧客查詢,G單車管理,H.租賃,L償還,J.單車查詢,K.費(fèi)用管理,L.保證金管理,M.租賃費(fèi)管理,N.數(shù)據(jù)存儲管理,O.顧客數(shù)據(jù)存儲管理,P.單車數(shù)據(jù)存儲管理,Q.費(fèi)用結(jié)算,R.身份認(rèn)證
圖2-1單車租賃服務(wù)系統(tǒng)用例圖(分?jǐn)?shù):12)__________________________________________________________________________________________
對的答案:((1)D:注冊
(2)F:顧客查詢
(3)C:顧客管理
(4)R:身份認(rèn)證
(5)A:顧客
(6)N:數(shù)據(jù)存儲管理
(7)P:單車數(shù)據(jù)存儲管理
(8)I:償還
(9)B:共享單車
(10)K:費(fèi)用管理
(11)L:保證金管理
(12)Q:費(fèi)用結(jié)算)解析:【問題3】
伴隨共享單車投放量以及顧客量的增長會存在系統(tǒng)性能或容量下降問題,請用200字以內(nèi)的文字闡明,在系統(tǒng)設(shè)計之初,怎樣考慮此類問題?(分?jǐn)?shù):6)__________________________________________________________________________________________
對的答案:(1、考慮可擴(kuò)展性問題,運(yùn)用集群,擴(kuò)展時采用水平擴(kuò)展方式。
2、運(yùn)用分布式存儲方式,將各個都市的數(shù)據(jù)分散存儲,減少壓力,提高處理性能。
3、運(yùn)用負(fù)載均衡技術(shù),處理高并發(fā)問題。)解析:閱讀如下有關(guān)安全關(guān)鍵系統(tǒng)安全性設(shè)計技術(shù)的描述,回答問題1至問題3。
【闡明】
某企業(yè)長期從事計算機(jī)產(chǎn)品的研制工作,企業(yè)領(lǐng)導(dǎo)為了響應(yīng)國家軍民融合的發(fā)展戰(zhàn)略,決定要積極參與我國軍用設(shè)備領(lǐng)域的研制工作,將我司的計算機(jī)及軟件產(chǎn)品通過提高和改造,應(yīng)用到軍用裝備的安全關(guān)鍵系統(tǒng)中。企業(yè)為了承擔(dān)軍用產(chǎn)品的研發(fā)任務(wù),企業(yè)領(lǐng)導(dǎo)將論證工作交給王工負(fù)責(zé)。王工經(jīng)調(diào)研分析,提交了一份完整論證匯報。(分?jǐn)?shù):25)【問題1】
論證匯報指出:我們企業(yè)長期從事民用市場的計算機(jī)研制工作,在研制流程、管理措施以及環(huán)境試驗等方面都不能到達(dá)軍用設(shè)備有關(guān)技術(shù)規(guī)定。要承擔(dān)武器裝備生產(chǎn)研制工作,就必須建立企業(yè)的武器裝備生產(chǎn)研制質(zhì)量體系,需要拿到軍方或政府部門頒發(fā)的資格認(rèn)證。從技術(shù)上講,軍用設(shè)備產(chǎn)品大部分都屬于安全關(guān)鍵系統(tǒng),其計算機(jī)及軟件的缺陷會導(dǎo)致武器裝備失效,因此,企業(yè)技術(shù)人員應(yīng)及早掌握有關(guān)安全性基本概念和有關(guān)設(shè)計知識。
1)企業(yè)要承擔(dān)武器裝備產(chǎn)品生產(chǎn)任務(wù),需獲得某些資格認(rèn)證,請列舉兩種資格認(rèn)證名稱。
2)請闡明安全關(guān)鍵系統(tǒng)的定義,并列舉出兩個安全關(guān)鍵系統(tǒng)的實例設(shè)備。
3)請簡要闡明安全性(safety)的詳細(xì)含義,并給出產(chǎn)品設(shè)計時,安全性分析一般采用哪兩種措施?(分?jǐn)?shù):12)__________________________________________________________________________________________
對的答案:(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)功能一旦失效將引起生命、財產(chǎn)等重大損失以及環(huán)境也許遭到嚴(yán)重破壞的系統(tǒng)。如戰(zhàn)斗機(jī)的航空電子系統(tǒng),火控雷達(dá)系統(tǒng)等。)解析:【問題2】
IEC
61508
(《電氣/電子/可編程電子安全系統(tǒng)的功能規(guī)定》是國際上對安全關(guān)鍵系統(tǒng)規(guī)定的一種較完整的安全性等級劃分原則,本原則是由國際電工委員會(International
Electronic
Commission)正式公布的電氣和電子部件行業(yè)原則(GB/T
20438等同于此原則)。本原則對設(shè)備或系統(tǒng)的安全完整性等級(SIL)劃分為4個等級(SIL1、SIL2、SIL3、SIL4),SIL4是最高規(guī)定。
表3-1給出了本原則對安全功能等級和失效容忍概率的對應(yīng)關(guān)系。請根據(jù)自已所掌握的安全功能等級有關(guān)知識,補(bǔ)充完善表3-1給出的(1)~(6)空格,并將答案寫在答題紙上。
表3-1安全功能等級(SIL)和失效容忍慣率對照表
(分?jǐn)?shù):6)__________________________________________________________________________________________
對的答案:((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】
實時調(diào)度是安全關(guān)鍵系統(tǒng)的關(guān)鍵技術(shù)。實時調(diào)度一般分為動態(tài)和靜態(tài)兩種。其中,靜態(tài)調(diào)度是指在離線狀況下計算出的任務(wù)的可調(diào)度性,靜態(tài)調(diào)度必須保證所有任務(wù)的時限、資源、優(yōu)先級和同步的需求。圖3-1給出了一組分布式任務(wù)執(zhí)行的優(yōu)先級關(guān)系,請根據(jù)圖3-1給出任務(wù)間的優(yōu)先級關(guān)系實例,按靜態(tài)調(diào)度算法的基本原理,補(bǔ)充完善圖3-2給出的任務(wù)靜態(tài)調(diào)度搜索樹的(1)
~
(10)空白,并給出最佳調(diào)度途徑。
(分?jǐn)?shù):7)__________________________________________________________________________________________
對的答案:((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),確定潛在的危險,估計這些危險對人員傷害或?qū)υO(shè)備損壞的嚴(yán)重性和也許性,并確定消除或減少危險的措施,以便可以在事故發(fā)生之前消除或盡量減少事故發(fā)生的也許性或減少事故有害影響的程度。安全性分析重要用于識別危險,以便在壽命周期的所有階段中可以消除或控制這些危險。安全性分析通過實行多種危險分析到達(dá)下述目的。
(1)確定軍用系統(tǒng)存在的危險,并消除這些危險或減少其風(fēng)險。
(2)確定既有危險的原因、影響及多種危險的互相關(guān)系。
(3)確定軍用系統(tǒng)設(shè)計中需要采用防止措施或修復(fù)措施的部分。
(4)確定軍用系統(tǒng)應(yīng)進(jìn)行哪些專門的試驗以驗證其安全性以及確定也許導(dǎo)致事故發(fā)生的任何軍用系統(tǒng)缺陷。
危險分析措施則包括危險分析類型(工作項目)和分析技術(shù)兩個方面,分析類型將波及到在何時、何地及對何種對象進(jìn)行危險分析,分析技術(shù)是指用來支持危險分析的手段和措施。在GJB900-90中,常用的分析類型包括初步危險分析(PHA)、分系統(tǒng)危險分析(SSHA)、系統(tǒng)危險分析(SHA)等危險分析技術(shù)諸多種,最常常使用的有故障模式影響及危害性分析(FMECA)、故障樹分析(FTA)、事件樹分析(ETA)、故障危險分析(FHA)、潛通電路分析(SCA)等。
故障樹分析(FTA):一種也許的事故開始,自上而下、一層層的尋找頂事件的直接原因和間接原因事件,直到基本原因事件
失效模式與影響分析(FMEA):FMEA是在產(chǎn)品設(shè)計階段和過程設(shè)計階段,對構(gòu)成產(chǎn)品的子系統(tǒng)、零件,對構(gòu)成過程的各個工序逐一進(jìn)行分析,找出所有潛在的失效模式,并分析其也許的後果,從而預(yù)先采用必要的措施,以提高產(chǎn)品的質(zhì)量和可靠性的一種系統(tǒng)化的活動。閱讀如下有關(guān)數(shù)據(jù)庫設(shè)計的論述,在答題紙上回答問題1至問題3。
【闡明】
某軟件企業(yè)開發(fā)一套類似于淘寶網(wǎng)上商城業(yè)務(wù)的電子商務(wù)網(wǎng)站。該系統(tǒng)波及多種顧客角色,包括購物顧客,商鋪管理員,系統(tǒng)管理員等。
在數(shù)據(jù)庫設(shè)計中,該系統(tǒng)數(shù)據(jù)庫的關(guān)鍵關(guān)系包括:
產(chǎn)品(產(chǎn)品編碼,產(chǎn)品名稱,產(chǎn)品價格,庫存數(shù)量,商鋪編碼)
商鋪(商鋪編碼,商鋪名稱,商鋪地址,商鋪郵箱,服務(wù)電話);
顧客(顧客編碼,顧客名稱,顧客地址,聯(lián)絡(luò)電話)
訂單(訂單編碼,訂單曰期,顧客編碼,商鋪編碼,產(chǎn)品編碼,產(chǎn)品數(shù)量,訂單總價)
不一樣顧客角色也有不一樣的數(shù)據(jù)需求,為此該軟件企業(yè)在基本數(shù)據(jù)庫關(guān)系模式的基礎(chǔ)上,定制了許多試圖。其中,有諸多視圖波及到多表關(guān)聯(lián)和匯集函數(shù)運(yùn)算。(分?jǐn)?shù):25)【問題1】
商鋪顧客需要實時記錄本商鋪的貨品數(shù)運(yùn)和銷售狀況,以便及時補(bǔ)貨,或者為商鋪調(diào)整銷售方略。為此專門設(shè)計了可實時查看當(dāng)曰商鋪中貨品銷售狀況和存貸狀況的視圖,商鋪產(chǎn)品銷售狀況曰報表(商鋪編碼,產(chǎn)品編碼,曰銷售產(chǎn)品數(shù)量,庫存數(shù)量,曰期)。
數(shù)據(jù)庫運(yùn)行測試過程中,發(fā)現(xiàn)針對該視圖查詢性能比較差,不滿足顧客需求。
請闡明數(shù)據(jù)庫視圖的基本概念及其長處,并闡明本視圖設(shè)計導(dǎo)致查詢性能較差的原閃。(分?jǐn)?shù):8)__________________________________________________________________________________________
對的答案:(視圖是虛表,是從一種或幾種基本表(或視圖)中導(dǎo)出的表,在系統(tǒng)的數(shù)據(jù)字典中僅寄存了視圖的定義,不寄存視圖對應(yīng)的數(shù)據(jù)。
視圖的長處:
1、視圖能簡化顧客的操作
2、視圖機(jī)制可以使顧客以不一樣的方式查詢同一數(shù)據(jù)
3、視圖對數(shù)據(jù)庫重構(gòu)提供了一定程度的邏輯獨(dú)立性
4、視圖可以對機(jī)密的數(shù)據(jù)提供安全保護(hù)
查詢性能較差的原因是視圖中“曰銷售產(chǎn)品數(shù)量”需要針對訂單表做記錄分析,訂單表中有數(shù)量龐大的歷史銷售記錄,因此這種操作極為耗時。)解析:【問題2】
為處理該視圖查洵性能比較差的問題,張工提議為該數(shù)據(jù)建立單獨(dú)的商品當(dāng)曰貨品銷售、存貨狀況的關(guān)系表。但李工認(rèn)為張工的方案導(dǎo)致了數(shù)據(jù)不一致的問題,必須采用一定的手段來處理。
1)闡明張工方案與否可以對該視圖查詢性能有所提高,并解釋原因:
2)解釋闡明李工指出的數(shù)據(jù)不一致問題產(chǎn)生的原因。(分?jǐn)?shù):8)__________________________________________________________________________________________
對的答案:(1)張工方案可以對該視圖查詢性能有所提高,由于這樣做能極大的減少記錄分析的數(shù)據(jù)量,對小數(shù)據(jù)量進(jìn)行記錄,性能是能得以保障的。
2)由于當(dāng)曰訂單數(shù)據(jù)既存儲在訂單表中,又存儲在單獨(dú)的當(dāng)曰貨品銷售、存貨狀況表中。同一數(shù)據(jù)存儲了兩份,一旦出現(xiàn)修改,未同步修改,則會導(dǎo)致數(shù)據(jù)不一致。)解析:【問題3】
針對李工提出的問題,常見的處理手段有應(yīng)用程序?qū)崿F(xiàn),觸發(fā)器實現(xiàn)和物化視圖實現(xiàn)等、請用300字以內(nèi)的文字解釋闡明這三種方案。(分?jǐn)?shù):9)__________________________________________________________________________________________
對的答案:(應(yīng)用程序?qū)崿F(xiàn):在進(jìn)行訂單的添加、修改、刪除操作時,從應(yīng)用程序中,控制對兩個數(shù)據(jù)表都進(jìn)行有關(guān)操作,以保障數(shù)據(jù)的一致性。
觸發(fā)器實現(xiàn):在應(yīng)用程序中,只對訂單表進(jìn)行操作。但寫觸發(fā)器,當(dāng)訂單表發(fā)生變化時,把當(dāng)曰訂單內(nèi)容同步更新到當(dāng)曰貨品銷售、存貨狀況表中。
物化視圖實現(xiàn):建立“當(dāng)曰貨品銷售、存貨狀況”的物化視圖,物化視圖會把對應(yīng)的數(shù)據(jù)物理存儲起來,并且在訂單表發(fā)生變化時,會自動更新。)解析:視圖(View)是從一種或多種表(或視圖)導(dǎo)出的表。視圖與表(有時為與視圖區(qū)別,也稱表為基本表——BaseTable)不一樣,視圖是一種虛表,即視圖所對應(yīng)的數(shù)據(jù)不進(jìn)行實際存儲,數(shù)據(jù)庫中只存儲視圖的定義,在對視圖的數(shù)據(jù)進(jìn)行操作時,系統(tǒng)根據(jù)視圖的定義去操作與視圖有關(guān)聯(lián)的基本表。閱讀如下有關(guān)Web應(yīng)用設(shè)計開發(fā)的描述,在答題紙上回答問題1至問題3。
【闡明】
某企業(yè)擬開發(fā)一種自由,可定制性強(qiáng)、顧客界面友好的在線調(diào)查系統(tǒng),以獲取員工在課程學(xué)習(xí)、對企業(yè)重人事件的見解、對辦公室環(huán)境的提議等有關(guān)反饋。因需要調(diào)查的內(nèi)容各異,可選擇的調(diào)查方式多樣,故本在線調(diào)查系統(tǒng)應(yīng)滿足如下需求:
1)支持編輯和視圖兩種模式,編輯模式只對調(diào)查發(fā)起者可見,視圖模式對接受調(diào)查者可見:
2)調(diào)查問卷具有可定制性,因調(diào)查的內(nèi)容各異,需要多樣的信息采集方式,可設(shè)置的調(diào)查問題類型包括單項選擇、多選、矩陣類單項選擇、矩陣類多選和開放性問題。
3)操作簡樸,調(diào)查者可以以便地新建和編輯多種問題類型,接受調(diào)查者可對每個問題和每個調(diào)查問卷給出評論。
4)系統(tǒng)支持顯示調(diào)查記錄成果,以及導(dǎo)出記錄成果。
針對以上需求,經(jīng)項目經(jīng)討論,擬采用REST架構(gòu)風(fēng)格設(shè)計實現(xiàn)該在線調(diào)查系統(tǒng)。(分?jǐn)?shù):25)【問題1】
分析該在線調(diào)在系統(tǒng)的業(yè)務(wù)流程,填寫圖5-1中(1)~(5)的內(nèi)容:
圖5-1在線調(diào)查系統(tǒng)業(yè)務(wù)流程分析(分?jǐn)?shù):10)__________________________________________________________________________________________
對的答案:((1)編輯模式
(2)視圖模式
(3)與否保留調(diào)查問卷
(4)已保留的調(diào)查問卷
(5)顯示(查看)調(diào)查問卷)解析:【問題2】
REST架構(gòu)風(fēng)格的關(guān)鍵是資源抽象。在系統(tǒng)設(shè)計中,項目組擬將系統(tǒng)中的每一種實體抽象成一種資源。皆列舉出該系統(tǒng)中的5種資源。(分?jǐn)?shù):10)__________________________________________________________________________________________
對的答案:((1)調(diào)查發(fā)起者
(2)接受調(diào)查者
(3)調(diào)查問卷
(4)調(diào)查問題類型
(5)調(diào)查問卷評論)解析:【問題3】
基于REST架構(gòu)風(fēng)格對系統(tǒng)進(jìn)行設(shè)計,請簡要論述REST風(fēng)格的5條關(guān)鍵原則。(分?jǐn)?shù):5)__________________________________________________________________________________________
對的答案:(REST風(fēng)格的5條關(guān)鍵原則包括:
(1)網(wǎng)絡(luò)上的所有事物都被抽象為資源。
(2)每個資源對應(yīng)一種唯一的資源標(biāo)識。
(3)通過通用的連接件接口對資源進(jìn)行操作。
(4)對資源的多種操作不會變化資源標(biāo)識。
(5)所有的操作都是無狀態(tài)的。)解析:試題分析:REST風(fēng)格的5條關(guān)鍵原則包括:
1.為所有“事物”定義ID
在這裏我使用了“事物”來替代改正式精確的術(shù)語“資源”,由于一條如此簡樸的原則,不應(yīng)當(dāng)被沉沒在術(shù)語當(dāng)中。思索一下人們構(gòu)建的系統(tǒng),一般會找到一系列值得被標(biāo)識的關(guān)鍵抽象。每個事物都應(yīng)當(dāng)是可標(biāo)識的,都應(yīng)當(dāng)擁有一種明顯的ID——在Web中,代表ID的統(tǒng)一概念是:URI。URI構(gòu)成了一種全局命名空間,使用URI標(biāo)識你的關(guān)鍵資源意味著它們獲得了一種唯一、全局的ID。
對事物使用一致的命名規(guī)則(namingscheme)最重要的好處就是你不需要提出自已的規(guī)則——而是依托某個已被定義,在全球范圍中幾乎完美運(yùn)行,并且能被絕大多數(shù)人所理解的規(guī)則。想一下你構(gòu)建的上一種應(yīng)用(假設(shè)它不是采用RESTful方式構(gòu)建的)中的任意一種高級對象(high-levelobject),那就很有也許看到許多從使用唯一標(biāo)識中受益的用例。例如,假如你的應(yīng)用中包括一種對顧客的抽象,那么我可以相稱肯定,顧客會但愿將一種指向某個顧客的鏈接,能通過電子郵件發(fā)送到同事那裏,或者加入到瀏覽器的書簽中,甚至寫到紙上。更透徹地講:假如在一種類似于Amazon的在線商城中,沒有用唯一的ID(一種URI)標(biāo)識它的每一件商品,可想而知這將是多么可怕的業(yè)務(wù)決策。
當(dāng)面對這個原則時,許多人驚訝于這與否意味著需要直接向外界暴露數(shù)據(jù)庫記錄(或者數(shù)據(jù)庫記錄ID)——自從數(shù)年以來面向?qū)ο蟮膶嵺`告誡我們,要將持久化的信息作為實現(xiàn)細(xì)節(jié)隱藏起來之後,哪怕是剛有點(diǎn)想法都常會使人驚恐。不過這條原則與隱藏實現(xiàn)細(xì)節(jié)兩者之間并沒有任何沖突:一般,值得被URI標(biāo)識的事物——資源——要比數(shù)據(jù)庫記錄抽象的多。例如,一種定單資源可以由定單項、地址以及許多其他方面(也許不但愿作為單獨(dú)標(biāo)識的資源暴露出來)構(gòu)成。標(biāo)識所有值得標(biāo)識的事物,領(lǐng)會這個觀念可以深入引導(dǎo)你發(fā)明出在老式的應(yīng)用程序設(shè)計中不常見的資源:一種流程或者流程環(huán)節(jié)、一次銷售、一次談判、一份報價祈求——這都是應(yīng)當(dāng)被標(biāo)識的事物的示例。同樣,這也會導(dǎo)致創(chuàng)立比非RESTful設(shè)計更多的持久化實體。
下面是某些你也許想到的URI的例子:
注:網(wǎng)址中的“*”代表“.”
http://example*com/customers/1234
http://example*com/orders//10/776654
http://example*com/products/4554
http://example*com/processes/salary-increase-234正如我選擇了創(chuàng)立便于閱讀的URI——這是個有用的觀點(diǎn),盡管不是RESTful設(shè)計所必須的——應(yīng)當(dāng)能拾分輕易地推測出URI的含義:它們明顯地標(biāo)識著單一“數(shù)據(jù)項”。不過再往下看:
http://example*com/orders//11
http://example*com/products?color=green首先,這兩個URI看起來與之前的稍有不一樣——畢竟,它們不是對一件事物的標(biāo)識,而是對一類事物集合的標(biāo)識(假定第一種URI標(biāo)識了所有在11月份提交的定單,第二個則是綠顏色產(chǎn)品的集合)。不過這些集合自身也是事物(資源),也應(yīng)當(dāng)被標(biāo)識。
注意,使用唯一、全局統(tǒng)一的命名規(guī)則的好處,既合用于瀏覽器中的Web應(yīng)用,也合用于機(jī)對機(jī)(machine-to-machine,m2m)通信。
來對第一種原則做下總結(jié):使用URI標(biāo)識所有值得標(biāo)識的事物,尤其是應(yīng)用中提供的所有“高級”資源,無論這些資源代表單一數(shù)據(jù)項、數(shù)據(jù)項集合、虛擬亦或?qū)嶋H的對象還是計算成果等。
2.將所有事物鏈接在一起
接下來要討論的原則有一種有點(diǎn)令人膽怯的正式描述:“超媒體被當(dāng)作應(yīng)用狀態(tài)引擎(Hypermediaastheengineofapplicationstate)”,有時簡寫為HATEOAS。(嚴(yán)格地說,這不是我說的。)這個描述的關(guān)鍵是超媒體概念,換句話說:是鏈接的思想。鏈接是我們在HTML中常見的概念,不過它的用處絕不局限于此(用于人們網(wǎng)絡(luò)瀏覽)。
應(yīng)用程序(已經(jīng)檢索過文檔)怎樣“跟隨”鏈接檢索更多的信息。當(dāng)然,假如使用一種遵守專用命名規(guī)范的簡樸“id”屬性作為鏈接,也是可行的——不過僅限于應(yīng)用環(huán)境之內(nèi)。使用URI表達(dá)鏈接的優(yōu)雅之處在于,鏈接可以指向由不一樣應(yīng)用、不一樣服務(wù)器甚至位于另一種大陸上的不一樣企業(yè)提供的資源——由于URI命名規(guī)范是全球原則,構(gòu)成Web的所有資源都可以互聯(lián)互通。
超媒體原則尚有一種更重要的方面——應(yīng)用“狀態(tài)”。簡而言之,實際上服務(wù)器端(假如你樂意,也可以叫服務(wù)提供者)為客戶端(服務(wù)消費(fèi)者)提供一組鏈接,使客戶端能通過鏈接將應(yīng)用從一種狀態(tài)變化為另一種狀態(tài)。稍後我們會在另一篇文章中探究這個方面的影響;目前,只需要記?。烘溄邮菢?gòu)成動態(tài)應(yīng)用的非常有效的方式。
對此原則總結(jié)如下:任何也許的狀況下,使用鏈接指導(dǎo)可以被標(biāo)識的事物(資源)。也正是超鏈接造就了目前的Web。
3.使用原則措施
在前兩個原則的討論中暗含著一種假設(shè):接受URI的應(yīng)用程序可以通過URI明確地做某些故意義的事情。假如你在公共汽車上看到一種URI,你可以將它輸入瀏覽器的地址欄中并回車——不過你的瀏覽器怎樣懂得需要對這個URI做些什么呢?
它懂得怎樣去處理URI的原因在于所有的資源都支持同樣的接口,一套同樣的措施(只要你樂意,也可以稱為操作)集合。在HTTP中這被叫做動詞(verb),除了兩個大家熟知的(GET和POST)之外,原則措施集合中還包括PUT、DELETE、HEAD和OPTIONS。這些措施的含義連同行為許諾都一起定義在HTTP規(guī)范之中。假如你是一名OO開發(fā)人員,就可以想象到RESTfulHTTP方案中的所有資源都繼承自類似于這樣的一種類(采用類Java、C#的偽語法描述,請注意關(guān)鍵的措施):
classResource{
Resource(URIu);
Responseget();
Responsepost(Requestr);
Responseput(Requestr);
Responsedelete();
}由于所有資源使用了同樣的接口,你可以依此使用GET措施檢索一種表述(representation)——也就是對資源的描述。由于規(guī)范中定義了GET的語義,因此可以肯定當(dāng)你調(diào)用它的時候不需要對後果負(fù)責(zé)——這就是為何可以“安全”地調(diào)用此措施。GET措施支持非常高效、成熟的緩存,因此在諸多狀況下,你甚至不需要向服務(wù)器發(fā)送祈求。還可以肯定的是,GET措施具有冪等性[譯注:指多種相似祈求返回相似的成果]——假如你發(fā)送了一種GET祈求沒有得到成果,你也許不懂得原因是祈求未能抵達(dá)目的地,還是響應(yīng)在反饋的途中丟失了。冪等性保證了你可以簡樸地再發(fā)送一次祈求處理問題。冪等性同樣合用于PUT(基本的含義是“更新資源數(shù)據(jù),假如資源不存在的話,則根據(jù)此URI創(chuàng)立一種新的資源”)和DELETE(你完全可以一遍又一遍地操作它,直到得出結(jié)論——刪除不存在的東西沒有任何問題)措施。POST措施,一般表達(dá)“創(chuàng)立一種新資源”,也能被用于調(diào)用任意過程,因而它既不安全也不具有冪等性。
假如你采用RESTful的方式暴露應(yīng)用功能(假如你樂意,也可以稱為服務(wù)功能),那這條原則和它的約束同樣也合用于你。假如你已經(jīng)習(xí)慣于此外的設(shè)計方式,則很難去接受這條原則——畢竟,你很也許認(rèn)為你的應(yīng)用包括了超過這些操作體現(xiàn)范圍的邏輯。請容許我花費(fèi)某些時間來讓你相信不存在這樣的狀況。
來看下面這個簡樸的采購方案例子:
可以看到,例子中定義了兩個服務(wù)程序(沒有包括任何實現(xiàn)細(xì)節(jié))。這些服務(wù)程序的接口都是為了完畢任務(wù)(正是我們討論的OrderManagement和CustomerManagement服務(wù))而定制的。假如客戶端程序試圖使用這些服務(wù),那它必須針對這些特定接口進(jìn)行編碼——不也許在這些接口定義之前,使用客戶程序去有目的地和接口協(xié)作。這些接口定義了服務(wù)程序的應(yīng)用協(xié)議(applicationprotocol)。
在RESTfulHTTP方式中,你將通過構(gòu)成HTTP應(yīng)用協(xié)議的通用接口訪問服務(wù)程序。你也許會想出像這樣的方式:
可以看到,服務(wù)程序中的特定操作被映射成為原則的HTTP措施——為了消除歧義,我創(chuàng)立了一組全新的資源?!斑@是騙人的把戲”,我聽見你叫嚷著。不,這不是欺騙。標(biāo)識一種顧客的URI上的GET措施恰好相稱于getCustomerDetails操作。有人用三角形形象化地闡明了這一點(diǎn):
把三個頂點(diǎn)想象為你可以調(diào)整的按鈕。可以看到在第一種措施中,你擁有許多操作,許多種類的數(shù)據(jù)以及固定數(shù)量的“實例”(本質(zhì)上和你擁有的服務(wù)程序數(shù)量一致)。在第二種措施中,你擁有固定數(shù)量的操作,許多種類的數(shù)據(jù)和許多調(diào)用固定措施的對象。它的意義在于,證明了通過這兩種方式,你基本上可以表達(dá)任何你喜歡的事情。
為何使用原則措施如此重要?從主線上說,它使你的應(yīng)用成為Web的一部分——應(yīng)用程序為Web變成Internet上最成功的應(yīng)用所做的奉獻(xiàn),與它添加到Web中的資源數(shù)量成比例。采用RESTful方式,一種應(yīng)用也許會向Web中添加數(shù)以百萬計的客戶URI;假如采用CORBA技術(shù)并維持應(yīng)用的原有設(shè)計方式,那它的奉獻(xiàn)大抵只是一種“端點(diǎn)(endpoint)”——就好比一種非常小的門,僅僅容許有鑰匙的人進(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)當(dāng)對的地實現(xiàn)默認(rèn)的應(yīng)用協(xié)議(HTTP),也就是使用原則的GET、PUT、POST和DELETE措施。
4.資源多重表述
到目前為止我們一直忽視了一種稍微復(fù)雜的問題:客戶程序怎樣懂得該怎樣處理檢索到的數(shù)據(jù),例如作為GET或者POST祈求的成果?原因是,HTTP采用的方式是容許數(shù)據(jù)處理和操作調(diào)用之間關(guān)系分離的。換句話說,假如客戶程序懂得怎樣處理一種特定的數(shù)據(jù)格式,那
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 房屋租賃付定金合同
- 獨(dú)家代理合同(20篇)
- 酒店服務(wù)標(biāo)準(zhǔn)化建設(shè)合作協(xié)議
- 軟件開發(fā)委托服務(wù)合同
- 食品安全檢測認(rèn)證服務(wù)合同
- 藝術(shù)品交易鑒賞期免責(zé)合同協(xié)議
- 手房租賃買賣合同
- 工程施工中止合同書
- 環(huán)保工程承包施工合同
- 夫妻債務(wù)協(xié)議書有效
- 扶梯人行道檢驗驗收作業(yè)指導(dǎo)書
- GB/T 20308-2020產(chǎn)品幾何技術(shù)規(guī)范(GPS)矩陣模型
- 男孩女孩動起來健康運(yùn)動知識PPT模板
- 體育原理課件
- 鐵路道岔知識課件
- 自考公共關(guān)系學(xué)課件
- 森林害蟲防治方法課件
- 各種el34名膽電子管評測
- 超分子化學(xué)-杯芳烴課件
- 北郵工程數(shù)學(xué)期末試卷B卷
- 超長結(jié)構(gòu)及大體積混凝土專項施工方案
評論
0/150
提交評論