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

一:系統規劃

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

 

項目計劃:包括範圍計劃、工做範圍計劃、活動定義、資源需求、資源計劃、活動排序、費用估算、進度計劃、費用計劃;項目輔助計劃包括質量計劃、溝通計劃、人力資源計劃、風險計劃、採購計劃。數據庫

虛擬化技術:計算元件在虛擬的基礎上運行;有徹底虛擬化,準虛擬化,操做系統層虛擬化等;設計模式

虛擬化收益:緩存

一、  有效提升服務器資源利用率安全

二、  支持運行在不一樣操做系統之上的多個業務共享一臺服務器服務器

三、  減小服務器數量,下降硬件成本網絡

四、  節約場地面積,減小能耗數據結構

二:軟件架構設計

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

 

 

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

 

 

 

 

 

 

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

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

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

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

六種質量屬性策略:

一、  可用性

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

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

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

二、  可修改性

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

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

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

三、  性能

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

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

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

四、  安全性

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

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

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

五、  可測試性

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

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

六、  易用性

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

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

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

 

 

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

一、  數據流風格

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

管道/過濾器:每一個構件都有一組輸入和輸出,構件接受數據輸入,通過內部處理,而後產生輸出數據流。這裏構件被稱爲過濾器,鏈接件就是數據流傳輸的管道。

二、  調用/返回風格

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

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

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

三、  獨立構件風格

進程通訊:構件是獨立的過程,鏈接件是消息傳遞。特色是構件一般是命名過程,消息傳遞的方式能夠是點到點、異步或同步方式,及遠程過程(方法)調用

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

四、  虛擬機風格

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

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

五、  倉庫風格

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

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

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

六、  複製風格

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

緩存:複製個別請求的結果,以即可以被後面的請求重用。

 

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

 

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

ESB的主要功能:

一、  服務位置透明性

二、  傳輸協議轉換

三、  消息格式轉換

四、  消息路由

五、  消息加強

六、  安全支持

七、  監控和管理

 

 

三:設計模式

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

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

包括:工廠方法(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的連接請求以反響代理的方式動態轉發給內部網路上的多臺服務器進行處理,從而達到負載均衡的目的。

 

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

分佈式數據庫的優勢:

一、  具備靈活的體系結構

二、  適應分佈式的管理和控制結構

三、  經濟性能優越

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

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

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

缺點:

一、  系統開銷大,主要花在通訊部分

二、  複雜的存儲結構

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

四、  保持數據一致性算法複雜

分佈式數據庫中各局部數據庫應該知足集中式數據庫的基本需求,除此以外還應保證數據庫的全局數據一致性,併發操做可串行性,故障的全局可恢復性;

保證方法:

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

 

 

 

 

 

 

七:嵌入式系統設計

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

 

 

 

 

 

 

 

 

 

 

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

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

 

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

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

一、邏輯級的故障模型 
二、數據結構的故障 
三、軟件故障和軟件差錯 
四、系統級的故障模型

可靠性模型

一、時間模型
二、故障植入模型
三、數據模型

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

 

提升系統可靠性的措施:

 

系統的故障對策

 

系統的備份與恢復

 

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

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

 

 

 

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

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

訪問控制:

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

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

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

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

 

數據完整性:

 

數據與文件加密:

對稱加密技術

非對稱加密技術

通訊的安全性:

 

系統的安全性設計:

加密技術

安全協議(SSL,SET)

數據備份(徹底備份,差別備份,增量備份,按需備份)

 

 

 

 

 

 

 

 

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

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

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

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

四、  操做系統:操做系統自己的後門或者安全缺陷,如木馬和陷阱門

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

六、  管理:    人員管理和各類安全管理制度

 

用戶認證方式:

一、  用戶名和口令認證

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

三、  持卡認證方式

四、  基於人體生物特徵的識別認證方式

 

對稱加密策略:

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

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

公鑰加密策略:

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

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

相關文章
相關標籤/搜索