系統架構設計師 歷年真題 2013年系統架構設計師下午試題(二)_第1頁
系統架構設計師 歷年真題 2013年系統架構設計師下午試題(二)_第2頁
系統架構設計師 歷年真題 2013年系統架構設計師下午試題(二)_第3頁
系統架構設計師 歷年真題 2013年系統架構設計師下午試題(二)_第4頁
系統架構設計師 歷年真題 2013年系統架構設計師下午試題(二)_第5頁
已閱讀5頁,還剩1頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

2013年系統架構設計師下午試題(二)

【簡答題】

論分布式存儲系統架構設計分布式存儲系統(DistributedStorageSystem)通常將數據分散存儲在多臺獨立的設備上。傳統的網絡存儲系統采用集中的存儲服務器存放所有數據,存儲服務器成為系統性能的瓶頸,也是可靠性和安全性的焦點,不能滿足大規模存儲應用的需要。分布式存儲系統采用可擴展的系統結構,利用多臺存儲服務器分擔存儲負荷,利用位置服務器定位存儲信息,它不但提高了系統的可靠性、可用性和存取效率,還易于擴展。請圍繞“分布式存儲系統架構設計”論題,依次從以下三個方面進行論述。

1.概要敘述你參與分析和開發的分布式存儲系統項目以及你所承擔的主要工作。2.簡要說明在分布式存儲系統架構設計中所使用的分布式存儲技術及其實現機制,詳細敘述你在具體項目中選用了哪種分布式存儲技術,說明其原因和實施效果。3.冗余是提高分布式存儲系統可靠性的主要方法,通常在分布式存儲系統設計中可采用哪些冗余技術來提升系統的可靠性?你在具體項目中選用了哪種冗余技術?說明其原因和實施效果。

1、

答案:

解析:

在分布式存儲系統架構設計中所使用的分布式存儲技術主要包括四類:

集群存儲技術。集群存儲系統是指架構在一個可擴充服務器集群中的文件系統,用戶不需要考慮文件是存儲在集群中什么位置,僅僅需要使用統一的界面就可以訪問文件資源。當負載增加時,只需在服務器集群中增加新的服務器就可以提高文件系統的性能。集群存儲系統能夠保留傳統的文件存儲系統的語義,增加了集群存儲系統必須的機制,可以向用戶提供高可靠性、高性能、可擴充的文件存儲服務。

分布式文件系統。分布式文件系統是指文件系統管理的物理存儲資源不一定直接連接在本地節點上,而是通過計算機網絡與節點相連。分布式文件系統的設計基于客戶機/服務器模式。一個典型的網絡可能包括多個供多用戶訪問的服務器。另外,對等特性允許一些系統扮演客戶機和服務器的雙重角色。分布式文件系統以透明方式鏈接文件服務器和共享文件夾,然后將其映射到單個層次結構,以便可以從一個位置對其進行訪問,而實際上數據卻分布在不同的位置。用戶不必再轉至網絡上的多個位置以查找所需的信息。

網絡存儲技術。網絡存儲系統就是將“存儲”和“網絡”結合起來,通過網絡連接各存儲設備,實現存儲設備之間、存儲設備和服務器之間的數據在網絡上的高性能傳輸。為了充分利用資源,減少投資,存儲作為構成計算機系統的主要架構之一,就不再僅僅擔負附加設備的角色,逐步成為獨立的系統。利用網絡將此獨立的系統和傳統的用戶設備連接,使其以高速、穩定的數據存儲單元存在。用戶可以方便地使用瀏覽器等客戶端進行訪問和管理。

