軟考架構師(21)——案列分析


一:系統規划

包括系統項目的提出與可行性分析、系統方案的制定/評價和改進、新舊系統的分析和比較、現有軟件硬件和數據資源的有效利用。

 

項目計划:包括范圍計划、工作范圍計划、活動定義、資源需求、資源計划、活動排序、費用估算、進度計划、費用計划;項目輔助計划包括質量計划、溝通計划、人力資源計划、風險計划、采購計划。

虛擬化技術:計算元件在虛擬的基礎上運行;有完全虛擬化,准虛擬化,操作系統層虛擬化等;

虛擬化收益:

1、  有效提高服務器資源利用率

2、  支持運行在不同操作系統之上的多個業務共享一台服務器

3、  減少服務器數量,降低硬件成本

4、  節約場地面積,減少能耗

二:軟件架構設計

包括軟件架構設計、XML技術、基於架構的軟件開發過程、軟件質量屬性、架構模型(風格)、特定領域軟件架構、基於架構的軟件開發方法、架構評估、軟件產品線、系統演化。

 

 

https://blog.csdn.net/qianjin0703/article/details/79792897

 

 

 

 

 

 

架構風險:架構設計中潛在的、存在問題的架構決策所帶來的隱患

敏感點:為了實現某種特定的質量屬性,一個或者多個系統組件所具有的特性

權衡點:影響多個質量屬性,並且對多個質量屬性來說都是敏感點的系統屬性

軟件質量屬性包括:功能性、性能、可用性、可靠性、健壯性、安全性、可修改性、可變性、易用性、可測試性、互操作性

六種質量屬性策略:

1、  可用性

錯誤檢測:命令/響應,心跳機制,異常監控

錯誤恢復:表決(裁決表),主動冗余,被動冗余,備件,狀態再同步,檢查點/回滾

錯誤預防:從服務中刪除,事物(要么全成功,要么全失敗),定期重置,進程監視器

2、  可修改性

局部化修改:維持語義的一致性,預期期望的變更,泛化該模塊,限制可能的選擇

防止連鎖反應:信息隱藏,維持現有的接口,限制通信路徑,仲裁者的使用

推遲綁定時間:運行時注冊,配置文件,多態,構件更換

3、  性能

資源需求:減少處理時間所需的資源,減少所處理事件的數量,控制資源使用,限制執行時間

資源管理:引入並發,維持數據或計算的多個副本,增加可用資源

資源仲裁:先進/先出,固定優先級,動態優先級調度,靜態調度

4、  安全性

抵抗攻擊:對用戶進行身份驗證,對用戶進行授權,維護數據的機密性,維護完整性,限制暴露的信息,限制訪問

檢測攻擊:部署入侵檢測系統

從攻擊中恢復:恢復,識別攻擊者

5、  可測試性

輸入/輸出:記錄/回放,將接口—實現分離,優化訪問線路/接口

內部監控:當監視器處於激活狀態時,記錄事件

6、  易用性

運行時:任務模型,用戶模型,系統模型

設計時:將用戶接口與應用的其余部分分離

支持用戶主動:支持用戶主動操作

 

 

軟件架構風格:描述特定軟件系統組織方式和慣用模式;組織方式描述了系統的組成構件和這些構件的組織方式,慣用模式則反映眾多系統共有的結構和語義。

1、  數據流風格

批處理序列:每個處理步驟是一個獨立的程序,每一步必須在前一步結束后才能開始,數據必須是完整的,以整體的方式傳遞

管道/過濾器:每個構件都有一組輸入和輸出,構件接受數據輸入,經過內部處理,然后產生輸出數據流。這里構件被稱為過濾器,連接件就是數據流傳輸的管道。

2、  調用/返回風格

主程序/子程序:計算構件作為子程序協作工作,並由一個主程序順序地調用這些子程序,構件通過共享存儲區交換數據。

數據抽象和面向對象:將數據表示和基本操作封裝在對象中。

層次結構:構件組織成一個層次結構,每層為上一層提供服務,使用下一層的服務,只能見到與自己鄰接的層。

3、  獨立構件風格

進程通信:構件是獨立的過程,連接件是消息傳遞。特點是構件通常是命名過程,消息傳遞的方式可以是點到點、異步或同步方式,及遠程過程(方法)調用

事件驅動的系統:構件不直接調用一個過程,而是觸發或廣播一個或多個事件。構件中的過程在一個或多個事件中注冊,當一個事件被觸發,系統自動調用在這個事件中注冊的所有過程。

4、  虛擬機風格

解釋器:一個解釋器通常包括完成解釋工作的解釋引擎,一個包含將被解釋的代碼的存儲區,一個記錄解釋引擎當前工作狀態的數據結構,以及一個記錄源代碼被解釋執行的進度的數據結構。

