摘要:以下為2012年系統(tǒng)架構(gòu)設(shè)計師考試案例分析真題,更多軟考真題答案與解析,請進入希賽網(wǎng)在線題庫查看。
以下為2012年系統(tǒng)架構(gòu)設(shè)計師考試案例分析真題:
>>>點此進入系統(tǒng)架構(gòu)設(shè)計師歷年真題下載
一、請詳細(xì)閱讀有關(guān)數(shù)據(jù)架構(gòu)方面的描述,回答問題1至問題3。
【說明】
某軟件公司欲開發(fā)一個基于Web 2.0的大型社交網(wǎng)絡(luò)系統(tǒng)。就該系統(tǒng)的數(shù)據(jù)架構(gòu)而言,李工決定采用公司熟悉的數(shù)據(jù)架構(gòu),使用通用的商用關(guān)系型數(shù)據(jù)庫,系統(tǒng)內(nèi)部數(shù)據(jù)采用中央集中方式存儲。
該系統(tǒng)投入使用后,初期用戶數(shù)量少,系統(tǒng)運行平穩(wěn)。6個月后,用戶數(shù)出現(xiàn)了爆炸式增長,系統(tǒng)暴露出諸多問題,集中表現(xiàn)在:
(1)用戶執(zhí)行讀寫操作時,響應(yīng)時間均變得很慢;
(2)隨著系統(tǒng)功能的擴充,原有數(shù)據(jù)格式發(fā)生變化,又出現(xiàn)新的數(shù)據(jù)格式,維護困難;
(3)數(shù)據(jù)容量很快超過系統(tǒng)原有的設(shè)計上限,數(shù)據(jù)庫擴容困難;
(4)軟件系統(tǒng)不斷出現(xiàn)宕機,整個系統(tǒng)可用性較差。
經(jīng)過多次會議討論,公司的王工建議采用NoSQL數(shù)據(jù)庫來替代關(guān)系數(shù)據(jù)庫,以解決上述問題。但李工指出NoSQL數(shù)據(jù)庫出現(xiàn)時間不長,在使用上可能存在風(fēng)險。公司技術(shù)人員對NoSQL數(shù)據(jù)庫產(chǎn)品進行了認(rèn)真測試,最終決定采用NoSQL數(shù)據(jù)庫來替代現(xiàn)有的數(shù)據(jù)庫系統(tǒng)。
【問題1】(11分)
分別解釋產(chǎn)生問題(1)~(4)的原因。
【問題2】(8分)
請針對問題(1)~(4),分別指出NoSQL數(shù)據(jù)庫的哪些特點促使公司最終采用了NoSQL數(shù)據(jù)庫。
【問題3】(6分)
請指出該系統(tǒng)采用NoSQL數(shù)據(jù)庫時可能存在的問題。
二、閱讀以下關(guān)于面向?qū)ο笙到y(tǒng)建模的敘述,在答題紙上回答問題1至問題3。
【說明】
某軟件企業(yè)為影音產(chǎn)品銷售公司W(wǎng)開發(fā)一套在線銷售系統(tǒng),以提升服務(wù)的質(zhì)量和效率。項目組經(jīng)過討論后決定采用面向?qū)ο蠓椒ㄩ_發(fā)該系統(tǒng)。在設(shè)計建模階段需要滿足以下設(shè)計要求:
(1)W公司經(jīng)常進行促銷活動。根據(jù)不同的條件(如訂單總額、商品數(shù)量、產(chǎn)品種類等),公司可以提供百分比折扣或現(xiàn)金減免等多種促銷方式供提交訂單的用戶選擇。實現(xiàn)每種促銷活動的代碼量很大,且會隨促銷策略不同經(jīng)常修改。系統(tǒng)設(shè)計中需要考慮現(xiàn)有的促銷和新的促銷,而不用經(jīng)常地重寫控制器類代碼。
(2)該在線銷售系統(tǒng)需要計算每個訂單的稅率,不同商品的稅率及計算方式會有所區(qū)別。所以W公司決定在系統(tǒng)中直接調(diào)用不同商品供應(yīng)商提供的稅率計算類,但每個供應(yīng)商的類提供了不同的調(diào)用方法。系統(tǒng)設(shè)計中需要考慮如果公司更換了供應(yīng)商,應(yīng)該盡可能少地在系統(tǒng)中修改或創(chuàng)建新類。
項目組架構(gòu)師決定采用設(shè)計模式來滿足上述設(shè)計要求,并確定從當(dāng)前已經(jīng)熟練掌握的設(shè)計模式中進行選擇,這些設(shè)計模式包括:適配器模式(Adapter)、構(gòu)造器模式(Builder)、命令模式(Command)、外觀模式(Facade)、中介模式(Mediator)、原型模式(Prototype)、代理模式(Proxy)、狀態(tài)模式(State)和策略模式(Strategy)等。
【問題1】(6分)
設(shè)計模式按照其應(yīng)用模式可以分為三類:創(chuàng)建型、結(jié)構(gòu)型和行為型,請用200字以內(nèi)文字說明三者的作用。
【問題2】(9分)
請將項目組已經(jīng)掌握的設(shè)計模式按照其作用分別歸類到創(chuàng)建型、結(jié)構(gòu)型和行為型模式中。
【問題3】(10分)
針對題目中所提出的設(shè)計要求(1)和(2),項目組應(yīng)該分別選擇何種設(shè)計模式?請分別用200字以內(nèi)文字說明具體的解決方案。
三、請詳細(xì)閱讀有關(guān)嵌入式軟件架構(gòu)設(shè)計方面的描述,回答問題1和問題2。
【說明】
在嵌入式系統(tǒng)中,軟件采用開放式架構(gòu)已成為新的發(fā)展趨勢。軟件架構(gòu)設(shè)計的優(yōu)劣將直接影響軟件的重用和移植能力。
某軟件公司主要從事宇航領(lǐng)域的嵌入式軟件研發(fā)工作。經(jīng)二十多年的發(fā)展,其軟件產(chǎn)品已被廣泛應(yīng)用于各種航天飛行器中。該公司積累了眾多成熟軟件,但由于當(dāng)初沒有充分考慮軟件的架構(gòu),原有軟件無法被再利用,為適應(yīng)嵌入式軟件技術(shù)發(fā)展需要,該公司決策層決定成立宇航嵌入式軟件開放式架構(gòu)研究小組,為公司完成開放式架構(gòu)的定義與設(shè)計,確保公司軟件資源能得到充分利用。
研究小組查閱了大量的國外資料和標(biāo)準(zhǔn),最終將研究重點集中在了SAE AS4893《通用開放式架構(gòu)(GOA)框架》標(biāo)準(zhǔn),圖3-1給出了GOA定義的架構(gòu)圖。
圖3-1 GOA開放式架構(gòu)
【問題1】(9分)
請用300字以內(nèi)的文字簡要說明開放式架構(gòu)的四個基本特點。
【問題2】(16分)
如圖3-1所示,GOA框架規(guī)定了軟件、硬件和接口的結(jié)構(gòu),以在不同應(yīng)用領(lǐng)域中實現(xiàn)系統(tǒng)功能。GOA框架規(guī)定了一組接口,其重要特點是建立了關(guān)鍵組件及組件間接口關(guān)系,這些接口的確定可用于支持軟件的可移植性和可升級性,以滿足功能的增加和技術(shù)的更新要求。除操作系統(tǒng)服務(wù)與擴展操作系統(tǒng)之間的接口(3X)外,GOA將其它接口分為兩類:即直接接口(iD(i=1,2,3,…))和邏輯接口(iL(i=1,2,3,…)),直接接口定義了信息傳輸方式;邏輯接口定義了對等數(shù)據(jù)交換的要求,邏輯接口沒有定義真正的信息傳輸方式,其傳輸發(fā)生在一個或多個直接接口。根據(jù)圖3-1所標(biāo)注的接口在框架中的具體位置,請?zhí)顚懕?-1的(1)~(8)處空白。
表3-1 GOA中的接口與功能
四、閱讀以下關(guān)于分布式系統(tǒng)設(shè)計的說明,在答題紙上回答問題1至問題3。
【說明】
某軟件公司擬開發(fā)一套電信領(lǐng)域的分布式系統(tǒng),該系統(tǒng)后臺多個功能模塊同時運行時的計算負(fù)載較大,且需要控制不同的特定電信硬件設(shè)備,由于硬件體積和I/O端口沖突等原因,這些設(shè)備需要分散安裝在多個不同計算機系統(tǒng)中。該系統(tǒng)上線運行后將為企業(yè)最終用戶提供7×24小時的不間斷服務(wù),而用戶的單次接入服務(wù)往往需要后臺多個模塊共同協(xié)作完成?;谏鲜鲈颍撓到y(tǒng)后臺軟件模塊需分布在局域網(wǎng)內(nèi)的多臺計算機上。
項目組決定基于ISO的開放分布進程(ODP)規(guī)范來進行系統(tǒng)架構(gòu)的設(shè)計與開發(fā),近期項目組召開了多次會議,對架構(gòu)設(shè)計階段的關(guān)鍵問題進行了討論分析。
【問題1】(10分)
ODP從5個標(biāo)準(zhǔn)的視點組織分析系統(tǒng)的架構(gòu),這些視點描述了同一系統(tǒng)的不同重要方面,請根據(jù)圖2-1中不同視點所關(guān)注的核心內(nèi)容,將備選的架構(gòu)視點填入圖中的(1)~(5)。
圖2-1 ODP架構(gòu)視點示意圖
備選答案:技術(shù)選擇架構(gòu)、企業(yè)業(yè)務(wù)架構(gòu)、分布式工程架構(gòu)、計算接口架構(gòu)、邏輯信息架構(gòu)
【問題2】(9分)
在技術(shù)選擇架構(gòu)規(guī)劃時,王工認(rèn)為系統(tǒng)應(yīng)基于現(xiàn)有分布式基礎(chǔ)設(shè)施(分布式中間件)來構(gòu)建,因為這樣可以充分利用現(xiàn)有基礎(chǔ)設(shè)施提供的各種支撐,在更短時間內(nèi)構(gòu)造出質(zhì)量更高的分布式系統(tǒng);而李工則認(rèn)為可基于基本的進程間通信機制自主開發(fā)系統(tǒng)的支撐平臺,這樣可以避免對特定中間件的依賴,項目組經(jīng)過認(rèn)真討論,最終采用了王工的方案。請用400字以內(nèi)文字,從構(gòu)件管理支持、互操作支持以及公共服務(wù)支持三個方面說明現(xiàn)有分布式基礎(chǔ)設(shè)施為構(gòu)建分布式系統(tǒng)所提供的基本支撐。
【問題3】(6分)
由于系統(tǒng)后臺模塊的分布式特性,后臺分布式對象之間的互操作機制是需要考慮的核心問題之一。圖2-2所示是當(dāng)前分布式基礎(chǔ)設(shè)施中支持分布式對象互操作的基本機制,請將相應(yīng)部件名稱填入圖中(1)~(2);基于圖2-2給出的結(jié)構(gòu),用300字以內(nèi)文字說明完成一次分布式對象調(diào)用的詳細(xì)步驟。
圖2-2分布式對象互操作基本機制
【問題3】
(1)存根/樁
(2)框架
或
(1)代理
(2)存根
一次遠(yuǎn)程調(diào)用的過程如下:
①客戶程序?qū)⒄{(diào)用請求發(fā)送給客戶端樁,對于客戶程序來說,樁就是服務(wù)程序在客戶端的代理。
②客戶端樁負(fù)責(zé)將遠(yuǎn)程調(diào)用請求進行編組并發(fā)送給通信總線。
③調(diào)用請求經(jīng)通信總線傳送到服務(wù)端框架。
④服務(wù)端框架將調(diào)用請求解組并分派給真正的遠(yuǎn)程對象實現(xiàn)(服務(wù)程序)。
⑤服務(wù)程序完成客戶端的調(diào)用請求,將結(jié)果返回給服務(wù)端框架。
⑥服務(wù)端框架將調(diào)用結(jié)果編組并發(fā)送給通信總線。
⑦調(diào)用結(jié)果經(jīng)通信總線傳送到客戶端樁。
⑧客戶端樁將調(diào)用結(jié)果解組并返回給客戶程序,客戶程序得到調(diào)用結(jié)果。
五、閱讀以下關(guān)于軟件架構(gòu)風(fēng)格的說明,在答題紙上回答問題1和問題2。
【說明】
某軟件公司為其新推出的字處理軟件設(shè)計了一種腳本語言,專門用于開發(fā)該字處理軟件的附加功能插件。為了提高該語言的編程效率,公司組織軟件工具開發(fā)部門為腳本語言研制一套集成開發(fā)環(huán)境。軟件工具開發(fā)部門根據(jù)字處理軟件的特點,對集成開發(fā)環(huán)境進行了需求分析,總結(jié)出以下3項核心需求:
(1)集成開發(fā)環(huán)境需要提供對腳本語言的編輯、語法檢查、解釋、執(zhí)行和調(diào)試等功能的支持,并要實現(xiàn)各種功能的靈活組合、配置與替換。
(2)集成開發(fā)環(huán)境需要提供一組可視化的編程界面,用戶通過對界面元素拖拽和代碼填充的方式就可以完成功能插件核心業(yè)務(wù)流程的編寫與組織。
(3)在代碼調(diào)試功能方面,集成開發(fā)環(huán)境需要實現(xiàn)在腳本語言編輯界面中的代碼自動定位功能。具體來說,在調(diào)試過程中,編輯界面需要響應(yīng)調(diào)試斷點命中事件,并自動跳轉(zhuǎn)到當(dāng)前斷點處所對應(yīng)的代碼。
針對上述需求,軟件工具開發(fā)部門對集成開發(fā)環(huán)境的架構(gòu)進行分析與設(shè)計,王工認(rèn)為該集成開發(fā)環(huán)境應(yīng)該采用管道-過濾器的架構(gòu)風(fēng)格實現(xiàn),李工則認(rèn)為該集成開發(fā)環(huán)境應(yīng)該采用以數(shù)據(jù)存儲為中心的架構(gòu)風(fēng)格來實現(xiàn)。公司組織專家對王工和李工的方案進行了評審,最終采用了李工的方案。
【問題1】(12分)
請用200字以內(nèi)的文字解釋什么是軟件架構(gòu)風(fēng)格,并從集成開發(fā)環(huán)境與用戶的交互方式、集成開發(fā)環(huán)境的擴展性、集成開發(fā)環(huán)境的數(shù)據(jù)管理三個方面說明為什么最終采用了李工的設(shè)計方案。
【問題2】(13分)
在對軟件系統(tǒng)架構(gòu)進行設(shè)計時,要對架構(gòu)需求進行分析,針對特定需求選擇最為合適的架構(gòu)風(fēng)格,因此實際的軟件系統(tǒng)通常會混合多種軟件架構(gòu)風(fēng)格。請對核心需求進行分析,說明為了滿足需求(2)和(3),分別應(yīng)采用何種架構(gòu)風(fēng)格,并概要說明采用相應(yīng)架構(gòu)風(fēng)格后的架構(gòu)設(shè)計過程。
軟考備考資料免費領(lǐng)取
去領(lǐng)取