2013年系统架构师考试题详解
考試科目一:綜合知識
某操作系統采用分頁存儲管理方式,下圖給出了進程A和進程B的頁表結構,如果物理頁的大小為512字節,那么進程A邏輯地址為1111(十進制)的變量存放在(1)號物理內存頁中。假設進程A的邏輯頁4與進程B的邏輯頁5要共享物理頁8,那么應該在進程A頁表的邏輯頁4和進程B頁表的邏輯頁5對應的物理頁處分別填(2)。(1)A.9 B.2 C.4 D.6 (2)A.4、5 B.5、 4 C.5、 8 D.8、8【答案】C D 【解析】本題考查操作系統存儲管理方面的基礎知識。
(1)物理頁的大小為512字節,進程A邏輯地址為1111的變量的邏輯頁號為2,對應的物理頁號為4。
(2)根據題意進程A的邏輯頁4與進程B的邏輯頁5要共享的物理頁8,那么應該在進程A頁表的邏輯頁4對應的物理頁處填8,進程B頁表的邏輯頁5對應的物理頁處也填8。
【答案】C A 【解析】本題考查PV操作方面的基本知識。
因為P1是P2和P3的前驅,當P1執行完需通知P2和P3,應采用V(S.l)V(S2)操作分別通知P2和P3,故a處應填寫V(S1)V(S2);又因為P2是P1和P3的后繼,當P2執行前應測試P1和P3是否執行完,應采用P(S1)P(S3)操作測試P1和P3是否執行完,故b處應填寫P(S1)P(S3);同理,P2是P4的前驅,當P2執行完應通知P4,應采用V(S4)操作分別通知P4,故c處應填寫V(S4)。
因為P3是P1的后繼,當P3執行前應測試P1是否執行完,應采用I_(S2)操作測試P1是否執行完,故d處應填寫P(S2);又因為P3是P2和P4的前驅,當P3執行完應通知P2和P4,應采用V(S3)V(S5)操作通知P5,故e處應填寫V(S3)V(S5);P4是P2和P3的后繼,當P4執行前應測試P2和P3是否執行完,應采用P(S4)P(S5)操作測試P2和P3是否執行完,故f處應填寫P(S4)P(S5)。
【答案】D B 【解析】本題考查關系數據庫方面的基本知識。
(5)由關系模式R的函數依賴集F={A→B,B→C}可以得出A→C,存在傳遞依賴,但不存在非主屬性對碼的部分函數依賴,故R為2NF。又由于分解后的關系模式R1的函數依賴集F1={A→B},關系模式R2的函數依賴集F2={A→C},因此R1、R2分別達到了3NF。
(6)因為F=F1∪F2,所以分解p保持函數依賴。又由于關系模式R(U,F)的一個分解p={R1(U1,F1),R2(U2,F2)}具有無損連接的充分必要的條件是:U1∩U2→U1-U2∈F+或U1∩U2→U2-U1∈F+。分解p是否無損連接分析如下:
∵AB∩AC=A,AB-AC=B,AC-AB=C ∴A→B∈F+,A→C∈F+ ∴根據無損連接的充分必要的條件可知p為無損連接。
【答案】C B 【解析】本題考查關系代數運算方面的基礎知識。
(7)員工關系中的DepID是一個外鍵,為了保證數據的正確性,通過參照完整性加以約束。SQL語言通過使用保留字Foreign
Key定義外鍵,References指明外碼對應于哪個表的主碼。參照完整性定義格式如下: Foreign
Key(屬性名)References表名(屬性名)
可見,若要求DepID參照部門關系DEP的主碼DepID,則可以在定義EMP時用“Foreign Key (DepID)
References DEP (DepID)”進行約束。 (8)
試題(8)要求“查詢開發部的負責人姓名、年齡”的關系代數表達式,選項B是先進行δ2=’開發部(DEP)運算,即在DEP關系中選擇部門名Dname=‘開發部’的元組;然后將EMP關系與其進行EMP.DepID=DEP.DepID的自然連接,并去掉右邊的重復屬性“DEP.DepID”,自然連接后的屬性列為(EmpID,Ename,sex,age,tel,DepID,Dname,Dtel,DEmpID);再此基礎上進行δ1=9運算,即進行員工號EmpID等于部門負責人號DEmpID的選取運算;最后進行屬性列2(Ename)和屬性列4(age)的投影運算。
【答案】A 【解析】本題考查實時操作系統基礎知識》
由于資源共享與進程合作,并發執行的任務(進程)之間可能產生相互制約關系,這些制約關系可分為兩類:競爭與協作。并發進程之間的競爭關系為互斥,并發進程之間的協作關系體現為同步。
同步是因合作進程之間協調彼此的工作而控制S己的執行速度,即因相互合作,相互等待而產生的制約關系。而互斥是進程之間競爭臨界資源而禁止兩個y上的進程同時進入臨界區所發生的制約關系。
題目中一個任務要等待另一個任務發來消息,或建立某個條件后再向前執行,顯然體現的制約關系是任務的同步。
【答案】D 【解析】本題考查嵌入式系統應用基礎知識。
PCI是一種局部總線標準,它是在CPU和原來的系統總線之間插入的一級總線,具體由一個橋接電路實現對這一層的管理,并實現上下之間的接口以協調數據的傳送。
JTAG是一個調試接口,用來供幵發人員調試CPU的工作狀態。JTAG軟件通過該接口控制CPU來調試CPU以及讀寫Flash。
【答案】D 【解析】本題考查嵌入式系統應用基礎知識。 看門狗(Watch
Dog)是一個獨立的定時器電路,有一個定時器控制寄存器,可以設定時間(開狗),到達時間后要置位(喂狗),如果沒有的話,就認為是程序跑飛,就會發出RESET指令。當系統工作正常時,CPU將每隔一定時間輸出一個脈沖給看門狗,即“喂狗”,若程序運行出現問題或硬件出現故障時而無法按時“喂狗”時,看門狗電路將迫使系統自動復位而重新運行程序。
【答案】B 【解析】本題考查實時操作系統基礎知識。
任務是RTOS中最重要的操作對象,每個任務在RTOS的調度下由CPU分時執行。任務的調度目前主要有時間分片式、輪流查詢式和優先搶占式三種,不同的RTOS可能支持其中一種或幾種,其中優先搶占式對實時性的支持最好。
在非實時系統中,調度的主要目的是縮短系統平均響應時間,提高系統資源的利用率,或優化某一項指標;而實時系統中調度的目的則是要盡可能地保證每個任務滿足他們的時間約束,及時對外部請求做出響應。
【答案】B 【解析】本題考查層次化網絡設計原則的基礎知識。
層次化網絡設計應該遵循一些簡單的原則,這些原則可以保證設計出來的網絡更加具有層次的特性:
①在設計時,設計者應該盡量控制層次化的程度,一般情況下,由核心層、匯聚層、接入層三個層次就足夠了,過多的層次會導致整體網絡性能的下降,并且會提高網絡的延遲,但是方便網絡故障排查和文檔編寫。
②在接入層應當保持對網絡結構的嚴格控制,接入層的用戶總是為了獲得更大的外部網絡訪問帶寬,而隨意申請其他的渠道訪問外部網絡是不允許的。
③為了保證網絡的層次性,不能在設計中隨意加入額外連接,額外連接是指打破層次性,在不相鄰層次間的連接,這些連接會導致網絡中的各種問題,例如缺乏匯聚層的訪問控制和數據報過濾等。
④在進行設計時,應當首先設計接入層,根據流量負載、流量和行為的分析,對上層進行更精細的容量規劃,再依次完成各上層的設計。
⑤除去接入層的其他層次,應盡量采用模塊化方式,每個層次由多個模塊或者設備集合構成,每個模塊間的邊界應非常清晰。
【答案】A 【解析】本試題考査網絡需求分析。 工程造價估算是網絡需求分析中的一個重要環節。
主機PC對某個域名進行查詢,最終由該域名的授權域名服務器解析并返回結果,查詢過程如下圖所示。這種查詢方式中不合理的是(15)。(15)A.根域名服務器采用遞歸查詢,影響了性能B.根域名服務器采用迭代查詢,影響了性能C.中介域名服務器采用迭代查詢,加重了根域名服務器負擔D.中介域名服務器采用遞歸查詢,加重了根域名服務器負擔【答案】A 【解析】本試題考查DNS服務器及其原理。 DNS查詢過程分為兩種查詢方式:遞歸查詢和迭代査詢。
遞歸查詢的查詢方式為:當用戶發出查詢請求時,本地服務器要進行遞歸杳詢。這種查詢方式要求服務器徹底地進行名字解析,并返回最后的結果——IP地址或錯誤信息。如果查詢請求在本地服務器中不能完成,那么服務器就根據它的配置向域名樹中的上級服務器進行查詢,在最壞的情況下可能要查詢到根服務器。每次查詢返回的結果如果是其他名字服務器的IP地址,則本地服務器要把查詢請求發送給這些服務器,故進一步的查詢。
迭代查詢的查詢方式為:服務器與服務器之間的查詢采用迭代的方式進行,發出查詢請求的服務器得到的響應可能不是目標的IP地址,而是其他服務器的引用(名字和地址),那么本地服務器就要訪問被引用的服務器,做進一步的查詢。如此反復多次,每次都更接近目標的授權服務器,直至得到最后的結果——目標的IP地址或錯誤信息。
根域名服務器為眾多請求提供域名解析,若采用遞歸方式會大大影響性能。
【答案】C A 【解析】本題考查性能評估的基礎知識。
把應用程序中應用最頻繁的那部分核心程序作為評價計算機性能的標準程序,稱為基準測試程序。作為承載Web應用的Web服務器,對其進行性能評估時,主要關注最大并發連接數、響應延遲、吞吐量等指標。相對來說,對個別數據的丟包率并不是很關心。
【答案】D 【解析】
本題考查電子政務的基礎知識。在社會中,與電子政務相關的行為主體主要有三個,即政府、企(事)業單位及公民。因此,政府的業務活動也主要圍繞著這三個行為主體展開。政府與政府,政府與企(事)業,以及政府與公民之間的互動構成了不同卻又相互關聯的領域。
【答案】C D A 【解析】本題考査企業信息化與電子商務的基礎知識。
企業信息化涉及對企業管理理念的創新,管理流程的優化,管理團隊的重組和管理手段的革新。管理創新是按照市場發展的要求,對企業現有的管理流程重新整合,從作為管理核心的財務、物料管理,轉向技術、物資、人力資源的管理,并延伸到企業技術創新、工藝設計、產品設計、生產制造過程的管理,進而還要擴展到客戶關系管理、供應鏈管理乃至發展到電子商務。
【答案】C D 【解析】本題考查企業信息集成的基礎知識。
企業信息集成是指企業在不同應用系統之間實現數據共享,即實現數據在不同數據格式和存儲方式之間的轉換、來源不同、形態不一、內容不等的信息資源進行系統分析、辨清正誤、消除冗余、合并同類,進而產生具有統一數據形式的有價值信息的過程。企業信息集成是一個十分復雜的問題,按照組織范圍來分,分為企業內部的信息集成和外部的信息集成兩個方面。按集成內容,企業內部的信息集成一般可分為以下四個方面:技術平臺集成,數據集成,應用系統集成和業務過程集成。其中,應用系統集成是實現不同系統之間的互操作,使得不同應用系統之間能夠實現數據和方法的共享;業務過程集成使得在不同應用系統中的流程能夠無縫連接,實現流程的協調運作和流程信息的充分共享。
【答案】C 【解析】本題考查數據挖掘方面的基礎知識。
數據挖掘是從數據庫的大量數據中揭示出隱含的、先前未知的并有潛在價值的信息的非平凡過程,數據挖掘的任務有關聯分析、聚類分析、分類分析、異常分析、特異群組分析和演變分析等等。并非所有的信息發現任務都被視為數據挖掘。例如,使用數據庫管理系統查找個別的記錄,或通過因特網的搜索引擎查找特定的Web頁面,則是信息檢索領域的任務。雖然這些任務是重要的,可能涉及使用復雜的算法和數據結構,但是它們主要依賴傳統的計算機科學技術和數據的明顯特征來創建索引結構,從而有效地組織和檢索信息。
【答案】D 【解析】
本題考查軟件項目開發管理方面的基礎知識。在初始項目范圍說明書&已文檔化的主要的可交付物、假設和約束條件的基礎上準備詳細的項目范圍說明書,是項目成功的關鍵。范圍定義的輸入包括以下內容:
①項目章程。如果項目章程或初始的范圍說明書沒有在項目執行組織中使用,同樣的信息需要進一步收集和開發,以產生詳細的項目范圍說明書。
②項目范圍管理計劃。 ③組織過程資產。 ④批準的變更申請。
【答案】C 【解析】
項目時間管理包括使項目按時完成所必須的管理過程。項目時間管理中的過程包括:活動定義、活動排序、活動的資源估算、活動歷時估算、制定進度計劃以及進度控制。為了得到工作分解結構(Work
Break down Structure,WBS)中最底層的交付物,必須執行一系列的活動,對這些活動的識別以及歸檔的過程就叫做活動定義。
【答案】B 【解析】
可行性分析是所有項目投資、工程建設或重大改革在開始階段必須進行的一項工作。項目的可行性分析是對多因素、多目標系統進行的分析、評價和決策的過程。可行性研究通常從經濟可行性、技術可行性、法律可行性和用戶使用可行性4個方面來進行分析。
經濟可行性也稱為投資收益分析或成本效益分析,主要評價項目的建設戍本、運行成本和項目建成后可能的經濟收益。經濟收益可以分為直接收益、間接收益、有形收益和無形收益等。
技術可行性也稱為技術風險分析,研究的對象是信息系統需要實現的功能和性能,以及技術能力約束。
法律可行性也稱為社會可行性,具有比較廣泛的內容,它需要從政策、法律、道德、制度等社會因素來論證信息系統建設的現實性。
用戶使用可行性也稱為執行可行性,是從信息系統用戶的角度來評估系統的可行性,包括企業的行政管理和工作制度、使用人員的素質和培訓要求等。
【答案】D 【解析】 遺留系統的演化可以采用淘汰、繼承、改造和集成四種策略。
淘汰策略適用于技術含量較低,且具有較低的業務價值的遺留系統,即通過全面重新開發新的系統以代替遺留系統。
若遺留系統的技術含量較低,能滿足企業運作的功能或性能要求,但具布較高的商業機制,目前企業的業務上緊密依賴該系統,這種遺留系統的演化策略為繼承。在開發新系統時,需要完全兼容遺留系統的功能模型和數據模型。為了保證業務的連續性,新老系統必須并行運行一段時間。
對于技術含量較高,本身還有極大的生命力,又具有較高的業務價值,基本上能夠滿足企業業務運作和決策支持需要的遺留系統,采用改造策略進行演化。改造包括系統功能的增強和數據模型的改造兩個方面。
遺留系統的技術含量較高,但其業務價值較低,可能只完成某個部門(或子公司)的業務管理。這種系統在各自局部領域里工作良好,但對于整個企業來說,存在多個這樣的系統,不同的系統基于不同的平臺、不同的數據模型,形成了一個個信息孤島。對于這種遺留系統的演化策略為集成。
【答案】A B 【解析】
逆向工程與重構工程是目前預防性維護采用的主要技術。所謂軟件的逆向工程就是分析已有的程序,尋求比源代碼更高級的抽象表現形式。一般認為,凡是在軟件生命周期內將軟件某種形式的描述轉換成更為抽象形式的活動都可稱為逆向工程。逆向工程導出的信息可以分為如下4個抽象層次。
①實現級:包括程序的抽象語法樹、符號表等信息。 ②結構級:包括反映程序分量之間相互依賴關系的信息,例如調用圖、結構圖等。
③功能級:包括反映程序段功能及程序段之間關系的信息。
④領域級:包括反映程序分量或程序諸實體與應用領域概念之間對應關系的信息。顯然,上述信息的抽象級別越高,它與代碼的距離就越遠,通過逆向工程恢復的難
度亦越大,而自動工具支持的可能性相對變小,要求人參與判斷和推理的工作增多。
【答案】C B 【解析】 類封裝了信息和行為,是面向對象的重要組成部分。在面向對象設計中,類可以分為三種類型:實體類、邊界類和控制類。
①實體類映射需求中的每個實體,實體類保存需要存儲在永久存儲體中的信息。實體類是對用戶來說最有意義的類,通常采用業務領域術語命名,一般來說是一個名詞,在用例模型向領域模型轉化中,一個參與者一般對應于實體類。
②控制類是用于控制用例工作的類,一般是由動賓結構的短語(“動詞+名詞”或“名詞+動詞”)轉化來的名詞。控制類用于對一個或幾個用例所特有的控制行為進行建模,控制對象通常控制其他對象,因此它們的行為具有協調性。
③邊界類用于封裝在用例內、外流動的信息或數據流。邊界類是一種用于對系統外部環境與其內部運作之間的交互進行建模的類。邊界對象將系統與其外部環境的變更隔離開,使這些變更不會對系統其他部分造成影響。
【答案】B A 【解析】 RUP中的軟件過程在時間上被分解為4個順序的階段,分別是初始階段、細化階段、構建階段和移交階段。
初始階段的任務是為系統建立業務模型并確定項目的邊界。細化階段的任務是分析問題領域,建立完善的架構,淘汰項H中最高風險的元素。在構建階段,要開發所有剩余的構件和應用程序功能,把這些構件集成為產品。移交階段的重點是確保軟件對最終用戶是可用的。
基于RUP的軟件過程是一個迭代過程,通過初始、細化、構建和移交4個階段就是一個開發周期,每次經過這4個階段就會產生一代產品,在每一輪迭代中都要進行測試與集成。
【答案】C A 【解析】
裝飾(Decorator)模式可以再不修改對象外觀和功能的情況下添加或考刪除對象功能。它可以使用一種對客戶端來說是透明的方法來修改對象的功能,也就是使用初始類的子類實例對初始對象進行授權。裝飾模式還為對象動態地添加了額外的:重任,這樣就在不使用靜態繼承的情況下,為修改對象功能提供了靈活的選擇。
在以下情況中,應該使用裝飾模式: ?想要在單個對象中動態并且透明地添加責任,而這樣并不會影響其他對象;
?想要在以后可能要修改的對象中添加責任; ?當無法通過靜態子類化實現擴展時。
【答案】C 【解析】 自頂向下方法是一種決策策略。軟件開發涉及作什么決策、如何決策和決策順序等決策問題。
自頂向下方法在任何時刻所作的決定都是當時對整個設計影響最大的那些決定。如果把所有決定分組或者分級,那么決策順序是首先作最高級的決定,然后依次地作較低級的決定。同級的決定則按照隨機的順序或者按別的方法。一個決策的級別是看它距離要達到的最終目的(因此是軟件的實際實現)的遠近程度。從問題本身來看,或是由外(用戶所見的)向內(系統的實現)看,以距離實現近的決定為低級決定,遠的為高級決定。
在這個自頂向下的過程中,一個復雜的問題(任務)被分解成若干個較小較簡單的問題(子任務),并且一直繼續下去,直到每個小問題(子任務)都簡單到能夠i:接解決(實現)為止。
自頂向下方法的優點是: ?可為企業或機構的重要決策和任務實現提供信息。
?支持企業信息系統的整體性規劃,并對系統的各子系統的協調和通信提供保證。
?方法的實踐有利于提高企業人員整體觀察問題的能力,從而有利于尋找到改進企業組織的途徑。 自頂向下方法的缺點是:
?對系統分析和設計人員的要求較高。 ?開發周期長,系統復雜,一般屬于一種高成本、大投資的工程。
?對于大系統而言,自上而下的規劃對于下層系統的實施往往缺乏約束力, ?從經濟角度來看,很難說自頂向下的做法在經濟上市合算的。
【答案】D 【解析】
白盒測試也稱為結構測試,主要用于軟件單元測試階段,測試人員按照程序內部邏輯結構設計測試用例,檢測程序中的主要執行通路是否都能按預定要求正確丁作。白盒測試方法主要有控制流測試、數據流測試和程序變異測試等。
控制流測試根據程序的內部邏輯結構設計測試用例,常用的技術是邏輯覆蓋。主要的覆蓋標準有語句覆蓋、判定覆蓋、條件覆蓋、條件/判定覆蓋、條件組合覆蓋、修正的條件/判定覆蓋和路徑覆蓋等。
語句覆蓋是指選擇足夠多的測試用例,使得運行這些測試用例時,被測程序的每個語句至少執行一次。
判定覆蓋也稱為分支覆蓋,它是指不僅每個語句至少執行一次,而且每個判定的每種可能的結果(分支)都至少執行一次。
條件覆蓋是指不僅每個語句至少執行一次,而且使判定表達式中的每個條件都取得各種可能的結果。
條件/判定覆蓋同時滿足判定覆蓋和條件覆蓋。它的含義是選取足夠的測試用例,使得判定表達式中每個條件的所有可能結果至少出現一次,而且每個判定本身的所有可能結果也至少出現一次。
條件組合覆蓋是指選取足夠的測試用例,使得每個判定表達式中條件結果的所有可能組合至少出現一次。
修正的條件/判定覆蓋。需要足夠的測試用例來確定各個條件能夠影響到包含的判定結果。
路徑覆蓋是指選取足夠的測試用例,使得程序的每條可能執行到的路欄都至少經過一次(如果程序中有環路,則要求每條環路路徑至少經過一次)。
【答案】B 【解析】
面向對象系統的測試目標與傳統信息系統的測試目標是一致的,但面向對象系統的測試策略與傳統結構化系統的測試策略有很大的不同,這主要體現在兩個方面,分別是測試的焦點從模塊移向了類,以及測試的視角擴大到了分析和設計模型。
與傳統的結構化系統相比,面向對象系統具有三個明顯特征,即封裝性、繼承性與多態性。封裝性決定了面向對象系統的測試必須考慮到信息隱蔽原則對測試的影響,以及對象狀態與類的測試序列,因此在測試一個類時,僅對該類的每個方法進行測試是不夠的;繼承性決定了面向對象系統的測試必須考慮到繼承對測試充分性的影響,以及誤用引起的錯誤;多態性決定了面向對象系統的測試必須考慮到動態綁定對測試充分性的影響、抽象類的測試以及誤用對測試的影響。
【答案】A A B 【解析】本題主要考查軟件系統架構的基礎知識。
軟件系統架構是關于軟件系統的結構、行為和屬性的高級抽象。在描述階段,主要描述直接構成系統的抽象組件以及各個組件之間的連接規則,特別是相對細致地描述組件的交互關系。在實現階段,這些抽象組件被細化為實際的組件,比如具體類或者對象。軟件系統架構不僅指定了軟件系統的組織和拓撲結構,而且顯示了系統需求和組件之間的對應關系,包括設計決策的基本方法和基本原理。
【答案】C 【解析】本題主要考查軟件架構風格的定義。
軟件架構風格是描述某一特定應用領域中系統組織方式的慣用模式。架構風格定義了一類架構所共有的特征,主要包括架構定義、架構詞匯表和架構約束。
【答案】D 【解析】本題主要考查軟件架構基礎知識。
軟件架構能夠在設計變更相對容易的階段,考慮系統結構的可選方案,便于技術人員與非技術人員就軟件設計進行交互,能夠展現軟件的結構、屬性與內部交互關系。但是軟件架構與用戶對系統的功能性需求沒有直接的對應關系。
【答案】B C 【解析】本題主要考查特定領域軟件架構的基礎知識。 特定領域軟件架構(Domain Specific Software
Architecture,DSSA)是在一個特定應用領域中,為一組應用提供組織結構參考的標準軟件體系結構。DSSA通常是一個具有三個層次的系統模型,包括領域開發環境、領域特定應用開發環境和應用執行環境,其中應用工程師主要在領域特定應用開發環境中工作。
【答案】B C A B D 【解析】本題主要考查軟件架構風格的理解和掌握。
根據題干描述,傳統的編譯器設計中,編譯處理過程都以獨立功能模塊的形弍存在,程序源代碼作為一個整體,依次在不同模塊中進行傳遞,最終完成編譯過程。針對這種設計思路,傳統的編譯器采用順序批處理架構風格比較合適,因為在順序批處理架構風格中,數據以整體的方式在不同的處理模塊之間傳遞,符合題目要求。
集成開發環境(IDE)需要面對不同的數據結構,不同的數據類型與形態,在這種以數據為核心的系統中,采用數據共享機制顯然是最為合適的。IDE強調交互式編程,用戶在修改程序代碼后,會同時觸發語法高亮顯示、語法錯誤提示、程序結構更新等多種功能的調用與結果呈現,這一需求的核心在于根據事件進行動作響應,采用隱式調用的架構風格最為合適。
根據題干描述,公司需要對IDE進行適應性改造,支持采用現有編程語言進行編程,生成符合新操作系統要求的運行代碼,并能夠在現有操作系統上模擬出新操作系統的運行環境,以支持代碼調試工作。針對上述要求,為了使IDE能夠生成符合新操作系統要求的運行代碼,應該是現有操作系統對新系統的一個適配過程,因此應該采用適配器架構設計策略比較合適,模擬新操作系統的運行模式通常會采用虛擬機架構風格。
【答案】A C D B C 【解析】本題主要考查采用基于架構的軟件設計的基礎知識與應用。
基于架構的軟件設計(Architecture-Based Software
Design,ABSD)方法有三個基礎,分別是對系統進行功能分解、采用架構風格實現質量屬性與商業需求、采用軟件模板設計軟件結構。ABSD方法主要包括架構需求等6個主要活動,其中架構復審活動的目標是標識潛在的風險,及早發現架構設計中的缺陷和錯誤;架構演化活動針對用戶的需求變化,修改應用架構,滿足新的需求。
軟件架構文檔應該從使用者的角度進行書寫,針對不同背景的人員采用不同的書寫方式,并將文檔分發給相關人員。架構文檔要保持較新,但不要隨時保證文檔最新,要保持文檔的穩定性。架構文檔化的主要輸出結果是架構規格說明書和架構質量說明書。
【答案】C A C D A D C 【解析】本題主要考查架構權衡分析方法(Architecture Tradeoff
AnalysisMethod,ATAM)的基礎知識與應用。 架構權衡分析方法(Architecture Tradeoff Analysis
Method,ATAM)是一種系統架構評估方法,主要在系統開發之前,針對性能、可用性、安全性和可修改性等質量屬性進行評價和折中。ATAM可以分為4個主要的活動階段,包括需求收集、架構視圖描述、屬性模型構造和分析、架構決策與折中,整個評估過程強調以屬性作為架構評估的核心概念。題干描述中,“系統在進行文件保存操作時,應該與Windows系統的操作方式保持一致”,討論的是針對使用系統的用戶的習慣問題,這與易用性相關。“系統應該提供一個開放的API接口,支持遠程對系統的行為進行控制與調試”這個描述與系統的可測試性相關。在識別出質量屬性描述后,通常采用效用樹對質量屬性的描述進行刻畫與排序。在評估過程中,權衡點是一個會影響多個質量屬性的架構設計決策。
【答案】B 【解析】本試題考查認證服務。 Kerberos可以防止偷聽和重放攻擊,保護數據的完整性。Kerberos的安全機制如下。 ?
AS(Authentication Server):認證服務器,是為用戶發放TGT的服務器。 ? TGS(Ticket Granting
Server):票證授予服務器,負責發放訪問應用服務器時需要的票證。認證服務器和票據授予服務器組成密鑰分發中心(Key
DistributionCenter,KDC)。 ? V:用戶請求訪問的應用服務器。 ? TGT(Ticket Granting
Ticket):用戶向TGS證明自己身份的初始票據,即KTGS(A,Ks)。 公鑰基礎結構(Public Key
Infrastructure,PKI)是運用公鑰的概念和技術來提供安全服務的、普遍適用的網絡安全基礎設施,包括由PKI策略、軟硬件系統、認證中心、注冊機構(Registration
Authority,RA)、證書簽發系統和PKI應用等構成的安全體系。
【答案】B 【解析】本試題考查Kerberos系統認證。 時間戳可用來進行防重放攻擊。
以下關于為撰寫學術論文引用他人資料的敘述中,錯誤的是(66) (66)A.既可引用發表的作品,也可引用未發表的作品B.只能限于介紹、評論或為了說明某個問題引用作品C.只要不構成自己作品的主要部分,可引用資料的部分或全部D.不必征得著作權人的同意,不向原作者支付合理的報酬【答案】A 【解析】
作品實際上是在吸納和借鑒前人的多種智力成果的基礎上而逐漸創作出來的。為了讓作品能被更多的人所傳播、利用與掌握,以有利于技術和文化的進步、發展,著作權法一方面向著作人授予精神、經濟專有權利并保護這些權利所帶來的利益,同時又對權利人行使其專有權利給予了一定的限制,便于公眾接觸、使用作品,為進一步提高技術和文化提供條件。
著作權的限制主要體現在合理使用、法定許可使用兩個方面。合理使用是指在特定的條件下,法律允許他人自由使用享有著作權的作品而不必征得著作權人的同意,也不必向著作權人支付報酬的行為,但應當指明作者姓名、作品名稱,并且不得侵犯著作權人依照本法享有的其他權利。法定許可使用是指除著作權人聲明不得使用外,使用人在未經著作權人許可的情況下,在向著作權人支付報酬時,指明著作權人姓名、作品名稱,并且不侵犯著作權人依法享有的合法權利的情況下進行使用的行為。法定許可使用與合理使用的相同處在于:以促進社會公共利益、限制著作權人權利為目的;使用的作品限于已發表作品;無須征得著作權人的同意,但必須注明作者姓名、作品名稱。我國著作權法第二十二條具體規定了合理使用的12種情形,一種情形是“為介紹、評論其一作品或者說明某一問題,在作品中適當引用他人己經發表的作品。”題千所述“引用”是合理使用的一種,引用目的僅限于介紹、評論某一作品或者說明某一問題,所引用部分不能構成引用人作品的主要部分或者實質部分。
【答案】A 【解析】
著作權客體的排除領域分為不受著作權法保護的作品和不適用著作權法的作品。不受著作權法保護的作品是指違禁作品,即因內容違反法律而被禁止出版、傳播的作品。我國著作權法第4條規定:“依法禁止出版、傳播的作品,不受本法保護。”如果作品的思想傾向和情感表達的內容與形式違反法律、危害公眾或破壞社會的善良風俗,將被依法禁止出版傳播,不受著作權法保護,如計算機病毒程序、淫穢的美術作品等。對于依法禁止出版、傳播的作品,不僅不給予保護,如果出版和傳播了這類作品還要視其情節輕重,依法追究行為人的行政責任,甚至是刑事的責任。我國著作權法第5條列舉了三類不適用著作權法的作品,即時事新聞;歷法、通用數表、通用表格和公式;法律、法規、國家機關的決議、決定、命令和其他具有立法、行政、司法性質的文件,及其官方正式譯文。
我國著作權法第3條、第6條規定了各類受著作權法保護的作品類型,包括文字作品(如小說、論文、劇本)、口述作品(如即興演說、法庭辯論)、藝術作品(如音樂、戲劇、曲藝、舞蹈)、美術作品(如繪畫、書法、雕塑),以及攝影作品、電影作品、圖形作品、模型作品、計算機軟件、民間藝術作品等。
【答案】B 【解析】
我國著作權法在第10條對權利內容作了較為詳盡而具體的規定,指明著作權的內容包括人身權利和財產權利。著作人身權是指作者享有的與其作品有關的以人格利益為內容的權利,也稱為精神權利,包括發表權、署名權、修改權和保護作品完整權。著作人身權與作者的身份緊密聯系,永遠屬于作者本人,即使作者死亡,其他任何人不能再擁有它。所以,我國著作權法第20條規定“作者的署名權;修改權、保護作品完整權的保護期不受限制”。
發表權是屬于人身權利,但發表權是一次性權利,即發表權行使一次后,不再享有發表權。發表權是指決定作品是否公之于眾的權利,作品一經發表,就處于公知狀態,對處于公知狀態的作品,作者不再享有發表權,以后再次使用作品與發表權無關,而是行使作品的使用權。
【答案】A 【解析】本題考查數學應用的能力(優化運籌)。 節省時間的安排方法必然是緊隨銜接和盡可能并行安排生產。
第1個產品的設計和最后1個產品的檢驗是無法與其他工作并行進行的,因此,應安排“首個設計時間+末個檢驗時間”盡可能短。為此,應先安排生產丁,最后安排生產丙。
如果按丁、甲、乙、丙順序實施,則共需84天,如下圖所示。
如果按丁、乙、甲、丙順序實施,則共需86天,如下圖所示。
【答案】C 【解析】本題考查數學應用能力(概率)。
設1路和2路公交車將分別在x和y分鐘內到達該站,則x和y是在[0,10]內獨立均勻分布的隨機變量。本題需要計算||x-y|≤4的概率。
平面上的點(x,y)必然在正方形[0,10:0,10]內均勻分布。|x-y|≤4的概率應當等于該正方形中|x-y|≤4的部分面積的比例。
該正方形的面積為100,其中|x-y|≤4部分的面積為64(如下圖),因此,|x-y|≤4的概率為0.64。
【答案】C C B D A 【解析】
系統架構是一個系統的一種表示,包含了功能到軟硬件構件的映射、軟件架構到硬件架構的映射以及對于這些組件人機交互的關注。也就是說,系統架構關注于整個系統,
包括硬件、軟件和使用者。軟件架構結構根據其所展示元素的廣義性質,可以被分為三個主要類別。①模塊結構將決策體現為一組需要被構建或采購的代碼或數據單元。②構件連接器結構將決策體現為系統如何被結構化為一組具有運行時行為和交互的元素。
③分配結構將決策體現為系統如何在其環境中關聯到非軟件結構,如CPU、文件系統、 網絡、開發團隊等。
考試科目二:案例分析
試題一 某航空公司希望對構建于上世紀七八十年代的主要業務系統進行改造與集成,提高企業的競爭力。由于集成過程非常復雜,公司決定首先以Ramp Coordination系統為例進行集成過程的探索與驗證。 在航空業中,Ramp Coordination是指飛機從降落到起飛過程中所需要進行的各種業務活動的協調過程。通常每個航班都有一位員工負責Ramp Coordination,稱之為Ramp Coordinatoro由Ramp Coordinator協調的業務活動包括檢查機位環境、卸貨和裝貨等。 由于航班類型、機型的不同,RampCoordination的流程有很大差異。圖1-1(a)所示的流程主要針對短期中轉航班,這類航班在機場稍作停留后就起飛;圖1-1(b)所示的流程主要針對到達航班,通常在機場過夜后第二天起飛;圖1-1(c)所示的流程主要針對離港航班,這類航班是每天的第一班飛機。這三種類型的航班根據長途/短途、國內/國外等因素還可以進一步細分,每種細分航班類型的Ramp Coordination的流程也咯有不同。為了完成上述業務,Ramp Coordination信息系統需要從乘務人員管理系統中提取航班乘務員的信息、從訂票系統中提取乘客信息、從機務人員管理系統中提取機務人員信息、接收來自航班調度系統的航班到達事件。其中乘務人員管理系統和航班調度系統運行在大型主機系統中,機務人員管理系統運行在Unix操作系統之上,訂票系統基干Java語言,具有Web界面,運行在Linux操作系統之上。 目前RampCoordination信息系統主要由人工完成所有協調工作,效率低且容易出錯。公司領導要求集成后的Ramp Coordination信息系統能夠針對不同需求迅速開.要業務流程,靈活、高效地完成協調任務。 針對上述要求,公司IT部門的架構師經過分析與討論,最終采用面向服務的架構,以服務為中心進行Ramp Coordination信息系統的集成工作。【問題1】 服務建模是對Ramp Coordination信息系統進行集成的首要工作,公司的架構師首先對Ramp
Coordination信息系統進行服務建模,識別出系統中的兩個主要業務服務組件: (1) Ramp
Control:負責RampCoordination信息系統中相關各種業務活動的組件; (2) Flight
Management:負責航班相關信息的管理,包括航班日程,乘客信息等。
本問題主要考查系統需求分析的基礎知識,要求考生能夠根據題干描述,找出兩個核心業務服務組件RampControl和FlightManagement對外提供的服務,考生需要仔細閱讀題干描述,總結需要提供的服務,并進行歸類。
【問題2】 對Ramp
Coordination信息系統的集成涉及對乘務人員管理系統、航班調度系統、機務人員管理系統和訂票系統的組織與協調,公司架構師決定采用企業服務總線(Enterprise
Service
Bus,ESB)技術進行系統集成,請用200字以內的文字對ESB的定義進行描述,給出ESB的五個主要功能,并針對題干描述,將恰當的內容填入圖1-2中的(1)?(6)。
企業服務總線(Enterprise Service
Bus,ESB)是傳統中間件技術與XML、Web服務等技術結合的產物,主要支持異構系統集成。ESB基于內容的路由和過:慮,具備復雜數據的傳輸能力,并可以提供一系列的標準接口。
ESB的主要功能有: (1) 服務位置透明性; (2) 傳輸協議轉換; (3) 消息格式轉換; (4) 消息路由; (5) 消息增強;
(6) 安全性; (7) 監控與管理。
本問題主要考查企業服務總線(EnterpriseServiceBus,ESB)的基本概念和主要功能。企業服務總線是傳統中間件技術與XML、Web服務等技術結合的產物,主要支持異構系統集成。ESB基于內容的路由和過濾,具備復雜數據的傳輸能力,并可以提供一系列的標準接口。ESB的主要功能有:服務位置透明性;傳輸協議轉換;消息格式轉換;消息路由;消息增強;安全性;監控與管理等。在采用ESB進行系統集成時,各個現有系統將會以模塊的形式接入ESB中,需要明確與ESB交換的數據,因此考生需要根據題干描述,明確要接入的系統和該系統需要提供或交換的數據。
【問題1】 請用400字以內文字說明王工擬編制的項目計劃中應包括哪些內容。 王工在接到任務后開始項目計劃的編制工作,編制的計劃應包括:
(1) 項目總計劃(包括范圍計劃、工作范圍定義、活動定義、資源需求、資源計劃、活動排序、費用估算、進度計劃及費用計劃)》 (2)
項目輔助計劃(質量計劃、溝通計劃、人力資源計劃、風險計劃、采購計劃)。
本問題考查項目計劃的主要內容。項目計劃通常包含兩個部分:項目總計劃包括范圍計劃、工作范圍定義、活動定義、資源需求、資源計劃、活動排序、費用估算、進度計劃及費用計劃;項目輔助計劃包括質量計劃、溝通計劃、人力資源計劃、風險計劃、采購計劃。
【問題2】 請根據表2-1,分別給出正常工作和最短工期兩種情況下完成此項目所需的時間和費用。 (1)
正常工作:時間41天,成本74200元; (2) 最短工期:時間27天,成本91600元。
本問題考查項目計劃中的進度計劃。根據表2-1中所列任務、時間和任務間依賴關系,分別繪制正常和加班兩種情況下項目開發的PERT圖,分別找出最長的路徑即關鍵路徑。正常工作情況下,所需時間為41天,費用74200元;加班工作情況’其最短工期為27天,費用91600元。
【問題3】 如果項目在系統調研階段用了7天時間才完成,公司要求盡量控制成本,王工可在后續任務中采取什么措施來保證項目能按照正常工作進度完成?
在“B提交項目計劃”和“I安裝部署”任務中采用加班工作措施,以使得項目能夠按照正常工作進度完成。
本問題考查項目計劃中的任務調度。正常工作所需時間為41天,由干系統調研任務多花費了3天時間,所以后續任務必須加班工作才能保證項目按照正常工作進度完成。為了滿足題目要求,后續所調整的任務必須滿足兩個條件:
(1)調整位于關鍵路徑上的關鍵任務; (2)調整這些任務所增加的成本最小。
經過計算關鍵任務每減少一天的費用可知,任務B的300元/天和任務I的500元/天為最小值。所以,可以在“B提交項目計劃”和“I安裝部署”任務中采用加班工作措施,以使得項目能夠按照正常工作進度完成。
【問題4】 如果企業CEO想在34天后系統上線,王工應該采取什么措施來滿足這一要求?這種情況下完成項目所需的費用是多少?
在“A系統調研”、“B提交項目計劃”、“H測試修改”和“I安裝部署”任務中采用加班工作措施。項目所需費用79700元。
本問題考查項目計劃中的任務調度。為了滿足題目要求,可在【問題3】的基礎上,計算任務A每減少一天的成本,再綜合計算41-34=7天所增加成本的最小值。計箅后可知,除了任務B和任務I外,任務H的1000元/天和任務A的1200元/天為關鍵任務的最小值。需要注意的是任務E為600元/天,但其不是關鍵任務,所以調整該任務對整個項目的開發工期沒有影響。所以,在“A系統調研”、“B提交項目計劃”、“H測試修改”和“I安裝部署”任務中采用加班工作措施。項目所需費用79700元。
試題三 故障(失效)模型影響分析FMEA是分析產品所有可能的故障模式及其可能產生的影響,并按每個故障模式產生影響的嚴重程度及其發生概率予以分類的一種歸約分析方法。近年來,FMEA方法已被廣泛用于安全關鍵系統的嵌入式軟件可靠性分析工作。 某軟件公司承擔了一項通信軟件的開發項目。該項目由FC系統、DY系統和GD系統組成,而DY系統(TMS320C25S)軟件負責按系統的通信協議完成與FC系統的通信,圖3-1給出了該通信軟件的約定層次圖。公司高層將項目交給王工,王工認為比項目是安全關鍵系統,安全等級應為II類(致命的),因此應開展軟件的FMEA分析。【問題1】 請閱讀以下有關FMEA的描述,將恰當的內容填入(1)?(7)。
FMEA是FMA(故障模式分析)和FEA(故障影響分析)的組合,它對系統各種可能的風險進行評價、分析后,在現有技術的基礎上消除這些風險或將這些風險降低到可接受的水平。為達到最佳效益,FMEA必須在產品研制初期進行。
FMEA實際是一組系列化的活動,其主要活動包括: (1)
; (2) ; (3)
。 由于產品故障可能與設計、制造過程、使用、承包商/供應商以及服務孖關,因此FMEA又細分為(4)FMEA、(5) FMEA、(6)
FMEA和__(7}_FMEA四類。 (1)找出產品/過程中潛在的故障模式 (2) 根據相應的評價體系對找出的潛在故障模式進行風險量化評估
(3) 列出故障起因/機理,尋找預防或改進措施 (4) 設計 (5) 過程 (6) 使用 (7) 服務
本問題主要考查考生對FMEA的理解程度。在做FMEA分析之前考生必須清楚三種主要活動,其一是分析系統或產品有可能存在故障模式,其二是對每一種故障模式開展風險評估(量化分析),其三對故障機理進行分析,制定出預防和改進措施。風險評估可采用多種方法,對軟件而言,嚴酷度等級(SESR)、發生概率等級(SOPR)和被檢測難度等級(SDDR)是評估的主要評價參數,這些等級通常以經驗或專家評判方法獲取。考生應該清楚,FMEA方法可適用產品整個生命周期的各類活動,不同活動可采月不同的評估方法。通常存在四種FMEA,設計FMEA、過程FMEA、使用FMEA和服務FMEA。
【問題2】
從圖3-1可以看出,CSU01通信模塊是該項目的關鍵模塊,主要功能定義為:總線通信控制器自動完成一幀數據的接收,存入數據緩沖區,并產生中斷(INTO),通知CPU從數據緩沖區中讀取數據;CPU讀完數據后,將準備好的發送數據寫至數據緩存區,寫完后通知總線通信控制器自動完成一幀數據的發送。CRC校驗由外部電路完成判別,其結果通過數據線上的相應位進行標識。針對CSU01通信模塊,簡要描述實施FMEA的具體內容,填寫完成表3-1的(1)?(5)。
(1) 根據通信協議,可按接收數據功能和發送數據功能分別確定故障模式; (2)
故障原因分為總線通信控制器原因、對方發送的原因和自身程序的原因; (3) 針對每個故障模式分析其對本模塊直至整個DY系統造成的影響; (4)
采用風險優先數RPN方法進行該通信模塊的危害性分析; (5)
根據以上故障模式、原因、影響及危害性的分析結果,綜合考慮故障的影響及SRPN值等情況,對每個故障模式制定了相應的改進措施。
給出了CSU01通信模塊的工作原理,考生可根據自己原先掌握的嵌入式數據采集的基本工作經驗,回答出FMEA分析工作5個步驟中具體內容。回答的要點可以這樣考慮如下:
(1) 影響數據交換的主要失效原因不外乎發生在輸入(接收)、輸出(發送)操作上,因此可從這兩方面入手; (2)
故障原因分析可將產生故障的點定位在三方面,即硬件控制器、發送方和自身缺陷; (3)
故障影響分析,按照FMEA的分層思想,根據3-1結構,影響范圍可以包括對本軟件模塊(INT0-ISR)的影響、對上一層軟件(DY軟件)的影響和對最終DY系統的影響;
(4)
危害分析和改進措施,軟件FMEA通常采用風險優先數RPN方法分析,改進措施通常就是根據危害性分析結果和風險優先數等情況,逐一對故障模式制定改進措施。
如果清楚了問題1和問題2所給出一些分析概念的話。 【問題3】
表3-2給出針對該項目的CSU01通信模塊的軟件故障(失效)模型影響分析FMECA表(局部),請根據此題描述情況填寫表3-2中的(1)?(7)。 注:表3-2中的SRPN(軟件風險優先數)=SESR(軟件故障模式的嚴酷度等級)XSOPR(軟件故障模式的發生概率等級)XSDDR(軟件故障模式的被檢測難度等級)。
(1) 程序寫0C300H地址單元不當 (2) 無法響應INTO中斷 (3) 線路誤碼 (4) 通信錯誤 (5) 程序控制錯誤 (6)
210 (7)數據發送始終不成功數據發送始終不成功
只要有實踐經驗,可通過表3-2中的相關信息正確判斷出相應內容。這里要說明的是故障模式5由于其軟件風險優先數(SRPN)很高(336),在設計時應重點關注。
試題四 某商業銀行欲開發一套個人銀行系統,為用戶提供常見的金融服務,包括轉賬、查詢、存款變更和個人信息管理等功能。該軟件除了業務需求外,還有一些特殊的表現層需求: (1) 根據用戶級別的不同,界面和可用功能是不同的; (2) 支持Web、Windows、手機App等多種不同類型的界面; (3) 考慮到將來功能的擴展,需要系統支持界面的定制以及動態生成等功能,以降低系統維護和新功能發布的成本。 經過對需求的討論,該銀行初步決定采用MVC模式設計該個人銀行系統的表現層,采用XML作為GUI的描述語言,并應用XML的界面管理技術來實現靈活的界面配置、界面動態生成和界面定制。【問題1】 MVC模式強制性地將一個應用處理流程按照模型、視圖、控制的方式進行分離,三者的協作關系如圖4-1所示。
請填寫圖4-1中的(1)?(3),并簡要說明在該個人銀行系統中采用MVC模式對界面設計的作用。 (1)選擇視圖; (2)業務處理;
(3)狀態查詢 MVC模式對該個人銀行系統的作用: (1) 允許多種界面的擴展,視圖的變更與增加,與模型無關; (2)
易于維護,控制器和視圖隨著模型的擴展而擴展,只要保持公共接口,控制器和視圖的舊版本可以繼續使用; (3) 可支持功能強大的用戶界面。
本題考查層次式架構設計中表現層框架設計的相關知識。軟件體系結構設計中,層次設計是一種常見的架構設計方法,使設計的系統結構清晰,便于提高復用能力和產品維護能力。
本問題考查MVC設計模式在表現層設計中的應用。MVC是一種目前廣泛流行的軟件設計模式。MVC強制性地將一個應用處理流程按照模型、視圖、控制的方式進行分離,形成了控制器、模型、視圖三個核心模塊。
(1)
控制器:接受用戶的輸入并調用模型和視圖去完成用戶的請求。一方面接受視圖的輸入,將其轉為對模型特定方法的調用;一方面處理來自模型的事件,調用適當的視圖反饋給用戶。
(2) 模型:應用程序的主體部分,表示業務數據和業務邏輯,可以為多個視圖提供數據。 (3)
、見圖:用戶看到并與之交互的界面。視圖可以向模型查詢業務狀態,接收模型的數據更新事件,同步更新界面。 三者協作關系如圖4-3所示。
使用MVC設計表現層,具有以下優點: (1)
允許多種用戶界面的擴展。在MVC模式中,視圖與模型沒有必然的聯系,都是通過控制器發生聯系,如果增加新類型的用戶界面,只需修改響應的控制器和視圖即可,模型無需變動;
(2) 易于維護。控制器和視圖隨著模型的擴展而擴展,只要保持公共接口,控制器和視圖的舊版本可以繼續使用; (3)
支持功能強大的用戶界面。用戶界面與模型方法調用組合起來,使程序的使用更清晰,可將友好的界面發布給用戶。
【問題2】 請從設計模式的角度,簡要說明設計方案采用XML作為GUI描述語言的機制。
從設計模式的角度來說,整個XML表現層解柝的機制是一種策略模式。在調用顯示GUI時,不是直接調用特定的表現技術的API,而是裝載GUI對應的XML配置文件,然后根據特定的表現技術的解析器解析XML,得到GUI視圖實例對象。這樣,對于GUI開發人員來說,GUI視圖只需要維護一套XML文件即可。
本問題考查XML作為表現層控件描述語言的相關知識。
對于應用系統而言,GUI主要是由GUI控件組成。控件本身可以被看作是一個數據對象,包含控件的位置信息、類型和綁定的事件等。因此可以采用XML來描述,將控件作為數據節點保存,控件的相關屬性描述為該節點的屬性。而XML本身是一種樹形結構描述語言,可以很好地支持控件之間的層次結構。而應用程序的表現層僅需要針對該XML語言進行解析,再加上應用系統特有的表現技術,即可以實現應用系統的界面。
從設計模式的角度來說,整個XML表現層解析的機制是一種策略模式。在調用顯示GUI時,不是直接調用特定的表現技術的API,而是裝載GUI對應的XMLS3置文件,然后根據特定的表現技術的解析器解析XML,得到GUI視圖實例對象。這樣,對于GUI開發人員來說,GUI視圖只需要維護一套XML文件即可。
【問題3】
基于XML的界面管理技術可實現靈活的界面配置、界面動態生成和界面定制,其思路是用XML生成配置文件及界面所需的元數據,按不同需求生成界面元素及軟件界面,其技術框圖如圖4-2所示。
請將恰當的內容填入圖4-2中的(1)?(3),并簡要解釋說明其含義。
本問題考查基于XML的界面管理相關知識。
基于XML的界面管理技術可以實現靈活的界面配置、界面動態生成和界面定制。其思路是用XML生成配置文件及界面所需的元數據,按照不同需求生成界面元素和軟件界面。基本思路如圖4-4所示。
界面定制是對用戶界面的動態修改過程,在軟件運行過程中,用戶可按照需求和使用習慣,對界面元素的屬性進行修改。軟件運行結束后,界面定制的結果被保存。
界面動態生成是系統通過DOMAPI讀取XML配置文件的表示層信息,通過數據存取類讀取數據庫中的數據層信息,運行時由界面元素動態生成界面。界面配置和定制模塊在軟件運行前后修改配置文件、更改界面內容。
界面配置是對用戶界面的靜態定義,通過讀取配置文件的初始值對界面配置。由界面配置對軟件功能進行裁剪、重組和擴充,以實現特殊需求。
基于XML的界面管理技術實現的管理信息系統實現了用戶界面描述信息與功能實現代碼的分離,可針對不同用戶需求進行界面配置和定制,能適應一定程度的數據結構改動。只需要對XML文件稍加修改,即可實現系統的移植。
【問題1】
在確定該支撐平臺所采用的用戶身份鑒別機制時,王工提出采用基于口令的簡單認證機制,而李工則提出采用基于公鑰體系的認證機制。項目組經過討論,確定采用基于公鑰體系的機制,請結合上述需求具體分析采用李工方案的原因。
(1)
基于口令的認證方式實現簡單,但由于口令復雜度及管理方面的原因,易受到認證攻擊;而在基于公鑰體系的認證方式中,由于其密鑰機制的復雜性,同時在認證過程中私鑰不在網絡上傳輸,因此可以有效防止認證攻擊,與基于口令的認證方式相比更為安全。
(2)
按照需求描述,在完成用戶身份鑒別后,需依據用戶身份進一步對業務數據進行安全保護,且受保護數據中包含用戶私有的終端機數據文件,在基于口令的認證方式中,用戶口令為用戶和認證服務器共享,沒有用戶獨有的直接秘密信息,而在基于公鑰的認證方式中,可基于用戶私鑰對私有數據進行加密保護,實現更加簡便。
(3)
基于公鑰體系的認證方式協議和計算更加復雜,因此其計算復雜度要高?基于口令的認證方式,但業務環境的總用戶數在100人以內,用戶規模不大,運行環境又為局域網環境,因此基于公鑰體系的認證方式可滿足平臺效率要求。
本問題考查身份認證機制的特點及應用范圍,基于口令的認證機制實現簡單,但其安全性較低,易受認證攻擊,而基于公鑰體系的認證方式中,由于其密鑰機制的復雜性,同時在認證過程中私鑰不在網絡上傳輸,因此可以有效防止認證攻擊,與基于口令的認證方式相比更為安全。【說明】中第(3)與第(7)條需求要求依據用戶身份對業務數據進行安全保護,且受保護數據中包含用戶私有的終端機數據文件,在基于口令的認證方式中,用戶口令為用戶和認證服務器共享,沒有用戶獨有的直接秘密信息,而在基于公鑰的認證方式中,可基于用戶私鑰對私有數據進行加密保護,實現更加簡便。但基于公鑰的認證方式計算復雜,同時【說明】中第(10)條需求表明業務環境的總用戶數在100人以內,用戶規模不大,運行環境又為局域網環境,因此基于公鑰體系的認證方式可滿足平臺效率要求。綜上不難看出,采用基于公鑰體系的機制更符合題目中給出的具體需求。
【問題2】
針對需求(7),項目組經過討論,確定了基于數字信封的加密方式,其加密后的文件結構如圖5-1所示。請結合需求說明對文件數據進行加密時,應采用對稱加密的塊加密方式還是流加密方式,為什么?并對該機制中的數據加密與解密過程進行描述。
應采用流加密方式。因為需求中提及“單個敏感數據文件可能會達到數百兆的規模”,文件數據量較大,使用流加密方式可以獲得更高的加解密效率。
數據加密與解密過程如下:
其加密過程為:首先生成一個對稱密鑰,使用用戶公鑰加密這個對稱密鑰后存儲在文件頭,然后用生成的對稱密鑰加密文件數據存儲;
其解密過程為:用戶首先使用自己的私鑰解密被加密的對稱密鑰,再用該對稱密鑰解密出數據原文。
本問題考查文件數據的加密保護技術。因為【說明】中第(6)條需求?:是及“單個敏感數據文件可能會達到數百兆的規模”,文件數據量較大,使用流加密方式可以獲得更高的加解密效率,因此應采用流加密方式。該機制中數據加密與解密過程屬于常規的基于數字信封的加解密方式,屬于基本的信息安全知識。
【問題3】
對數據庫服務器中的敏感關系數據進行加密保護時,客戶業務系統中的敏感關系數據主要是特定數據庫表中的敏感字段值,客戶要求對不同程度的敏感字段采用不同強度的密鑰進行防護,且加密方式應盡可能減少安全管理與應用程序的負擔。目前數據庫管理系統提供的基本數據加密方式主要包括加解密API和透明加密兩種,請用300字以內的文字對這兩種方式進行解釋,并結合需求說明應采用哪種加密方式。
目前數據庫管理系統提供的基本數據加密支持主要有以下兩種: (1)
加解密API:數據庫管理系統提供可在SQL語句中調用的加解密API,應用可以利用這些API構建自己的基礎架構,對數據進行加密保護。 (2)
透明加密:安全管理員為數據庫敏感字段選擇加密方式及密鑰強度,應用訪問受保護數據時只需使用口令打開或關閉密鑰表,對數據的加密和解密由數據庫管理系統自動完成。
加解密API方式的靈活性強,但構建和管理復雜;而透明加密方式管理簡單,應用程序負擔輕,但靈活性較差。用戶要求盡可能減少安全管理與應用程序的負擔,因此應選擇透明加密方式。
本問題考査數據庫持久數據的加密保護技術。目前數據庫管理系統提供的基本數據加密方式主要包括加解密API和透明加密兩種,典型的如Oracle數據庫管理系統中提供的數據加密方式。其中加解密API方式的靈活性強,但構建和管理復雜;而透明加密方式管理簡單,應用程序負擔輕,但靈活性較差。透明加密方式支持對特定敏感字段進行透明加密,且可以根據安全管理需要對不同程度的敏感字段采用不同強度的密鑰進行保護,滿足題目要求,同時題目中明確給出“用戶要求盡可能減少安全管理與應用程序的負擔”,因此應選擇透明加密方式。
考試科目三:論文
試題一 軟件架構用來處理軟件高層次結構的設計和實施,它以精心選擇的形式將若干結構元素進行裝配,從而滿足系統的主要功能和性能需求。軟件架構設計的首要問題是如何表示軟件架構,即如何對軟件架構建模。根據建模的側重點不同,可以將軟架構模型分為結構模型、框架模型、動態模型、過程模型和功能模型。Kmchten在1995年提出了“4+1”視圖模型,將5種模型有機地統一在一起。軟件架構用來處理軟件高層次結構的設計和實施,它以精心選擇的形式將若干結構元素進行裝配,從而滿足系統的主要功能和性能需求。軟件架構設計的首要問題是如何表示軟件架構,即如何對軟件架構建模。根據建模的側重點不同,可以將軟架構模型分為結構模型、框架模型、動態模型、過程模型和功能模型。Kmchten在1995年提出了“4+1”視圖模型,將5種模型有機地統一在一起。請圍繞“軟件架構建模技術與應用”論題,依次從以下三個方面進行論述。 1. 概要敘述你參與管理和開發的軟件項目以及你在其中所承擔的主要工作。 2. 簡要敘述“4+1”視圖模型的主要內容。結合你參與項目的實際情況,詳細說明該項目需求及所涉及的軟件架構(包括使用到的視圖模型、創建的架構模型及使用的建模工具等)。 3. 說明該項目軟件架構的實施效果,分析其是否滿足了項目的需求并說明原因。一、簡要敘述所參與管理和開發的軟件項目,并明確指出在其中承擔的主要任務和開展的主要工作。 二、簡要敘述“4+1”視圖模型的主要內容。
1. “4+1”視圖模型從5個不同的視角來描述軟件架構,每個視圖只關心系統的一個側面,5個視圖結合在一起才能反映系統的軟件結構的全部內容。這5個不同的視角包括邏輯視圖、開發視圖、進程視圖、物理視圖和場景。
(1)
邏輯視圖。邏輯視圖主要支持系統的功能需求,即系統提供給最終用戶的服務。在邏輯視圖中,系統分解成一系列的功能抽象,這些抽象主要來自問題領域。在00技術中,通過抽象、封裝和繼承,可以用對象模型來代表邏輯視圖,用類圖來描述邏輯視圖。
(2) 開發視圖。開發視圖也稱為模塊視圖,在UML中被稱為實現視圖,它主要側重于軟件模塊的組織和管理。開發視圖要考慮軟件內部的需求。 (3)
進程視圖。進程視圖側重于系統的運行特性,主要關注一些非功能性需求。進程視圖強調并發性、分布性、系統集成性和容錯能力,以及邏輯視圖中的功能抽象如何適應進程結構等,它也定義了邏輯視圖中的各個類的操作具體是在哪一個線程中被執行。進程視圖可以描述成多層抽象,每個級別分別關注不同的方面。
(4) 物理視圖。物理視圖在UML中被稱為部署視圖,主要考慮如何把軟件映射到硬件上,它通常要考慮到解決系統拓撲結構、系統安裝和通信等問題。
(5)場景。場景可以看作是那些重要系統活動的抽象,它使4個視圖有機聯系起來。場景對應UML中的用例視圖。
2. 結合實際項目,詳細說明項目軟件架構的內容。這部分內容應包括:在設計軟件架構時,分別使用了“4+1”視圖中的哪些視圖,每個視圖中包含的模型有哪些等。
三、說明該項目軟件架構的實施效果,分析其是否滿足了項目的需求并說明原因。
一、簡要描述所參與管理和開發的企業應用系統建設項目,并明確指出在其中承擔的主要任務和開展的主要工作。
二、需要結合項目實際情況指出所開發的應用系統的總體架構,特別是架構的層次關系。分層架構設計是一種常見的架構設計方法,能夠有效簡化設計,使設計fit系統結構清晰,便于提高復用能力和產品維護能力。一般來說,企業應用系統的架構可以分為表現層、中間層和持久層三個層次。
1. 表現層。表現層主要負責接收用戶的請求,對用戶的輸入、輸出進行檢查與控制,處理客戶端的一些動作,包括控制頁面跳轉等,并向用戶呈現最終的結果信息。表現層主要采用MVC結構來實現。控制器負責接收用戶的請求,并決定應該調用哪個模型來處理;然后,模型根據用戶請求調用中間層進行相應的業務邏輯處理,并返回數據;最后,控制器調用相應的視圖來格式化模型返回的數據,并通過視圖呈現給用戶。
2. 中間層。中間層主要包括業務邏輯層組件、業務邏輯層工作流、業務邏輯層實體和業務邏輯層框架四個方面。業務邏輯層組件分為接U和實現類兩個部分,接U用于定義業務邏輯組件,定義業務邏輯組件必須實現的方法。通常按模塊來設計業務邏輯組件,每個模塊設計為一個業務邏輯組件,并且每個業務邏輯組件以多個DAO組件作為基礎,從而實現對外提供系統的業務邏輯服務。業務邏輯層工作流能夠實現在多個參與者之間按照某種預定義的規則傳遞文檔、信息或任務的過程自動進行,從而實現某個預期的業務目標,或者促進此目標的實現。業務邏輯層實體提供對業務數據及相關功能的狀態編程訪問,業務邏輯層實體數據可以使用具有復雜架構的數據來構建,這種數據通常來自數據庫中的多個相關表。業務邏輯層實體數據可以作為業務過程的部分I/O參數傳遞,業務邏輯層的實體是可序列化的,以保持它們的當前狀態。業務邏輯層是實現系統功能的核心組件,采用容器的形式,便于系統功能的幵發、代碼重用和管理。
3. 持久層。持久層主要負責數據的持久化存儲,主要負責將業務數據存儲在文件、數據庫等持久化存儲介質中。持久層的主要功能是為業務邏輯提供透明的數據訪問、持久化、加載等能力。
三、考生需要結合項目實際情況,舉例說明在設計表現層、中間層和持久層時需要考慮的主要問題,例如:在持久層設計時需要考慮MVC模型中的模型、視圖和控制器分別對應哪些組件;在中間層設計時需要考慮框架與業務組件之間的關系;在持久層設計時需要考慮如何支持對多種類型數據的透明訪問。
一、概要論述你參與管理和開發的信息系統項目以及你在其中所承擔的主要工作。
二、結合項目實際,論述你在進行軟件可靠性設計時遵循的基本原則,你所采用的具體可靠性設計技術的基本內容。 可靠性設計需要遵循的原則有:
1. 軟件可靠性設計是軟件設計的一部分,必須在軟件的總體設計框架中使用,并且不能與其他設計原則相沖突。
2. 軟件可靠性設計在滿足提高軟件質量要求的前提下,以提高和保障軟件可靠性為最終目標。
3. 軟件可靠性設計應確定軟件的可靠性y標,不能無限擴大,并且排在功能、用戶需求、開發費用之后考慮。 常見的可靠性設計技術有容錯設計、檢錯設計、降低復雜度設計等技術。
容錯設計技術:對于軟件失效后果特別嚴重的場合,如飛機的飛行控制系統、空中交通管制系統等,采用容錯設計技術。常見的容錯設計技術有三種:恢復塊設計、N版本程序設計和冗余設計。
恢復塊設計:選擇一組軟件操作作為容錯設計單元,把普通的程序塊變成恢飪塊。一個恢復塊包含有若干個功能相同、設計差異的程序塊文本,一個運行文本,多〃、備份文本,構成“動態冗余”,一旦運行文本出現故障,則用備份文本替換。軟件容錯的恢復塊方法就是使軟件包含有一系列恢復塊。
N版本程序設計:N版本程序的核心是通過設計出多個模塊或不同版本,對于相同初始條件和相同輸入的操作結果,實現多數表決,防止其中某一軟件模塊/版本的故障提供錯誤的服務,以實現軟件容錯。
冗余設計:在一套完整的軟件系統之外,設計一種不同路徑、不同算法或不同實現方法的模塊或系統作為備份,在出現故障時可以使用冗余的部分進行替換,從而維持軟件系統的正常運行。缺點是費用和資源的消耗會有所增加。
檢錯技術:在軟件系統中,無需在線容錯的地方,或不能采用冗余設計技術的部分,如果對可靠性要求較高,故障有可能導致嚴重的后果時,一般采用檢錯技術,在軟件出現故障后能及時發現并報警,其缺點是不能自動解決故障。
降低復雜度設計:軟件復雜性與軟件可靠性有著密切的關系,是產生軟件缺陷的重要根源。在設計時考慮降低軟件的復雜性,是提高軟件可靠性的有效方法。降低復雜度設計的思想是在保證實現軟件功能的基礎上,簡化軟件結構,縮短程序代碼,優化軟件數據流向,降低軟件復雜度,從而提高軟件可靠性。
(結合實際工作,具體解釋遵循的原則和采用的一種或多種可靠性設計技術)
三、闡述你在具體的可靠性設計工作中,為了分析影響軟件可靠性的主要因素,所采用的可靠性分析方法。
在軟件可靠性設計之前和軟件可靠性設計過程中,都需要采用軟件可靠性分析和預測方法,來確定當前系統中的主要可靠性因素和目標。常見的軟件可靠性分析方法包括故障樹分析方法、失效模式與效應分析方法等。
故障樹分析方法:一種自頂向下的軟件可靠性分析方法,即從軟件系統不希望發生的事件(頂事件),特別是對人員和設備的安全及可靠性產生重大影響的事件開始,向下逐步追査導致頂事件發生的原因,直至基本事件(底事件),從而確定軟件故障原因的各種可能組合方式和(或)發生概率。基本的步驟是軟件故障樹的建立、定性分析和定量分析。
失效模式與效應分析方法:在軟件開發階段的早期,通過識別軟件失效模弍,分析造成的后果,研究分析各種失效模式產生的原因,尋找消除和減少其有害后果的方法,以便盡早發現潛在的問題,并采取相應的措施,從而提高軟件的可靠性和安全性.SFMEA的分析對象可以是開發早期階段的高層次的子系統、部件,也可以是詳細設計階段的單元、模塊。對于不同的分析對象,其軟件失效模式是不同的,采用的SFMEA分析方法也不同,前者采用系統級分析方法(system
FMEA),后者為詳細級分析方法〔detailed
FMEA)。其基本的步驟是系統定義、軟件失效模式分析、軟件失效原因分析、軟件失效影響分析、改進措施分析。
(結合實際工作,具體闡述自己所采用的一種或多種可靠性分析方法)
一、簡要描述所參與分析和開發的分布式存儲系統項目,并明確指出在其中承擔的主要任務和開展的主要工作。
二、說明在分布式存儲系統架構設計中所使用的四種主要分布式存儲技術,并根據考生所參與的實際項目,詳細敘述所選用的一種分布式存儲技術,并說明選擇該技術的原因和實施效果。
在分布式存儲系統架構設計中所使用的分布式存儲技術主要包括四類:
1. 集群存儲技術。集群存儲系統是指架構在一個可擴充服務器集群中的文件系統,用戶不需要考慮文件是存儲在集群中什么位置,僅僅需要使用統一的界面就可以訪問文件資源。當負載增加時,只需在服務器集群中增加新的服務器就可以提高文件系統的性能。集群存儲系統能夠保留傳統的文件存儲系統的語義,增加了集群存儲系統必須的機制,可以向用戶提供高可靠性、高性能、可擴充的文件存儲服務。
2. 分布式文件系統。分布式文件系統是指文件系統管理的物理存儲資源不一定直接連接在本地節點上,而是通過計算機網絡與節點相連。分布式文件系統的設計基于客戶機/服務器模式。一個典型的網絡可能包括多個供多用戶訪問的服務器。另外,對等特性允許一些系統扮演客戶機和服務器的雙重角色。分布式文件系統以透明方式鏈接文件服務器和共享文件夾,然后將其映射到單個層次結構,以便可以從一個位置對其進行訪問,而實際上數據卻分布在不同的位置。用戶不必再轉至網絡上的多個位置以查找所需的信息。
3. 網絡存儲技術。網絡存儲系統就是將“存儲”和“網絡”結合起來,通過網絡連接各存儲設備,實現存儲設備之間、存儲設備和服務器之間的數據在網絡上的高性能傳輸。為了充分利用資源,減少投資,存儲作為構成計算機系統的主要架構之一,就不再僅僅擔負附加設備的角色,逐步成為獨立的系統。利用網絡將此獨立的系統和傳統的用戶設備連接,使其以高速、穩定的數據存儲單元存在。用戶可以方便地使用瀏覽器等客戶端進行訪問和管理。
4. P2P網絡存儲技術。P2P網絡存儲技術的應用使得內容不是存在幾個主要的服務器上,而是存在所有用戶的個人電腦上。這就為網絡存儲提供了可能性,可以將網絡中的剩余存儲空間利用起來,實現網絡存儲。人們對存儲容量的需求是無止境的,提高存儲能力的方法有更換能力更強的存儲器,另外就是把多個存儲器用某種方式連接在一起,實現網絡并行存儲。相對于現有的網絡存儲系統而言,應用P2P技術將會有更大的優勢。P2P技術的主體就是網絡中Peer,也就是各個客戶機,數量是很大的,這些客戶機的空閑存儲空間是很多的,把這些空間利用起來實現網絡存儲。
三、冗余是提高分布式存儲系統可靠性的主要方法,冗余的存儲結構可以保旺部分服務器失效時,數據服務仍可正常訪問。常用的冗余技術包括:數據備份,數據分割,門限方案,糾錯編碼和糾刪編碼等。考生根據所參與的實際項目指出采用了何種冗余技術,并說明其原因和實施效果。
轉載請注明本文地址: 2013年系統架構師考試題詳解
總結
以上是生活随笔為你收集整理的2013年系统架构师考试题详解的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: android 字母排序i,Androi
- 下一篇: 计算机桌面的文件拒绝访问,win10系统