P2P網絡存儲技術。P2P網絡存儲技術的應用使得內容不是存在幾個主要的服務器上,而是存在所有用戶的個人電腦上。這就為網絡存儲提供了可能性,可以將網絡中的剩余存儲空間利用起來,實現網絡存儲。人們對存儲容量的需求是無止境的,提高存儲能力的方法有更換能力更強的存儲器,另外就是把多個存儲器用某種方式連接在一起,實現網絡并行存儲。相對于現有的網絡存儲系統而言,應用P2P技術將會有更大的優勢。P2P技術的主體就是網絡中Peer,也就是各個客戶機,數量是很大的,這些客戶機的空閑存儲空間是很多的,把這些空間利用起來實現網絡存儲。冗余是提高分布式存儲系統可靠性的主要方法,冗余的存儲結構可以保證部分服務器失效時,數據服務仍可正常訪問。<spanstyle="caret-color:red;">常用的冗余技術包括:數據備份,數據分割,門限方案,糾錯編碼和糾刪編碼等。考生根據所參與的實際項目指出采用了何種冗余技術,并說明其原因和實施效果。</span>

【簡答題】

論軟件架構建模技術與應用軟件架構用來處理軟件高層次結構的設計和實施,它以精心選擇的形式將若干結構元素進行裝配,從而滿足系統的主要功能和性能需求。軟件架構設計的首要問題是如何表示軟件架構,即如何對軟件架構建模。根據建模的側重點不同,可以將軟件架構模型分為結構模型、框架模型、動態模型、過程模型和功能模型。Kruchten在1995年提出了“4+1”視圖模型,將5種模型有機地統一在一起。請圍繞“軟件架構建模技術與應用”論題,依次從以下三個方面進行論述。

1.概要敘述你參與管理和開發的軟件項目以及你在其中所承擔的主要工作。

2.簡要敘述“4+1”視圖模型的主要內容。結合你參與項目的實際情況,詳細說明該項目需求及所涉及的軟件架構(包括使用到的視圖模型、創建的架構模型及使用的建模工具等)。

3.說明該項目軟件架構的實施效果,分析其是否滿足了項目的需求并說明原因。

1、

答案:

解析:

“4+1”視圖模型從5個不同的視角來描述軟件架構,每個視圖只關心系統的一個側面,所有視圖結合在一起才能反映系統的軟件結構的全部內容。這5個不同的視角包括邏輯視圖、開發視圖、進程視圖、物理視圖和場景。

1.邏輯視圖。邏輯視圖主要支持系統的功能需求,即系統提供給最終用戶的服務。在邏輯視圖中,系統分解成一系列的功能抽象,這些抽象主要來自問題領域。在OO技術中,通過抽象、封裝和繼承,可以用對象模型來代表邏輯視圖,用類圖來描述邏輯視圖。

2.開發視圖。開發視圖也稱為模塊視圖,在UML中被稱為實現視圖,它主要側重于軟件模塊的組織和管理。開發視圖要考慮軟件內部的需求。

3.進程視圖。進程視圖側重于系統的運行特性,主要關注一些非功能性需求。進程視圖強調并發性、分布性、系統集成性和容錯能力,以及邏輯視圖中的功能抽象如何適應進程結構等,它也定義了邏輯視圖中的各個類的操作具體是在哪一個線程中被執行。進程視圖可以描述成多層抽象,每個級別分別關注不同的方面。

4.物理視圖。物理視圖在UML中被稱為部署視圖,主要考慮如何把軟件映射到硬件上,它通常要考慮到解決系統拓撲結構、系統安裝和通信等問題。

5.場景。場景可以看作是那些重要系統活動的抽象,它使4個視圖有機聯系起來。場景對應UML中的用例視圖。結合實際項目,詳細說明項目軟件架構的內容。這部分內容應包括:在設計軟件架構時,分別使用了“4+1”視圖中的哪些視圖,每個視圖中包含的模型有哪些,各采用什么建模工具等。說明該項目軟件架構的實施效果,分析其是否滿足了項目的需求并說明原因。

【簡答題】

