1 / 15

計算機概論 Computer Science 7.3~7.4 By 應數一 蕭羽萱

計算機概論 Computer Science 7.3~7.4 By 應數一 蕭羽萱. 瀑布模式 (waterfall model) 漸進模式 (incremental model) 反覆模式 (iterative model ) 高彈性方法 (agile methods). 7.3 軟體工程方法論 Software Engineering Methodologies. 在開始 製作、設計之前,應該完成整 個系統的需求規格之設計工作。. 瀑布模式 (waterfall model). 漸進 模式 (incremental model).

nuri
Télécharger la présentation

計算機概論 Computer Science 7.3~7.4 By 應數一 蕭羽萱

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 計算機概論 Computer Science 7.3~7.4 By應數一蕭羽萱

  2. 瀑布模式(waterfall model) • 漸進模式(incremental model) • 反覆模式(iterative model) • 高彈性方法(agile methods) 7.3軟體工程方法論 Software Engineering Methodologies

  3. 在開始製作、設計之前,應該完成整 • 個系統的需求規格之設計工作。 瀑布模式(waterfall model)

  4. 漸進模式(incremental model) 目標軟體系統是逐步地被完成。一旦第一個版本經過測試、評估,那就可逐步得加上更多功能,直到整個系統完成為止。

  5. 反覆模式(iterative model) 當漸進模式主張以延伸的方式,將產品的每個初步版本變成大版本時,反覆模式的每個版本抱持著重建的觀點。 例:Rational統一流程 (Rational Unified Process,RUP) 統一流程(Unified Process)

  6. 雛型化(prototyping) 「雛型」(prototyping) :是一個用來評估未來整 體系統的簡化版本 。 漸進模式:一個完整的系統是由雛型經過演進式雛型 (evolutionary prototyping)而逐漸完成的。 變形:開放原始碼發展方式 (open-sourcedevelopment) 反覆模式:這種重複過程所建立的雛型被捨棄,而只 採用對最終設計重新製作的結果,稱為 捨棄式雛型(throwaway prototyping) 例:快速塑模(rapid prototyping)的觀念

  7. 高彈性方法(agile methods) 例:極限程式設計方法 (extreme programming , XP)

  8. 7.4模組化 Modularity • 「模組」(module) :將軟體分成許多可管理的單元,每個單 • 元只對付軟體全部工作的一部分。 • 模組實作(Modular Implementation) • 外連(Coupling) • 內聚(Cohesion) • 資訊隱藏(Information hiding) • 元件(Components)

  9. 模組實作(Modular Implementation) 命令式方法 圖7.3簡單的結構圖 • 此結構圖並未指出每個程序如何執行其任務, • 反而,它只是指出哪些程序及程序之間的關聯性。

  10. 物件導向式方法 • 圖7.4PlayerClass的結構及其例子 • 物件 • 類別 • 為其實例 • 屬 • 性 • 為其實例 • 方 • 法

  11. 圖7.5 從PlayerA發球後所導致個物件之間的反動 • evaluateServe • returnVolley • PlayerA呼叫Judge中的evaluteServe方法 • evaluteReturn • returnVolley • evaluteReturn • updateScore

  12. 外連(Coupling) • 當設計模組系統時的目標之一,應該是將獨立性 • 最大化,或將模組間的外連(連結)最小化。 控制外連(control coupling) 發生在一個模組將控制權交給另一模組, 就像是個程序間的呼叫。 資料外連(data coupling) 指模組間資料的共享。 以參數的形勢明顯的從一個程序傳遞資料到另一程序 廣域資料(global data)的形式隱含的在模組間分享資料

  13. 內聚(Cohesion) • 內聚一詞已經被用來表示內部的束縛,或是只模組內 • 部各部分的相關程度。 廣義的內聚:邏輯內聚(logical cohesion) 為模組內部各單元應該自然的執行相類似 的任務,而造成的內聚。 狹義的內聚:功能內聚(functional cohesion) 指模組內的所有部分都是著眼在單一活動的效率。

  14. 資訊隱藏(information hiding) • 模組化設計的要領之一,就是掌握資訊隱藏的概念。 • 此概念是指將資訊限制在一個軟體系統的特定部分。 目的:在於避免模組的動作對其他模組產生 不必要的關聯或效應。 雙重意義:設計目標&建置目標 抽象化工具的觀念就是黑箱(black box)的觀念。 其內部特性可以被使用者所忽略,而讓使用者 可以專注在手邊更大型的應用軟體。

  15. 元件(Components) • 就是軟體可再使用的單元。 • 開發及使用元件的研究已經導致一個名為 • 元件架構(component architecture)的新興領域, • 其中城市設計師的傳統由元件組合師 • (component assembler)取代,他們已預製的元件建 • 構軟體的系統。

More Related