2010年下半年系統(tǒng)架構(gòu)設(shè)計師下午II論文解析_第1頁
2010年下半年系統(tǒng)架構(gòu)設(shè)計師下午II論文解析_第2頁
2010年下半年系統(tǒng)架構(gòu)設(shè)計師下午II論文解析_第3頁
2010年下半年系統(tǒng)架構(gòu)設(shè)計師下午II論文解析_第4頁
免費預(yù)覽已結(jié)束,剩余1頁可下載查看

下載本文檔

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

文檔簡介

1、2010年下半年系統(tǒng)架構(gòu)設(shè)計師 下午試題n論文解析試題一、論軟件的靜態(tài)演化和動態(tài)演化及其應(yīng)用寫作要點1、簡要敘述所參與管理和開發(fā)的軟件項目,并明確指出自己在其中承擔(dān)的主要任務(wù)和開 展的主要工作。2、軟件演化可分為靜態(tài)演化和動態(tài)演化兩種情形。(1) 靜態(tài)演化(Static Evolution)。靜態(tài)演化是指軟件在停機狀態(tài)下的演化。 其優(yōu)點是不用考 慮運行狀態(tài)的遷移,同時也沒有活動的進程需要處理。然而停止一個一個用程序就意味著中 斷它提供的服務(wù),造成軟件暫時失效。軟件靜態(tài)演化是指發(fā)生在應(yīng)用程序停止時的軟件修改和更新,即一般意義上的軟件維護 和升級。靜態(tài)演化的優(yōu)點是沒有狀態(tài)遷移或活動線程的問題要解決

2、,缺陷是停止應(yīng)用程序意 味著停止它所提供的服務(wù),也就是使軟件系統(tǒng)暫時失效。在軟件交付之后,靜態(tài)演化(類似 于一般意義上的軟件維護)就成為軟件變更的一個常規(guī)過程。變更可以是一種更正代碼錯誤 的簡單變更,也可以是更正設(shè)計錯誤的較大范圍的變更,還可以是對描述錯誤進行修正或提 供新需求這樣的重大改進。有三種不同的軟件維護:改正性維護、適應(yīng)性維護和完善性維護。 維護過程一般包括變更分析、版本規(guī)劃、系統(tǒng)實現(xiàn)和向客戶交付系統(tǒng)等活動。在面向?qū)ο蠹夹g(shù)中,使用子類型方法來擴展程序,它適合于軟件靜態(tài)演化和代碼重用。 子類型化一個類意味著保留父類中的參數(shù)和方法,并盡可能地增加新的參數(shù)和方法。另外, 使用重載和多態(tài)性作

3、為主要的演化機制。實際上,建立類的新版本,最簡單的機制是創(chuàng)建它 的子類,然后重載需要變更的方法,最后,使用多態(tài)性調(diào)用新創(chuàng)建的方法。在基于構(gòu)件的軟 件技術(shù)中,構(gòu)件采取接口和實現(xiàn)相分離的技術(shù),構(gòu)件之間只能通過接口進行通信,這使得具 有兼容接口的不同構(gòu)件實現(xiàn)可以相互取代,從而成為軟件靜態(tài)演化的一條途徑。(2) 動態(tài)演化(Dynamic Evolution) 0動態(tài)演化是指軟件在執(zhí)行期間的軟件演化。其優(yōu)點是 軟件不會存在暫時的失效,有持續(xù)可用性的明顯優(yōu)點。但由于涉及狀態(tài)遷移等問題,比靜態(tài) 演化從技術(shù)上更難處理。動態(tài)演化是最復(fù)雜也是最有實際意義的演化形式。動態(tài)演化使得軟件在運行過程中,可 以根據(jù)應(yīng)用需求

4、和環(huán)境變化,動態(tài)地進行軟件的配置、維護和更新,其表現(xiàn)形式包括系統(tǒng)元 素數(shù)目的可變性、結(jié)構(gòu)關(guān)系的可調(diào)節(jié)性和結(jié)構(gòu)形態(tài)的動態(tài)可配置性。軟件的動態(tài)演化特性對 于適應(yīng)未來軟件發(fā)展的開放性、動態(tài)性具有重要意義。動態(tài)演化是指軟件在運行期間的演化。在許多重要的應(yīng)用領(lǐng)域中,例如金融、電力、電 信及空中交通管制等,系統(tǒng)的持續(xù)可用性是一個關(guān)鍵性的要求,運行時刻的系統(tǒng)演化可減少 因關(guān)機和重新啟動而帶來的損失和風(fēng)險。此外,越來越多的其他類型的應(yīng)用軟件也提出了運 行時刻演化的要求,在不必對應(yīng)用軟件進行重新編譯和加載的前提下,為最終用戶提供系統(tǒng) 定制和擴展的能力。動態(tài)演化可分為兩種類型:預(yù)設(shè)的和非預(yù)設(shè)的。在 Web環(huán)境中,