基於規則的系統:包括規則集、規則解釋器、規則/數據選擇器及工作內存。

5、  倉庫風格

數據庫系統:主要有兩大類,一個是中央共享數據源,保存當前系統的數據狀態;另一個是多個獨立處理元素,處理元素對數據元素進行操作。

黑板系統:是一個全局數據庫,包含解域的全部狀態,是知識源互相作用的唯一媒介。

超文本系統:是一種非線性的網狀信息組織方法,以節點為基本單位,鏈作為節點之間的聯想式關聯。

6、  復制風格

復制倉庫:通過利用多個進程提供相同的服務,來改善數據的可訪問 性(accessibility of data)和服務的可伸縮性(scalability of service)。

緩存:復制個別請求的結果,以便可以被后面的請求重用。

 

控制環路架構風格:將過程輸出的制定屬性維護在一個特定的參考值。

 

企業服務總線(ESB):是傳統中間件技術與XML、Web服務等技術結合的產物,主要支持異構系統集成。ESB基於內容的路由和過濾,具備復雜數據的傳輸能力,並可以提供一系列的標准接口。

ESB的主要功能:

1、  服務位置透明性

2、  傳輸協議轉換

3、  消息格式轉換

4、  消息路由

5、  消息增強

6、  安全支持

7、  監控和管理

 

 

三:設計模式

包括設計模式的概念、設計模式的組成、模式和軟件架構、設計模式分類、設計模式的實現。

創建模式:主要用於創建對象,為設計類實例化新對象提供指南

包括:工廠方法(Factory Method)、抽象工廠(Abstract Factory)、單例(Singleton)、構建(Builder)、原型(Prototype)

結構模式:主要用於處理類或對象的組合,對類如何設計以形成更大的結構提供指南

包括:適配器(Adapter)、合成(Composite)、裝飾(Decorator)、代理(Proxy)、享元(Flyweight)、門面(Facade)、橋接(Bridge)

行為模式:主要用於描述類或對象的交互以及職責的分配,對類之間交互以及分配責任的方式提供指南

包括:策略(Strategy)、模版方法(Template Method)、迭代器(Iterator)、責任鏈(Chain of Responsibility)、命令(Command)、備忘錄(Mediator)、狀態(State)、訪問者(Visitor)、解釋器(Interpreter)、調停者(Mediator)、觀察者(Observer)

 

 

 

 

四:系統設計

包括處理流程設計、人機界面設計、文件設計、

存儲設計、

數據庫設計、

網絡應用系統的設計、

系統運行環境的集成與設計、

中間件、

應用服務器、

性能設計與性能評估、

系統轉換計划。

 

數據流圖:作為一種圖形化工具,用來說明業務處理過程、系統邊界內所包含的功能和系統中的數據流;

流程圖:以圖形化的方式展示應用程序從數據輸入開始到獲得輸出為止的邏輯過程,描述處理過程的控制流;

JRP(聯合需求分析會議):通過召開一系列高度結構化的分組會議,快速的分析問題、定義需求;

 

 

 

五:軟件系統建模

包括系統需求、

建模的作用和意義、

定義問題(目標、功能、性能等)

與歸結模型(靜態結構模型、動態行為模型、物理模型)、

結構化系統建模、

數據流圖、

面向對象系統建模、

UML、

數據庫建模、

E-R圖、

逆向工程。

 

 

用例建模:描述參與者和系統之間的主要交互;用例建模可以描述利益相關者所看到的系統行為;

組件建模:確定系統的子系統、模塊和組件結構,為子系統、模塊分配需求和職責,每個組建元素作為一個自包含的單元,用於開發、部署和執行。

服務建模:提供了通用的應用程序,並將應用程序定義為一組抽象服務接口。

性能建模:是對系統的性能進行度量,為每個組件確定性能指標。包括執行時間、資源使用、開發復雜性、維護復雜性等。

 

 

 

 

 

六:分布式系統設計

包括分布式通信協議的設計、基於對象的分布式系統設計、基於Web的分布式系統設計、基於消息和協同的分布式系統設計、異構分布式系統的互操作性設計。

 

分布式通訊協議的設計:

 

 

負載均衡

DNS負載:通過DNS服務器實現,通常通過循環復用具有同一域名的多個主機地址的服務器實現負載均衡

HTTP負載:服務器使用http重定向指令,將客戶端重新路由到另外一個位置。服務器返回一個重定向相應,而不是返回請求對象。客戶端確認新地址然后重發請求,從而達到負載均衡

反向代理負載:則是通過internet的鏈接請求以反響代理的方式動態轉發給內部網路上的多台服務器進行處理,從而達到負載均衡的目的。

 

分布式數據庫的特點有:數據獨立性與位置透明性。集中管理和節點自治相結合、支持全局數據庫的一致性和可恢復性、復制透明性(適度數據冗余)、易於擴展性。

