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