5、軟件應(yīng)用常常需要處理 多種類型的信息,因此它們常被設(shè)計為可以動態(tài)下載并安裝插件以處理當(dāng)前所面臨的新類型 的信息;而分布式 Web應(yīng)用也常常需要增減內(nèi)部處理節(jié)點的數(shù)目以適應(yīng)多變的負(fù)載。這些動 態(tài)改變都是軟件設(shè)計者能夠預(yù)先設(shè)想到的,可實現(xiàn)為系統(tǒng)的固有功能。另有一些必須對系統(tǒng) 配置進行修改和調(diào)整的情況是直到系統(tǒng)投入運行以后才發(fā)現(xiàn)的,這就要求系統(tǒng)能夠處理在原 始設(shè)計中沒有完全預(yù)料到的新需求。這種情況下一般需要關(guān)閉整個系統(tǒng),重新開發(fā)、重新裝 入并重新啟動系統(tǒng)。然而,為了進行局部的修改而關(guān)閉整個系統(tǒng)在某些情況下是不允許的(例如,關(guān)鍵運行系統(tǒng))或者代價太高。精心設(shè)計的動態(tài)演化技術(shù)可以在不關(guān)閉整個系統(tǒng)的前提

6、下修改系統(tǒng)的結(jié)構(gòu)配置,并盡量使未受影響的部分繼續(xù)工作已提高系統(tǒng)的可用度。為支持軟件的動態(tài)演化性,已在語言、機制和環(huán)境等方面做了大量工作。在程序語言的層次上,引進各種機制以支持軟件動態(tài)演化,例如動態(tài)裝載技術(shù)允許增加代碼到已運行的程 序中,延遲綁定是在運行時而不是編譯時決定類和對象的綁定。Java hotswap允許在運行時改變方法:當(dāng)一個方法終止時,這個方法的新版本可以有效地替換舊版本,在類層次上代碼的 二進制兼容被支持。Gilgul語言也允許更換運行時對象。但程序語言層次上的動態(tài)演化機制僅 局限于函數(shù)、類方法和對象等小粒度的替換,只支持預(yù)設(shè)的有限變更,變更由事件觸發(fā)。通過標(biāo)準(zhǔn)化運行級構(gòu)件的規(guī)約

7、,依靠構(gòu)件運行平臺(中問件平臺)提供的基礎(chǔ)設(shè)施,使 軟件在構(gòu)件層次上的動態(tài)演化成為可能。中問件中具有的如命名服務(wù)、反射技術(shù)和動態(tài)適配 等機制,為運行態(tài)的動態(tài)替換和升級提供支撐,從而推動了軟件動態(tài)演化的發(fā)展。命名服務(wù) 就是給構(gòu)件實例提供一個名稱,以便客戶通過這些名稱來獲取構(gòu)件實例。對工業(yè)標(biāo)準(zhǔn)構(gòu)件EJB 和CORB俱件的引用都可以通過中問件平臺的命名服務(wù)進行。同一構(gòu)件標(biāo)識可以被映射到多個構(gòu)件實例,從而根據(jù)具體情境對某一名字的構(gòu)件引用導(dǎo)向到不同的構(gòu)件實例。反射技術(shù)是 系統(tǒng)的一種自描述(self-representation)和自推理的技術(shù),它提供了關(guān)于自身行為的表示, 這種表示可以被檢查和調(diào)整,且與

