系統集成項目管理工程師備考資料(口袋應試第二版)6

軟件、架構、設計

口袋應試:因教程第二版第三章內容較多,爲了方便複習,將第三章中的“3.2信息系統設計,3.3軟件工程,3.4面向對象系統分析與設計,3.5軟件架構”單獨放在本節內容中。如果大家時間和精力有限,可以在微信中搜索“集成中級口袋應試”小程序,利用瑣碎的時間進行復習,小程序中可以在分類測試中進行對應章節的試題練習。

 

3.2信息系統設計

3.2.1方案設計

系統方案設計包括總體設計和各部分的詳細設計(物理設計)兩個方面。

(1)系統總體設計:包括系統的總體架構方案設計、軟件系統的總體架構設計、數據存儲的總體設計、計算機和網絡系統的方案設計等。

(2)系統詳細設計:包括代碼設計、數據庫設計、人 /機界面設計、處理過程設計等。

第二版[email protected]

出題概率:★★

180313、190113

 


 

3.2.2系統架構

系統架構是將系統整體分解爲更小的子系統和組件,從而形成不同的邏輯層或服務。之後,進一步確定各層的接口,層與層相互之間的關係。對整個系統的分解,既需要進行“縱向”分解,也需要對同一邏輯層分塊,進行“橫向”分解。系統的分解可參考“架構模式”進行。

通過對系統的一系列分解,昀終形成系統的整體架構。系統的選型主要取決於系統架構。

 

第二版[email protected]

出題概率:★

180113

 


 

3.3軟件工程

 

3.3.2軟件設計、測試與維護

(2)軟件測試

測試是爲評價和改進產品質量、識別產品的缺陷和問題而進行的活動。軟件測試是針對一個程序的行爲,在有限測試用例集合上,動態驗證是否達到預 期的行爲。

測試不再只是一種僅在編碼階段完成後纔開始的活動。現在的軟件測試被認爲是一種應該包括在整個開發和維護過程中的活動,它本身是實際產品構造的一個重要部分。

軟件測試伴隨開發和維護過程,通常可以在概念上劃分爲單元測試、集成測試和系 統測試三個階段。

 

第二版[email protected]

出題概率:★

140310

 


 

(3)軟件維護

將軟件維護定義爲需要提供軟件支持的全部活動。這些活動包括在 交付前完成的活動,以及交付後完成的活動。交付前要完成的活動包括交付後的運行計 劃和維護計劃等。交付後的活動包括軟件修改、培訓、幫助資料等。

軟件維護有如下類型:

①更正性維護:

更正交付後發現的錯誤;

②適應性維護:

使軟件產品能夠在變化後或變化中的環境中繼續使用;

③完善性維護:

改進交 付後產品的性能和可維護性;

④預防性維護:

在軟件產品中的潛在錯誤成爲實際錯 誤前,檢測並更正它們。

第二版[email protected]

出題概率:★★★★

150315、160111、170316、190112

 


 

3.3.3軟件質量保證及質量評價

軟件質量指的是軟件特性的總和,是軟件滿足用戶需求的能力,即遵從用戶需求,達到用戶滿意。軟件質量包括“內部質量”“外部質量”和“使用質量”三部分。軟件需求定義了軟件質量特性,及確認這些特性的方法和原則。

軟件質量管理過程由許多活動組成,一些活動可以直接發現缺陷,另一些活動則檢查活動的價值。其中包括質量保證過程、驗證過程、確認過程、評審過程、審計過程等。

(1)軟件質量保證:通過制訂計劃、實施和完成等活動保證項目生命週期中的軟件產品和過程符合其規定的要求。

(2)驗證與確認:確定某一活動的產品是否符合活動的需求,昀終的軟件產品是否達到其意圖並滿足用戶需求。

驗證過程試圖確保活動的輸出產品已經被正確構造,即活動的輸出產品滿足活動的規範說明;確認過程則試圖確保構造了正確的產品,即產品滿足其特定的目的。

(3)評審與審計:包括管理評審、技術評審、檢查、走查、審計等。管理評審的目的是監控進展,決定計劃和進度的狀態,或評價用於達到目標所用管理方法的有效性。技術評審的目的是評價軟件產品,以確定其對使用意圖的適合性。

軟件審計的目的是提供軟件產品和過程對於可應用的規則、標準、指南、計劃和流程的遵從性的獨立評價。審計是正式組織的活動,識別違例情況,並要生成審計報告,採取更正性行動。

