篩選系統架構設計師考試上午綜合知識易錯常考真題,及詳細解答

前言

系統架構設計師考試上午考試,都是綜合知識選擇題,主要考察的是對基本知識點的掌握。每個人對於這一部分的備考方式也不盡相同,有的人喜歡先看書,有的人喜歡做題目,有的人喜歡針對性的複習做題,推薦每天定量做複習題。做題的同時,您會發現每次幾乎都能碰到與往年雷同或者相似的考題,所以要對常考知識點進行鍼對性記憶,及在平時多總結及實踐。

本博文,摘選於系統架構設計師考試的上午真題!致敬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 ×16­­­3  =  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不沾身!