第九章 物件導向技術.

Slides:



Advertisements
Similar presentations
08 CSS 基本語法 8-1 CSS 的演進 8-2 CSS 樣式規則與選擇器 8-3 連結HTML 文件與CSS 樣式表
Advertisements

第二章 UML簡介 課前指引 本章介紹什麼是UML以及利用圖形來塑模資訊系統的好處在哪裡。文中也介紹了何謂「4+1的觀點」、以及簡述各項UML圖形的使用目的。並且,我們從靜態以及動態這兩個觀點來分類、介紹各圖形的使用時機。
陳維魁 博士 儒林圖書公司 第九章 資料抽象化 陳維魁 博士 儒林圖書公司.
Views ,Stored Procedures, User-defined Function, Triggers
物件導向技術.
TQC+ JAVA全國教師研習會 PLWeb 程式設計練習平台 簡介.
本章學習目標 ERP系統的定義 企業應用軟體系統發展歷程 現階段ERP系統應用狀況.
Chapter 5 遞迴 資料結構導論 - C語言實作.
程式語言的基礎 Input Output Program 世代 程式語言 第一世代 Machine language 第二世代
程式設計概論 1.1 程式設計概論 程式語言的演進 物件導向程式 程式開發流程 1.2 C++開發工具
Java簡介.
Chapter 1 Introduction.
第十四章 系統元件與結構塑模.
首席數位 物件導向系統分析與設計(OOA,OOD) 首席講座: 曾龍博士.
第3章 UML統一塑模語言 3-1 塑模與塑模語言 3-2 UML的基礎 3-3 UML的4+1觀點 3-4 UML塑模工具
TCP協定 (傳輸層).
第一篇 Unix/Linux 操作介面 第 1 章 Unix/Linux 系統概論 第 2 章 開始使用 Unix/Linux
第二章 Linux基本指令與工具操作 LINUX 按圖施工手冊.
電子商務基本概念 電子商務的定義 1-1 電子商務的特性 1-2 電子商務的演進 1-3.
HiNet 光世代非固定制 用戶端IPv6設定方式說明
類別(class) 類別class與物件object.
SQL Stored Procedure SQL 預存程序.
R教學 安裝RStudio 羅琪老師.
無線射頻識別系統(RFID) 基本原理及發展與應用
ASP.NET基本設計與操作 建國科技大學 資管系 饒瑞佶 2007年.
安裝JDK 安裝Eclipse Eclipse 中文化
OpenID與WordPress使用說明
第10章 使用個案塑模.
第3章 需求分析.
OSGi (Open Service Gateway Initiative)
K、物件資料結構塑模 ~類別圖與物件圖 類別 類別圖 物件圖 物件資料結構塑模 執行、實作觀點的類別種類 能見度(Visibility)
管理資訊系統導論 資訊系統的定義與概念.
Java 程式設計 講師:FrankLin.
UML Unified Modeling Language
第九章 物件導向技術.
RFID資訊系統 建國科技大學資管系 饒瑞佶 2010/2011.
SuperGIS 2.0 基本架構介紹.
網路安全技術 OSI七層 學生:A 郭瀝婷 指導教授:梁明章.
Topic Introduction—RMI
網頁程式設計 本章投影片錄自HTML5、CSS3、RWD、jQuery Mobile跨裝網頁設計 陳惠貞 著 碁峰資訊股份有限公司出版
TB-054A  周天穎 編著 儒林圖書公司 發行.
第三章 危害與操作性研究.
實驗十二: 紅綠燈控制電路設計 規格: Due: Jan. 3, 2008 Tvrl = Thgl + Thgf + Thyl
第 19 章 XML記憶體執行模式.
網頁程式概論 建國科技大學資管系 饒瑞佶 2015/9 V1 2016/4 V2 2016/9 V3.
物件資料結構塑模.
其他 ER 相關觀念 以及OO模型 國立中央大學 資訊管理系 范錚強 2002 中央大學。范錚強.
Chapter 3 軟體組態管理 Software Engineering – An Engineering Approach, James F. Peters & Witold Pedrycz.
Class & Object 靜宜大學資工系 蔡奇偉副教授 ©2011.
智慧型手機程式設計 建國科技大學資管系 饒瑞佶 2011年(992).
FTP使用教學 簡介: 軟體名稱:FileZilla 軟體性質:Freeware 版本: 繁體中文版
統一模式語言(UML) 使用UML作為塑模語言的原因: UML目前己為國際物件管理組織(OMG)接受為物件導向之標準模式語言。
產品設計與流程選擇-服務業 等候線補充資料 20 Oct 2005 作業管理 第六章(等候線補充資料)
DRC with Calibre 課程名稱:VLSI 報告人:黃家洋 日期: 改版(蔡秉均) 1.
MicroSim pspice.
Video 影像 (VideoPlayer 影像播放器、Camcorder 錄影機) 靜宜大學資管系 楊子青
教育概論 教育原理與制度試題解題與分享 第五組
陣列與結構.
動畫演示 Node規範了一些基本的方法,像是增加節點、刪除節點、讓節點做一些事、取得第n個節點等等
國立台灣大學 關懷弱勢族群電腦課程 By 資訊工程 黃振修
資料表示方法 資料儲存單位.
資料擷取與監控應用實務.
貳.企業願景、使命與目標(1/3) 願景 利害關係人 內部利害關係人 外部利害關係人 高階領導者必須創立一種以顧客為焦點的、清晰可見的價值
資料結構與C++程式設計進階 期末考 講師:林業峻 CSIE, NTU 7/ 15, 2010.
決策支援系統 實例簡介.
What is “this”? 在物件導向程式設計中,類別的定義就是在說明如果創建了“這個物件”的話,它會具有那些屬性與功能,以及這些功能是如何實現的。 而所謂的“這個物件”就以 this 來表示。 當我們在JavaScript與jQuery中寫 script 程式(函式)時,“誰”呼叫這個函式,這個“誰”就是該函式中所謂的.
一 可靠度問題.
NFC (近場通訊, Near Field Communication) 靜宜大學資管系 楊子青
Chapter 4 Multi-Threads (多執行緒).
營運模式.
Presentation transcript:

第九章 物件導向技術

內容大綱 學習目標 第一節 導論 第二節 物件導向的基本概念 第三節 物件導向的系統開發方法 第四節 物件導向分析與設計及塑模工具 第五節 結論

學習目標 詳讀本章,你至少能瞭解: 物件導向的基本概念。 物件導向系統開發的過程與產出。 物件導向分析與設計的塑模工具。

導論 物件導向技術是繼結構化技術之後,系統開發上的另一新思維典範。 物件導向之觀念起源於模擬語言,以物件模式來描述真實系統,並將資料抽象化、封裝、繼承、同名異式與超荷的觀念融入於物件系統開發中。

物件導向的基本觀念(1/9) 物件導向的重要基本觀念 物件 類別 封裝 繼承 同名異式 超荷

物件導向的基本觀念(2/9) 物件 物件是物件導向的基本思維單位,物件是一個具有狀態、行為與識別的實體或抽象化概念,且其行為會影響其狀態者。 物件包括 名稱 屬性 操作或稱方法 例如李四之物件,有年齡、朋友、雙手與雙腿等為其屬性,而跳躍與走路為其操作。

物件導向的基本觀念(3/9) 類別 類別是具有相同結構及行為的物件所組成的集合。一個類別是一種定義、樣板或模型,它描述一群具有相同特徵(例如,屬性、操作、語意)的物件。 類別是物件經分類或抽象化後所得的結果,也就是將物件抽象化,剔除物件間的差異而只考慮其相同的性質後,將這些物件組成一個群體稱為類別。例如,人。

圖9-1 類別之表示

物件導向的基本觀念(4/9) 類別使用一組相同的屬性和操作來描述一個或多個物件,包含如何從類別中建立新的物件。類別有時亦稱為物件類型,類別中的任一物件稱為該類別之案例,因此物件與案例常被互用(視為同義詞)。

物件導向的基本觀念(5/9) 封裝 物件導向技術將資料及操作此資料的所有方法包裝成一個物件,稱之為「封裝」。封裝所形成的物件,其結構可分為兩部分,一是定義物件外觀行為的介面部分;另一則是存放抽象化的結果以及如何達成外觀行為的實作部分。

物件導向的基本觀念(6/9) 封裝將物件的實作細節隱藏,使其與外界環境隔離,而只允許該物件所包含之操作修改其資訊,稱為資訊隱藏。物件之操作執行物件之行為,並可修改物件之資訊。 使用物件時,僅需知道物件提供何種操作,而不需知道其內部之資訊或行為是如何表達或執行。外界之物件僅能透過訊息傳遞,要求該物件提供服務,而無法逕自改變該物件之資料內容。 封裝之特性使物件導向的系統較容易維護。

物件導向的基本觀念(7/9) 繼承 繼承是類別間之關係,在此關係中,某類別之資料結構與行為可供其關係中之類別分享。 繼承之特性可利用一般化與特殊化的原則,萃取相關子類別的相同屬性和操作,並將之歸類為一個父類別來達成。 在物件導向技術中,繼承概念之運用對軟體工程有革命性之影響,如達成程式碼再用與減少重複描述,產生可靠度較高的軟體等。

圖9-2 類別間之繼承關係

物件導向的基本觀念(8/9) 同名異式與超荷 同名異式意指「多種型式」,簡稱「多型」,即利用相同名稱的操作,但以不同的方式處理不同類別的資料。 超荷就是在同一個類別中,用相同名稱的操作處理資料,然而每個操作的參數個數、參數資料類型不可完全相同。超荷有時又稱靜態多型。

圖9-3 類別間之繼承關係與多型

物件導向的基本觀念(9/9) 運用多型或超荷之特性在程式設計上,可允許不同(或相同)的物件(或類別)定義相同的操作名稱,俟程式執行時依動態連結的方法,判斷訊息參數的個數、種類與資料類型來決定運作的物件或操作。運用多型或超荷之目的,是希望以相同的介面來處理不同的物件或相同的物件但不同的操作方式,以簡化系統發展的複雜性並增加其彈性。

圖9-10 UML之版本與年代演進

物件導向分析與設計及塑模工具(2/16) 統一塑模語言是一種規格化、視覺化及文件化的軟體塑模語言,共使用以下圖形進行塑模: 使用個案圖 類別圖 物件圖 循序圖 合作圖 狀態圖 活動圖 元件圖 部署圖

物件導向分析與設計及塑模工具(3/16) 使用個案圖 UML之使用個案圖是引用Jacobson方法中的使用個案模式,從使用者之觀點描述系統的行為者與系統間之互動行為與關係。從內部觀點來看,使用個案可描述系統做什麼?從外部觀點來看,它可描述行為者與系統如何互動?

物件導向分析與設計及塑模工具(4/16) 類別圖 UML之類別圖是引用Booch與Rumbaugh方法論的類別圖,主要用以表示系統存在之物件型態(或稱類別)及各物件型態間的靜態資料結構與邏輯關係,也表達類別之屬性、操作與類別間連結之限制等。 物件圖 UML之物件圖是用來描述一系統於某一時間點的靜態資料結構,該圖由一群相關之物件及其連結所組成,以表示系統在某一時間點之例子。

物件導向分析與設計及塑模工具(5/16) 循序圖 UML之循序圖是結合Booch的互動圖與Rumbaugh的訊息追蹤圖而成,主要用以描述系統運作時物件間的互動行為,且著重以時間之先後順序為主軸,以表達物件間的訊息傳遞與處理程序。一個循序圖會有一個與之對應的合作圖,但表達的重點與方式不同。

物件導向分析與設計及塑模工具(6/16) 合作圖(溝通圖) UML之合作圖是從 Booch的物件互動圖與 Rumbaugh 的物件導向資料流程圖改進而成,該圖主要表達相關物件間之連結結構,並能同時展現物件間的資料流程、控制流程與訊息傳遞的活動。因此,合作圖是一個巨觀的總流程,能同步表達資料的產生與資料轉變的過程,以改進傳統資料流程圖中只著重資料流的缺點。

物件導向分析與設計及塑模工具(7/16) 狀態圖 UML之狀態圖是結合 Booch 的狀態轉移圖與 Rumbaugh 的動態模式而成,用以表達物件在其生命週期中的狀態變化。狀態圖是以微觀物件為主,細分物件所發生的各項事件,並表達物件生命週期之狀態轉變及活動結果。 活動圖 UML之活動圖是狀態圖的一種變異,該圖表達涉及於執行某一作業行為中之活動。一個活動圖描述一群循序與同步的活動,一個活動狀態表示一個工作流程步驟或一個運算的執行活動。