第二版[email protected]

出題概率:★★

180114、190311

 


 

3.3.6軟件開發工具

軟件開發工具是用於輔助軟件生命週期過程的基於計算機的工具。通常使用這些工具來支持特定的軟件工程方法,減少手工方式管理的負擔。工具的種類包括支持單個任務的工具及涵蓋整個生命週期的工具。

  • 軟件需求工具包括需求建模工具和需求追蹤工具。
  • 軟件設計工具包括軟件設計創建和檢查工具。
  • 軟件構造工具包括程序編輯器、編譯器、代碼生成器、解釋器、調試器等。
  • 軟件測試工具包括測試生成器、測試執行框架、測試評價工具、測試管理工具、性能分析工具。
  • 軟件維護工具包括理解工具(如可視化工具)和再造工具(如重構工具)。
  • 軟件配置管理工具包括追蹤工具、版本管理工具和發佈工具。
  • 軟件工程管理工具包括項目計劃與追蹤工具、風險管理工具和度量工具。
  • 軟件工程過程工具包括建模工具、管理工具、軟件開發環境。軟件質量工具包括檢查工具和分析工具。

第二版[email protected]

出題概率:★

190114

 


 

3.4面向對象系統分析與設計

3.4.1面向對象的基本概念

1. 對象:

由數據及操作所構成的封裝體,是系統中用來描述客觀事物的一個模塊,是構成系統的基本單位。用計算機語言來描述,對象是由一組屬性和對這組屬性進 行的操作構成的。

對象包含三個基本要素,分別是對象標識、對象狀態和對象行爲。例如,對於姓名 (標識)爲Joe的教師而言,其包含性別、年齡、職位等個人狀態信息,同時還具有授課 等行爲特徵》Joe就是封裝後的一個典型對象。

2. 類:

現實世界中實體的形式化描述,類將該實體的屬性(數據)和操作(函數) 封裝在一起。

類和對象的關係:對象是類的實例

3. 抽象:

通過特定的實例抽取共同特徵以後形成概念的 過程。抽象是一種單一化的描述,強調給出與應用相關的特性,拋棄不相關的特性。對象是現實世界中某個實體的抽象,類是一組對象的抽象。

4. 封裝:

將相關的概念組成一個單元模塊,並通過一個 名稱來引用它。面向對象封裝是將數據和基於數據的操作封裝成一個整體對象,對數據 的訪問或修改只能通過對象對外提供的接口進行。

5.繼承

表示類之間的層次關係(父類與子類),這種關係使得某類對象可以繼承另外一類對象的特徵,繼承又可分爲單繼承和多繼承。

(6)多態:

使得在多個類中可以定義同一個操作或屬性名,並在每個類中可以有不 同的實現。多態使得某個屬性或操作在不同的時期可以表示不同類的對象特性。

(7)接口:

描述對操作規範的說明,其只說明操作應該做什麼,並沒有定義操作如 何做。可以將接口理解成爲類的一個特例,它規定了實現此接口的類的操作方法,把真正的實現細節交由實現該接口的類去完成。

(8) 消息。

體現對象間的交互,通過它向目標對象發送操作請求。

(9) 組件:

表示軟件系統可替換的、物理的組成部分,封裝了模塊功能的實現。組 件應當是內聚的,並具有相對穩定的公開接口。

(10) 複用:

指將己有的軟件及其有效成分用於構造新的軟件或系統。組件技術是 軟件複用實現的關鍵。

(11) 模式:

描述了一個不斷重複發生的問題,以及該問題的解決方案。其包括特定 環境、問題和解決方案三個組成部分。應用設計模式可以更加簡單和方便地去複用成功 的軟件設計和架構,從而幫助設計者更快更好地完成系統設計。

第二版[email protected]

出題概率:★★★★★

160315、170116、170315、180115、180315、190115、190312

 


3.5軟件架構

3.5.2軟件架構模式

常見的典型架構模式如下。

1.管道/過濾器模式

此模式中,每個組件(過濾器)都有一組輸入/輸出,組件 讀取輸入的數據流,經過內部處理後,產生輸出的數據流,該過程主要完成輸入流的變 換及增量計算。其典型應用包括批處理系統。

