軟體構造筆記1

2021-10-07 21:53:18 字數 1097 閱讀 2089

第一章:

第一章的重點是軟體構造的多維檢視,總共有三個維度:

所以這三個維度可以劃分為八種型別

(1)build-time moment code-level

是基於詞彙的半結構化源**,半結構化是指近乎自然語言的風格+遵循特定的程式設計語法,前者方便程式設計師,後者方便編譯器。

語法層面指面向語法的程式結構,具體例子有抽象語法樹(ast)

語義層面指面向語義的程式結構,語義是指源**具體想實現什麼目標。具體例子有使用類圖class diagram(uml)來描述 inte***ces, classes, attributes, methods以及它們之間的關係

(2)build-time period code-level

這個檢視主要描繪**隨時間的增加產生的變化,比如行數增加或減少等

(3)build-time moment component-level

元件層面指的就是程式的各個組塊,包括各種庫,配置等。這個檢視指的就是源**被物理地組織成檔案,這些檔案進一步由目錄組織。檔案被封裝成包,並在邏輯上封裝元件和子系統。可重用模組以庫的形式存在

(4)build-time period component-level

這個檢視主要考慮軟體的實體隨時間週期如何變化,比如軟體版本資訊的變化

(5)run-time moment code-level

這個檢視指執行時的某個瞬間**層面的狀態,工具有快照圖,記憶體資訊轉儲

(6)run-time period code-level

這個多維檢視著眼於程式執行階段在某一段時間內在**層面的檢視

(7)run-time moment component-level

這一多維檢視著眼於程式執行階段在某一特定時刻在元件層面的檢視

(8)run-time period component-level

這一多維檢視著眼於程式在執行階段在某一階段的元件層面檢視,這一檢視主要涉及到事件日誌(event logging),事件日誌為系統管理員提供了對診斷和審計有用的資訊

以上是第一章的重點內容

軟體構造感想1

對軟體來說,雖然它是一系列的二進位制 但軟體來說它有多個質量目標,即可以從多個維度上去看的這個軟體,並且不同的質量目標可能就對應的是不同的維度。軟體不同質量目標,那麼通過適當的方式或模型去描述。雖然我們從不同的維度上去看這個軟體但是我們看的是同一軟體,所以說這些維度之間肯定是有相關性的,即軟體對應的...

1 軟體構造 概述

電腦程式是為解決某個特定問題,而用適合計算機處理的程式語言編寫的語句序列 程式 資料結構 演算法 軟體 程式 資料 文件 所以軟體是三者的總和,是能都成功執行的程式,加能使程式正常執行所需要的資料,加描述軟體開發過程及其管理軟體的使用及其操作的有關文件。系統軟體 windows 應用軟體 qq 支撐...

軟體構造課堂筆記(1)重新理解軟體結構

有待解決的問題 隨著課程進度推進,我們需要處理的軟體結構也變得更加複雜。課上在演示結構關係時,習慣將委託 繼承 實現等這些物件關係畫在乙個類圖里,可能理解起來還會比較讓人困惑。這裡我想轉換一下看待軟體結構的視角,將這種錯綜複雜的關係圖分解為2棵不太嚴格的樹,重新理解軟體的結構。這兩個模型只是我個人理...