第一章
1. 多維檢視
(1)階段:構建
|| 執行
(2)動態:時刻
|| 週期
(3)級別:**
|| 元件
2. 階段劃分、各階段構造活動
(1)構建階段
·**-時刻:源**由基本程式塊及其依賴關係進行邏輯組織。
·**-
週期:新增、修改、刪除從乙個版本到另乙個版本的檔案。
·元件-
時刻:源**通過檔案,目錄,包,庫及其依賴關係進行物理組織。
·元件-
週期:版本控制、軟體演變。
(2)執行階段
·**-時刻:快照圖著眼於目標計算機記憶體中的變數級執行狀態,記憶體轉儲顯示執行的程式狀態資訊。
·**-
週期:執行日誌追蹤
·元件-
·元件-
週期:軟體追蹤(開發人員)、事件記錄(系統管理員)
3. 內部/外部質量指標
(1)外部
·正確性:符合規格範圍和計畫目標
·健壯性:響應規格範圍外的異常情況
·可擴充套件性:提供增加新功能的空間
·可復用性:使軟體模組能夠被其他程式使用
·相容性:跨平台、跨軟體互動
·效率:程式執行過程中對cpu
、記憶體、硬碟等的占用情況
·可移植性:從乙個環境轉移到另乙個環境
·易用性:不影響專業使用者的前提下便於初學者使用
·功能性:軟體提供功能的多少
·及時性:高效率大致完成以占領市場
·可驗證性:保證軟體的效果
·完整性:各個模組間不會被非法訪問所干擾
(2)內部
·**可讀性:**可理解性、函式規約、評審及演練
·圈複雜度:用來衡量乙個模組判定結構的複雜程度,合理的預防錯誤所需測試的最少路徑條數。
·耦合度/
內聚度:追求低耦合、高內聚
- 耦合度:多個模組間的相互聯絡。
- 內聚度:模組內部語句或語句段之間的聯絡。
第二章
1. 軟體配置管理(scm)與版本控制系統(
vcs)
(1)軟體配置管理(scm)
·軟體配置管理是指通過執行版本控制、變更控制的規程,以及使用合適的配置管理軟體,來保證所有配置項的完整性和可跟蹤性,對提交的各個版本進行儲存和管理,註明名稱、識別符號、檔案狀態、版本、作者、日期等。
(2)版本控制系統(vcs)
·版本控制系統是乙個軟體,幫助軟體開發人員團隊工作並維持他們完整的工作歷史,允許開發者同時工作,不會重寫每個人的改變,維持每個版本全部的歷史,新功能完成前不將其加入軟體。
·具有倉庫(核心)、主幹(目錄)、標籤(版本描述)、分支(並行建立另一條線)、工作副本(倉庫快照、私人空間)、提交更改(私人空間到**伺服器)、日誌功能(記錄不同開發人員作品)
·三種管理模式:本地、集中式(雲端互動)、分布式(直接或雲端互動)
·特點:可靠、可還原、可備份、可合作、支援多個檔案、可審查歷史
2. git/github
(1)git儲存庫:
.git
目錄(儲存所有版本控制資料)、快取區、本地工作目錄
(2)檔案的三種狀態:修改、分階段(檔案已修改並已新增到暫存區)、提交
(3)git中的物件圖:
git所有操作的基礎,儲存在儲存庫的
.git
目錄中,不重複儲存無變化檔案,多個提交可共享副本。
(4)分支:commit -> branch -> merge
(5)github:乙個面向開源及私有軟體專案的託管平台,只支援
git
作為唯一的版本庫格式進行託管。
軟體構造 課程提綱4
第六章 可維護性的常見度量指標 圈複雜度 行數 運算子 運算元的數目 可維護性指數 mi 繼承深度 類耦合 單元測試覆蓋度 聚合度與耦合度 1 耦合度 多個模組間的相互聯絡 2 聚合度 模組內部語句或語句段之間的聯絡 solid 1 s 單一責任原則,即引起類變化的原因只有乙個 2 o 開放封閉原則...
軟體構造課程
課程目標 在高階語言程式設計的基礎上,認識軟體構造的質量標準與目標,學習軟體 構造的基本過程,從而具備面向質量目標的複雜軟體構造方法與能力 深入學習抽象資料型別 adt 與物件導向程式設計 oop 初步掌握面向關鍵質量目標 可理解性 可維護性 可復用性 健壯性 時 空效能 的軟體構造基本技術 了解軟...
軟體構造課程 ADT
abstract data types可簡單理解為乙個封裝的型別,它不需要提供各種詳細的資訊,但是可以有強大的功能。它具有一定的防禦性,只對外提供一些操作,但是內部可以是各種複雜的函式。對於乙個抽象類操作它的型別主要有4種 t非此型別的資料 t則為該資料型別。creators t t。比如對於int...