首頁(yè) > 公文范文 > 軟件設(shè)計(jì)畢業(yè)論文
時(shí)間:2022-05-06 04:33:52
序論:寫作是一種深度的自我表達(dá)。它要求我們深入探索自己的思想和情感,挖掘那些隱藏在內(nèi)心深處的真相,好投稿為您帶來了一篇軟件設(shè)計(jì)畢業(yè)論文范文,愿它們成為您寫作過程中的靈感催化劑,助力您的創(chuàng)作。
摘要:傳統(tǒng)構(gòu)架下的ERP軟件,在實(shí)際應(yīng)用中出現(xiàn)了許多問題。文章介紹了一種新的軟件架構(gòu)方法――面向服務(wù)架構(gòu)(SOA)的理念及其特點(diǎn),并對(duì)面向服務(wù)架構(gòu)的ERP和面向?qū)ο蠹軜?gòu)的ERP分別在體系結(jié)構(gòu)和開發(fā)方法上作比較,最后選取SAP公司的NetWeaver和ESA產(chǎn)品設(shè)計(jì)理念作為案例,進(jìn)一步闡述了SOA思想在ERP設(shè)計(jì)中的應(yīng)用特點(diǎn)和優(yōu)勢(shì)。
關(guān)鍵詞:面向服務(wù)架構(gòu)(SOA);面向?qū)ο蠹軜?gòu)(OOA);軟件設(shè)計(jì)
0 引言
ERP由最初的財(cái)務(wù)軟件逐漸發(fā)展起來,內(nèi)容越來越豐富,功能也越來越齊全[1]。到目前為止,ERP的產(chǎn)品模式最常見的有兩種:通用型ERP和專業(yè)型ERP。通用型ERP,顧名思義,是適用于多種行業(yè)的套裝軟件。通過對(duì)其進(jìn)行二次開發(fā)、系統(tǒng)配置,達(dá)到滿足不同行業(yè)的管理信息化需求。它的拓展性好、通用性高,成為目前的主流。專業(yè)型ERP,也稱之為行業(yè)型軟件,是專門針對(duì)某一特定(或相近)行業(yè)設(shè)計(jì)和定制的,便于滿足目標(biāo)行業(yè)的個(gè)性化管理需求。
但這兩種ERP產(chǎn)品都存在各自的缺陷,從而導(dǎo)致了應(yīng)用實(shí)施過程中出現(xiàn)了很多問題,最終以失敗告終的案例也不在少數(shù)。如通用型ERP,它的優(yōu)點(diǎn)也正是它缺點(diǎn)所在。通用代表了缺乏個(gè)性,流程固化,不能針對(duì)不同企業(yè)做出有效的變化,只能通過企業(yè)進(jìn)行業(yè)務(wù)流程再造,來滿足ERP產(chǎn)品的需求,忽視了企業(yè)的個(gè)性化需求;專業(yè)型ERP的最大缺陷是它的開發(fā)成本高,使企業(yè)望而卻步,同時(shí)適用的企業(yè)并不多,所以這種專用型ERP,企業(yè)很少主動(dòng)開發(fā),往往是在目標(biāo)企業(yè)提出某種需求的前提之下,進(jìn)行定制開發(fā),需要很高的成本。
傳統(tǒng)ERP產(chǎn)品存在的這些缺陷,大部分原因是其架構(gòu)理念的落后,開發(fā)方法的局限。現(xiàn)在,面向服務(wù)架構(gòu)(SOA,Service Oriented Architecture)這種新的架構(gòu)理念被引入到ERP軟件的設(shè)計(jì)與開發(fā)中,為傳統(tǒng)ERP產(chǎn)品走出困境帶來了希望,為ERP領(lǐng)域的又一次革命性的飛躍奠定了基礎(chǔ)。
1 面向服務(wù)架構(gòu)SOA
早在1996 年,Gartner Group就已經(jīng)明確地提出了SOA的理念,但目前尚未有一個(gè)統(tǒng)一的、業(yè)界廣泛接受的定義[2]。IBM的高級(jí)軟件工程師李珉先生說過,不同行業(yè)的人可以從不同的視角來理解SOA,從程序員的角度,SOA是一種全新的開發(fā)技術(shù),新的組件模型,比如說Web Service;從架構(gòu)設(shè)計(jì)師的角度,SOA就是一種新的設(shè)計(jì)模式,方法學(xué);從業(yè)務(wù)分析人員的角度,SOA就是基于標(biāo)準(zhǔn)的業(yè)務(wù)應(yīng)用服務(wù)。
一般認(rèn)為:SOA――面向服務(wù)架構(gòu)是一個(gè)組件模型,它將應(yīng)用程序的不同功能單元――服務(wù),通過服務(wù)間定義良好的接口和契約聯(lián)系起來。接口采用中立的方式定義,獨(dú)立于具體實(shí)現(xiàn)服務(wù)的硬件平臺(tái)、操作系統(tǒng)和編程語(yǔ)言,使得構(gòu)建在這樣系統(tǒng)中的服務(wù)可以使用統(tǒng)一和標(biāo)準(zhǔn)的方式進(jìn)行通信。其中服務(wù),是指僅基于兩個(gè)組件接口之間的契約,由一個(gè)組件提供其行為方法給另一個(gè)使用。
SOA中一般都包含三個(gè)角色:服務(wù)的提供者、服務(wù)的請(qǐng)求者、服務(wù)[3]。三個(gè)角色是根據(jù)對(duì)服務(wù)提出不同的需求和行使的不同功能來劃分的。它們的關(guān)系可以簡(jiǎn)單理解為:服務(wù)的提供者將它提供服務(wù)的具體描述在服務(wù),以方便服務(wù)的請(qǐng)求者查詢;服務(wù)的請(qǐng)求者通過對(duì)服務(wù)搜索,查找到需要的服務(wù)及其提供者的地址;最后是服務(wù)的提供者與服務(wù)的請(qǐng)求者進(jìn)行直接的綁定,完成服務(wù)(見圖1)。 舉個(gè)最簡(jiǎn)單的例子,我們?nèi)粢诰W(wǎng)上下載一首歌,先可以通過搜索引擎GOOGLE等,搜索可下載這首歌的網(wǎng)站,獲知這首歌的免費(fèi)下載的地址,最后我們直接鏈接這個(gè)地址下載歌。在這個(gè)過程,網(wǎng)站即相當(dāng)于一個(gè)服務(wù),我們是服務(wù)的請(qǐng)求者,而最后那個(gè)下載地址背后的服務(wù)器為服務(wù)的提供者。
圖1SOA 三者關(guān)系圖
SOA主要特征是將應(yīng)用程序功能包裝成服務(wù),服務(wù)間彼此獨(dú)立,可單獨(dú)作為組件使用。它具備松散耦合,提供粗粒度的服務(wù)和標(biāo)準(zhǔn)化的接口等。SOA旨在提供一個(gè)通用的,可互操作的和有彈性的行業(yè)標(biāo)準(zhǔn)架構(gòu),可以在軟件基礎(chǔ)架構(gòu)之上建立一系列可重復(fù)利用的服務(wù),實(shí)現(xiàn)企業(yè)適應(yīng)業(yè)務(wù)流程變化的需求。
2 基于SOA的ERP與傳統(tǒng)架構(gòu)下的ERP的比較分析
2.1 ERP傳統(tǒng)體系結(jié)構(gòu)和基于SOA的ERP體系結(jié)構(gòu)的區(qū)別
傳統(tǒng)的ERP軟件在其體系結(jié)構(gòu)上可以分為三層:表現(xiàn)層、業(yè)務(wù)邏輯層和數(shù)據(jù)庫(kù)[4]。在這種體系結(jié)構(gòu)下,其客戶端訪問存在很多的問題。如表現(xiàn)層在訪問業(yè)務(wù)邏輯層的各個(gè)業(yè)務(wù)對(duì)象時(shí),一個(gè)客戶端可能同時(shí)訪問多個(gè)業(yè)務(wù)對(duì)象,一個(gè)業(yè)務(wù)對(duì)象也可能同時(shí)被多個(gè)不同的客戶端訪問。因此它們之間關(guān)系雜亂、復(fù)雜,造成層與層之間的耦合性強(qiáng);表現(xiàn)層與業(yè)務(wù)邏輯層相互依賴,訪問接口不是公開標(biāo)準(zhǔn)的,而是依賴于特定的接口函數(shù),一旦其中的某一層發(fā)生改變,其接口函數(shù)也要作相應(yīng)的改變,導(dǎo)致系統(tǒng)地?cái)U(kuò)展性和維護(hù)性差(見圖2)。
圖2傳統(tǒng)ERP體系結(jié)構(gòu)
將SOA思想引入ERP軟件的設(shè)計(jì)開發(fā)之后,其傳統(tǒng)的三層體系結(jié)構(gòu),將會(huì)在概念上演變?yōu)樗膶咏Y(jié)構(gòu),包括表現(xiàn)層、服務(wù)層、業(yè)務(wù)邏輯層和數(shù)據(jù)庫(kù)。其中,服務(wù)層是抽象層,是獨(dú)立的、由可重用的、基于標(biāo)準(zhǔn)的服務(wù)組成。每一個(gè)具體的服務(wù)包含了接口部分和實(shí)現(xiàn)部分,其接口部分定義了服務(wù)使用者和服務(wù)提供者進(jìn)行程序訪問的契約;實(shí)現(xiàn)部分包含了服務(wù)作用和商業(yè)邏輯等信息(見圖3)。
由圖3與圖2比較可以清楚地看到兩者的區(qū)別,SOA架構(gòu)的四層體系結(jié)構(gòu),客戶端并不像傳統(tǒng)的體系結(jié)構(gòu)直接調(diào)用業(yè)務(wù)對(duì)象實(shí)現(xiàn)最終目的,而是通過調(diào)用一個(gè)獨(dú)立的服務(wù),服務(wù)再調(diào)用相關(guān)的業(yè)務(wù)對(duì)象去實(shí)現(xiàn)最終目的。由于它調(diào)用服務(wù)的接口包含在服務(wù)層內(nèi),所以,各個(gè)層之間都是獨(dú)立的、松耦合的,沒有很強(qiáng)的依賴性。任何一層發(fā)生變化,只要接口不變,不會(huì)影響服務(wù)的實(shí)現(xiàn),有利于系統(tǒng)地?cái)U(kuò)展和維護(hù)。
因此,設(shè)想以SOA思想實(shí)現(xiàn)的ERP軟件,具備很強(qiáng)的彈性,可以根據(jù)不用企業(yè)的不同需求進(jìn)行調(diào)整,符合企業(yè)的個(gè)性化需求,具體會(huì)在后面的實(shí)例中說明。
圖3 SOA四層體系結(jié)構(gòu)
2.2采用SOA和OOA進(jìn)行ERP軟件設(shè)計(jì)開發(fā)的區(qū)別
ERP軟件發(fā)展至今,它的開發(fā)方法由最初的面向過程(POA)的開發(fā)方法,發(fā)展到面向?qū)ο螅∣OA),至現(xiàn)在提出的面向服務(wù)(SOA)的開發(fā)方法[5]。面向?qū)ο蟮拈_發(fā)方法是目前ERP軟件開發(fā)中的主流技術(shù),但它本身存在很多的缺陷。它對(duì)編程語(yǔ)言有很強(qiáng)的依賴性,封裝粒度小,耦合度高,未形成標(biāo)準(zhǔn)的模型和概念,從而難以形成標(biāo)準(zhǔn)和開發(fā)規(guī)范,不能達(dá)到軟件重用的可移植性和互操作性,產(chǎn)生了大量的“對(duì)象孤島”。
相對(duì)于傳統(tǒng)的面向?qū)ο篌w系結(jié)構(gòu)的緊耦合,SOA是一個(gè)粗粒度、松耦合的面向服務(wù)架構(gòu),其服務(wù)之間通過公開、精確定義的接口進(jìn)行通訊,不涉及底層具體編程接口和通訊模型,服務(wù)與服務(wù)之間是相互獨(dú)立的,且服務(wù)可以被重復(fù)調(diào)用,也可以被任何潛在需求者調(diào)用。
以下是某公司針對(duì)訂購(gòu)產(chǎn)品這一實(shí)務(wù)做出的一系列數(shù)據(jù)處理的例子,分別從面向?qū)ο蠹軜?gòu)與面相服務(wù)架構(gòu)這兩種不同架構(gòu)理念對(duì)軟件設(shè)計(jì)開發(fā)的不同要求做出的比較(見圖4)。
面向?qū)ο笤O(shè)計(jì)中,公司在生產(chǎn)和銷售產(chǎn)品的時(shí)候,是根據(jù)收到的采購(gòu)訂單進(jìn)行的。采購(gòu)訂單有很多屬性,但它的訂單編號(hào)是唯一的。根據(jù)其訂單編號(hào),編制公司的銷售訂單。根據(jù)其銷售訂單中產(chǎn)品清單編號(hào)主碼,關(guān)系到產(chǎn)品清單。最后根據(jù)其具體產(chǎn)品編號(hào)關(guān)系到產(chǎn)品目錄,一層一層的處理數(shù)據(jù)。以上過程,就是軟件面向?qū)ο蠹軜?gòu)的最基本思路,對(duì)象之間繼承關(guān)系的依賴性很強(qiáng),層層相扣。因此,對(duì)象的分析與設(shè)計(jì)及編程實(shí)現(xiàn),要求很高,也很復(fù)雜。
圖4面向?qū)ο蠹軜?gòu)與面向服務(wù)架構(gòu)
現(xiàn)采用面向服務(wù)架構(gòu)思想對(duì)軟件進(jìn)行開發(fā)。可以把所有相關(guān)的主體分為三個(gè)層次,從基礎(chǔ)的對(duì)象層,到由不同對(duì)象組成的組件層,至最終的服務(wù)層。關(guān)于這項(xiàng)訂購(gòu)實(shí)務(wù),公司要處理的有四個(gè)基本對(duì)象,采購(gòu)方信息處理,采購(gòu)訂單,產(chǎn)品清單,與產(chǎn)品目錄;組件層包括采購(gòu)方信息和單據(jù)兩個(gè)實(shí)體;而它們都包含在訂購(gòu)產(chǎn)品這項(xiàng)服務(wù)中。那么公司在開發(fā)這項(xiàng)訂購(gòu)產(chǎn)品服務(wù)的時(shí)候,可以把它分為若干部分,從對(duì)象這個(gè)最小粒度開始,再組合成不同的組件,到最終完成一項(xiàng)服務(wù)。這樣對(duì)開發(fā)人員技術(shù)的要求會(huì)低一點(diǎn),且不同部門可同時(shí)進(jìn)行軟件開發(fā)。
這里需要說明的是,SOA并不是OOA的完全替代,如開發(fā)人員對(duì)單個(gè)對(duì)象,或組件乃至整個(gè)服務(wù)采用面向?qū)ο蟮募軜?gòu)設(shè)計(jì),但在整體上是面向服務(wù)的,主要原因是接口的設(shè)計(jì)。
2.3 SAP的NetWeaver平臺(tái)和ESA思想
目前,SOA的思想被越來越多的用于ERP產(chǎn)品的開發(fā)上,ERP產(chǎn)品的巨頭SAP也不例外。企業(yè)服務(wù)架構(gòu)ESA就是SAP基于SOA的思想提出的新產(chǎn)品的模式。提到ESA就不得不提到它的另一個(gè)產(chǎn)品NetWeaver,因?yàn)槠髽I(yè)服務(wù)架構(gòu)是建立在這個(gè)技術(shù)平臺(tái)之上的。
NetWeaver是SAP于04年正式推出的一個(gè)產(chǎn)品,它是一個(gè)底層技術(shù)平臺(tái),SAP的很多新產(chǎn)品的應(yīng)用都是跑在這個(gè)平臺(tái)上,相當(dāng)于一個(gè)中間件產(chǎn)品。它主要提供了以下四方面的功能,人員集成,信息集成,流程集成和應(yīng)用平臺(tái)。它是由交換架構(gòu)XI,主數(shù)據(jù)管理MDM,解決管理Solution Manager等組件構(gòu)成。它是目前支持所有SAP應(yīng)用的基礎(chǔ)產(chǎn)品,是企業(yè)應(yīng)用軟件的開發(fā)平臺(tái)、同時(shí)又為企業(yè)搭建一個(gè)基于NetWeaver的面向服務(wù)的IT架構(gòu)。
SAP的企業(yè)服務(wù)架構(gòu)并不是簡(jiǎn)單的技術(shù)層面的SOA,而是面向企業(yè)層面的,它將原有的ERP、SCM、PLM等模塊在NetWeaver這個(gè)技術(shù)平臺(tái)上集成,組合成業(yè)務(wù)流程平臺(tái)(見圖5)。企業(yè)在這一個(gè)平臺(tái)上可以共享很多組件,不同的企業(yè)也可以根據(jù)不同的需求,增加或選用不同的企業(yè)服務(wù)庫(kù),或自主開發(fā)部分功能,實(shí)現(xiàn)企業(yè)的個(gè)性化。
圖5 SAP NetWeaver平臺(tái)業(yè)務(wù)組件
SAP的一位主管曾作過這樣一個(gè)比喻,將軟件的企業(yè)服務(wù)架構(gòu)化比作電路的集成化。集成塊(IC)本身是功能模塊化設(shè)計(jì)的,但它是更復(fù)雜電路的基本組件,設(shè)計(jì)一個(gè)個(gè)的集成塊,把他們組成電子設(shè)備,而不再是從電阻、電容、電感、晶體管等基本元件來組建電路。以后軟件業(yè)業(yè)一樣,要設(shè)計(jì)這些“集成塊”和利用這些“集成塊”,這些“集成塊”就是企業(yè)服務(wù)(Enterprise Service)。 這也是面向服務(wù)架構(gòu)思想在ERP軟件開發(fā)和產(chǎn)品發(fā)展中應(yīng)用的最佳體現(xiàn)。
3 總結(jié)
面向服務(wù)架構(gòu)(SOA)得到了各大軟件公司的重視,如IBM、Oracle、SAP等,說明其理念是先進(jìn)的,相對(duì)于傳統(tǒng)的架構(gòu)模式存在很大優(yōu)勢(shì)。本文也具體闡述了其存在的優(yōu)勢(shì),但大部分也只存在于理論,因每個(gè)公司對(duì)SOA的理解各不相同,基于此理論設(shè)計(jì)開發(fā)出的產(chǎn)品也是各有特點(diǎn),沒有得到一致的公認(rèn)。
本文分析了SAP基于SOA思想提出的ESA這個(gè)思想,其最終產(chǎn)品仍處于開發(fā)階段,只能對(duì)其主導(dǎo)思想略為闡述。現(xiàn)在是SOA亂戰(zhàn)時(shí)代,但可以預(yù)見,隨著SOA思想的發(fā)展和完善,以及在軟件業(yè)的廣泛應(yīng)用,它的優(yōu)勢(shì)會(huì)逐步顯現(xiàn)出來,為傳統(tǒng)的ERP軟件帶來革命性的轉(zhuǎn)變。
美國(guó)Globalpress公司舉辦的2007電子高峰會(huì)議上,舉辦了一場(chǎng)SoC(系統(tǒng)芯片)的專題討論會(huì):設(shè)計(jì)師如何利用嵌入式軟件作為SoC器件設(shè)計(jì)的關(guān)鍵。會(huì)議上的專家各抒己見。
完整方案比單個(gè)硬件重要
主持人:Gartner公司的高級(jí)分析師JohnBarber
軟件在嵌入式產(chǎn)品中的份量越來越重。自2000年來,價(jià)值觀念發(fā)生了巨大的變化,2000年以前,主張是器件,即讓我們的器件與競(jìng)爭(zhēng)對(duì)手的性能、品質(zhì)進(jìn)行對(duì)比具有優(yōu)勢(shì),這就是那時(shí)形成鮮明特色的關(guān)鍵。現(xiàn)今,制造商和客戶需要的是解決方案,而不僅僅是器件。我的價(jià)值主張,我的鮮明特色,必須是完整的解決方案,包括與硬件一塊推出的可以立即投入大批量制造的軟件棧。
硬件與軟件將設(shè)法整合到單個(gè)流程
Mentor Graphics系統(tǒng)級(jí)設(shè)計(jì)總監(jiān)BillChown
我們過去所從事的是硬件設(shè)計(jì),現(xiàn)在則還需要輔以軟件應(yīng)用方面的大量工作。但這兩者的“婚姻”卻并不幸福。在兩者之間,我們需要填補(bǔ)在基礎(chǔ)架構(gòu)方面的鴻溝,如今的硬件小是從頭設(shè)計(jì)的,需要進(jìn)行基礎(chǔ)架構(gòu)的復(fù)用。需要復(fù)用的包括處理單元、內(nèi)存、接口器件……許多基礎(chǔ)設(shè)計(jì)事先已經(jīng)被人們所了解、得到了分析和預(yù)先進(jìn)行了配置。我們需要把它插入到系統(tǒng)中,提供針對(duì)硬件的軟什能力,以及針對(duì)具體應(yīng)用的軟件能力。在用戶對(duì)硬件和應(yīng)用軟件的使用目標(biāo)的這兩個(gè)空間之間,我們必,壩確保能讓他們尋求到與他們的具體需求相應(yīng)的問題所在,但是最大限度減小他們仡存兩個(gè)空間之間的工作量。
EDA代表電子沒計(jì)自動(dòng)化,但我們有時(shí)候會(huì)迷失,而忘卻了“自動(dòng)化”一詞正是我們?cè)谶@個(gè)空間中應(yīng)該完成的工作。我們應(yīng)該回顧在這個(gè)流程中應(yīng)該實(shí)現(xiàn)自動(dòng)化的對(duì)象是什么?那并不僅僅意味著工具的改進(jìn),而且意味著我們能通過標(biāo)準(zhǔn)化來簡(jiǎn)化問題。
總結(jié)一下,我們能讓人們?nèi)プ龅氖虑椋菑囊粋€(gè)任系統(tǒng)空間中的概念設(shè)計(jì),一直到完成整個(gè)流程。慨念設(shè)計(jì)上的革新是關(guān)鍵,我們需要靈活多樣;隨著設(shè)計(jì)的進(jìn)行,我們需要嘗試不同的解決方案。如果我不知道我往做什么,就無法去嘗試替代方案。所以良好的分析將告訴我,我所做的工作將會(huì)把我?guī)蚝畏健_@些不同的任務(wù)中的每一項(xiàng),都對(duì)應(yīng)著每一個(gè)團(tuán)隊(duì)所從事的領(lǐng)域。因此,這是一個(gè)復(fù)雜的世界,但我們將設(shè)法將其整合到一起。在實(shí)現(xiàn)整合的過程中,我們應(yīng)該能加速、改動(dòng),并將來自于不同領(lǐng)域的軟件與硬件、系統(tǒng)與驗(yàn)證集成到單個(gè)流程中。
軟件的關(guān)鍵作用是保證批量
MIPS Technologies公司市場(chǎng)行銷副總裁Jack Browne
在SoC設(shè)計(jì)時(shí),我們所面臨的挑戰(zhàn)是多方面的。首先我們希望能向市場(chǎng)上推出種類多樣的產(chǎn)品。以MIPS公司為例,有3種不同的微架構(gòu)系列,10種不同的處理器內(nèi)核。我們必須具有某種能讓我們能投入制造的業(yè)務(wù)模式,因?yàn)楸竟镜臉I(yè)務(wù)模式是基于IP(知識(shí)產(chǎn)權(quán))使用費(fèi)的,我們的年收入的一半來自于授權(quán)和版權(quán)使用費(fèi)。客戶的產(chǎn)品要達(dá)到制造批量,交貨則需要3-4年;他們拿到所設(shè)計(jì)出的芯片,要2年,然后他們?cè)僮孫EM來設(shè)計(jì)出系統(tǒng),而這又要花上2年。所以,該供應(yīng)鏈有一個(gè)問題:如果我的收入嚴(yán)格取決于制造批量,你應(yīng)該如何來支付這些開發(fā)的費(fèi)用?費(fèi)用的支付要延后4年,財(cái)經(jīng)界是不能容忍戰(zhàn)略性項(xiàng)目上的虧損的,你必須展示出業(yè)務(wù)的良好性。
另外一個(gè)挑戰(zhàn)是,你希望進(jìn)入不同的、類型各異的市場(chǎng)。其中每個(gè)市場(chǎng)的成功的臨界數(shù)量(客戶數(shù)量)是不同的。同時(shí)你還必須支持不同的OS(操作系統(tǒng))。你必須有解決所有這些問題的方案。我們的做法是,承認(rèn)人們有一個(gè)平臺(tái)。軟件,無論是Linux還是其他的實(shí)時(shí)操作系統(tǒng),一直到應(yīng)用層次。我們所追求的關(guān)鍵一點(diǎn),是使用硬件抽象層。從根本上來說,如果我有兩家不同的客戶,他們決定購(gòu)買不同的套裝,或者甚至不同的USB控制器,則通過硬件抽象層,如你的PC中的BIOS,我可以實(shí)現(xiàn)不同的偏好,而不用移植操作系統(tǒng)。
你去考察供應(yīng)鏈上的不同玩家的商業(yè)模式的話,就會(huì)發(fā)現(xiàn),將操作系統(tǒng)移植到另一個(gè)硬件平臺(tái)上的工作并不能提供多少余地。如果你所選擇的應(yīng)用不對(duì)路的化,則很難實(shí)現(xiàn)足夠的產(chǎn)量。如果你考察如今的標(biāo)準(zhǔn)數(shù)字電視的話,就會(huì)發(fā)現(xiàn)其中有些采用了300萬行的軟件。而你將看到2年后的HDTV將采用500萬行的軟件,而且其中有16個(gè)處理器,用于處理不同的任務(wù)。
所以軟件的關(guān)鍵作用就是保證批量。如何找到一個(gè)合理的財(cái)經(jīng)運(yùn)作模式,是EDA、IP公司、半導(dǎo)體公司、軟件公司共同努力解決的挑戰(zhàn)。
多處理器的軟件設(shè)計(jì)法
Tensilica公司市場(chǎng)行銷副總裁SteveRoddy
軟件的重要性到底有多高?有人認(rèn)為市場(chǎng)規(guī)模尚小,有些人認(rèn)為它很重要,另一些人則主張我們處在一個(gè)臨界階段,許多軟件都實(shí)現(xiàn)了移植。
3種現(xiàn)點(diǎn)也許都是正確的,具體取決于其市場(chǎng)。但我想退一步思考一下處理器也許倒也無妨。一個(gè)有趣的問題是,如今和未來的應(yīng)用應(yīng)該需要多少個(gè)處理器?這里借用ITRS(國(guó)際半導(dǎo)體技術(shù)發(fā)展路線圖),來展示在每個(gè)工藝節(jié)點(diǎn)對(duì)應(yīng)著的、每個(gè)SoC上平均使用的處理器的數(shù)量(圖2)。當(dāng)前,ITRS宣稱每個(gè)SoC上平均有32個(gè)可編程器件。我們知道,有些可能數(shù)量會(huì)多些,有些則少些。Tensilica與Cisco合作,推出了基于130nm節(jié)點(diǎn)的、采用192個(gè)處理器的設(shè)計(jì)。所以處理器的數(shù)量會(huì)出現(xiàn)迅速增長(zhǎng)。而軟件正是在此之上運(yùn)行的。
是的,軟件的復(fù)雜程度和架構(gòu)的復(fù)雜程度都正在增加。即便處理器的數(shù)量在增長(zhǎng),它們并不全都一模一樣。這些器件上將出現(xiàn)多樣化的處理器。
關(guān)于嵌入式的設(shè)計(jì),很明顯的一點(diǎn)是,軟件的形式必然迥異于普通的通用型軟件。事實(shí)上,嵌入式世界迥異于與通用型軟件世界。在通用型應(yīng)用的世界中,如Intel和AMD,在處理器上運(yùn)行的軟件在器件開始推出時(shí)尚不為人所知。因此一般采用通用型的計(jì)算,對(duì)于通用型的計(jì)算,人們采用通用的SMP Die Bucket架構(gòu)。在嵌入式世界中,如果你設(shè)計(jì)用于路由器的芯片的話,它就是供路由器專用的。優(yōu)點(diǎn)就在于你知道器件的用途,所以其設(shè)計(jì)會(huì)針對(duì)具體應(yīng)用進(jìn)行優(yōu)化,讓人們能利用專用的處理器,如可重構(gòu)的和可擴(kuò)展的處理器,以節(jié)省面積、成本和功耗。因此兩者的設(shè)計(jì)之道大相徑庭。擁有許多可重編程的處理器,并不意味著你有一個(gè)全新的世界。系統(tǒng)架構(gòu)和硬件架構(gòu)研發(fā)者努力解決這個(gè)問題已經(jīng)有幾十年了。他們將其稱為SoC,現(xiàn)在人們以處理器為單位進(jìn)行設(shè)計(jì),而不是硬件模塊,他們?cè)谙到y(tǒng)中引入了許多軟件的東西。但這并不意味著在設(shè)計(jì)這些東西的方式上會(huì)遇到什么危機(jī)。
設(shè)計(jì)這些系統(tǒng)的風(fēng)格,仍然具有一個(gè)SoC 只有一個(gè)處理器的年代的SoC設(shè)計(jì)、架構(gòu)所具備的那種多樣性。你可以讓處理器間具有一個(gè)看起來非常傳統(tǒng)的聯(lián)系,采用SMP通用型架構(gòu),你可以讓處理器之間根據(jù)具體應(yīng)用來建立互動(dòng)關(guān)系,你可以在處理器間建立硬件風(fēng)格的數(shù)據(jù)流。事實(shí)上,某些處理器甚至根本都不清楚芯片上有其他處理器的存在。這些東西的實(shí)現(xiàn)有多種多樣的途徑,成功的關(guān)鍵是功能劃分,人們可以在功能模塊中放入標(biāo)準(zhǔn)、API,事實(shí)上,在這些系統(tǒng)上運(yùn)行的軟件,可以造成復(fù)雜性極大增長(zhǎng),而我們?cè)趯?shí)現(xiàn)上仍然感受不到危機(jī)的存在,通過功能劃分,經(jīng)過優(yōu)化的處理器、經(jīng)過優(yōu)化的API將通用型的程序與軟件的所有復(fù)雜性隔離開來。
設(shè)計(jì)者完全可以利用直截了當(dāng)?shù)脑O(shè)計(jì)方法來掌握如此復(fù)雜的,設(shè)計(jì)數(shù)百萬行程序的軟件工作。
軟件發(fā)揮至關(guān)重要的作用
Wipro公司半導(dǎo)體/消費(fèi)事業(yè)單位副總裁Siby Abraham
今天,推動(dòng)半導(dǎo)體業(yè)發(fā)展的仍然是摩爾定律。對(duì)我來說,在設(shè)計(jì)中如何放入更多的邏輯、在一定的芯片面積上能放入多少個(gè)晶體管這一問題所帶來的痛苦和挑戰(zhàn)一這是技術(shù)經(jīng)理和工程師們關(guān)心的問題,倒還比不上呈指數(shù)化增長(zhǎng)的IC設(shè)計(jì)成本。源程序的復(fù)雜性的日益增長(zhǎng),而成本的上漲幅度超過了硬件的。
如今,邏輯電路的80%都被復(fù)用。這意味著SoC上只有20%的邏輯是用來體現(xiàn)其不同之處的。這也就是利用軟件來實(shí)現(xiàn)SoC鮮明特色的地方。我們所看到的趨勢(shì)是,根據(jù)我們過去4年所從事的項(xiàng)目,我們?cè)谲浖桶雽?dǎo)體業(yè)摸爬滾打了多年,SoC的未來在于多核架構(gòu)方面的改進(jìn),而這正是軟件發(fā)揮其效用的地方。
如今,我們的軟件還不能有效而自然地利用好多架構(gòu)帶來的優(yōu)勢(shì)。挑戰(zhàn)在于,軟件工程師如何能利用眾多核架構(gòu)帶來的優(yōu)點(diǎn)。我們已經(jīng)看到了在SoC中對(duì)軟件的多方面的應(yīng)用。軟件的挑戰(zhàn),可以認(rèn)為與硬件工程師們所面臨的挑戰(zhàn)是一樣的。
我們今天所看到的更重要的一點(diǎn)是,現(xiàn)在需要那些不僅僅把自己劃入硬件工程師或軟件工程師等類別的工程師們,他們了解更多的專業(yè),從而能利用眾多領(lǐng)域的知識(shí)。我們看到一個(gè)大挑戰(zhàn),有的客戶要求在產(chǎn)品供貨時(shí)就能提供軟件。
我們所看到的技術(shù)上的挑戰(zhàn),價(jià)格、性能、功耗,而如今軟件團(tuán)隊(duì)也將承擔(dān)相應(yīng)的責(zé)任。如果沒有可調(diào)試性,硬件團(tuán)隊(duì)將困難重重。
摘要:在LabVIEW圖形化的編程環(huán)境下,利用MIT-BIH生理信號(hào)數(shù)據(jù)庫(kù)和LabVIEW的各種控件,實(shí)現(xiàn)對(duì)心電信號(hào)的采集讀取、濾波、保存和回放。通過改進(jìn)普通閾值法,利用“雙閾值+校正閾值”的方法實(shí)現(xiàn)自動(dòng)實(shí)時(shí)計(jì)算心率,對(duì)異常心電給予報(bào)警提示。同時(shí),本系統(tǒng)設(shè)置了眾多交互按鈕,使得此心電監(jiān)護(hù)系統(tǒng)功能多樣、人機(jī)界面簡(jiǎn)潔友好、操作方便。
關(guān)鍵詞:心電信號(hào);虛擬儀器;虛擬心電監(jiān)護(hù)儀;LabVIEW
前言
當(dāng)今心臟病已成為威脅人類健康最嚴(yán)重的疾病之一,因此需要一種能夠連續(xù)記錄或者智能記錄并分析心臟活動(dòng)的心電監(jiān)護(hù)系統(tǒng),對(duì)患者進(jìn)行實(shí)時(shí)監(jiān)護(hù)。至今心電監(jiān)護(hù)技術(shù)經(jīng)過40年的臨床實(shí)踐和技術(shù)發(fā)展,其監(jiān)護(hù)內(nèi)容和儀器技術(shù)有了相當(dāng)?shù)陌l(fā)展。目前國(guó)內(nèi)外心電監(jiān)護(hù)的發(fā)展呈現(xiàn)出模塊化設(shè)計(jì)、長(zhǎng)時(shí)數(shù)據(jù)保存、低功耗小型化、網(wǎng)絡(luò)信息化趨勢(shì)。理論和技術(shù)的不斷發(fā)展也為心電監(jiān)護(hù)的進(jìn)一步研究創(chuàng)造了條件。
LabVIEW是一種基于圖形編程語(yǔ)言-G語(yǔ)言的可視化開發(fā)平臺(tái),多被應(yīng)用于儀器控制、數(shù)據(jù)采集、數(shù)據(jù)分析等領(lǐng)域。鑒于實(shí)際心電監(jiān)護(hù)儀難以普及和虛擬儀器的強(qiáng)大優(yōu)勢(shì),我們采用LabVIEW的開發(fā)環(huán)境、設(shè)計(jì)了虛擬心電監(jiān)護(hù)儀系統(tǒng),實(shí)現(xiàn)了對(duì)心電信號(hào)進(jìn)行采集讀取、濾波、保存和回放,自動(dòng)計(jì)算心率并對(duì)異常心電給予報(bào)警。此心電監(jiān)護(hù)儀可以實(shí)現(xiàn)長(zhǎng)時(shí)間的數(shù)據(jù)保存,而且操作界面簡(jiǎn)潔友好,便于掌握。
心電監(jiān)護(hù)系統(tǒng)
此心電監(jiān)護(hù)系統(tǒng)采用模塊化設(shè)計(jì),包括讀取模塊、濾波模塊、保存和回放模塊、心率計(jì)算和異常報(bào)警模塊,各模塊間的關(guān)系如圖1所示。我們采用的數(shù)據(jù)取自心電數(shù)據(jù)庫(kù)、不需濾波,因此略去濾波模塊;其中“雙閾值+校正閾值”的設(shè)計(jì)方法包含在心率計(jì)算與異常報(bào)警模塊中,引入校正閾值的目的是為了“放大”心電的某些波段,針對(duì)性的檢測(cè)某些心臟疾病。
系統(tǒng)子模塊的實(shí)現(xiàn)
讀取模塊
獲取心電信號(hào)有三種主要方式:數(shù)據(jù)采集卡現(xiàn)場(chǎng)采集:軟件仿真心電信號(hào);從數(shù)據(jù)庫(kù)中讀取。鑒于開發(fā)成本和真實(shí)性,我們采用最后一種方法。
我們采用著名的MIT-BIH數(shù)據(jù)庫(kù),其心電數(shù)據(jù)由.atr.dat.hea三種文件描述。我們采用LabVIEW腳本接口控件MATLAB Script Node,利用讀取心電數(shù)據(jù)的MatLab程序rddata.m,讀取心電信號(hào),輸出心電波形。
濾波模塊
心電信號(hào)總是存在各種干擾,如工頻干擾、基線飄移、肌電干擾等,噪聲嚴(yán)重時(shí)可完全淹沒ECG(心電)信
號(hào),因此必須消除噪聲,對(duì)心電信號(hào)進(jìn)行濾波處理。
由于本設(shè)計(jì)采用的心電數(shù)據(jù)基本不需濾波處理,故這里的濾波是為校正閾值而設(shè)計(jì)的特殊處理模塊。我們選用的是平滑濾波器,它能很好地濾除心電信號(hào)中混雜的高頻噪聲信號(hào)。
保存和回放模塊
本模塊是以“寫入測(cè)量文件”和“讀取測(cè)量文件”控件為核心,輔以“數(shù)據(jù)轉(zhuǎn)換”控件,可以實(shí)現(xiàn)心電異常時(shí)自動(dòng)保存以及有選擇地回放,可以在8道(可增刪)心電通道間任意切換,也可以選擇保存的文件類型。
這里,“數(shù)據(jù)轉(zhuǎn)換”控件的運(yùn)用體現(xiàn)了LabVIEw數(shù)據(jù)流編程的思想。即每個(gè)控件都是對(duì)數(shù)據(jù)流進(jìn)行操作,但作用的數(shù)據(jù)類型不同,其間通信必須先轉(zhuǎn)換數(shù)據(jù)類型。
心率計(jì)算和心電異常報(bào)警模塊
此模塊是虛擬心電監(jiān)護(hù)儀的核心,也是用戶最關(guān)心的功能模塊。目前ECG自動(dòng)檢測(cè)技術(shù)的研究主要集中在QRS波,P波和T波檢測(cè),ST段檢測(cè)等方面,QRS波檢測(cè)是ECG檢測(cè)中的首要問題。
QRs波群檢測(cè)方法有閾值法、面積法、幅值法、神經(jīng)網(wǎng)絡(luò)法、模式匹配法等。面積法和幅值法易受到噪聲干擾。后幾種方法較為復(fù)雜,運(yùn)算量大且計(jì)算速度較慢,不適用于實(shí)時(shí)處理系統(tǒng)的要求。本系統(tǒng)采用的是改進(jìn)的閾值法,可以概括為“雙閾值+校正閾值”。心電異常報(bào)警就是根據(jù)雙閾值和校正閾值的檢測(cè)數(shù)據(jù),利用布爾運(yùn)算判斷分析,結(jié)果送前面板顯示。
此方法的設(shè)計(jì)原理和思想與普通閾值法相似,即以檢測(cè)QRs波波峰的個(gè)數(shù)作為計(jì)算心率的依據(jù),不同的是,此法采用雙閾值,利用“波峰峰值檢測(cè)”控件,設(shè)置兩個(gè)不同的波峰檢測(cè)閾值,一個(gè)閾值較大,用于檢測(cè)R波:一個(gè)閾值較小,用于檢測(cè)過強(qiáng)的T波和R波(本系統(tǒng)的檢測(cè)閾值可以在前面板中設(shè)置),得到兩個(gè)檢測(cè)心率,然后利用比較、布爾運(yùn)算,分析心電信號(hào)的異常情況并適時(shí)報(bào)警。針對(duì)心電的某些特征信號(hào)、這里設(shè)計(jì)了校正閾值算法,用于特定心電異常的檢測(cè)(如高頻噪聲干擾,可以選用平滑濾波器,設(shè)置合適閾值,校正檢測(cè)心率)。
此算法優(yōu)點(diǎn)是計(jì)算量小,實(shí)時(shí)性好,便于在線分析;開放性強(qiáng),可以擴(kuò)展檢測(cè)閾值數(shù)量,提高分析的可信度;可以根據(jù)需要設(shè)置校正閾值。此法缺點(diǎn)是手動(dòng)設(shè)定閾值,可以添加自學(xué)習(xí)模塊加以改進(jìn),利用自學(xué)習(xí)算法可實(shí)現(xiàn)。
“雙閾值”法可以解決普通閾值法中存在的幅度大的T波誤檢或低壓的QRS波被漏檢情況,而“校正閾值”能夠解決噪聲干擾造成的心率誤檢等(取決于校正算法)。總之,與普通閾值法相比,該算法極大地提高了系統(tǒng)的抗噪能力,并減低了誤判率。當(dāng)然,可以根據(jù)需要,增加閾值檢測(cè)數(shù)目、以及采用其它校正算法,使其不僅僅局限于校正噪聲干擾造成的心率誤檢。
該心電監(jiān)護(hù)系統(tǒng)的前面板和程序框圖分別見圖2和圖3。
結(jié)語(yǔ)
本文闡述了基于LabVIEW的虛擬心電監(jiān)護(hù)系統(tǒng)的設(shè)計(jì),該系統(tǒng)用戶界面友好、使用方便,充分發(fā)揮了LabVIEW的優(yōu)勢(shì);本心電監(jiān)護(hù)儀實(shí)現(xiàn)了心電信號(hào)讀取、濾波、保存和回放,并且可以自動(dòng)保存異常數(shù)據(jù),實(shí)時(shí)報(bào)警和簡(jiǎn)易的心電分析。
摘要:分析了手機(jī)應(yīng)用運(yùn)行環(huán)境的特點(diǎn),并針對(duì)這些特點(diǎn)提出相應(yīng)的對(duì)策;同時(shí),針對(duì)手機(jī)中應(yīng)用程序顯示區(qū)域小,CPU處理速度和內(nèi)存容量限制,應(yīng)用程序的實(shí)時(shí)性要求和開發(fā)環(huán)境的封閉性等特點(diǎn),提出了一些設(shè)計(jì)策略和解決方案。
關(guān)鍵詞:手機(jī);應(yīng)用軟件;設(shè)計(jì);對(duì)策
0 引言
用戶在使用手機(jī)中無時(shí)無刻不在和手機(jī)上的應(yīng)用程序打交道,手機(jī)應(yīng)用程序設(shè)計(jì)得好壞直接影響用戶對(duì)該款手機(jī)的感受。手機(jī)的應(yīng)用程序的好壞決定了一款手機(jī)的內(nèi)在品質(zhì),從而在很大程序上決定了一款手機(jī)在市場(chǎng)上的命運(yùn)。本文結(jié)合筆者開發(fā)手機(jī)應(yīng)用程序的經(jīng)驗(yàn),探討手機(jī)上應(yīng)用軟件的設(shè)計(jì)和開發(fā)方法。
1 手機(jī)應(yīng)用軟件的特點(diǎn)分析
目前市場(chǎng)上的手機(jī)分兩類:功能手機(jī)(Feature Phone)和智能手機(jī)(Smart Phone)。雖然這兩類手機(jī)還沒有一個(gè)明確的界線,但是手機(jī)上運(yùn)行的應(yīng)用程序都有如下特點(diǎn):
顯示區(qū)域小為了方便攜帶和按鍵,大屏的像素點(diǎn)為128x160、160x24、240x320等。
CPU處理速度和內(nèi)存容量比段小基于成本的考慮,手機(jī)上的處理器(MCU)的頻率較低,一般只有幾十M,智能手機(jī)稍高,一般200―400M。內(nèi)存(RAM和FLASH)一般為8M,16M,智能手機(jī)一般32M,64M。
和移動(dòng)網(wǎng)絡(luò)的交互密切,實(shí)時(shí)性強(qiáng)能與移動(dòng)網(wǎng)絡(luò)隨時(shí)隨地通信,交換語(yǔ)音和數(shù)據(jù)信息。對(duì)于來自移動(dòng)網(wǎng)絡(luò)的來電,短消息,彩信,推消息(Push message)等,應(yīng)用程序必須能及時(shí)提示用戶,并能讓用戶方便地處理這些信息。這一點(diǎn)也是手機(jī)產(chǎn)品和其他的PDA,PMP等產(chǎn)品的最大區(qū)別,同時(shí)對(duì)這些信息的處理也是手機(jī)軟件設(shè)計(jì)和開發(fā)的關(guān)鍵點(diǎn)和難點(diǎn)。
軟件的開發(fā)環(huán)境千差萬別,因而手機(jī)應(yīng)用程序的運(yùn)行環(huán)境相差甚遠(yuǎn)現(xiàn)在市場(chǎng)上的手機(jī)的開發(fā)環(huán)境要么是手機(jī)的芯片開發(fā)商提供,要么是獨(dú)立的軟件公司提供,還沒有一個(gè)統(tǒng)一的開發(fā)標(biāo)準(zhǔn)。各個(gè)平臺(tái)的軟硬件環(huán)境差別很大,在一個(gè)平臺(tái)上的應(yīng)用程序根本不能在另外一個(gè)平臺(tái)上運(yùn)行。手機(jī)應(yīng)用軟件開發(fā)和平臺(tái)緊緊地綁定在一起,軟件的可移植性極差。
2 手機(jī)應(yīng)用軟件設(shè)計(jì)和開發(fā)的對(duì)策
針對(duì)上述手機(jī)應(yīng)用軟件的特點(diǎn),在進(jìn)行手機(jī)應(yīng)用軟件設(shè)計(jì)和開發(fā)的時(shí)候必須有清醒的認(rèn)識(shí),并預(yù)先有相應(yīng)的解決方案,在項(xiàng)目進(jìn)行到中間或者最后才發(fā)現(xiàn)或者考慮這些問題為時(shí)太晚。下面是筆者認(rèn)為在手機(jī)應(yīng)用軟件設(shè)計(jì)和開發(fā)上總體需要把握好的關(guān)鍵點(diǎn)。
2.1怎樣應(yīng)對(duì)應(yīng)用程序顯示區(qū)域小
應(yīng)用程序的界面風(fēng)格應(yīng)一致。好的做法是設(shè)計(jì)一個(gè)共用的應(yīng)用程序的基類(接口),所有的應(yīng)用程序都從這個(gè)基類(接口)繼承;設(shè)計(jì)一組公共的顯示控件,這些控件的顯示風(fēng)格可以通過配置文件進(jìn)行設(shè)置。這樣可以很方便地達(dá)到“換膚”的功能,從而滿足用戶界面上個(gè)性化的需求。
多用圖標(biāo)和簡(jiǎn)潔文字來表達(dá)界面的含義。由于顯示區(qū)域的限制,手機(jī)很難像PC那樣利用多重窗口,基本上是一個(gè)應(yīng)用程序占用整個(gè)窗口。采用統(tǒng)一的圖標(biāo)和簡(jiǎn)潔的文字能達(dá)到界面意義明確,表達(dá)意義形象的目的,這比冗長(zhǎng)的文字更能吸引人的注意,使人記憶深刻,從而給用戶良好的使用體驗(yàn)。如果能結(jié)合富有表現(xiàn)力的動(dòng)畫圖片更好。因此,必須設(shè)計(jì)的圖形控件有:應(yīng)用窗口類,圖片類,動(dòng)畫類,圖片標(biāo)簽類,進(jìn)度條類,單行列表類,多行列表類,單選列表類,多選列表。在手機(jī)應(yīng)用窗口中應(yīng)該充分利用這些類來設(shè)計(jì)有特色的用戶界面。
設(shè)計(jì)一個(gè)通用的合理的輸入法接口。輸入法的設(shè)計(jì)在手機(jī)應(yīng)用程序中有重要的地位。輸入法的設(shè)計(jì)在實(shí)現(xiàn)的時(shí)候要考慮的實(shí)際問題有:
(1)怎么方便地切換各種輸入。例如,可以考慮用#,*鍵來切換各類文字的輸入。另外,標(biāo)點(diǎn)字符和數(shù)字等由于使用的頻率很高,可以考慮增加快捷菜單或者快捷鍵操作的輸入方法。
(2)待選字符的安排是否合理,操作是否方便。例如圖1所示界面是筆者設(shè)計(jì)的中文編輯界面。
說明:如果用戶輸入xyz所在的按鍵。則在區(qū)域1顯示所有的待選拼音/筆畫。在這個(gè)時(shí)候用戶可以按左右方向按鍵來選擇待選拼音/筆畫。用戶按OK鍵,在區(qū)域2,高亮(Highlight)顯示的是第一個(gè)待選漢字。這時(shí)按左右按鍵高亮光標(biāo)在待選漢字間移動(dòng)。如果漢字太多,可以按上下按鍵來在前一頁(yè)和后一頁(yè)漢字之間切換。按OK鍵,高亮選定的漢字將被輸入到編輯界面上。在區(qū)域3,是區(qū)域2高亮漢字的聯(lián)想詞組。用戶可以長(zhǎng)按1-9鍵將顯示的詞組直接輸入到編輯界面(不需要高光選擇)。短按一次取消鍵(C鍵)刪除編輯界面的一個(gè)漢字,快速短按兩次,刪除編輯界面的一行漢字,長(zhǎng)按取消鍵,全部刪除編輯界面的漢字。
上面舉的例子只是中文的輸入,實(shí)際情況是還需要英文字母,英文單詞,標(biāo)點(diǎn)符號(hào)等字符的輸入。所以,輸入法的軟件設(shè)計(jì)的細(xì)節(jié)問題很多,各個(gè)應(yīng)用的需求千差萬別,需要我們?cè)陂_始設(shè)計(jì)軟件時(shí)充分考慮輸入法接口的可擴(kuò)展性和靈活性。
2.2怎樣應(yīng)對(duì)CPU處理速度和內(nèi)存容量的限制
設(shè)計(jì)或者選定一個(gè)合理而高效的系統(tǒng)架構(gòu)。好的應(yīng)用程序需要一個(gè)好的系統(tǒng)框架。針對(duì)手機(jī)的CPU和內(nèi)存的特點(diǎn),手機(jī)的應(yīng)用程序的運(yùn)行環(huán)境和PC上的程序運(yùn)行環(huán)境有很大的不同,用表1總結(jié)如下:
通過上面的對(duì)比,可以看出,手機(jī)的設(shè)計(jì)應(yīng)注意以下幾點(diǎn):
(1)以當(dāng)前手機(jī)的硬件為基準(zhǔn),采取適度超前的原則來定義系統(tǒng)架構(gòu)。整個(gè)架構(gòu)不必大而且全,要小而精,并盡量做到架構(gòu)中的各個(gè)部件具有很好的可裁減性。這樣的系統(tǒng)架構(gòu)才能滿足各種不同的硬件需要。
(2)精心設(shè)計(jì)架構(gòu)中的每一個(gè)部件,消除系統(tǒng)冗余的代碼;合理定義接口,系統(tǒng)的架構(gòu)才能清晰容易被人理解,并且系統(tǒng)的可靠性也高。只有這樣,整個(gè)系統(tǒng)架構(gòu)的代碼占用的內(nèi)存少,應(yīng)用程序在運(yùn)行的時(shí)候占用的內(nèi)存和CPU資源少。
(3)應(yīng)用程序可以在PC上模擬運(yùn)行。一般手機(jī)上調(diào)試應(yīng)用程序的過程比較復(fù)雜,如果一個(gè)很小的改動(dòng)都要到手機(jī)上去調(diào)試很浪費(fèi)時(shí)間,同時(shí),在PC上調(diào)試程序也比在手機(jī)上調(diào)試程序方便得多。一個(gè)好的程序架構(gòu)的基本要求是絕大部分的應(yīng)用都可以在PC機(jī)上模擬開發(fā)完成。
精心設(shè)計(jì)應(yīng)用程序。應(yīng)用程序的執(zhí)行效率和應(yīng)用程序的設(shè)計(jì)密切相關(guān)。對(duì)于手機(jī)上的應(yīng)用程序,不同的設(shè)計(jì)策略有不同的結(jié)果。例如:對(duì)于一個(gè)電話本的應(yīng)用程序,讀取所有電話記錄至少有兩種方法:一種是在一開機(jī)的時(shí)候就讀;另外一種是在電話本應(yīng)用打開的時(shí)候才讀。實(shí)際情況是前一種情況較好,因?yàn)椋@樣用戶每次進(jìn)入電話本的時(shí)候手機(jī)可以很快地顯示所有的電話記錄,后者則慢得多,在有些系統(tǒng)中可能是難以忍受,必須提前準(zhǔn)備好數(shù)據(jù)。
在設(shè)計(jì)應(yīng)用程序中著重考慮的問題有:
(1)程序的處理效率是否高;
(2)程序的內(nèi)存占用和CPU是否太多;
(3)用戶的操作是否方便,應(yīng)用的響應(yīng)速度是否足夠快;
(4)界面的定義是否美觀,和系統(tǒng)的總體風(fēng)格相一致;
2.3怎樣應(yīng)對(duì)應(yīng)用程序的實(shí)時(shí)性要求
手機(jī)最重要的功能是通話和通信。這些一般和無線網(wǎng)絡(luò)都有密切的關(guān)系。對(duì)于來自無線網(wǎng)絡(luò)的來電,短消息,推消息等,必須有一個(gè)應(yīng)用來統(tǒng)一調(diào)度和處理這些消息和信息。筆者稱之為待機(jī)管理應(yīng)用。待機(jī)管理應(yīng)用是底層軟件和其他應(yīng)用程序的調(diào)度員,同時(shí)它也負(fù)責(zé)待機(jī)界面下的界面顯示和其他應(yīng)用不方便處理的一些任務(wù)。如果用圖來表示,那么它在整個(gè)系統(tǒng)中的位置如圖2所示。
待機(jī)管理應(yīng)用的特點(diǎn)是:(1)一開機(jī)就首先運(yùn)行;(2)總是處于運(yùn)行或者待命狀態(tài),不會(huì)退出。
因此,這個(gè)應(yīng)用的穩(wěn)定性要求就特別高。在軟件設(shè)計(jì)的時(shí)候要特別注意功能劃分,如果某項(xiàng)功能能在其它的應(yīng)用中處理,該功能應(yīng)盡量分到別的應(yīng)用中去,以免待機(jī)管理過于復(fù)雜,影響系統(tǒng)的穩(wěn)定性。
待機(jī)管理應(yīng)用的功能一般如下:
(1)處理與充電器和電池有關(guān)的消息。例如:插入充電器,如果是在開機(jī),則在待機(jī)下顯示充電動(dòng)畫;拔掉充電器,關(guān)閉充電動(dòng)畫的顯示等;
(2)處理開機(jī)動(dòng)畫或者問候語(yǔ)的顯示;
(3)如果底層協(xié)議報(bào)告SIM卡設(shè)置了PIN碼,啟動(dòng)SIM卡的PIN碼輸入界面;如果還設(shè)置了手機(jī)密碼,則啟動(dòng)手機(jī)的密碼輸入界面;
(4)顯示待機(jī)下面的各種狀態(tài)圖標(biāo),網(wǎng)絡(luò)注冊(cè)的信息,時(shí)間和日期信息,各種應(yīng)用圖標(biāo)的排列;
(5)顯示屏幕保護(hù)的界面;
(6)處理用戶在待機(jī)狀態(tài)下的各種按鍵操作,例如:如果用戶短按了數(shù)字1所在的按鍵,則要啟動(dòng)號(hào)碼編輯應(yīng)用或者界面,如果用戶在應(yīng)用圖標(biāo)或者菜單中按或者點(diǎn)擊了某一個(gè)應(yīng)用,則要啟動(dòng)該應(yīng)用;
(7)顯示各種系統(tǒng)狀態(tài),例如:未接來電和短消息的提示,電池電量不足的提示,鬧鐘的提示等;
(8)轉(zhuǎn)發(fā)底層的各種消息給相應(yīng)的應(yīng)用程序,為其他的上層應(yīng)用提供統(tǒng)一、簡(jiǎn)潔的接口。這樣做的原因是通過對(duì)底層消息的封裝和轉(zhuǎn)換,能簡(jiǎn)化其他應(yīng)用處理。并且使待機(jī)管理應(yīng)用能及時(shí)了解系統(tǒng)當(dāng)前的狀態(tài),并及時(shí)通知給用戶。
2.4怎樣應(yīng)對(duì)應(yīng)用程序的開發(fā)環(huán)境的封閉性
正如上面提到的,現(xiàn)在市場(chǎng)上主流的手機(jī)開發(fā)平臺(tái)很多,并且還不斷有新的平臺(tái)涌現(xiàn),怎樣開發(fā)能在各種不同的平臺(tái)上有很強(qiáng)移植性的應(yīng)用程序?qū)Τ绦蛟O(shè)計(jì)和開發(fā)人員是一個(gè)艱巨的任務(wù)。筆者結(jié)合自己的經(jīng)歷認(rèn)為可行的思路如下:
(1)應(yīng)用的用戶界面和實(shí)際的處理邏輯盡量分開,將一些可以共用的處理邏輯提煉成共用的函數(shù)接口。例如:日程應(yīng)用的陰陽(yáng)歷轉(zhuǎn)換算法,電話本中的首字母查找算法等都可以放在一個(gè)單獨(dú)文件或者庫(kù)文件中,這樣的代碼可以很方便地移植到其他的平臺(tái)上。
(2)編寫代碼的時(shí)候,數(shù)據(jù)結(jié)構(gòu)的定義和函數(shù)的處理要考慮不同硬件平臺(tái)的差別。一個(gè)好的做法是定義一個(gè)平臺(tái)上通用的數(shù)據(jù)類型定義,而不是直接使用設(shè)計(jì)語(yǔ)言里面原始定義的數(shù)據(jù)類型。例如:如果是在C/C++的開發(fā)平臺(tái)上,我們可以定義一個(gè)文件types.h,它里面包含如下通用類型的定義:
typedef char BOOLEAN;
typedef unsigned char BYTE;
typedef char CHAR;
typedef unsigned short WCHAR;
typedef char INT8;
typedef unsigned char UINT8;
typedef shOrt INTl6;
typedef unsigned short UINT16;
typedef long INT32;
typedef unsigned long UINT32;
typedef long LONG;
typedef unsigned long ULONG;
在程序中,所有數(shù)據(jù)結(jié)構(gòu)的數(shù)據(jù)項(xiàng),函數(shù)的參數(shù)和返回值,類的成員數(shù)據(jù)都用上面的這些通用類型,這樣編寫的軟件的可移植性就可以大大提高。
如果可能,多采用成熟的第三方軟件或者知名的開源代碼庫(kù)。
手機(jī)的應(yīng)用經(jīng)常碰到部分模塊是自己開發(fā)還是采用第三方軟件的問題。為了軟件的可移植性,加快軟件的開發(fā)速度,這些模塊應(yīng)該多采用專業(yè)公司開發(fā)的成熟軟件或者采用穩(wěn)定的開源軟件。這比自己重新開發(fā)好、快捷方便得多,開發(fā)成本也比較少。例如:現(xiàn)在很多手機(jī)都支持MP4播放,這樣就涉及音視頻編解碼的問題,如果可能,選擇一個(gè)經(jīng)過市場(chǎng)驗(yàn)證,可移植性強(qiáng)的第三方或者開源的音視頻編解碼庫(kù)比自己進(jìn)行開發(fā)要合算得多,這樣的應(yīng)用程序的可移植性比自己在特定平臺(tái)上全部由自己開發(fā)的應(yīng)用程序要好。
3 結(jié)束語(yǔ)
手機(jī)上的應(yīng)用程序開發(fā)環(huán)境現(xiàn)在還是一個(gè)比較封閉,與應(yīng)用程序耦合比較緊密的系統(tǒng);應(yīng)用程序的設(shè)計(jì)和開發(fā)相對(duì)復(fù)雜,對(duì)應(yīng)用的穩(wěn)定性,安全性,實(shí)時(shí)性要求也比較高。無論是對(duì)手機(jī)系統(tǒng)平臺(tái)的設(shè)計(jì)人員還是開發(fā)人員,只有在了解其特點(diǎn)的基礎(chǔ)上才能提出有針對(duì)性的方案。本文指出了這些特點(diǎn)并闡述了筆者的觀點(diǎn),希望能起到拋磚引玉的作用。
摘 要:為解決大容量遙測(cè)數(shù)據(jù)文件的快速分割,軟件針對(duì)遙測(cè)文件以幀為基本單位且每幀頭都含有時(shí)碼的特點(diǎn),設(shè)計(jì)按特征參數(shù)截取、按時(shí)間截取以及按幀序數(shù)截取等三種方法以滿足不同的截取要求。遙測(cè)參數(shù)的解算調(diào)用已成熟的動(dòng)態(tài)鏈接庫(kù),對(duì)于一些耗時(shí)的運(yùn)算使用了二分搜索等優(yōu)化算法。該軟件操作方便、截取效率高,在型號(hào)應(yīng)用中發(fā)揮了重要作用。
關(guān)鍵詞:遙測(cè); 文件截取; 軟件設(shè)計(jì); 二進(jìn)制; 數(shù)據(jù)圖形顯示
0 引 言
隨著科技的進(jìn)步,空空導(dǎo)彈的研制越來越復(fù)雜。相應(yīng)地就有越來越多的數(shù)據(jù)信息需要遙測(cè)傳輸,這必然導(dǎo)致遙測(cè)接收的數(shù)據(jù)文件較大。以3 Mb/s碼率計(jì),10 min的遙測(cè)數(shù)據(jù)就有214 MB之多。數(shù)據(jù)處理軟件往往需要經(jīng)過異步幀提取,有效位屏蔽,甚至經(jīng)過費(fèi)時(shí)的字符串處理[1]才能得到最終結(jié)果。所以當(dāng)用戶處理這種大文件時(shí)往往需要等待很長(zhǎng)的時(shí)間。如果能夠把這樣大的文件分割成較小的幾個(gè)文件然后分別處理,那么處理軟件的運(yùn)行時(shí)間就可以縮短到用戶可以忍受的程度。
另一方面,空空導(dǎo)彈的發(fā)射試驗(yàn)往往比較短暫,從導(dǎo)彈離開載機(jī)直到導(dǎo)彈爆炸只有不到1 min的時(shí)間。數(shù)據(jù)分析人員最關(guān)心的也正是這段時(shí)間的數(shù)據(jù)。而實(shí)際遙測(cè)中,為了確保數(shù)據(jù)的可靠接收,會(huì)從發(fā)射前5 min開始記錄直到遙測(cè)信號(hào)完全消失才停止記錄。
這種情況下,如果能夠根據(jù)導(dǎo)彈發(fā)射的特征信號(hào)(比如導(dǎo)彈與發(fā)射架分離的信號(hào))來截取遙測(cè)數(shù)據(jù)文件也具有重要的實(shí)際意義。
本文通過對(duì)實(shí)際需求的分析,提出了按遙測(cè)幀數(shù)、時(shí)間和特征參數(shù)三種文件截取方法,并在VC 6.0平臺(tái)上予以實(shí)現(xiàn)。
1 軟件設(shè)計(jì)
1.1 功能設(shè)計(jì)
在空空導(dǎo)彈遙測(cè)中,待傳輸?shù)男盘?hào)都是先通過多路復(fù)用組裝成一個(gè)N字節(jié)長(zhǎng)的遙測(cè)幀然后調(diào)制傳輸。在接收端解調(diào)后先通過幀同步獲得該N字節(jié)長(zhǎng)的遙測(cè)幀,然后在幀頭加入8 B的時(shí)碼(又稱為B碼)來表示接收到該幀的時(shí)刻,如圖1所示。這樣存盤后的文件字節(jié)數(shù)是N+8的整數(shù)倍[2]。
圖1 遙測(cè)幀發(fā)送接收過程
因?yàn)檫b測(cè)數(shù)據(jù)按幀存放,所以有意義的最小分割單位是幀而不是字節(jié),對(duì)文件的截取最后都要?dú)w結(jié)到按幀來截取。因此,軟件的第一個(gè)功能同時(shí)也是最基本的功能就是按幀的起止序號(hào)進(jìn)行分割。
由于文件中每一幀數(shù)據(jù)的幀頭都有B碼,所以將該B碼換算成實(shí)際時(shí)間之后也可以根據(jù)時(shí)間進(jìn)行截取。
數(shù)據(jù)分析人員一般要求提取導(dǎo)彈發(fā)射后到爆炸這一時(shí)間段的數(shù)據(jù),所以利用導(dǎo)彈發(fā)射電氣分離信號(hào)(ES)的跳變,截取跳變時(shí)刻前5 s直到跳變時(shí)刻后50 s的數(shù)據(jù)能夠確保覆蓋所需數(shù)據(jù),同時(shí)盡量減小數(shù)據(jù)文件的大小。
典型的電氣分離信號(hào)圖形如圖2所示。
圖2 典型電氣分離信號(hào)圖形
(a) ES沒有跳變 (b) ES有跳變(c) ES有跳變,信號(hào)有野點(diǎn)
(a)圖導(dǎo)彈未發(fā)射,(b)圖導(dǎo)彈發(fā)射,(c)圖導(dǎo)彈正常發(fā)射但信號(hào)有野點(diǎn)
通過對(duì)圖2的分析可以得出以下結(jié)論:ES跳變點(diǎn)需要通過計(jì)算的來判決,比如當(dāng)前數(shù)據(jù)點(diǎn)與下一數(shù)據(jù)點(diǎn)之差超過信號(hào)范圍的2/3,那么就認(rèn)為當(dāng)前點(diǎn)為跳變點(diǎn)。但是對(duì)于圖2(c)中有野點(diǎn)的情況這種判決方法就有可能導(dǎo)致誤判。所以最好的辦法是讓用戶參與跳變點(diǎn)的判決。軟件自動(dòng)找到第一個(gè)跳變點(diǎn),用戶可以通過快捷鍵[3]找到下一個(gè)跳變點(diǎn),直到正確的跳變點(diǎn)為止。
這種設(shè)計(jì)方法杜絕了跳變點(diǎn)的誤判,同時(shí)又能直觀快捷地輔助用戶找到跳變點(diǎn),另外還簡(jiǎn)化了軟件的設(shè)計(jì)。
1.2 模塊設(shè)計(jì)
分割一個(gè)文件的流程[4],如圖3所示。
分析圖3可以得出軟件必須的幾個(gè)模塊:
(1) 打開待分割文件并自動(dòng)生成分割后文件;
(2) 分割方式選擇;
(3) 特征參數(shù)數(shù)據(jù)繪制;
(4) 起止幀序數(shù)選擇;
(5) 起止時(shí)間選擇;
(6) 是否需要剔除無效幀。
最終確定的軟件界面[5-6]如圖4所示。
圖3 文件分割流程圖
圖4 軟件界面
2 軟件實(shí)現(xiàn)
2.1 按特征參數(shù)分割
按特征參數(shù)分割涉及到遙測(cè)參數(shù)解算。程序運(yùn)行時(shí)首先加載動(dòng)態(tài)鏈接庫(kù)dbreader.dll,postpro.dll和eu.dll。在OnInitDialog中調(diào)用函數(shù)GetTMFrameFormatInfo來獲取遙測(cè)幀格式,包括遙測(cè)幀的長(zhǎng)度,碼率,同步碼位置等信息。然后調(diào)用函數(shù)GetTMParaAllRecord來獲取所有參數(shù)在遙測(cè)幀中的位置信息,解算方法等。
當(dāng)用戶從程序界面的參數(shù)下拉列表框中選擇一個(gè)參數(shù)時(shí),觸發(fā)CBN_SELCHANGE事件并調(diào)用消息函數(shù)[7]。在消息函數(shù)中根據(jù)參數(shù)是幀同步數(shù)據(jù)還是幀異步數(shù)據(jù)分別調(diào)用GetASyncParaValue函數(shù)或EUConvert函數(shù)解算出數(shù)據(jù),同時(shí)從數(shù)據(jù)中找出跳變點(diǎn),然后在圖形控件上繪出曲線。
2.2 按B碼時(shí)間分割
要想根據(jù)時(shí)間信息來查找對(duì)應(yīng)的遙測(cè)幀就需要將該時(shí)間和文件中各遙測(cè)幀頭的B碼代表的時(shí)間進(jìn)行比較。如果采用遍歷查找的方法,對(duì)于總幀數(shù)為N的文件,理論上需要比較(N+1)/2次,要找到起、止兩個(gè)時(shí)間對(duì)應(yīng)的幀就要比較N+1次。這對(duì)于較大的文件來說消耗的時(shí)間會(huì)很長(zhǎng)。
在遙測(cè)文件中,每幀數(shù)據(jù)都是按接收到的先后順序從前往后依次存放。也就是說,搜索的目的序列是有序的。對(duì)于這種情況,可以采用折半查找法[8]進(jìn)行搜索。理論證明,采用折半查找最多需要的比較次數(shù)為Иlog2(n+1),搜索起、止兩個(gè)時(shí)間共需比較2*log2(n+1)次。
2.3 按幀序數(shù)分割
三種分割方式最后都?xì)w結(jié)到按幀分割。按幀分割惟一復(fù)雜的地方就是剔除無效幀。要剔除無效幀需要將每一幀數(shù)據(jù)的同步碼取出來和標(biāo)準(zhǔn)的同步碼進(jìn)行比較。如果差異位數(shù)超過容許值就丟棄該幀,否則保留。很多程序都采用依次右移一位,看二者最低位是否相同,如果不同則計(jì)數(shù)加1,循環(huán)直到兩個(gè)數(shù)都為零的方法。
這種方法效率非常低。本文采用了如圖5所示的計(jì)算方法[9]。
圖5 計(jì)算同步碼錯(cuò)誤位數(shù)
這種算法的關(guān)鍵在兩處:首先對(duì)兩個(gè)被比較數(shù)a和b按位異或,結(jié)果c的二進(jìn)制數(shù)中為1的位置就是a和b不一致的位置。然后c不停地與c-1按位與[3]并將結(jié)果賦給c,直到c為0。通過歸納法可以證明c與c-1按位與可以消掉c的從低位往高位數(shù)的第一個(gè)1,所以c的二進(jìn)制值有幾個(gè)1就循環(huán)幾次。
3 結(jié) 語(yǔ)
本遙測(cè)軟件采用模塊化設(shè)計(jì),便于實(shí)現(xiàn)和測(cè)試。同時(shí)結(jié)合遙測(cè)文件的結(jié)構(gòu),實(shí)現(xiàn)了按幀序數(shù)、按時(shí)間和按特征參數(shù)三種分割方法,較好地滿足了型號(hào)遙測(cè)數(shù)據(jù)處理的需求。從軟件的設(shè)計(jì)可以看出,對(duì)于較復(fù)雜的軟件采用自頂向下,逐漸細(xì)化的分析方法,分模塊設(shè)計(jì)[10];對(duì)于影響程序性能的處理過程有針對(duì)性地進(jìn)行優(yōu)化,可以有效地提高程序的可靠性和性能并簡(jiǎn)化設(shè)計(jì)過程。
(中國(guó)海洋大學(xué) 信息科學(xué)與工程學(xué)院, 山東 青島266100)
摘要:介紹了用于對(duì)20 kg級(jí)便攜式AUV的運(yùn)行狀態(tài)進(jìn)行控制的軟件設(shè)計(jì)以及實(shí)現(xiàn)。該軟件是基于MFC對(duì)話框運(yùn)行于Windows操作系統(tǒng)下的程序,使用了多線程編程技術(shù)和串口通信技術(shù)。串口操作線程用于向串口讀取或?qū)懭霐?shù)據(jù),并且在處理后把最終結(jié)果發(fā)送給主線程和導(dǎo)航線程。在主線程中將數(shù)據(jù)顯示到界面上,在導(dǎo)航線程根據(jù)導(dǎo)航算法計(jì)算出用于導(dǎo)航的數(shù)據(jù)并寫入串口以控制AUV的運(yùn)行狀態(tài),包括AUV上浮、下潛、前進(jìn)、后退、左轉(zhuǎn)彎、右轉(zhuǎn)彎。實(shí)驗(yàn)結(jié)果表明,該軟件達(dá)到了預(yù)定效果。
關(guān)鍵詞:便攜式AUV; 多線程; 串口通信; MFC
自主式水下機(jī)器人(Autonomous Underwater Vehicle,AUV)代表著未來水下機(jī)器人的發(fā)展方向,因而是世界各國(guó)研究的熱點(diǎn)[1]。而便攜式AUV由于使用方便,可執(zhí)行環(huán)境評(píng)估、水文地理、輔助水道測(cè)量、港口安全、巖屑區(qū)域繪圖等工作以及可以用在未來戰(zhàn)爭(zhēng)中[2],將是未來AUV發(fā)展的重點(diǎn)。
本文主要論述了便攜式AUV控制軟件的設(shè)計(jì)及其實(shí)現(xiàn),該軟件主要用于監(jiān)視AUV在水下運(yùn)行時(shí)的狀態(tài)信息以及控制AUV的運(yùn)行。AUV在水下運(yùn)行時(shí)的狀態(tài)信息包括位置信息、航向、艙內(nèi)溫濕度、推進(jìn)器轉(zhuǎn)速、舵的方向角以及在水面時(shí)GPS傳感器數(shù)據(jù)等信息,該軟件將這些信息顯示到界面上最終實(shí)現(xiàn)對(duì)AUV的監(jiān)控和導(dǎo)航。
1便攜式AUV系統(tǒng)簡(jiǎn)介
該小型AUV由兩個(gè)密封艙組成,前艙安置了傳感器系統(tǒng),后艙安置了AUV推進(jìn)器以及方向舵的控制系統(tǒng)。兩個(gè)密封艙中間放置的一個(gè)垂直推進(jìn)器用來控制AUV的上下運(yùn)動(dòng),后艙安放了用于控制AUV水平方向的水平推進(jìn)器和方向舵。系統(tǒng)搭載了AHRS、數(shù)字羅盤、GPS等傳感器,這些傳感器采集到的數(shù)據(jù)用于AUV的導(dǎo)航。AHRS傳感器用來測(cè)量AUV的航向角、俯仰角、橫滾角、3個(gè)方向的速度、加速度;數(shù)字羅盤測(cè)量AUV的航向角等信息控制軟件對(duì)一串口進(jìn)行操作,該串口連接與AUV進(jìn)行通信的無線模塊。將從無線模塊接收到的數(shù)據(jù)經(jīng)過慣性導(dǎo)航算法處理,根據(jù)協(xié)議將慣性導(dǎo)航算法處理結(jié)果發(fā)送到AUV,最終實(shí)現(xiàn)對(duì)AUV的控制。
2串口通信
串口在做文件處理時(shí),簡(jiǎn)單的應(yīng)用可以采用查詢方式或定時(shí)方式,復(fù)雜的可以采用事件驅(qū)動(dòng)的方式。所謂事件驅(qū)動(dòng),即當(dāng)串口有數(shù)據(jù)進(jìn)入輸入緩沖區(qū)時(shí),自動(dòng)執(zhí)行接收程序。利用WinAPI讀/寫串口操作可以有同步方式與異步方式。所謂同步方式是指發(fā)出寫命令時(shí),直到有數(shù)據(jù)寫入到輸出緩沖區(qū)寫函數(shù)才返回。異步方式的重疊方式是指發(fā)出寫操作命令后,不管寫操作是否完成,寫函數(shù)馬上返回,寫操作在后臺(tái)繼續(xù)進(jìn)行,寫操作完成后通過某種方式通知調(diào)用寫操作的線程。這樣避免了主線程被掛起,提高了程序的工作效率[34]。
2.1串口通信設(shè)置
在實(shí)現(xiàn)串口通信時(shí),首先在界面上設(shè)置串口號(hào)、波特率、校驗(yàn)等信息。單擊按鈕打開串口,進(jìn)入命令響應(yīng)函數(shù)OnBtnOpen(),利用API函數(shù)打開并對(duì)串口進(jìn)行配置[56]。最后使用API函數(shù)CreateThread創(chuàng)建一個(gè)線程。由于軟件工作過程中需要傳送的數(shù)據(jù)量不大,所以僅僅打開一個(gè)串口。
主線程打開串口具體流程圖如圖1所示。
圖1打開串口、創(chuàng)建線程流程圖在主線程中打開串口的代碼如下:
m_hCom=CreateFile(m_port,GENERIC_READ|GENERIC_WRITE,0,NULL,OPEN_EXISTING,FILE_FLAG_OVERLAPPED,NULL)
在串口操作線程中使用API函數(shù)ReadFile用于讀取串口數(shù)據(jù)ReadFile(hCom,buf,19,&Length,&Eol);而在該線程中向AUV發(fā)送控制指令時(shí)使用:
fState=WriteFile(m_hCom,buf,19,&m_bytes,&m_osWrite)
2.2串口通信協(xié)議
串口通信必須遵守一定的通信協(xié)議,才可實(shí)現(xiàn)該控制軟件與AUV的正常通信。串口通信數(shù)據(jù)格式如圖2所示,圖中Data0,Data1,Data2…代表一個(gè)字(2 B)。
圖2串口通信數(shù)據(jù)格式發(fā)送或接收的一幀數(shù)據(jù)最長(zhǎng)為19 B,Data0中第1個(gè)字節(jié)代表指令(0xA1)、請(qǐng)求(0xB2)或者正常應(yīng)答(0xC3)等含義;Data0中第2個(gè)字節(jié)代表具體指令、請(qǐng)求何種信息或者某種信息的應(yīng)答。Data1,Data2,…代表發(fā)送或者接收到的數(shù)據(jù)。開關(guān)機(jī)指令長(zhǎng)度為19 B,第19字節(jié)控制8個(gè)繼電器,1,0分別表示開、關(guān)第零位控制總電源。開機(jī)、關(guān)機(jī)指令前18 B分別是:
~A16613579BDF02468ACE13579BDF02468A
~A166DF9B5713CE8A4602DF9B5713CE8A46
開機(jī)指令的第19個(gè)字節(jié)根據(jù)需要選擇相應(yīng)的繼電器開啟或關(guān)閉;關(guān)閉指令第19個(gè)字節(jié)為0x00,所有的繼電器關(guān)閉。
3軟件實(shí)現(xiàn)
3.1多線程實(shí)現(xiàn)
一個(gè)進(jìn)程可有多個(gè)線程,使用多線程可提高軟件的執(zhí)行效率。該控制軟件共有3個(gè)線程組成,包括一個(gè)主線程、一個(gè)導(dǎo)航線程和在成功打開串口后利用API函數(shù)CreateThread[78]創(chuàng)建的一個(gè)串口操作線程(如圖3所示)。
圖3多線程組織結(jié)構(gòu)串口操作線程讀取串口數(shù)據(jù),并提取有效數(shù)據(jù),接著利用函數(shù)PostMessage將有效數(shù)據(jù)分別傳送到主線程和導(dǎo)航線程。主線程將有效數(shù)據(jù)根據(jù)協(xié)議進(jìn)行解包并把數(shù)據(jù)包中包含的AHRS、數(shù)字羅盤、GPS等傳感器和推進(jìn)器、前艙環(huán)境參數(shù)等數(shù)據(jù)顯示到界面上。當(dāng)使用搖桿控制AUV的運(yùn)行時(shí)主線程每隔0.5 s從USB接口接收數(shù)據(jù),并轉(zhuǎn)換成推進(jìn)器轉(zhuǎn)速以及方向舵的方向角信息,且將這些信息發(fā)送到串口操作線程寫入串口。
在主線程中創(chuàng)建串口操作線程的代碼如下:
hThread=CreateThread(NULL,0,ThreadProc,
(LPVOID)this,0,NULL);
在串口操作線程中將有效數(shù)據(jù)發(fā)送到主線程的代碼如下:
PostMessage(*pDlg,WM_MYMSG1,
(WPARAM)buf,(LPARAM)Length);
3.2關(guān)鍵算法
由于慣性導(dǎo)航系統(tǒng)提供的位置估計(jì)精度會(huì)隨時(shí)間而漂移,所以導(dǎo)航線程采用基于GPS/INS的組合導(dǎo)航[9]算法,用GPS輔助導(dǎo)航,即用GPS信息輔助修正慣導(dǎo)系統(tǒng)的輸出,包括航向角和速度。對(duì)AUV的航向角信息修正是通過經(jīng)典的PID控制算法來實(shí)現(xiàn)的,如圖4所示。
圖4AUV PID航向角閉環(huán)控制算法設(shè)Ji-1,Ji為AUV的2個(gè)節(jié)點(diǎn),AUV即A點(diǎn)從Ji-1到Ji 點(diǎn)運(yùn)行。設(shè)正北方向矢量為k=(1,0),根據(jù)圖5按照下式可計(jì)算出角度θ。角度θ計(jì)算公式為:
θ=AJie北|AJi|?|e北|
=(Jix-Ax,Jiy-Ay)?(0,1)(Jix-Ax)2+(Jiy-Ay)2?02+12
=Jiy-Ay(Jix-Ax)2+(Jiy-Ay)2
在AUV進(jìn)行Ji-1~Ji段的航行時(shí),AUV根據(jù)導(dǎo)航算法不斷算出坐標(biāo)并判斷是否到達(dá)指定區(qū)域,當(dāng)離指定區(qū)域?yàn)镽時(shí)(R很小),即可判定到達(dá)指定區(qū)域。在到達(dá)指定區(qū)域之前不斷利用AUV PID航向角閉環(huán)控制算法修正航向角θ,最終實(shí)現(xiàn)AUV的GPS/INS組合導(dǎo)航。
圖5航向角計(jì)算圖解4控制軟件界面及實(shí)驗(yàn)結(jié)果
4.1軟件界面
本文設(shè)計(jì)的軟件界面左側(cè)上半部分和右側(cè)主要實(shí)現(xiàn)對(duì)AUV的控制,界面左側(cè)中下部分的3個(gè)儀表盤和TAB頁(yè)控件顯示AUV的各個(gè)狀態(tài)信息。
單擊開機(jī)、關(guān)機(jī)按鈕將實(shí)現(xiàn)AUV的開啟與關(guān)閉;單擊詢問AUV按鈕,此時(shí)應(yīng)答情況為AUV存在,表示監(jiān)控軟件與AUV的通信正常,否則應(yīng)該檢查無線模塊和AUV。單擊前艙參數(shù)、GPS經(jīng)緯度、GPS時(shí)間、推進(jìn)器狀態(tài)、AUV航向角等按鈕將持續(xù)獲得AUV相應(yīng)的信息;步進(jìn)電機(jī)控制按鈕用于實(shí)現(xiàn)方向舵的調(diào)整,進(jìn)而實(shí)現(xiàn)AUV方向的調(diào)整。為了防止步進(jìn)電機(jī)失步,這里還特意設(shè)計(jì)了步進(jìn)電機(jī)的微調(diào)按鈕,目的是在步進(jìn)電機(jī)失步時(shí)將方向舵調(diào)整回原位置。
該控制軟件還以儀表盤的方式顯示推進(jìn)轉(zhuǎn)速、羅盤、溫、濕度等信息。
以速度儀表盤為例,當(dāng)從串口接收到的數(shù)據(jù)中提取出水平推進(jìn)器或垂直推進(jìn)器速度信息時(shí),將速度信息存放到成員變量m_Spd1或者m_Spd2。利用API函數(shù)得到控件IDC_STATIC_SPD的區(qū)域坐標(biāo)rect2,調(diào)用API函數(shù)InvalidateRect(&rect2)重繪,將進(jìn)入函數(shù)CDspsockDlg::OnPaint()重繪。利用MFC中的函數(shù)Pie,Ellipse,SetBkColor,TextOut[10]畫出儀表盤背景。最后通過下列兩個(gè)公式將速度值轉(zhuǎn)換成對(duì)話框上的坐標(biāo)值,調(diào)用函數(shù)畫一條連接該區(qū)域中心位置到該點(diǎn)(a1,b1)的直線[11],最終實(shí)現(xiàn)儀表指針隨速度值的變化。坐標(biāo)(a1,b1)計(jì)算公式如下:b1=60sin((m_Spd1×3/25+150)π/180)
a1=60cos((m_Spd1×3/25+150)π/180)4.2實(shí)驗(yàn)結(jié)果
軟件運(yùn)行期間界面顯示如下。圖6顯示了溫、濕度分別是32°,51.5°;單擊復(fù)位按鈕、溫濕度指針將分別指向-30°,20°位置處;圖6還顯示了2個(gè)推進(jìn)器的速度信息,其中水平推進(jìn)器速度為1 180 r/min,垂直推進(jìn)器速度為0,此時(shí)AUV在水平方向運(yùn)動(dòng)垂直方向靜止。
摘要:本文深入分析了計(jì)算機(jī)實(shí)踐性教學(xué)的內(nèi)涵,探討了軟件設(shè)計(jì)類課程實(shí)踐環(huán)節(jié)的組織模式,研究了這一方案的可行性。
關(guān)鍵詞:實(shí)踐性教學(xué);軟件設(shè)計(jì);課程改革;計(jì)算機(jī)專業(yè);項(xiàng)目實(shí)訓(xùn)
0引言
從1956年哈爾濱工業(yè)大學(xué)率先開辦“計(jì)算裝置與儀器”專業(yè)算起,到現(xiàn)在普遍采用的“計(jì)算機(jī)科學(xué)與技術(shù)”專業(yè),計(jì)算機(jī)專業(yè)教育在中國(guó)的大學(xué)里已經(jīng)走過了50年的歷程。70%以上的本科學(xué)校開設(shè)了計(jì)算機(jī)專業(yè),在校學(xué)生近30萬[1],其規(guī)模居所有本科專業(yè)的首位。加上專科、高職、中職在內(nèi),其數(shù)量還要大得多。計(jì)算機(jī)專業(yè)人才在信息化建設(shè)過程起著舉足輕重的作用。然而,企業(yè)面對(duì)十里挑一的大好形勢(shì),卻經(jīng)常會(huì)找不到合適的人才,造成這種局面的主要原因是學(xué)校培養(yǎng)與單位需要存在一定的脫節(jié)現(xiàn)象,主要表現(xiàn)為重理論輕實(shí)踐,動(dòng)手能力差,因而改革實(shí)踐環(huán)節(jié)提高學(xué)生的操作技能成為高校計(jì)算機(jī)類專業(yè)的必經(jīng)之路。
1軟件設(shè)計(jì)類課程實(shí)踐性教學(xué)的內(nèi)涵
實(shí)踐性教學(xué)是指為配合理論教學(xué),培養(yǎng)學(xué)生分析問題和解決問題的能力,加強(qiáng)專業(yè)訓(xùn)練和鍛煉學(xué)生實(shí)踐能力而設(shè)置的教學(xué)環(huán)節(jié),通常有兩種落實(shí)途徑:一是隨堂實(shí)踐,即課程作業(yè)、實(shí)驗(yàn)、上機(jī)操作等;二是集中實(shí)踐,即社會(huì)調(diào)查、各類實(shí)習(xí)及見習(xí)、課程設(shè)計(jì)以及畢業(yè)論文或畢業(yè)設(shè)計(jì)。教學(xué)計(jì)劃中規(guī)定的作業(yè)、實(shí)驗(yàn)、實(shí)習(xí)等環(huán)節(jié)和集中實(shí)踐環(huán)節(jié)是學(xué)生必修的內(nèi)容,在課程和專業(yè)學(xué)習(xí)中具有突出的地位。不同專業(yè)的實(shí)踐性教學(xué)方式,教學(xué)管理和考核辦法也不相同,但都是以專業(yè)培養(yǎng)目標(biāo)作為前提。對(duì)于計(jì)算機(jī)(包括軟件工程)專業(yè)的軟件設(shè)計(jì)類課程,其教學(xué)目的就是培養(yǎng)合格的軟件工程師,適應(yīng)軟件設(shè)計(jì)和項(xiàng)目管理崗位的需要。
1.1軟件工程師崗位需求
任何一個(gè)軟件企業(yè),開發(fā)團(tuán)隊(duì)都需要這樣三類人才:一是既懂技術(shù)又懂管理的軟件人才即系統(tǒng)分析師(高級(jí)),二是軟件工程師(中級(jí)),三是程序員(初級(jí)),這三類人員在軟件企業(yè)的正常比例應(yīng)該是呈金字塔結(jié)構(gòu),根據(jù)國(guó)際經(jīng)驗(yàn),高、中、初級(jí)軟件專業(yè)人才的比例應(yīng)基本維持在1:4:8。通常系統(tǒng)分析師由研究生承擔(dān),軟件工程師由本科生承擔(dān),程序員則由大專生以及專門培訓(xùn)機(jī)構(gòu)的學(xué)員完成。如圖1所示。
從圖1可以看出,計(jì)算機(jī)專業(yè)的本科生對(duì)應(yīng)軟件工程師崗位,在軟件開發(fā)團(tuán)隊(duì)中處于中間層,優(yōu)秀者可以上升到系統(tǒng)分析員層次。同時(shí),軟件工程師也要兼任程序員角色,因?yàn)椴簧佘浖髽I(yè)規(guī)模較小,難以按照軟件工程的規(guī)范細(xì)化分工,需要能做分析、能寫代碼、能做實(shí)施甚至用戶培訓(xùn)的“多面手”。作為高校,必須充分考慮這種情況,以培養(yǎng)軟件工程師為主線,也要提高系統(tǒng)分析能力,同時(shí)還應(yīng)該加強(qiáng)代碼編寫的訓(xùn)練。
1.2軟件設(shè)計(jì)類課程實(shí)踐性教學(xué)的內(nèi)涵
軟件設(shè)計(jì)類課程主要包括計(jì)算機(jī)語(yǔ)言類、開發(fā)類、設(shè)計(jì)類、制作類和工程類課程,共同的特點(diǎn)都是經(jīng)過系統(tǒng)學(xué)習(xí),既能夠按照規(guī)范獨(dú)立設(shè)計(jì)小型軟件,組成團(tuán)隊(duì)后又能夠設(shè)計(jì)出具有實(shí)用價(jià)值的中大型軟件。
軟件設(shè)計(jì)類課程實(shí)踐性教學(xué)標(biāo)目的是培養(yǎng)學(xué)生兩個(gè)方面的能力:即獨(dú)立編程能力和項(xiàng)目合作開發(fā)能力。一方面,能夠利用所學(xué)語(yǔ)言和平臺(tái)設(shè)計(jì)小型軟件,同時(shí)能夠按照項(xiàng)目分工,在項(xiàng)目經(jīng)理(負(fù)責(zé)人)的統(tǒng)一安排下,在技術(shù)上服從既定的設(shè)計(jì)方案完成模塊的開發(fā),并做好相應(yīng)的文檔。良好的責(zé)任心、解決問題的獨(dú)立編程能力和分工合作制的團(tuán)結(jié)協(xié)作精神是必須重點(diǎn)培養(yǎng)的內(nèi)容。軟件設(shè)計(jì)類課程實(shí)踐性教學(xué)的內(nèi)涵如圖2所示:
2軟件設(shè)計(jì)類課程實(shí)踐性教學(xué)的組織
按照軟件設(shè)計(jì)類課程實(shí)踐性教學(xué)的內(nèi)涵,一般應(yīng)包括3個(gè)環(huán)節(jié):課堂實(shí)驗(yàn)實(shí)訓(xùn)、課程設(shè)計(jì)、項(xiàng)目實(shí)踐,分階段實(shí)施。其具體安排如圖3所示:
2.1課堂實(shí)驗(yàn)實(shí)訓(xùn)環(huán)節(jié)
如果一門課程的教學(xué)任務(wù)規(guī)定在一個(gè)學(xué)期內(nèi)完成,課堂實(shí)驗(yàn)實(shí)訓(xùn)環(huán)節(jié)應(yīng)該安排在學(xué)期的前半部分進(jìn)行,以講授語(yǔ)法、數(shù)據(jù)類型、常用類庫(kù)、開發(fā)平臺(tái)為主。學(xué)生所學(xué)知識(shí)和編程技術(shù)有限,難以形成完整的程序思路,實(shí)踐環(huán)節(jié)只能是練習(xí)基本功單獨(dú)完成,以每一次堂或者每一個(gè)章節(jié)為單位安排學(xué)生進(jìn)行相關(guān)的訓(xùn)練,以熟練掌握語(yǔ)法的基本用法,為后一階段的課程設(shè)計(jì)做準(zhǔn)備。老師指導(dǎo)時(shí),要注意培養(yǎng)學(xué)生良好的編程習(xí)慣,包括標(biāo)識(shí)符的規(guī)范化命名、注釋語(yǔ)句的廣泛運(yùn)用、編程語(yǔ)句的縮進(jìn)格式、幫助文檔的使用方法,逐漸形成編程思想。
為了配合實(shí)踐性教學(xué),教材的選擇也十分關(guān)鍵,最好是采用基于案例教學(xué)法或者項(xiàng)目驅(qū)動(dòng)教學(xué)法的教材,這種教材往往會(huì)通過一些典型的實(shí)例或企業(yè)項(xiàng)目組織內(nèi)容,大部分章節(jié)的主題相對(duì)集中,圍繞項(xiàng)目展開講述,特別適合于實(shí)踐性教學(xué)。如果采用實(shí)踐性較弱的教材,老師需要自行補(bǔ)充一些實(shí)習(xí)實(shí)訓(xùn)內(nèi)容讓學(xué)生當(dāng)場(chǎng)消化吸收。
2.2課程設(shè)計(jì)環(huán)節(jié)
這一階段十分關(guān)鍵,完全模擬軟件企業(yè)的開發(fā)流程組成小組共同完成一個(gè)中小型項(xiàng)目的設(shè)計(jì),一般安排在后半學(xué)期進(jìn)行。這時(shí)要求學(xué)生停止其它課程的學(xué)習(xí),每天八小時(shí)工作制,甚至晚上可以加班加點(diǎn),專心設(shè)計(jì)項(xiàng)目,其最終成果包括軟件和文檔以及用戶操作手冊(cè)。以每班30人為例,可以考慮分為5個(gè)小組,每組6人,每個(gè)小組安排組長(zhǎng)(項(xiàng)目負(fù)責(zé)人或稱項(xiàng)目經(jīng)理)一人,組長(zhǎng)的職責(zé)是:組織成員實(shí)地項(xiàng)目調(diào)研、模塊劃分與任務(wù)分工、接口的確定、進(jìn)度的監(jiān)督與協(xié)調(diào)、集成測(cè)試等,組長(zhǎng)直接接受指導(dǎo)老師的安排。鑒于組長(zhǎng)在在項(xiàng)目設(shè)計(jì)過程所處的重要地位,老師在確定組長(zhǎng)時(shí),至少考慮三個(gè)方面:一是組織能力,二是專業(yè)技能的基本功,三是責(zé)任心。
這一過程通常安排兩周到三周集中在校內(nèi)機(jī)房(實(shí)訓(xùn)中心)進(jìn)行,老師每天針對(duì)總體要求及當(dāng)天的任務(wù)進(jìn)行講解,然后分小組實(shí)施。選擇課題時(shí),不宜太復(fù)雜,應(yīng)盡可能讓大多數(shù)課題組可以在規(guī)定的時(shí)間內(nèi)做完。一般選取學(xué)生們比較熟悉的內(nèi)容,如學(xué)生成績(jī)管理系統(tǒng)、班級(jí)管理系統(tǒng)、教材管理系統(tǒng)、倉(cāng)庫(kù)管理系統(tǒng)、工資管理系統(tǒng)、就業(yè)反饋跟蹤系統(tǒng)、水電費(fèi)管理系統(tǒng)等,這些課題的要求大家都比較清楚,在校內(nèi)即可進(jìn)行客戶調(diào)研和需求分析,同時(shí)也具有較強(qiáng)的推廣價(jià)值,為將來的職業(yè)奠定基礎(chǔ)。這時(shí)每個(gè)人同學(xué)都應(yīng)該至少準(zhǔn)備一本項(xiàng)目開發(fā)類指導(dǎo)書作為參考,因?yàn)樯婕暗綌?shù)據(jù)庫(kù)、界面、網(wǎng)絡(luò)通信、硬件編程等方面的知識(shí),僅僅靠教材還不夠。
2.3項(xiàng)目實(shí)踐環(huán)節(jié)
項(xiàng)目實(shí)踐環(huán)節(jié)是學(xué)生到軟件研發(fā)企業(yè)(校外實(shí)訓(xùn)基地)全程參與項(xiàng)目開發(fā)的過程,一般應(yīng)安排在學(xué)期的最后一到兩周或者利用假期頂崗實(shí)習(xí),因?yàn)榻?jīng)過了課程設(shè)計(jì),學(xué)生基本掌握了軟件企業(yè)的開發(fā)流程和一般方法,進(jìn)入軟件公司后就能夠較快地進(jìn)入程序員角色,而不至于膽怯,也不會(huì)無所適從。完成本部分實(shí)踐內(nèi)容要做好以下三個(gè)方面的工作:
確定好項(xiàng)目指導(dǎo)老師:企業(yè)開發(fā)與在學(xué)校進(jìn)行課程設(shè)計(jì)并不盡相同,軟件公司具有自己的風(fēng)格,往往更加愿意采用自己熟悉的開發(fā)工具,以達(dá)到客戶的需求作為目標(biāo),并不一定會(huì)使用最新技術(shù),這點(diǎn)與教學(xué)理念不同。理想的方案是由任課老師帶隊(duì)進(jìn)入軟件企業(yè)(校外實(shí)訓(xùn)基地),并選擇目前正在開發(fā)的項(xiàng)目經(jīng)理?yè)?dān)任總負(fù)責(zé)人(校外實(shí)踐指導(dǎo)老師),任課老師也參與項(xiàng)目實(shí)踐并組織學(xué)生實(shí)施,因?yàn)橐粋€(gè)優(yōu)秀的項(xiàng)目經(jīng)理不一定是優(yōu)秀的老師,能做軟件不見得會(huì)上課,項(xiàng)目負(fù)責(zé)人與任課老師共同配合更能發(fā)揮各自的優(yōu)勢(shì),便于學(xué)生理解項(xiàng)目思想和相互溝通。經(jīng)過簡(jiǎn)短的培訓(xùn)后,由模塊責(zé)任人指導(dǎo)學(xué)生設(shè)計(jì)或者由學(xué)生獨(dú)立完成,一切按照企業(yè)的開發(fā)規(guī)范進(jìn)行。考慮到軟件企業(yè)一次難以容納過多實(shí)習(xí)生的特點(diǎn),也可考慮將項(xiàng)目拿到學(xué)校來做,或者將項(xiàng)目經(jīng)理請(qǐng)到學(xué)校現(xiàn)場(chǎng)指導(dǎo),以節(jié)省時(shí)間和費(fèi)用。
確定項(xiàng)目指導(dǎo)方法:開發(fā)應(yīng)用項(xiàng)目沒有現(xiàn)成的教材,需求分析、概要設(shè)計(jì)說明書、詳細(xì)設(shè)計(jì)說明書、數(shù)據(jù)庫(kù)和數(shù)據(jù)字典就是設(shè)計(jì)的依據(jù),老師必須嚴(yán)格按照這些文檔指導(dǎo)學(xué)生進(jìn)行設(shè)計(jì),定期檢查學(xué)生的進(jìn)度及過程,一旦發(fā)現(xiàn)偏差,及時(shí)糾正,將錯(cuò)誤消滅在萌芽狀態(tài)。
及時(shí)組織項(xiàng)目總結(jié):每天規(guī)定一個(gè)時(shí)間,將同組學(xué)生集中起來,針對(duì)當(dāng)天完成的任務(wù)進(jìn)行總結(jié),交流自己的想法,提出存在的問題,集體討論,這樣就能夠做到日日有收獲,天天有提高,從而鍛煉自己的實(shí)戰(zhàn)水平和組織經(jīng)驗(yàn)。
3軟件設(shè)計(jì)類課程實(shí)踐性教學(xué)效果的考核
軟件設(shè)計(jì)類課程實(shí)踐性教學(xué)效果的考核也是一個(gè)較難把握的環(huán)節(jié),既要考核學(xué)生的獨(dú)立編程能力,也要考查其團(tuán)隊(duì)協(xié)作精神,同時(shí)還要考慮其組織能力、表達(dá)能力、文檔編寫能力、紀(jì)律性等內(nèi)容。為了客觀科學(xué)地評(píng)價(jià)學(xué)生的實(shí)際效果,最好是分階段考核,各部分按照一定的比例綜合得到總成績(jī),可以等級(jí)表示,也可以用分?jǐn)?shù)反映。
在課堂實(shí)驗(yàn)實(shí)訓(xùn)階段,可以由任課老師根據(jù)每一次操作任務(wù)的完成情況進(jìn)行登記評(píng)分,重點(diǎn)考察其規(guī)范程度,對(duì)于具有創(chuàng)新性的作品,可以適當(dāng)加分,并在全班展示,讓設(shè)計(jì)者講解思路,為其它同學(xué)提供啟示。
課程設(shè)計(jì)階段的考核由指導(dǎo)老師和項(xiàng)目組長(zhǎng)組織學(xué)生共同進(jìn)行,首先由組長(zhǎng)匯報(bào)課題的設(shè)計(jì)思想、主要技術(shù)、任務(wù)分工等情況,并演示軟件,大家可以相互提問。老師根據(jù)項(xiàng)目完成效果確定這個(gè)組的等級(jí),然后由各位成員介紹自己所設(shè)計(jì)的模塊,老師重點(diǎn)檢查此模塊的功能、難易程度、技術(shù)含量、界面美觀等因素,再確定其成績(jī)或者等級(jí),這時(shí)還要充分考慮組長(zhǎng)對(duì)成員在設(shè)計(jì)階段各方面的綜合表現(xiàn)。
項(xiàng)目實(shí)踐階段的考核由校外指導(dǎo)老師和校內(nèi)老師組成考核小組,利用項(xiàng)目匯報(bào)加平時(shí)表現(xiàn)的形式評(píng)定,既要考察項(xiàng)目的完成情況,也要考察各位學(xué)生在企業(yè)實(shí)習(xí)期間的領(lǐng)悟能力、工作主動(dòng)性、團(tuán)隊(duì)合作情況、算法的復(fù)雜性、程序的規(guī)范性等方面,其主要依據(jù)是提交的軟件(包括源代碼)以及各種文檔。
實(shí)際上,對(duì)于實(shí)踐性教學(xué)的考核可以采用靈活的方式進(jìn)行,不拘一格,比如聘請(qǐng)行業(yè)專家、現(xiàn)場(chǎng)答辯、隨機(jī)抽題、項(xiàng)目論文等形式,只要能夠檢查學(xué)生的真實(shí)技能即可。
4我們的實(shí)踐
我們學(xué)校十分重視實(shí)踐性教學(xué),長(zhǎng)期堅(jiān)持強(qiáng)化學(xué)生的動(dòng)手操作能力和實(shí)戰(zhàn)水平、力爭(zhēng)與企業(yè)零距離接軌的做法。為了提高程序設(shè)計(jì)類課程的實(shí)踐性教學(xué)效果,主要采取了以下措施:
4.1嚴(yán)把教師關(guān)
教師是實(shí)踐性教學(xué)效果的基本保證,學(xué)生的水平在一定程度上反映了教師的水平,既具有扎實(shí)的理論功底,也擁有豐富的項(xiàng)目經(jīng)驗(yàn)是優(yōu)秀教師的標(biāo)準(zhǔn)。一方面,我們積極將已有教師定期送到企業(yè)實(shí)地參加項(xiàng)目開發(fā)實(shí)踐,積累經(jīng)驗(yàn),另一方面,不斷從軟件企業(yè)引進(jìn)專業(yè)技術(shù)人才,將他們的成功案例帶回學(xué)校,同時(shí),每年組織專業(yè)教師進(jìn)行實(shí)踐性教學(xué)能力考核,通過考核者才能承擔(dān)課程設(shè)計(jì)和項(xiàng)目實(shí)踐的教學(xué)任務(wù),并頻發(fā)相應(yīng)證書,作為教師晉升職稱和評(píng)先評(píng)優(yōu)的重要指標(biāo)。
4.2實(shí)踐性教學(xué)環(huán)節(jié)流程化
改革原來的學(xué)期一貫制,將一個(gè)學(xué)期分為兩個(gè)階段,前一階段以學(xué)習(xí)基礎(chǔ)理論為主,隨堂考試,在學(xué)期的最后幾個(gè)禮拜專門安排做課程設(shè)計(jì),一般開設(shè)兩門小課,專心實(shí)踐,在項(xiàng)目指導(dǎo)老師的統(tǒng)一安排下,綜合運(yùn)用本學(xué)期所學(xué)的程序設(shè)計(jì)工具,結(jié)合前面所學(xué)內(nèi)容,以項(xiàng)目小組的形式,完成一個(gè)小型軟件的設(shè)計(jì),成績(jī)計(jì)入學(xué)生檔案,完成者才能獲得相應(yīng)的學(xué)分。暑假或者寒假以及最后一個(gè)學(xué)期,老師分批帶領(lǐng)學(xué)生前往校外實(shí)訓(xùn)基地或軟件企業(yè)從事項(xiàng)目開發(fā),作為社會(huì)實(shí)踐或畢業(yè)設(shè)計(jì)的成績(jī),并要求撰寫項(xiàng)目總結(jié)或論文。
4.3實(shí)驗(yàn)室環(huán)境企業(yè)化
聘請(qǐng)軟件企業(yè)技術(shù)人員設(shè)計(jì)實(shí)驗(yàn)室(實(shí)訓(xùn)中心)建設(shè)方案,將原來的布局改造成軟件研發(fā)中心或者工作室模式,服務(wù)器、網(wǎng)絡(luò)設(shè)備、數(shù)據(jù)庫(kù)完全仿真企業(yè)的環(huán)境,將開發(fā)流程和軟件文檔國(guó)家標(biāo)準(zhǔn)打印并懸掛在墻上,并購(gòu)置專業(yè)書籍存放在實(shí)驗(yàn)室,讓學(xué)生一旦進(jìn)入實(shí)驗(yàn)室,就能迅速感受到真實(shí)的企業(yè)氛圍,還能方便查閱相關(guān)資料。
4.4實(shí)踐項(xiàng)目規(guī)范化
教師和軟件企業(yè)合作開發(fā)一整套實(shí)踐教材,采用項(xiàng)目驅(qū)動(dòng)、案例教學(xué)作為主要方法,將常用軟件項(xiàng)目的全部開發(fā)過程編寫到教材中,源程序存放在服務(wù)器,供學(xué)生編程參考。每次課程設(shè)計(jì)或者項(xiàng)目實(shí)踐后都要評(píng)比出優(yōu)秀作品,將其全部程序及文檔資料保存下來,供以后教學(xué)和低年級(jí)學(xué)生使用。
經(jīng)過近幾年學(xué)生的反饋情況,我們的改革收到了良好的效果,學(xué)生在校期間已經(jīng)具備了一定的經(jīng)驗(yàn),走入社會(huì)即可迅速融入開發(fā)團(tuán)隊(duì),勝任軟件工程師職責(zé),深受單位的好評(píng),不少畢業(yè)生特別是原來?yè)?dān)任過項(xiàng)目小組長(zhǎng)的學(xué)生很快即可成為業(yè)務(wù)骨干或者項(xiàng)目經(jīng)理。
5結(jié)束語(yǔ)
高校教學(xué)與行業(yè)脫節(jié)是普遍存在的現(xiàn)象,程序設(shè)計(jì)類課程實(shí)踐性教學(xué)更是一個(gè)永恒的話題。所幸的是,學(xué)校和企業(yè)都充分意識(shí)到了這一點(diǎn),各高校正在采取積極的舉措消除這一段距離,企業(yè)已變得越來越務(wù)實(shí),不斷細(xì)化崗位職責(zé)。隨著校企合作的深入,訂單培養(yǎng)方式的持續(xù),相信在不遠(yuǎn)的將來,這種差距會(huì)越來越小,直到完全消失,那時(shí)學(xué)校、企業(yè)、學(xué)生三方都能成為實(shí)實(shí)在在的受益者。
摘要:本文討論了軟件設(shè)計(jì)模式課程教學(xué)中的幾個(gè)問題,介紹了經(jīng)典的PBL教學(xué)法及其不足,對(duì)其教學(xué)過程設(shè)計(jì)進(jìn)行了改進(jìn)并給出了一個(gè)教學(xué)案例,另外本文還就應(yīng)用PBL教學(xué)法的注意事項(xiàng)進(jìn)行了討論。
關(guān)鍵詞:PBL;軟件設(shè)計(jì)模式;計(jì)算機(jī)教學(xué);面向?qū)ο螅唤虒W(xué)方法
“軟件設(shè)計(jì)模式”是一門理論性和實(shí)踐性都非常強(qiáng)的課程,內(nèi)容抽象難懂,目前的大部分教材僅僅在一般意義上給出了各種模式的定義、結(jié)構(gòu)、代碼框架,授課時(shí)容易出現(xiàn)內(nèi)容空泛、言之無物的情形,學(xué)生感覺這門課程比較困難。如何根據(jù)學(xué)生的特點(diǎn),選用合適的教材,采用適當(dāng)?shù)慕虒W(xué)方法是提高軟件設(shè)計(jì)模式教學(xué)效果所必須要解決的問題。本科學(xué)生的特點(diǎn)我們很難改變,教材問題可以通過授課教師的主觀努力,以講義和補(bǔ)充材料的方式加以解決,而本文則主要討論軟件設(shè)計(jì)模式的教學(xué)方法問題,即在軟件設(shè)計(jì)模式課程的教學(xué)中如何使用PBL教學(xué)方法來提高教學(xué)效果。
1PBL及改進(jìn)的教學(xué)過程設(shè)計(jì)
PBL(Problem-based Learning)是一種行之有效的“做中學(xué)”教學(xué)方法,最初是由Barrows在加拿大McMaster大學(xué)提出來的一種教學(xué)策略和課程設(shè)計(jì)思想,符合以學(xué)生為中心的自我引導(dǎo)學(xué)習(xí)的建構(gòu)主義學(xué)習(xí)理論。有效的PBL可以提高學(xué)生下面這幾方面的能力和素質(zhì):解決問題的技能;思維能力;團(tuán)隊(duì)合作能力,包括賞識(shí)和包容異類學(xué)習(xí)同伴的精神;組織利用時(shí)間的技能;獲取和評(píng)價(jià)信息的能力;傳播信息的技能;計(jì)算機(jī)運(yùn)用能力等。
在教學(xué)中引進(jìn)PBL教學(xué)法后我們發(fā)現(xiàn)該方法的不足之處,主要問題是:時(shí)間消耗量大,學(xué)生學(xué)習(xí)的效率不高;在班級(jí)規(guī)模較大時(shí),教師對(duì)教學(xué)的組織和教學(xué)過程的控制也存在很大的困難;以小組為單位,容易造成學(xué)生能力發(fā)展不均衡,出現(xiàn)小組內(nèi)某些學(xué)生成為主導(dǎo),另一些學(xué)生則濫竽充數(shù)的情況。為此我們對(duì)PBL方法作了一些修改,教學(xué)過程設(shè)計(jì)如下:
(1) 提出一個(gè)與本次課程要學(xué)習(xí)的設(shè)計(jì)模式相關(guān)的設(shè)計(jì)問題。這一步非常關(guān)鍵,提出的設(shè)計(jì)問題必須與學(xué)生已有的基礎(chǔ)較接近,規(guī)模適中,是學(xué)生可能完成的任務(wù)。這樣可以激發(fā)學(xué)生的學(xué)習(xí)興趣。
(2) 講授與該設(shè)計(jì)模式相關(guān)的面向?qū)ο蟮脑O(shè)計(jì)原則。對(duì)這些原則的講授可以貫穿在該門課程的整個(gè)教學(xué)過程中,適當(dāng)?shù)闹貜?fù)和強(qiáng)調(diào)可以加深學(xué)生的印象,促使學(xué)生在其今后的設(shè)計(jì)中自覺運(yùn)用設(shè)計(jì)原則,即使不套用設(shè)計(jì)模式,也能產(chǎn)生良好的設(shè)計(jì)方案。
(3) 給學(xué)生留出時(shí)間,讓學(xué)生設(shè)計(jì)前面問題的解決方案。要求每個(gè)學(xué)生自己進(jìn)行設(shè)計(jì),但允許和同學(xué)討論。
(4) 抽取并公布學(xué)生的設(shè)計(jì)方案,組織同學(xué)討論其優(yōu)劣,對(duì)比與事先提出的設(shè)計(jì)目標(biāo)的差距并分析原因。
(5) 以相應(yīng)設(shè)計(jì)模式的思路,對(duì)學(xué)生的方案進(jìn)行改進(jìn),并給出其簡(jiǎn)單實(shí)現(xiàn)。
(6) 從上述實(shí)例中提煉出要講授的設(shè)計(jì)模式,總結(jié)其意圖、結(jié)構(gòu)、角色、示意性代碼,分析其可能的變化。
(7) 布置一個(gè)類似的設(shè)計(jì)問題作為課偶作業(yè),要求學(xué)生給出完整的設(shè)計(jì)和實(shí)現(xiàn)。
我校“軟件設(shè)計(jì)模式”課程只有32個(gè)學(xué)時(shí),在這么短的學(xué)時(shí)內(nèi)讓學(xué)生完整深入地掌握23個(gè)設(shè)計(jì)模式是不現(xiàn)實(shí)的。
我們?cè)谥贫ń虒W(xué)大綱時(shí)充分考慮到了這個(gè)問題,選取了其中一部分作為課堂教學(xué)的內(nèi)容,選取的準(zhǔn)則是:①是常用模式;②在模式分類中具有代表性。其余的設(shè)計(jì)模式則留給學(xué)生課后自學(xué)。
2一個(gè)基于PBL的設(shè)計(jì)模式教學(xué)案例
Strategy Pattern(策略模式)是一種常用的重要的設(shè)計(jì)模式,下面以該設(shè)計(jì)模式的教學(xué)為例,說明PBL教學(xué)方法的應(yīng)用。
(1) 提出問題。某公司銷售打印機(jī)時(shí)有一定的折扣讓利給顧客,但折扣計(jì)算的方法有很多種,如不打折、每臺(tái)減扣固定的金額、按售價(jià)的5%打折等。現(xiàn)在要為該公司開發(fā)銷售系統(tǒng),實(shí)現(xiàn)打印機(jī)銷售時(shí)的折扣計(jì)算,要能夠靈活地選用折扣計(jì)算方法,并且可以很容易地增加或修改折扣計(jì)算方法,而不至于對(duì)整個(gè)系統(tǒng)的維護(hù)造成困難。
(2) 相關(guān)設(shè)計(jì)原則的講授。本設(shè)計(jì)模式主要涉及三個(gè)面向?qū)ο蟮脑O(shè)計(jì)原則:針對(duì)接口編程,而不是針對(duì)實(shí)現(xiàn)編程;優(yōu)先選用對(duì)象組合,而不是類繼承的軟件復(fù)用方式;分離變化,并對(duì)變化進(jìn)行單獨(dú)封裝以使得今后對(duì)軟件的維護(hù)局部化。在講授這三個(gè)原則時(shí),各舉簡(jiǎn)單的例子加以說明。
(3) 讓學(xué)生解決第一步提出的問題,給出設(shè)計(jì)方案。設(shè)計(jì)時(shí)盡量運(yùn)用前面講授的三個(gè)設(shè)計(jì)原則。要求每個(gè)學(xué)生自己動(dòng)手,但鼓勵(lì)討論。
(4) 抽取學(xué)生的設(shè)計(jì)方案,并比照第一步提出的設(shè)計(jì)目標(biāo)進(jìn)行分析討論。由于時(shí)間關(guān)系,不可能對(duì)每個(gè)學(xué)生的方案進(jìn)行討論,一般鼓勵(lì)學(xué)生主動(dòng)提交,主動(dòng)提交的學(xué)生一般認(rèn)為自己的設(shè)計(jì)方案較好,此外也可以選一個(gè)不理想的設(shè)計(jì)方案進(jìn)行討論。
學(xué)生的設(shè)計(jì)方案五花八門,圖1是其中的一種。
圖1 學(xué)生的一個(gè)設(shè)計(jì)方案
該設(shè)計(jì)方案部分運(yùn)用了講授的設(shè)計(jì)原則,如PrinterSaler使用抽象類Printer而不是直接使用具體類HPPrinter等,這體現(xiàn)出學(xué)生試圖運(yùn)用針對(duì)接口編程的原則;該方案將計(jì)算折扣的方法單獨(dú)抽象成一個(gè)接口,但卻是用打印機(jī)的具體類來實(shí)現(xiàn)該接口的,說明了設(shè)計(jì)者意識(shí)到計(jì)算折扣是變化的部分,試圖將其分離出來,但卻沒有將它進(jìn)行獨(dú)立的封裝,因此對(duì)改善系統(tǒng)的可維護(hù)性和折扣方法的靈活選用并無多大幫助,而且由于抽象類Printer沒有實(shí)現(xiàn)該接口,使得PrinterSaler通過使用Prinetr來計(jì)算折扣難以實(shí)現(xiàn)。
通過分析和討論(這一過程要鼓勵(lì)學(xué)生參與發(fā)言,而不是教師唱獨(dú)角戲)學(xué)生的方案,指出其不足,并一步步加以優(yōu)化,最后可以得到基于Strategey模式的設(shè)計(jì)方案,如圖2所示。
圖2 基于Strategy Pattern的設(shè)計(jì)方案
在此強(qiáng)調(diào)由于折扣計(jì)算方法的分離和單獨(dú)封裝,就可以通過實(shí)例化不同的具體折扣計(jì)算類ConcreteDiscount并賦值給Printer的引用變量(假定為Discount),然后通過調(diào)用discount.calcDiscount()靈活選用相應(yīng)的折扣計(jì)算方法;折扣計(jì)算方法可以被所有打印機(jī)類復(fù)用,甚至可以被其他類復(fù)用;而且修改或增加新的折扣計(jì)算方法也不會(huì)影響其他打印機(jī)類的代碼。
(5) 為了使學(xué)生有更為切身的體驗(yàn),給出上述設(shè)計(jì)方案的實(shí)現(xiàn)代碼,編譯并演示運(yùn)行結(jié)果。
(6) 從上述實(shí)例中提煉出要講授的設(shè)計(jì)模式,總結(jié)其意圖、結(jié)構(gòu)、角色、示意性代碼,分析其可能的變化。
(7) 布置一個(gè)類似的設(shè)計(jì)問題,作為作業(yè),要求學(xué)生給出完整的設(shè)計(jì)和實(shí)現(xiàn),提交實(shí)驗(yàn)報(bào)告。
摘要:為了培養(yǎng)既懂財(cái)務(wù)又懂軟件開發(fā)技術(shù)的復(fù)合型人才,根據(jù)金融財(cái)務(wù)類應(yīng)用的需要,本文提出了一個(gè)面向軟件課程設(shè)計(jì)的教學(xué)模型。融合計(jì)算機(jī)基礎(chǔ)理論、軟件開發(fā)技術(shù)、軟件工程學(xué)原理以及CMM軟件過程體系,構(gòu)建了教學(xué)模式框架。該模型具有良好的課程總體結(jié)構(gòu)以及動(dòng)態(tài)適應(yīng)新技術(shù)發(fā)展的能力,該模型適合財(cái)務(wù)類院校軟件復(fù)合性人才培養(yǎng)的需要。
關(guān)鍵詞:軟件課程設(shè)計(jì);財(cái)務(wù)應(yīng)用;復(fù)合型人才;教學(xué)模式
1引言
目前,中國(guó)軟件產(chǎn)業(yè)計(jì)劃以超常規(guī)的發(fā)展速度在世界上占有一席之地。 軟件產(chǎn)業(yè)近年來已成為中國(guó)電子信息產(chǎn)業(yè)中增長(zhǎng)最快的部分之一。在新一輪的國(guó)際分工中,高附加值、低成本、智力密集型的軟件與信息服務(wù)業(yè)正逐步向亞太地區(qū)轉(zhuǎn)移,這給中國(guó)和印度等國(guó)的軟件產(chǎn)業(yè)帶來巨大的發(fā)展機(jī)遇。盡管中國(guó)軟件產(chǎn)業(yè)已從初始階段進(jìn)入成長(zhǎng)階段,一些軟件企業(yè)正在一步步正規(guī)化;但是軟件企業(yè)和軟件人才結(jié)構(gòu)不合理:幾乎沒有從事個(gè)人消費(fèi)者軟件的企業(yè);大部分軟件人才為編程工程師,缺少軟件架構(gòu)師、項(xiàng)目經(jīng)理、測(cè)試員等。另一方面,隨著IT技術(shù)的飛速發(fā)展和日新月異,特別是互聯(lián)網(wǎng)技術(shù)的發(fā)展和應(yīng)用,企業(yè)能夠在一個(gè)全新的、統(tǒng)一的高科技信息技術(shù)的環(huán)境支撐下來建立和實(shí)施現(xiàn)代企業(yè)管理。財(cái)務(wù)軟件系統(tǒng)的應(yīng)用已經(jīng)普及,但我國(guó)財(cái)務(wù)軟件的發(fā)展前景卻不容樂觀,財(cái)務(wù)管理人員隊(duì)伍普遍存在知識(shí)老化,不能適應(yīng)網(wǎng)絡(luò)經(jīng)濟(jì)時(shí)代對(duì)財(cái)務(wù)管理工作的需求,也不能很好地理解和使用財(cái)務(wù)軟件和信息系統(tǒng),直接影響了財(cái)務(wù)軟件的使用效果和財(cái)務(wù)軟件產(chǎn)業(yè)的發(fā)展。會(huì)計(jì)制度體系的變革和會(huì)計(jì)理論研究的滯后是制約財(cái)務(wù)軟件和財(cái)務(wù)信息系統(tǒng)的模型進(jìn)行創(chuàng)新設(shè)計(jì)的重要瓶頸,影響了財(cái)務(wù)軟件產(chǎn)業(yè)的發(fā)展。
財(cái)務(wù)軟件設(shè)計(jì)的復(fù)合型人才在財(cái)務(wù)軟件產(chǎn)業(yè)發(fā)展中處于最重要的地位。財(cái)務(wù)軟件設(shè)計(jì)的復(fù)合型人才必須在財(cái)務(wù)和計(jì)算機(jī)軟件設(shè)計(jì)兩個(gè)領(lǐng)域都非常有專長(zhǎng),成為這兩個(gè)領(lǐng)域里的行家里手。所以,培養(yǎng)高級(jí)的、現(xiàn)代化的財(cái)務(wù)軟件設(shè)計(jì)的復(fù)合型人才勢(shì)在必行。目前我國(guó)財(cái)經(jīng)高等院校和大部分綜合類高等院校、成人高校和新興的職業(yè)技術(shù)學(xué)院都開設(shè)有計(jì)算機(jī)專業(yè)和財(cái)會(huì)專業(yè)。但從橫向上看,這兩個(gè)專業(yè)在課程的設(shè)置上還存在著“單打一”的現(xiàn)象;從縱向上看,課程的深度,尤其是計(jì)算機(jī)網(wǎng)絡(luò)知識(shí)和財(cái)會(huì)知識(shí)的結(jié)合程度比較膚淺,學(xué)財(cái)會(huì)的學(xué)生僅僅掌握數(shù)據(jù)庫(kù)的操作和簡(jiǎn)單的憑證輸入及報(bào)表編制是遠(yuǎn)遠(yuǎn)不夠的。從將來培養(yǎng)高級(jí)會(huì)計(jì)軟件工程人員的角度出發(fā),計(jì)算機(jī)和財(cái)會(huì)專業(yè)應(yīng)互相滲透、互相兼容,讓學(xué)生“兩條腿”跑步,對(duì)于這類學(xué)校的計(jì)算機(jī)專業(yè)更要調(diào)整軟件課程設(shè)計(jì)模式,
使學(xué)生能夠迎接當(dāng)今財(cái)務(wù)軟件產(chǎn)業(yè)的挑戰(zhàn),獲得更多的工作機(jī)遇。
軟件設(shè)計(jì)課程是一門綜合性的實(shí)踐課程,其通過合理的軟件項(xiàng)目,來鍛煉學(xué)生的分析、設(shè)計(jì)、編程、測(cè)試、維護(hù)等多方面的綜合能力,既要學(xué)生掌握應(yīng)用領(lǐng)域的專業(yè)知識(shí),又要學(xué)會(huì)應(yīng)用計(jì)算機(jī)軟件的專業(yè)理論來解決應(yīng)用領(lǐng)域的實(shí)際問題。如何通過軟件課程設(shè)計(jì)來提高學(xué)生在未來工作中的適應(yīng)能力,是目前軟件教育業(yè)普遍關(guān)注的核心問題。如何使軟件課程設(shè)計(jì)具備靈活的面向財(cái)務(wù)應(yīng)用的適應(yīng)能力,也成為金融財(cái)務(wù)類院校探討的熱點(diǎn)[1、2]。本文針對(duì)培養(yǎng)財(cái)務(wù)軟件設(shè)計(jì)開發(fā)的復(fù)合型人才的需要、結(jié)合計(jì)算機(jī)基礎(chǔ)理論、軟件開發(fā)技術(shù)、軟件工程學(xué)原理[3]以及軟件過程模型[4~6]的特點(diǎn),提出了一個(gè)軟件課程設(shè)計(jì)動(dòng)態(tài)模型。其可以根據(jù)學(xué)生的不同層次、不同的培養(yǎng)目標(biāo),定制裁剪,該模型適合財(cái)務(wù)類院校軟件復(fù)合性人才培養(yǎng)的需要。
2面向財(cái)務(wù)應(yīng)用的軟件設(shè)計(jì)課程教學(xué)模式
2.1 課程目的
面向財(cái)務(wù)應(yīng)用的軟件設(shè)計(jì)課程教學(xué)目的如下:
1) 鍛煉學(xué)生綜合分析、設(shè)計(jì)、開發(fā)軟件產(chǎn)品的能力;
2) 融合學(xué)生已經(jīng)學(xué)過的計(jì)算機(jī)課程、財(cái)務(wù)會(huì)計(jì)課程的內(nèi)容,使理論與實(shí)踐相結(jié)合;
3) 根據(jù)當(dāng)前的技術(shù)發(fā)展水平和社會(huì)財(cái)務(wù)軟件行業(yè)的需求,適當(dāng)擴(kuò)充學(xué)生的新技術(shù)的容量;
4) 掌握規(guī)范的軟件開發(fā)過程、管理過程,與國(guó)際軟件界接軌;
5) 財(cái)務(wù)管理系統(tǒng)對(duì)軟件設(shè)計(jì)的要求。
2.2教學(xué)模式的框架
面向財(cái)務(wù)應(yīng)用的軟件設(shè)計(jì)課程教學(xué)模式應(yīng)該根據(jù)財(cái)務(wù)復(fù)合型人才培養(yǎng)的需要,結(jié)合現(xiàn)有的計(jì)算機(jī)基礎(chǔ)理論的教育,同時(shí)融合現(xiàn)代軟件工程學(xué)的思想,制定相應(yīng)的教學(xué)框架。該教學(xué)模式的框架結(jié)構(gòu)如圖1所示。
圖1中的有向邊表示各個(gè)部分之間的依賴關(guān)系,各個(gè)組成部分描述如下:
(1) 軟件、財(cái)務(wù)基礎(chǔ)課程
該部分是“軟件課程設(shè)計(jì)”的必要基礎(chǔ)條件,應(yīng)在開設(shè)“軟件課程設(shè)計(jì)”之前完成。主要有:離散數(shù)學(xué)、數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)庫(kù)原理、過程程序設(shè)計(jì)、面向?qū)ο蟮某绦蛟O(shè)計(jì)原理、計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)、計(jì)算機(jī)網(wǎng)絡(luò)、操作系統(tǒng)、會(huì)計(jì)學(xué)、財(cái)務(wù)管理、會(huì)計(jì)信息化。
(2) 各類應(yīng)用模型
主要探討與企業(yè)應(yīng)用相關(guān)的領(lǐng)域模型,不僅僅限于財(cái)務(wù)軟件系統(tǒng)。其可以包括如下內(nèi)容:
1) 電子商務(wù);
2) 企業(yè)資源管理;
3) 客戶關(guān)系管理;
4) 供應(yīng)鏈管理模型;
5) Internet多媒體應(yīng)用;
6) 財(cái)務(wù)管理等等。
(3) 研究的軟件課題集
根據(jù)(2)所描述的應(yīng)用領(lǐng)域,根據(jù)學(xué)生的不同層次和培養(yǎng)目標(biāo),抽象領(lǐng)域應(yīng)用模型,形成供軟件課程設(shè)計(jì)所需的軟件課題集。每個(gè)軟件課題既要包括該軟件所需的應(yīng)用領(lǐng)域背景、領(lǐng)域知識(shí)、領(lǐng)域模型,又要包含該軟件系統(tǒng)開發(fā)的所有文檔、過程文檔、以及學(xué)生實(shí)際開發(fā)過程文檔、評(píng)測(cè)文檔、改進(jìn)文檔等等。該部分是該模型的核心,其的構(gòu)建需要若干周期的軟件開發(fā)和學(xué)生實(shí)踐才能獲得,同時(shí)還要考慮軟件應(yīng)用領(lǐng)域和軟件技術(shù)變化發(fā)展的因素。
(4) 當(dāng)前流行的軟件技術(shù)
主要包括當(dāng)前業(yè)界盛行的開發(fā)技術(shù)。這些技術(shù)不僅是學(xué)生完成該課程所需要,而且也是當(dāng)前主流的軟件開發(fā)技術(shù)和工具;學(xué)生掌握這些技術(shù)后,在就業(yè)的競(jìng)爭(zhēng)中,可以發(fā)揮重要作用。并且這些技術(shù)應(yīng)該隨著產(chǎn)業(yè)的發(fā)展而變化發(fā)展。目前主流的技術(shù)有:
1) 基于微軟.net技術(shù)的應(yīng)用開發(fā)模式,如Windows OS、C++、C#、VB、ASP、SQL SERVER等;
2) 基于SUN公司的JAVA2(EJB)、SUNOne技術(shù)的應(yīng)用開發(fā)模式,如LINUX、JAVA Bean、JAVA2 EJB、JSP、ORACLE等;
3) 基于OMG的CORABA技術(shù)的應(yīng)用開發(fā)模式,如C++、ORACLE、UNIX等。
(5) CMM體系
CMM模型已經(jīng)在業(yè)界得到公認(rèn),并且如果軟件企業(yè)要想獲得美國(guó)的軟件開發(fā)資格,必須要通過CMM認(rèn)證。如果學(xué)生在學(xué)校能夠了解CMM體系,那么其在今后的企業(yè)工作過程中就可以很好地適應(yīng)企業(yè)認(rèn)證的需要,同時(shí)也增加了學(xué)生的就業(yè)競(jìng)爭(zhēng)力。CMM體系分為三個(gè)層次:1)PSP(The Personal Software Process)規(guī)范;2)TSP(The Team Software Process)規(guī)范;3)CMM(Capability Maturity Model)規(guī)范。由于該體系過于龐大、抽象,學(xué)生掌握比較困難,所以可以重點(diǎn)培訓(xùn)PSP和TSP過程規(guī)范。
(6) 課程過程文檔集
課程過程文檔是掌握學(xué)生學(xué)習(xí)情況的重要依據(jù)。學(xué)生的學(xué)習(xí)過程的記載可以參見PSP模型,但又不可生搬硬套。PSP的許多文檔過于繁瑣,實(shí)踐證明學(xué)生感到其過于單調(diào),往往會(huì)影響學(xué)生的學(xué)習(xí)興趣。在構(gòu)建過程文檔的時(shí)候,還要引進(jìn)PSP模型中的小組過程信息,使過程和軟件項(xiàng)目的整體所統(tǒng)一。
(7) 課程評(píng)測(cè)系統(tǒng)和評(píng)測(cè)規(guī)范
評(píng)測(cè)系統(tǒng)要根據(jù)學(xué)生開發(fā)的軟件產(chǎn)品原型、課程過程文檔集以及評(píng)測(cè)規(guī)范來進(jìn)行。評(píng)測(cè)不僅要對(duì)軟件原型的功能、性能進(jìn)行檢驗(yàn),還要評(píng)測(cè)軟件過程文檔的規(guī)范性、完整性。更重要的一點(diǎn),要評(píng)測(cè)學(xué)生的應(yīng)用領(lǐng)域知識(shí)、背景的掌握情況;必要時(shí)可以給被評(píng)測(cè)者一個(gè)新的應(yīng)用領(lǐng)域模型,來檢測(cè)其對(duì)新問題的處理能力。評(píng)測(cè)規(guī)范應(yīng)該根據(jù)實(shí)際情況而定,既要檢驗(yàn)學(xué)生的專業(yè)深度,又要考慮其應(yīng)用知識(shí)面的廣度;既要定量考慮,也要定性分析。有關(guān)具體評(píng)測(cè)方法可以參見CMM體系。
(8) 課程的實(shí)際效果
課程的目的是培養(yǎng)應(yīng)用領(lǐng)域復(fù)合人才,課程的實(shí)際效果的檢驗(yàn)需要學(xué)生的實(shí)際就業(yè)情況、實(shí)際工作情況而定。可以建立一套學(xué)生跟蹤系統(tǒng),和學(xué)生簽訂檢驗(yàn)合同。畢業(yè)就業(yè)的學(xué)生定期把自己的工作情況反饋給該跟蹤系統(tǒng),跟蹤系統(tǒng)根據(jù)這些反饋進(jìn)行整理分析,以便動(dòng)態(tài)調(diào)整該課程模式的實(shí)施。
2.3課程模型的實(shí)現(xiàn)模式
在課程模式框架圖中,涉及的范圍太廣,學(xué)生很難掌握,所以可以根據(jù)學(xué)生的實(shí)際情況分解成四種實(shí)現(xiàn)模式:
(1) 單一技術(shù)模式
單一技術(shù)模式主要培養(yǎng)學(xué)生的軟件開發(fā)技術(shù),同時(shí)要掌握個(gè)體軟件過程技術(shù)。根據(jù)本模型框架,可以裁剪為如下內(nèi)容:
1) 具體一門技術(shù);
2) 一個(gè)簡(jiǎn)單的應(yīng)用模型;
3) 財(cái)務(wù)系統(tǒng)分析工作;
4) 基礎(chǔ)軟件工程學(xué);
5) PSP規(guī)范、財(cái)務(wù)管理標(biāo)準(zhǔn)及規(guī)范。
(2) 軟件開發(fā)規(guī)范模式
軟件開發(fā)規(guī)范模式主要培養(yǎng)學(xué)生的軟件開發(fā)技術(shù),同時(shí)要掌握軟件過程模型,重點(diǎn)為CMM體系。根據(jù)本模型框架,可以裁剪為如下內(nèi)容:
1) 具體一門技術(shù);
2) 一個(gè)簡(jiǎn)單的應(yīng)用模型;
3) 財(cái)務(wù)系統(tǒng)分析工作;
4) 基礎(chǔ)軟件工程學(xué);
5)PSP規(guī)范、TSP規(guī)范、財(cái)務(wù)管理標(biāo)準(zhǔn)及規(guī)范。
(3) 復(fù)合模式
復(fù)合模式主要培養(yǎng)學(xué)生的領(lǐng)域問題解決能力、掌握軟件開發(fā)技術(shù),同時(shí)要求掌握軟件過程模型,重點(diǎn)為CMM體系。根據(jù)本模型框架,可以裁剪為如下內(nèi)容:
1) 具體一門技術(shù);
2) 一個(gè)中等難度的應(yīng)用模型;
3) 財(cái)務(wù)系統(tǒng)分析工作;
4) 基礎(chǔ)軟件工程學(xué);5)PSP規(guī)范、TSP規(guī)范、財(cái)務(wù)管理標(biāo)準(zhǔn)及規(guī)范。
(4) 高級(jí)模式(研究生)
高級(jí)模式主要培養(yǎng)學(xué)生的領(lǐng)域問題分析能力、掌握建模技術(shù)、開發(fā)技術(shù)、管理技術(shù),同時(shí)要掌握軟件過程模型,重點(diǎn)為CMM體系;這個(gè)模式需要學(xué)生已經(jīng)具備良好的軟件開發(fā)技術(shù)和軟件工程學(xué)原理。根據(jù)本模型框架,可以裁剪為如下內(nèi)容:
1) 一個(gè)大的應(yīng)用模型;
2) PSP規(guī)范、TSP規(guī)范、CMM規(guī)范、財(cái)務(wù)管理標(biāo)準(zhǔn)及規(guī)范。
2.4實(shí)施部驟
該模型的實(shí)施步驟如下:
(1) 模型集構(gòu)建
1) 收集已經(jīng)完成的應(yīng)用項(xiàng)目;
2) 項(xiàng)目歸類;
3) 項(xiàng)目抽象成應(yīng)用模型;
4) 給出評(píng)測(cè)標(biāo)準(zhǔn)(規(guī)范)。
(2) 確定實(shí)現(xiàn)模式
1) 了解學(xué)生基礎(chǔ)情況;
2) 測(cè)試學(xué)生的能力;
3) 選定一個(gè)實(shí)現(xiàn)模式。
(3) 學(xué)時(shí)安排包括
1) 新技術(shù)培訓(xùn);
2) 項(xiàng)目開發(fā)、評(píng)測(cè);
3) 總體評(píng)測(cè)、評(píng)分。
3結(jié)束語(yǔ)
企業(yè)財(cái)務(wù)電算化的普及,是提高企業(yè)科學(xué)管理水平、增強(qiáng)競(jìng)爭(zhēng)力的核心。培養(yǎng)既懂財(cái)務(wù)、又會(huì)軟件設(shè)計(jì)、同時(shí)具備軟件過程規(guī)范的復(fù)合型人才是企業(yè)的需要,同時(shí)也是金融財(cái)務(wù)類院校的責(zé)任。有效的軟件課程設(shè)計(jì)的教學(xué)模式是培養(yǎng)復(fù)合型人才的關(guān)鍵,本文提出的模型對(duì)這方面進(jìn)行了初步探討。有關(guān)具體內(nèi)容還需在實(shí)際的教學(xué)過程中細(xì)化、研究。
摘要:專業(yè)建設(shè)只有根據(jù)社會(huì)產(chǎn)業(yè)需求進(jìn)行才有生命力。隨著現(xiàn)代服務(wù)業(yè)的快速發(fā)展,社會(huì)急需創(chuàng)意與軟件設(shè)計(jì)人員,所以重點(diǎn)建設(shè)好創(chuàng)意與軟件設(shè)計(jì)類專業(yè),培養(yǎng)適應(yīng)軟件、創(chuàng)意設(shè)計(jì)等現(xiàn)代高端服務(wù)業(yè)發(fā)展要求的有用、適用人才是當(dāng)務(wù)之急。本文闡述了上述觀點(diǎn)。
關(guān)鍵詞:創(chuàng)意產(chǎn)業(yè);現(xiàn)代服務(wù)業(yè);軟件產(chǎn)業(yè);專業(yè)建設(shè)
1專業(yè)設(shè)置的必要性
為加快無錫國(guó)家動(dòng)畫產(chǎn)業(yè)基地建設(shè),促進(jìn)動(dòng)漫產(chǎn)業(yè)發(fā)展,無錫市政府先后出臺(tái)《市政府關(guān)于鼓勵(lì)和扶持動(dòng)漫產(chǎn)業(yè)的若干政策意見》和相關(guān)補(bǔ)充條款。為加快發(fā)展我市軟件產(chǎn)業(yè),加快經(jīng)濟(jì)增長(zhǎng)方式轉(zhuǎn)變,無錫市政府又制定了《市政府關(guān)于加快無錫市軟件產(chǎn)業(yè)發(fā)展的意見》,要求到“十一五”期末,無錫要培育一批骨干龍頭軟件企業(yè),要成為江蘇省內(nèi)乃至國(guó)內(nèi)重要的軟件產(chǎn)業(yè)基地之一,到2010年要完成軟件業(yè)銷售收入300億元,全市擁有省認(rèn)定的軟件企業(yè)200家。為搶抓國(guó)際服務(wù)外包轉(zhuǎn)移機(jī)遇,加快集聚國(guó)際服務(wù)外包和軟件出口企業(yè),把無錫太湖保護(hù)區(qū)建設(shè)成 “中國(guó)服務(wù)外包示范區(qū)”,無錫市人民政府制訂了《市政府關(guān)于集聚國(guó)際服務(wù)外包和軟件出口企業(yè)“123”計(jì)劃的政策意見》,提出到2010年末,全市要集聚國(guó)際服務(wù)外包和軟件出口企業(yè)100家,每家企業(yè)從業(yè)人員超過2000人,年出口超過3000萬美元。
產(chǎn)業(yè)發(fā)展、人才需求對(duì)職業(yè)教育提出了新要求,同時(shí)也為職業(yè)教育提供了新機(jī)遇。我校將緊緊抓住這一機(jī)遇,以服務(wù)為宗旨,以就業(yè)為導(dǎo)向,總結(jié)現(xiàn)有動(dòng)漫、軟件和設(shè)計(jì)專業(yè)的辦學(xué)經(jīng)驗(yàn),開設(shè)創(chuàng)意與軟件設(shè)計(jì)類專業(yè),重點(diǎn)培養(yǎng)無錫服務(wù)外包產(chǎn)業(yè)發(fā)展所需的軟件、創(chuàng)意設(shè)計(jì)、動(dòng)漫影視類中端及實(shí)用性人才。
2專業(yè)設(shè)置的可行性
學(xué)校信息類和藝術(shù)類專業(yè)已開設(shè)多年,形成了一支結(jié)構(gòu)合理、業(yè)務(wù)精良的師資隊(duì)伍,取得了明顯的辦學(xué)成果,為創(chuàng)意與軟件設(shè)計(jì)類專業(yè)建設(shè)奠定了良好的基礎(chǔ)。學(xué)校早在上個(gè)世紀(jì)80年代初就引進(jìn)計(jì)算機(jī)課程教學(xué),1993年設(shè)置計(jì)算機(jī)技術(shù)及應(yīng)用專業(yè),并很快開發(fā)出軟件、維修、網(wǎng)絡(luò)等專業(yè)發(fā)展方向。順應(yīng)地方經(jīng)濟(jì)發(fā)展對(duì)人才的要求,1999年學(xué)校又設(shè)置多媒體制作專業(yè)。2004年,在全國(guó)的同類型學(xué)校中,率先與印度國(guó)家信息技術(shù)學(xué)院(NIIT)合作,培養(yǎng)軟件開發(fā)人才。2006年與匯眾益智科技有限公司合作,培養(yǎng)游戲人才。2007年增設(shè)影視動(dòng)漫專業(yè),并于同年秋季首次招生。
學(xué)校擁有一支專兼職結(jié)合,結(jié)構(gòu)合理的專業(yè)教師隊(duì)伍。學(xué)校現(xiàn)有信息和藝術(shù)設(shè)計(jì)類專業(yè)教師44人,其中高級(jí)職稱教師11人,中高級(jí)職稱教師占本專業(yè)教師的62%。享有國(guó)務(wù)院津貼專家1人,特級(jí)教師2人,省市級(jí)骨干教師9人。雙師型教師26人,現(xiàn)已參加NIIT培訓(xùn)8人,參加游戲動(dòng)漫培訓(xùn)并獲得相關(guān)技能證書6人。21人碩士研究生畢業(yè)或在職攻讀碩士學(xué)位。學(xué)校還擁有一支由行業(yè)專家、企業(yè)技術(shù)骨干組成的兼職教師隊(duì)伍。他們參與專業(yè)開發(fā)、課程改革和教學(xué)活動(dòng),是學(xué)校的寶貴資源。
學(xué)校堅(jiān)持從產(chǎn)業(yè)結(jié)構(gòu)調(diào)整和社會(huì)崗位的變化來謀劃專業(yè)設(shè)置,堅(jiān)持面向職業(yè)需求,以培養(yǎng)學(xué)生能力為本位實(shí)施課程改革,加強(qiáng)專業(yè)建設(shè)。2004年計(jì)算機(jī)技術(shù)及應(yīng)用專業(yè)被評(píng)為江蘇省示范專業(yè),2007年“FLASH動(dòng)畫制作”課程被評(píng)為無錫市優(yōu)秀課程。在校學(xué)生參加各級(jí)各類技能大賽,多次獲獎(jiǎng)。
學(xué)校已建成“三中心五室”實(shí)訓(xùn)基地。“三中心”為網(wǎng)絡(luò)中心、信息技術(shù)研發(fā)中心、計(jì)算機(jī)技能綜合實(shí)訓(xùn)中心;“五室”為游戲動(dòng)畫制作實(shí)訓(xùn)室、NIIT軟件開發(fā)實(shí)訓(xùn)室、計(jì)算機(jī)網(wǎng)絡(luò)實(shí)訓(xùn)室、多媒體工作室和美術(shù)基礎(chǔ)實(shí)訓(xùn)室。基本滿足當(dāng)前教學(xué)需要。
3專業(yè)設(shè)置方案
(1) 專業(yè)設(shè)置、學(xué)制和培養(yǎng)目標(biāo)
培養(yǎng)目標(biāo):培養(yǎng)大專層次的創(chuàng)意與軟件設(shè)計(jì)產(chǎn)業(yè)所需的中端及實(shí)用型技能人才,見表1。
學(xué)制:初中起點(diǎn)五年。
(2) 教學(xué)設(shè)施和實(shí)訓(xùn)基地建設(shè)
學(xué)校將本著配套、實(shí)用、先進(jìn)的原則,加大投入,增添創(chuàng)意與軟件設(shè)計(jì)類專業(yè)教學(xué)所需的設(shè)施設(shè)備,并建成1200O的校內(nèi)實(shí)訓(xùn)基地,見表2。
說明:動(dòng)漫實(shí)訓(xùn)基地包括渲染工作室、手繪工作室、模型工作室、美術(shù)工作室、動(dòng)作捕捉室、影視高端實(shí)訓(xùn)室、專家指導(dǎo)工作室、攝影棚、放映室、衍生產(chǎn)品工作室等。
基地建成后,學(xué)校還將以此為載體,面向社會(huì)開展技能培訓(xùn)和職業(yè)資格認(rèn)定;主動(dòng)迎接企業(yè)教育社會(huì)化的任務(wù),承接企業(yè)訂單,參與企業(yè)技術(shù)改造和產(chǎn)品研發(fā),使其成為產(chǎn)教研合作的新平臺(tái)。
(3) 教師隊(duì)伍建設(shè)
專業(yè)建設(shè),教師是關(guān)鍵。除借助國(guó)家、省、市已有的各類師資培訓(xùn)途徑培養(yǎng)教師外,學(xué)校擬針對(duì)專業(yè)教師專業(yè)知識(shí)豐富、實(shí)踐經(jīng)驗(yàn)不足、動(dòng)手能力不強(qiáng)的現(xiàn)實(shí),加強(qiáng)校本培養(yǎng)和培訓(xùn)。一方面學(xué)校將花大力氣從企業(yè)引進(jìn)有志于學(xué)校教育的實(shí)用型專業(yè)技術(shù)人才;另一方面繼續(xù)推行專業(yè)教師下企業(yè)實(shí)踐的制度,每年至少選派一位教師下大企業(yè)進(jìn)行為期6個(gè)月到1年的實(shí)踐。另外,學(xué)校還設(shè)想依托已有的“大昭”工作室,鼓勵(lì)教師搞專業(yè)開發(fā)、技術(shù)改造、技術(shù)創(chuàng)新和產(chǎn)品生成,培養(yǎng)本專業(yè)的技術(shù)領(lǐng)袖。
(4) 教材建設(shè)
教材建設(shè)是專業(yè)建設(shè)的重要內(nèi)容,但目前這類專業(yè)可供選擇的教材不多。學(xué)校將根據(jù)教學(xué)計(jì)劃、教學(xué)大綱選擇優(yōu)秀教材,并根據(jù)前期開設(shè)NIIT軟件技術(shù)、游戲動(dòng)漫等專業(yè)的經(jīng)驗(yàn),繼續(xù)引進(jìn)與國(guó)際接軌、符合企業(yè)要求的優(yōu)質(zhì)教育資源,還將組織教師自主開發(fā)、編寫順應(yīng)產(chǎn)業(yè)發(fā)展、適合于教學(xué)、有利于提高學(xué)生動(dòng)手能力的教材,見表3。
(5) 校企合作
職業(yè)教育的本質(zhì)是向企業(yè)提供人力資源,所以職業(yè)院校和企業(yè)有著天然的聯(lián)系,校企合作就成為學(xué)校和企業(yè)的共同選擇。下一階段,學(xué)校將繼續(xù)加強(qiáng)與企業(yè)的合作,在為企業(yè)輸送人才的同時(shí),依托企業(yè)培養(yǎng)師資和學(xué)生,實(shí)現(xiàn)“雙贏”。
根據(jù)無錫產(chǎn)業(yè)的發(fā)展走向,動(dòng)漫影視、動(dòng)漫游戲、軟件、創(chuàng)意設(shè)計(jì)類人才的需求是大量的。我們將延續(xù)學(xué)校近百年辦學(xué)所形成的厚重文化,解放思想、搶抓機(jī)遇,提升傳統(tǒng)優(yōu)勢(shì)專業(yè),拓展創(chuàng)意與軟件設(shè)計(jì)等新專業(yè),為無錫經(jīng)濟(jì)跨越式發(fā)展提供智力支持和人才支撐。