軟體架構的概述(待補充)

2021-09-21 02:08:02 字數 1505 閱讀 7493

架構架構師:與建築師設定建築專案的設計原則和目標,作為繪圖員畫圖的基礎一樣,乙個架構師陳述軟體構架以作為滿足不同客戶需求的實際系統設計方案的基礎。從和目的、主題、材料和結構的聯絡上來說,軟體架構可以和建築物的架構相比擬。乙個軟體架構師需要有廣泛的軟體理論知識和相應的經驗來實施和管理軟體產品的高階設計。軟體架構師定義和設計軟體的模組化,模組之間的互動使用者介面風格對外介面方法,創新的設計特性,以及高層事物的物件操作、邏輯和流程。

軟體架構

乙個系統的草圖。軟體架構描述的物件是直接構成系統的抽象元件。各個元件之間的連線則明確和相對細緻地描述元件之間的通訊。在實現階段,這些抽象元件被細化為實際的元件,比如具體某個類或者物件。在物件導向領域中,元件之間的連線通常用介面來實現。

可重用:為大規模開發提供基礎和規範,並提供可重用的資產,軟體系統的大規模開發,必須要有一定的基礎和遵循一定的規範,這既是軟體工程本身的要求,也是客戶的要求。架構設計的過程中可以將一些公共部分抽象提取出來,形成公共類和公共介面,其他功能模組所需相關功能即可呼叫,以達到重用的目的。

縮短週期:一定程度上縮短專案的週期,利用軟體架構提供的框架或重用元件,縮短專案開發的週期。

降低開發和維護的成本:大量的重用和抽象,可以提取出一些開發人員不用關心的公共部分,這樣便可以使開發人員僅僅關注於業務邏輯的實現,從而減少了很多任務作量,提高了開發效率。

提高產品的質量:好的軟體架構設計是產品質量的保證,特別是對於客戶常常提出的非功能性需求的滿足。

滿足功能性需求和非功能需求:這是乙個軟體系統最基本的要求,也是架構設計時應該遵循的最基本的原則。

實用性原則:就像每乙個軟體系統交付給使用者使用時必須實用,能解決使用者的問題一樣,架構設計也必須實用,否則就會「高來高去」或「過度設計」。

介面復用:公共部分可設計成介面,減少冗餘,最大程度的提高開發人員的工作效率。

低耦合:耦合是描述模組之間的依賴程度,如果乙個模組的修改,都有另乙個模組會受到影響,則兩模組之間是相互依賴耦合的。(依賴具有傳遞性,耦合的兩個模組可能間接依賴),低耦合是我們的設計目的,但不是不可以存在耦合不存依賴,依賴是必須的,因為模組之間是必須要通訊互動。設計依賴應該依賴於不變或者不易變的介面,無需了解模組的具體實現,即為物件導向的封裝性。

高內聚:高內聚是指某個特定模組包括程式、型別都應完成一系列相關功能,描述了不同程式和型別中方法,方法中不同操作描述的邏輯之間的距離相近。高內聚意味可維護性,可重塑性,因為模組對外部的依賴少(功能的完備性)。如果兩個模組之間的修改,互不影響各個模組的業務,這說明模組之間是高內聚的。模組的內聚和其擔當的職責成反比,即模組的職責越多,模組的內聚性越低,這也是模組的單一原則(srp),srp提倡每個型別都最好只承擔單一的職責,只有單一的改變因素。

由於軟體系統的不同的角色會站在不同的角度上提出的問題,我們就得從不同的視角來看待軟體架構設計這項工作:

1 作業系統概述(待補充)

特徵 資源的管理者 分類 作業系統的啟動?當你摁下電源的時候,會進行接下來的一系列操作 bios basic input output system 加電自檢 檢查各種硬體裝置是否能正常工作 裝置檢查正常後,由bios載入bootloader 用來載入os 到記憶體中 由bootloader將os從...

軟體架構 軟體質量概述

軟體質量特性 軟體同時具有外在的和內在的質量特性。外在特性是指該產品的使用者所能感受的部分 1 正確性 指系統規範 設計和實現方面的錯誤的稀少程度 2 可用性 使用者學習和使用乙個系統的容易程度 3 效率 4 可靠性 5 完整性 6 適應性 7 精確性 精確性與正確性的不用在於,前者是用來判斷系統完...

12 1 軟體架構概述

軟體架構是具有一定形式的結構化元素,即構件的集合,包括處理構件 資料構件和連線構件。處理構件負責對資料進行加工,資料構件是被加工的資訊,連線構件把架構的不同部分組合連線起來。軟體架構是軟體設計過程中的乙個層次,這一層次超越計算過程中的演算法設計和資料結構設計。架構問題包括總體組織和全域性控制 通訊協...