2012年系統(tǒng)架構(gòu)設(shè)計(jì)師考試真題(案例分析)

系統(tǒng)架構(gòu)設(shè)計(jì)師 責(zé)任編輯:木木 2017-05-05

添加老師微信

備考咨詢

加我微信

摘要:以下為2012年系統(tǒng)架構(gòu)設(shè)計(jì)師考試案例分析真題,更多軟考真題答案與解析,請(qǐng)進(jìn)入希賽網(wǎng)在線題庫查看。

以下為2012年系統(tǒng)架構(gòu)設(shè)計(jì)師考試案例分析真題:

>>>點(diǎn)此進(jìn)入系統(tǒng)架構(gòu)設(shè)計(jì)師歷年真題下載

一、請(qǐng)?jiān)敿?xì)閱讀有關(guān)數(shù)據(jù)架構(gòu)方面的描述,回答問題1至問題3。

【說明】

某軟件公司欲開發(fā)一個(gè)基于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ù)采用中央集中方式存儲(chǔ)。

該系統(tǒng)投入使用后,初期用戶數(shù)量少,系統(tǒng)運(yùn)行平穩(wěn)。6個(gè)月后,用戶數(shù)出現(xiàn)了爆炸式增長,系統(tǒng)暴露出諸多問題,集中表現(xiàn)在:

(1)用戶執(zhí)行讀寫操作時(shí),響應(yīng)時(shí)間均變得很慢;

(2)隨著系統(tǒng)功能的擴(kuò)充,原有數(shù)據(jù)格式發(fā)生變化,又出現(xiàn)新的數(shù)據(jù)格式,維護(hù)困難;

(3)數(shù)據(jù)容量很快超過系統(tǒng)原有的設(shè)計(jì)上限,數(shù)據(jù)庫擴(kuò)容困難;

(4)軟件系統(tǒng)不斷出現(xiàn)宕機(jī),整個(gè)系統(tǒng)可用性較差。

經(jīng)過多次會(huì)議討論,公司的王工建議采用NoSQL數(shù)據(jù)庫來替代關(guān)系數(shù)據(jù)庫,以解決上述問題。但李工指出NoSQL數(shù)據(jù)庫出現(xiàn)時(shí)間不長,在使用上可能存在風(fēng)險(xiǎn)。公司技術(shù)人員對(duì)NoSQL數(shù)據(jù)庫產(chǎn)品進(jìn)行了認(rèn)真測試,最終決定采用NoSQL數(shù)據(jù)庫來替代現(xiàn)有的數(shù)據(jù)庫系統(tǒng)。

【問題1】(11分)

分別解釋產(chǎn)生問題(1)~(4)的原因。

【問題2】(8分)

請(qǐng)針對(duì)問題(1)~(4),分別指出NoSQL數(shù)據(jù)庫的哪些特點(diǎn)促使公司最終采用了NoSQL數(shù)據(jù)庫。

【問題3】(6分)

請(qǐng)指出該系統(tǒng)采用NoSQL數(shù)據(jù)庫時(shí)可能存在的問題。

二、閱讀以下關(guān)于面向?qū)ο笙到y(tǒng)建模的敘述,在答題紙上回答問題1至問題3。

【說明】

某軟件企業(yè)為影音產(chǎn)品銷售公司W(wǎng)開發(fā)一套在線銷售系統(tǒng),以提升服務(wù)的質(zhì)量和效率。項(xiàng)目組經(jīng)過討論后決定采用面向?qū)ο蠓椒ㄩ_發(fā)該系統(tǒng)。在設(shè)計(jì)建模階段需要滿足以下設(shè)計(jì)要求:

(1)W公司經(jīng)常進(jìn)行促銷活動(dòng)。根據(jù)不同的條件(如訂單總額、商品數(shù)量、產(chǎn)品種類等),公司可以提供百分比折扣或現(xiàn)金減免等多種促銷方式供提交訂單的用戶選擇。實(shí)現(xiàn)每種促銷活動(dòng)的代碼量很大,且會(huì)隨促銷策略不同經(jīng)常修改。系統(tǒng)設(shè)計(jì)中需要考慮現(xiàn)有的促銷和新的促銷,而不用經(jīng)常地重寫控制器類代碼。

