Chapter 1 資訊系統開法概論 - Ian-Liu-1990/Systems-Analysis-Design GitHub Wiki

1. CI/CD

  1. 持續整合Continuous integration : 一種軟體工程流程,是將所有軟體工程師對於軟體的工作副本持續整合到共享主線(mainline)的一種策略

  2. 持續交付Continuous delivery : 一種軟體工程流程,讓軟體產品的產出過程在一個短週期內完成,以保證軟體可以穩定、持續的保持在隨時可以釋出的狀況。目標在於讓軟體的建置、測試與釋出變得更快以及更頻繁。減少軟體開發的成本與時間,減少風險。

2. SOLID

  1. 單一功能原則 : 認為物件應該僅具有一種單一領域功能的概念。
  2. 開閉原則 : 軟體體應該是對於功能擴充開放,但是對於修改功能封閉
  3. 里氏替換原則 : 程式中的物件應該是可以在不改變程式正確性的前提下被它的子類所替換的
  4. 介面隔離原則 : 多個特定客戶端介面要好於一個泛型用途的介面
  5. 依賴反轉原則 : 一個方法應該遵從依賴於抽象而不是一個實例,目的在高層次的模組不應該依賴於低層次的模組,兩者都應該依賴於抽象介面。

3. 測試驅動開發

  • 定義 : 倡導先寫測試程式,而後編碼實現其功能而得,步驟包括
    1. 挑選功能,新增測試案例
    2. 簡單測試,確保測試可正確執行
    3. 根據測試,快速編成可最低限度通過測試之功能
    4. 再次測試,完成完整需求之商業邏輯功能
    5. 測試保證下對功能進行重構

4. 功能驅動開發 : 向顧客快速展式可運作程式碼

5. 使用案例驅動開發 : 交易式系統(系統冗長,複雜的流程定義)