8、他所描述的系統(tǒng)行為是因果相聯(lián) (causally connected的。 因果相聯(lián),意味著對自表示的改動將立即反映在系統(tǒng)的實際狀態(tài)和行為中,反之亦然。將反 射性引入中間件能夠以可控的方式開放平臺內(nèi)部的實現(xiàn),從而提高中問件的定制能力和運行 使的適應(yīng)能力。動態(tài)適配機制中比較著名的是CORBA提供的動態(tài)接口服務(wù):動態(tài)調(diào)用接口DII和動態(tài)骨架接口 DSk前者支持動態(tài)客戶請求調(diào)用,而后者支持將請求動態(tài)指派(Dispatch) 給構(gòu)件。因此,軟件構(gòu)件化技術(shù)使得軟件具有良好的構(gòu)造性,軟件演化的粒度更大。中問件 技術(shù)則為基于構(gòu)件的軟件動態(tài)演化提供了堅實的基礎(chǔ)設(shè)施和方便的操作界面。3、考生需結(jié)合自身參與項目的實

9、際狀況,指出其參與管理和開發(fā)的項目中所進行的軟件 演化活動的特點、演化的類型,以及所采取的對應(yīng)演化技術(shù)手段。要給出實施軟件演化活動 的具體過程、方法以及對實際應(yīng)用效果的分析。試題二、論數(shù)據(jù)挖掘技術(shù)的應(yīng)用 寫作要點:1、結(jié)合自己所參與的軟件項目,概要介紹該項目的背景及主要內(nèi)容,并明確指出在其中 所承擔(dān)的主要任務(wù)和開展的主要工作。2、數(shù)據(jù)挖掘的任務(wù)主要是關(guān)聯(lián)分析、聚類分析、分類、預(yù)測、時序模式和偏差分析等。(1) 關(guān)聯(lián)分析。兩個或兩個以上變量的取值之間存在某種規(guī)律性,就稱為關(guān)聯(lián)。數(shù)據(jù)關(guān)聯(lián) 是數(shù)據(jù)庫中存在的一類重要的、可被發(fā)現(xiàn)的知識。關(guān)聯(lián)分析的目的是找出數(shù)據(jù)庫中隱藏的關(guān) 聯(lián)網(wǎng)。一般用支持度和可信度兩

10、個閾值來度量關(guān)聯(lián)規(guī)則的相關(guān)性。(2) 聚類分析。聚類是把數(shù)據(jù)按照相似性歸納成若十類別,同一類中的數(shù)據(jù)彼此相似,不 同類中的數(shù)據(jù)相異。聚類分析可以建立宏觀的概念,發(fā)現(xiàn)數(shù)據(jù)的分布模式,以及可能的數(shù)據(jù) 屆性之間的相互關(guān)系。(3) 分類。分類就是找出一個類別的概念描述,它代表了這類數(shù)據(jù)的整體信息,即該類的 內(nèi)涵描述,并用這種描述類構(gòu)造模型,一般用規(guī)則或決策樹模式表示。分類是利用訓(xùn)練數(shù)據(jù) 集通過一定的算法而求得分類規(guī)則。分類可被用于規(guī)則描述和預(yù)測。(4) 預(yù)測。預(yù)測是利用歷史數(shù)據(jù)找出變化規(guī)律,建立模型,并由此模型對未來數(shù)據(jù)的種類 及特征進行預(yù)測。預(yù)測的精度和不確定性被重點關(guān)注,通常用預(yù)測方差來度量。(5

11、) 時序模式。時序模式是指通過時間序列搜索出的重復(fù)發(fā)生概率較高的模式。與回歸一 樣,它也是用已知的數(shù)據(jù)預(yù)測未來的值,但這些數(shù)據(jù)的區(qū)別是變量所處時間的不同。(6) 偏差分析。在偏差中包括很多有用的知識,數(shù)據(jù)庫中的數(shù)據(jù)存在很多異常情況,發(fā)現(xiàn) 數(shù)據(jù)庫中存在的異常情況是非常重要的。偏差檢驗的基本方法就是尋找觀察結(jié)果與參照之間 的差別。論文中須明確指出自己在該項目中應(yīng)用數(shù)據(jù)挖掘技術(shù)所要解決的具體問題是什么。3、主要的數(shù)據(jù)挖掘方法(1) 神經(jīng)網(wǎng)絡(luò)方法神經(jīng)網(wǎng)絡(luò)由于本身良好的魯棒性、自組織自適應(yīng)性、并行處理、分布存儲和高度容錯等 特性非常適合解決數(shù)據(jù)挖掘問題,因此近年來越來越受到人們的關(guān)注。典型的神經(jīng)網(wǎng)絡(luò)模型

12、 主要分三大類:以感知機、BP反向傳播模型、函數(shù)型網(wǎng)絡(luò)為代表的用于分類、預(yù)測和模式識 別的前饋式神經(jīng)網(wǎng)絡(luò)模型;以 hopfield的離散模型和連續(xù)模型為代表的分別用于聯(lián)想記憶和 優(yōu)化計算的反饋式神經(jīng)網(wǎng)絡(luò)模型;以 art模型、koholon模型為代表的,用于聚類的自組織映 射方法。神經(jīng)網(wǎng)絡(luò)方法的缺點是“黑箱”性,人們難以理解網(wǎng)絡(luò)的學(xué)習(xí)和決策過程。(2) 遺傳算法遺傳算法是一種基于生物自然選擇與遺傳機理的隨機搜索算法,是一種仿生全局優(yōu)化方 法。遺傳算法具有的隱含并行性、易于和其他模型結(jié)合等性質(zhì)使得它在數(shù)據(jù)挖掘中被加以應(yīng) 用。(3) 決策樹方法決策樹是一種常用于預(yù)測模型的算法,它通過將大量數(shù)據(jù)有目的

13、地分類,從中找到一些 有價值的、潛在的信息。它的主要優(yōu)點是描述簡單,分類速度快,特別適合大規(guī)模的數(shù)據(jù)處 理。最有影響和最早的決策樹方法是由 Quinlan提出的著名的基于信息嫡的id3算法。它的主 要問題是:id3是非遞增學(xué)習(xí)算法;id3決策樹是單變量決策樹,復(fù)雜概念的表達困難;同性 間的相互關(guān)系強調(diào)不夠;抗噪性差。針對上述問題,出現(xiàn)了許多較好的改進算法,如Schlimmer 和Fisher設(shè)計了 id4遞增式學(xué)習(xí)算法等。(4) 粗集方法粗集理論是一種研究不精確、不確定知識的數(shù)據(jù)工具。粗集方法有幾個優(yōu)點:不需要給 出額外信息;簡化輸入信息的表達空間;算法簡單,易于操作。粗集處理的對象是類似二維

14、 關(guān)系表的信息表。目前成熟的關(guān)系數(shù)據(jù)庫管理系統(tǒng)和新發(fā)展起來的數(shù)據(jù)倉庫管理系統(tǒng)為粗集 的數(shù)據(jù)挖掘奠定了堅實的基礎(chǔ)。(5) 覆蓋正例排斥反例方法它是利用覆蓋所有正例、排斥所有反例的思想來尋找規(guī)則。首先在正例集合中任選一個 種子,到反例集合中逐個比較。與字段取值構(gòu)成的選擇子相容則舍去,相反則保留。按此思 想循環(huán)所有正例種子,將得到正例的規(guī)則。比較典型的算法有Michalski的aq11方法等。(6) 統(tǒng)計分析方法在數(shù)據(jù)字段項之間存在兩種關(guān)系:函數(shù)關(guān)系(能用函數(shù)公式表示的確定性關(guān)系)和相關(guān) 關(guān)系(不能用函數(shù)公式表示,但仍是相關(guān)確定性關(guān)系),對它們的分析可采用統(tǒng)計學(xué)方法,即 利用統(tǒng)計學(xué)原理對數(shù)據(jù)庫中的信

15、息進行分析。可進行常用統(tǒng)計(求大量數(shù)據(jù)中的最大值、最 小值、總和、平均值等)、回歸分析(用回歸方程來表示變量問的數(shù)量關(guān)系)、相關(guān)分析(用 相關(guān)系數(shù)來度量變量間的相關(guān)程度)、差異分析(從樣本統(tǒng)計量的值得出差異來確定總體參數(shù) 之間是否存在差異)等。(7) 模糊集方法利用模糊集合理論對實際問題進行模糊評判、模糊決策、模糊模式識別和模糊聚類分析。 系統(tǒng)的復(fù)雜性越高,則模糊性越強,一般模糊集合理論是用隸屆度來刻畫模糊事物的亦此亦 彼性的。論文中必須明確指出使用了上述 7種方法中的哪種或哪幾種數(shù)據(jù)挖掘方法,并給出該方 法的具體實現(xiàn)過程;分析所選擇的數(shù)據(jù)挖掘方法的實現(xiàn)效果。試題三、論大規(guī)模分布式系統(tǒng)緩存設(shè)計

16、策略寫作要點1、論文中要具體介紹項目的總體需求(特別是應(yīng)用需求中對緩存機制的要求)、系統(tǒng)的邏輯與物理架構(gòu)、采用的技術(shù)等內(nèi)容和自己擔(dān)任的實際工作。2、從不同的用途和應(yīng)用場景來考慮,大體上可以將緩存分為三種工作模式,即單實例緩 存模式(Single Instance、復(fù)制模式(Replication Cache 和分區(qū)模式(Partition Cache。每種 工作模式都有其適應(yīng)的場景和優(yōu)缺點。(1) 單實例模式。單實例模式是一種較為簡單的緩存模式,多個應(yīng)用服務(wù)器共享一個中央 的緩存服務(wù)器。通過共享緩存的數(shù)據(jù),能夠極大地提高系統(tǒng)的性能。該模式的主要限制在于 緩存服務(wù)器的內(nèi)存大小和節(jié)點增加之后服務(wù)器

17、的處理能力和網(wǎng)絡(luò)帶寬。該模式的適場景是: 對緩存要求比較簡單;系統(tǒng)的吞吐量和數(shù)據(jù)量不大;性能要求不高。(2) 復(fù)制模式。復(fù)制模式將緩存的數(shù)據(jù)復(fù)制到多臺機器上,對于單一緩存服務(wù)器性能出現(xiàn) 問題的情況下,可以通過緩存復(fù)制的方式將壓力分解到多個緩存服務(wù)器。該模式的工作原理 是:緩存客戶端可以訪問自己的緩存服務(wù)器,多個緩存服務(wù)器之間的數(shù)據(jù)是彼此同步的,對 于性能要求更高的場景,這樣的部署架構(gòu)能夠獲得更高的吞吐能力。該模式的適用場景是: 數(shù)據(jù)量不是特別大;需要極高的性能;數(shù)據(jù)改動的頻率不是特別大。(3) 分區(qū)模式。當(dāng)需要緩存的數(shù)據(jù)已經(jīng)超過一臺服務(wù)器的內(nèi)存上限是,可以考慮采用分區(qū) 模式對數(shù)據(jù)進行線性縮放,

18、也就是通過增加緩存服務(wù)器來解決數(shù)據(jù)增長和壓力增加的情況。 在分區(qū)模式中,其架構(gòu)是無分享架構(gòu)(Shared Nothing Architecture, SNQ ,每個節(jié)點之間的 數(shù)據(jù)彼此獨立,一個節(jié)點出現(xiàn)故障后不會影響到其他節(jié)點。在出現(xiàn)某個節(jié)點宕機后者其他故 障的情況下,致使這部分的分區(qū)緩存無法使用,并不妨礙其他數(shù)據(jù)節(jié)點數(shù)據(jù)的正常工作。該 模式的適用場景是:總體數(shù)據(jù)量較大,已經(jīng)超出了單個緩存服務(wù)器的內(nèi)存上限;系統(tǒng)緩存要 求具有很大的可伸縮性;客戶端數(shù)量龐大,單個客戶端對緩存數(shù)據(jù)的數(shù)據(jù)量要求不大。3、進行大規(guī)模分布式系統(tǒng)緩存機制設(shè)計時可能遇到的問題包括:如何混存服務(wù)器的工作 模式選擇;高可用性的設(shè)

19、計考慮;緩存一致性與分布式算法;對象狀態(tài)同步的考慮;緩存鈍 化、激活、過期和初始化,等等。試題四、論軟件可靠性評價寫作要點1、說明軟件開發(fā)項目的基本情況以及自己承擔(dān)的主要工作。2、當(dāng)前的軟件可靠性模型眾多,但并沒有一個最好的或者可以適用所有軟件系統(tǒng)的軟件 可靠性模型,因此對于不同的軟件系統(tǒng),出于不同的可靠性分析目的,需要選擇合適的軟件 可靠性模型。常見的10類軟件可靠性模型有種子法模型、失效率類模型、曲線擬合類模型、可靠性增 長模型、程序結(jié)構(gòu)分析模型、輸入域分類模型、執(zhí)行路徑分析方法模型、非齊次泊松過程模 型、馬爾可夫過程模型和貝葉斯分析模型。軟件可靠性模型的選擇主要考慮以下 4個方面:(1) 模型假設(shè)的適用性:模型假設(shè)是可靠性模型的基礎(chǔ),模型假設(shè)需要符合軟件系統(tǒng)的現(xiàn)有狀況,在軟件系統(tǒng)中與假設(shè)沖突的因素達到幾乎不存在的程度。往往一個模型的假設(shè)很多,需要在選擇模型時對每一條假設(shè)進行分析,評估現(xiàn)有軟件系統(tǒng)中不符合假設(shè)的因素對可靠性 評價有多大影響,以確定模型是否符合軟件系統(tǒng)的可靠性評價工作。(2) 模型預(yù)測的能力與質(zhì)量:預(yù)

溫馨提示

  • 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)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論