<<會計資訊系統課程講義>> 統一塑模語言(UML)語法精要 -- 物件導向概念、需求分析及系統分析

Slides:



Advertisements
Similar presentations
[ Java 程序设计 教程 ] 阎菲 陈利 向郑涛 陈宇峰 中国水利水电出版社.  Java 语言是对软件开发技术有深 远影响、应用前景广泛、具有丰富 的类库、继承了 C++ 传统(摈弃了 某些不足)广泛使用的网络编程语 言。 Java 语言的特性使它可以最大 限度地利用网络。  本章介绍面向对象的基本概念:对.
Advertisements

系統分析與設計 楊子青 H-1 H 、物件導向技術 n 物件導向的基本概念 – 物件、類別 – 封裝、繼承 – 同名異式 ( 多型 ) 、超荷 ( 過載 ) n 物件導向分析與設計及塑模工具 n UML 塑模工具.
第 9 章 物件的建構.
任务二:面向对象的建模 3 需求分析阶段的用例建模 用例图 活动图.
第一章 绪论.
第8章 面向对象的软件工程 8.1 软件工程的新途径 8.2 面向对象建模 8.3 对象模型 8.4 动态模型 8.5 功能模型.
第一章 資料結構導論 1-1 資料結構簡介 1-2 認識程式設計 1-3 演算法效能分析 1-4 物件導向程式設計與Java.
Ch02物件導向程式設計 物件導向系統分析與設計.
第3章 需求分析(续) 学习目标 什么是需求建模? 需求分析建模方法 掌握实体—关系图(E—R图); 掌握状态转换图;
第10章 領域、概念與分析模型 10-1 再談物件導向分析 10-2 找出類別建立領域模型 10-3 指定責任建立概念模型
第八章 信息系统开发概述.
第10章 面向对象的设计方法 教学目的:了解面向对象设计的概念和方法 教学重点:理解面向对象的设计的基本原理,掌 握面向对象的设计方法。
第一章 面向对象程序设计.
第六讲 面向对象分析(6学时) 了解面向对象分析的概念 了解面向对象分析的发展 理解面向对象的基本概念 理解面向对象分析的过程、内容
程設一.
第10章 考试系统的分析与设计 1.
第6章 系统分析 6.1 概述 6.2 逻辑模型 6.3 逻辑结构分析 6.4 用例分析 6.5 概念类分析.
類別與物件 Class & Object.
軟體工程 -物件導向程式設計與UML系統分析實作
第9章 面向对象方法学引论 9.1 面向对象方法学概述 9.2 面向对象的概念 9.3 面向对象建模 9.4 对象模型 9.5 动态模型
第八章 分析與設計階段 – 物件導向設計(OOD)
第 9 讲 面向对象分析与设计
Chapter 1 OBJECT-ORIENTED ANALYSIS AND DESIGN
第5章 面向对象程序设计 本章要点 5.1 面向对象程序设计概述 5.2 Java语言的面向对象程序设计 5.3 方法的使用和对象数组
H、物件導向技術 物件導向的基本概念 物件、類別 封裝、繼承 同名異式(多型) 、超荷(過載) 物件導向分析與設計及塑模工具 UML塑模工具.
面向对象的分析.
軟體工程 -物件導向程式設計與UML系統分析實作
CHAPTER 9 建構方法 ROBERT.
第10章 使用個案塑模.
物件導向系統分析與設計與UML.
單元3:軟體設計 3-2 順序圖(Sequence Diagrams)
软件建模精要 面向对象软件建模技术.
Java软件设计基础 5. 继承与多态.
JUDE教學 Jude安裝教學篇 Jude初步介紹篇 Jude繪圖介紹篇 介紹jude的安裝和下戴 介紹jude的初基本功能
C++ 與 物件導向 程式設計概念簡介 魏天君 2018/12/3.
第9章 類別圖與物件圖 9-1 類別圖與物件圖的基礎 9-2 類別圖的符號 9-3 類別關係 9-4 物件圖 9-5 繪製類別圖與物件圖
第4章 物件導向分析與設計簡介 4-1 物件導向的軟體系統開發 4-2 物件導向分析與設計 4-3 UML的物件導向分析與設計
软件建模与UML.
UML类设计工具 任课老师:黄武 上午2时50分 10.
面向对象的分析与设计 教学计划 研究生课程 主讲教师:邵维忠 助教: 朱彬,柳毅,尤朝,张磊,黄艺燕 2009年2月—7月
Php class 組員: 賴羿陵 林昱廷 莊正暉 張雅晴
軟體工程:如何開發軟體? 把它看成是一件工程。 那麼就會有一些工具、技術、方法,也有管理的議題。
A、資訊系統開發概論與課程簡介 何謂資訊系統? 為何需要系統分析師? 需要瞭解哪些知識? 領域知識? 資訊科技? 開發方法與技術? 課程簡介.
Advanced Basic Key Terms Dependency Actor Generation association
两种不同类别的软件: 功能预定义软件;用户驱动的软件。他们对软件工程方法有不同的需求
第11章 系统结构与包模型模型.
UML语言.
学习导航 学习导航.
第13章 設計模型 13-1 再談物件導向設計 13-2 建立互動圖 13-3 建立狀態機圖 13-4 設計模型的類別圖
实验6 面向对象分析与设计实验.
金門農工課程核心小組會議 ★各科多元選修彙整範例 ★彈性學習時間之規劃 ★選課機制 報告人: 董炤靈 107年10月23日.
第6章 使用案例圖 6-1 使用案例圖的基礎 6-2 使用案例圖的符號 6-3 動作者與使用案例的關係 6-4 繪製使用案例圖
ER Model.
用例图.
信息系统开发 信息系统开发的组织工作 第一阶段 系统规划 第二阶段 系统分析.
确定属性(Identifying attribute)
Object-Oriented Programming in C++ 第二章 类和对象
第6章 面向对象开发的 分析与设计.
方法進階及物件導向基礎 Lecturer: 楊昌樺.
第一讲 面向对象方法学与信息系统建模.
Advanced Basic Key Terms Dependency Generalization Actor Stereotype
UML ISKM Lab.
OOA/OOD UML RUP Architecture Pattern MDA
I、使用個案塑模-使用個案圖 行為者(Actor) 使用個案(Use Case) 連接線 系統邊界 使用個案間之關係
面向对象建模 对象(object) 对象具有的含义: 现实世界中某个具体的物理实体或概念在计算机逻辑中的映射和体现。 在现实世界中:
對於成員(member)存取權的限制 成員的資料被毫無限制的存取,任誰都可以指定任意值給成員,Java語言為了防止這種現象的產生,規定:有一種成員的資料不能任由類別外部的任何人隨意存取。
面向对象程序设计 C++教程 西安工业大学 于帆.
第十一章、互動圖.
UML建模语言及工具.
第十章 面向对象 (2).
Presentation transcript:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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。 屏東商業技術學院 周國華

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維持穩定性。 屏東商業技術學院 周國華

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

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

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

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

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

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

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

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

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

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

類別圖範例:教學管理 屏東商業技術學院 周國華

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

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

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

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

系統順序圖範例:新生報到 屏東商業技術學院 周國華

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