2015年系統(tǒng)架構(gòu)師考試科目二:案例分析_第1頁
2015年系統(tǒng)架構(gòu)師考試科目二:案例分析_第2頁
2015年系統(tǒng)架構(gòu)師考試科目二:案例分析_第3頁
2015年系統(tǒng)架構(gòu)師考試科目二:案例分析_第4頁
2015年系統(tǒng)架構(gòu)師考試科目二:案例分析_第5頁
已閱讀5頁,還剩8頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

2015年系統(tǒng)架構(gòu)師考試科目二:案例分析閱讀以下關(guān)于軟件架構(gòu)評估的說明,在答題紙上回答問題1和問題2?!绢}目】效率和準確性。在系統(tǒng)需求分析與架構(gòu)設(shè)計階段,用戶提出的部分需求和關(guān)鍵質(zhì)量屬性場景如下:系統(tǒng)用戶分為管理員、分管領(lǐng)導(dǎo)和普通民警等三類;正常負載情況下,系統(tǒng)必須在0.5秒內(nèi)對用戶的車輛查詢請求進行響應(yīng);(c)99.999%的黑客攻擊;5個字符;對查詢請求處理時間的要求將影響系統(tǒng)的數(shù)據(jù)傳輸協(xié)議和處理過程的設(shè)計;(f)2分鐘內(nèi)發(fā)現(xiàn)并啟用備用網(wǎng)絡(luò)系統(tǒng);在系統(tǒng)升級時,需要保證在1個月內(nèi)添加一個新的消息處理中間件;查詢過程中涉及到的車輛實時視頻傳輸必須保證20幀/秒的速率,且畫面具有600*480的分辨率;更改系統(tǒng)加密的級別將對安全性和性能產(chǎn)生影響;系統(tǒng)主站點斷電后,需要在3秒內(nèi)將請求重定向到備用站點;假設(shè)每秒中用戶查詢請求的數(shù)量是10個,處理請求的時間為30毫秒,則“在1秒內(nèi)完成用戶的查詢請求”這一要求是呵以實現(xiàn)的;對用戶信息數(shù)據(jù)的授權(quán)訪問必須保證99.999%的安全性;目前對“車輛信息實時監(jiān)控”業(yè)務(wù)邏輯的描述尚未達成共識,這可能導(dǎo)致部分業(yè)務(wù)功能模塊的重復(fù),影響系統(tǒng)的可修改性;Web1周內(nèi)完成;系統(tǒng)需要提供遠程調(diào)試接口,并支持系統(tǒng)的遠程調(diào)試。設(shè)計方案。公司目前正在組織系統(tǒng)開發(fā)的相關(guān)人員對系統(tǒng)架構(gòu)進行評估。1】(12分)在架構(gòu)評估過程中,質(zhì)量屬性效用樹(utihtytree)是對系統(tǒng)質(zhì)量屬性進行識別和優(yōu)先級排序的重要工具。請給出合適的質(zhì)量屬性,填入圖1-1中(1)-(2)空白處;并選擇題干描述中的(a)~(o),將恰當?shù)男蛱柼钊?3)~(6)空白處,完成該系統(tǒng)的效用樹。120171題、20144題類似】質(zhì)量屬性效用包括:性能、安全性、可用性、可修改性。~(2)空白處分別為安全性、可修改性。(3)~(6)空白處分別為:—(h)—性能:查詢過程中涉及到的車輛實時視頻傳輸必須保證20幀/秒的速600*480的分辨率。—(l)99.999%的安全性。(5)—(j)—可用性:系統(tǒng)主站點斷電后,需要在3秒內(nèi)將請求重定向到備用站點。(6)—(n)Web1周內(nèi)完成。2】(13分)在架構(gòu)評估過程中;需要正確識別系統(tǒng)的架構(gòu)風險、敏感點和權(quán)衡點,并進行合理的架構(gòu)決策。請用300字以內(nèi)的文字給出系統(tǒng)架構(gòu)風險、敏感點和權(quán)衡點的定義,并從題干描述中的(a)~(o)1個屬于系統(tǒng)架構(gòu)風險、敏感點和權(quán)衡點的描述。2解析】系統(tǒng)架構(gòu)風險:架構(gòu)設(shè)計中潛在的、存在問題的架構(gòu)決策所帶來的隱患(m)。系統(tǒng)架構(gòu)敏感點:為了實現(xiàn)某種特定的質(zhì)量屬性,一個或多個構(gòu)件所具有的特性(e)。系統(tǒng)架構(gòu)權(quán)衡點:影響多個質(zhì)量屬性的特征,是多個質(zhì)量屬性的敏感點(i:安全性和性能)。13?!绢}目】某公司擬研制一款高空監(jiān)視無人直升機,該無人機采用遙控一自主復(fù)合型控制實現(xiàn)垂直升程序?qū)崿F(xiàn)相應(yīng)功能。經(jīng)過需求分析,對該無人直升機控制系統(tǒng)縱向控制基本功能整理如下:飛控計算機加電后,應(yīng)完成系統(tǒng)初始化,飛機進入準備起飛狀態(tài);在準備起飛狀態(tài)中等待地面綜合控制計算機發(fā)送起飛指令,飛控計算機接收到起飛指令后,進入垂直起飛狀態(tài);垂直起飛過程中如果飛控計算機發(fā)現(xiàn)飛機飛行異常,飛行控制系統(tǒng)應(yīng)轉(zhuǎn)入無線電遙控飛行狀態(tài),地面綜合控制計算機發(fā)送遙控指令;垂直起飛達到預(yù)定起飛高度后,飛機應(yīng)進入高度保持狀態(tài);飛控計算機在收到地面綜合控制計算機發(fā)送的目標高度后,飛機應(yīng)進入垂直升降狀態(tài),接近目標高度;垂直升降過程中出現(xiàn)飛機飛行異常,控制系統(tǒng)應(yīng)轉(zhuǎn)入無線電遙控飛行;飛機到達目標高度后,應(yīng)進入高度保持狀態(tài),完成相應(yīng)的任務(wù);飛機在接到地面綜合控制計算機發(fā)送的任務(wù)執(zhí)行結(jié)束指令后,進入飛機降落狀態(tài);(h)飛機降落過程中如果出現(xiàn)飛機飛行異常,控制系統(tǒng)應(yīng)轉(zhuǎn)入無線電遙控飛行;(i)飛機降落到指定著陸高度后,進入飛機著陸狀態(tài),應(yīng)按照預(yù)定著陸算法,進行著陸;預(yù)定著陸算法,進行著陸。1】(6分)200字以內(nèi)文字簡要說明狀態(tài)圖和活動圖的含義及其區(qū)別。1解析】列,引起狀態(tài)轉(zhuǎn)移的事件(event),以及因狀態(tài)轉(zhuǎn)移而伴隨的動作(action)?;顒訄D可以用于描述系統(tǒng)的工作流程和并發(fā)行為?;顒訄D其實可看作狀態(tài)圖的特殊形式,活動圖中一個活動結(jié)束后將立即進入下一個活動(在狀態(tài)圖中狀態(tài)的轉(zhuǎn)移可能需要事件的觸發(fā))。兩者最大的區(qū)別是:狀態(tài)圖側(cè)重于描述行為的結(jié)果,而活動圖側(cè)重描述行為的動作。其次活動圖可描述并發(fā)行為,而狀態(tài)圖不能。2】(10分)制系統(tǒng)縱向控制狀態(tài)圖(圖2-1)。請根據(jù)題干描述,提煉出相應(yīng)狀態(tài)及條件,并完善圖2-1所示狀態(tài)圖中的(1)~(5),將答案填寫在答題紙中。2解析】

