時(shí)間:2022-07-23 07:49:37
序論:好文章的創(chuàng)作是一個(gè)不斷探索和完善的過(guò)程,我們?yōu)槟扑]十篇軟件開發(fā)論文范例,希望它們能助您一臂之力,提升您的閱讀品質(zhì),帶來(lái)更深刻的閱讀感受。
論文是在導(dǎo)師***教授的悉心指導(dǎo)和關(guān)心下完成的,值此論文工作結(jié)束之際,學(xué)生謹(jǐn)向*教授致以崇高的敬意和衷心的感謝。
在攻讀碩士學(xué)位期間,*教授在學(xué)業(yè)、生活上給予我許多的關(guān)懷與鼓勵(lì)。特別是在科研項(xiàng)目中給了我莫大的信任和支持,使我得到了全方位的鍛煉和提高。*教授敬業(yè)愛(ài)業(yè)的精神、敏銳的科學(xué)思維、誨人不倦的師者風(fēng)范和理論聯(lián)系實(shí)際的思想方法,使我終身受益。授業(yè)恩情,永生難忘。
感謝西北工業(yè)大學(xué)系統(tǒng)集成與工程管理研究所的全體工作人員。在這個(gè)充滿朝氣、勇于迎接挑戰(zhàn)的團(tuán)隊(duì)的不懈努力下,順利完成了多項(xiàng)企業(yè)信息化推廣應(yīng)用項(xiàng)目。作者在與課題組成員的合作中延伸和拓寬了自己的知識(shí)面,同時(shí)也鍛煉和提高了自身的綜合能力。
另外還要感謝本組的***博士、**博士——以及研究所的其他同學(xué),在課題研究的過(guò)程中,他們?cè)诩夹g(shù)上及其他方面給了我許多建議、幫助、支持和鼓勵(lì)。此外,航天四院蘭凌廠的相關(guān)工作人員在課題調(diào)研、開發(fā)及實(shí)施過(guò)程中給了我極大的支持,配合課題完成了許多工作,在此也要感謝他們的幫助。
最后,感謝父母和家人對(duì)我自始至終的支持和關(guān)心,在我遇到困難和挫折的時(shí)候始終給我鼓勵(lì)和信心。衷心感謝大家!
致謝二:
在三年的研究生學(xué)習(xí)期間,我得到了很多老師、同學(xué)、同事的指導(dǎo)和幫助。
首先我要衷心感謝我的導(dǎo)師**教授的悉心指導(dǎo)和關(guān)心。在研究生的學(xué)習(xí)過(guò)程中,導(dǎo)師對(duì)我的課程學(xué)習(xí)和畢業(yè)設(shè)計(jì)進(jìn)行了細(xì)致和全面的指導(dǎo),不僅及時(shí)解決我在研究中遇到的問(wèn)題,而且為我提供許多寶貴的科研資料,為我的學(xué)業(yè)和研究付出了大量的心血。同時(shí),*老師以淵博的知識(shí)和深厚的專業(yè)素養(yǎng)深深感染了我,他在解決實(shí)際問(wèn)題時(shí)敏銳的洞察力、高效的作風(fēng)以及在治學(xué)上的嚴(yán)謹(jǐn)也使我受益非淺。
嵌入式軟件的開發(fā)具有如下幾方面的特點(diǎn):
1)需要交叉開發(fā)工具和環(huán)境。由于嵌入式軟件本身不具備自主開發(fā)能力,即使設(shè)計(jì)完成以后用戶通常也不能對(duì)其中的程序功能進(jìn)行修改,因此必須有一套開發(fā)工具和環(huán)境才能進(jìn)行開發(fā)。這些工具和環(huán)境一般基于通用計(jì)算機(jī)上的軟硬件設(shè)備以及各種邏輯分析儀、混合信號(hào)示波器等。開發(fā)時(shí)往往有主機(jī)和目標(biāo)機(jī)交叉開發(fā)的概念,主機(jī)用于程序的開發(fā)、調(diào)試,目標(biāo)機(jī)作為最后的執(zhí)行機(jī)構(gòu)。開發(fā)時(shí)主機(jī)和目標(biāo)機(jī)需要交替結(jié)合進(jìn)行。
2)軟硬件協(xié)同設(shè)計(jì)。軟硬件協(xié)同設(shè)計(jì)涉及以下方面:嵌入式軟件設(shè)計(jì)、實(shí)時(shí)系統(tǒng)設(shè)計(jì)、硬件設(shè)計(jì)和軟件設(shè)計(jì)。軟硬件協(xié)同設(shè)計(jì)強(qiáng)調(diào)硬件與軟件的協(xié)同性與整合性、軟件與硬件的可裁減,以滿足系統(tǒng)對(duì)功能、成本、體積和功耗等要求。
3)嵌入式軟件開發(fā)人員以應(yīng)用專家為主。通用計(jì)算機(jī)的開發(fā)人員一般是計(jì)算機(jī)科學(xué)或計(jì)算機(jī)工程方面的專業(yè)人士,而嵌入式軟件則是要和各個(gè)不同行業(yè)的應(yīng)用相結(jié)合的,要求更多的計(jì)算機(jī)以外的專業(yè)知識(shí),其開發(fā)人員往往是各個(gè)應(yīng)用領(lǐng)域的專家。
4)軟件要求固態(tài)化存儲(chǔ)。為了提高執(zhí)行速度和系統(tǒng)可靠性,嵌入系統(tǒng)中的軟件一般都固化在存儲(chǔ)器芯片或單片機(jī)本身中,而不是存儲(chǔ)于磁盤等載體中。
5)軟件代碼高質(zhì)量、高可靠性。盡管半導(dǎo)體技術(shù)的發(fā)展使處理器速度不斷提高,片上存儲(chǔ)器容量不斷增加,但在大多數(shù)應(yīng)用中,存儲(chǔ)空間仍然是寶貴的,還存在實(shí)時(shí)性的要求。為此要求程序編寫和編譯工具的質(zhì)量要高,以減少程序二進(jìn)制代碼長(zhǎng)度,提高執(zhí)行速度。嵌入式軟件的核心是系統(tǒng)軟件和應(yīng)用軟件,由于存儲(chǔ)空間有限,因而要求軟件代碼緊湊、可靠,大多對(duì)實(shí)時(shí)性有嚴(yán)格要求。
6)系統(tǒng)軟件的高實(shí)時(shí)性。在多任務(wù)嵌入式軟件中,對(duì)重要性各不相同的任務(wù)進(jìn)行統(tǒng)籌兼顧和合理調(diào)度是保證每個(gè)任務(wù)及時(shí)執(zhí)行的關(guān)鍵,單純通過(guò)提高處理器速度是無(wú)法完成和沒(méi)有效率的,這種任務(wù)調(diào)度只能由優(yōu)化編寫的系統(tǒng)軟件來(lái)完成,因此系統(tǒng)軟件的高實(shí)時(shí)性是基本要求。嵌入式軟件應(yīng)用程序雖然可以沒(méi)有操作系統(tǒng)直接在芯片上運(yùn)行,但是為了合理地調(diào)度多任務(wù),利用系統(tǒng)資源,系統(tǒng)一般以成熟的實(shí)時(shí)操作系統(tǒng)作為開發(fā)平臺(tái),這樣才能保證程序執(zhí)行的實(shí)時(shí)性、可靠性,并減少開發(fā)時(shí)間,保障軟件質(zhì)量。
2軟硬件協(xié)同設(shè)計(jì)概念
嵌入式軟件設(shè)計(jì)是使用一組物理硬件和軟件來(lái)完成所需功能的過(guò)程。系統(tǒng)是指任何由硬件、軟件或者兩者的結(jié)合來(lái)構(gòu)成的功能設(shè)備。由于嵌入式軟件是一個(gè)專用系統(tǒng),所以在嵌入式產(chǎn)品的設(shè)計(jì)過(guò)程中,軟件設(shè)計(jì)和硬件設(shè)計(jì)是緊密結(jié)合、相互協(xié)調(diào)的。這就產(chǎn)生了一種全新的發(fā)展中的設(shè)計(jì)理論——軟硬件協(xié)同設(shè)計(jì)。這種方法的特點(diǎn)是,在設(shè)計(jì)時(shí)從系統(tǒng)功能的實(shí)現(xiàn)角度考慮,把實(shí)現(xiàn)時(shí)的軟硬件同時(shí)考慮進(jìn)去,硬件設(shè)計(jì)包括芯片級(jí)“功能定制”設(shè)計(jì)。既可最大限度地利用有效資源,縮短開發(fā)周期,又能取得更好的設(shè)計(jì)效果。
系統(tǒng)協(xié)同設(shè)計(jì)的整個(gè)流程從確定系統(tǒng)要求開始,包含系統(tǒng)要求的功能、性能、功耗、成本、可靠性和開發(fā)時(shí)間等。這些要求形成了由項(xiàng)目開發(fā)小組和市場(chǎng)專家共同制定的初步說(shuō)明文檔。系統(tǒng)設(shè)計(jì)首先確定所需的功能。復(fù)雜系統(tǒng)設(shè)計(jì)最常用的方法是將整個(gè)系統(tǒng)劃分為較簡(jiǎn)單的子系統(tǒng)及這些子系統(tǒng)的模塊組合,然后以一種選定的語(yǔ)言對(duì)各個(gè)對(duì)象子系統(tǒng)加以描述,產(chǎn)生設(shè)計(jì)說(shuō)明文檔。其次,是把系統(tǒng)功能轉(zhuǎn)換成組織結(jié)構(gòu),將抽象的功能描述模型轉(zhuǎn)換成組織結(jié)構(gòu)模型。由于針對(duì)一個(gè)系統(tǒng)可建立多種模型,因此應(yīng)根據(jù)系統(tǒng)的仿真和先前的經(jīng)驗(yàn)米選擇模型。
3嵌入式軟件開發(fā)的方法論
在建立一個(gè)完整的嵌入式軟件或是產(chǎn)品時(shí),大部分系統(tǒng)都很復(fù)雜,不但功能規(guī)格很多,還必須考慮例如價(jià)格、性能等其他因素,否則很容易做出一個(gè)失敗的系統(tǒng)或是產(chǎn)品。因此,在進(jìn)行系統(tǒng)開發(fā)之前,必須先了解一些系統(tǒng)設(shè)計(jì)技術(shù),使得在開發(fā)過(guò)程中更為順利。一般來(lái)說(shuō),產(chǎn)品設(shè)計(jì)的過(guò)程會(huì)經(jīng)歷幾個(gè)步驟,為了確保這些步驟的合理性,我們需要一個(gè)設(shè)計(jì)方法論來(lái)面對(duì)整個(gè)設(shè)計(jì)過(guò)程。采用方法論有以下三個(gè)重要理由。
確認(rèn)所做的每一件事情都是必須要做的,不做無(wú)謂的工作,也不漏掉關(guān)鍵性的重要工作,其中包含性能最佳化或是功能測(cè)試。
根據(jù)設(shè)計(jì)方法論可以發(fā)展出計(jì)算機(jī)輔助工具或是設(shè)計(jì)經(jīng)驗(yàn)累積,汲取每一次產(chǎn)品開發(fā)的經(jīng)驗(yàn)。再經(jīng)過(guò)量化之后,可以發(fā)展出一套工具或是方法,讓往后的產(chǎn)品設(shè)計(jì)步入自動(dòng)化。
開發(fā)團(tuán)隊(duì)遵循同一套方法論,可以讓團(tuán)隊(duì)成員更容易彼此溝通。每個(gè)人都能在短時(shí)間內(nèi)了解整體過(guò)程中將經(jīng)歷哪些過(guò)程,需要何種支持與接收到何種結(jié)果。此外,也容易通過(guò)一套已經(jīng)定義好的方法論,彼此相互合作協(xié)調(diào)。設(shè)計(jì)過(guò)程的目標(biāo)是做出有一定用途且具有創(chuàng)新點(diǎn)的產(chǎn)品。產(chǎn)品的典型規(guī)格包含功能性、制造成本、性能表現(xiàn)、省電考慮和其他特性。
2C++程序設(shè)計(jì)語(yǔ)言跨平臺(tái)開發(fā)的策略
我們?cè)诰帉懗绦虼a的時(shí)候,總是要把編輯策略放在首位,針對(duì)于不同的OS,在其上創(chuàng)建和編輯文本文件,就要遵循不同的規(guī)則。比如行結(jié)束符,在Windows操作系統(tǒng)和DOS操作系統(tǒng)中普遍采用回車鍵,而在Unix中卻使用的是換行符號(hào)。這種細(xì)微的差別就是跨平臺(tái)軟件開發(fā)必須考慮的問(wèn)題。那么當(dāng)我們要想把其中一個(gè)平臺(tái)上編寫的代碼放在另一個(gè)操作系統(tǒng)上運(yùn)行,極有可能出現(xiàn)不被正確解釋的現(xiàn)象。另外,對(duì)于不同的操作平臺(tái)其tab鍵的功能也有很大的區(qū)別,主要體現(xiàn)在間距上。那么我們?cè)诰幊痰臅r(shí)候要注重這些差別,保證代碼的書寫和閱讀對(duì)于不同的操作平臺(tái)都是一致的,增加程序的可讀性,進(jìn)而也就實(shí)現(xiàn)了跨平臺(tái)的思想。所以在每次開發(fā)之前都需要針對(duì)開發(fā)策略制定相應(yīng)的規(guī)則:統(tǒng)一使用四個(gè)空格鍵來(lái)代替tab,也就是\t格式。Windows下的源文件代碼需要存儲(chǔ)在UNIX的文件格式,或者說(shuō)是在Windows下的文件編寫完成之后,通過(guò)DOS2UNIX命令實(shí)現(xiàn)文本格式的轉(zhuǎn)換。
3處理器差異的控制
鑒于C++語(yǔ)言自身語(yǔ)言的特點(diǎn),建立了一個(gè)跨平臺(tái)的抽象代碼庫(kù),在不同的平臺(tái)和編譯器上進(jìn)行合理的規(guī)劃代碼。C++語(yǔ)言里普遍使用了抽象,像BOOST和StardardTemplateLibrary。Boost標(biāo)準(zhǔn)類在不斷的發(fā)展和改進(jìn)過(guò)程中,完全能夠幫助跨平臺(tái)操作中的軟件和程序來(lái)適應(yīng)OS系統(tǒng)庫(kù)的內(nèi)部接口的不同,可惜這些不足以解決全部問(wèn)題,主要是因?yàn)槟壳癇oost沒(méi)有包含所有的庫(kù)函數(shù)的類庫(kù),又會(huì)出現(xiàn)不確定的情況,那么關(guān)于C++語(yǔ)言的部分也應(yīng)該及時(shí)的維護(hù)和更新。在平臺(tái)上,利用庫(kù)封裝代碼,又在不同的平臺(tái)下調(diào)用已達(dá)到統(tǒng)一代碼的目的。
4利用wxWidgets開發(fā)跨平臺(tái)軟件
wxWidgets是一種跨平臺(tái)開發(fā)的軟件包,目前使得在跨平臺(tái)的圖像設(shè)計(jì)方面使用自身的程序。因?yàn)槠浼嫒菪韵喈?dāng)?shù)暮?,?duì)于Windows,Linux,Unix等都兼容。而且,wxWidgets的底層是用C++程序設(shè)計(jì)語(yǔ)言實(shí)現(xiàn)的。下面用一個(gè)實(shí)例將說(shuō)明wxWidgets的跨平臺(tái)問(wèn)題。首先創(chuàng)造一個(gè)wxFrame的實(shí)例,并制定長(zhǎng)寬和屏幕上的位置。然后,新建一個(gè)垂直的sizewidget和頂層窗口的子sizer。然后,再創(chuàng)建一個(gè)垂直sizerwidget和一個(gè)水平子sizer。最后創(chuàng)建wxStatic實(shí)例以及為這個(gè)敞口應(yīng)用中添加事件響應(yīng)。以下將展示一部分核心代碼。在設(shè)置完這個(gè)窗口之后,還需要新建一個(gè)類實(shí)現(xiàn)一寫功能。
2基于組件技術(shù)的實(shí)時(shí)測(cè)控軟件開發(fā)
2.1軟件架構(gòu)設(shè)計(jì)
在組件技術(shù)中,一個(gè)組件就是一個(gè)接口集,它通過(guò)接口對(duì)功能進(jìn)行封裝。因此,對(duì)于同一個(gè)應(yīng)用程序架構(gòu),只要其使用的接口集合不變,即可通過(guò)更換支持同樣接口集的組件來(lái)獲得不同應(yīng)用,也可重復(fù)利用同一個(gè)組件或?qū)M件進(jìn)行二次開發(fā)。而基于組件建立的軟件架構(gòu)和應(yīng)用開發(fā),其最大優(yōu)點(diǎn)在于可以復(fù)用的應(yīng)用結(jié)構(gòu)和軟件單元。實(shí)時(shí)測(cè)控軟件主要是對(duì)實(shí)時(shí)測(cè)控?cái)?shù)據(jù)的處理、評(píng)估和顯示,而測(cè)控?cái)?shù)據(jù)主要包括光測(cè)、雷測(cè)、遙測(cè)及GPS測(cè)量等類型,其處理過(guò)程通常包括數(shù)據(jù)采集、數(shù)據(jù)解析、數(shù)據(jù)處理和結(jié)果評(píng)估等四個(gè)部分,針對(duì)以上4種數(shù)據(jù)類型,在基于組件技術(shù)思想下,其處理架構(gòu)可統(tǒng)一進(jìn)行設(shè)計(jì),如圖1所示。針對(duì)靶場(chǎng)測(cè)控系統(tǒng)中光測(cè)、雷測(cè)、遙測(cè)及GPS測(cè)量等數(shù)據(jù)處理應(yīng)用,通過(guò)將數(shù)據(jù)采集組件、數(shù)據(jù)解析組件、數(shù)據(jù)處理組件、結(jié)果評(píng)估組件替換成相應(yīng)功能的組件,即可實(shí)現(xiàn)在保持軟件架構(gòu)不變的前提下開發(fā)出不同的應(yīng)用系統(tǒng)。
2.2基于組件技術(shù)的軟件升級(jí)維護(hù)
組件接口是對(duì)某一功能的一套抽象描述,具有封裝性,它通過(guò)接口與其功能實(shí)現(xiàn)分離開了,并以接口作為客戶與組件(或組件之間)交互的唯一方式,因此,只要保持接口不變,就可以將系統(tǒng)中的組件用新的組件替換,以隨時(shí)進(jìn)行系統(tǒng)升級(jí)維護(hù)。下面以實(shí)時(shí)測(cè)控?cái)?shù)據(jù)處理軟件中的雷測(cè)數(shù)據(jù)處理應(yīng)用為例,其軟件的架構(gòu)如圖2所示。當(dāng)需要對(duì)系統(tǒng)進(jìn)行升級(jí)維護(hù)時(shí),在軟件架構(gòu)完全保持不變的前提下,對(duì)具體的組件進(jìn)行替換,只要保持接口不變,程序無(wú)需重新編譯鏈接,系統(tǒng)即可通過(guò)使用更新后組件中的新接口來(lái)獲得新特性,從而實(shí)現(xiàn)系統(tǒng)的升級(jí)維護(hù)。
2.3利用組件復(fù)用技術(shù)實(shí)現(xiàn)軟件功能擴(kuò)展
組件復(fù)用是利用已有組件創(chuàng)建新組件,即通過(guò)第三方產(chǎn)品來(lái)構(gòu)建自己產(chǎn)品。組件復(fù)用是通過(guò)包容和聚合來(lái)實(shí)現(xiàn)的,包容時(shí)外部組件包含內(nèi)部組件的接口,它由外部組件接收此調(diào)用請(qǐng)求再交由內(nèi)部組件來(lái)處理,聚合時(shí)外部組件直接調(diào)用內(nèi)部組件的接口,它讓內(nèi)部組件直接處理該調(diào)用請(qǐng)求。在C++語(yǔ)言,通過(guò)在外部組件中增加內(nèi)部組件接口,并把調(diào)用請(qǐng)求轉(zhuǎn)發(fā)給內(nèi)部組件即可實(shí)現(xiàn)包容,對(duì)于聚合,在內(nèi)部組件中維護(hù)一個(gè)外部組件接口指針(如m_pUnknownOuter),通過(guò)委托機(jī)制,讓內(nèi)部組件接口提出的查詢接口請(qǐng)求由一個(gè)委托接口轉(zhuǎn)發(fā)至外部組件,再由外部組件接口查詢內(nèi)部組件。這樣就可以實(shí)現(xiàn)一致的訪問(wèn),即不管是通過(guò)外部組件的接口,還是內(nèi)部組件的接口,都可以查詢到內(nèi)外組件所支持的接口集合。在實(shí)際應(yīng)用中,軟件開發(fā)不僅有大量的、功能強(qiáng)大的商業(yè)化組件可以使用,而且有應(yīng)用廣泛的、成熟的靶場(chǎng)測(cè)控系統(tǒng)專用組件可以使用,如組件化的數(shù)據(jù)接收、量綱復(fù)用、坐標(biāo)轉(zhuǎn)換、濾波平滑、精度評(píng)估等功能模塊。因此,利用好組件復(fù)用技術(shù)可以有效擴(kuò)展靶場(chǎng)測(cè)控?cái)?shù)據(jù)處理系統(tǒng)的軟件功能,對(duì)于靶場(chǎng)測(cè)控系統(tǒng)建設(shè)具有重要的現(xiàn)實(shí)意義。
2軟件工程中面向?qū)ο蠓椒ň哂休^強(qiáng)的可重用性
運(yùn)用傳統(tǒng)的方法開發(fā)出的軟件,受到其開發(fā)方法、功能等因素的影響,軟件只能接受、識(shí)別一些特定的數(shù)據(jù),對(duì)于一些日常生活、工作中的問(wèn)題難以進(jìn)行靈活的應(yīng)對(duì),這就使得軟件的應(yīng)用領(lǐng)域及作用受到了極大的限制。而用戶想要讓軟件能夠解決更多的問(wèn)題,就必須依靠軟件開發(fā)者來(lái)對(duì)于軟件進(jìn)行升級(jí)更新。軟件的可重用性差,不但用戶要花費(fèi)時(shí)間來(lái)對(duì)軟件進(jìn)行更新,甚至是更換其他軟件,軟件開發(fā)者也要花費(fèi)更多的時(shí)間來(lái)保證軟件的可用性,不利于更多創(chuàng)造性工作的持續(xù)進(jìn)行。而運(yùn)用面向?qū)ο蠓椒ㄋ_發(fā)出的軟件,則具有更強(qiáng)的可重用性,用戶能夠?qū)⑦@一類的問(wèn)題都交給該軟件來(lái)處理,而不必?fù)?dān)心軟件的功能受到限制,只要找到正確的軟件使用方法,就能夠解決所遇到的問(wèn)題。而軟件開發(fā)者也不必花費(fèi)大量的時(shí)間來(lái)對(duì)于軟件進(jìn)行更新升級(jí),這就為自己節(jié)約了更多的時(shí)間和精力,能夠致力于開發(fā)更多具有創(chuàng)新性的軟件。從而提高軟件的可重用性,增強(qiáng)軟件在市場(chǎng)中的競(jìng)爭(zhēng)力,可見(jiàn),面向?qū)ο蠓椒ㄊ俏覈?guó)開發(fā)出更多可復(fù)用軟件的一種重要手段。
3軟件工程中面向?qū)ο蠓椒ň哂休^強(qiáng)的系統(tǒng)穩(wěn)定性
運(yùn)用傳統(tǒng)方法開發(fā)出來(lái)的軟件,由于其主要是通過(guò)數(shù)據(jù)的處理和特定的算法來(lái)解決問(wèn)題,對(duì)于計(jì)算機(jī)系統(tǒng)的要求較高,當(dāng)軟件的某些功能改變或是系統(tǒng)大環(huán)境發(fā)生變化時(shí),軟件難以與系統(tǒng)兼容,就導(dǎo)致了軟件無(wú)法使用。而軟件要進(jìn)行更新或優(yōu)化時(shí),由于要改變某些結(jié)構(gòu),就需要軟件所運(yùn)行的系統(tǒng)也隨之變化,為軟件的升級(jí)優(yōu)化造成了困難。有時(shí)甚至?xí)榱耸瓜到y(tǒng)能夠運(yùn)行軟件,而進(jìn)行系統(tǒng)的改變,導(dǎo)致了其他軟件無(wú)法再正常運(yùn)行。而運(yùn)用面向?qū)ο蠓椒ㄩ_發(fā)出的軟件,其解決問(wèn)題的方式是依據(jù)實(shí)際解決問(wèn)題的思路而展開,并且是通過(guò)對(duì)象來(lái)模擬實(shí)體,而實(shí)體相對(duì)于數(shù)據(jù)與算法來(lái)說(shuō)具有更強(qiáng)的穩(wěn)定性。其軟件結(jié)構(gòu)主要是依賴于自身的功能,對(duì)于系統(tǒng)的依賴性相對(duì)較弱。這就使得軟件在運(yùn)行時(shí),不容易受到系統(tǒng)的影響,及時(shí)用戶對(duì)于軟件的需求發(fā)生改變,也不會(huì)影響到系統(tǒng)整體結(jié)構(gòu)的變化,也就是說(shuō)不必為了軟件的升級(jí)優(yōu)化而對(duì)系統(tǒng)進(jìn)行改變。系統(tǒng)的穩(wěn)定性強(qiáng),也保證了軟件能夠正常運(yùn)行,解決問(wèn)題更為順利,不會(huì)在解決問(wèn)題的過(guò)程中出現(xiàn)差錯(cuò)而為用戶輸出錯(cuò)誤的結(jié)果。
4軟件工程中面向?qū)ο蠓椒ň哂休^強(qiáng)的系統(tǒng)可維護(hù)性
運(yùn)用傳統(tǒng)方法開發(fā)的軟件,由于受到各個(gè)方面的限制,其系統(tǒng)可維護(hù)性較差,當(dāng)軟件與系統(tǒng)功能不相符的時(shí)候,只是修改軟件難以解決問(wèn)題,而要同時(shí)對(duì)軟件和系統(tǒng)進(jìn)行修改不但費(fèi)時(shí)費(fèi)力,成本費(fèi)用也很高,軟件對(duì)于用戶的實(shí)用性不高,且難以維護(hù),為用戶長(zhǎng)久的使用帶來(lái)了更大的困難。而運(yùn)用面向?qū)ο蠓椒ㄩ_發(fā)出的軟件,則很好地解決了系統(tǒng)維護(hù)的問(wèn)題。一是面向?qū)ο蠓椒ㄩ_發(fā)出的軟件穩(wěn)定性好。即使用戶對(duì)于軟件解決問(wèn)題的功能發(fā)生改變,也只需要對(duì)于軟件的某一部分設(shè)計(jì)進(jìn)行修改就可以,而不需要對(duì)軟件或系統(tǒng)進(jìn)行大幅度的改動(dòng)。二是面向?qū)ο蟀l(fā)開發(fā)出的軟件,具有較強(qiáng)獨(dú)立性的類。這也就意味著,在軟件內(nèi)部對(duì)于其功能等方面進(jìn)行改動(dòng),只要不涉及到與對(duì)外接口相關(guān)的改變,就不會(huì)影響其使用。三是具有極強(qiáng)的多態(tài)性及繼承性。方便于用戶根據(jù)自己的需求來(lái)對(duì)軟件進(jìn)行簡(jiǎn)單的修改和擴(kuò)展。四是軟件的功能及使用方法、輸出結(jié)果容易被理解,用戶能夠及時(shí)地發(fā)現(xiàn)問(wèn)題解決問(wèn)題。另外,軟件很容易進(jìn)行測(cè)試,方便于用戶對(duì)于軟件進(jìn)行調(diào)整。這些特點(diǎn)就決定了軟件具有極強(qiáng)的系統(tǒng)穩(wěn)定性。
軟件開發(fā)論文參考文獻(xiàn):
[1]胡迎鋒,基于嵌入式Linux系統(tǒng)的應(yīng)用程序開發(fā)[J].商場(chǎng)現(xiàn)代化,2010,(11):6.
[2]何先波,嵌入式軟件開發(fā)平臺(tái)中的文件系統(tǒng)封裝機(jī)制[J].計(jì)算機(jī)應(yīng)用,2010,(1):118-120,123.
[3]高晶、王建華,JNI技術(shù)在嵌入式軟件開發(fā)中的應(yīng)用[J].哈爾濱師范大學(xué)自然科學(xué)學(xué)報(bào),2007,(6):62-65.
[4]周淳、鄧中亮,嵌入式組件技術(shù)的研究及應(yīng)用[J].現(xiàn)代電子技術(shù),2009,32(6):50-52.
[5]HenrikKniberg.ScrumandXPfromtheTrenches[M].C4MediaInc,2007
[6]商惠華.計(jì)劃驅(qū)動(dòng)下敏捷開發(fā)過(guò)程的軟件質(zhì)量管理[J].汕頭大學(xué)學(xué)報(bào)(自然科學(xué)版),2011(4)
[7]陳國(guó)棟,羅省賢.Scrum敏捷軟件開發(fā)方法實(shí)踐中的改進(jìn)和應(yīng)用[J].計(jì)算機(jī)技術(shù)與發(fā)展,2011(12)
軟件開發(fā)論文參考文獻(xiàn)
[1]李郁峰,陳念平.建設(shè)計(jì)算機(jī)實(shí)驗(yàn)教學(xué)中心培養(yǎng)應(yīng)用型人才[J].實(shí)驗(yàn)科學(xué)與技術(shù),2008,6:172-174,230.
[2]吳徽,劉陠升.VMware在Linux實(shí)驗(yàn)教學(xué)中的應(yīng)用[J].沈陽(yáng)教育學(xué)院學(xué)報(bào),2009,10:99-101.
[3]董良,寧方明.Linux系統(tǒng)管理[M].北京:人民郵電出版社
[4]矯文成,張冬麗.應(yīng)用軟件項(xiàng)目管理研究[J].軟件導(dǎo)刊,2006,13:172-174
[5]吳曉琴.淺析面向?qū)ο蟪绦蛟O(shè)計(jì)特點(diǎn)[J].安徽大學(xué)學(xué)報(bào)(自然科學(xué)版),2006,3:267-269
[6]楊鴻雁,耿新青.數(shù)據(jù)庫(kù)系統(tǒng)原理課程群建設(shè)與實(shí)踐[J].鞍山師范學(xué)院學(xué)報(bào),2010,6:375-376
[7]何方,馬武剛.面向?qū)ο笤O(shè)計(jì)UML技術(shù)在考試系統(tǒng)設(shè)計(jì)中的實(shí)踐[J].安陽(yáng)師范學(xué)院學(xué)報(bào),2006,5:125-128
軟件開發(fā)論文參考文獻(xiàn):
[1]于世文,麗.敏捷軟件開發(fā)方法在軟件維護(hù)中的應(yīng)用研究[J].計(jì)算機(jī)仿真技術(shù),2012(15):13-16.
[2]高宇,馮向忠.敏捷軟件開發(fā)方法在軟件維護(hù)中的應(yīng)用研究[J].科學(xué)學(xué)研究,2013(10):11-12.
[3]謝東強(qiáng).敏捷軟件開發(fā)方法在軟件維護(hù)中的應(yīng)用研究[J].計(jì)算機(jī)應(yīng)用與軟件,2014(13):22-24.
[4]李曉鵬,等.軟件功能測(cè)試[M].清華大學(xué)出版社,2015.
2數(shù)控軟件與ACS控制器的通訊建立
軟件通過(guò)調(diào)用ACS控制器自帶的ACSCL.dll動(dòng)態(tài)鏈接庫(kù)或ACSCL_x86.LIB靜態(tài)鏈接庫(kù),來(lái)完成PC機(jī)和ACS控制器之間的數(shù)據(jù)交換,鏈接庫(kù)中包含了與ACS設(shè)備相關(guān)的變量?jī)?nèi)存地址定義以及函數(shù)定義。首先,在主程序目錄中加入ACS.h函數(shù)定義頭文件;其次,通過(guò)工程—>設(shè)置—>連接—>對(duì)象/庫(kù)模塊添加動(dòng)態(tài)或靜態(tài)鏈接庫(kù),完成程序鏈接;最后編寫連接設(shè)備的程序,其主要設(shè)備連接程序如下(省略變量定義):當(dāng)軟件系統(tǒng)通過(guò)Ethernet總線方式連接上主站控制器之后,還需要對(duì)其接入的其他硬件設(shè)備進(jìn)行地址分配,并寫入主站控制器,使其了解系統(tǒng)中所接入的各種硬件設(shè)備,才能利用主站控制器對(duì)硬件設(shè)備進(jìn)行控制。
3軟件模塊功能
數(shù)控砂輪修形軟件主要功能為根據(jù)砂輪參數(shù)對(duì)成形砂輪進(jìn)行參數(shù)化設(shè)計(jì)或根據(jù)零件參數(shù)反求出成形砂輪輪廓,優(yōu)化刀具的加工路徑,自動(dòng)生成NC程序,向機(jī)床發(fā)出指令,控制機(jī)床運(yùn)動(dòng),對(duì)毛坯進(jìn)行加工,得到所需的成形砂輪。同時(shí),也可以自行輸入已經(jīng)人工編寫好NC程序或者調(diào)用數(shù)據(jù)庫(kù)中已有的程序進(jìn)行加工。因此,數(shù)控砂輪修形軟件包括參數(shù)化設(shè)計(jì)模塊、基于零件特征加工模塊、NC代碼編輯模塊、數(shù)據(jù)庫(kù)模塊以及加工控制模塊。
3.1參數(shù)化設(shè)計(jì)模塊
該模塊的主要功能是根據(jù)提供的砂輪參數(shù)對(duì)成形砂輪進(jìn)行參數(shù)化設(shè)計(jì),并自動(dòng)生成NC程序。在該模塊中,用戶輸入毛坯參數(shù),砂輪尺寸參數(shù)、加工工藝參數(shù),軟件能夠自動(dòng)生成所需的NC程序,同時(shí)可顯示刀具的加工路徑以及砂輪模型模擬圖,可根據(jù)顯示的刀具路徑及砂輪模型模擬圖確認(rèn)NC程序是否無(wú)誤,確認(rèn)后即可進(jìn)行加工生產(chǎn)。加工完成后,可以將此次生成的NC程序保存到數(shù)據(jù)庫(kù)中以便下次調(diào)用。
3.2基于零件特征加工模塊
該模塊的主要功能是根據(jù)提供的零件參數(shù)反求出成形砂輪的輪廓參數(shù),并自動(dòng)生成NC程序。由于在生產(chǎn)中,我們首先得到的是零件的參數(shù)而不是成形砂輪的參數(shù),對(duì)于一些特殊零件如齒輪棘輪等,砂輪的設(shè)計(jì)也較為復(fù)雜。在該模塊中,用戶只需輸入零件的尺寸參數(shù)、毛坯參數(shù)及加工工藝參數(shù),軟件能夠自動(dòng)在后臺(tái)計(jì)算出砂輪的截面參數(shù),并生成NC程序,同時(shí)可顯示刀具的加工路徑及砂輪模型模擬圖。軟件從零件直接加工出成形砂輪,省去了中間設(shè)計(jì)成形砂輪的步驟,可以大大地縮短生產(chǎn)周期,提高生產(chǎn)效率。
該模塊的主要功能是對(duì)用戶人工編寫的NC程序進(jìn)行編輯修改及運(yùn)行。用戶可以直接輸入已手工編好的NC程序,或直接導(dǎo)入已有的NC程序文件,對(duì)NC程序進(jìn)行編輯修改,并對(duì)程序進(jìn)行試運(yùn)行。此時(shí)軟件中會(huì)顯示刀具加工路徑,通過(guò)觀察刀具加工路徑可以判斷我們手工輸入的NC程序是否正確,程序檢驗(yàn)無(wú)誤后可進(jìn)行實(shí)際加工。加工完成后,用戶可以將程序保存到數(shù)據(jù)庫(kù)中以便下次調(diào)用。
3.4數(shù)據(jù)庫(kù)模塊
該模塊的主要功能是保存參數(shù)化設(shè)計(jì)模塊中生成的NC程序和NC代碼編輯模塊中用戶自己手工輸入的NC程序。在該模塊中,所有程序統(tǒng)一編號(hào),用戶通過(guò)查詢編號(hào)來(lái)查看程序。用戶可以直接調(diào)用NC程序進(jìn)行加工,也可以對(duì)已有的程序進(jìn)行管理、添加、編輯、刪除。
4實(shí)驗(yàn)?zāi)M
由于該軟件涉及的模塊功能較多,無(wú)法在本文中一一呈現(xiàn)。因此本文選取了其中的基于零件特征加工模塊下的圓弧母線加工模塊進(jìn)行實(shí)驗(yàn)。在該模塊中,我們需要輸入零件的各種參數(shù)以及加工參數(shù)。在實(shí)驗(yàn)中,我們選取的零件的參數(shù)分別為:圓弧半徑R=30mm,零件厚度B=30mm,砂輪斷面直徑D=100mm,切削余量為2mm,主軸轉(zhuǎn)速為800r/min,背吃刀量為0.2mm,進(jìn)給量為0.1mm/r。另外,需要注意的是關(guān)于零件端面直徑以及零件外形的選擇,在本實(shí)驗(yàn)中,我們選擇左右端面直徑相同,零件外形為外凸。輸入所需零件參數(shù)后,點(diǎn)擊“確定輸入”按鈕,表示參數(shù)輸入步驟完成,接下來(lái)可以選擇其他功能按鈕進(jìn)行其他操作。點(diǎn)擊“磨削該零件砂輪的NC代碼”按鈕,軟件即在交互界面上顯示加工砂輪的NC程序。通過(guò)實(shí)驗(yàn)可以看出,該軟件能夠正常運(yùn)行,基本實(shí)現(xiàn)所需的功能。只需要輸入砂輪或零件的相關(guān)參數(shù),即可生成NC程序,為生產(chǎn)提供了方便。
0引言
隨著計(jì)算機(jī)技術(shù)的發(fā)展及廣泛應(yīng)用,暖通行業(yè)中計(jì)算機(jī)的使用也越來(lái)越廣泛。計(jì)算機(jī)的使用不僅可以解決原來(lái)人工很難完成的任務(wù),如精確的數(shù)值計(jì)算,環(huán)境參數(shù)模擬等,更重要的是它加快了設(shè)計(jì)者的工作效率,可以使工程師高效率高質(zhì)量的完成設(shè)計(jì)工作。
目前計(jì)算機(jī)在暖通領(lǐng)域的應(yīng)用主要有CFD(計(jì)算流體力學(xué))技術(shù),CAD(計(jì)算機(jī)輔助設(shè)計(jì))技術(shù)等。前者主要是一些科研機(jī)構(gòu)做流體仿真的研究,用來(lái)模擬建筑環(huán)境參數(shù)的分布狀況。而后者正是廣大設(shè)計(jì)單位日常使用頻率最高的實(shí)用性技術(shù)。本文主要討論后者的發(fā)展概況和國(guó)內(nèi)存在的問(wèn)題,最后筆者根據(jù)自己的CAD實(shí)踐經(jīng)歷提出一種面向?qū)嵱玫腃AD軟件開發(fā)思路。
CAD技術(shù)在設(shè)計(jì)院中的應(yīng)用主要體現(xiàn)在兩個(gè)方面。一方面為計(jì)算機(jī)輔助計(jì)算,這主要是解決在設(shè)計(jì)中的負(fù)荷計(jì)算,水力計(jì)算,濕空氣分析等問(wèn)題。另一方面為計(jì)算機(jī)輔助繪圖,這主要是代替過(guò)去費(fèi)時(shí)、費(fèi)力的手工繪圖。方案階段可以手工示意,初步設(shè)計(jì)和施工圖及最后的竣工圖一般單位都要求計(jì)算機(jī)出圖。
1發(fā)展概況
在我國(guó),計(jì)算機(jī)應(yīng)用于暖通領(lǐng)域起步于80年代。當(dāng)時(shí)主要精中在輔助計(jì)算上,主要包括冷熱負(fù)荷計(jì)算,水力平衡計(jì)算等。主要使用的語(yǔ)言為FORTRAN,BASIC等高級(jí)語(yǔ)言。由于計(jì)算工作的基礎(chǔ)和規(guī)律性很強(qiáng),有固定的計(jì)算公式,與計(jì)算機(jī)特征相吻合,到80年代末暖通的計(jì)算程序已基本定型。在以后的發(fā)展過(guò)程中這些程序只做了進(jìn)一步的完善和語(yǔ)言上的調(diào)整,沒(méi)有本質(zhì)變化。本階段的代表人物為陳在康,武建勛,施鑒諾及他們合著的<<暖通計(jì)算機(jī)方法>>,該書曾在一些高校被列為暖通專業(yè)規(guī)定的選修課。
在80年代后期國(guó)內(nèi)出現(xiàn)了美國(guó)AutoDesk公司的AutoCAD繪圖軟件,它以普通的PC為平臺(tái),擁有強(qiáng)大的繪圖功能和穩(wěn)定的系統(tǒng)結(jié)構(gòu)?;谝陨系奶攸c(diǎn)AutoCAD開始在國(guó)內(nèi)一些機(jī)構(gòu)被學(xué)習(xí)和使用。AutoCAD的使用可以說(shuō)是暖通CAD歷史上的一次飛躍。至今為止,AutoCAD已成為世界上使用率最高的CAD軟件。
國(guó)內(nèi)暖通繪圖CAD的應(yīng)用是隨著建筑CAD的發(fā)展而發(fā)展起來(lái)的,80年代末,由于國(guó)家有關(guān)部門的重視,許多單位開始進(jìn)行建筑CAD的研制與開發(fā),并且很快形成了一定的規(guī)模,在此基礎(chǔ)上暖通計(jì)算機(jī)繪圖也迅速崛起,并漸漸和建筑CAD脫離,至90年代初形成了多套相對(duì)完整、獨(dú)立的暖通軟件包。這些軟件包主要功能包括:建筑條件圖的繪制、冷熱負(fù)荷計(jì)算、供暖空調(diào)平面圖與系統(tǒng)圖的繪制和自動(dòng)生成,在一定程度上滿足了設(shè)計(jì)人員的需要。這時(shí)期的軟件基本上有兩種平臺(tái)。一是自己獨(dú)立的軟件平臺(tái),但是與AutoCAD的數(shù)據(jù)共享比較困難。而更多的是在AutoCAD基礎(chǔ)做出的二次開發(fā)。這時(shí)期比較著名的軟件有國(guó)家機(jī)械委北方設(shè)計(jì)研究院開發(fā)的暖通CAD系統(tǒng),北京華遠(yuǎn)公司開發(fā)的HOUSE軟件包及鐵道部6個(gè)設(shè)計(jì)院聯(lián)合開發(fā)的HVAC-CAD軟件包。
隨著計(jì)算機(jī)硬件技術(shù)的不斷進(jìn)步,硬件已不再是計(jì)算機(jī)在暖通領(lǐng)域上應(yīng)用的障礙。人們研究的重點(diǎn)都精中在了應(yīng)用于暖通的計(jì)算機(jī)軟件開發(fā)上。到了90年代,由于有多種方便又快捷的計(jì)算機(jī)高級(jí)語(yǔ)言的出現(xiàn),編寫面向暖通方面應(yīng)用的計(jì)算程序已相對(duì)簡(jiǎn)單,并且可以方便的制作出友好的人機(jī)交互界面。甚至一些普通的編程愛(ài)好者就都可以獨(dú)自完成焓濕圖分析,負(fù)荷計(jì)算,水力計(jì)算等軟件。這時(shí)一些科研機(jī)構(gòu)就把精力轉(zhuǎn)到了CFD這項(xiàng)國(guó)外一直比較領(lǐng)先的技術(shù)上,開始學(xué)習(xí)和研究一些國(guó)外的流體分析軟件。
在進(jìn)入21世紀(jì)的同時(shí),我們經(jīng)歷了整個(gè)世界信息化和網(wǎng)絡(luò)化帶來(lái)的變革。整個(gè)世界的信息交流變的比從前任何時(shí)期都方便,這時(shí)如何實(shí)現(xiàn)數(shù)據(jù)的共享和快速的得到軟件更新的問(wèn)題又?jǐn)[在了開發(fā)者的面前。國(guó)內(nèi)一些高校又開始了CAD應(yīng)用集成及網(wǎng)絡(luò)化的研究。由于國(guó)家對(duì)建設(shè)的投入,工程建設(shè)中工作量的日益增加,加快了對(duì)繪圖速度的要求。國(guó)內(nèi)出現(xiàn)了更多的CAD輔助繪圖軟件,而在暖通方面,發(fā)展完善和應(yīng)用較多的基本上都是在AutoCAD平臺(tái)上二次開發(fā)的軟件。上世紀(jì)開發(fā)出的軟件又進(jìn)一步得到了完善,而其中一些則是從其它軟件中脫影而出,以其高度的集成性和一體化程度在國(guó)內(nèi)的市場(chǎng)上殺出了自己的一片天空。目前國(guó)內(nèi)常用的軟件我們看到的有建研院的ABD軟件包、北京(洛陽(yáng))鴻業(yè)公司的ACS軟件包、北京天正公司的THvac軟件包等。
相比之下,國(guó)內(nèi)的CAD技術(shù)要比國(guó)外一些發(fā)達(dá)國(guó)家落后,這主要還是體現(xiàn)在自動(dòng)化程度不高和圖紙深度不夠兩方面。國(guó)外的暖通設(shè)計(jì)工作相對(duì)建筑設(shè)計(jì)比較獨(dú)立,如在英國(guó)和日本專門從事建筑設(shè)備設(shè)計(jì)的設(shè)計(jì)院很多。這些單位往往只做建筑工程中除土建方面的設(shè)計(jì)工作,這些工作又分為空調(diào)、給排水(日本稱衛(wèi)生)、電氣的設(shè)計(jì)。由于發(fā)達(dá)國(guó)家強(qiáng)調(diào)建筑以人為本宗旨,建筑的室內(nèi)標(biāo)準(zhǔn)要求又偏高,整個(gè)建筑在設(shè)計(jì)過(guò)程中的投入就會(huì)很大。這就使得暖通設(shè)計(jì)更加獨(dú)立和分工,相對(duì)的暖通軟件也比較獨(dú)立。這些軟件很多都是在施工單位對(duì)圖紙作進(jìn)行深化時(shí)使用,圖面表達(dá)非常接近施工。在英國(guó)的CAD軟件很多,面向建筑設(shè)備的有400多種,其中面向暖通空調(diào)的有100多種。它們當(dāng)中多數(shù)是輔助完成某種計(jì)算的獨(dú)立軟件。而輔助繪圖用的也是獨(dú)立平臺(tái)的集成軟件,它可以先前將建筑的AutoCAD的圖紙輸入作為條件圖,再進(jìn)行設(shè)備圖的繪制。其中應(yīng)用較廣的是Hevacomp和Cymap公司的CADlink軟件。日本對(duì)暖通設(shè)計(jì)圖紙深度要求很高,施工圖一般都出到1:50的比例甚至更高。使用的軟件也多是獨(dú)立平臺(tái)的2.5維的設(shè)計(jì)軟件。當(dāng)前應(yīng)用較廣的繪圖軟件有CADWe''''llCAPE、CADWAEvolution等??偠灾陨蟽蓚€(gè)國(guó)家在暖通CAD方面,由于有功能強(qiáng)大的軟件支持,施工圖紙深度和國(guó)內(nèi)圖紙都有質(zhì)的差別。
2國(guó)內(nèi)存在的問(wèn)題
雖然國(guó)內(nèi)一些科研機(jī)構(gòu)在很早就開始了計(jì)算機(jī)輔助設(shè)計(jì)的研發(fā),但是就目前的市場(chǎng)應(yīng)用來(lái)看,國(guó)產(chǎn)軟件正在困惑中求生存。國(guó)內(nèi)鉆研CAD的多數(shù)都面向機(jī)械行業(yè),要不就是面向建筑行業(yè)的。所以迄今為止,國(guó)內(nèi)還沒(méi)有一家真正獨(dú)立平臺(tái)的暖通CAD軟件能夠占有一定的市場(chǎng)。暖通行業(yè)中幾乎都是AutoCAD的天下,從工作效率到出圖的質(zhì)量我國(guó)的CAD水平明顯和國(guó)外存在著一定的差距。即使是二次開發(fā)的軟件,一些單位往往剛拿到手時(shí)的爭(zhēng)相學(xué)習(xí),然后不過(guò)多久,人們就又回到了最原始的AutoCAD。分析其中的原因,應(yīng)該說(shuō)是多方面的。筆者根據(jù)自己的CAD應(yīng)用和工程設(shè)計(jì)實(shí)踐總結(jié)出以下幾點(diǎn),以供參考。
2.1標(biāo)準(zhǔn)有待普及和完善
標(biāo)準(zhǔn)化是實(shí)現(xiàn)暖通空調(diào)CAD系統(tǒng)集成化,并提高開發(fā)效率的關(guān)鍵問(wèn)題之一。國(guó)際標(biāo)準(zhǔn)化組織(ISO)和國(guó)內(nèi)一些機(jī)構(gòu)已經(jīng)對(duì)CAD的標(biāo)準(zhǔn)化工作做過(guò)很多的深入,但是針對(duì)暖通行業(yè)方面的CAD標(biāo)準(zhǔn)化工作近幾年才開始有人探討,離步入應(yīng)用階段還相距甚遠(yuǎn)。由于標(biāo)準(zhǔn)相對(duì)落后,從事設(shè)計(jì)的相關(guān)人員很難做到一些軟件的數(shù)據(jù)共享,造成重復(fù)的數(shù)據(jù)輸入工作。由于相關(guān)的圖紙深度及表達(dá)方式?jīng)]有統(tǒng)一要求,造成一些軟件不適合有自主樣式的設(shè)計(jì)單位使用。軟件開發(fā)者也不知用什么樣的數(shù)據(jù)輸出方式和繪圖樣式才能得到用戶的認(rèn)可。
目前國(guó)內(nèi)也存在暖通CAD軟件與設(shè)計(jì)相關(guān)的技術(shù)規(guī)程接合不緊密的問(wèn)題,例如沒(méi)有使用技術(shù)規(guī)程指定的負(fù)荷計(jì)算方法,計(jì)算書樣式等。一些軟件的計(jì)算結(jié)果也沒(méi)有經(jīng)過(guò)可信度的認(rèn)證。在制圖方面,相關(guān)的制圖標(biāo)準(zhǔn)也有待完善,如現(xiàn)行GB/T50114-2001暖通空調(diào)制圖標(biāo)準(zhǔn)也只是針對(duì)當(dāng)時(shí)手繪時(shí)期中一些主要的表達(dá)方式作了規(guī)范。目前還沒(méi)有一本專門針對(duì)計(jì)算機(jī)制圖,且能充分發(fā)揮計(jì)算機(jī)繪圖特長(zhǎng)的制圖標(biāo)準(zhǔn)面世。如GB50114-2001中對(duì)制圖時(shí)的線寬要求是b、0.25b、0.5b,這很難實(shí)現(xiàn)計(jì)算機(jī)和手繪的通用,特別是對(duì)日常打印機(jī)繪圖很難適用。再如雙線風(fēng)管是否畫中心線,各種設(shè)備在圖面上如何表達(dá),標(biāo)號(hào)如何制定,圖層名如何設(shè)置都沒(méi)有明確的說(shuō)明,這就造成了各單位的圖面格式不統(tǒng)一,圖層和圖元樣式相對(duì)雜亂的局面。
2.2體制完善和重視程度不夠
國(guó)內(nèi)的暖通設(shè)計(jì)工程師多數(shù)都是在建筑設(shè)計(jì)院工作,制定標(biāo)準(zhǔn)的單位一般也是建筑的科研單位或主管部門。這就給一些人造成了一個(gè)誤解,他們總以為暖通只是一個(gè)與建筑配套的工種。有的人會(huì)說(shuō)“人家建筑的圖紙也沒(méi)有那么多講就,就甭說(shuō)我們暖通了。制定繪圖標(biāo)準(zhǔn)也是他們建筑的帶頭,不用我們暖通摻和了”。實(shí)際上這種看法是很不理智的。雖然暖通沒(méi)有建筑專業(yè)的出圖量多,但暖通專業(yè)必竟在圖紙?zhí)攸c(diǎn)和計(jì)算機(jī)的應(yīng)用上有比較接近機(jī)械的特點(diǎn),所以我們更應(yīng)該以自己的專業(yè)職責(zé)去對(duì)待自己的成果。特別是暖通CAD涉及到的參數(shù)之間關(guān)系眾多,相對(duì)其它專業(yè),暖通專業(yè)更應(yīng)該注重各系統(tǒng)之間的關(guān)系和具體的實(shí)現(xiàn)形式。
現(xiàn)實(shí)中一些人還認(rèn)為:“計(jì)算書只是一個(gè)形式,我有那么多年設(shè)計(jì)經(jīng)驗(yàn)了,估的比你算的都準(zhǔn)?!边€有些人認(rèn)為:“設(shè)計(jì)院畫的太細(xì)了沒(méi)用,到了現(xiàn)場(chǎng)可能改的面目全非,還要有多年安裝經(jīng)驗(yàn)的人才能施工?!边€有人甚至認(rèn)為:“一個(gè)簡(jiǎn)單的系統(tǒng),根本不要計(jì)算機(jī)畫圖,找個(gè)老師傅比劃兩下都能做的出。年輕人把電腦擺弄的再好,也不如老師傅兩句話”。由于專業(yè)本身的特點(diǎn),以上的觀點(diǎn)在一定程度上有其合理的一面。但我們更應(yīng)該看到,隨著我們現(xiàn)代化建設(shè)的加速發(fā)展,僅僅幾個(gè)老師傅怎能滿足大量工程建設(shè)工作的需要。從另一方面講,經(jīng)驗(yàn)和技術(shù)是相輔相成的,如果我們通過(guò)優(yōu)秀的軟件在圖紙上解決了所有的問(wèn)題,問(wèn)題不再會(huì)壓到施工安裝上去了,那時(shí)施工單位也就不再去急需尋找老師傅了。所以在現(xiàn)階段,優(yōu)秀的CAD繪圖軟件還是必不可少的,這應(yīng)該引起更多人對(duì)它的重新認(rèn)識(shí)。
在其它一些國(guó)家,設(shè)計(jì)院出圖只出到設(shè)計(jì)階段,不出施工圖。這里的設(shè)計(jì)階段不代表國(guó)內(nèi)的擴(kuò)初設(shè)計(jì)或初步設(shè)計(jì),這一階段如果和國(guó)內(nèi)的施工圖階段相比,只是沒(méi)有給出定位和標(biāo)高,管道的具體連接方法和施工也有一定的距離,可是設(shè)備表和系統(tǒng)圖都很詳盡。他們所謂的施工圖一般是指施工單位(國(guó)內(nèi)的安裝公司)另外進(jìn)行深化后的圖紙。這里的施工圖紙就應(yīng)該和實(shí)際非常接近了,它一般只包括平面圖和機(jī)房詳細(xì)圖。由于是在設(shè)備施工前期出圖,建筑和結(jié)構(gòu)和資料也相對(duì)比較完善。日本的施工圖上都會(huì)把梁精確的表示出來(lái),建筑資料中也會(huì)有明確的吊頂高度及燈的布置資料。以上這些資料,就使得對(duì)施工圖紙的繪制有了更確切地把撐。正是有了國(guó)外這種體制的存在,很大程度上給繪制精確施工圖的軟件帶來(lái)了發(fā)展空間,并且軟件也能夠真正地滿足施工統(tǒng)一、拍圖完整的要求。我們從國(guó)外的一些經(jīng)驗(yàn)可以看出,對(duì)于國(guó)內(nèi)的一些安裝公司,如果單憑設(shè)計(jì)院出的圖紙無(wú)法完成安裝的話,就必須進(jìn)行再深化。綜上所述,這也是我國(guó)建筑和設(shè)備安裝行業(yè)的一些體制問(wèn)題,我們也期待著這種體制更進(jìn)一步的完善。
2.3開發(fā)導(dǎo)向有誤區(qū)
軟件開發(fā)者應(yīng)該從暖通工程師實(shí)際要求出發(fā),并且最好有一定的設(shè)計(jì)經(jīng)驗(yàn)再去從事開發(fā)工作,就會(huì)對(duì)開發(fā)方向有更大的把握。在筆者接觸到過(guò)的一些國(guó)產(chǎn)軟件當(dāng)中,發(fā)現(xiàn)很多軟件經(jīng)常會(huì)犯一個(gè)通病。那就是往往在操作上追求華麗,以能一瞬間自動(dòng)完成某些連接,或繪出三維圖型而自豪,恕不知某些連接或樣式在現(xiàn)場(chǎng)根本無(wú)法安裝實(shí)現(xiàn)。這就造成了軟件中看不中用的后果。
開發(fā)暖通軟件不同于開發(fā)建筑軟件,建筑軟件多數(shù)只是圖面表達(dá)上追求快捷和華麗。而暖通專業(yè)中的每個(gè)圖形元素(我們或?qū)⑵浞Q作管道及部件)都具有一定的擴(kuò)展實(shí)體參數(shù)。如記載管道材質(zhì),重量,用途,風(fēng)量等參數(shù)。相連接的部件參數(shù)的如何交換、套用、合算都存在著很深的專業(yè)性。這要求軟件開發(fā)者要同設(shè)計(jì)院、科研單位、施工單位進(jìn)行廣泛和深入的交流。由于這些原因,有時(shí)一些以建筑輔助設(shè)計(jì)軟件開發(fā)為主的公司的是很困難完成上述要求的。
對(duì)于以上存在的問(wèn)題,就希望開發(fā)者在開發(fā)前期多作論證,作好方案,提出合理可行的現(xiàn)實(shí)手段和預(yù)期目標(biāo)。避免不假思索地去寫代碼,否則到最后就會(huì)得到費(fèi)了很多力卻沒(méi)有得到別人認(rèn)可的后果。
3面向?qū)嵱玫能浖_發(fā)
對(duì)于發(fā)展國(guó)內(nèi)的暖通CAD技術(shù),筆者認(rèn)為應(yīng)該從兩方面入手。一方面小規(guī)模的設(shè)計(jì)單位可以聘用專門的CAD技術(shù)人員,制定適合自己的出圖樣式,根據(jù)自己的標(biāo)準(zhǔn)來(lái)做二次開發(fā)的技術(shù)支持。只有這樣做,最后的出圖質(zhì)量才能得到根本性的提高。另一方面大規(guī)模的設(shè)計(jì)院和國(guó)家有關(guān)部門也應(yīng)投入資源去開發(fā)有我國(guó)自主知識(shí)產(chǎn)權(quán)的獨(dú)立平臺(tái)CAD軟件,特別是對(duì)CAD出圖的標(biāo)準(zhǔn)和深度應(yīng)該有更明確的規(guī)范。下面筆者就以上述兩種CAD類型軟件的開發(fā)作為立足點(diǎn),提出面向?qū)嵱玫能浖_發(fā)思路及開發(fā)過(guò)程中應(yīng)注意的事項(xiàng)。
3.1二次開發(fā)和樣式制定
二次開發(fā)主要是指開發(fā)應(yīng)用于AutoCAD基礎(chǔ)上的插件,用戶必須先在計(jì)算機(jī)上安裝Autodesk公司的AutoCAD,之后再運(yùn)行開發(fā)出的暖通工具包,最終加強(qiáng)AutoCAD的功能,使AutoCAD適合暖通繪圖,以及符合自己公司制定的繪圖樣式。AutoCAD在R14版本之后就有很強(qiáng)的開放性和擴(kuò)展性,允許用戶方便的進(jìn)行自定義和二次開發(fā)。并且在AutoCADHelp文檔中有詳細(xì)的參考和教程,便于用戶查閱和學(xué)習(xí)。
目前面向AutoCAD二次開發(fā)的主要工具有AutoLISP/VisualLISP、VB/VBA的ActiveX及C/C++的ObjectARX。其中前兩種比較適合個(gè)人開發(fā)和短期開發(fā),后一種適合軟件公司的長(zhǎng)期開發(fā)項(xiàng)目。這里主要推薦前兩種語(yǔ)言,部分原因是因?yàn)樵贏utoCAD中集成了兩種語(yǔ)言的開發(fā)環(huán)境,并且有詳細(xì)的幫助文件。LISP語(yǔ)言是人工智能學(xué)科領(lǐng)域中廣泛采用的一種程序設(shè)計(jì)符號(hào)語(yǔ)言。這種語(yǔ)言在參數(shù)化繪圖中有很大的靈活性,并且可以實(shí)現(xiàn)一定的人工智能。LISP開發(fā)出的程序可以象運(yùn)行CAD普通命令一樣在命令行中直接鍵入自己定義的命令運(yùn)行,保持了用戶的繪圖習(xí)慣。VisualBasic(簡(jiǎn)稱VB)是Microsoft公司開發(fā)的面向?qū)ο蟮腂asic程序設(shè)計(jì)環(huán)境。它沿用了大家熟悉的Basic語(yǔ)言的語(yǔ)法和習(xí)慣,又引入了面向?qū)ο蟮某绦蛟O(shè)計(jì)理念和功能強(qiáng)大的調(diào)試環(huán)境,使編程效率和操作智能化程度有了明顯的提高。特別是它引入的ActiveX技術(shù),使的很多其它的應(yīng)用程序與之有了相應(yīng)的接口,且通過(guò)面向?qū)ο蟮牟僮?,使程序有了更高效、更明確的實(shí)現(xiàn)途徑,以及更容易完成各種其它應(yīng)用程序之間的交互。VB本身簡(jiǎn)單易學(xué),可以很快的制作出對(duì)話框和用戶界面,是很多編程愛(ài)好者的首選。
二次開發(fā)的首要步驟是制定暖通繪圖環(huán)境,就是指在繪圖初期對(duì)新建圖形中的一些參數(shù)進(jìn)行初始化設(shè)置,這很像AutoCAD中模板的概念。類似建立一個(gè)暖通繪圖的模板,當(dāng)然這里的模板比AutoCAD中模板包含的數(shù)據(jù)要多。加載繪圖環(huán)境也不像是在AutoCAD中打開模板,而是通過(guò)命令來(lái)實(shí)現(xiàn)的。加載好的環(huán)境有自己的操作界面,同時(shí)按要求新建一個(gè)空文檔,再在其中繪出必要的圖形元素。繪圖環(huán)境可以根據(jù)繪圖的比例和種類進(jìn)行分類命名。當(dāng)用戶開始作圖時(shí),按作圖要求加載既可,如可以建立像“風(fēng)管平面圖1/100”、“配管平面圖1/100”、“水系統(tǒng)流程圖”一樣的繪圖環(huán)境。
繪圖環(huán)境中可以按自己的暖通設(shè)計(jì)特點(diǎn)定義菜單和工具欄的布置,如繪制平面圖時(shí)出現(xiàn)平面圖用工具欄,繪制詳細(xì)圖時(shí)出現(xiàn)詳細(xì)圖用工具欄。繪圖環(huán)境設(shè)定好后,即繪出圖框、設(shè)定好了圖層、文字樣式、標(biāo)注樣式、打印樣式等。同時(shí)進(jìn)行建筑設(shè)計(jì)的設(shè)計(jì)單位圖框需要和建筑專業(yè)保持一致。專門的暖通設(shè)計(jì)單位可以自己編制,介意使用包含公司標(biāo)志且占圖面整邊的標(biāo)題欄。圖層應(yīng)該根據(jù)圖面元素的種類進(jìn)行分類,分層也不易太多,一般按定位軸線、建筑底圖、房間名稱、機(jī)器、風(fēng)管、水管、標(biāo)注等分層即可,層名一般按英文簡(jiǎn)寫編制。文字、標(biāo)注等樣式一般按房屋建筑制圖統(tǒng)一標(biāo)準(zhǔn)(GB/T50001-2001)、暖通空調(diào)制圖標(biāo)準(zhǔn)(GB/T50114-2001)選取。
二次開發(fā)當(dāng)中最核心的工作之一就是輔助繪圖命令的開發(fā)。怎樣讓用戶通過(guò)軟件的應(yīng)用使繪圖更標(biāo)準(zhǔn)化,高效化是衡量軟件成敗的關(guān)鍵。當(dāng)然做這些工作的前提是統(tǒng)一公司內(nèi)部的圖面樣式,這里包括圖面中一些細(xì)節(jié)因素表示方法的統(tǒng)一。如風(fēng)管法蘭要畫幾根線,中心線超出邊界的長(zhǎng)度,隱線處理的方法、常用圖例的尺寸等。
輔助繪圖命令中的一部分可以稱為輔助操作命令,如對(duì)圖層的快速操作、對(duì)象的過(guò)濾和編輯等。這些命令有時(shí)在Autodesk的Express中也有包含,如孤立一個(gè)層、顯示所有層等。這些輔助操作使繪圖過(guò)程更佳合理化,高效化?;镜呐ɡL圖命令應(yīng)該包括風(fēng)管繪制、風(fēng)閥風(fēng)口插入、水管繪制、管徑標(biāo)注、標(biāo)號(hào)插入等。這其中包含的一些具體連接的處理方式一定要和現(xiàn)場(chǎng)施工保持一致。二次開發(fā)的初期一般不把風(fēng)管,水管生成塊,以追求修改的方便。輔助命令中的快速標(biāo)注,可以方便地標(biāo)出管道種類、標(biāo)高、管徑等。一些輔助繪圖命令以可以是常用符號(hào)(即塊)的插入等,如水管上下翻標(biāo)記等圖例符號(hào)的插入。
2軟件功能設(shè)計(jì)
1)管理端軟件功能。管理端軟件設(shè)計(jì)有“校驗(yàn)任務(wù)管理”、“文檔管理”、“校驗(yàn)歷史調(diào)閱”與“相關(guān)信息配置”四大類功能,下圖3所示為管理端軟件的功能設(shè)置圖。管理端軟件界面從左到右分別為基本信息錄入欄、功能按鈕區(qū)和待檢驗(yàn)任務(wù)列表欄三個(gè)區(qū)域,界面簡(jiǎn)潔,功能按鈕作用一目了然,軟件的使用非常簡(jiǎn)便。下圖4為管理端軟件主界面設(shè)計(jì)。2)測(cè)試端軟件功能設(shè)計(jì)。測(cè)試端軟件整合了接收待檢驗(yàn)任務(wù)、檢驗(yàn)測(cè)試、數(shù)據(jù)上傳、服務(wù)器數(shù)據(jù)庫(kù)配置、檢驗(yàn)儀器設(shè)置等功能,軟件的核心是實(shí)現(xiàn)檢測(cè)數(shù)據(jù)的自動(dòng)識(shí)別與保存,并將測(cè)試數(shù)據(jù)與檢驗(yàn)結(jié)論上傳至服務(wù)器上的SQLServer數(shù)據(jù)庫(kù)中。測(cè)試端軟件界面風(fēng)格和特點(diǎn)與管理端基本一致,其主界面見(jiàn)下圖6所示。選中即將要實(shí)施的檢驗(yàn)任務(wù),其參數(shù)將顯示在左面的基本信息欄中,如果信息中有差錯(cuò),檢驗(yàn)人員可以現(xiàn)場(chǎng)進(jìn)行修改。在對(duì)基本信息核對(duì)無(wú)誤后,點(diǎn)擊“開始校驗(yàn)”按鈕,將進(jìn)入下圖7所示的測(cè)試界面。測(cè)試數(shù)據(jù)與結(jié)論將自動(dòng)保存到本機(jī)后臺(tái)的Accesss數(shù)據(jù)庫(kù)中,在網(wǎng)絡(luò)環(huán)境下,點(diǎn)擊“數(shù)據(jù)上傳”(見(jiàn)圖6),所有檢驗(yàn)結(jié)束任務(wù)的測(cè)試數(shù)據(jù)與檢驗(yàn)結(jié)論將通過(guò)網(wǎng)絡(luò)寫入服務(wù)器上的SQLServer數(shù)據(jù)庫(kù)中。點(diǎn)擊管理端軟件上“文檔管理”(見(jiàn)圖4)按鈕,將彈出下圖8所示界面。在文檔管理功能模塊中,可以預(yù)覽限速器檢驗(yàn)報(bào)告與檢驗(yàn)原始記錄,并能夠直接輸出打印。檢驗(yàn)報(bào)告可以通過(guò)網(wǎng)絡(luò)進(jìn)入審核和簽發(fā)流程,檢驗(yàn)報(bào)告中的檢驗(yàn)員、報(bào)告審核與審批人員均使用電子簽名簽署檢驗(yàn)報(bào)告。
2項(xiàng)目管理在軟件開發(fā)中的應(yīng)用現(xiàn)狀
在二十世紀(jì)六十年代中期,人們發(fā)現(xiàn)了在開發(fā)軟件過(guò)程中存在著很多問(wèn)題,具體的問(wèn)題表現(xiàn)在以下兩個(gè)方面:一方面,不規(guī)范的生產(chǎn)過(guò)程;另一方面,不重視管理工作。為了能夠有效解決軟件開發(fā)過(guò)程中存在的問(wèn)題,人們開始嘗試?yán)眠^(guò)程管理方法。但是到了二十世紀(jì)八十年代,還是沒(méi)有制定管理軟件開發(fā)過(guò)程相關(guān)標(biāo)準(zhǔn)。近幾年來(lái),在信息技術(shù)快速發(fā)展的背景下,人們采取項(xiàng)目管理來(lái)控制軟件開發(fā)的質(zhì)量、軟件開發(fā)的成本等,以此確保軟件開發(fā)的質(zhì)量和成本等因素,符合當(dāng)時(shí)的既定標(biāo)準(zhǔn)。在軟件開發(fā)過(guò)程中,每一個(gè)項(xiàng)目組的不同成員都應(yīng)該承擔(dān)不同的任務(wù),并且企業(yè)管理者應(yīng)該要求他們要在規(guī)定的時(shí)間內(nèi)完成自身的任務(wù),這種明確分工制度,有助于提高員工的工作效率。
3項(xiàng)目管理在軟件開發(fā)中的應(yīng)用
每一個(gè)軟件開發(fā)項(xiàng)目都要經(jīng)過(guò)以下幾個(gè)階段:提出問(wèn)題、研究可行性、分析需求、測(cè)試等。因此項(xiàng)目管理工作應(yīng)該貫穿于軟件開發(fā)的整個(gè)過(guò)程。
3.1可行性研究
無(wú)法開發(fā)哪一個(gè)項(xiàng)目,都需要進(jìn)行可行性分析與研究。通過(guò)利用項(xiàng)目管理來(lái)研究軟件開發(fā)項(xiàng)目可行性的目的在于:在最短的時(shí)間內(nèi)確定軟件開發(fā)項(xiàng)目是否具有開發(fā)的價(jià)值。其中可行性研究的內(nèi)容包括:
1)、研究技術(shù)的可行性。其主要是指:要合理地分析開發(fā)項(xiàng)目的功能與性能,分析其中所隱藏的技術(shù)風(fēng)險(xiǎn)。
2)、研究經(jīng)濟(jì)的可行性。其主要是指:估計(jì)所開發(fā)的項(xiàng)目給企業(yè)帶來(lái)的經(jīng)濟(jì)效益,然后依據(jù)所估算的經(jīng)濟(jì)效益,確定該項(xiàng)目是否具有投資的價(jià)值。
3)、研究社會(huì)的可行性。其主要是指:分析此項(xiàng)目的運(yùn)行方式是否正確,分析當(dāng)前的人員技術(shù)水平以及管理制度是否具有可行性。
3.2軟件項(xiàng)目估算
在軟件開發(fā)過(guò)程中,首先要規(guī)劃軟件開發(fā)項(xiàng)目,如此便于項(xiàng)目管理人員制定切合實(shí)際的估算方案。規(guī)劃軟件開發(fā)項(xiàng)目的內(nèi)容主要包括:明確軟件開發(fā)的目標(biāo)、明確軟件開發(fā)過(guò)程中需要用到的各種資源、明確軟件開發(fā)的進(jìn)度等。在軟件開發(fā)過(guò)程中,估算起著非常重要的作用。通過(guò)估算可以保證軟件項(xiàng)目在規(guī)定的時(shí)間內(nèi)完成,也可以確保軟件項(xiàng)目的成本未超出預(yù)算。在估算資源、成本以及進(jìn)度的時(shí)候,要依據(jù)自身豐富的經(jīng)驗(yàn)以及相關(guān)的數(shù)據(jù)。但是當(dāng)前所使用的估算方法較為單一,此種估算方法容易增加估算風(fēng)險(xiǎn)。對(duì)此,研究人員應(yīng)該努力研究出更多科學(xué)、有效的估算方法。
3.3軟件項(xiàng)目開發(fā)人員的管理
在開展軟件項(xiàng)目開發(fā)人員管理工作的時(shí)候,首先要合理安排人員。通常情況下,是由多個(gè)小組成員共同完成軟件開發(fā)項(xiàng)目。在具體安排人員任務(wù)的時(shí)候,要依據(jù)每位人員的優(yōu)勢(shì)進(jìn)行,并且要明確小組內(nèi)每一位成員的工作任務(wù)以及工作目標(biāo)。在軟件開發(fā)過(guò)程中,要確定不同的責(zé)任人,比如:項(xiàng)目經(jīng)理、開發(fā)經(jīng)理,并且為每一個(gè)小組安排一名組長(zhǎng),如此有助于確保軟件開發(fā)項(xiàng)目的順利完成,同時(shí)保證所開發(fā)出來(lái)的軟件屬于高質(zhì)量產(chǎn)品。