分布式數據庫的優點:

1、  具有靈活的體系結構

2、  適應分布式的管理和控制結構

3、  經濟性能優越

4、  系統可靠性高,可用性好

5、  局部應用的響應速度快

6、  可擴展性好,易於集成現有系統

缺點:

1、  系統開銷大,主要花在通信部分

2、  復雜的存儲結構

3、  數據的安全性和保密性較難處理

4、  保持數據一致性算法復雜

分布式數據庫中各局部數據庫應該滿足集中式數據庫的基本需求,除此之外還應保證數據庫的全局數據一致性,並發操作可串行性,故障的全局可恢復性;

保證方法:

一致性:數據副本一致性,保證分布式事務的ACID屬性,故障恢復的一致性

 

 

 

 

 

 

七:嵌入式系統設計

包括實時系統和嵌入式系統特征、實時任務調度和多任務設計、中斷處理和異常處理、嵌入式系統開發設計。

 

 

 

 

 

 

 

 

 

 

八:系統的可靠性分析與設計

包括系統的故障模型和可靠性模型、系統的可靠性分析和可靠度計算、提高系統可靠性的措施、系統的故障對策和系統的備份與恢復。

 

系統的故障模型和可靠性模型:

故障千差萬別,但是可以利用故障模型對其故障表現進行抽象

1、邏輯級的故障模型 
2、數據結構的故障 
3、軟件故障和軟件差錯 
4、系統級的故障模型

可靠性模型

1、時間模型
2、故障植入模型
3、數據模型

系統的可靠性分析和可靠度計算:

 

提高系統可靠性的措施:

 

系統的故障對策

 

系統的備份與恢復

 

冷備份:在數據庫關閉的情況下,對數據庫中的關鍵文件進行復制;

熱備份:在數據庫運行的情況下,對數據庫中的關鍵數據進行備份,要求數據庫管理系統提供支持

 

 

 

九:系統的安全性和保密性設計

包括系統的訪問控制技術、數據的完整性、數據與文件的加密、通信的安全性、系統的安全性設計。

訪問控制:

訪問控制包括三個要素:主體、客體和控制策略。

訪問控制的內容包括認證、控制策略實現和安全審計。

主要的訪問控制類型有3種模式:自主訪問控制(DAC)、強制訪問控制(MAC)和基於角色訪問控制(RBAC)。

綜合訪問控制策略:1)入網訪問控制  2)網絡的權限控制  3)目錄級安全控制  4)屬性安全控制  5)網絡服務器安全控制  6)網絡監控和鎖定控制  7)網絡端口和結點的安全控制

 

數據完整性:

 

數據與文件加密:

對稱加密技術

非對稱加密技術

通信的安全性:

 

系統的安全性設計:

加密技術

安全協議(SSL,SET)

數據備份(完全備份,差異備份,增量備份,按需備份)

 

 

 

 

 

 

 

 

信息系統的安全威脅來自於:

1、  物理環境:對系統所用設備的威脅,如:自然災害,電源故障,數據庫故障,設備被盜等造成數據丟失或者信息泄露

2、  通信鏈路:傳輸線路上安裝竊聽裝置或者對通信鏈路進行干擾

3、  網絡系統:由於因特網的開放性、國際性、無安全管理性,對內部網絡形成嚴重的安全威脅

4、  操作系統:操作系統本身的后門或者安全缺陷,如木馬和陷阱門

5、  應用系統:網絡服務或者用戶業務系統安全的威脅,包括應用系統自身漏洞

6、  管理:    人員管理和各種安全管理制度

 

用戶認證方式:

1、  用戶名和口令認證

2、  基於公鑰、簽名的認證方式

3、  持卡認證方式

4、  基於人體生物特征的識別認證方式

 

對稱加密策略:

機密性:發送者利用對稱密鑰對要發送的數據進行加密,只有擁有相同密鑰的接收者才能正確解密,從而提供機密性;

完整性:發送者根據要發送的數據生成消息摘要,利用對稱密鑰對消息認證進行加密並附加到數據上發送;接收者使用相同的密鑰將對方發送的消息認證碼解密,並根據接收到的數據重新生成消息認證碼,比較兩個認證碼是否相同以驗證數據的完整性

公鑰加密策略:

機密性:發送者利用接受者的公鑰對要發送的數據進行加密,只有擁有對應私鑰的接收者才能將數據正確解密,從而提供機密性

完整性:發送者根據要發送的數據生成消息摘要,利用自己的私鑰對消息認證碼加密並且附加到數據上發送;接收者利用對方的公鑰將對方發送的消息認證碼解密,並根據接收到的數據重新生成消息認證碼,比較兩個認證碼是否相同以驗證數據完整性

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM