软件设计师习题笔记-重点习题六
1.機器字長為n位的二進制數可以用補碼來表示( )個不同的有符號定點小數。
解析:
2.Cache的地址映像方式中,發生塊沖突次數最小的是(全相聯映像 )。
解析:
本題考查計算機組成的基礎知識。
Cache工作時,需要拷貝主存信息到Cache中,就需要建變主存地址和Cache地址的映射關系。Cache的地址映射方法主要有三種,即全相聯映像、直接映像和組相聯映像。其中全相聯方式意味著主存的任意一塊可以映像到Cache中的任意一塊,其特點是塊沖突概率低,Cache空間利用率高,但是相聯目錄表容量大導致成本高、查表速度慢; 直接映像方式是指主存的每一塊只能映像到Cache的一個特定的塊中,整個Cache地址與主存地址的低位部分完全相同,其特點是硬件簡單,不需要相聯存儲器,訪問速度快 (無須地址變換),但是Cache塊沖突概率高導致Cache空間利用率很低;組相聯方式是對上述兩種方式的折中處理,對Cache分組,實現組間直接映射,組內全相聯,從而獲得較低的塊沖突概率、較高的塊利用率,同時得到較快的速度和較低的成本。
3.計算機中CPU的中斷響應時間指的是(從發出中斷請求到開始進入中斷處理程序)的時間。
解析:
本題考查計算機系統的基礎知識。
中斷系統是計算機實現中斷功能的軟硬件總稱。一般在CPU中設置中斷機構,在外設接口中設置中斷控制器,在軟件上設置相應的中斷服務程序。中斷源在需要得到CPU服務時,請求CPU暫停現行工作轉向為中斷源服務,服務完成后,再讓CPU回到原工作狀態繼續完成被打斷的工作。中斷的發生起始于中斷源發出中斷請求,中斷處理過程中,中斷系統需要解決一系列問題,包括中斷響應的條件和時機,斷點信息的保護與恢復,中斷服務程序入口、中斷處理等。中斷響應時間,是指從發出中斷請求到開始進入中斷服務程序所需的時間。
4.總線寬度為32bit,時鐘頻率為200MHz,若總線上每5個時鐘周期傳送一個32bit的字,則該總線的帶寬為(160)MB/s。
解析:
本題考查計算機系統的基礎知識。
總線寬度是指總線的線數,即數據信號的并行傳輸能力,也體現總線占用的物理空間和成本;總線的帶寬是指總線的最大數據傳輸率,即每秒傳輸的數據總量。總線寬度與時鐘頻率共同決定了總線的帶寬。
32bit / 8=4 Byte,
200MHz/5 X 4 Byte = 160 MB/s
5.以下關于指令流水線性能度量的敘述中,錯誤的是(流水線采用異步控制會明顯提高其性能)。
解析:
本題考查計算機系統結構的基礎知識。
對指令流水線性能的度量主要有吞吐率,加速比和效率等指標。吞吐率是指單位時間內流水線所完成的任務數或輸出結果的數量,最大吞吐率則是流水線在達到穩定狀態后所得到的吞吐率,它取決于流水線中最慢一段所需的時間,所以該段成為流水線的瓶頸。流水線的加速比定義為等功能的非流水線執行時間與流水線執行時間之比,加速比與吞吐率成正比,如果流水線斷流,實際吞吐率將會明顯下降,則加速比也會明顯下降。 流水線的效率是指流水線的設備利用率,從時空圖上看效率就是n個任務所占的時空區與m個段總的時空區之比。因此要使加速比和效率最大化應該流水線各級采用相同的運行時間。另外,流水線釆用異步控制并不會給流水線性能帶來改善,反而會增加控制電路的復雜性。
6.安全需求可劃分為物理線路安全、網絡安全、系統安全和應用安全。下面的安全需求中屬于系統安全的是(漏洞補丁管理),屬于應用安全的是(數據庫安全)。
解析:
機房安全屬于物理安全,入侵檢測屬于網絡安全,漏洞補丁管理屬于系統安全,而數據庫安全則是應用安全。
7.甲、乙兩公司的軟件設計師分別完成了相同的計算機程序發明,甲公司先于乙公司完成,乙公司先于甲公司使用。甲、乙公司于同一天向專利局申請發明專利。此情形下,(由甲、乙公司協商確定誰)可獲得專利權。
解析:
本題考查知識產權的基本知識。
當兩個以上的申請人分別就同樣的發明創造申請專利的,專利權授給最先申請的人。如果兩個以上申請人在同一日分別就同樣的發明創造申請專利的,應當在收到專利行政管理部門的通知后自行協商確定申請人。如果協商不成,專利局將駁回所有申請人的申請,即均不授予專利權。我國專利法規定“兩個以上的申請人分別就同樣的發明創造申請專利的,專利權授予最先申請的人。”我國專利法實施細則規定:“同樣的發明創造只能被授予一項專利。依照專利法第九條的規定,兩個以上的申請人在同一日分別就同樣的發明創造申請專利的,應當在收到國務院專利行政部門的通知后自行協商確定申請人。”
8.以下媒體中,(聲音)是感覺媒體。
解析:
本題考查多媒體的基本知識。
感覺媒體指直接作用于人的感覺器官,使人產生直接感覺的媒體,如引起聽覺反應的聲音,引起視覺反應的圖像等。
9.在(概要)設計階段選擇適當的解決方案,將系統分解為若干個子系統,建立整個系統的體系結構。
解析:
本題考查軟件工程的基本概念。
軟件設計的任務是基于需求分析的結果建立各種設計模型,給出問題的解決方案。從工程管理的角度,可以將軟件設計分為兩個階段:概要設計階段和詳細設計階段。結構化設計方法中,概要設計階段進行軟件體系結構的設計、數據設計和接口設計;詳細設計階段進行數據結構和算法的設計。面向對象設計方法中,概要設計階段進行體系結構設計、初步的類設計/數據設計、結構設計;詳細設計階段進行構件設計。
結構化設計和面向對象設計是兩種不同的設計方法,結構化設計根據系統的數據流圖進行設計,模塊體現為函數、過程及子程序;面向對象設計基于面向對象的基本概念進行,模塊體現為類、對象和構件等。
10.某項目包含的活動如下表所示,完成整個項目的最短時間為(17)周。不能通過縮短活動(B)的工期,來縮短整個項目的完成時間。
解析:
本題考查軟件項目管理的基礎知識。
活動圖是描述一個項目中各個工作任務相互依賴關系的一種模型,項目的很多重要特性可以通過分析活動圖得到,如估算項目完成時間,計算關鍵路徑和關鍵活動等。根據上表給出的數據,構建活動圖,如下圖所示。
從上圖很容易看出,關鍵路徑為A-D-E-F-H,其長度為19,關鍵路徑上的活動均為關鍵活動。
11.風險的優先級通常是根據(風險暴露(Risk Exposure))設定。
解析:
本題考查軟件項目管理的基礎知識。
風險是一種具有負面后果的、人們不希望發生的事件。風險管理是軟件項目管理的一項重要任務。在進行風險管理時,根據風險的優先級來確定風險控制策略,而優先級是根據風險暴露來確定的。風險暴露是一種量化風險影響的指標,等于風險影響乘以風險概率,風險影響是當風險發生時造成的損失。風險概率是風險發生的可能性。風險控制是風險管理的一個重要活動。
12.進程P1、P2、P3、P4和P5的前趨圖如下所示:
若用PV操作控制進程P1、P2、P3、P4 、P5并發執行的過程,則需要設置5個信號
量S1、S2、S3、S4和S5,且信號量S1~S5的初值都等于零。下圖中a、b 和c處應分別填寫(V(S1)、V(S2)和P(S1)V(S3));d和e處應分別填寫(P(S2)和V(S4)),f和g處應分別填寫(P(S3)和P(S4)P(S5))。
13.某進程有4個頁面,頁號為0~3,頁面變換表及狀態位、訪問位和修改位的含義如下圖所示。若系統給該進程分配了3個存儲塊,當訪問前頁面1不在內存時,淘汰表中頁號為(3) 的頁面代價最小。
解析:
根據題意,頁面變換表中狀態位等于0和1分別表示頁面不在內存或在內存,所以0、2和3號頁面在內存。當訪問的頁面1不在內存時。系統應該首先淘汰未被訪問的頁面,因為根據程序的局部性原理最近未被訪問的頁面下次被訪問的概率更小;如果頁面最近都被訪問過,應該先淘汰未修改過的頁面。因為未修改過的頁面內存與輔存一致,故淘汰時無須寫回輔存,使系統頁面置換代價小。經上述分析,0、2和3號頁面都是最近被訪問過的,但0和2號頁面都被修改過而3號頁面未修改過,故應該淘汰3號頁面。
14.某模塊實現兩個功能:向某個數據結構區域寫數據和從該區域讀數據。該模塊的內聚類型為(通信)內聚。
解析:
本題考查軟件設計的基礎知識。
模塊獨立性是創建良好設計的一個重要原則,一般采用模塊間的耦合和模塊的內聚兩個準則來進行度量。耦合程度越低,內聚程度越高,則模塊的獨立性越好。
存在多種模塊內聚類型,從高到低依次為功能、通信、順序、過程、時間、邏輯和偶然內聚。
一個模塊內的幾個操作是相關的,而且必須以特定的次序執行,則該模塊的內聚類型為過程內聚。
模塊的各個功能的執行與時間有關,通常要求所有功能必須在同一時間段內執行, 則該模塊的內聚類型為時間內聚。
若一個模塊的各個部分只是通過代碼的邏輯結構相關聯,則該模塊的內聚類型為邏輯內聚。
把訪問或操作在同一數據結構的操作放在一個模塊中,則該模塊的內聚類型為通信內聚。
15.正式技術評審的目標是(記錄程序員的錯誤情況并與績效掛鉤)。
解析:
本題考查軟件評審的基礎知識。
軟件評審的內容包括設計質量評審、程序質量評審和與運行環境接口的評審。評審的主要目標是為了發現軟件中的錯誤。
16.自底向上的集成測試策略的優點包括(不需要寫樁程序)。
解析:
本題考查軟件測試的基礎知識。
軟件測試分為單元測試、集成測試和系統測試。集成測試把模塊按系統設計說明書的要求組合起來進行測試。存在多種組合的集成測試策略:自底向上、自頂向下、一次性集成、明治集成等。其中,自底向上策略通過不斷合并底層模塊來測試更高層模塊的方式進行。在該方法中,需要寫驅動程序來調用待測試的底層模塊,主要的設計問題需要到測試后期才能發現。由于從最底層的模塊開始測試,因此過程中不需要寫樁模塊。當測試過程中發現錯誤時,需要進行回歸測試。
17.面向對象(程序設計)選擇合適的面向對象程序設計語言,將程序組織為相互協作的對象集合,每個對象表示某個類的實例,類通過繼承等關系進行組織。
解析:
本題考查面向對象的基本知識。
在采用面向對象技術開發系統時,主要步驟有面向對象分析、面向對象設計、面向對象程序設計和面向對象測試。面向對象分析主要包括:認定對象、組織對象、描述對象間的相互作用、定義對象的操作、定義對象的內部信息。面向對象設計是設計分析模型和實現相應源代碼。面向對象程序設計選擇合適的面向對象程序設計語言,將程序組織為相互協作的對象集合,每個對象表示某個類的實例,類通過繼承等關系進行組織。 面向對象測試是盡可能早的開始進行系統測試,以發現系統中可能存在的錯誤并進行修復,進而保證系統質量。
18.下圖所示為(組合(Composite))設計模式,屬于(結構型)設計模式,適用于(表示對象的部分一整體層次結構時)。
19.某些設計模式會引入總是被用作參數的對象。例如(Visitor)對象是一個多態accept 方法的參數。
解析:
本題考查設計模式的概念,對行為模式進行比較。
很多行為模式注重封裝變化。當一個程序的某個方面的特征經常發生改變時,這些模式就定義一個封裝這個方面的對象。這樣,當該程序的其他部分依賴于這個方面時,它們都可以與此對象協作。一些模式引入總是被用作參數的對象。有些模式定義一些可作為令牌進行傳遞的對象,這些對象將在稍后被調用。
在Visitor模式中,一個Visitor對象是一個多態的accept操作的參數,這個操作作用于該Visitor對象訪問的對象。在Command模式中,令牌代表一個請求;.在Memento模式中,它代表在一個對象在某個特定時刻的內部狀態。在這兩種情況下,令牌都可以有一個復雜的內部表示,但客戶并不會倉識到這一點。.在Observer .模式中,通過引入Observer和Subject對象來分布通信。
20.遞歸下降分析方法是一種(自上而下的語法分析)方法。
解析:
本題考查程序語言基礎知識。
對高級語言源程序進行編譯(或解釋)方式的翻譯過程中,語法分析的任務是根據語言的語法規則,分析單詞串是否構成短語和句子,即表達式、語句和程序等基本語言結構,同時檢查和處理程序中的語法錯誤。程序設計語言的絕大多數語法規則可以采用上下文無關文法進行描述。語法分析方法有多種,根據產生語法樹的方向,可分為自底向上和自頂向下兩類。遞歸下降分析法和預測分析法是常用的自頂向下分析法。算符優先分析法和LR分析法屬于自底向上的語法分析方法。
21.優先隊列通常采用(堆)數據結構實現,向優先隊列中插入—個元素的時間復雜度為(Θ(lgn))。
解析:
本題考查算法設計與分析的相關知識。
優先隊列是一種常用的數據結構,通常用堆實現。對應于大頂堆和小頂堆,存在最大優先隊列和最小優先隊列。以最大優先隊列為例,優先隊列除了具有堆上的一些操作, 如調整堆、構建堆之外,還有獲得優先隊列的最大元素,抽取出優先隊列的最大元素, 向優先隊列插入一個元素和增大優先隊列中某個元素的值。其中除了獲得優先隊列的最大元素的時間復雜度為Θ(1)之外,其他幾個操作的時間復雜度均為二叉樹的高度,即Θ(lgn)。
?
總結
以上是生活随笔為你收集整理的软件设计师习题笔记-重点习题六的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Qt工作笔记-QDialogButton
- 下一篇: Qt文档阅读笔记-QQmlApplica