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

下載本文檔

版權(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論