《軟件工程》課件-第10章 面向對象設計_第1頁
《軟件工程》課件-第10章 面向對象設計_第2頁
《軟件工程》課件-第10章 面向對象設計_第3頁
《軟件工程》課件-第10章 面向對象設計_第4頁
《軟件工程》課件-第10章 面向對象設計_第5頁
已閱讀5頁,還剩34頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

第10章

面向對象設計XX大學XX系XXX軟件工程教程電子科技大學出版社學習目標l

掌握面向對象設計的過程和準則;l

掌握面向對象設計方法和步驟;l

掌握系統設計概念和步驟;l

掌握對象設計概念和步驟。目錄01020304面向對象設計概述面向對象設計過程與準則面向對象設計啟發規則系統設計0506對象設計本章小結面向對象設計概述01面向對象設計概述◆

面向對象設計(Object-Oriented

Design,OOD)強調定義軟件對象,并且使這些軟件對象互相協作來滿足用戶需求。◆

面向對象設計是一種軟件設計方法,是一種工程化規范。面向對象設計模式解決的是類與相互通信的對象之間的組織關系,包括它們的角色、職責、協作方式幾個方面。◆

面向對象設計模式的最終實現仍然要使用面向對象編程語言來表達,如JAVA、C++/C#等。面向對象設計過程與準則02面向對象設計的特點(1)模塊化在面向對象的設計中,一個模塊通常為一個類或對象,它們封裝了事物的屬性或操作”(2)抽象類是對一組具有相似特征的對象的抽(3)信息隱藏。在面向對象方法中,信息隱藏是通過對象的封裝性來實現的。面向對象設計的特點(4)低耦合(弱耦合)在面向對象的設計中,耦合主要指不同模塊之間相互關聯的程度。低耦合有利于降低由于一個模塊的改變而對其他模塊造成的影響。(5)高內聚(強內聚)”內聚是衡量一個模塊內各個元素彼此結合的緊密程度。在設計時應該力求做到高內聚,提高模塊的內聚性有利于提高系統的獨立性。(6)重用性盡量使用已有的類,如果確實需要創建新類時,應考慮將來被重復使用的可能。面向對象設計的步驟(1)系統設計①將子系統分配到處理器。②

選擇實現數據管理、界面支持和任務管理”的設計策略。③為系統設計合適的控制機制。④復審并考慮權衡(折衷)。面向對象設計的步驟(2)對象設計①

在過程級別(procedural

lavel)設計每個操作,即設計每個操作的實現細節。②定義內部類。③為類屬性設計內部數據結構。④消息設計。”⑤

使用對象間的協作和對象—關系模型,設計消息模型。(3)復審復審設計模型并在需要時迭代。面向對象設計啟發規則03面向對象設計啟發規則(1)設計結果應該清晰易懂1)用詞一致。2)使用已有的協議。3)減少消息模式的數目。4)避免模糊的定義。面向對象設計啟發規則(2)類等級的深度應適當雖然類的繼承與派生有許多優點,但是不能隨意創建派生類,應該使類等級中包含的層次數適當。一個中等規模的系統,類等級層次數應該保持為7±2。面向對象設計啟發規則(3)設計簡單的類簡單的類便于開發和管理。因此,在類的設計過程中應注意:類要有明確的定義;類中避免包含過多的屬性;一個類不要提供太多服務;盡量簡化對象之間的合作關系。面向對象設計啟發規則(4)使用簡單的協議減少消息的參數個數是減少類間耦合程度的有效手段。一般來說,消息的參數不要超過3個。(5)使用簡單的服務減少控制服務中源程序語句的行數及語句的嵌套層數,可以簡化服務。面向對象設計啟發規則(6)把設計變動減至最小雖然設計的變動是正常情況,但設計的變動會造成資源或時間上的消耗,所以開發人員應該盡量把設計的變動概率降至最低,一般來說,設計的質量越高,設計結果保持不變的時間也越長。系統設計04系統設計◆

面向對象的設計可以劃分為系統設計和對象設計兩個階段。◆