(2)該在線銷售系統(tǒng)需要計(jì)算每個(gè)訂單的稅率,不同商品的稅率及計(jì)算方式會(huì)有所區(qū)別。所以W公司決定在系統(tǒng)中直接調(diào)用不同商品供應(yīng)商提供的稅率計(jì)算類,但每個(gè)供應(yīng)商的類提供了不同的調(diào)用方法。系統(tǒng)設(shè)計(jì)中需要考慮如果公司更換了供應(yīng)商,應(yīng)該盡可能少地在系統(tǒng)中修改或創(chuàng)建新類。

項(xiàng)目組架構(gòu)師決定采用設(shè)計(jì)模式來滿足上述設(shè)計(jì)要求,并確定從當(dāng)前已經(jīng)熟練掌握的設(shè)計(jì)模式中進(jìn)行選擇,這些設(shè)計(jì)模式包括:適配器模式(Adapter)、構(gòu)造器模式(Builder)、命令模式(Command)、外觀模式(Facade)、中介模式(Mediator)、原型模式(Prototype)、代理模式(Proxy)、狀態(tài)模式(State)和策略模式(Strategy)等。

【問題1】(6分)

設(shè)計(jì)模式按照其應(yīng)用模式可以分為三類:創(chuàng)建型、結(jié)構(gòu)型和行為型,請(qǐng)用200字以內(nèi)文字說明三者的作用。

【問題2】(9分)

請(qǐng)將項(xiàng)目組已經(jīng)掌握的設(shè)計(jì)模式按照其作用分別歸類到創(chuàng)建型、結(jié)構(gòu)型和行為型模式中。

【問題3】(10分)

針對(duì)題目中所提出的設(shè)計(jì)要求(1)和(2),項(xiàng)目組應(yīng)該分別選擇何種設(shè)計(jì)模式?請(qǐng)分別用200字以內(nèi)文字說明具體的解決方案。

三、請(qǐng)?jiān)敿?xì)閱讀有關(guān)嵌入式軟件架構(gòu)設(shè)計(jì)方面的描述,回答問題1和問題2。

【說明】

在嵌入式系統(tǒng)中,軟件采用開放式架構(gòu)已成為新的發(fā)展趨勢。軟件架構(gòu)設(shè)計(jì)的優(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è)計(jì),確保公司軟件資源能得到充分利用。

研究小組查閱了大量的國外資料和標(biāo)準(zhǔn),最終將研究重點(diǎn)集中在了SAE AS4893《通用開放式架構(gòu)(GOA)框架》標(biāo)準(zhǔn),圖3-1給出了GOA定義的架構(gòu)圖。

架構(gòu)12下3-1.png

圖3-1 GOA開放式架構(gòu)

【問題1】(9分)

請(qǐng)用300字以內(nèi)的文字簡要說明開放式架構(gòu)的四個(gè)基本特點(diǎn)。

【問題2】(16分)

如圖3-1所示,GOA框架規(guī)定了軟件、硬件和接口的結(jié)構(gòu),以在不同應(yīng)用領(lǐng)域中實(shí)現(xiàn)系統(tǒng)功能。GOA框架規(guī)定了一組接口,其重要特點(diǎn)是建立了關(guān)鍵組件及組件間接口關(guān)系,這些接口的確定可用于支持軟件的可移植性和可升級(jí)性,以滿足功能的增加和技術(shù)的更新要求。除操作系統(tǒng)服務(wù)與擴(kuò)展操作系統(tǒng)之間的接口(3X)外,GOA將其它接口分為兩類:即直接接口(iD(i=1,2,3,…))和邏輯接口(iL(i=1,2,3,…)),直接接口定義了信息傳輸方式;邏輯接口定義了對(duì)等數(shù)據(jù)交換的要求,邏輯接口沒有定義真正的信息傳輸方式,其傳輸發(fā)生在一個(gè)或多個(gè)直接接口。根據(jù)圖3-1所標(biāo)注的接口在框架中的具體位置,請(qǐng)?zhí)顚懕?-1的(1)~(8)處空白。

表3-1 GOA中的接口與功能

架構(gòu)2012下3-2.png

四、閱讀以下關(guān)于分布式系統(tǒng)設(shè)計(jì)的說明,在答題紙上回答問題1至問題3。