2-1無人直升機控制系統(tǒng)縱向控制狀態(tài)圖在解答本題時,首先需要對題目中描述的基本功能需求(a)~(j)進行分析與梳理,確定系統(tǒng)控制中的所有狀態(tài)以及狀態(tài)間的轉(zhuǎn)換條件,再結(jié)合問題2中已經(jīng)給出的狀態(tài),完成其余狀態(tài)及條件的設(shè)計。3】(9分)動圖(2-2)2-2活動圖的(1)-(9),將答案填寫在答題紙中。3解析】

2-2無人直升機控制系統(tǒng)縱向控制頂層活動圖應(yīng)用。泳道活動圖,是將一個活動圖中放入活動狀態(tài)進行分組,每一組表示一個特定的類或者對象,它們負責完成組內(nèi)的活動。每個活動都明確屬于一個泳道,不可以跨越泳道,而轉(zhuǎn)移則可以跨越泳道。在解答本題時,首先需要對題目中描述的基本功能需求進行分析與梳理,確定題目中存在哪些硬件設(shè)備與飛控計算機進行交互,以及設(shè)備間的交互關(guān)系,再結(jié)合問題3中已經(jīng)給出的活動,完成其余活動及設(shè)備的設(shè)計。閱讀以下關(guān)于嵌入式系統(tǒng)可靠性設(shè)計方面的描述,回答問題13。【題目】品研制中的核心工作,隨著宇航裝備的綜合化技術(shù)發(fā)展,嵌入式軟件規(guī)模發(fā)生了巨大變化,5人組建可靠性研究團隊,系統(tǒng)及硬件的可靠性提高方案,但對于軟件可靠性問題始終沒有研究出一種普遍認同的方法。1】(9分)請用200字以內(nèi)文字說明系統(tǒng)可靠性的定義及包含的4性一般采用哪些技術(shù)?1解析】可靠性(Reliability)是指產(chǎn)品在規(guī)定的條件下和規(guī)定的時間內(nèi)完成規(guī)定功能的能力。子特性:成熟性,容錯性,易恢復(fù)性,可靠性的依從性。提高可靠性的技術(shù):N版本程序設(shè)計恢復(fù)塊方法防衛(wèi)式程序設(shè)計雙機熱備或集群系統(tǒng)冗余設(shè)計2】(8分)王工帶領(lǐng)的可靠性研究團隊之所以沒能快速取得軟件可靠性問題的技術(shù)突破,其核心原因軟件程序性能有不利影響的系統(tǒng)故障。除非被修改,否則軟件系統(tǒng)不會隨著時間的推移而發(fā)生退化。請根據(jù)你對軟件可靠性的理解,給出表3-1所列出的硬件可靠性特征對應(yīng)的軟件可靠性特征之間的差異或相似之處,將答案寫在答題紙上。2解析】不考慮軟件演化的情況下,失效率在統(tǒng)計上是非增的如果不使用該軟件,永遠不會發(fā)生失效軟件維護會創(chuàng)建新的軟件代碼軟件失效之前很少會有報警3】(8分)開發(fā)過程構(gòu)建到軟件中,也就是說,為了提高軟件的可靠性,必須在需求分析、設(shè)計階段開的可靠性設(shè)計要求。飛行控制系統(tǒng)是一種雙余度同構(gòu)型系統(tǒng),輸入采用了獨立的兩路數(shù)據(jù)通道,在系統(tǒng)內(nèi)完成輸入數(shù)據(jù)的交叉對比、表決‘制導(dǎo)率計算,輸出數(shù)據(jù)的交叉對比、表決、一輸出等功能,系統(tǒng)的監(jiān)控模塊實現(xiàn)對系統(tǒng)失效或失步的檢測與寵位。其軟件的可靠性設(shè)計包括恢復(fù)塊方法和N3-1,在(1)~(4)中填入恰當?shù)膬?nèi)容。并比較恢復(fù)塊方法與N版本程序設(shè)計方法,將比較結(jié)果(5)~(8)填入表3-2中。3-1恢復(fù)塊方法3-2恢復(fù)塊方法與N版本程序設(shè)計的比較3解析】主塊驗證測試(4)異常處理表決(7)差(8)好l至問題3?!绢}目】包括商品基本信息、實時庫存與價格等。在對系統(tǒng)進行數(shù)據(jù)架構(gòu)設(shè)計時,公司項目組的架構(gòu)師王工主張采用文件系統(tǒng)進行數(shù)據(jù)管理,原因是目前公司客戶和商品數(shù)量不大,且系統(tǒng)功能較為簡單,采用文件系統(tǒng)進行數(shù)據(jù)管理簡單直觀,開發(fā)周期短。架構(gòu)師李工則建議采用關(guān)系數(shù)據(jù)庫進行數(shù)據(jù)管理,原因在于公司目前正處在高速擴張期,雖然目前的客戶和商品數(shù)量不大,但隨著公司快速發(fā)展,需要管理的數(shù)據(jù)必然飛速膨脹,采用關(guān)系數(shù)據(jù)庫作為數(shù)據(jù)存儲層,系統(tǒng)的擴展性更強,并能夠?qū)ξ磥砜赡茉黾拥膹?fù)雜業(yè)務(wù)提供有效支持。經(jīng)過討論,項目組初步采納了李工的意見,決定采用關(guān)系數(shù)據(jù)庫存儲客戶數(shù)據(jù),并針對業(yè)務(wù)特征對系統(tǒng)性能進行優(yōu)化。1】(8分)請從設(shè)計難度、數(shù)據(jù)冗余程度、數(shù)據(jù)架構(gòu)、應(yīng)用擴展性等4個方面對關(guān)系型數(shù)據(jù)庫管理系統(tǒng)和文件系統(tǒng)兩種數(shù)據(jù)存儲方式進行比較,填寫表4-1中(1)~(4)。4-1關(guān)系型數(shù)據(jù)庫管理系統(tǒng)和文件系統(tǒng)存儲方式比較1解析】針對特定應(yīng)用系統(tǒng),難度較大??赡茉诙鄠€文件中復(fù)制相同的數(shù)據(jù)屬性,數(shù)據(jù)冗余較大。以應(yīng)用為中心管理數(shù)據(jù)。數(shù)據(jù)庫獨立于應(yīng)用系統(tǒng),數(shù)據(jù)庫系統(tǒng)接口標準化,易于在不同應(yīng)用之間共享數(shù)據(jù)。2】(13分)對系統(tǒng)的核心業(yè)務(wù)需求進行認真分析后,公司的資深架構(gòu)師張工提出一種內(nèi)存數(shù)據(jù)庫和關(guān)系數(shù)據(jù)庫的混合存儲架構(gòu),其核心思想是將需要頻繁讀寫的數(shù)據(jù)存入內(nèi)存數(shù)據(jù)庫,而將相對固定不變的數(shù)據(jù)存入關(guān)系數(shù)據(jù)庫。請首先分析比較內(nèi)存數(shù)據(jù)庫和關(guān)系數(shù)據(jù)庫在數(shù)據(jù)模型、讀寫性能、存儲容量、可靠性等方面的差異,填寫表4-2中(1)~(4)的空白,并根據(jù)張工的思路指定各種業(yè)務(wù)數(shù)據(jù)的存儲方式,填寫表4-3中(5)~(9)中的空白。4-2內(nèi)存數(shù)據(jù)庫和關(guān)系數(shù)據(jù)庫比較主要數(shù)據(jù)模型讀寫性能存儲容量可靠性內(nèi)存數(shù)據(jù)庫(1)內(nèi)存直接讀寫,性能相對較高(3)(4)關(guān)系數(shù)據(jù)庫關(guān)系模式(2)基于存盤存儲,存儲容量大內(nèi)建恢復(fù)機制,可靠性較高4-3業(yè)務(wù)數(shù)據(jù)存儲方式2解析】主要數(shù)據(jù)模型讀寫性能主要數(shù)據(jù)模型讀寫性能存儲容量可靠性內(nèi)存數(shù)據(jù)庫Key-Value模式(鍵-值對模式)內(nèi)存直接讀寫,性能相對較高基于內(nèi)存存儲,存儲容量受限恢復(fù)機制復(fù)雜,可靠性較低關(guān)系數(shù)據(jù)庫關(guān)系模式外存讀寫,性能相對較低基于存盤存儲,存儲容量大內(nèi)建恢復(fù)機制,可靠性較高Key-Value模式外存讀寫,性能相對較低(4)恢復(fù)機制復(fù)雜,可靠性較低第二小問:根據(jù)貿(mào)易綜合管理系統(tǒng)的需求描述,需要頻繁向客戶發(fā)送相關(guān)的電子郵件、短信等提醒信息,并實時更新商品庫存信息和商品價格信息,因此混合存儲架構(gòu)中,將客戶電子郵件、基本信息相對穩(wěn)定、訪問頻率較低,存入關(guān)系型數(shù)據(jù)庫。3】(4分)系統(tǒng)開發(fā)完成進行壓力測試時,發(fā)現(xiàn)在較大數(shù)據(jù)量的情況下,部分業(yè)務(wù)查詢響應(yīng)時間過長,SQL4-4SQL語句設(shè)計(1)~(4)中填入“提升”或“降低”。SQL設(shè)計策略對性能的影響3解析】SQL語句設(shè)計時,影響查詢效率的設(shè)計原則是:查詢時盡量不要返回不需要的行、列;需要進行多表連接查詢時,盡量使用連接查詢,避免使用子查詢結(jié)構(gòu);NOTIN、NOTEXIST、LIKE等使用全表查詢的操作;盡量避免使用DISTINCT關(guān)鍵字(1)提升降低降低提升Web13?!绢}目】為了降低開發(fā)成本和提高開發(fā)效率,項目組經(jīng)過討論后決定采用輕量級JavaEE開發(fā)框架設(shè)計系統(tǒng)應(yīng)用架構(gòu)。在應(yīng)用架構(gòu)設(shè)計中,除了滿足系統(tǒng)主要功能需求,還需要考慮的因素包括:項目開發(fā)采用MySQL數(shù)據(jù)庫存儲數(shù)據(jù),一但將來可能移植到其它數(shù)據(jù)庫平臺;系統(tǒng)開發(fā)過程中盡可能降低或者消除SQL語句開發(fā)的工作量;投票系統(tǒng)中數(shù)據(jù)之間的關(guān)系復(fù)雜,需要支持數(shù)據(jù)對象的聚合和繼承等關(guān)系。項目組基于MVC模式設(shè)計出了投票系統(tǒng)的架構(gòu),包括表示層、業(yè)務(wù)邏輯層、數(shù)據(jù)持久層和數(shù)據(jù)層。在具體討論數(shù)據(jù)持久層采用哪種技術(shù)方案時,老王建議采用成熟的HibernateiBatis更加靈活,更適合作為投票系統(tǒng)數(shù)據(jù)持久層開發(fā)技術(shù)。1】(5分)請用3001解析】數(shù)據(jù)持久層是一組軟件服務(wù),將應(yīng)用程序與該程序所使用的數(shù)據(jù)源分離,為整個項目提供一個統(tǒng)一、安全、并發(fā)的數(shù)據(jù)持久機制。好處:1、程序代碼重用性強,即使更換數(shù)據(jù)庫,只需要更改配置文件,不必重寫程序代碼。2、業(yè)務(wù)邏輯代碼可讀性強,在代碼中不會有大量的SQL語言,提高程序的可讀性。3、持久化技術(shù)可以自動優(yōu)化,以減少對數(shù)據(jù)庫的訪問量,提高程序運行效率。4、簡化開發(fā)工作,讓開發(fā)人員更關(guān)注于業(yè)務(wù)邏輯的開發(fā)。5、通過對象/關(guān)系映射向業(yè)務(wù)邏輯提供面向?qū)ο蟮臄?shù)據(jù)訪問。2】(12分)針對在線投票系統(tǒng)的實際應(yīng)用需求和要求,項目組應(yīng)選用哪種技術(shù)實現(xiàn)數(shù)據(jù)持久層?請用200字以內(nèi)文字說明其采用該技術(shù)的原因。2解析】1、項目組應(yīng)選Hibernate框架2、選擇該技術(shù)的原因是:從移植的角度來看使用Hibernate更容易移植到其它數(shù)據(jù)庫平臺。Hibernate與具體數(shù)據(jù)庫的關(guān)聯(lián)只需在XML文件中配置即可,所有的HQL語句與具體使用的數(shù)據(jù)庫無關(guān),移植性很好。MyBatis項目中所有的SQL語句都是依賴所用的數(shù)據(jù)庫的,所以不同數(shù)據(jù)庫類型的支持不好。使用Hibernate能降低或者消除SQLHibernate提供了方法完成持SQL的熟練掌握,便可完成任務(wù)。Hibernate提供了對象狀態(tài)管理的功能,使開發(fā)者不再需要理會底層數(shù)據(jù)庫系統(tǒng)的細MyBatis在這一塊沒有文檔說明,用戶需要對對象自己進行詳細的管理。3】(8分)數(shù)據(jù)持久層是Web應(yīng)用系統(tǒng)框架中重要的組成部分,主流的數(shù)據(jù)持久層技術(shù)分別基于不同5-1中(1)-(4)處分別根據(jù)(a)~(d)所列技術(shù)的方案類別填入其序號。5-1數(shù)據(jù)持久層技術(shù)分類BMP,CMPiBatis/MyBatisSprmgJdbcTemplateTopLink,JDO,Hibernate3解析】(1)(c)(2)(b)(3)(d)(4)(a)【問題分析】iBatisapacheO/RMapping解決方案,iBatis最大的特點就是能夠滿足你的要求又足夠靈活的iBatisMybatis了。EJB有兩種主要類型BMP(Beanmanagedpersistence)和CMP(Containermanagedpersistence這兩種類型各有優(yōu)缺點。BMP是在Bean中完成對數(shù)據(jù)庫JDBC的各種調(diào)用,也就是說,在你的實體bean(entitybean)SQL語句,如"insert.."或"select..",并且使用Datasource獲得一個數(shù)據(jù)庫資源以及連接(connection)從而對數(shù)據(jù)庫直接進行增加刪除修改。CMP是由EJB容器自動完成對數(shù)據(jù)庫的操作,你所有做的,就是在實體bean重寫入SetXXXgetXXXejb-jar.xmlcmp-field就可以。ernateernate的Rpping實現(xiàn)了和數(shù)據(jù)庫表之間的映射,以及SQL的自動生成和執(zhí)行。程序員往往只需定義好了POJO到數(shù)據(jù)庫表的映射關(guān)系,即可通過Hibernate提供的方法完成持久層操作。程序員甚至不需要SQL的熟練掌握,Hibernate/OJBSQL并調(diào)JDBC接口加以執(zhí)行。iBATIS的著力點,則在于POJO與SQL之間的映射關(guān)系。然后通過映射配置文件,將SQL所需的參數(shù),以及返回的結(jié)果字段映射到指定POJO。相對Hibernate“O/R”而言,iBATIS是一種“SqlMappingORM實現(xiàn)。Hibernate的調(diào)優(yōu)方案制定合理的緩存策略;Session管理機制;使用批量抓取,設(shè)定合理的批處理參數(shù)(batch_size);O/R映射設(shè)計Mybatis調(diào)優(yōu)方案MyBatis在Session方面和Hibernate的Session生

溫馨提示

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

評論

0/150

提交評論