物件導向分析與設計及塑模工具(8/16) 元件圖 UML之元件圖起源於 Booch 的模組圖,用以說明系統設計過程各類別與物件的配置,以及敘述軟體元件間的組織架構和相依關係。元件是開發和執行過程之實際物件類別,將可分解的實際基本單位模組化,這些基本單位包括模組並擁有特性和明確定義的介面。 部署圖 UML之部署圖起源於 Booch 的處理圖,它用來說明系統各處理器、處理元件的配置、關聯,以及同一處理器內執行處理的時程安排等。

物件導向分析與設計及塑模工具(9/16) Booch 等人(2005)從概念面提出五個連鎖觀點的軟體系統結構(參考圖9-6)︰ 使用個案觀點 設計觀點 流程觀點 實施觀點 部署觀點

圖9-6 五個連鎖觀點的軟體系統結構

物件導向分析與設計及塑模工具(10/16) 使用個案觀點 由描述系統行為的使用個案組成,這些系統行為是由使用者、系統分析師、測試者的觀點來描述,並不實際描述軟體系統的組織。 設計觀點 由類別、介面與合作組成,這些是來自於描述問題及其解決方法中之詞彙描述。這個觀點主要支援系統的功能需求,表達系統應提供給使用者之服務。

物件導向分析與設計及塑模工具(11/16) 流程觀點 由執行緒與流程所組成,這些是來自於系統的平行與同步機制,這個觀點主要表達系統之績效、產出與可擴充性。 實施觀點 由可以不同方式組裝實際可運作系統之獨立的元件與檔案所組成,這個觀點主要表達系統版本的結構配置管理。 部署觀點 由構成系統之硬體類型的節點所組成,這個觀點主要表達組成實際系統之零件的分配、傳遞訊息與安裝。

物件導向分析與設計及塑模工具(12/16) 應用UML,使用個案觀點的靜態面可用使用個案圖表示;設計觀點的靜態面可用類別圖與物件圖表示;流程觀點的靜態面可用類別圖與物件圖表示,但以主動類別表達執行緒與流程;實施觀點的靜態面可用元件圖表示;部署觀點的靜態面可用部署圖表示。而上述各觀點的動態面均由互動圖(循序圖與合作圖之統稱)、狀態圖與活動圖表示。

物件導向分析與設計及塑模工具(13/16) 從系統實作面來說,上述五個觀點配合物件導向的分析與設計(包括需求分析、系統分析與設計)之活動,可具體地將之分成六種塑模: 需求塑模 物件資料結構塑模 物件互動行為塑模 作業行為塑模 使用者介面塑模 系統元件與結構塑模

物件導向分析與設計及塑模工具(14/16) 需求塑模 主要是應用使用個案圖、活動圖(或流程圖)、藍圖、資料詞彙與介面元件等工具進行使用者與企業需求塑模,此活動可包含處理使用個案觀點靜態面之工作。 物件資料結構塑模 主要的工具是類別圖與物件圖,此活動可包含處理設計觀點靜態面之工作。

物件導向分析與設計及塑模工具(15/16) 物件互動行為塑模 主要的工具是循序圖與合作圖。 作業行為塑模 主要的塑模工具是活動圖與狀態圖。 物件互動行為塑模與作業行為塑模,這兩個活動可包含處理各觀點之動態面工作。

物件導向分析與設計及塑模工具(16/16) 使用者介面塑模 主要的塑模工具是介面結構圖、介面藍圖與元件規格、狀態圖與轉換表。 系統元件與結構塑模 主要的工具是元件圖與部署圖,這個活動可包含實施觀點與部署觀點之靜態工作。 上述有關之物件導向塑模活動及塑模工具摘述如圖 9-7。

圖9-7 物件導向塑模活動及塑模工具

圖9-8 物件導向分析與設計與塑模工具之關係

結論 物件導向之系統開發過程是一種反覆的程序,主要包括需求分析、系統分析與設計、實施與測試等階段。 其中,需求分析主要以使用個案圖作為表達工具;而系統分析與設計主要以類別圖、物件圖、循序圖、合作圖、狀態圖、活動圖、元件圖與部署圖等表達。 物件導向應用一些重要的觀念包括物件、類別、封裝、繼承與同名異式及超荷等,使物件導向系統有別於結構化之系統。由於物件導向技術之引進,使軟體之開發與維護更有效率,亦提升了程式的再用性與可維護性。

圖9-9 分析與設計和塑模工具:結構化vs.物件導向