管道/過濾器模式體現了各功能模塊高內聚、低耦合的“黑盒”特性,支持軟件功能 模塊的重用,便於系統維護;同時,每個過濾器自己完成數據解析和合成工作(如加密 和解密),易導致系統性能下降,並增加了過濾器具體實現的複雜性。如圖3-4所示。

190313_1

2.面向對象模式

模式:在面向對象的基礎上,將模塊數據的表示方法及其相應操作封 裝在更高抽象層次的數據類型或對象中。其典型應用是基於組件的軟件開發(Component-Based Development,CBD)。

3.事件驅動模式

其基本原理是組件並不直接調用操作,而是觸發一個或多個事件。系統中的其他組件可以註冊相關的事件,觸發一個事件時,系統會自動調用註冊了 該事件的組件,即觸發事件會導致另一組件中操作的調用。其典型應用包括各種圖形界面應用。

4.分層模式

採用層次化的組織方式,每一層都爲上一層提供服務,並使用下一 層提供的功能。該模式允許將一個複雜問題逐步分層實現。其中的每一層最多隻影響相 鄰兩層,只要給相鄰層提供相同的接口,就允許每層用不同的方法實現,可以充分支持 軟件複用。其典型應用是分層通信協議,如ISO/OSI的七層網絡模型。此模式也是通用 應用架構的基礎模式

5.客戶機/服務器模式(Client/Server, C/S):

基於資源不對等,爲實現共享而提出 的模式。C/S模式將應用一分爲二,服務器(後臺)負責數據操作和事務處理,客戶(前 臺)完成與用戶的交互任務。

 

第二版[email protected]

出題概率:★★★★

140312、160316、180116、190313

 


 

3.5.4軟件中間件

口袋應試:“中間件的分類及特點”

中間件(Middleware)是位於硬件、操作系統等平臺和應用之間的通用服務。藉由 中間件,解決了分佈系統的異構問題。

中間件服務具有標準的程序接口和協議。不同的應用、硬件及操作系統平臺,可以提供符合接口和協議規範的多種實現,其主要目的是實現應用與平臺的 無關性。藉助中間件,屏蔽操作系統和網絡協議的差異,爲應用程序提供多種通訊機制, 滿足不同領域的應用需要。

中間件包括的範圍十分廣泛,針對不同的應用需求有各種不同的中間件產品。從不 同角度對中間件的分類也會有所不同。通常將中間件分爲數據庫訪問中間件、遠程過程 調用中間件、面向消息中間件、事務中間件、分佈式對象中間件等。

(1)數據庫訪問中間件:

通過一個抽象層訪問數據庫,從而允許使用相同或相似的代碼訪問不同的數據庫資源。典型技術如 Windows平臺的 ODBC和 Java平臺的 JDBC等。

(2)遠程過程調用中間件(Remote Procedure Call,RPC):

是一種分佈式應用程序的處理方法。一個應用程序可以使用 RPC來“遠程”執行一個位於不同地址空間內的過程,從效果上看和執行本地調用相同。

一個 RPC應用分爲服務器和客戶兩個部分。服務器提供一個或多個遠程操作過程;客戶向服務器發出遠程調用。服務器和客戶可以位於同一臺計算機,也可以位於不同的計算機,甚至可以運行在不同的操作系統之上。客戶和服務器之間的網絡通訊和數據轉換通過代理程序(Stub與 Skeleton)完成,從而屏蔽了不同的操作系統和網絡協議。

(3)面向消息中間件( Message-Oriented Middleware,MOM):

利用高效可靠的消息傳遞機制進行平臺無關的數據傳遞,並可基於數據通信進行分佈系統的集成。通過提供消息傳遞和消息隊列模型,可在分佈環境下擴展進程間的通信,並支持多種通訊協議、語言、應用程序、硬件和軟件平臺。典型產品如 IBM的 MQSeries。

(4)分佈式對象中間件:

是建立對象之間客戶 /服務器關係的中間件,結合了對象技術與分佈式計算技術。該技術提供了一個通信框架,可以在異構分佈計算環境中透明地傳遞對象請求。典型產品如 OMG的 CORBA、Java的 RMI/EJB、Microsoft的 DCOM等。

(5)事務中間件:

也稱事務處理監控器( Transaction Processing Monitor,TPM),提供支持大規模事務處理的可靠運行環境。TPM位於客戶和服務器之間,完成事務管理與協調、負載平衡、失效恢復等任務,以提高系統的整體性能。典型產品如 IBM/BEA的 Tuxedo。結合對象技術的對象事務監控器( Object Transaction Monitor,OTM)如支持 EJB的 JavaEE應用服務器等。 

 

