軟體構造第一章總結

2021-10-03 13:10:42 字數 1429 閱讀 9201

軟體構造的實質

影響軟體質量的因素

從階段層面看:構造vs執行(build vs run)

從動態層面看:時刻vs週期(moment vs period)

從級別層面看:**vs模組化(code vs component)

build-time, moment and code-level view:關注詞彙層面(語句、變數、字串等)、語法層面(ast)、語義層面(uml圖);

build-time, period and code-level view:關注**隨著時間的變化,如刪改、版本等;

build-time, moment and component-level view:關注程式在構建過程中所引用的庫、靜態鏈結、包、測試用例、原始檔等;

靜態鏈結發生在該階段,庫被拷貝到**中,形成 乙個整體,執行時無需提供庫檔案,但難以公升級庫。

build-time, period and component-level view:通過版本控制工具,關注**變化。

run-time, moment and code-level view:關注snapshot(快照圖),即描述程式執行是記憶體裡變數層面的狀態的工具,以及程式執行時記憶體裡變數層面狀態;

run-time, period and code-level view:執行跟蹤,用日誌方式記錄程式執行的呼叫次序;

run-time, moment and component-level view:關注不同伺服器模組配置情況;

動態鏈結在構造階段僅作出標記,執行時根據標記裝載庫至記憶體,從而易於公升級庫,但是發布軟體時需要將所需庫複製給使用者。

run-time, period and component-level view: 通過時間日誌記錄,檢視系統使用情況。

由於不可能使所有影響軟體質量的因素都達到理想化,所以軟體構造實質上是在各指標間尋找折中的方法

(按重要程度羅列)

健壯性:軟體系統對異常情況作出適當反應的能力;

可擴充套件性:軟體易於調整以適應變化的能力。可以藉由簡化體系結構、提高模組自治性實現;

可復用性:遇到相似模式時利用共性,以降低開發成本;

相容性:軟體在不同的軟體系統之間相互整合。可以藉由一致性、標準性設計以及軟體協議實現;

效率:實現軟體系統對硬體資源盡可能少需求;

可移植性:軟體可在不同的硬體和技術環境中移植的能力;

易用性:使使用者能輕鬆掌握軟體使用、安裝、執行和監控;

功能性:增加軟體功能。與一致性以及易用性存在一定矛盾;

還有可驗證性、完整性、可修復性、經濟性等。

內部質量因素通常作為外部質量因素的部分度量。

涉及到的方面有**行數、耦合度、內聚度、可讀性、複雜性、大小規模等。

軟體構造第一章

軟體構造第一章 1 構建時,時刻和 級檢視 源 如何通過基本程式塊 如函式,類,方法,介面等 以及它們之間的依賴關係進行邏輯組織。三種相互關聯的形式 面向詞彙的源 面向語法的程式結構 例如,抽象語法樹 ast 面向語義的程式結構 例如,類圖 1.1軟體構建的多維檢視 源 軟體開發中最重要的資產 基於...

軟體構造學習部落格第一章

軟體構造學習部落格第一章 從三個方面認識軟體構造,軟體的構造就是在不同方面之間的變換 code 元件 component 構建時 build 執行時 run 時刻 moment 時間段 period 1.專案 programs ui,algorithms,utilities,apis,test ca...

第一章總結

動態網頁是指在伺服器端執行的程式或者網頁,它們會隨不同客戶,不同時間,返回不同的內容,隨著internet技術的興起,b s架構是對c s架構的一種變化或者改進的結構,在這種結構下,程式完全放在應用伺服器上,通過應用伺服器同資料庫服務進行通訊。url意思為統一資源定位符,也稱為網頁位址。是inter...