--- title: 6.設計與實作 tags: software engineering --- # 設計與實作 ## 請說明在進行物件導向設計的活動時,需進行哪5個階段? 上週課程中說明了哪幾個階段?請將上週課程中說明到的各階段重點簡要說明。 - 瞭解與定義系統所使用的環境和外部互動、設計系統架構、辨識系統內的主要物件、開發設計模型、指定介面 1. 系統環境與互動: 瞭解該軟體的外部環境之間的關係,以建立系統的邊界。 2. 架構設計: 軟體系統和系統環境之間的互動設計,當作設計系統架構的基礎。找出組成系統的主要原件和它們的互動。 3. 物件類別識別: 辨識物件導向系統中物件類別的方式。具體來說:對系統的自然語言描述進行文法分析;以應用領域中的有形實體、角色、事件、互動、位置和組織單位(如公司)等來識別;使用情境分析法,針對系統的各種使用情境輪流進行辨識與分析。 4. 設計模型: 展示系統中的物件或物件類別。 5. 介面規格: 設計程序最重要的部分是指定設計中不同元件之間的介面規格。應避免出現資料的表示細節。可用UML來制訂,使用語類別突同樣的符號表示法。相同的物件也可以有數個介面。 ## 請說明在實作階段中為什麼需要做組態管理? - 使用組態管理系統 (ex:git) 的目的是為了方便管理專案,git的功能可以區分不同的branch,在開發上也更好獨立出不同階段的版本,大家在每個commit中紀錄每次開發上傳的紀錄,幫助團隊一同協作共同專案,可以更有效率以及有規劃性的來開發軟體。