版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
第10章
面向對象設計XX大學XX系XXX軟件工程教程電子科技大學出版社學習目標l
掌握面向對象設計的過程和準則;l
掌握面向對象設計方法和步驟;l
掌握系統(tǒng)設計概念和步驟;l
掌握對象設計概念和步驟。目錄01020304面向對象設計概述面向對象設計過程與準則面向對象設計啟發(fā)規(guī)則系統(tǒng)設計0506對象設計本章小結面向對象設計概述01面向對象設計概述◆
面向對象設計(Object-Oriented
Design,OOD)強調(diào)定義軟件對象,并且使這些軟件對象互相協(xié)作來滿足用戶需求?!?/p>
面向對象設計是一種軟件設計方法,是一種工程化規(guī)范。面向對象設計模式解決的是類與相互通信的對象之間的組織關系,包括它們的角色、職責、協(xié)作方式幾個方面?!?/p>
面向對象設計模式的最終實現(xiàn)仍然要使用面向對象編程語言來表達,如JAVA、C++/C#等。面向對象設計過程與準則02面向對象設計的特點(1)模塊化在面向對象的設計中,一個模塊通常為一個類或對象,它們封裝了事物的屬性或操作”(2)抽象類是對一組具有相似特征的對象的抽(3)信息隱藏。在面向對象方法中,信息隱藏是通過對象的封裝性來實現(xiàn)的。面向對象設計的特點(4)低耦合(弱耦合)在面向對象的設計中,耦合主要指不同模塊之間相互關聯(lián)的程度。低耦合有利于降低由于一個模塊的改變而對其他模塊造成的影響。(5)高內(nèi)聚(強內(nèi)聚)”內(nèi)聚是衡量一個模塊內(nèi)各個元素彼此結合的緊密程度。在設計時應該力求做到高內(nèi)聚,提高模塊的內(nèi)聚性有利于提高系統(tǒng)的獨立性。(6)重用性盡量使用已有的類,如果確實需要創(chuàng)建新類時,應考慮將來被重復使用的可能。面向對象設計的步驟(1)系統(tǒng)設計①將子系統(tǒng)分配到處理器。②
選擇實現(xiàn)數(shù)據(jù)管理、界面支持和任務管理”的設計策略。③為系統(tǒng)設計合適的控制機制。④復審并考慮權衡(折衷)。面向對象設計的步驟(2)對象設計①
在過程級別(procedural
lavel)設計每個操作,即設計每個操作的實現(xiàn)細節(jié)。②定義內(nèi)部類。③為類屬性設計內(nèi)部數(shù)據(jù)結構。④消息設計?!雹?/p>
使用對象間的協(xié)作和對象—關系模型,設計消息模型。(3)復審復審設計模型并在需要時迭代。面向對象設計啟發(fā)規(guī)則03面向對象設計啟發(fā)規(guī)則(1)設計結果應該清晰易懂1)用詞一致。2)使用已有的協(xié)議。3)減少消息模式的數(shù)目。4)避免模糊的定義。面向對象設計啟發(fā)規(guī)則(2)類等級的深度應適當雖然類的繼承與派生有許多優(yōu)點,但是不能隨意創(chuàng)建派生類,應該使類等級中包含的層次數(shù)適當。一個中等規(guī)模的系統(tǒng),類等級層次數(shù)應該保持為7±2。面向對象設計啟發(fā)規(guī)則(3)設計簡單的類簡單的類便于開發(fā)和管理。因此,在類的設計過程中應注意:類要有明確的定義;類中避免包含過多的屬性;一個類不要提供太多服務;盡量簡化對象之間的合作關系。面向對象設計啟發(fā)規(guī)則(4)使用簡單的協(xié)議減少消息的參數(shù)個數(shù)是減少類間耦合程度的有效手段。一般來說,消息的參數(shù)不要超過3個。(5)使用簡單的服務減少控制服務中源程序語句的行數(shù)及語句的嵌套層數(shù),可以簡化服務。面向對象設計啟發(fā)規(guī)則(6)把設計變動減至最小雖然設計的變動是正常情況,但設計的變動會造成資源或時間上的消耗,所以開發(fā)人員應該盡量把設計的變動概率降至最低,一般來說,設計的質量越高,設計結果保持不變的時間也越長。系統(tǒng)設計04系統(tǒng)設計◆
面向對象的設計可以劃分為系統(tǒng)設計和對象設計兩個階段?!?/p>
系統(tǒng)設計關注于確定實現(xiàn)系統(tǒng)的策略和目標系統(tǒng)的高層結構?!?/p>
一般來說,常用的系統(tǒng)設計的步驟為:將系統(tǒng)分解為子系統(tǒng)—>設計問題域子系統(tǒng)—>設計人機交互子系統(tǒng)—>設計任務管理子系統(tǒng)—>設計數(shù)據(jù)管理子系統(tǒng)。系統(tǒng)設計的步驟(1)將分析模型劃分成子系統(tǒng)在OO系統(tǒng)設計中,我們把分析模型中緊密相關的類、關系等設計元素包裝成子系統(tǒng)。系統(tǒng)設計的步驟子系統(tǒng)的設計通常具有如下四個準則。①
子系統(tǒng)應具有定義良好的接口,通過接口和系統(tǒng)的其它部分通信;②
除了少數(shù)的“通信類”
外,子系統(tǒng)中的類應只和該子系統(tǒng)中的其它類協(xié)作;③子系統(tǒng)的數(shù)量不宜太多;④可以在子系統(tǒng)內(nèi)部再次劃分,以降低復雜性。系統(tǒng)設計的步驟(2)標識問題本身的并發(fā)性,并為子系統(tǒng)分配處理器通過對對象行為模型的分析,可發(fā)現(xiàn)系統(tǒng)的并發(fā)性。(3)任務管理設計①確定任務的類型;②必要時,定義協(xié)調(diào)者任務和關聯(lián)的對象;③將協(xié)調(diào)者任務和其它任務集成。系統(tǒng)設計的步驟(4)數(shù)據(jù)管理設計數(shù)據(jù)管理的設計包括設計系統(tǒng)中各種數(shù)據(jù)對象的存儲方式(如內(nèi)部數(shù)據(jù)結構、文件、數(shù)據(jù)庫),以及設計相應的服務,即為要儲存的對象增加所需的屬性和操作。系統(tǒng)設計的步驟(5)資源管理設計OO系統(tǒng)可利用一系列不同的資源(如磁盤驅動器、處理器、通信線路等外部實體或數(shù)據(jù)庫、對象等抽象資源),很多情況下,子系統(tǒng)同時競爭這些資源,因此要設計一套控制機制和安全機制,以控制對資源的訪問,避免對資源使用的沖突。系統(tǒng)設計的步驟(6)人機界面設計人機界面主要強調(diào)人如何命令系統(tǒng),以及系統(tǒng)如何向人提交信息。它包括窗口、菜單、報告的設計。系統(tǒng)設計的步驟(7)子系統(tǒng)間的通信子系統(tǒng)之間可以通過建立客戶/服務器連接進行通信,也可以通過端對端(peer
to
peer)連接進行通信。我們必須確定子系統(tǒng)間通信的合約(contract),合約提供了一個子系統(tǒng)和另一個子系統(tǒng)交互的方式。例10.1:結合9.4節(jié)案例,完成系統(tǒng)設計?;颊弑O(jiān)護系統(tǒng)是一個全面監(jiān)控病人和對病人病歷查詢的系統(tǒng),所以根據(jù)其功能需要窗口錄入病人的基本信息,還要方便查詢的多窗口設計,并且要能繪制出病人的日常生理日志的變化曲線圖。由于本系統(tǒng)要自動發(fā)出警告,在錄入病人生理正常信息需要設計數(shù)據(jù)窗口,還要隨時能從數(shù)據(jù)庫中調(diào)用,以便和監(jiān)控設備傳回的數(shù)據(jù)進行比較,要設定最大變化和最小變化,發(fā)出警告的信息中要有房間號碼和床位號碼,以便知道哪個病人出現(xiàn)了異常,對監(jiān)控設備傳回的信息備份,設置定時起(每隔多長時間對傳回的數(shù)據(jù)進行備份),還要分開設置重病和較輕的病人,以便監(jiān)控,能對傳回的數(shù)據(jù)畫出曲線圖,并對每個病人的生理指數(shù)能夠清楚的查詢,同時允許醫(yī)生修改病人的正常生理數(shù)。(1)基本設計概念和處理流程如圖圖10.1處理流程(2)系統(tǒng)結構設計如圖圖10.2系統(tǒng)結構(3)系統(tǒng)功能模塊設計圖10.3系統(tǒng)功能(4)數(shù)據(jù)庫設計表10.1“生理信號”表(4)數(shù)據(jù)庫設計表10.2“患者”表(4)數(shù)據(jù)庫設計表10.3“患者生理信號安全范圍”表對象設計05對象設計◆
對象設計對象設計是指對面向對象的需求分析階段得到的對象模型進行擴充、細化和完善。對象設計的內(nèi)容包括:1)對象中對屬性和操作的詳細描述;2)對象之間發(fā)送消息的協(xié)議;3)類之間的各種關系的定義;4)對象之間的動態(tài)交互行為等;◆
例10.2:結合9.4節(jié)案例,完成對象設計。本章小結06本章小結◆
面向對象設計有如下三句經(jīng)典名言。(1)對接口進行設計;(2)發(fā)現(xiàn)變化而且封裝它;(3)先考慮組合然后考慮繼承?!?/p>
面向對象設計中的主要內(nèi)聚有:服務內(nèi)聚和類內(nèi)聚。耦合有兩類:交互耦合和繼承耦合?!?/p>
面向對象的設計活動主要有:系統(tǒng)構架設計、用例設計、類設計、數(shù)據(jù)庫設
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 工作實踐心得體會范文-文檔
- 大學境內(nèi)非學歷教育培訓項目合同
- 2025申報納稅服務合同
- 二零二五年度環(huán)保型工廠整體資產(chǎn)轉讓合同3篇
- 2025年度農(nóng)村土地承包經(jīng)營權租賃與農(nóng)業(yè)科技成果轉化合同
- 2025年度分手后共同債務重組與和解協(xié)議3篇
- 2025年度風力發(fā)電項目承包租賃合同3篇
- 二零二五年度文化創(chuàng)意產(chǎn)業(yè)借款合同范本3篇
- 二零二五年度人工智能產(chǎn)業(yè)合作合同模板3篇
- 2025年度建筑工程施工安全培訓三方合作協(xié)議3篇
- 2025年遼寧省大連市普通高中學業(yè)水平合格性考試模擬政治試題(一)
- 當代中國外交(外交學院)知到智慧樹章節(jié)測試課后答案2024年秋外交學院
- 干燥綜合征的護理查房
- 【MOOC】財務管理-四川大學 中國大學慕課MOOC答案
- 交通管理扣留車輛拖移保管 投標方案(技術方案)
- 期末 (試題) -2024-2025學年人教PEP版英語五年級上冊
- 培訓班與幼兒園合作方案
- 期末 (試題) -2024-2025學年外研版(三起)(2024)英語三年級上冊
- 使用單位特種設備安全風險管控清單
- 2018-2019學年第一學期西城小學三年級數(shù)學期末試題
- GB-T-12137-2015-氣瓶氣密性試驗方法
評論
0/150
提交評論