篩選系統架構設計師考試上午綜合知識易錯常考真題,及詳細解答
前言
系統架構設計師考試上午考試,都是綜合知識選擇題,主要考察的是對基本知識點的掌握。每個人對於這一部分的備考方式也不盡相同,有的人喜歡先看書,有的人喜歡做題目,有的人喜歡針對性的複習做題,推薦每天定量做複習題。做題的同時,您會發現每次幾乎都能碰到與往年雷同或者相似的考題,所以要對常考知識點進行鍼對性記憶,及在平時多總結及實踐。
本博文,摘選於系統架構設計師考試的上午真題!致敬1024程式設計師的節日!
嵌入式系統
採用微核心結構的作業系統提高了系統的靈活性和可擴充套件性,(1)。
A.並增強了系統的可靠性和可移植性,可執行於分散式系統中
B.並增強了系統的可靠性和可移植性,但不適用於分散式系統
C.但降低了系統的可靠性和可移植性,可執行於分散式系統中
D.但降低了系統的可靠性和可移植性,不適用於分散式系統
解析
在設計微核心OS時,採用了面嚮物件的技術,其中的“封裝”,“繼承”,“物件類”和“多型性”,以及在物件之間採用訊息傳遞機制等,都十分有利於提高系統的“正確性”、“可靠性”、“易修改性”、“易擴充套件性”等,而且還能顯著地減少開發系統所付出的開銷。採用微核心結構的作業系統與傳統的作業系統相比,其優點是提高了系統的靈活性、可擴充性,增強了系統的可靠性,提供了對分散式系統的支持。其原因如下。
①靈活性和可擴充套件性:由於微核心OS的許多功能是由相對獨立的伺服器軟體來實現的,當開發了新的硬體和軟體時,微核心OS只需在相應的伺服器中增加新的功能,或再增加一個專門的伺服器。與此同時,也必然改善系統的靈活性,不僅可在作業系統中增加新的功能,還可修改原有功能,以及刪除已過時的功能,以形成一個更為精幹有效的作業系統。
②增強了系統的可靠性和可移植性:由於微核心是出於精心設計和嚴格測試的,容易保證其正確性;另一方面是它提供了規範而精簡的應用程式介面(API),為微核心外部的程式編制高質量的程式碼創造了條件。此外,由於所有伺服器都是執行在使用者態,伺服器與伺服器之間採用的是訊息傳遞通訊機制,因此,當某個伺服器出現錯誤時,不會影響核心,也不會影響其他伺服器。另外,由於在微核心結構的作業系統中,所有與特定CPU和I/O裝置硬體有關的程式碼,均放在核心和核心下面的硬體隱藏層中,而作業系統其他絕大部分(即各種伺服器)均與硬體平臺無關,因而,把作業系統移植到另一個計算機硬體平臺上所需作的修改是比較小的。
③提供了對分散式系統的支援:由於在微核心OS中,客戶和伺服器之間以及伺服器和伺服器之間的通訊,是採用訊息傳遞通訊機制進行的,致使微核心OS能很好地支援分散式系統和網路系統。事實上,只要在分散式系統中賦予所有程式和伺服器唯一的識別符號,在微核心中再配置一張系統對映表(即程式和伺服器的識別符號與它們所駐留的機器之間的對應表),在進行客戶與伺服器通訊時,只需在所傳送的訊息中標上傳送程式和接收程式的識別符號,微核心便可利用系統對映表將訊息發往目標,而無論目標是駐留在哪臺機器上。
作業系統
若作業系統檔案管理程式正在將修改後的(2)檔案寫回磁碟時系統發生崩潰,對系統的影
響相對較大。
A.使用者資料
B.使用者程式
C.系統目錄
D.空閒塊管理
解析
作業系統為了實現“按名存取”,必須為每個檔案設定,用於描述和控制檔案的資料結構,專門用於檔案的檢索,因此至少要包括檔名和存放檔案的實體地址,該資料結構稱為檔案控制塊(File Control Block,FCB),檔案控制塊的有序集合稱為檔案目錄,或稱系統目錄檔案。若作業系統正在將修改後的系統目錄檔案寫回磁碟時系統發生崩潰,則對系統的影響相對較大。
虛擬儲存系統
某虛擬儲存系統採用最近最少使用(LRU)頁面淘汰演算法,假定系統為每個作業分配4 個頁面的主存空間,其中一個頁面用來存放程式。現有某作業的程式如下:
Var A: Array[1..100,1..100] OF integer;
i,j: integer;
FOR i:=1 to 100 DO
FOR j:=1 to 100 DO
A[i,j]:=0;
設每個頁面可存放200 個整數變數,變數i、j 存放在程式頁中。初始時,程式及i、j 均已在記憶體,其餘3 頁為空。若矩陣A 按行序存放,那麼當程式執行完後共產生(3)次缺頁中斷;
若矩陣A 按列序存放,那麼當程式執行完後共產生(4)次缺頁中斷。
(3) (4) A.50 A.50 B.100 B.100 C.5000 C.5000 D.10000 D.10000
解析
從題幹可知,作業共有4個頁面的主存空間,其中一個已被程式本身佔用,所以在讀取變數時可用的頁面數只有3個。每個頁面可存放200個整數變數,程式中A陣列共有100*100=10000個變數。
按行存放時,每個頁面調入的200個變數,剛好是程式處理的200個變數,所以缺頁次數為10000/200=50。
而按列存放時,雖然每個頁面調取資料時,同樣也讀入了200個變數,但這200個變數中,只有2個是近期需要訪問的(如第1個頁面調入的是A[*,1]與A[*,2],但程式近期需要訪問的變數只有A[1,1]和A[1,2]),所以缺頁次數為10000/2=5000。
資料庫設計
在資料庫設計的(5)階段進行關係規範化。
A.需求分析
B.概念設計
C.邏輯設計
D.物理設計
解析
按照規範的設計方法,一個完成的資料庫設計一般分為以下六個階段:
- 需求分析: 分析使用者的需求,包括資料、功能和效能需求;
- 概念結構設計:主要採用E-R模型進行設計,包括畫E-R圖;
- 邏輯結構設計:通過將E-R圖轉換成表,實現從E-R模型到關係模型的轉換,進行關係規範化;
- 資料庫物理設計:主要是為所設計的資料庫選擇合適的儲存結構和儲存路徑;
- 資料庫的實施:包括程式設計、測試和試執行;
- 資料庫執行和維護:系統的執行和資料庫的日常維護
某資料庫中有員工關係E(員工號,姓名,部門,職稱,月薪);產品關係P(產品號,產品名稱,型號,尺寸,顏色);倉庫關係W(倉庫號,倉庫名稱,地址,負責人);庫存關係I(倉庫號,產品號,產品數量)。
a. 若資料庫設計中要求:
① 倉庫關係W 中的“負責人”引用員工關係的員工號
② 庫存關係I 中的“倉庫號,產品號”惟一標識I 中的每一個記錄
③ 員工關係E 中的職稱為“工程師”的月薪不能低於3500 元
則①②③依次要滿足的完整性約束是(6)。
b. 若需得到每種產品的名稱和該產品的總庫存量,則對應的查詢語句為:
SELELCT 產品名稱, SUM(產品數量) FROM P, I WHERE P.產品號= I.產品號(7);
(6)
A.實體完整性、參照完整性、使用者定義完整性
B.參照完整性、實體完整性、使用者定義完整性
C.使用者定義完整性、實體完整性、參照完整性
D.實體完整性、使用者定義完整性、參照完整性
(7)
A.ORDER BY 產品名稱
B.ORDER BY 產品數量
C.GROUP BY 產品名稱
D.GROUP BY 產品數量
解析
(6)①倉庫關係W中的“負責人”引用員工關係的員工號-->參照完整性
②庫存關係I中的“倉庫號,產品號”惟一標識I中的每一個記錄-->倉庫號,產品號當然指得是倉庫和產品兩個實體啦!
③員工關係E中的職稱為“工程師”的月薪不能低於3500元-->有精確的數字,明顯的使用者定義。
(7)ORDER 是排序,什麼從大到小,從小到大,所以A、B不對。
GROUP按組分類。
“若需得到每種產品的名稱和該產品的總庫存量”,答案C GROUP BY產品名稱正好符合題意。
題目沒有說,沒有問“每種產品數量”,問的是“該產品的總庫存量”。
該SQL查詢要求對查詢結果進行分組,即具有相同名稱的產品的元組為一組,然後計算每組的庫存數量。
參考答案:(6) B (7)C
解析
注意到關係R與關係S裡的屬性名C與D,是重名的,是要點,是關鍵,是核心。
說他們的時候,一定要帶上關係名,以示區別。
A,C都沒有帶。
D裡,D<C也沒有帶上關係名喲!
參考答案:B
計算機系統
計算機執行程式時,在一個指令週期的過程中,為了能夠從記憶體中讀指令操作碼,首先是將
(9)的內容送到地址匯流排上。
A.程式計數器PC
B.指令暫存器IR
C.狀態暫存器SR
D.通用暫存器GR
解析
關鍵詞,“計算機執行程式時”,“首先是將”。
參考答案:A
充電
- 程式計數器是什麼?
程式計數器是用於存放下一條指令所在單元的地址的地方。
微控制器及組合語言中常稱作PC(programcounter)。
PC是什麼單詞的縮寫:ProgramCounter
- 為什麼需要程式計數器?
為了保證程式(在作業系統中理解為程式),能夠連續地執行下去,CPU必須具有某些手段來確定下一條指令的地址。
程式計數器正是起到這種作用,所以通常又稱為指令計數器。
- 程式計數器的處理流程
在程式開始執行前,必須將它的起始地址,即程式的一條指令,所在的記憶體單元地址送入PC,因此程式計數器(PC)的內容,即是從記憶體提取的第一條指令的地址。
當執行指令時,CPU將自動修改PC的內容,即每執行一條指令PC增加一個量,這個量等於指令所含的位元組數,以便使其儲存的,總是將要執行的下一條指令的地址。由於大多數指令,都是按順序來執行的,所以修改的過程,通常只是簡單的對PC加1。
- 程式計數器的異常處理流程
但是,當遇到轉移指令,如JMP指令時,後繼指令的地址(即PC的內容),必須從指令暫存器中的地址欄位取得。
在這種情況下,下一條從記憶體取出的指令,將由轉移指令來規定,而不像通常一樣按順序來取得。因此程式計數器的結構,應當是具有寄存資訊和計數兩種功能的結構。
記憶體按位元組編址,利用8K×4bit 的儲存器晶片構成84000H 到8FFFFH 的記憶體,共需(10)
片。
A.6
B.8
C.12
D.24
解析
數學解法,假設需要N片儲存晶片,則有
8K ×4bit/8bit× N = (8FFFF – 84000 + 1) = C000 =12 ×163 = 12× (24)3= 12×212
即1024 ×4×N = 12×212 = 12 × 22 × 210 = 12 × 4 × 1024
N = 12
注意題目說記憶體按位元組編址,而儲存器晶片,又是按bit位元位來說儲存容量的。
也就是說84000H到8FFFFH的記憶體,指的是按位元組來編寫地址的。
也就是說注意單位的統一,然後來計算。
參考答案:C
某磁碟磁頭從一個磁軌移至另一個磁軌需要10ms。檔案在磁碟上非連續存放,邏輯上相鄰
資料塊的平均移動距離為10 個磁軌,每塊的旋轉延遲時間及傳輸時間分別為100ms 和2ms,
則讀取一個100 塊的檔案需要(11)ms 的時間。
A.10200
B.11000
C.11200
D.20200
解析
訪問一個資料塊的時間,應為尋道時間+旋轉延遲時間+傳輸時間。根據題意,每塊的旋轉延遲時間及傳輸時間共需102ms,磁頭從一個磁軌移至另一個磁軌需要10ms,但邏輯上相鄰資料塊的平均距離為10個磁軌,即讀完一個資料塊,到下一個資料塊尋道時間需要100ms。通過上述分析,本題訪問一個資料塊的時間應為202ms,而讀取一個100塊的檔案共需要20200ms,因此,本題的正確答案為D。
計算機系統中,在(12)的情況下一般應採用非同步傳輸方式。
A.CPU 訪問記憶體
B.CPU 與I/O 介面交換資訊
C.CPU 與PCI 匯流排交換資訊
D.I/O 介面與印表機交換資訊
解析
考查計算機系統中資料傳輸的方式:
- CPU訪問記憶體通常是同步方式;
- CPU與I/O介面交換資訊通常是同步方式;
- CPU與PCI匯流排交換資訊通常是同步方式;
- I/O介面與印表機交換資訊則通常採用基於快取池的非同步方式
因此答案為D。
網路系統
大型區域網通常劃分為核心層、匯聚層和接入層,以下關於各個網路層次的描述中,不正確
的是(13)。
A.核心層進行訪問控制列表檢查
B.匯聚層定義了網路的訪問策略
C.接入層提供區域網路接入功能
D.接入層可以使用集線器代替交換機
解析
- 通常將網路中直接面向使用者連線或訪問網路的部分稱為接入層,將位於接入層和核心層之間的部分稱為分佈層或匯聚層,接入層目的是允許終端使用者連線到網路,因此接入層交換機具有低成本和高階口密度特性,一般可以使用集線器代替接入層交換機;
- 匯聚層交換層是多臺接入層交換機的匯聚點,它必須能夠處理來自接入層裝置的所有通訊量,並提供到核心層的上行鏈路,它定義了網路的訪問策略,因此匯聚層交換機與接入層交換機比較,需要更高的效能,更少的介面和更高的交換速率。
- 而將網路主幹部分稱為核心層,核心層的主要目的在於通過高速轉發通訊,提供可靠的骨幹傳輸結構,因此核心層交換機應擁有更高的可靠性、效能和吞吐量。
因此,本題的正確答案為A。
網路系統設計過程中,邏輯網路設計階段的任務是(14)。
A.依據邏輯網路設計的要求,確定裝置的物理分佈和執行環境
B.分析現有網路和新網路的資源分佈,掌握網路的執行狀態
C.根據需求規範和通訊規範,實施資源分配和安全規劃
D.理解網路應該具有的功能和效能,設計出符合使用者需求的網路
網路系統生命週期可以劃分為5 個階段,實施這5 個階段的合理順序是(15)。
A.需求規範、通訊規範、邏輯網路設計、物理網路設計、實施階段
B.需求規範、邏輯網路設計、通訊規範、物理網路設計、實施階段
C.通訊規範、物理網路設計、需求規範、邏輯網路設計、實施階段
D.通訊規範、需求規範、邏輯網路設計、物理網路設計、實施階段
解析
系統效能
假設單個CPU 的效能為1,則由n 個這種CPU 組成的多處理機系統的效能P 為:
其中,a 是一個表示開銷的常數。例如,a=0.1,n=4 時,P 約為3。也就是說,由4 個這種CPU 組成的多機系統的效能約為3。該公式表明,多機系統的效能有一個上限,不管n 如何增加,P 都不會超過某個值。當a=0.1 時,這個上限是(16)。
A.5 B.10 C.15 D.20
解析
本題主要考查多處理機系統的效能上限計算問題,根據計算公式,可以看出當a=0.1時,公式變為,對該表示式進行求導,得到該式的極限為10。
以下關於系統效能的敘述中,不正確的是(17)。
A.常見的Web 伺服器效能評估方法有基準測試、壓力測試和可靠性測試
B.評價Web 伺服器的主要效能指標有最大併發連線數、響應延遲和吞吐量
C.對執行系統進行效能評估的主要目的是以更好的效能/價格比更新系統
D.當系統效能降到基本水平時,需要查詢影響效能的瓶頸並消除該瓶頸
解析
本題主要考查系統效能評估的主要方法和需要注意的問題。
對執行系統進行評估的主要目的,是評價資訊系統在效能方面的表現,找出系統可能存在的效能瓶頸。
其中,常見的Web伺服器,效能評估方法有基準測試、壓力測試和可靠性測試等,評價Web伺服器的主要效能指標有最大併發連線數、響應延遲和吞吐量等。
當系統效能降到基本水平時,需要查詢影響效能的瓶頸並消除該瓶頸。
本題的正確答案為C。
專案管理
某大型公司欲開發一個門戶系統,該系統以商業流程和企業應用為核心,將商業流程中不同的功能模組通過門戶整合在一起,以提高公司的集中貿易能力、協同能力和資訊管理能力。根據這種需求,採用企業(18)門戶解決方案最為合適。
A.資訊
B.知識
C.應用
D.垂直
解析
題幹中提到“企業應用”,“商業流程中不同的功能模組”,“貿易能力”,“資訊管理能力”,更多的透露是“企業應用”的味道。
企業門戶是一個資訊科技平臺,這個平臺可以提供個性化的資訊服務,為企業提供一個單一的訪問企業各種資訊資源和應用程式的入口。
現有的企業門戶大致可以分為企業資訊門戶、企業知識門戶和企業應用門戶三種。
- 企業資訊門戶重點強調為訪問結構資料和無結構資料提供統一入口,實現收集、訪問、管理和無縫整合。
- 企業知識門戶,講的是一個創造、蒐集、傳播、共享、使用企業知識的平臺,通過企業知識門戶,員工可以與工作團隊中的其他成員取得聯絡,尋找能夠提供幫助的專家。
- 企業應用門戶,是一個用來提高企業的集中貿易能力、協同能力和資訊管理能力的平臺。它以商業流程和企業應用為核心,將商業流程中功能,不同的應用模組通過門戶整合在一起,提高公司的集中貿易能力、協同能力和資訊管理能力。
參考答案:C
客戶關係管理(CRM)系統將市場營銷的科學管理理念,通過資訊科技的手段整合在軟體上,能夠幫助企業構建良好的客戶關係。以下關於CRM 系統的敘述中,錯誤的是(19)。
A.銷售自動化是CRM 系統中最基本的模組
B.營銷自動化作為銷售自動化的補充,包括營銷計劃的編制和執行、計劃結果分析等
C.CRM 系統能夠與ERP 系統在財務、製造、庫存等環節進行連線,但兩者關係相對鬆散,一般不會形成閉環結構
D.客戶服務與支援是CRM 系統的重要功能。目前,客戶服務與支援的主要手段是通過呼叫中心和網際網路來實現
解析
題目的問題是“錯誤的是”。
選項C,說“一般不會形成閉環結構”。
既然選項中說了,“CRM系統能夠與ERP系統在財務、製造、庫存等環節進行連線”,也就是說與ERP系統在財務、製造、庫存每個環節都是一個環,當然要形成閉環了,說明閉環是一個褒義詞,環環相扣,環環之間有連線,有反饋。也正說明CRM是好的資訊科技手段嗎?
關鍵是要明白,閉環結構是什麼,是怎麼回事,是一個褒義詞,還是一個貶義詞,就好做答案了。
參考答案:C
詳細的專案範圍說明書是專案成功的關鍵。(20)不應該屬於範圍定義的輸入。
A.專案章程
B.專案範圍管理計劃
C.批准的變更申請
D.專案文件管理方案
解析
定義範圍(範圍定義),是制定專案和產品詳細描述的過程。詳細專案範圍說明書的編制,對專案成功至關重要。
專案管理團隊應該根據專案啟動過程中記載的主要可交付成果、假設條件和制約因素,來編制專案範圍說明書。
在規劃過程中,由於對專案有了更多的瞭解,所以應該更具體地定義與描述專案範圍。
專案管理團隊,應該分析現有風險、假設條件和制約因素的完整性,並在必要時,補充其他的風險、假設條件和制約因素。
定義範圍最重要的任務,就是詳細定義專案的範圍邊界,範圍邊界,是應該做的工作和不需要進行的工作的分界線。
定義範圍可以增加專案時間、費用和資源估算的準確度,定義實施專案控制的依據,明確相關責任人在專案中的責任,明確專案的範圍、合理性和目標,以及主要可交付成果。
根據PMBOK 2012版,定義範圍的輸入,包括範圍管理計劃、專案章程、需求檔案、組織過程資產,輸出包括專案範圍說明書、專案檔案更新,使用的工具與技術有專家判斷、產品分析、備選方案生成、引導式研討會等。
參考答案:D
專案時間管理,包括使專案按時完成所必需的管理過程,活動定義是其中的一個重要過程。通常可以使用(21)來進行活動定義。
A.魚骨圖
B.工作分解結構(WBS)
C.層次分解結構
D.功能分解圖
解析
專案時間管理,包括使專案按時完成,所必需的管理過程。
專案時間管理中的過程包括:活動定義、活動排序、活動的資源估算、活動歷時估算、制定進度計劃以及進度控制。
為了得到工作分解結構(Work Breakdown Structure,WBS)中最底層的交付物,必須執行一系列的活動。對這些活動的識別,以及歸檔的過程就是活動定義。
魚骨圖(也稱為Ishikawa圖)是一種發現問題“根本原因”的方法,通常用來進行因果分析。
參考答案:B
在實際的專案開發中,人們總是希望,使用自動工具,來執行需求變更控制過程。
下列描述中,(22)不是這類工具所具有的功能。
A.可以定義變更請求的資料項以及變更請求生存期的狀態轉換圖
B.記錄每一種狀態變更的資料,確認做出變更的人員
C.可以加強狀態轉換圖使經授權的使用者僅能做出所允許的狀態變更
D.定義變更控制計劃,並指導設計入員按照所制定的計劃實施變更
解析
對許多專案來說,系統軟體總需要不斷完善,一些需求的改進是合理的而且不可避免,要使得軟體需求完全不變更,也許是不可能的,但毫無控制的變更,是專案陷入混亂、不能按進度完成或者軟體質量無法保證的主要原因之一。
一個好的變更控制過程,給專案風險承擔者提供了正式的建議需求變更機制。可以通過需求變更控制過程,來跟蹤已建議變更的狀態,使已建議的變更確保不會丟失或疏忽。
在實際中,人們總是希望,使用自動工具來執行變更控制過程。有許多人使用商業問題跟蹤工具來收集、儲存、管理需求變更;可以使用工具對一系列,最近提交的變更建議產生一個列表,給變更控制委員會,開會時做議程用。問題跟蹤工具也可以隨時按變更狀態分類包裹變更請求的數目。
挑選工具時可以考慮以下幾個方面:
①可以定義變更請求的資料項。
②可以定義變更請求生存期的狀態轉換圖。
③可以加強狀態轉換圖,使經授權的使用者僅能做出所允許的狀態變更。
④記錄每一種狀態變更的資料,確認做出變更的人員。
⑤可以定義在提交新請求,或請求狀態被更新後應該自動通知的設計人員。
⑥可以根據需要生成標準的或定製的報告和圖表。
答案D
需求管理是CMM 可重複級中的6 個關鍵過程域之一,其主要目標是(23)。
A.對於軟體需求,必須建立基線以進行控制,軟體計劃、產品和活動必須與軟體需求保持一致
B.客觀地驗證需求管理活動符合規定的標準、程式和要求
C.策劃軟體需求管理的活動,識別和控制已獲取的軟體需求
D.跟蹤軟體需求管理的過程、實際結果和執行情況
解析
過程能力成熟度模型(Capability Maturity Model,CMM) ,在軟體開發機構中,被廣泛用來指導軟體過程改進。該模型描述了軟體過程能力的5個成熟度級別,每一級都包含若干關鍵過程域(Key Process Areas,KPA)。
CMM的第二級為可重複級,它包括了6個關鍵過程域,分別是:需求管理、軟體專案計劃、軟體專案跟蹤和監督、軟體分包合同管理、軟體質量保證和軟體配置管理。
需求管理的目標,是為軟體需求建立一個基線,提供給軟體工程和管理使用;軟體計劃、產品和活動與軟體需求保持一致。
答案A(三短一長,選最長)
在RUP 中採用“4+1”檢視模型來描述軟體系統的體系結構。在該模型中,終端使用者側重於(24),系統工程師側重於(25)。
(24)A.實現檢視
B.程式檢視
C.邏輯檢視
D.部署檢視
(25)A.實現檢視
B.程式檢視
C.邏輯檢視
D.部署檢視
解析
- 用例檢視(Use Cases View),最初稱為場景檢視,關注終端使用者需求,為整個技術架構的上線環境,通常用UML用例圖和活動圖描述。
- 邏輯檢視(Logical view),主要是整個系統的抽象結構表述,關注系統提供終端使用者的功能,不涉及具體的編譯即輸出和部署,通常在UML中用類圖,互動圖,時序圖來表述,類似與我們採用OOA的物件模型。
- 開發檢視(Development View),描述軟體在開發環境下的靜態組織,從程式實現人員的角度透視系統,也叫做實現檢視(implementation view)。開發檢視關注程式包,不僅包括要編寫的源程式,還包括可以直接使用的第三方SDK和現成框架、類庫,以及開發的系統,將執行於其上的系統軟體或中介軟體, 在UML中用元件圖,包圖來表述。開發檢視和邏輯檢視之間可能存在一定的對映關係:比如邏輯層,一般會對映到多個程式包等。
- 處理檢視(Process view)處理檢視關注系統動態執行時,主要是程式以及相關的併發、同步、通訊等問題。處理檢視和開發檢視的關係:開發檢視一般偏重程式包,在編譯時期的靜態依賴關係,而這些程式執行起來之後,會表現為物件、執行緒、程式,處理檢視比較關注的正是這些執行時單元的互動問題,在UML中通常用活動圖表述。
- 物理檢視(Physical view ),物理檢視通常也叫做部署檢視(deploymentview),是從
系統工程師解讀系統,關注軟體的物流拓撲結,以及如何部署機器,和網路來配合軟體系統的可靠性、可伸縮性等要求。物理檢視和處理檢視的關係:處理檢視特別關注目標程式的動態執行情況,而物理檢視重視目標程式的靜態位置問題;物理檢視是綜合考慮軟體系統和整個IT系統相互影響的架構檢視。
答案C,D
(26)把整個軟體開發流程分成多個階段,每一個階段都由目標設定、風險分析、開發和有效性驗證以及評審構成。
A.原型模型
B.瀑布模型
C.螺旋模型
D.V 模型
解析
- 原型模型又稱快速原型。原型模型主要有兩個階段:
①原型開發階段。軟體開發人員根據使用者提出的軟體系統的定義,快速地開發一個原型。該原型應該包含目標系統的關鍵問題和反映目標系統的大致面貌,展示目標系統的全部或部分功能、效能等。
②目標軟體開發階段。在徵求使用者對原型的意見後,對原型進行修改完善,確認軟體系統的需求並達到一致的理解,進一步開發實際系統。
- 瀑布模型,可以說是最早使用的軟體生存週期模型之一。由於這個模型,描述了軟體生存的一些基本過程活動,所以它被稱為軟體生存週期模型。這些活動從一個階段到另一個階段逐次下降,形式上很像瀑布。瀑布模型的特點是因果關係緊密相連,前一個階段工作的結果是
後一個階段工作的輸入。 - 螺旋模型,是在快速原型的基礎上擴充套件而成的。這個模型把整個軟體開發流程分成多個階段,每個階段都由4部分組成,它們是:
①目標設定。為該專案進行需求分析,定義和確定這一個階段的專門目標,指定對過程和產品的約束,並且制定詳細的管理計劃。
②風險分析。對可選方案進行風險識別和詳細分析,制定解決辦法,採取有效的措施避免這些風險。
③開發和有效性驗證。風險評估後,可以為系統選擇開發模型,並且進行原型開發,即開發軟體產品。
④評審。對專案進行評審,以確定是否需要進入螺旋線的下一次回路,如果決定繼續,就要制定下一階段計劃。
- V模型,是一種典型的測試模型。在V模型中測試過程,被加在開發過程的後半部分,分別包括單元測試、整合測試、系統測試和驗收測試。
軟體開發環境是支援軟體產品開發的軟體系統,它由軟體工具集和環境整合機制構成。環境整合機制包括:提供統一的資料模式和資料介面規範的資料整合機制;支援各開發活動之間通訊、切換、排程和協同的(27);為統一操作方式提供支援的(28)。
(27)A.操作整合機制
B.控制整合機制
C.平臺整合機制
D.介面整合機制
(28)A.操作整合機制
B.控制整合機制
C.平臺整合機制
D.介面整合機制
解析
軟體開發環境應支援多種整合機制,例如,平臺整合、資料整合、介面整合、控制整合和過程整合等。
軟體開發環境應支援小組工作方式,併為其提供配置管理,環境的服務可用於支援各種軟體開發活動,包括分析、設計、程式設計、除錯和文件等。
較完善的軟體開發環境,通常具有多種功能,例如,軟體開發的一致性與完整性維護、配置管理及版本控制、資料的多種表示形式及其在不同形式之間的自動轉換、資訊的自動檢索與更新、專案控制和管理以及對開發方法學的支援。
軟體開發環境具有整合性、開放性、可裁減性、資料格式一致性、風格統一的使用者介面等特性,因而能大幅度提高軟體生產率。
①軟體開發環境的分類
軟體開發環境可按以下幾種角度進行分類。
・按軟體開發模型與開發方法分類,有支援瀑布模型、演化模型、螺旋模型和噴泉模型等不同模型,以及結構化方法、物件導向方法等不同方法的軟體開發環境。
・按功能與結構特點分類,有單體型、協同型、分散型和併發型等多種型別的軟體開發環境。
・按應用範圍分類,有通用型和專用型軟體開發環境。其中專用型軟件開發環境與應用領域有關。
・按開發階段分類,有前端開發環境(支援系統規劃、分析、設計等階段的活動)、後端開發環境(支援程式設計、測試等階段的活動)、軟體維護環境和逆向工程環境等。
②整合機制
整合機制根據功能的不同,可劃分為環境資訊庫、過程控制與訊息伺服器、環境使用者介面三個部分。
・環境資訊庫。環境資訊庫是軟體開發環境的核心,用於儲存與系統開發有關的資訊,並支援資訊的交流與共享。環境資訊庫中主要儲存兩類資訊,一類是開發過程中產生的有關被開發系統的資訊,例如,分析文件、設計文件和測試報告等;另一類是環境提供的支援資訊,例如,文件模板、系統配置、過程模型和可複用構件等。
・過程控制與訊息伺服器。過程控制與訊息伺服器,是實現過程整合和控制整合的基礎。過程整合是按照具體軟體開發過程的要求,進行工具的選擇與組合,控制整合使各工具之間進行並行通訊和協同工作。
・環境使用者介面。環境使用者介面,包括環境總介面和由它實行統一控制的各環境部件及工具的介面。統一的、具有一致性的使用者介面是軟體開發環境的重要特徵,是充分發揮環境的優越性、高效地使用工具並減輕使用者學習負擔的保證。
③整合計算機輔助軟體工程
目前,隨著軟體開發工具的積累,與自動化工具的增多,軟體開發環境,已經進入了第三代,即ICASE(Integrated Computer-Aided Software Engineering,整合計算機輔助軟體工程)階段。
整合方式經歷了,從點到點的資料轉換(早期CASE採用的整合方式),到公共使用者介面(第二代CASE,在一致的介面下呼叫眾多不同的工具),再到目前的資訊庫方式。這是ICASE的主要整合方式。
ICASE不僅提供資料整合和控制整合,還提供了一組使用者介面管理設施和一大批工具,包括垂直工具集(支援軟體生命週期各階段,保證生成資訊的完備性和一致性)、水平工具集(用於不同的軟體開發方法)和開放工具槽(用於連線新的工具)。
ICASE的資訊庫不僅定義了物件導向的資料庫管理系統,提供了資料一資料整合機制,還建立了可以被環境中,所有工具訪問的資料模型,提供了資料一工具整合機制,實現了配置管理功能。ICASE的進一步發展,則是與軟體開發方法的結合,以及智慧化的ICASE。
ICASE的最終目標是實現應用軟體的全自動開發,即開發人員只要寫好軟體的需求規格說明書,ICASE就能自動完成軟體開發工作,即自動生成供使用者直接使用的軟體和有關文件。
答案B,D
軟體的橫向重用是指重用不同應用領域中的軟體元素。(29)是一種典型的、原始的橫向重用機制。
A.物件
B.構件
C.標準函式庫
D.設計模式
解析
軟體重用是指在兩次或多次不同的軟體開發過程中,重複使用相同或相似軟體元素的過程。
按照重用活動是否跨越相似性較少的多個應用領域,軟體重用可以區別為橫向重用和縱向重用。
- 橫向重用,是指重用不同應用領域中的軟體元素,例如資料結構、分類演算法和人機介面構建等。標準函式是一種典型的、原始的橫向重用機制。
- 縱向重用,是指在一類具有較多
公共性的應用領域之間進行軟部件重用。縱向重用活動的主要關鍵點是域分析:根據應用領域的特徵及相似性預測軟體的可重用性。
下列關於不同軟體開發方法所使用的模型的描述中,正確的是(30)。
A.在進行結構化分析時,必須使用資料流圖和軟體結構圖這兩種模型
B.採用物件導向開發方法時,可以使用狀態圖和活動圖對系統的動態行為進行建模
C.實體聯絡圖(E-R 圖)是在資料庫邏輯結構設計時才開始建立的模型
D.UML 的活動圖與程式流程圖的表達能力等價
解析
結構化分析方法,是一種面向資料流的需求分析方法,其基本思想是自頂向下逐層分解。
資料流圖,是進行結構化分析時所使用的模型,其基本成分,包括資料流、加工、資料儲存和外部實體。
在進行結構化設計時,通過對資料流圖,進行變換分析和事務分析可以匯出程式結構圖。
資料庫設計可以分為4個主要階段:
①使用者需求分析。資料庫設計人員採用一定的輔助工具對應用物件的功能、效能、限制等要求所進行的科學分析。
②概念設計。概念結構設計是對資訊分析和定義,如檢視模型化、檢視分析和彙總。對應用物件精確地抽象、概括而形成的獨立於計算機系統的企業資訊模型。描述概念模型的較理想的工具是E-R圖。
③邏輯設計。將抽象的概念模型,轉化為與選用的DBMS產品所支援的資料模型,相符合的邏輯模型,它是物理設計的基礎。包括模式初始設計、子模式設計、應用程式設計、模式評價以及模式求精。
④物理設計。邏輯模型,在計算機中的具體實現方案。
UML是物件導向軟體的標準化建模語言,其中狀態圖、活動圖、順序圖和通訊圖,可以用來對系統的動態行為進行建模。
活動圖展現了,在系統內從一個活動到另一個活動的流程。活動圖強調物件之間的控制流程。在活動圖上可以表示分支和匯合。活動圖與傳統的程式流程圖是不等價的。
答案B(太絕對,80%是錯誤的)
總結
我們程式設計師的工作有很多,如後端開發師,音視訊開發工程師,前端技術專家,PHP高階開發工程師,演算法工程師,系統構架師......
“日以繼夜地在電腦上輸入奇怪符號和公式”是程式設計師的日常,與科技為伍,被雅稱為“改變世界的人”,俗稱“碼農”,喜歡從簡、相信改變世界、拒絕被定義……
我們揹負強大時代使命感的群體,用技術能力重新定義這個社會中的種種法則,用嚴謹細緻的態度讓生活變得更加完美和諧。程式設計師就像是一個個1024,一步一個腳印,悄無聲息地為世界進步貢獻著自己的力量。祝願我們程式設計師:程式碼千行過,BUG不沾身!
相關文章
- 系統架構師綜合知識架構
- 軟體設計師考試要求及考試範圍
- SOLIDWORKS認證考試常見問題解答Solid
- 大前端常見面試題:HTML常考知識點前端面試題HTML
- Android面試常問基礎知識點(附詳細解答)Android面試
- java 考試系統 模組架構方案Java架構
- 軟體設計師備考錯題01
- 軟考 - 系統架構設計師(基於中介軟體的開發)架構
- Java程式設計師面試題及解答Java程式設計師面試題
- 系統設計面試參考-設計Spotify系統面試
- Linux 運維工程師面試真題-5-常考題目彙總Linux運維工程師面試
- 蘇州大學往年考研真題及詳細解答
- Redis常考的知識點Redis
- 歷年軟體設計師考試試題分析
- 作業系統之面試常考作業系統面試
- 考試系統案例之 -- 隨機生成考題隨機
- JAVA 考試系統模組設計方案Java
- 2020年美容師(初級)考試題庫及美容師(初級)考試內容
- 系統架構設計師學習(二)系統架構設計師緒論架構
- 2020年A證(安全員)考試題庫及A證(安全員)模擬考試系統
- 【Java併發程式設計】面試常考的ThreadLocal,超詳細原始碼學習Java程式設計面試thread原始碼
- 軟考|網路工程師複習資料、附歷年真題、詳細學習筆記,考試重點,看過的人都能過!工程師筆記
- Java 程式設計知識列表與系統架構演化Java程式設計架構
- java程式設計師進階架構師你必須掌握的架構知識體系Java程式設計師架構
- 系統架構設計師感想架構
- Vue常考知識點--元件通訊Vue元件
- 軟考系統架構評估專項架構
- 網易考拉規則引擎平臺架構設計與實踐架構
- golang 面試常考問題Golang面試
- 2020年低壓電工模擬考試題庫及低壓電工模擬考試系統
- 2020年煤氣考試題及煤氣證考試
- Vue常考知識點--extend 能做什麼Vue
- 2020年美容師(中級)考試試卷及美容師(中級)考試總結
- 2020年美容師(高階)考試及美容師(高階)考試申請表
- 2021年美容師(初級)考試APP及美容師(初級)試題及答案APP
- 2020磺化工藝證考試及磺化工藝考試試題
- 阿里面試Redis常考問題阿里面試Redis
- 聊聊Autowired的常考面試題面試題