物件资料结构塑模课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《物件资料结构塑模课件.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 物件 资料 结构 课件
- 资源描述:
-
1、系統分析與設計 楊子青 K-1K、物件資料結構塑模類別圖與物件圖n類別n類別圖 執行、實作觀點的類別種類 能見度(Visibility)類別間之關係 相依 一般化 關聯 實現化n物件圖n物件資料結構塑模系統分析與設計 楊子青 K-21.類別(Class)n一群相關物件的定義、描述或樣版n類別具有名稱、屬性與操作,同一類別之物件具有相同屬性與操作n類別封裝了屬性及操作名 稱屬 性操 作系統分析與設計 楊子青 K-3類別與物件的關係n類別(Class):物件的設計藍圖n物件(Object):根據類別所建造出來的實體(Instance)n物件導向程式設計,以 class 表現真實世界的物品class
2、 Customer String User=“Robert”;String Pass=“1234”;function Login(User,Pass);Robert=new CustomerPeter=new CustomerLisa=new Customer物件物件類別類別系統分析與設計 楊子青 K-4類別圖與物件圖n類別是物件導向軟體系統的核心n類別圖(Class Diagram)物件導向的資料結構塑模工具 類似傳統資料庫的ERD,但是ERD是針對資料來做設計,並非以物件導向的觀點來設計 描述軟體系統靜態結構的類別和類別關係n物件圖(Object Diagram)是類別圖的實例(Insta
3、nces),用於描述一系統於某時間點的靜態結構 一棟房子的藍圖就好比是類別;而依據藍圖所蓋出的房子就是實例。由類別所建構出來的實例稱為物件系統分析與設計 楊子青 K-52.類別圖n實例系統分析與設計 楊子青 K-6實例:ATM自動櫃員機系統的類別圖系統分析與設計 楊子青 K-72.1 執行觀點的類別種類n永存類別(Persistent Class)當程式執行後,該物件之資料需被儲存在資料庫者n暫存類別(Transient Class)當程式執行後,該物件之資料不需被儲存在資料庫且該物件會被刪除者系統分析與設計 楊子青 K-82.2 實作觀點的類別種類n實體類別(Entity Class)以企業
4、的領域術語命名,通常表示使用個案完成後仍需儲存在資料庫中的資料(永存類別)。n介面類別(Boundary Class)也稱邊界類別,包含表單、報表、硬體介面以及其他和系統溝通的介面。程式執行完畢後,介面類別之物件都將被刪除(暫存類別)。n控制類別(Control Class)屬於暫存類別,負責協調其他類別的工作,傳送訊息給其他類別,或是將工作指派給其他類別。一個使用個案至少需搭配一個控制類別,藉由控制類別來控制使用個案中各項事件的發生順序。系統分析與設計 楊子青 K-92.3 能見度(Visibility)n物件導向所提供的封裝機制 公共的(Public):所有的物件都可以存取與設定它的值 保
5、護的(Protected):只有子類別可以存取與設定它的值 類別庫(Package):只有相同類別庫之類別可以存取與設定它的值 私有的(Private):只屬於它自己,任何其他的類別都不可以存取它系統分析與設計 楊子青K-102.4 類別間之關係n對於領域中的問題,會藉由許多的物件一起合作以提供解答。因此,塑模類別之間的關係是類別圖很重要的工作。系統分析與設計 楊子青 K-112.4.1 相依關係(Dependency)n是一種使用的關係 表示一個類別會用到其他類別,且被使用之類別的改變可能會影響使用它的類別,但反之則不必然。n以虛線箭頭由使用類別指向被使用類別,如下圖為Class A相依於C
6、lass B系統分析與設計 楊子青K-12相依關係import B;public class A public void method1(B b)/.public void method2()B tempB=new B();/.系統分析與設計 楊子青K-13相依關係實例nWindow(視窗)類別使用Event(事件)類別 Event 類別的更改會影響Window 類別的操作,即Window 類別上的操作行為會依照Event 類別不同的行為而改變。例如滑鼠在Window 類別開啟(Open)或移動(Move)等按鈕點選事件(Event),會使此Window 類別產生不同的操作行為。WindowO
7、pen()Close()Move()Display()HandleEvent()EventDependency系統分析與設計 楊子青K-142.4.2 一般化關係(Generalization)n父類別的所有特徵、性質及操作,都會自動被子類別所繼承。子類別不需再去定義它們,就可以自動擁有n畫法:一條空心三角形的直線,從子類別連接到父類別public class Parent/public class Child extends Parent/系統分析與設計 楊子青K-15一般化關係實例系統分析與設計 楊子青K-162.4.3 關聯關係(Association)n代表建立類別之間彼此互通訊息的管
8、道,物件與物件間才可以互相傳遞訊息,完成所需的工作。n聯關係之表達符號為實線。系統分析與設計 楊子青K-17關聯關係n意謂一類別之物件知道另一類別之物件的存在,或用到另一類別之物件的服務,但不是擁有此服務。例如人扮演車子之駕駛者:一類別之物件(人)知道另一類別之物件(車子)的存在,且(人)使用到(車子)的服務,故人與車子間有關聯關係系統分析與設計 楊子青K-18程式碼看關聯關係n例如:航班跟飛機之間的關聯關係 一架飛機會有它所屬的指定航班,而一個航班也會指派某一架飛機來飛航。它的對應程式碼則為:public class Flightprivate AirPlane assignedPlane;
9、public class AirPlaneprivate Flight assignedFlight;系統分析與設計 楊子青K-19關聯關係的互通性(Navigability)n關聯若沒有箭號,表示雙向關係n若在類別間之關聯加上箭頭便表示具有互通性,即可依箭頭方向找到另一端之資訊。例如一個訂單可有許多訂購項目;給定一個訂單,可以找出訂購項目,但訂購項目不需要知道它是屬於哪個訂單。系統分析與設計 楊子青K-20關聯關係的名稱n關聯關係不一定要命名,但若語意不清,例如人跟車子可以有:人擁有車、人開車、人租車等關係,可加上名稱系統分析與設計 楊子青K-21關聯關係的命名n常用的命名方式有兩種:描述關
10、係的本質:可用動詞或動詞片語表達,如人駕駛車子 描述角色:可用名詞或名詞片語表達,例如 人是車子的駕駛人駕駛駕駛者人車子人車子系統分析與設計 楊子青K-22關聯關係的多重性(Multiplicity)n在一個關聯關係中,常需表達有多少物件參與(參與此關係之物件的數量),此種資訊與ERD的基數(Cardinality)表達相同。名稱表法例子恰好一個1一個系有一個系主任零個或是更多0*教師有零個或是多個行政工作一個或是更多1*學生主修一個或是多個學位零或是一個0 1教師有一個或是零個計畫補助指定範圍2 4職員一年可以享有兩個到四個假期系統分析與設計 楊子青K-23關聯關係的多重性之實例n假設一個學
展开阅读全文