論企業應用系統的分層架構風格軟件架構風格是描述一類特定應用領域中系統組織方式的慣用模式,反映了領域中諸多系統所共有的結構特征和語義特征,并指導如何將各個模塊和子系統有效組織成一個完整的系統。分層架構是一種常見的軟件架構風格,能夠有效簡化設計,使得設計的系統結構清晰,便于提高復用能力和產品維護能力。由于大量企業應用系統都由界面呈現、業務邏輯、數據存儲三類功能構成,因此廣泛采用分層架構風格進行系統設計。請圍繞“企業應用系統的分層架構風格”論題,依次從以下三個方面進行論述。

1.概要敘述你參與管理和開發的企業應用系統建設項目以及你在其中所承擔的主要工作。2.請結合項目實際情況,指出應用系統都有哪些層次以及每個層次的主要功能。3.請結合項目實際情況,指出設計每個層次時需要注意的問題及相應的解決方案。

1、

答案:

解析:

考生需要結合項目實際情況指出所開發的應用系統的總體架構,特別是架構的層次關系。分層架構設計是一種常見的架構設計方法,能夠有效簡化設計,使設計的系統結構清晰,便于提高復用能力和產品維護能力。一般來說,架構可以分為表現層、中間層和持久層三個層次。

(1)表現層。表現層主要負責接收用戶的請求,對用戶的輸入、輸出進行檢查與控制,處理客戶端的一些動作,包括控制頁面跳轉等,并向用戶呈現最終的結果信息。表現層主要采用MVC結構來實現。控制器負責接收用戶的請求,并決定應該調用哪個模型來處理;然后,模型根據用戶請求調用中間層進行相應的業務邏輯處理,并返回數據;最后,控制器調用相應的視圖來格式化模型返回的數據,并通過視圖呈現給用戶。

(2)中間層。中間層主要包括業務邏輯層組件、業務邏輯層工作流、業務邏輯層實體和業務邏輯層框架四個方面。業務邏輯層組件分為接口和實現類兩個部分,接口用于定義業務邏輯組件,定義業務邏輯組件必須實現的方法。通常按模塊來設計業務邏輯組件,每個模塊設計為一個業務邏輯組件,并且每個業務邏輯組件以多個DAO組件作為基礎,從而實現對外提供系統的業務邏輯服務。業務邏輯層工作流能夠實現在多個參與者之間按照某種預定義的規則傳遞文檔、信息或任務的過程自動進行,從而實現某個預期的業務目標,或者促進此目標的實現。業務邏輯層實體提供對業務數據及相關功能的狀態編程訪問,業務邏輯層實體數據可以使用具有復雜架構的數據來構建,這種數據通常來自數據庫中的多個相關表。業務邏輯層實體數據可以作為業務過程的部分I/O參數傳遞,業務邏輯層的實體是可序列化的,以保持它們的當前狀態。業務邏輯層是實現系統功能的核心組件,采用容器的形式,便于系統功能的開發、代碼重用和管理。

(3)持久層。持久層主要負責數據的持久化存儲,主要負責將業務數據存儲在文件、數據庫等持久化存儲介質中。持久層的主要功能是為業務邏輯提供透明的數據訪問、持久化、加載等能力。考生需要結合項目實際情況,舉例說明在表現層、中間層和持久層時需要考慮的主要問題。

【簡答題】

論軟件可靠性設計技術的應用隨著軟件的日益普及,系統中軟件成分不斷增加,使得系統對軟件的依賴越來越強。軟件的可靠性對系統可靠性的影響越來越大。而實踐證明,保障軟件可靠性最有效、最經濟、最重要的手段是在軟件設計階段采取措施進行可靠性控制,為此提出了軟件可靠性設計的概念。軟件可靠性設計就是在常規的軟件設計中,應用各種方法和技術,使軟件設計在兼顧用戶功能和性能需求的同時,全面滿足軟件的可靠性要求。軟件可靠性設計應和軟件的常規設計緊密結合,貫穿于軟件設計過程的始終。請圍繞“軟件可靠性設計技術的應用”論題,依次從以下三個方面進行論述。

1.概要敘述你參與管理和開發的軟件項目以及你在其中所承擔的主要工作。

