物件导向分析与设计简介.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
物件导向分析与设计简介

第4章 物件導向分析與設計簡介 4-1 物件導向的軟體系統開發 4-2 物件導向分析與設計 4-3 UML的物件導向分析與設計 4-4 使用SIM執行UML塑模 4-1 物件導向的軟體系統開發 4-1-1 傳統的軟體系統開發 4-1-2 物件導向的軟體系統開發 4-1-3 為什麼使用物件導向的軟體系統開發 4-1-1 傳統的軟體系統開發-說明 傳統的軟體系統開發是將資料和操作分開來思考,著重於如何找出解決問題的程序或函數,即演算法。例如:一家銀行的客戶甲擁有帳戶A和B兩個帳戶,客戶甲在查詢帳戶A的餘額後,從帳戶A提出1000元,然後將1000元存入帳戶B。傳統應用程式開發建立的模型,如下圖所示: 4-1-1 傳統的軟體系統開發-函數呼叫 在主程式main()是一序列的函數呼叫,首先呼叫getBalance()函數查詢帳戶A的餘額,參數是帳戶名稱,然後呼叫withdraw()函數從帳戶A提出1000元後,呼叫deposit()函數將1000元存入帳戶B,如下所示: getBalance(A); withdraw(A, 1000); deposit(B, 1000); 4-1-2 物件導向的軟體系統開發-說明 物件導向的軟體系統開發是將資料和操作一起思考,其主要工作是找出參與物件和物件之間的關係,並且透過這些物件的通力合作來解決問題。 例如:針對上一節相同的銀行存提款問題,使用物件導向軟體系統開發建立的模型,如下圖所示: 4-1-2 物件導向的軟體系統開發-物件集合 物件導向軟體系統開發因為是將資料和操作一起思考,所以帳戶物件除了餘額資料外,還包含處理帳戶餘額的相關方法:getBalance()、withdraw()和deposit()方法,如下圖所示: 4-1-3 為什麼使用物件導向的軟體系統開發- 說明 物件導向的軟體系統開發可以輕鬆擴充現有系統來建立出大型的軟體系統,不同於傳統軟體系統開發建立的系統,當成長到一定尺寸後,就會快速增加系統的複雜度,讓開發者很難了解、撰寫、維護和擴充軟體系統。 換句話說,相同尺寸的大型軟體系統如果使用物件導向方法,將比傳統方法建立的軟體系統來的容易了解、撰寫、維護和擴充。 4-1-3 為什麼使用物件導向的軟體系統開發- 原因 對應真實世界的物件:物件導向軟體系統是模擬真實世界的物件,而不是內部的資料結構,開發者可以很容易了解和維護別人建立的軟體系統。 資訊隱藏(Information Hiding):物件導向軟體系統是一個物件集合,每一個物件包含資料和處理資料的函數,將實際處理的資料隱藏起來,稱為封裝(Encapsulation)。當我們升級或維護軟體系統時,更改的物件是獨立單位,並不會影響到軟體系統的其他部分。 軟體元件的模組(Modularity):每一個物件都是可重複使用的軟體元件,如同電腦硬體的隨插即用(Plug and Play),將物件一一插入,就可以組合成軟體系統。不只如此,我們還可以擴充軟體元件的物件,輕鬆使用在其他專案來快速開發軟體系統。 4-2 物件導向分析與設計 4-2-1 物件導向分析 4-2-2 物件導向設計 4-2-3 物件導向程式設計 4-2 物件導向分析與設計-說明 物件導向程式設計是一種更符合人性化的程式設計方法,它是使用物件來模擬現實生活的世界,因為我們本來就是生活在物件的世界,思考模式也是遵循著物件導向方式。 請注意!物件導向分析與設計的分野並不十分清楚,因為使用的方法論不同,系統開發者可以自行依需要或實際情況來決定其範圍,在這一節筆者區分物件導向分析和設計的目的只是為了教學上的考量。 筆者準備使用學生選課的一個簡單實例來說明物件導向分析、設計與程式設計的基本過程,在本書後各章節筆者會進一步說明物件導向分析、設計和搭配各種UML圖形建立的模型。 4-2 物件導向分析與設計-問題 學生選課問題的描述 學生在輸入學號進入系統後,顯示學生可選的課程清單,學生在選擇指定課程後,系統檢查該課程是否已滿,如果未滿,就註冊該課程,並且繼續選課,直到學生結束選課為止。 4-2-1 物件導向分析-說明 物件導向分析(Object-Oriented Analysis,OOA)強調如何從問題領域(Problem Domain)的描述建立使用案例模型(Use Case Model),然後識別出物件,在抽象化成類別後建立領域模型(Domain Model),最後指定類別責任來建立概念模型(Conceptual Model)。 4-2-1 物件導向分析-主要步驟 在物件導向分析階段並不用考量實作細節,我們主要是找出系統功能和服務,以便能夠作出對的事情。事實上,物件導向分析就是在回答下列問題,如下所示: 軟體系統能做什麼事? 在軟體系統中有哪些類別? 每一個類別負責什麼?

文档评论(0)

kabudou + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档