換熱器CAD系統(tǒng)的分析與設(shè)計(jì)
張燕 劉東學(xué)
(大連理工大學(xué)化工學(xué)院化機(jī)系)
摘 要:面向?qū)ο蠓椒ê陀糜谲浖O(shè)計(jì)過程中軟件模型的建立的統(tǒng)一的UML建模技術(shù)是用于開發(fā)大型軟件系統(tǒng)的重要方法。論述了如何將二者有機(jī)結(jié)合進(jìn)行換熱器CAD系統(tǒng)的分析與設(shè)計(jì)。
關(guān)鍵詞:換熱器 面向?qū)ο蟆〗y(tǒng)一建模語言 UML 分析 設(shè)計(jì) CAD
0·引言
換熱器是很多行業(yè)中廣泛使用的熱量交換設(shè)備,它不僅可以單獨(dú)作為加熱器、冷卻器等使用,而且是一些化工單元操作的重要附屬設(shè)備。國內(nèi)換熱器CAD系統(tǒng)由于起步比較晚,在人機(jī)交互、零件圖的繪制等方面仍然不完善,效果不能令人滿意。
本文利用VC++6·0語言,運(yùn)用先進(jìn)的面向?qū)ο蟮能浖O(shè)計(jì)方法和統(tǒng)一建模語言UML對系統(tǒng)建模,完善了換熱器CAD系統(tǒng)。本文采用了國標(biāo)GB151完成設(shè)計(jì)計(jì)算,并實(shí)現(xiàn)了說明書的自動生成、材料報(bào)價(jià)單的自動生成以及零部件圖和裝配圖的自動繪制功能。
1·面向?qū)ο蠓椒?/p>
面向?qū)ο蠓椒ň哂邢率鏊膫€(gè)要點(diǎn):
(1)認(rèn)為客觀世界是由各種對象組成的,任何事物都是對象,復(fù)雜的對象可以由比較簡單的對象以某種方式組合而成。
(2)把所有對象都劃分成各種對象類,每個(gè)對象類都定義了一組數(shù)據(jù)和一組方法。數(shù)據(jù)用于表示對象的靜態(tài)屬性,是對象的狀態(tài)信息。
(3)按照子類(派生類)與父類(基類)的關(guān)系,把若干對象類組成一個(gè)層次結(jié)構(gòu)的系統(tǒng)(類等級)。
(4)對象彼此之間僅能通過傳遞消息互相聯(lián)系。
由面向?qū)ο蠓椒ǖ奶攸c(diǎn)我們可以知道:面向?qū)ο蠓治龇椒ㄖ械膶ο笫强陀^世界對象的直接映射,克服了傳統(tǒng)方法學(xué)穩(wěn)定性、可修改性和可重用性差的缺點(diǎn),比采用面向過程的分析方法設(shè)計(jì)的系統(tǒng)更易理解,也增強(qiáng)了系統(tǒng)的可擴(kuò)充性。
2·統(tǒng)一UML建模語言
統(tǒng)一建模語言[1]是一種可視化的建模語言,全面體現(xiàn)了面向?qū)ο蟮脑O(shè)計(jì)思想,可以對使用面向?qū)ο蠹夹g(shù)開發(fā)的系統(tǒng)進(jìn)行說明、可視化和編制文檔,提供了便于不同的人之間有效地共享和交流設(shè)計(jì)結(jié)果的機(jī)制,以其精確強(qiáng)大的系統(tǒng)描述功能在最大程度上消除了建模的模糊性和不同建模語言間存在的不合理的差異,使得用戶與開發(fā)者之間更加易于溝通,互相理解。它貫穿于換熱器CAD的需求分析、系統(tǒng)分析、設(shè)計(jì)、實(shí)現(xiàn)等各階段,使開發(fā)過程更加規(guī)范、準(zhǔn)確、高效。
統(tǒng)一UML建模用來描述模型,它用模型來描述系統(tǒng)的結(jié)構(gòu)或靜態(tài)特征或動態(tài)特征。它從不同的視角為系統(tǒng)建模,形成不同的視圖,每個(gè)視圖代表完整系統(tǒng)描述中的一個(gè)抽象,顯示系統(tǒng)中的特定的方面;每個(gè)視圖由一組圖構(gòu)成,圖中包含了強(qiáng)調(diào)系統(tǒng)中某一方面的信息。UML包括了兩類圖和5種視圖,兩類圖分別為靜態(tài)圖和動態(tài)圖,靜態(tài)圖包括用例圖、類圖、對象圖、構(gòu)件圖和實(shí)施圖,動態(tài)圖包括狀態(tài)圖、順序圖、協(xié)作圖和活動圖。
本系統(tǒng)中先采用靜態(tài)圖中的用例圖分析系統(tǒng)所要實(shí)現(xiàn)的功能,建立靜態(tài)模型,然后由各個(gè)零件之間的交互情況確定先后順序從而建立系統(tǒng)的動態(tài)模型。
3·HECAD系統(tǒng)的面向?qū)ο蠓治?/p>
3·1 系統(tǒng)需求分析[2]
本軟件面向的是化工設(shè)備設(shè)計(jì)人員,在化工設(shè)計(jì)完成的基礎(chǔ)上進(jìn)行結(jié)構(gòu)設(shè)計(jì),主要針對機(jī)械設(shè)計(jì)和設(shè)計(jì)文檔編制兩個(gè)層次。機(jī)械設(shè)計(jì)主要是針對換熱器的工藝設(shè)計(jì)、結(jié)構(gòu)設(shè)計(jì)以及強(qiáng)度設(shè)計(jì),結(jié)構(gòu)設(shè)計(jì)和強(qiáng)度設(shè)計(jì)是在工藝設(shè)計(jì)之后進(jìn)行的,工藝設(shè)計(jì)中的要求也是機(jī)械設(shè)計(jì)的基本依據(jù);設(shè)計(jì)文檔編制主要是指在機(jī)械設(shè)計(jì)完成之后設(shè)計(jì)說明書的自動編制、材料單的自動生成以及零件圖和裝配圖的自動繪制。
依據(jù)系統(tǒng)的功能需要將本系統(tǒng)分為四個(gè)子系統(tǒng):
(1)結(jié)構(gòu)設(shè)計(jì)子系統(tǒng) 在這個(gè)子系統(tǒng)內(nèi)主要包括了整體設(shè)計(jì)、零部件設(shè)計(jì)以及自動排管設(shè)計(jì)。
(2)設(shè)計(jì)文檔管理子系統(tǒng) 實(shí)現(xiàn)設(shè)計(jì)說明書的自動編制、材料單的生成以及零件圖和裝配圖的自動繪制。
(3)設(shè)計(jì)工具子系統(tǒng) 包含了數(shù)據(jù)庫管理,數(shù)據(jù)庫管理中主要是材料庫和標(biāo)準(zhǔn)零部件庫;計(jì)算器是設(shè)計(jì)過程中不可缺少的工具;此外,還包括設(shè)計(jì)日志。
(4)幫助系統(tǒng) 該子系統(tǒng)的主要內(nèi)容是設(shè)計(jì)資料和使用說明,可通過幫助菜單察看幫助文件,選擇要察看的幫助內(nèi)容;另一種就是F1幫助,當(dāng)按下F1鍵便可根據(jù)光標(biāo)所在位置將窗口中的標(biāo)志符映射到幫助上下文ID,以獲得相應(yīng)的幫助內(nèi)容,與一般W indows幫助系統(tǒng)的使用方法相同。
HECAD系統(tǒng)采用交互式的設(shè)計(jì)環(huán)境,設(shè)計(jì)中采用多文檔組織管理,將數(shù)據(jù)輸入、圖形提示、計(jì)算結(jié)果顯示以及設(shè)計(jì)信息及時(shí)反饋集成于設(shè)計(jì)界面中。零部件的設(shè)計(jì)采用向?qū)Х绞?用戶按照零部件的設(shè)計(jì)步驟進(jìn)行設(shè)計(jì),同時(shí)對輸入?yún)?shù)進(jìn)行合理性檢查,出現(xiàn)異常時(shí)向?qū)Ыo出提示和解決方法。在換熱器整體設(shè)計(jì)完成后,整理設(shè)計(jì)數(shù)據(jù),生成設(shè)計(jì)說明書,產(chǎn)生繪圖文件進(jìn)行參數(shù)化圖形繪制。
HECAD系統(tǒng)功能圖如圖1所示。
3·2 統(tǒng)一UML建模技術(shù)分析建模
3·2·1 建立靜態(tài)模型
由UML建模的系統(tǒng)的用例圖如圖2所示。
通過對用例模型的分析,在設(shè)備設(shè)計(jì)中,幾乎所有的零件都具有諸如設(shè)計(jì)、選型、顯示設(shè)計(jì)結(jié)果、生成說明書、生成繪圖數(shù)據(jù)文件等共同行為,因此我們可以將所有零件具有的屬性泛化出一個(gè)抽象的公共基類CGeneralPar,t大部分的零件類都是該類的子類。根據(jù)換熱器的組成和工藝設(shè)計(jì)要求,可以將其零件類大致劃分為管板類(CPart_GuanBan)、法蘭類(CPart_FaLan)、封頭類(CPart_FengTou)、圓筒類(CPart_YuanTong)、折流板類(CPart_Zhe-LiuBan)、開孔補(bǔ)強(qiáng)類(CPart_BQ)等等。其中,由于封頭和圓筒有許多相似的性質(zhì)和公共服務(wù),從而泛化出CPart類。這些類的繼承關(guān)系類圖如圖3所示。這些實(shí)體和抽象類具有一般和特殊關(guān)系,即繼承關(guān)系,從而更好地利用了對象(或類)的可復(fù)用性。此外,換熱器由部件和其他零件組成,部件由零件組成。如管箱由法蘭、封頭和管箱短節(jié)組成;后端結(jié)構(gòu)由后端短節(jié)、封頭和法蘭組成;而換熱器由上述部件和其它零部件組成。零部件類由各零部件組成,從而換熱器類與各部件類和零部件類之間形成了聚集關(guān)系。通過整體與零部件之間的繼承-聚集關(guān)系,得到以下HECAD系統(tǒng)設(shè)備設(shè)計(jì)用例的類模型,即靜態(tài)模型。
3·2·2 建立動態(tài)模型
系統(tǒng)的靜態(tài)模型顯示了系統(tǒng)的組成和結(jié)構(gòu),這些組成的零部件在設(shè)計(jì)過程中不是孤立的,它們彼此之間都有交互,按照設(shè)計(jì)的先后順序的不同進(jìn)行合理安排,從而需要建立系統(tǒng)的動態(tài)模型。動態(tài)模型一般包括四種:
(1)狀態(tài)圖
描述系統(tǒng)元素狀態(tài)條件和響應(yīng),它由狀態(tài)、轉(zhuǎn)換、事件和活動組成。它對于接口、類或協(xié)作的行為建模尤為重要,而且它強(qiáng)調(diào)對象行為的事件順序。
(2)順序圖
按時(shí)間順序描述系統(tǒng)元素間的交互,是交互圖。交互圖展現(xiàn)了一種交互,它由一組對象和它們之間的關(guān)系組成,包括在它們之間可能發(fā)送的消息。
(3)協(xié)作圖
按照時(shí)間和空間的順序描述系統(tǒng)元素間的交互和關(guān)系,也是交互圖,強(qiáng)調(diào)收發(fā)消息的對象的結(jié)構(gòu)組織。順序圖和協(xié)作圖是同構(gòu)的,這意味著它們可以互相轉(zhuǎn)換。
(4)活動圖
描述系統(tǒng)元素的活動,是一種特殊的狀態(tài)圖,它展現(xiàn)了在系統(tǒng)內(nèi)從一個(gè)活動到另一個(gè)活動的流程?;顒訄D專注于系統(tǒng)的動態(tài)視圖,它強(qiáng)調(diào)對象間的控制流程,對于系統(tǒng)的功能建模特別重要。
在換熱器設(shè)計(jì)計(jì)算和校核計(jì)算用例中,零部件類封裝了自己的設(shè)計(jì)向?qū)ь?設(shè)計(jì)向?qū)ь愑址庋b了需要的工程數(shù)據(jù)庫類,其主要存在的對象為系統(tǒng)框架對象、零部件對象、設(shè)計(jì)向?qū)ο?、?shù)據(jù)庫對象,設(shè)計(jì)過程是獨(dú)立的,從而體現(xiàn)了封裝性。用戶首先選擇換熱器某零部件設(shè)計(jì)(或換熱器整體設(shè)計(jì)),則系統(tǒng)框架中的文檔對象激活相應(yīng)的零部件對象,零部件對象激活相應(yīng)的設(shè)計(jì)向?qū)ο?引導(dǎo)用戶能動地選擇或輸入計(jì)算所需數(shù)據(jù)。如需數(shù)據(jù)庫數(shù)據(jù),則零部件對象自動激活數(shù)據(jù)庫對象進(jìn)行數(shù)據(jù)查詢工作。查詢成功,返回所需數(shù)據(jù)庫數(shù)據(jù),否則報(bào)錯(cuò),提示用戶重新輸入正確數(shù)據(jù),完成設(shè)計(jì)計(jì)算,并將所得數(shù)據(jù)保存在零部件(換熱器)對象中。在完成設(shè)計(jì)后,用戶就可選擇產(chǎn)生說明書、零部件圖(裝配圖)。
HECAD系統(tǒng)的動態(tài)模型圖即順序圖如圖4所示。
4·換熱器系統(tǒng)的CAD設(shè)計(jì)
4·1 換熱器CAD系統(tǒng)的兩個(gè)子系統(tǒng)
換熱器CAD系統(tǒng)由功能劃分為兩個(gè)子系統(tǒng):換熱器設(shè)計(jì)計(jì)算子系統(tǒng)和設(shè)計(jì)文檔子系統(tǒng)。其中,設(shè)計(jì)文檔子系統(tǒng)包括自動生成設(shè)計(jì)說明書、材料報(bào)價(jià)單及裝配圖和零部件圖的自動繪制三部分。
這兩個(gè)子系統(tǒng)的連接采用OLE自動化來實(shí)現(xiàn)。OLE自動化技術(shù)可以在一個(gè)應(yīng)用程序中操縱其他應(yīng)用程序?qū)ο蠡虮┞兑粋€(gè)應(yīng)用程序的對象供其調(diào)用,通過OLE自動化的COM接口來實(shí)現(xiàn)換熱器設(shè)計(jì)計(jì)算子系統(tǒng)與Word2000、AutoCAD2000和Access2000的連接,從而借用Word的字處理功能、AutoCAD的繪圖功能和Access制作關(guān)系表的功能生成設(shè)計(jì)說明書、設(shè)計(jì)圖和材料報(bào)價(jià)單。系統(tǒng)中的OLE類封裝了這些接口。
4·2 人機(jī)交互子系統(tǒng)
人機(jī)交互子系統(tǒng)的設(shè)計(jì)主要是對人機(jī)界面的設(shè)計(jì),本系統(tǒng)包括總體界面框架設(shè)計(jì)和設(shè)計(jì)向?qū)υ捒蛟O(shè)計(jì)。
換熱器CAD系統(tǒng)的總體界面設(shè)計(jì)采用多文檔結(jié)構(gòu),界面為W indows標(biāo)準(zhǔn)界面,包括菜單欄、工具欄、設(shè)計(jì)欄、狀態(tài)欄和客戶區(qū)。每個(gè)文檔的視圖包括兩部分:左邊采用樹視圖顯示零部件類型和零部件名稱,由樹形控件來完成;右邊采用列表視圖顯示某零部件的具體設(shè)計(jì)數(shù)據(jù),由列表控件來完成。當(dāng)光標(biāo)選中左邊的樹控件中已經(jīng)設(shè)計(jì)的零部件時(shí),其主要設(shè)計(jì)參數(shù)及結(jié)果將立即顯示在右邊的列表視圖中。這由系統(tǒng)框架類中的視圖類CHECADView來實(shí)現(xiàn)。
零部件的設(shè)計(jì)采用向?qū)?W izard)方式。向?qū)е甘居脩舭凑樟悴考脑O(shè)計(jì)步驟一步一步地進(jìn)行設(shè)計(jì),同時(shí)對用戶所錄入的初始參數(shù)進(jìn)行合理性檢查。當(dāng)出現(xiàn)異常情況時(shí),設(shè)計(jì)向?qū)Ыo出提示或解決問題的方法。在問題解決之前,不能進(jìn)行下一步設(shè)計(jì)。如果對前幾步的設(shè)計(jì)不滿意或得出錯(cuò)誤的設(shè)計(jì)結(jié)果,可以隨時(shí)返回重新設(shè)計(jì)。這些由設(shè)計(jì)向?qū)ь悂韺?shí)現(xiàn),它是由MFC中CPropertyPage類派生出來的屬性頁類和由MFC中CPropertySheet派生出來的屬性頁管理類組成。
4·3 數(shù)據(jù)管理子系統(tǒng)
本系統(tǒng)采用Access2000組建設(shè)計(jì)計(jì)算中所用到的材料庫和標(biāo)準(zhǔn)零部件庫,采用簡單、方便的DAO技術(shù)對其進(jìn)行訪問,實(shí)現(xiàn)數(shù)據(jù)庫的瀏覽、查詢和更新等操作,通過把這些操作封裝成數(shù)據(jù)庫類來實(shí)現(xiàn),它是由MFC中CD-aoRecordset類派生出來的。
5·結(jié)論
換熱器CAD系統(tǒng)采用了面向?qū)ο蟮姆椒▽ο到y(tǒng)進(jìn)行分析和設(shè)計(jì),利用先進(jìn)的統(tǒng)一UML語言建立了系統(tǒng)的靜態(tài)模型和動態(tài)模型,建立了標(biāo)準(zhǔn)零件庫、材料特性庫等等,在設(shè)計(jì)計(jì)算完成后利用OLE技術(shù)自動生成設(shè)計(jì)說明書和零部件圖以及裝配圖,實(shí)現(xiàn)了設(shè)計(jì)結(jié)果的可視化和設(shè)計(jì)向?qū)У募皶r(shí)反饋功能。
參考文獻(xiàn)
[1]Joseph Schmuller著.李虎,王美英,萬里威,等譯.UML基礎(chǔ)、案例與應(yīng)用[M].北京:人民郵電出版社, 2002.
[2]朱三元,錢樂秋,宿為民著.軟件工程技術(shù)概論[M].北京:科學(xué)出版社, 2002.
標(biāo)簽:
相關(guān)技術(shù)