第二版[email protected]

出題概率:★★★★

180316、190116、190315


●其它專業的備考複習資料,可以在查看我的博客:跬步郎的博客  。已發佈的專業有“信息系統項目管理師”“網絡規劃師”“系統架構設計師”


以下爲第一版內容,僅供參考


 

 

軟件需求的3 個層次

業務需求( Business requirement ) 表示組織或客戶高層次的目標。

用戶需求( user requirement ) 描述的是用戶的目標,或用戶要求系統必須能完成的任務。

功能需求( functional requirement ) 規定開發人員必須在產品中實現的軟件功能,用戶利用這些功能來完成任務,滿足業務需求。功能需求有時也被稱作行爲需求( behavioral requirement )

出題概率:★

160115

 


 

結構化分析方法

結構化分析方法(Structured Method)是強調開發方法的結構合理性以及所開發軟件的結構合理性的軟件開發方法。結構是指系統內各個組成要素之間的相互聯繫、相互作用的框架。

結構化分析方法給出一組幫助系統分析人員產生功能規約的原理與技術。它一般利用圖形表達用戶需求,使用的手段主要有數據流圖、數據字典、結構化語言、判定表以及判定樹等。

出題概率:★

160114

 


 

結構化分析基本思想

結構化分析方法的基本思想是自頂向下逐層分解。分解和抽象是人們控制問題複雜性的兩種基本手段。

出題概率:★

160127

 


 

結構化分析的常用工具

1、數據流圖(DFD-Data Flow Diagram)

數據流圖是描述數據處理過程的工具,是需求理解的邏輯模型的圖形表示,它直接支持系統的功能建模。

2、數據字典(DD-Data Dictionary)

數據字典是結構化分析方法的核心。數據字典是對所有與系統相關的數據元素的一個有組織的列表,以及精確嚴格的定義,使用戶和系統分析員對輸入、輸出、存儲和中間結果有共同的理解。

數據字典的作用是對數據流圖(DFD)中出現的被命名的圖形元素的確切解釋,通常數據詞典包含的信息有:名稱、別名、何處使用/如何使用、內容描述、補充信息等。

3、判定樹

使用判定樹進行描述時,應先從問題定義的文字描述中分清哪些是判定條件,哪些是判定結論,根據描述材料中的連接詞找出判定條件之間的從屬關係、並列關係、選擇關係,根據它們構造判定樹。

4、判定表

判定表和判定樹似是而非,當數據流圖中的加工要依賴於多個邏輯條件的取值,即完成該加工的一組動作是由於某一組條件取值的組合而引發的,使用判定表描述比較適宜。

判定由四部分組成:(1)基本條件;(2)條件項;(3)基本動作;(4)動作項

出題概率:★

170114

 


 

軟件需求分析與定義

軟件需求是一個爲解決特定問題而必須由披開發或被修改的軟件展示的特性。這個問題可能是使用軟件的某人的任務中的一個自動化部分,或是支持委託開發軟件的組織的業務流程,或修正當前軟件的缺點,或是控制一個設備等。用戶、業務流程和設備的功能通常根複雜,因此,特定軟件的需求在外延上通常是來自一個組織不同層次的不同人員的需求和來自軟件將要在其中運行的環境的需求的複雜組合。

所有軟件需求的一個基本特性就是可驗證性。驗證某些軟件需求可能很困難或者成本很高。軟件需求和軟件質保人員都必須保證,在現有的資源約束下,需求可以被驗證。

除了其表達的行爲特性外,需求還有其他特性,如優先級,以便在資源有限時進行權衡。通常,要唯一地標識軟件需求,才能在整個軟件生命週期中,進行軟件配置控制和管理。

需求分析涉及分析需求的過程,其目的如下。

(1)檢測和解決需求之間的衝突。

(2)發現軟件的邊界,以及軟件與其環境如何交互。

(3)詳細描述系統需求,以導出軟件需求。

描述需求時必須仔細,應該精確到能確認需求,驗證需求的實現,估算需求的成本。

[email protected]

出題概率:★★

140113、150314

 


 

發佈了47 篇原創文章 · 獲贊 21 · 訪問量 10萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章