2010年下半年軟考系統(tǒng)架構設計師下午試題
【51CTO.com獨家特稿】2010年下半年全國軟考系統(tǒng)架構設計師考試在11月13日舉行,以下為系統(tǒng)架構設計師具體試題。
51CTO.com稍后將公布2010年下半年軟考試題和專家版答案、點評,敬請關注。51CTO軟考專區(qū): http://training.51cto.com/softexam/
試題一(共25分)
閱讀以下關于軟件系統(tǒng)架構選擇的說明,在答題紙上回答問題1至問題3。
【說明】
某公司欲針對Linux操作系統(tǒng)開發(fā)一個KWIC(Key Word in Context)檢索系統(tǒng)。該系統(tǒng)接收用戶輸入的查詢關鍵字,依據(jù)字母順序給出相關幫助文檔并根據(jù)幫助內(nèi)容進行循環(huán)滾動閱讀。在對KWIC系統(tǒng)進行需求分析時,公司的業(yè)務專家發(fā)現(xiàn)用戶后續(xù)還有可能采用其它方式展示幫助內(nèi)容。根據(jù)目前需求,公司的技術人員決定通過重復剪切幫助文檔中的第一個單詞并將其插入到行尾的方式實現(xiàn)幫助文檔內(nèi)容的循環(huán)滾動,后續(xù)還將采用其它的方法實現(xiàn)這一功能。
在對KWIC系統(tǒng)的架構進行設計時,公司的架構師王工提出采用共享數(shù)據(jù)的主程序-子程序的架構風格,而李工則主張采用管道-過濾器的架構風格。在架構評估會議上,大家從系統(tǒng)的算法變更、功能變更、數(shù)據(jù)表示變更和性能等方面對這兩種方案進行評價,最終采用了李工的方案。
[問題1](7分)
在實際的軟件項目開發(fā)中,采用恰當?shù)募軜嬶L格是項目成功的保證。請用200字以內(nèi)的文字說明什么是軟件架構風格,并對主程序-子程序和管道-過濾器這兩種架構風格的特點進行描述。
[問題2](12分)
請完成表1-1中的空白部分(用+表示優(yōu)、-表示差),對王工和李工提出的架構風格進行評價,并指出采用李工方案的原因。
[問題3](6分)
圖1-1是李工給出的架構設計示意圖,請將恰當?shù)墓δ苊枋鎏钊雸D中的(1)一(4)。
#p#
試題二(共25分)
閱讀以下關于軟件系統(tǒng)數(shù)據(jù)架構建模的說明,在答題紙上回答問題1至問題3。
[說明]
RMO是一家運動服裝制造銷售公司,計劃在五年時間內(nèi)將銷售區(qū)域從華南地區(qū)擴展至全國范圍。為了擴大信息技術對于未來業(yè)務發(fā)展的價值,公司邀請咨詢顧問幫助他們制訂戰(zhàn)略信息系統(tǒng)規(guī)劃。經(jīng)過評審,咨詢顧問給出的戰(zhàn)略規(guī)劃要點之一是建立客戶關系支持系統(tǒng)CRSS。RMO公司決定由其技術部成立專門的項目組負責CRSS的開發(fā)和維護工作。
項目組在仔細調(diào)研和分析系統(tǒng)需求的基礎上,確定了基于互聯(lián)網(wǎng)的CRSS系統(tǒng)架構。但在確定系統(tǒng)數(shù)據(jù)架構時,張工認為應該采用集中式的數(shù)據(jù)架構,給出的理由是結構簡單、易維護且開發(fā)及運行成本低;而劉工建議采用分布式的數(shù)據(jù)架構,并提出在開發(fā)中通過“局部數(shù)據(jù)庫+緩存”的讀寫分離結構實現(xiàn),具有較好的運行性能和可擴展性。
項目組經(jīng)過集體討論,考慮到公司的未來發(fā)展規(guī)劃,最終采用了劉工的建議。
[問題1](8分)
請用300字以內(nèi)的文字,說明張工和劉工提出的數(shù)據(jù)架構的基本思想。
[問題2](13分)
在劉工建議的基礎上,為了避免CRSS系統(tǒng)的單點故障,請用200字以內(nèi)文字簡要說明如何建立CRSS的數(shù)據(jù)庫系統(tǒng);對于數(shù)據(jù)的讀取、添加、更改和刪除操作分別如何實現(xiàn)。
[問題3](4分)
RMO公司銷售區(qū)域將在未來五年大面積擴展,其潛在客戶數(shù)量也會因此大幅度增加,所以良好的可擴展性是CRSS系統(tǒng)所必需的質(zhì)量屬性。請分別說明在集中式和分布式數(shù)據(jù)架構下,可以采用哪些方法提升系統(tǒng)的可擴展性。
#p#
試題三(共25分)
閱讀以下關于汽車電子基礎軟件架構的說明,在答題紙上回答問題1至問題3。
【說明】
某軟件公司承擔了某項國家重點項目的研制工作,任務重點是參考國外汽車電子發(fā)展趨勢,開發(fā)某汽車公司的企業(yè)汽車電子基礎軟件的架構,逐步實現(xiàn)汽車企業(yè)未來技術發(fā)展規(guī)劃。
該軟件公司接收此項任務后,調(diào)動全體技術人員深入收集國外相關技術資料,經(jīng)過多方調(diào)研和分析,公司提出遵照國際組織最新推出的AUTOSAR規(guī)范,按統(tǒng)籌規(guī)劃、分步驟實施的原則,實現(xiàn)汽車公司的基礎軟件架構設計。圖3-1給出了AUTOSAR規(guī)范所定義的工作包,圖中灰色部分代表本項目工作所包含的內(nèi)容,即軟件架構和基礎軟件。
[問題1](7分)
AUTOSAR規(guī)范中要求,汽車電子軟件開發(fā)流程應盡量滿足并發(fā)、可多次迭代的特性。為了定義汽車電子的軟件開發(fā)過程,公司李工和王工分別提出了兩種軟件開發(fā)流程,其開發(fā)流程見圖3-2和3-3(圖中ECU是指汽車電子中的電子控制單元)。請說明李工和王工誰定義的流程更符合AUTOSAR的規(guī)定,并說明理由。
[問題2](10分)
圖3-1中的II-1.1.1項中定義了軟件架構和操作系統(tǒng)的要求,圖3-4是滿足AUTOSAR定義的操作系統(tǒng)各功能模塊的層次結構,請說明(1)~(5)箭頭所標的具體操作含義。
[問題3](8分)
AUTOSAR是一種開放式架構,用150字以內(nèi)的文字,說明采用AUTOSAR架構的主要優(yōu)點,并說明汽車電子ECU覆蓋汽車的哪三個領域。
#p#
試題四(共25分)
閱讀以下關于系統(tǒng)設計與開發(fā)工具集成的說明,在答題紙上回答問題1至問題3。
【說明】
TeleDev是一個大型的電信軟件開發(fā)公司,公司內(nèi)部采用多種商業(yè)/開源的工具進行軟件系統(tǒng)設計與開發(fā)工作。為了提高系統(tǒng)開發(fā)效率,公司管理層決定開發(fā)一個分布式的系統(tǒng)設計與開發(fā)工具集成框架,將現(xiàn)有的系統(tǒng)設計與開發(fā)工具有效集成在一起。集成框架開發(fā)小組經(jīng)過廣泛調(diào)研,得到了如下核心需求:
(1)目前使用的系統(tǒng)設計與開發(fā)工具的運行平臺和開發(fā)語言差異較大,集成框架應無縫集成各個工具的功能;
(2)目前使用的系統(tǒng)設計與開發(fā)工具所支持的通信協(xié)議和數(shù)據(jù)格式各不相同,集成框架應實現(xiàn)工具之間的靈活通信和數(shù)據(jù)格式轉換;
(3)集成框架需要根據(jù)實際的開發(fā)流程靈活、動態(tài)地定義系統(tǒng)工具之間的協(xié)作關系;
(4)集成框架應能集成一些常用的第三方實用工具,如即時通信,郵件系統(tǒng)等。
集成框架開發(fā)小組經(jīng)過分析與討論,最終決定采用企業(yè)服務總線(ESB)作為集成框架的基礎架構。
[問題1](8分)
ESB是目前企業(yè)級應用集成常用的基礎架構。請列舉出ESB的4個主要功能,并從集成系統(tǒng)的部署方式、待集成系統(tǒng)之間的禍合程度、集成系統(tǒng)的可擴展性3個方面說明為何采用ESB作為集成框架的基礎架構。
[問題2](12分)
在ESB基礎架構的基礎上,請根據(jù)題干描述中的4個需求,說明每個需求應該采用何種具體的集成方式或架構風格最為合適。
[問題3](5分)
請指出在實現(xiàn)工具之間數(shù)據(jù)格式的靈活轉換時,通常采用的設計模式是什么,并對實現(xiàn)過程進行簡要描述。
#p#
試題五(共25分)
閱讀以下信息系統(tǒng)可靠性問題的說明,在答題紙上回答問題1至問題3。
【說明】
某軟件公司開發(fā)一項基于數(shù)據(jù)流的軟件,其系統(tǒng)的主要功能是對輸入數(shù)據(jù)進行多次分析、處理和加工,生成需要的輸出數(shù)據(jù)。需求方對該系統(tǒng)的軟件可靠性要求很高,要求系統(tǒng)能夠長時間無故障運行。該公司將該系統(tǒng)設計交給王工負責。王工給出該系統(tǒng)的模塊示意圖如圖5-1所示。王工解釋:只要各個模塊的可靠度足夠高,失效率足夠低,則整個軟件系統(tǒng)的可靠性是有保證的。
李工對王工的方案提出了異議。李工認為王工的說法有兩個問題:第一,即使每個模塊的可靠度足夠高,但是整個軟件系統(tǒng)模塊之間全部采用串聯(lián),則整個軟件系統(tǒng)的可靠度明顯下降。假設各個模塊的可靠度均為0.99則整個軟件系統(tǒng)的可靠度為0.994≈0.96:第二,軟件系統(tǒng)模塊全部采用串聯(lián)結構時,一旦某個模塊失效,則意味著整個軟件系統(tǒng)失效。
李工認為,應該在軟件系統(tǒng)中采用冗余技術中的動態(tài)冗余或者軟件容錯的N版本程序設計技術,對容易失效或者非常重要的模塊進行冗余設計,將模塊之間的串聯(lián)結構部分變?yōu)椴⒙?lián)結構,來提高整個軟件系統(tǒng)的可靠性。同時,李工給出了采用動態(tài)冗余技術后的軟件系統(tǒng)模塊示意圖,如圖5-2所示。
劉工建議,李工方案中M1和M4模塊沒有采用容錯設計,但MI和M4發(fā)生故障有可能導致嚴重后果。因此,可以在M1和M4模塊設計上采用檢錯技術,在軟件出現(xiàn)故障后能及時發(fā)現(xiàn)并報警,提醒維護人員進行處理。
注:假設各個模塊的可靠度均為0.99。
[問題1](4分)
在系統(tǒng)可靠性中,可靠度和失效率是兩個非常關鍵的指標,請分別解釋其含義。
[問題2](13分)
請解釋李工提出的動態(tài)冗余和N版本程序設計技術,給出圖5-1中模塊M2采用圖5-2動態(tài)冗余技術后的可靠度。
請給出采用李工設計方案后整個系統(tǒng)可靠度的計算方法,并計算結果。
[問題3](8分)
請給出檢錯技術的優(yōu)缺點,并說明檢測技術常見的實現(xiàn)方式和處理方式。
#p#
論文試題
試題一 論軟件的靜態(tài)演化和動態(tài)演化及其應用
軟件演化(Software Evolution)是指軟件在其生命周期內(nèi)的更新行為和過程。演化是一系列貫穿軟件生命周期始終的活動,系統(tǒng)需求改變、功能實現(xiàn)增強、新功能加入、軟件架構改變、軟件缺陷修復、運行環(huán)境改變均要求軟件系統(tǒng)能夠快速適應變化,具有較強的演化能力。軟件靜態(tài)演化(Static Evolution)和動態(tài)演化(Dynamic Evolution)是目前軟件演化的兩種重要類型。
請圍繞“軟件的靜態(tài)演化和動態(tài)演化及其應用”論題,依次從以下三個方面進行論述。
1.概要敘述你參與管理和開發(fā)的軟件項目以及你在其中所擔任的主要工作。
2.請分別對軟件靜態(tài)演化和動態(tài)演化的特點進行論述,說明兩種軟件演化類型各自的優(yōu)缺點及其應用場合,并舉例說明各自的常見演化技術手段。
3.具體闡述你參與管理和開發(fā)的項目中所進行的軟件演化活動的特點、演化的類型,以及所采取的對應演化技術手段,說明具體實施過程以及實際應用的效果。
試題二 論數(shù)據(jù)挖掘技術的應用
隨著信息技術的高速發(fā)展,各組織機構積累的數(shù)據(jù)量急劇增長。如何從海量的數(shù)據(jù)中提取有用的知識成為當務之急。數(shù)據(jù)挖掘(Data Mining)就是為順應這種需要應運而生發(fā)展起來的數(shù)據(jù)處理技術,是知識發(fā)現(xiàn)的關鍵步驟。數(shù)據(jù)挖掘就是從大量的、不完全的、有噪聲的、模糊的、隨機的實際應用數(shù)據(jù)中,提取隱含在其中的、人們事先不知道的、但又是潛在有用的信息和知識的過程。
請圍繞“論數(shù)據(jù)挖掘技術的應用”論題,依次對以下三個方面進行論述。
1.概要敘述你參與分析和開發(fā)的軟件項目以及你所擔任的主要工作。
2.數(shù)據(jù)挖掘的主要任務是什么?具體論述你在項目中使用數(shù)據(jù)挖掘技術所解決的問題。
3.數(shù)據(jù)挖掘的力一法主要有哪些?分析并討論你所選擇的數(shù)據(jù)挖掘方法,簡述其具體實現(xiàn)過程和實際應用效果。
#p#
試題三 論大規(guī)模分布式系統(tǒng)緩存設計策略
大規(guī)模分布式系統(tǒng)通常需要利用緩存技術減輕服務器負載、降低網(wǎng)絡擁塞、增強系統(tǒng)可擴展性。緩存技術的基本思想是將客戶最近經(jīng)常訪問的內(nèi)容在緩存服務器中存放一個副本,當該內(nèi)容下次被訪問時,不必建立新的數(shù)據(jù)請求,而是直接由緩存提供。良好的緩存設計,是一個大規(guī)模分布式系統(tǒng)能夠正常、高效運行的必要前提。在進行大規(guī)模分布式系統(tǒng)開發(fā)時,必須從一開始就針對應用需求和場景對系統(tǒng)的緩存機制進行全面考慮,設計一個可伸縮的系統(tǒng)緩存架構。
請圍繞“大規(guī)模分布式系統(tǒng)緩存設計策略”論題,依次從以下三個方面進行論述。
1.概要敘述你參與實施的大規(guī)模分布式系統(tǒng)開發(fā)項目以及你所擔任的主要工作。
2.從不同的用途和應用場景考慮,請詳細闡述至少兩種常見的緩存工作模式,并說明每種工作模式的適應場景。
3.闡述你在設計大規(guī)模分布式系統(tǒng)的緩存機制時遇到了哪些問題,如何解決。
#p#
試題四 論軟件可靠性評價
軟件可靠性評價是指選用和建立合適的可靠性數(shù)學模型,運用統(tǒng)計技術和其他手段,對軟件可靠性測試和系統(tǒng)運行期間的軟件失效數(shù)據(jù)(也可能包含軟件生命周期內(nèi)其他可靠性數(shù)據(jù))進行處理,并評估和預測軟件可靠性的過程。
軟件可靠性評價是軟件可靠性活動的重要組成部分,既可在軟件開發(fā)過程實施,也可針對最終軟件系統(tǒng)實施。軟件可靠性評價的難點在于軟件可靠性模型的選擇和軟件可靠性數(shù)據(jù)的收集與處理。
請圍繞“軟件可靠性評價”論題,依次從以下三個方面進行論述。
1.簡要概述你參與實施的軟件開發(fā)項目以及你承擔的主要工作。
2.說明你在項目實施過程中所選擇的軟件可靠性模型,并論述在軟件可靠性模型選擇時應該考慮的主要因素。
3.收集軟件可靠性數(shù)據(jù)時經(jīng)常遇到的問題有哪些?簡述你收集軟件可靠性數(shù)據(jù)時所遇到的具體問題及解決的方法。
【編輯推薦】
- 51CTO獨家:2010年下半年軟考系統(tǒng)架構設計師上午試題
- 51CTO獨家:2010年下半年軟考報道
- 51CTO獨家:2009年下半年軟考系統(tǒng)架構設計師下午試題
- 2009年下半年系統(tǒng)架構設計師試題分析
【責任編輯:落葉情思 TEL:(010)68476606】