系統設計關注于確定實現系統的策略和目標系統的高層結構。◆

一般來說,常用的系統設計的步驟為:將系統分解為子系統—>設計問題域子系統—>設計人機交互子系統—>設計任務管理子系統—>設計數據管理子系統。系統設計的步驟(1)將分析模型劃分成子系統在OO系統設計中,我們把分析模型中緊密相關的類、關系等設計元素包裝成子系統。系統設計的步驟子系統的設計通常具有如下四個準則。①

子系統應具有定義良好的接口,通過接口和系統的其它部分通信;②

除了少數的“通信類”

外,子系統中的類應只和該子系統中的其它類協作;③子系統的數量不宜太多;④可以在子系統內部再次劃分,以降低復雜性。系統設計的步驟(2)標識問題本身的并發性,并為子系統分配處理器通過對對象行為模型的分析,可發現系統的并發性。(3)任務管理設計①確定任務的類型;②必要時,定義協調者任務和關聯的對象;③將協調者任務和其它任務集成。系統設計的步驟(4)數據管理設計數據管理的設計包括設計系統中各種數據對象的存儲方式(如內部數據結構、文件、數據庫),以及設計相應的服務,即為要儲存的對象增加所需的屬性和操作。系統設計的步驟(5)資源管理設計OO系統可利用一系列不同的資源(如磁盤驅動器、處理器、通信線路等外部實體或數據庫、對象等抽象資源),很多情況下,子系統同時競爭這些資源,因此要設計一套控制機制和安全機制,以控制對資源的訪問,避免對資源使用的沖突。系統設計的步驟(6)人機界面設計人機界面主要強調人如何命令系統,以及系統如何向人提交信息。它包括窗口、菜單、報告的設計。系統設計的步驟(7)子系統間的通信子系統之間可以通過建立客戶/服務器連接進行通信,也可以通過端對端(peer

to

peer)連接進行通信。我們必須確定子系統間通信的合約(contract),合約提供了一個子系統和另一個子系統交互的方式。例10.1:結合9.4節案例,完成系統設計。患者監護系統是一個全面監控病人和對病人病歷查詢的系統,所以根據其功能需要窗口錄入病人的基本信息,還要方便查詢的多窗口設計,并且要能繪制出病人的日常生理日志的變化曲線圖。由于本系統要自動發出警告,在錄入病人生理正常信息需要設計數據窗口,還要隨時能從數據庫中調用,以便和監控設備傳回的數據進行比較,要設定最大變化和最小變化,發出警告的信息中要有房間號碼和床位號碼,以便知道哪個病人出現了異常,對監控設備傳回的信息備份,設置定時起(每隔多長時間對傳回的數據進行備份),還要分開設置重病和較輕的病人,以便監控,能對傳回的數據畫出曲線圖,并對每個病人的生理指數能夠清楚的查詢,同時允許醫生修改病人的正常生理數。(1)基本設計概念和處理流程如圖圖10.1處理流程(2)系統結構設計如圖圖10.2系統結構(3)系統功能模塊設計圖10.3系統功能(4)數據庫設計表10.1“生理信號”表(4)數據庫設計表10.2“患者”表(4)數據庫設計表10.3“患者生理信號安全范圍”表對象設計05對象設計◆

對象設計對象設計是指對面向對象的需求分析階段得到的對象模型進行擴充、細化和完善。對象設計的內容包括:1)對象中對屬性和操作的詳細描述;2)對象之間發送消息的協議;3)類之間的各種關系的定義;4)對象之間的動態交互行為等;◆

例10.2:結合9.4節案例,完成對象設計。本章小結06本章小結◆

面向對象設計有如下三句經典名言。(1)對接口進行設計;(2)發現變化而且封裝它;(3)先考慮組合然后考慮繼承。◆

面向對象設計中的主要內聚有:服務內聚和類內聚。耦合有兩類:交互耦合和繼承耦合。◆

面向對象的設計活動主要有:系統構架設計、用例設計、類設計、數據庫設

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論