Microsoft PowerPoint - UML_961

Similar documents
統一塑模語言(UML)語法精要

詞 彙 表 編 號 詞 彙 描 述 1 預 約 人 資 料 中 文 姓 名 英 文 姓 名 身 份 證 字 號 預 約 人 電 話 性 別 2 付 款 資 料 信 用 卡 別 信 用 卡 號 信 用 卡 有 效 日 期 3 住 房 條 件 入 住 日 期 退 房 日 期 人 數 房 間 數 量 入

Microsoft PowerPoint - UMLandOO_ [相容模式]

(Microsoft PowerPoint - UML\302\262\244\266_use case.ppt)

Wy159.mps

Microsoft PowerPoint - 13_ClassAndObj.ppt

(procedure-oriented)?? 2

文档 3

Microsoft Word - 物件導向編程精要.doc

Microsoft PowerPoint - P766Ch06.ppt

FAQ -PowerDesigner9.5.DOC


Microsoft PowerPoint - DFD.PPT

Microsoft Word - ch04三校.doc

運算子多載 Operator Overloading

Microsoft PowerPoint UML.ppt

10-2 SCJP SCJD 10.1 昇陽認證 Java 系統開發工程師 的認證程序 Java IT SCJD

投影片 1

<4D F736F F D20D5FDB7A8D2ABD1DB20BAE7B9E2CEDECFDE20C7B0D1D4D0DEB8C4342E31332E646F63>

Microsoft Word htm

PowerPoint 簡報

導讀 ASP.NET HTML ASP 第一篇 基礎篇第 1 章 認識 ASP.NET ASP.NET ASP.NET ASP.NET ASP.NET 第 2 章 認識 Visual Studio 20 開發環境 Visual Studio 20 Visual Studio 20 第二篇 C# 程式

投影片 1


<4D F736F F D20A2B0A1D0A2B0A1D0A2B0A240A6CBAA4FC554BC4DB7ABA240A7D6AA4FBD6DB2DF2E646F63>

Microsoft Word - 雲林縣學校轉型優質計畫.docx

慈宗彌勒淨土法門的殊勝

5.1施工企业会计核算办法


Microsoft PowerPoint - Ch13

Microsoft Word - 投影片ch11

電機工程系認可證照清單 /7/1

<4D F736F F F696E74202D20C8EDBCFEBCDCB9B9CAA6D1D0D0DEBDB2D7F92E707074>

Fun Time (1) What happens in memory? 1 i n t i ; 2 s h o r t j ; 3 double k ; 4 char c = a ; 5 i = 3; j = 2; 6 k = i j ; H.-T. Lin (NTU CSIE) Referenc

Microsoft PowerPoint - SAGE 2010

縣 94 學年度 上 學期 區 國民中學 Q 年級 R 領域教學計畫表 設計者:

由社會發展趨勢探討國人睡眠品質

Microsoft Word doc

《大话设计模式》第一章

73 二 課程簡介

EJB-Programming-4-cn.doc

( 总 第 1073 期 ) 浙 江 省 人 民 政 府 主 办 2015 年 3 月 17 日 出 版 省 政 府 令 省 政 府 文 件 目 录 浙 江 省 大 型 群 众 性 活 动 安 全 管 理 办 法 ( 浙 江 省 人 民 政 府 令 第 333 号 ) (3) 浙 江 省 人 民 政

( )... 5 ( ) ( )

1 目 錄 1. 簡 介 一 般 甄 試 程 序 第 一 階 段 的 準 備 第 二 階 段 的 準 備 每 間 學 校 的 面 試 方 式 各 程 序 我 的 做 法 心 得 及 筆 記 結 論..

主程式 : public class Main3Activity extends AppCompatActivity { ListView listview; // 先整理資料來源,listitem.xml 需要傳入三種資料 : 圖片 狗狗名字 狗狗生日 // 狗狗圖片 int[] pic =new

untitled

,400, ,400, %2.0% ,200, / / , / /

Microsoft Word - JAVA Programming Language Homework I ans

Microsoft PowerPoint - VB14.ppt

二 戶外教學的性質

Microsoft PowerPoint - ch6 [相容模式]

目 录 监 管 资 讯 2016 年 全 国 保 险 监 管 工 作 会 议 召 开...3 协 会 动 态 赤 峰 保 险 行 业 协 会 召 开 数 据 统 计 和 信 息 宣 传 总 结 表 彰 会 议...5 赤 峰 市 保 险 行 业 协 会 秘 书 处 召 开 2015 年 度 述 职

同 时, 采 取 提 供 新 闻 线 索 和 素 材 安 排 专 访 等 方 式 主 动 为 新 闻 媒 体 服 务, 为 采 访 报 道 活 动 创 造 便 利 条 件 建 设 网 络 信 息 发 布 平 台 2013 年 9 月 开 通 中 央 纪 委 监 察 部 网 站,2015 年 1 月

公務員服務法第13條相關解釋彙整表

资 讯 速 递 台 基 于 大 数 据 的 学 校 督 导 评 估 系 统 建 设 上 海 市 闵 行 区 人 民 政 府 教 育 督 导 室 ( 摘 要 ) 闵 行 教 育 在 深 化 教 育 改 革 探 索 管 办 评 分 离 的 背 景 下, 把 教 育 督 导 评 估 系 统 建 设 作 为

時間軸上的竹蓮記憶 學務主任 黃雅彙 我不是竹蓮國小的畢業校友 但對於身為新竹人的我來 說 仔細回想起來 似乎和竹蓮有著一種特別的緣分 對竹蓮國小最初的印象是在小學的時候 猶記得年幼的 我經過一段時日的啦啦隊舞蹈訓練後 老師便帶著我們從學 校步行到竹蓮國小來參加比賽 一踏入竹蓮校門 映入眼簾 的是黑

Microsoft Word - 临政办发6.doc

財金資訊-82期.indd


Autodesk Product Design Suite Standard 系統統需求 典型使用用者和工作流程 Autodesk Product Design Suite Standard 版本為為負責建立非凡凡產品的設計師師和工程師, 提供基本概念設計計和製圖工具, 以取得令人驚驚嘆

chapter 2 HTML5 目錄iii HTML HTML HTML HTML HTML canvas

Transcription:

<< 會計資訊系統課程講義 >> 統一塑模語言 (UML) 語法精要 -- 物件導向概念 需求分析及系統分析 周國華屏東商業技術學院會計系 2007 Autumn

物件導向 (OO) Object-oriented: 應用程式 (app) 由可重複使用的軟體物件 (object) 或元件 (component) 組合而成 軟體物件可用來描述實體物件以及抽象概念 元件是由功能相關的物件組合而成 OOAD: 物件導向分析與設計 OOP: 物件導向編程 ( 程式設計 ) OO 語言 :SIMULA,Smalltalk,C++,JAVA, Ruby,Python,Delphi,C#,VB 2005 屏東商業技術學院周國華 2

物件導向 (OO) 傳統 ( 結構化 ) 系統開發 : 以資料為中心 (datacentric), 強調資料的蒐集 管理及表達 資料庫的設計及建立是重點 可輕易處理資料庫的變動 當企業規則或系統行為改變時, 較難處理 OO 系統開發 : 資訊與行為並重, 所建立的系統較具彈性, 能更有效處理企業規則或系統行為的變動 描述資訊與行為, 不同語言有不同構念名稱 : Java 稱為 variable( 變數 ) 及 method( 方法 ),C++ 稱為 variable 及 function( 函數 ) 屏東商業技術學院周國華 3

OO 概念 : 抽象化 將真實世界的複雜現象以簡化的模型加以描述, 稱為抽象化 (abstraction) 在 OO 中, 物件及其類別就是抽象化的表徵 例如, 在學校管理系統中, 有 學生 這個類別, 此類別可能有身份證字號 學號 姓名 性別 生日 住址等屬性, 及註冊 選課 申請成績單 畢業離校等方法 在真實世界中, 任何一位學生的特質及能力都遠超過上述 學生 類別所描述的內容, 但就學校管理系統而言, 上述類別的描述或已足夠 屏東商業技術學院周國華 4

OO 概念 : 封裝 在 OO 中, 把提供特定功能的變數及方法放在一個物件內, 稱為封裝 (encapsulation) 例如 : 銀行系統的 帳戶 物件 變數 : 編號, 餘額, 客戶名稱, 地址, 帳戶類型, 利率, 開戶日期 方法 : 開戶, 結清, 存款, 提款, 更改帳戶類型, 更改客戶名稱, 更改地址.. 在編程時, 先定義類別 (class), 再實作特定類別的物件 屏東商業技術學院周國華 5

OO 概念 : 封裝 封裝的優點 : 模組化 (modularity): 特定物件的程式碼可以單獨撰寫, 並可重複再用 資訊隱藏 (information hiding): 物件透過公共介面與其他物件溝通, 物件內的變數及方法不必公開 屏東商業技術學院周國華 6

OO 概念 : 繼承 在 OO 中, 子類別 (subclass) 可繼承父類別 (superclass) 的所有變數及方法, 再增添額外的變數及方法 子類別亦可覆寫 (override) 繼承自父類別的方法, 提供新的詮釋方式 一個子類別的物件, 也是其父類別的物件 反之不然! 在 Java 中, 一個子類別只能繼承一個父類別 ; 在 C++ 中, 一個子類別可以繼承多個父類別 但 Java 的類別可透過實作 interface 的方式, 實質上取得多重繼承的優點 屏東商業技術學院周國華 7

OO 概念 : 多型 在 OO 中, 方法名稱相同, 卻容許有不同的運作內涵, 稱為多型 (polymorphism): 子類別繼承自父類別的方法並加以覆寫 多個子類別繼承自同一父類別的抽象方法, 再各自定義實質內涵 多個類別實作同一個介面 (interface), 並各自定義介面內的抽象方法之實質內涵 一個類別內有多個方法名稱相同, 但各方法的參數不同 此情況通稱為 overloading 屏東商業技術學院周國華 8

UML 與 OO Unified Modeling Language (UML): 統一塑模語言, 是物件導向分析與設計的標準工具語言, 亦可用來描述企業程序 UML 2.0 並未完整支援 data modeling, 但 class diagram 可提供類似 ERD 的資料塑模功能 塑模 (modeling): 開發資訊系統時, 必須先確認使用者需求, 並將此需求以通用的圖形及語法建立成視覺模型 (visual model), 以便有效傳達給程式設計師 屏東商業技術學院周國華 9

UML 2.0 的圖形 : 分類名稱 UML 2.0 將圖形分成三大類, 共 13 種圖 : 結構圖形 : 類別圖, 物件圖, 元件圖, 複合結構圖, 佈署圖, 套件圖 行為圖形 : 使用案例圖, 活動圖, 狀態機器圖 互動圖形 : 順序圖, 溝通圖, 計時圖, 互動觀點圖 * 本課程將要求同學練習繪製四種與需求分析及系統分析相關的圖形 屏東商業技術學院周國華 10

UML 2.0 的圖形 : 階層架構 * 本圖取材自 http://upload.wikimedia.org/wikipedia/en/6/6f/uml_hierarchie_des_diagrammes.png 屏東商業技術學院周國華 11

塑模程序 :OOAD 1. 確認需求 :Use Case Model 從使用者取得完整的需求資料 UML 圖形工具 : 使用案例圖, 活動圖 2. 系統分析 :Conceptual Model or Analysis Model 將需求資料轉成開發者觀點 UML 圖形工具 : 概念類別圖, 系統順序圖 3. 系統設計 將概念模型轉成可供特定程式語言實作的觀點 UML 圖形工具 : 設計類別圖, 物件順序圖, 溝通圖 4. 程式設計 屏東商業技術學院周國華 12

使用案例圖 使用案例圖 (use case diagram, ucd): 此圖可表達使用者對系統功能的期待, 每個 use case 代表使用者認定系統應提供的某項功能 與該系統互動的人 ( 使用者 維護者 ) 或其他系統, 在 ucd 中稱為角色 (actor) 符號 : 使用案例 : 角色 : 屏東商業技術學院周國華 13

使用案例圖範例 :ATM 餘額查詢 提款 轉帳 存款 更改密碼 屏東商業技術學院周國華 14

問題討論 ATM 的 UCD 中, 應不應該包含 確認密碼 及 列印報告 這兩個 use case? 屏東商業技術學院周國華 15

UC 之間的關係 :include include ( 包含 ):uc A ---<<include>>--> uc B, 表示在 uc A ( 此為 base uc) 內的活動流程遇到 inclusion point B 時, 必須轉移至 uc B, 在完成 uc B 的活動流程後, 再回到 uc A 內完成剩下的活動流程 優點 : 大而複雜的 uc 可拆解成多個小而簡單的 uc 一個 uc 可被多個 uc 包含, 故可將通用的程序抽離成通用 uc 屏東商業技術學院周國華 16

UC 之間的關係 :extend extend ( 延伸 ): uc X ---<<extend>>--> uc Y, 表示在 uc Y ( 此為 base uc) 內的活動流程遇到 extension point 時, 需判斷 uc X 是否滿足延伸條件, 如為 否, 則略過 uc X, 繼續 uc Y 的後續流程 ; 如為 是, 則轉移至 uc X, 在完成 uc X 的活動流程後, 再回到 uc Y 內完成剩下的活動流程 優點 : 當系統內容需與時俱進時, 可將改變的部分放在 extension uc 內, 如此可讓 base uc 維持穩定性 屏東商業技術學院周國華 17

繼承關係 UC 間的繼承關係 :uc O uc P, 表示 uc O 繼承 uc P 通常 uc O 會改寫 uc P 內的部分程序 角色間的繼承關係 :actor A actor B, 表示 actor A 繼承 actor B 屏東商業技術學院周國華 18

使用案例圖範例 : 註冊 屏東商業技術學院周國華 19

問題討論 uc 教職員子弟註冊 與 uc 註冊 的潛在差異為何? 教職員子弟 這個角色應不應該繼承 學生 角色? 還是應該獨立? 屏東商業技術學院周國華 20

活動圖 活動圖 (activity diagram, 或稱作業圖 ): 此圖可用來描述 個別使用案例內的詳細作業流程 企業程序 企業規則的細節 在傳統結構化分析中所使用的 DFD 及 flowchart, 在 OOAD 中可用活動圖取代 屏東商業技術學院周國華 21

活動圖 符號 : 作業起點 : 作業終點 ( 可有多個 ): 分岔點 (fork, 一作業進 多作業同時出 ): 會合點 (join, 上述多個平行作業同時進 一作業出 ): 決策點 (decision, 一進 擇一出 ): 合併點 (merge, 多進一出 ): 作業內容 : 屏東商業技術學院周國華 22

活動圖範例 : 提款 屏東商業技術學院周國華 23

類別圖 類別圖 (class diagram): 此圖藉由描述系統內的各個類別以及類別之間的關係, 以呈現系統結構 OO 技術的核心是物件及其類別, 故此圖是 OOAD 中最核心的圖形 OO 內的每個類別包含名稱 屬性 ( 即資料 ) 及方法 ( 即行為 ), 與傳統結構化系統將資料交由資料庫 行為交由應用程式處理的模式大不相同 分類 : 概念類別圖 : 在系統分析 (OOA) 階段繪製的類別圖, 不必考量特定技術內涵 (e.g., Java or C++), 也不必考慮技術細節 ( 可忽略屬性及方法 ) 此圖可用來塑模企業程序, 形成概念模型 (conceptual model) 設計類別圖 : 在系統設計 (OOD) 階段繪製的類別圖, 必須將選定技術之細節包含在圖形內 屏東商業技術學院周國華 24

符號 : 類別圖 : 符號 類別 : 抽象類別 : 介面 : 有時為了讓概念模型更簡潔, 可將類別的屬性或方法省略 屬性及方法的透明度 (visibility): 公開 (public):+ 保護 (protected):# 私有 (private):- 套裝 (package):~ 屏東商業技術學院周國華 25

關係 : 類別圖 : 符號 ( 續 ) 聯合 (association): 雙向, 單向 依賴 (dependency): 聚合 (aggregation):by ref,by value 繼承 (generalization): 繼承類別, 實作介面 多重性 (multiplicity):*, 0, 1, 0..*, 1..*, etc. 屏東商業技術學院周國華 26

類別圖範例 : 繼承 屏東商業技術學院周國華 27

類別圖範例 : 教學管理 住在 管理 編入 包含 教授 輸入 選課 條列 選課查核 成績管理 屏東商業技術學院周國華 28

問題討論 在上圖中, 兩個類別間的多重性應該如何標示? 教師的分級 ( 助教 講師 助理教授 副教授 教授 ) 應該做為教師類別的屬性 還是應該獨立成為教師下的子類別? 或是可以其他方法做進一步分類 ( 教學型教師 研究型教師 行政型教師 )? 屏東商業技術學院周國華 29

類別圖 : 典型 設計階段的三種典型類別 (stereotype) Boundary class: 此類別做為系統與外部之間的橋樑, 可再分為兩類 : 使用者介面 : 處理系統與使用者之間的互動 系統介面 : 處理系統與其他系統之間的互動 Control class: 此類別負責協調其他類別的工作, 通常每個使用案例都會有一個 control class 此類別接收由 boundary class 傳來的訊息後, 再轉成一系列的訊息傳遞給 entity classes Entity class: 此類別封裝企業資料及企業邏輯, 是類別圖的核心所在 可在類別圖的類別名稱上冠上 <<boundary>> <<control>> <<entity>> 等符號 屏東商業技術學院周國華 30

順序圖 順序圖 (sequence diagram): 依時間順序描述系統內部各成員之間的互動, 通常可分成兩大類 : 描述使用情境 : 主要用於系統分析階段, 著重在角色 (actor) 與系統之間的互動, 將系統當成一個黑盒子, 通稱為系統順序圖 描述方法邏輯 : 主要用於系統設計階段, 著重在物件之間的訊息傳遞 屏東商業技術學院周國華 31

順序圖 符號 : 物件 :, 或 生命線 (lifeline): 由上到下的虛線, 代表物件 角色或系統的存活時間 訊息線 : 或 回應線 : 或 促動盒 : 位於物件生命線上的長條矩形, 代表訊息已發出, 並由接收物件進行處理中 屏東商業技術學院周國華 32

系統順序圖範例 : 新生報到 學生管理系統 學生 職員 繳驗畢業證書 驗畢發還 確認學生報到 繳交學生基本資料卡 將學生資料輸入系統 黏貼照片 蓋鋼印, 交付學生證 產生學生證 屏東商業技術學院周國華 33

UML 在會計上的應用 實務上 : 新的會計資訊系統多半採用 OOP 做為開發工具 教學上 :AIS 教科書雖然都有系統開發的章節, 但大部分的內容都在介紹傳統的開發工具, 鮮少提及 UML 及 OOP 的概念 Jones & Rama (2006) 是目前唯一以 UML 貫穿全書內容的 AIS 教科書, 但主要的描述工具僅限於活動圖 因此,AIS 教科書內容與實務應用存在著重大差距, 有賴 AIS 教師另行補充適當教材 屏東商業技術學院周國華 34