軟考高級(信息系統項目管理師)(三)--軟件架構

一、UML與系統架構

軟件架構: 將軟件系統劃分成多個模塊,明確各模塊之間的相互作用,組合起來實現系統的全部特性,就是系統架構。

在這裏插入圖片描述
UML與系統同架構: UML對系統架構的定義是系統的組織結構,包括系統分解的組成部份,以及它們的關聯性、交互機制和知道原則等提供系統設計的信息。具體來說,就是指以上5個系統視圖。分別是:

  1. 邏輯視圖:也稱爲實際視圖,它表示了設計模型中在架構方面具有重要意義的部份,即類、子系統、包和用例實現的子集。
  2. 實現試圖:對組成基於系統的物理,代碼的文件和構件進行建模。
  3. 進程視圖:是可執行線程和進程作爲活動類的建模,它是邏輯視圖的一次執行實例,描述了併發與同步結構。
  4. 部署視圖:把構件部署到一組物理節點上,表示軟件到硬件的映射和分佈結構。
  5. 用例視圖:用例視圖時最基本的需求分析模型
    場景就是用例圖。

二、軟件架構風格

  • 數據流風格:包括批處理風格和管道過濾器兩種
  • 調用/返回格:包括主程序/子程序數據抽象和麪向對象、層次結構
  • 獨立構件:進程通信和時間驅動系統
  • 虛擬機風格:解釋器和基於規則的系統
  • 倉庫風格:數據系統、黑板系統和超文本系統

數據流風格–管道過濾器:

  • 在管道/過濾器風格的軟件架構中,每個構件都有一組輸入和輸出,構件讀輸入的數據流,經過內部處理,然後產生輸出數據流。這是的構件被稱爲過濾器,這種風格的連接件就想是數據流傳輸的管道,將一個過濾器的輸出傳到另外一過濾器的輸入。
    在這裏插入圖片描述

調用/返回風格–主程序和子程序

  • 主程序/子程序風格是結構化開發時期的經典架構風格。這種風格一般採用單線程控制,把問題劃分爲若干處理步驟,構件即爲主程序和子程序。子程序通常可合成爲模塊。過程調用作爲交互機制,即充當連接件。

調用/返回風格–抽象數據類型和麪向對象

  • 這種風格的構件是對象,或者說是數據類型的實例。對象是一種被稱作管理者的構件,它負責保持資源的完整性。對象是通過函數和過程的調用來交互的。
    在這裏插入圖片描述

調用/返回風格–分層

系統劃分成三成(由內到外):核心層–系統服務–用戶系統
層次系統組織成一個層次結構,每一層爲上層服務,並作爲下層服務。在一些層次系統種,除了一些精心挑選的輸出函數外,內部的層只對相鄰的層可見。
典型應用是分層通信協議,如ISO/OSI的七層網絡模型。

獨立構件風格–事件驅動

由事件消費者和事件產生着組成。事件消費者向事件管理器訂閱事件,事件產生者向事件管理器發佈事件。當事件管理器從事件產生者那接受到一個是事件時,事件管理把這個事件傳送給相應的事件消費者。如果這個事件消費是不可用的,事件管理者將保留這個事件,一段間隔之後再次傳送該事件消費者。

獨立構件風格–進程通信

構件是獨立的過程,連接件是消息傳遞。這種風格的特點是構件通常是命名過程(進程),消息傳遞的方式可以是點到點、異步和同步方式及遠過程調用(RPC)等。在這種架構中,消息的傳遞目標是顯示聲明的——明確指向另外一個構件。

虛擬機風格–解釋器

解釋器將高抽象層次的程序翻譯爲地抽象層次所能理解的指令,以消除程序語言與硬件之間存在的差異。這樣官方的說法十分的準確,我們可以清楚的瞭解到解釋器在機器中實現的重要功能,即將程序語言(源代碼)翻譯爲系統(操作系統和硬件)可以理解的執行代碼。

虛擬機風格–基於規則的系統

基於規則的專家系統由5部份組成:知識庫、數據庫、推理引擎、解釋設備和用戶接面。在基於規則的專家系統中,知識用一組規則來表大。
在這裏插入圖片描述

客戶/服務器架構(瞭解)

在這裏插入圖片描述
服務器負責有效地管理系統的資源,其主要任務急中對DBMS的管理和空指,以及數據的備份與恢復;客戶應用程序的主要任務提供用戶與數據庫交互的界面,向服務器提交用戶請求並接受來自服務器的信息。

瀏覽器/服務器架構

爲了解決C/S模式中客戶端的問題,發展形成了瀏覽器/服務器B/S模式;爲了解決C/S模式中服務器端的問題,發展形成了三成(多層)C/S模式。即多層應用架構。

倉庫風格–數據庫系統

數據庫系統。數據庫系統是倉庫風格最常見的形式。在數據庫系統中,構件主要由兩大類,一類式中央共享數據源,保存當前系統的數據狀態;另以一類式多個獨立處理單元,處理單元對數據元素進行操作。

倉庫風格–黑板系統

黑板系統包括知識源、黑板和控制三個部份,提供解決問題的知識。知識源響應黑板的變化,也只修改黑板。知識源響應式通過黑板狀態的變化來控制。黑板系統通常應用在對於解決問題沒有確定性算法的軟件中,例如,信號處理。

在這裏插入圖片描述

倉庫風格–超文本系統

超文本系統出現的構件以網狀鏈接方式相互連接,用戶可以在構件之間經行按照人類的聯想思維方式人義跳轉到相關構件。超文本是一種非線性的網狀信息組織方式,它以節點爲基本單位,鏈作爲結點之間的聯想式關聯。超文本系統通常應用在互聯網領域。
早期的靜態網頁就是超文本系統。

三、軟件架構評估

從目前已有的軟件架構評估技術來看,可以歸納爲三類主要的評估方式,分別式基於調查問卷(或檢查表)的方式、基於場景的方式和基於度量的方式。這三種評估方式中,基於場景的評估方式最爲常用。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章