2.結合項目實際,論述你在項目開發過程中,進行軟件可靠性設計時遵循的基本原則;論述你在該項目中所采用的具體可靠性設計技術。

3.闡述你在具體的可靠性設計工作中,為了分析影響軟件可靠性的主要因素,所采用的可靠性分析方法。

1、

答案:

解析:

1.概要論述你參與管理和開發的信息系統項目以及你在其中所承擔的主要工作。

2.結合項目實際,論述你在進行軟件可靠性設計時遵循的基本原則,你所采用的具體可靠性設計技術的基本內容。可靠性設計需要遵循的原則有:(1)軟件可靠性設計是軟件設計的一部分,必須在軟件的總體設計框架中使用,并且不能與其他設計原則相沖突。(2)軟件可靠性設計在滿足提高軟件質量要求的前提下,以提高和保障軟件可靠性為最終目標。(3)軟件可靠性設計應確定軟件的可靠性目標,不能無限擴大,并且在功能、用戶需求、開發費用之后考慮。常見的可靠性設計技術有容錯設計、檢錯設計、降低復雜度設計等技術。容錯設計技術:對于軟件失效后果特別嚴重的場合,采用容錯設計技術。

常見的容錯設計技術有三種:恢復塊設計、N版本程序設計和冗余設計。

恢復塊設計:選擇一組軟件操作作為容錯設計單元,把普通的程序塊變成恢復塊。一個恢復塊包含有若干個功能相同、設計差異的程序塊文本,一個運行文本,多個備份文本,構成“動態冗余”,一旦運行文本出現故障,則用備份文本替換。軟件容錯的恢復塊方法就是使軟件包含有一系列恢復塊。

N版本程序設計:N版本程序的核心是通過設計出多個模塊或不同版本,對于相同初始條件和相同輸入的操作結果,實現多數表決,防止其中某一軟件模塊/版本的故障提供錯誤的服務,以實現軟件容錯。

冗余設計:在一套完整的軟件系統之外,設計一種不同路徑、不同算法或不同實現方法的模塊或系統作為備份,在出現故障時可以使用冗余的部分進行替換,從而維持軟件系統的正常運行。缺點是費用和資源的消耗會有所增加。

檢錯技術:在軟件系統中,無需在線容錯的地方,或不能采用冗余設計技術的部分,如果對可靠性要求較高,故障有可能導致嚴重的后果時,一般采用檢錯技術,在軟件出現故障后能及時發現并報警,其缺點是不能自動解決故障。

降低復雜度設計:軟件復雜性與軟件可靠性有著密切的關系,是產生軟件缺陷的重要根源。在設計時考慮降低軟件的復雜性,是提高軟件可靠性的有效方法。降低復雜度設計的思想是在保證實現軟件功能的基礎上,簡化軟件結構,縮短程序代碼,優化軟件數據流向,降低軟件復雜度,從而提高軟件可靠性。考生應該結合實際工作,具體解釋遵循的原則和采用的一種或多種可靠性設計技術。

3.闡述你在具體的可靠性設計工作中,為了分析影響軟件可靠性的主要因素,所采用的可靠性分析方法。在軟件可靠性設計之前和軟件可靠性設計過程中,都需要采用軟件可靠性分析和預測方法,來確定當前系統中的主要可靠性因素、目標。常見的軟件可靠性分析方法包括故障樹分析方法、失效模式與效應分析方法等。

故障樹分析方法:一種自頂向下的軟件可靠性分析方法,即從軟件系統不希望發生的事件(頂事件),特別是對人員和設備的安全及可靠性產生重大影響的事件開始,向下逐步追查導致頂事件發生的原因,直至基本事件(底事件),從而確定軟件故障原因的各種可能組合方式和(或)發生概率。基本的步驟是軟件故障樹的建立、定性分析和定量分析。

失效模式與效應分析方法:在軟件開發階段的早期,通過識別軟件失效模式,分

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論