【說明】

某軟件公司擬開發(fā)一套電信領(lǐng)域的分布式系統(tǒng),該系統(tǒng)后臺(tái)多個(gè)功能模塊同時(shí)運(yùn)行時(shí)的計(jì)算負(fù)載較大,且需要控制不同的特定電信硬件設(shè)備,由于硬件體積和I/O端口沖突等原因,這些設(shè)備需要分散安裝在多個(gè)不同計(jì)算機(jī)系統(tǒng)中。該系統(tǒng)上線運(yùn)行后將為企業(yè)最終用戶提供7×24小時(shí)的不間斷服務(wù),而用戶的單次接入服務(wù)往往需要后臺(tái)多個(gè)模塊共同協(xié)作完成?;谏鲜鲈?,該系統(tǒng)后臺(tái)軟件模塊需分布在局域網(wǎng)內(nèi)的多臺(tái)計(jì)算機(jī)上。

項(xiàng)目組決定基于ISO的開放分布進(jìn)程(ODP)規(guī)范來進(jìn)行系統(tǒng)架構(gòu)的設(shè)計(jì)與開發(fā),近期項(xiàng)目組召開了多次會(huì)議,對(duì)架構(gòu)設(shè)計(jì)階段的關(guān)鍵問題進(jìn)行了討論分析。

【問題1】(10分)

ODP從5個(gè)標(biāo)準(zhǔn)的視點(diǎn)組織分析系統(tǒng)的架構(gòu),這些視點(diǎn)描述了同一系統(tǒng)的不同重要方面,請(qǐng)根據(jù)圖2-1中不同視點(diǎn)所關(guān)注的核心內(nèi)容,將備選的架構(gòu)視點(diǎn)填入圖中的(1)~(5)。

架構(gòu)12下4-1.png

圖2-1 ODP架構(gòu)視點(diǎn)示意圖

備選答案:技術(shù)選擇架構(gòu)、企業(yè)業(yè)務(wù)架構(gòu)、分布式工程架構(gòu)、計(jì)算接口架構(gòu)、邏輯信息架構(gòu)

【問題2】(9分)

在技術(shù)選擇架構(gòu)規(guī)劃時(shí),王工認(rèn)為系統(tǒng)應(yīng)基于現(xiàn)有分布式基礎(chǔ)設(shè)施(分布式中間件)來構(gòu)建,因?yàn)檫@樣可以充分利用現(xiàn)有基礎(chǔ)設(shè)施提供的各種支撐,在更短時(shí)間內(nèi)構(gòu)造出質(zhì)量更高的分布式系統(tǒng);而李工則認(rèn)為可基于基本的進(jìn)程間通信機(jī)制自主開發(fā)系統(tǒng)的支撐平臺(tái),這樣可以避免對(duì)特定中間件的依賴,項(xiàng)目組經(jīng)過認(rèn)真討論,最終采用了王工的方案。請(qǐng)用400字以內(nèi)文字,從構(gòu)件管理支持、互操作支持以及公共服務(wù)支持三個(gè)方面說明現(xiàn)有分布式基礎(chǔ)設(shè)施為構(gòu)建分布式系統(tǒng)所提供的基本支撐。

【問題3】(6分)

由于系統(tǒng)后臺(tái)模塊的分布式特性,后臺(tái)分布式對(duì)象之間的互操作機(jī)制是需要考慮的核心問題之一。圖2-2所示是當(dāng)前分布式基礎(chǔ)設(shè)施中支持分布式對(duì)象互操作的基本機(jī)制,請(qǐng)將相應(yīng)部件名稱填入圖中(1)~(2);基于圖2-2給出的結(jié)構(gòu),用300字以內(nèi)文字說明完成一次分布式對(duì)象調(diào)用的詳細(xì)步驟。

架構(gòu)12下4-2.png

圖2-2分布式對(duì)象互操作基本機(jī)制

【問題3】

(1)存根/樁

(2)框架

(1)代理

(2)存根

一次遠(yuǎn)程調(diào)用的過程如下:

①客戶程序?qū)⒄{(diào)用請(qǐng)求發(fā)送給客戶端樁,對(duì)于客戶程序來說,樁就是服務(wù)程序在客戶端的代理。

②客戶端樁負(fù)責(zé)將遠(yuǎn)程調(diào)用請(qǐng)求進(jìn)行編組并發(fā)送給通信總線。

③調(diào)用請(qǐng)求經(jīng)通信總線傳送到服務(wù)端框架。

④服務(wù)端框架將調(diào)用請(qǐng)求解組并分派給真正的遠(yuǎn)程對(duì)象實(shí)現(xiàn)(服務(wù)程序)。

⑤服務(wù)程序完成客戶端的調(diào)用請(qǐng)求,將結(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è)計(jì)了一種腳本語言,專門用于開發(fā)該字處理軟件的附加功能插件。為了提高該語言的編程效率,公司組織軟件工具開發(fā)部門為腳本語言研制一套集成開發(fā)環(huán)境。軟件工具開發(fā)部門根據(jù)字處理軟件的特點(diǎn),對(duì)集成開發(fā)環(huán)境進(jìn)行了需求分析,總結(jié)出以下3項(xiàng)核心需求:

(1)集成開發(fā)環(huán)境需要提供對(duì)腳本語言的編輯、語法檢查、解釋、執(zhí)行和調(diào)試等功能的支持,并要實(shí)現(xiàn)各種功能的靈活組合、配置與替換。

(2)集成開發(fā)環(huán)境需要提供一組可視化的編程界面,用戶通過對(duì)界面元素拖拽和代碼填充的方式就可以完成功能插件核心業(yè)務(wù)流程的編寫與組織。

(3)在代碼調(diào)試功能方面,集成開發(fā)環(huán)境需要實(shí)現(xiàn)在腳本語言編輯界面中的代碼自動(dòng)定位功能。具體來說,在調(diào)試過程中,編輯界面需要響應(yīng)調(diào)試斷點(diǎn)命中事件,并自動(dòng)跳轉(zhuǎn)到當(dāng)前斷點(diǎn)處所對(duì)應(yīng)的代碼。

針對(duì)上述需求,軟件工具開發(fā)部門對(duì)集成開發(fā)環(huán)境的架構(gòu)進(jìn)行分析與設(shè)計(jì),王工認(rèn)為該集成開發(fā)環(huán)境應(yīng)該采用管道-過濾器的架構(gòu)風(fēng)格實(shí)現(xiàn),李工則認(rèn)為該集成開發(fā)環(huán)境應(yīng)該采用以數(shù)據(jù)存儲(chǔ)為中心的架構(gòu)風(fēng)格來實(shí)現(xiàn)。公司組織專家對(duì)王工和李工的方案進(jìn)行了評(píng)審,最終采用了李工的方案。

【問題1】(12分)

請(qǐng)用200字以內(nèi)的文字解釋什么是軟件架構(gòu)風(fēng)格,并從集成開發(fā)環(huán)境與用戶的交互方式、集成開發(fā)環(huán)境的擴(kuò)展性、集成開發(fā)環(huán)境的數(shù)據(jù)管理三個(gè)方面說明為什么最終采用了李工的設(shè)計(jì)方案。

【問題2】(13分)

在對(duì)軟件系統(tǒng)架構(gòu)進(jìn)行設(shè)計(jì)時(shí),要對(duì)架構(gòu)需求進(jìn)行分析,針對(duì)特定需求選擇最為合適的架構(gòu)風(fēng)格,因此實(shí)際的軟件系統(tǒng)通常會(huì)混合多種軟件架構(gòu)風(fēng)格。請(qǐng)對(duì)核心需求進(jìn)行分析,說明為了滿足需求(2)和(3),分別應(yīng)采用何種架構(gòu)風(fēng)格,并概要說明采用相應(yīng)架構(gòu)風(fēng)格后的架構(gòu)設(shè)計(jì)過程。

更多資料
更多課程
更多真題
溫馨提示:因考試政策、內(nèi)容不斷變化與調(diào)整,本網(wǎng)站提供的以上信息僅供參考,如有異議,請(qǐng)考生以權(quán)威部門公布的內(nèi)容為準(zhǔn)!

軟考備考資料免費(fèi)領(lǐng)取

去領(lǐng)取

!
咨詢?cè)诰€老師!