摘要:以下為2014年系統(tǒng)架構(gòu)設(shè)計師考試案例分析真題,更多軟考真題答案與解析,請進(jìn)入希賽網(wǎng)在線題庫查看。
以下為2014年系統(tǒng)架構(gòu)設(shè)計師考試案例分析真題:
>>>點此進(jìn)入系統(tǒng)架構(gòu)設(shè)計師歷年真題下載
一、請詳細(xì)閱讀以下關(guān)于網(wǎng)絡(luò)設(shè)備管理系統(tǒng)架構(gòu)設(shè)計的說明,在答題紙上回答問題1和問題2。
【說明】
某軟件公司欲開發(fā)一個網(wǎng)絡(luò)設(shè)備管理系統(tǒng),對管理區(qū)域內(nèi)的網(wǎng)絡(luò)設(shè)備(如路由器和交換機(jī)等)進(jìn)行遠(yuǎn)程監(jiān)視和控制。公司的系統(tǒng)分析師首先對系統(tǒng)進(jìn)行了需求分析,識別出如下3項核心需求:
(a)目前需要管理的網(wǎng)絡(luò)設(shè)備確定為10類20種,未來還將有新類別的網(wǎng)絡(luò)設(shè)備納入到該設(shè)備管理系統(tǒng)中;
(b)不同類別的網(wǎng)絡(luò)設(shè)備,監(jiān)視和控制的內(nèi)容差異較大;同一類網(wǎng)絡(luò)設(shè)備,監(jiān)視和控制的內(nèi)容相似,但不同廠商的實現(xiàn)方式(包括控制接口格式、編程語言等)差異較大;
(c)網(wǎng)絡(luò)管理員能夠在一個統(tǒng)一的終端之上實現(xiàn)對這些網(wǎng)絡(luò)設(shè)備的可視化呈現(xiàn)和管理操作。
針對上述需求,公司研發(fā)部門的架構(gòu)師對網(wǎng)絡(luò)設(shè)備管理系統(tǒng)的架構(gòu)進(jìn)行了分析與設(shè)計,架構(gòu)師王工認(rèn)為該系統(tǒng)可以采用MVC架構(gòu)風(fēng)格實現(xiàn),即對每種網(wǎng)絡(luò)設(shè)備設(shè)計一個監(jiān)控組件,組件通過調(diào)用網(wǎng)絡(luò)設(shè)備廠商內(nèi)置的編程接口對監(jiān)控指令進(jìn)行接收和處理;系統(tǒng)管理員通過管理模塊向監(jiān)控組件發(fā)送監(jiān)控指令,對網(wǎng)絡(luò)設(shè)備進(jìn)行遠(yuǎn)程管理;網(wǎng)絡(luò)狀態(tài)、監(jiān)控結(jié)果等信息會在控制終端上進(jìn)行展示。針對不同網(wǎng)絡(luò)設(shè)備的差異,王工認(rèn)為可以對當(dāng)前的20種網(wǎng)絡(luò)設(shè)備接口進(jìn)行調(diào)研與梳理,然后通過定義統(tǒng)一操作接口屏蔽設(shè)備差異。李工同意王工提出的MVC架構(gòu)風(fēng)格和定義統(tǒng)一操作接口的思路,但考慮到未來還會有新類別的網(wǎng)絡(luò)設(shè)備接入,認(rèn)為還需要采用擴(kuò)展接口的方式支持系統(tǒng)開發(fā)人員擴(kuò)展或修改現(xiàn)有操作接口。公司組織專家進(jìn)行架構(gòu)評審,最終同意了王工的方案和李工的改進(jìn)意見。
【問題1】(10分)
請用300字以內(nèi)的文字解釋什么是MVC架構(gòu)風(fēng)格以及其中的組件交互關(guān)系,并根據(jù)題干描述,指出該系統(tǒng)中的M、V、C分別對應(yīng)什么。
【問題2】(15分)
擴(kuò)展接口模式結(jié)構(gòu)通常包含四個角色:基礎(chǔ)接口、組件、擴(kuò)展接口和客戶端,它們之間的關(guān)系如圖1-1所示。
其中每個擴(kuò)展接口需要通過擴(kuò)展基礎(chǔ)接口獲得基本操作能力,然后加入自己特有的操作接口,并通過設(shè)置全局接口ID對自身接口進(jìn)行標(biāo)識;每個具體的組件需要實現(xiàn)擴(kuò)展接口完成實際操作;客戶端不與組件直接交互,而需要通過與擴(kuò)展接口交互提出調(diào)用請求,擴(kuò)展接口根據(jù)請求查找并選擇合適的實現(xiàn)組件響應(yīng)客戶端請求。請根據(jù)上圖所示和題干描述,指出擴(kuò)展接口模式結(jié)構(gòu)中的四個角色分別對應(yīng)網(wǎng)絡(luò)設(shè)備管理系統(tǒng)的哪些部分;并以客戶端發(fā)起調(diào)用操作這一場景為例,填寫表1-1中的(1)~(5)。
二、請詳細(xì)閱讀以下關(guān)于系統(tǒng)過程建模的說明,在答題紙上回答問題1至問題3。
【說明】
某公司正在研發(fā)一套新的庫存管理系統(tǒng)。系統(tǒng)中一個關(guān)鍵事件是接收供應(yīng)商供貨。項目組系統(tǒng)分析員小王花了大量時間在倉庫觀察了整個事件的處理過程,并開發(fā)出該過程所執(zhí)行活動的列表:供應(yīng)商發(fā)送貨物和商品清單,公司收到商品后執(zhí)行收貨處理,包括卸載商品、確定收到了訂單上的商品、處理與供應(yīng)商的分歧等。對于已有商品,調(diào)整其庫存信息,對于新采購的商品,在庫存中添加新的商品記錄。收貨完成后,系統(tǒng)執(zhí)行入庫處理,將商品放到倉庫對應(yīng)的貨架上。在付款處理活動中,自動生成應(yīng)付賬款信息,如果查詢到該供應(yīng)商有待付款記錄,則進(jìn)行合并付款,付款完成后消除應(yīng)付賬款記錄。最后,倉庫管理員根據(jù)最新的庫存商品,調(diào)整出貨信息。
小王根據(jù)自己觀察的過程創(chuàng)建了該事件的1層數(shù)據(jù)流圖,如下圖所示。
圖2-1接收供應(yīng)商供貨的1層數(shù)據(jù)流圖
【問題1】(8分)
請用300以內(nèi)文字說明數(shù)據(jù)流圖(Data Flow Diagram)的基本元素及其作用。
【問題2】(12分)
數(shù)據(jù)流圖在繪制過程中可能出現(xiàn)多種語法錯誤,請分析圖2-1所示數(shù)據(jù)流圖中哪些地方有錯誤,并分別說明錯誤的類型。
【問題3】(5分)
系統(tǒng)建模過程中為了保證數(shù)據(jù)模型和過程模型的一致性,需要通過數(shù)據(jù)-過程-CRUD矩陣來實現(xiàn)數(shù)據(jù)模型和過程模型的同步,請在表2-1所示CRUD矩陣(1)~(5)中填入相關(guān)操作。
三、請詳細(xì)閱讀有關(guān)嵌入式構(gòu)件設(shè)計方面的說明,在答題紙上回答問題1至問題3。
【說明】
構(gòu)件(component)也稱為組件,是一個功能相對獨立的具有可復(fù)用價值的軟硬件單元。近年來,構(gòu)件技術(shù)正在逐步應(yīng)用于大型嵌入式系統(tǒng)的軟件設(shè)計。某公司長期從事飛行器電子設(shè)備研制工作,已積累了大量成熟軟件。但是,由于當(dāng)初管理和設(shè)計等原因,公司的大量軟件不能被復(fù)用,嚴(yán)重影響了公司后續(xù)發(fā)展。公司領(lǐng)導(dǎo)層高度重視軟件復(fù)用問題,明確提出了要將本公司的成熟軟件進(jìn)行改造,建立公司可復(fù)用的軟件構(gòu)件庫,以提升開發(fā)效率、降低成本。公司領(lǐng)導(dǎo)層決定將此項任務(wù)交給技術(shù)部門的王工程師負(fù)責(zé)組織實施。兩個月后,王工程師經(jīng)過調(diào)研、梳理和實驗,提交了一份實施方案。此方案得到了公司領(lǐng)導(dǎo)層的肯定,但在實施過程中遇到了許多困難,主要表現(xiàn)在公司軟件架構(gòu)的變更和構(gòu)件抽取的界面等方面。
【問題1】(共9分)
請用200字以內(nèi)文字說明獲取構(gòu)件的方法有哪幾種?開發(fā)構(gòu)件通常采用哪幾種策略?并列舉出兩種主流構(gòu)件標(biāo)準(zhǔn)。
【問題2】(共6分)
由于該公司已具備大量的成熟軟件,王工程師此次的主要工作就是采用遺留工程(Legacy Engineering)方法,將具有潛在復(fù)用價值的軟件提取出來,得到可復(fù)用的構(gòu)件。因此,在設(shè)計軟件時與原開發(fā)技術(shù)人員產(chǎn)生了重大意見分歧,主要分歧焦點在于大家對構(gòu)件概念理解上的差異。請根據(jù)你對構(gòu)件的理解,判斷表3-1給出的有關(guān)構(gòu)件的說法是否正確,將答案寫在答題紙上。
【問題3】(共10分)
王工程師的實施方案指出:本公司的大部分產(chǎn)品是為用戶提供標(biāo)準(zhǔn)計算平臺的,而此平臺中的主要開發(fā)工作是為嵌入式操作系統(tǒng)研制板級支持軟件(BSP)。為了提高BSP軟件的復(fù)用,應(yīng)首先開展BSP構(gòu)件的開發(fā),且構(gòu)件架構(gòu)應(yīng)符合國外GENESYS規(guī)范定義的嵌入式系統(tǒng)架構(gòu)風(fēng)格。圖3-1給出了架構(gòu)風(fēng)格定義的構(gòu)件通用接口,其中:鏈接接口(LIF)是構(gòu)件對外提供的功能服務(wù)接口;局部接口建立了構(gòu)件和它的局部環(huán)境的連接,如傳感器、作動器或人機(jī)接口;技術(shù)相關(guān)接口(TDI)提供了查看構(gòu)件內(nèi)部、觀察構(gòu)件的內(nèi)部變量的手段,如診斷等;技術(shù)無關(guān)接口(TII)用來在運(yùn)行時配置、復(fù)使、重啟構(gòu)件的接口?,F(xiàn)需要針對BSP中常用的RS-232串行驅(qū)動程序設(shè)計一個可復(fù)用的軟構(gòu)件,請說明該軟構(gòu)件四類接口的具體功能。
圖3-1 GENESYS規(guī)范定義的構(gòu)件接口
四、請詳細(xì)閱讀有關(guān)軟件架構(gòu)評估方面的說明,在答題紙上回答問題1至問題2。
【說明】
某電子商務(wù)公司擬升級目前正在使用的在線交易系統(tǒng),以提高客戶網(wǎng)上購物時在線支付環(huán)節(jié)的效率和安全性。公司研發(fā)部門在需求分析的基礎(chǔ)上,給出了在線交易系統(tǒng)的架構(gòu)設(shè)計。公司組織相關(guān)人員召開了針對架構(gòu)設(shè)計的評估會議,會上用戶提出的需求、架構(gòu)師識別的關(guān)鍵質(zhì)量屬性場景和評估專家的意見等內(nèi)容部分列舉如下:
(a)在正常負(fù)載情況下,系統(tǒng)必須在0.5秒內(nèi)響應(yīng)用戶的交易請求;
(b)用戶的信用卡支付必須保證99.999%的安全性;
(c)系統(tǒng)升級后用戶名要求至少包含8個字符;
(d)網(wǎng)絡(luò)失效后,系統(tǒng)需要在2分鐘內(nèi)發(fā)現(xiàn)錯誤并啟用備用系統(tǒng);
(e)在高峰負(fù)載情況下,用戶發(fā)起支付請求后系統(tǒng)必須在10秒內(nèi)完成支付功能;
(f)系統(tǒng)擬采用新的加密算法,這會提高系統(tǒng)安全性,但同時會降低系統(tǒng)的性能;
(g)對交易請求處理時間的要求將影響系統(tǒng)數(shù)據(jù)傳輸協(xié)議和交易處理過程的設(shè)計;
(h)需要在30人月內(nèi)為系統(tǒng)添加公司新購買的事務(wù)處理中間件;
(i)現(xiàn)有架構(gòu)設(shè)計中的支付部分與第三方支付平臺緊耦合,當(dāng)系統(tǒng)需要支持新的支付平臺時,這種設(shè)計會導(dǎo)致支付部分代碼的修改,影響系統(tǒng)的可修改性;
(j)主站點斷電后,需要在3秒內(nèi)將訪問請求重定向到備用站點;
(k)用戶信息數(shù)據(jù)庫授權(quán)必須保證99.999%可用;
(l)系統(tǒng)需要對Web界面風(fēng)格進(jìn)行修改,修改工作必須在4人月內(nèi)完成;
(m)系統(tǒng)需要為后端工程師提供遠(yuǎn)程調(diào)試接口,并支持遠(yuǎn)程調(diào)試。
【問題1】(12分)
在架構(gòu)評估過程中,質(zhì)量屬性效用樹(utility tree)是對系統(tǒng)質(zhì)量屬性進(jìn)行識別和優(yōu)先級排序的重要工具。請給出合適的質(zhì)量屬性,填入圖4-1中(1)、(2)空白處;并選擇題干描述的(a)~(m),填入(3)~(6)空白處,完成該系統(tǒng)的效用樹。
圖4-1在線交易系統(tǒng)效用樹
【問題2】(13分)
在架構(gòu)評估過程中,需要正確識別系統(tǒng)的架構(gòu)風(fēng)險、敏感點和權(quán)衡點,并進(jìn)行合理的架構(gòu)決策。請用300字以內(nèi)的文字給出系統(tǒng)架構(gòu)風(fēng)險、敏感點和權(quán)衡點的定義,并從題干(a)~(m)中各選出1個對系統(tǒng)架構(gòu)風(fēng)險、敏感點和權(quán)衡點最為恰當(dāng)?shù)拿枋觥?/p>
五、請詳細(xì)閱讀有關(guān)Web應(yīng)用架構(gòu)設(shè)計方面的說明,在答題紙上回答問題1至問題3。
【說明】
某軟件公司開發(fā)運(yùn)維了一個社交網(wǎng)站系統(tǒng),該系統(tǒng)基于開源軟件平臺LAMP(Linux+Apache+MySQL+PHP)構(gòu)建,運(yùn)行一段時間以來,隨著用戶數(shù)量及訪問量的增加,系統(tǒng)在Web服務(wù)器負(fù)載、磁盤I/O等方面出現(xiàn)了明顯瓶頸,已不能滿足大量客戶端并發(fā)訪問的要求,因此公司成立了專門的項目組,擬對系統(tǒng)架構(gòu)進(jìn)行調(diào)整以提高系統(tǒng)并發(fā)處理能力。目前系統(tǒng)采用了傳統(tǒng)的三層結(jié)構(gòu),系統(tǒng)架構(gòu)如圖5-1所示。
圖5-1某社交網(wǎng)站系統(tǒng)架構(gòu)
【問題1】(10分)
針對目前出現(xiàn)的Web服務(wù)器負(fù)載過大問題,項目組決定在客戶端與中間層Web服務(wù)器之間引入負(fù)載均衡器,通過中間層Web服務(wù)器集群來提高Web請求的并發(fā)處理能力。在討論擬采用的負(fù)載均衡機(jī)制時,王工提出采用基于DNS的負(fù)載均衡機(jī)制,而李工則認(rèn)為應(yīng)采用基于反向代理的負(fù)載均衡機(jī)制,項目組經(jīng)過討論,最終確定采用李工提出的方案。請用200字以內(nèi)的文字,分別簡要說明兩個機(jī)制的基本原理;并從系統(tǒng)執(zhí)行效率、安全性及簡易性等方面將兩種機(jī)制進(jìn)行對比,將對比結(jié)果填入表5-1中。
【問題2】(7分)
針對并發(fā)數(shù)據(jù)庫訪問所帶來的磁盤I/O瓶頸問題,項目組決定在數(shù)據(jù)層引入數(shù)據(jù)庫擴(kuò)展機(jī)制。經(jīng)過調(diào)研得知系統(tǒng)數(shù)據(jù)庫中存儲的主要數(shù)據(jù)為以用戶標(biāo)識為索引的社交網(wǎng)絡(luò)數(shù)據(jù),且系統(tǒng)運(yùn)行時發(fā)生的大部分?jǐn)?shù)據(jù)庫操作為查詢操作。經(jīng)過討論,項目組決定引入數(shù)據(jù)庫分區(qū)和MySQL主從復(fù)制兩種擴(kuò)展機(jī)制。數(shù)據(jù)庫分區(qū)可采用水平分區(qū)和垂直分區(qū)兩種方式,請用350字以內(nèi)的文字說明在本系統(tǒng)中應(yīng)采用哪種方式及其原因,并分析引入主從復(fù)制機(jī)制給系統(tǒng)帶來的好處。
【問題3】(8分)
為進(jìn)一步提高數(shù)據(jù)庫訪問效率,項目組決定在中間層與數(shù)據(jù)層之間引入緩存機(jī)制。趙工開始提出可直接使用MySQL的查詢緩存(query cache)機(jī)制,但項目組經(jīng)過分析好友動態(tài)顯示等典型業(yè)務(wù)的操作需求,同時考慮已引入的數(shù)據(jù)庫擴(kuò)展機(jī)制,認(rèn)為查詢緩存尚不能很好地提升系統(tǒng)的查詢操作效率,項目組最終決定在中間層與數(shù)據(jù)層之間引入Memcached分布式緩存機(jī)制。
(a)請補(bǔ)充下述關(guān)于引入Memcached后系統(tǒng)訪問數(shù)據(jù)庫的基本過程:系統(tǒng)需要讀取后臺數(shù)據(jù)時,先檢查數(shù)據(jù)是否存在于(1)中,若存在則直接從其中讀取,若不存在則從(2)中讀取并保存在(3)中;當(dāng)(4)中數(shù)據(jù)發(fā)生更新時,需要將更新后的內(nèi)容同步到(5)實例中。(備選答案:數(shù)據(jù)庫、Memcacbed緩存)
(b)請結(jié)合已知信息從緩存架構(gòu)、緩存有效性及緩存數(shù)據(jù)類型等方面分析使用Memcached代替數(shù)據(jù)庫查詢緩存的原因。
軟考備考資料免費(fèi)領(lǐng)取
去領(lǐng)取