中文久久久字幕|亚洲精品成人 在线|视频精品5区|韩国国产一区

歡迎來到優(yōu)發(fā)表網(wǎng)!

購物車(0)

期刊大全 雜志訂閱 SCI期刊 期刊投稿 出版社 公文范文 精品范文

軟件設(shè)計畢業(yè)論文

時間:2022-05-06 04:33:52

序論:在您撰寫軟件設(shè)計畢業(yè)論文時,參考他人的優(yōu)秀作品可以開闊視野,小編為您整理的1篇范文,希望這些建議能夠激發(fā)您的創(chuàng)作熱情,引導(dǎo)您走向新的創(chuàng)作高度。

軟件設(shè)計畢業(yè)論文

軟件設(shè)計畢業(yè)論文:面向服務(wù)架構(gòu)的ERP軟件設(shè)計新思路

摘要:傳統(tǒng)構(gòu)架下的ERP軟件,在實際應(yīng)用中出現(xiàn)了許多問題。文章介紹了一種新的軟件架構(gòu)方法――面向服務(wù)架構(gòu)(SOA)的理念及其特點,并對面向服務(wù)架構(gòu)的ERP和面向?qū)ο蠹軜?gòu)的ERP分別在體系結(jié)構(gòu)和開發(fā)方法上作比較,最后選取SAP公司的NetWeaver和ESA產(chǎn)品設(shè)計理念作為案例,進一步闡述了SOA思想在ERP設(shè)計中的應(yīng)用特點和優(yōu)勢。

關(guān)鍵詞:面向服務(wù)架構(gòu)(SOA);面向?qū)ο蠹軜?gòu)(OOA);軟件設(shè)計

0 引言

ERP由最初的財務(wù)軟件逐漸發(fā)展起來,內(nèi)容越來越豐富,功能也越來越齊全[1]。到目前為止,ERP的產(chǎn)品模式最常見的有兩種:通用型ERP和專業(yè)型ERP。通用型ERP,顧名思義,是適用于多種行業(yè)的套裝軟件。通過對其進行二次開發(fā)、系統(tǒng)配置,達到滿足不同行業(yè)的管理信息化需求。它的拓展性好、通用性高,成為目前的主流。專業(yè)型ERP,也稱之為行業(yè)型軟件,是專門針對某一特定(或相近)行業(yè)設(shè)計和定制的,便于滿足目標(biāo)行業(yè)的個性化管理需求。

但這兩種ERP產(chǎn)品都存在各自的缺陷,從而導(dǎo)致了應(yīng)用實施過程中出現(xiàn)了很多問題,最終以失敗告終的案例也不在少數(shù)。如通用型ERP,它的優(yōu)點也正是它缺點所在。通用代表了缺乏個性,流程固化,不能針對不同企業(yè)做出有效的變化,只能通過企業(yè)進行業(yè)務(wù)流程再造,來滿足ERP產(chǎn)品的需求,忽視了企業(yè)的個性化需求;專業(yè)型ERP的最大缺陷是它的開發(fā)成本高,使企業(yè)望而卻步,同時適用的企業(yè)并不多,所以這種專用型ERP,企業(yè)很少主動開發(fā),往往是在目標(biāo)企業(yè)提出某種需求的前提之下,進行定制開發(fā),需要很高的成本。

傳統(tǒng)ERP產(chǎn)品存在的這些缺陷,大部分原因是其架構(gòu)理念的落后,開發(fā)方法的局限。現(xiàn)在,面向服務(wù)架構(gòu)(SOA,Service Oriented Architecture)這種新的架構(gòu)理念被引入到ERP軟件的設(shè)計與開發(fā)中,為傳統(tǒng)ERP產(chǎn)品走出困境帶來了希望,為ERP領(lǐng)域的又一次革命性的飛躍奠定了基礎(chǔ)。

1 面向服務(wù)架構(gòu)SOA

早在1996 年,Gartner Group就已經(jīng)明確地提出了SOA的理念,但目前尚未有一個統(tǒng)一的、業(yè)界廣泛接受的定義[2]。IBM的高級軟件工程師李珉先生說過,不同行業(yè)的人可以從不同的視角來理解SOA,從程序員的角度,SOA是一種全新的開發(fā)技術(shù),新的組件模型,比如說Web Service;從架構(gòu)設(shè)計師的角度,SOA就是一種新的設(shè)計模式,方法學(xué);從業(yè)務(wù)分析人員的角度,SOA就是基于標(biāo)準(zhǔn)的業(yè)務(wù)應(yīng)用服務(wù)。

一般認為:SOA――面向服務(wù)架構(gòu)是一個組件模型,它將應(yīng)用程序的不同功能單元――服務(wù),通過服務(wù)間定義良好的接口和契約聯(lián)系起來。接口采用中立的方式定義,獨立于具體實現(xiàn)服務(wù)的硬件平臺、操作系統(tǒng)和編程語言,使得構(gòu)建在這樣系統(tǒng)中的服務(wù)可以使用統(tǒng)一和標(biāo)準(zhǔn)的方式進行通信。其中服務(wù),是指僅基于兩個組件接口之間的契約,由一個組件提供其行為方法給另一個使用。

SOA中一般都包含三個角色:服務(wù)的提供者、服務(wù)的請求者、服務(wù)[3]。三個角色是根據(jù)對服務(wù)提出不同的需求和行使的不同功能來劃分的。它們的關(guān)系可以簡單理解為:服務(wù)的提供者將它提供服務(wù)的具體描述在服務(wù),以方便服務(wù)的請求者查詢;服務(wù)的請求者通過對服務(wù)搜索,查找到需要的服務(wù)及其提供者的地址;最后是服務(wù)的提供者與服務(wù)的請求者進行直接的綁定,完成服務(wù)(見圖1)。 舉個最簡單的例子,我們?nèi)粢诰W(wǎng)上下載一首歌,先可以通過搜索引擎GOOGLE等,搜索可下載這首歌的網(wǎng)站,獲知這首歌的免費下載的地址,最后我們直接鏈接這個地址下載歌。在這個過程,網(wǎng)站即相當(dāng)于一個服務(wù),我們是服務(wù)的請求者,而最后那個下載地址背后的服務(wù)器為服務(wù)的提供者。

圖1SOA 三者關(guān)系圖

SOA主要特征是將應(yīng)用程序功能包裝成服務(wù),服務(wù)間彼此獨立,可單獨作為組件使用。它具備松散耦合,提供粗粒度的服務(wù)和標(biāo)準(zhǔn)化的接口等。SOA旨在提供一個通用的,可互操作的和有彈性的行業(yè)標(biāo)準(zhǔn)架構(gòu),可以在軟件基礎(chǔ)架構(gòu)之上建立一系列可重復(fù)利用的服務(wù),實現(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ù)庫[4]。在這種體系結(jié)構(gòu)下,其客戶端訪問存在很多的問題。如表現(xiàn)層在訪問業(yè)務(wù)邏輯層的各個業(yè)務(wù)對象時,一個客戶端可能同時訪問多個業(yè)務(wù)對象,一個業(yè)務(wù)對象也可能同時被多個不同的客戶端訪問。因此它們之間關(guān)系雜亂、復(fù)雜,造成層與層之間的耦合性強;表現(xiàn)層與業(yè)務(wù)邏輯層相互依賴,訪問接口不是公開標(biāo)準(zhǔn)的,而是依賴于特定的接口函數(shù),一旦其中的某一層發(fā)生改變,其接口函數(shù)也要作相應(yīng)的改變,導(dǎo)致系統(tǒng)地擴展性和維護性差(見圖2)。

圖2傳統(tǒng)ERP體系結(jié)構(gòu)

將SOA思想引入ERP軟件的設(shè)計開發(fā)之后,其傳統(tǒng)的三層體系結(jié)構(gòu),將會在概念上演變?yōu)樗膶咏Y(jié)構(gòu),包括表現(xiàn)層、服務(wù)層、業(yè)務(wù)邏輯層和數(shù)據(jù)庫。其中,服務(wù)層是抽象層,是獨立的、由可重用的、基于標(biāo)準(zhǔn)的服務(wù)組成。每一個具體的服務(wù)包含了接口部分和實現(xiàn)部分,其接口部分定義了服務(wù)使用者和服務(wù)提供者進行程序訪問的契約;實現(xiàn)部分包含了服務(wù)作用和商業(yè)邏輯等信息(見圖3)。

由圖3與圖2比較可以清楚地看到兩者的區(qū)別,SOA架構(gòu)的四層體系結(jié)構(gòu),客戶端并不像傳統(tǒng)的體系結(jié)構(gòu)直接調(diào)用業(yè)務(wù)對象實現(xiàn)最終目的,而是通過調(diào)用一個獨立的服務(wù),服務(wù)再調(diào)用相關(guān)的業(yè)務(wù)對象去實現(xiàn)最終目的。由于它調(diào)用服務(wù)的接口包含在服務(wù)層內(nèi),所以,各個層之間都是獨立的、松耦合的,沒有很強的依賴性。任何一層發(fā)生變化,只要接口不變,不會影響服務(wù)的實現(xiàn),有利于系統(tǒng)地擴展和維護。

因此,設(shè)想以SOA思想實現(xiàn)的ERP軟件,具備很強的彈性,可以根據(jù)不用企業(yè)的不同需求進行調(diào)整,符合企業(yè)的個性化需求,具體會在后面的實例中說明。

圖3 SOA四層體系結(jié)構(gòu)

2.2采用SOA和OOA進行ERP軟件設(shè)計開發(fā)的區(qū)別

ERP軟件發(fā)展至今,它的開發(fā)方法由最初的面向過程(POA)的開發(fā)方法,發(fā)展到面向?qū)ο螅∣OA),至現(xiàn)在提出的面向服務(wù)(SOA)的開發(fā)方法[5]。面向?qū)ο蟮拈_發(fā)方法是目前ERP軟件開發(fā)中的主流技術(shù),但它本身存在很多的缺陷。它對編程語言有很強的依賴性,封裝粒度小,耦合度高,未形成標(biāo)準(zhǔn)的模型和概念,從而難以形成標(biāo)準(zhǔn)和開發(fā)規(guī)范,不能達到軟件重用的可移植性和互操作性,產(chǎn)生了大量的“對象孤島”。

相對于傳統(tǒng)的面向?qū)ο篌w系結(jié)構(gòu)的緊耦合,SOA是一個粗粒度、松耦合的面向服務(wù)架構(gòu),其服務(wù)之間通過公開、精確定義的接口進行通訊,不涉及底層具體編程接口和通訊模型,服務(wù)與服務(wù)之間是相互獨立的,且服務(wù)可以被重復(fù)調(diào)用,也可以被任何潛在需求者調(diào)用。

以下是某公司針對訂購產(chǎn)品這一實務(wù)做出的一系列數(shù)據(jù)處理的例子,分別從面向?qū)ο蠹軜?gòu)與面相服務(wù)架構(gòu)這兩種不同架構(gòu)理念對軟件設(shè)計開發(fā)的不同要求做出的比較(見圖4)。

面向?qū)ο笤O(shè)計中,公司在生產(chǎn)和銷售產(chǎn)品的時候,是根據(jù)收到的采購訂單進行的。采購訂單有很多屬性,但它的訂單編號是唯一的。根據(jù)其訂單編號,編制公司的銷售訂單。根據(jù)其銷售訂單中產(chǎn)品清單編號主碼,關(guān)系到產(chǎn)品清單。最后根據(jù)其具體產(chǎn)品編號關(guān)系到產(chǎn)品目錄,一層一層的處理數(shù)據(jù)。以上過程,就是軟件面向?qū)ο蠹軜?gòu)的最基本思路,對象之間繼承關(guān)系的依賴性很強,層層相扣。因此,對象的分析與設(shè)計及編程實現(xiàn),要求很高,也很復(fù)雜。

圖4面向?qū)ο蠹軜?gòu)與面向服務(wù)架構(gòu)

現(xiàn)采用面向服務(wù)架構(gòu)思想對軟件進行開發(fā)??梢园阉邢嚓P(guān)的主體分為三個層次,從基礎(chǔ)的對象層,到由不同對象組成的組件層,至最終的服務(wù)層。關(guān)于這項訂購實務(wù),公司要處理的有四個基本對象,采購方信息處理,采購訂單,產(chǎn)品清單,與產(chǎn)品目錄;組件層包括采購方信息和單據(jù)兩個實體;而它們都包含在訂購產(chǎn)品這項服務(wù)中。那么公司在開發(fā)這項訂購產(chǎn)品服務(wù)的時候,可以把它分為若干部分,從對象這個最小粒度開始,再組合成不同的組件,到最終完成一項服務(wù)。這樣對開發(fā)人員技術(shù)的要求會低一點,且不同部門可同時進行軟件開發(fā)。

這里需要說明的是,SOA并不是OOA的完全替代,如開發(fā)人員對單個對象,或組件乃至整個服務(wù)采用面向?qū)ο蟮募軜?gòu)設(shè)計,但在整體上是面向服務(wù)的,主要原因是接口的設(shè)計。

2.3 SAP的NetWeaver平臺和ESA思想

目前,SOA的思想被越來越多的用于ERP產(chǎn)品的開發(fā)上,ERP產(chǎn)品的巨頭SAP也不例外。企業(yè)服務(wù)架構(gòu)ESA就是SAP基于SOA的思想提出的新產(chǎn)品的模式。提到ESA就不得不提到它的另一個產(chǎn)品NetWeaver,因為企業(yè)服務(wù)架構(gòu)是建立在這個技術(shù)平臺之上的。

NetWeaver是SAP于04年正式推出的一個產(chǎn)品,它是一個底層技術(shù)平臺,SAP的很多新產(chǎn)品的應(yīng)用都是跑在這個平臺上,相當(dāng)于一個中間件產(chǎn)品。它主要提供了以下四方面的功能,人員集成,信息集成,流程集成和應(yīng)用平臺。它是由交換架構(gòu)XI,主數(shù)據(jù)管理MDM,解決管理Solution Manager等組件構(gòu)成。它是目前支持所有SAP應(yīng)用的基礎(chǔ)產(chǎn)品,是企業(yè)應(yīng)用軟件的開發(fā)平臺、同時又為企業(yè)搭建一個基于NetWeaver的面向服務(wù)的IT架構(gòu)。

SAP的企業(yè)服務(wù)架構(gòu)并不是簡單的技術(shù)層面的SOA,而是面向企業(yè)層面的,它將原有的ERP、SCM、PLM等模塊在NetWeaver這個技術(shù)平臺上集成,組合成業(yè)務(wù)流程平臺(見圖5)。企業(yè)在這一個平臺上可以共享很多組件,不同的企業(yè)也可以根據(jù)不同的需求,增加或選用不同的企業(yè)服務(wù)庫,或自主開發(fā)部分功能,實現(xiàn)企業(yè)的個性化。

圖5 SAP NetWeaver平臺業(yè)務(wù)組件

SAP的一位主管曾作過這樣一個比喻,將軟件的企業(yè)服務(wù)架構(gòu)化比作電路的集成化。集成塊(IC)本身是功能模塊化設(shè)計的,但它是更復(fù)雜電路的基本組件,設(shè)計一個個的集成塊,把他們組成電子設(shè)備,而不再是從電阻、電容、電感、晶體管等基本元件來組建電路。以后軟件業(yè)業(yè)一樣,要設(shè)計這些“集成塊”和利用這些“集成塊”,這些“集成塊”就是企業(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等,說明其理念是先進的,相對于傳統(tǒng)的架構(gòu)模式存在很大優(yōu)勢。本文也具體闡述了其存在的優(yōu)勢,但大部分也只存在于理論,因每個公司對SOA的理解各不相同,基于此理論設(shè)計開發(fā)出的產(chǎn)品也是各有特點,沒有得到一致的公認。

本文分析了SAP基于SOA思想提出的ESA這個思想,其最終產(chǎn)品仍處于開發(fā)階段,只能對其主導(dǎo)思想略為闡述?,F(xiàn)在是SOA亂戰(zhàn)時代,但可以預(yù)見,隨著SOA思想的發(fā)展和完善,以及在軟件業(yè)的廣泛應(yīng)用,它的優(yōu)勢會逐步顯現(xiàn)出來,為傳統(tǒng)的ERP軟件帶來革命性的轉(zhuǎn)變。

軟件設(shè)計畢業(yè)論文:如何利用嵌入式軟件設(shè)計SoC

美國Globalpress公司舉辦的2007電子高峰會議上,舉辦了一場SoC(系統(tǒng)芯片)的專題討論會:設(shè)計師如何利用嵌入式軟件作為SoC器件設(shè)計的關(guān)鍵。會議上的專家各抒己見。

完整方案比單個硬件重要

主持人:Gartner公司的高級分析師JohnBarber

軟件在嵌入式產(chǎn)品中的份量越來越重。自2000年來,價值觀念發(fā)生了巨大的變化,2000年以前,主張是器件,即讓我們的器件與競爭對手的性能、品質(zhì)進行對比具有優(yōu)勢,這就是那時形成鮮明特色的關(guān)鍵。現(xiàn)今,制造商和客戶需要的是解決方案,而不僅僅是器件。我的價值主張,我的鮮明特色,必須是完整的解決方案,包括與硬件一塊推出的可以立即投入大批量制造的軟件棧。

硬件與軟件將設(shè)法整合到單個流程

Mentor Graphics系統(tǒng)級設(shè)計總監(jiān)BillChown

我們過去所從事的是硬件設(shè)計,現(xiàn)在則還需要輔以軟件應(yīng)用方面的大量工作。但這兩者的“婚姻”卻并不幸福。在兩者之間,我們需要填補在基礎(chǔ)架構(gòu)方面的鴻溝,如今的硬件小是從頭設(shè)計的,需要進行基礎(chǔ)架構(gòu)的復(fù)用。需要復(fù)用的包括處理單元、內(nèi)存、接口器件……許多基礎(chǔ)設(shè)計事先已經(jīng)被人們所了解、得到了分析和預(yù)先進行了配置。我們需要把它插入到系統(tǒng)中,提供針對硬件的軟什能力,以及針對具體應(yīng)用的軟件能力。在用戶對硬件和應(yīng)用軟件的使用目標(biāo)的這兩個空間之間,我們必,壩確保能讓他們尋求到與他們的具體需求相應(yīng)的問題所在,但是最大限度減小他們仡存兩個空間之間的工作量。

EDA代表電子沒計自動化,但我們有時候會迷失,而忘卻了“自動化”一詞正是我們在這個空間中應(yīng)該完成的工作。我們應(yīng)該回顧在這個流程中應(yīng)該實現(xiàn)自動化的對象是什么?那并不僅僅意味著工具的改進,而且意味著我們能通過標(biāo)準(zhǔn)化來簡化問題。

總結(jié)一下,我們能讓人們?nèi)プ龅氖虑?,是從一個任系統(tǒng)空間中的概念設(shè)計,一直到完成整個流程??钤O(shè)計上的革新是關(guān)鍵,我們需要靈活多樣;隨著設(shè)計的進行,我們需要嘗試不同的解決方案。如果我不知道我往做什么,就無法去嘗試替代方案。所以良好的分析將告訴我,我所做的工作將會把我?guī)蚝畏?。這些不同的任務(wù)中的每一項,都對應(yīng)著每一個團隊所從事的領(lǐng)域。因此,這是一個復(fù)雜的世界,但我們將設(shè)法將其整合到一起。在實現(xiàn)整合的過程中,我們應(yīng)該能加速、改動,并將來自于不同領(lǐng)域的軟件與硬件、系統(tǒng)與驗證集成到單個流程中。

軟件的關(guān)鍵作用是保證批量

MIPS Technologies公司市場行銷副總裁Jack Browne

在SoC設(shè)計時,我們所面臨的挑戰(zhàn)是多方面的。首先我們希望能向市場上推出種類多樣的產(chǎn)品。以MIPS公司為例,有3種不同的微架構(gòu)系列,10種不同的處理器內(nèi)核。我們必須具有某種能讓我們能投入制造的業(yè)務(wù)模式,因為本公司的業(yè)務(wù)模式是基于IP(知識產(chǎn)權(quán))使用費的,我們的年收入的一半來自于授權(quán)和版權(quán)使用費??蛻舻漠a(chǎn)品要達到制造批量,交貨則需要3-4年;他們拿到所設(shè)計出的芯片,要2年,然后他們再讓OEM來設(shè)計出系統(tǒng),而這又要花上2年。所以,該供應(yīng)鏈有一個問題:如果我的收入嚴(yán)格取決于制造批量,你應(yīng)該如何來支付這些開發(fā)的費用?費用的支付要延后4年,財經(jīng)界是不能容忍戰(zhàn)略性項目上的虧損的,你必須展示出業(yè)務(wù)的良好性。

另外一個挑戰(zhàn)是,你希望進入不同的、類型各異的市場。其中每個市場的成功的臨界數(shù)量(客戶數(shù)量)是不同的。同時你還必須支持不同的OS(操作系統(tǒng))。你必須有解決所有這些問題的方案。我們的做法是,承認人們有一個平臺。軟件,無論是Linux還是其他的實時操作系統(tǒng),一直到應(yīng)用層次。我們所追求的關(guān)鍵一點,是使用硬件抽象層。從根本上來說,如果我有兩家不同的客戶,他們決定購買不同的套裝,或者甚至不同的USB控制器,則通過硬件抽象層,如你的PC中的BIOS,我可以實現(xiàn)不同的偏好,而不用移植操作系統(tǒng)。

你去考察供應(yīng)鏈上的不同玩家的商業(yè)模式的話,就會發(fā)現(xiàn),將操作系統(tǒng)移植到另一個硬件平臺上的工作并不能提供多少余地。如果你所選擇的應(yīng)用不對路的化,則很難實現(xiàn)足夠的產(chǎn)量。如果你考察如今的標(biāo)準(zhǔn)數(shù)字電視的話,就會發(fā)現(xiàn)其中有些采用了300萬行的軟件。而你將看到2年后的HDTV將采用500萬行的軟件,而且其中有16個處理器,用于處理不同的任務(wù)。

所以軟件的關(guān)鍵作用就是保證批量。如何找到一個合理的財經(jīng)運作模式,是EDA、IP公司、半導(dǎo)體公司、軟件公司共同努力解決的挑戰(zhàn)。

多處理器的軟件設(shè)計法

Tensilica公司市場行銷副總裁SteveRoddy

軟件的重要性到底有多高?有人認為市場規(guī)模尚小,有些人認為它很重要,另一些人則主張我們處在一個臨界階段,許多軟件都實現(xiàn)了移植。

3種現(xiàn)點也許都是正確的,具體取決于其市場。但我想退一步思考一下處理器也許倒也無妨。一個有趣的問題是,如今和未來的應(yīng)用應(yīng)該需要多少個處理器?這里借用ITRS(國際半導(dǎo)體技術(shù)發(fā)展路線圖),來展示在每個工藝節(jié)點對應(yīng)著的、每個SoC上平均使用的處理器的數(shù)量(圖2)。當(dāng)前,ITRS宣稱每個SoC上平均有32個可編程器件。我們知道,有些可能數(shù)量會多些,有些則少些。Tensilica與Cisco合作,推出了基于130nm節(jié)點的、采用192個處理器的設(shè)計。所以處理器的數(shù)量會出現(xiàn)迅速增長。而軟件正是在此之上運行的。

是的,軟件的復(fù)雜程度和架構(gòu)的復(fù)雜程度都正在增加。即便處理器的數(shù)量在增長,它們并不全都一模一樣。這些器件上將出現(xiàn)多樣化的處理器。

關(guān)于嵌入式的設(shè)計,很明顯的一點是,軟件的形式必然迥異于普通的通用型軟件。事實上,嵌入式世界迥異于與通用型軟件世界。在通用型應(yīng)用的世界中,如Intel和AMD,在處理器上運行的軟件在器件開始推出時尚不為人所知。因此一般采用通用型的計算,對于通用型的計算,人們采用通用的SMP Die Bucket架構(gòu)。在嵌入式世界中,如果你設(shè)計用于路由器的芯片的話,它就是供路由器專用的。優(yōu)點就在于你知道器件的用途,所以其設(shè)計會針對具體應(yīng)用進行優(yōu)化,讓人們能利用專用的處理器,如可重構(gòu)的和可擴展的處理器,以節(jié)省面積、成本和功耗。因此兩者的設(shè)計之道大相徑庭。擁有許多可重編程的處理器,并不意味著你有一個全新的世界。系統(tǒng)架構(gòu)和硬件架構(gòu)研發(fā)者努力解決這個問題已經(jīng)有幾十年了。他們將其稱為SoC,現(xiàn)在人們以處理器為單位進行設(shè)計,而不是硬件模塊,他們在系統(tǒng)中引入了許多軟件的東西。但這并不意味著在設(shè)計這些東西的方式上會遇到什么危機。

設(shè)計這些系統(tǒng)的風(fēng)格,仍然具有一個SoC 只有一個處理器的年代的SoC設(shè)計、架構(gòu)所具備的那種多樣性。你可以讓處理器間具有一個看起來非常傳統(tǒng)的聯(lián)系,采用SMP通用型架構(gòu),你可以讓處理器之間根據(jù)具體應(yīng)用來建立互動關(guān)系,你可以在處理器間建立硬件風(fēng)格的數(shù)據(jù)流。事實上,某些處理器甚至根本都不清楚芯片上有其他處理器的存在。這些東西的實現(xiàn)有多種多樣的途徑,成功的關(guān)鍵是功能劃分,人們可以在功能模塊中放入標(biāo)準(zhǔn)、API,事實上,在這些系統(tǒng)上運行的軟件,可以造成復(fù)雜性極大增長,而我們在實現(xiàn)上仍然感受不到危機的存在,通過功能劃分,經(jīng)過優(yōu)化的處理器、經(jīng)過優(yōu)化的API將通用型的程序與軟件的所有復(fù)雜性隔離開來。

設(shè)計者完全可以利用直截了當(dāng)?shù)脑O(shè)計方法來掌握如此復(fù)雜的,設(shè)計數(shù)百萬行程序的軟件工作。

軟件發(fā)揮至關(guān)重要的作用

Wipro公司半導(dǎo)體/消費事業(yè)單位副總裁Siby Abraham

今天,推動半導(dǎo)體業(yè)發(fā)展的仍然是摩爾定律。對我來說,在設(shè)計中如何放入更多的邏輯、在一定的芯片面積上能放入多少個晶體管這一問題所帶來的痛苦和挑戰(zhàn)一這是技術(shù)經(jīng)理和工程師們關(guān)心的問題,倒還比不上呈指數(shù)化增長的IC設(shè)計成本。源程序的復(fù)雜性的日益增長,而成本的上漲幅度超過了硬件的。

如今,邏輯電路的80%都被復(fù)用。這意味著SoC上只有20%的邏輯是用來體現(xiàn)其不同之處的。這也就是利用軟件來實現(xiàn)SoC鮮明特色的地方。我們所看到的趨勢是,根據(jù)我們過去4年所從事的項目,我們在軟件和半導(dǎo)體業(yè)摸爬滾打了多年,SoC的未來在于多核架構(gòu)方面的改進,而這正是軟件發(fā)揮其效用的地方。

如今,我們的軟件還不能有效而自然地利用好多架構(gòu)帶來的優(yōu)勢。挑戰(zhàn)在于,軟件工程師如何能利用眾多核架構(gòu)帶來的優(yōu)點。我們已經(jīng)看到了在SoC中對軟件的多方面的應(yīng)用。軟件的挑戰(zhàn),可以認為與硬件工程師們所面臨的挑戰(zhàn)是一樣的。

我們今天所看到的更重要的一點是,現(xiàn)在需要那些不僅僅把自己劃入硬件工程師或軟件工程師等類別的工程師們,他們了解更多的專業(yè),從而能利用眾多領(lǐng)域的知識。我們看到一個大挑戰(zhàn),有的客戶要求在產(chǎn)品供貨時就能提供軟件。

我們所看到的技術(shù)上的挑戰(zhàn),價格、性能、功耗,而如今軟件團隊也將承擔(dān)相應(yīng)的責(zé)任。如果沒有可調(diào)試性,硬件團隊將困難重重。

軟件設(shè)計畢業(yè)論文:虛擬心電監(jiān)護系統(tǒng)軟件設(shè)計

摘要:在LabVIEW圖形化的編程環(huán)境下,利用MIT-BIH生理信號數(shù)據(jù)庫和LabVIEW的各種控件,實現(xiàn)對心電信號的采集讀取、濾波、保存和回放。通過改進普通閾值法,利用“雙閾值+校正閾值”的方法實現(xiàn)自動實時計算心率,對異常心電給予報警提示。同時,本系統(tǒng)設(shè)置了眾多交互按鈕,使得此心電監(jiān)護系統(tǒng)功能多樣、人機界面簡潔友好、操作方便。

關(guān)鍵詞:心電信號;虛擬儀器;虛擬心電監(jiān)護儀;LabVIEW

前言

當(dāng)今心臟病已成為威脅人類健康最嚴(yán)重的疾病之一,因此需要一種能夠連續(xù)記錄或者智能記錄并分析心臟活動的心電監(jiān)護系統(tǒng),對患者進行實時監(jiān)護。至今心電監(jiān)護技術(shù)經(jīng)過40年的臨床實踐和技術(shù)發(fā)展,其監(jiān)護內(nèi)容和儀器技術(shù)有了相當(dāng)?shù)陌l(fā)展。目前國內(nèi)外心電監(jiān)護的發(fā)展呈現(xiàn)出模塊化設(shè)計、長時數(shù)據(jù)保存、低功耗小型化、網(wǎng)絡(luò)信息化趨勢。理論和技術(shù)的不斷發(fā)展也為心電監(jiān)護的進一步研究創(chuàng)造了條件。

LabVIEW是一種基于圖形編程語言-G語言的可視化開發(fā)平臺,多被應(yīng)用于儀器控制、數(shù)據(jù)采集、數(shù)據(jù)分析等領(lǐng)域。鑒于實際心電監(jiān)護儀難以普及和虛擬儀器的強大優(yōu)勢,我們采用LabVIEW的開發(fā)環(huán)境、設(shè)計了虛擬心電監(jiān)護儀系統(tǒng),實現(xiàn)了對心電信號進行采集讀取、濾波、保存和回放,自動計算心率并對異常心電給予報警。此心電監(jiān)護儀可以實現(xiàn)長時間的數(shù)據(jù)保存,而且操作界面簡潔友好,便于掌握。

心電監(jiān)護系統(tǒng)

此心電監(jiān)護系統(tǒng)采用模塊化設(shè)計,包括讀取模塊、濾波模塊、保存和回放模塊、心率計算和異常報警模塊,各模塊間的關(guān)系如圖1所示。我們采用的數(shù)據(jù)取自心電數(shù)據(jù)庫、不需濾波,因此略去濾波模塊;其中“雙閾值+校正閾值”的設(shè)計方法包含在心率計算與異常報警模塊中,引入校正閾值的目的是為了“放大”心電的某些波段,針對性的檢測某些心臟疾病。

系統(tǒng)子模塊的實現(xiàn)

讀取模塊

獲取心電信號有三種主要方式:數(shù)據(jù)采集卡現(xiàn)場采集:軟件仿真心電信號;從數(shù)據(jù)庫中讀取。鑒于開發(fā)成本和真實性,我們采用最后一種方法。

我們采用著名的MIT-BIH數(shù)據(jù)庫,其心電數(shù)據(jù)由.atr.dat.hea三種文件描述。我們采用LabVIEW腳本接口控件MATLAB Script Node,利用讀取心電數(shù)據(jù)的MatLab程序rddata.m,讀取心電信號,輸出心電波形。

濾波模塊

心電信號總是存在各種干擾,如工頻干擾、基線飄移、肌電干擾等,噪聲嚴(yán)重時可完全淹沒ECG(心電)信

號,因此必須消除噪聲,對心電信號進行濾波處理。

由于本設(shè)計采用的心電數(shù)據(jù)基本不需濾波處理,故這里的濾波是為校正閾值而設(shè)計的特殊處理模塊。我們選用的是平滑濾波器,它能很好地濾除心電信號中混雜的高頻噪聲信號。

保存和回放模塊

本模塊是以“寫入測量文件”和“讀取測量文件”控件為核心,輔以“數(shù)據(jù)轉(zhuǎn)換”控件,可以實現(xiàn)心電異常時自動保存以及有選擇地回放,可以在8道(可增刪)心電通道間任意切換,也可以選擇保存的文件類型。

這里,“數(shù)據(jù)轉(zhuǎn)換”控件的運用體現(xiàn)了LabVIEw數(shù)據(jù)流編程的思想。即每個控件都是對數(shù)據(jù)流進行操作,但作用的數(shù)據(jù)類型不同,其間通信必須先轉(zhuǎn)換數(shù)據(jù)類型。

心率計算和心電異常報警模塊

此模塊是虛擬心電監(jiān)護儀的核心,也是用戶最關(guān)心的功能模塊。目前ECG自動檢測技術(shù)的研究主要集中在QRS波,P波和T波檢測,ST段檢測等方面,QRS波檢測是ECG檢測中的首要問題。

QRs波群檢測方法有閾值法、面積法、幅值法、神經(jīng)網(wǎng)絡(luò)法、模式匹配法等。面積法和幅值法易受到噪聲干擾。后幾種方法較為復(fù)雜,運算量大且計算速度較慢,不適用于實時處理系統(tǒng)的要求。本系統(tǒng)采用的是改進的閾值法,可以概括為“雙閾值+校正閾值”。心電異常報警就是根據(jù)雙閾值和校正閾值的檢測數(shù)據(jù),利用布爾運算判斷分析,結(jié)果送前面板顯示。

此方法的設(shè)計原理和思想與普通閾值法相似,即以檢測QRs波波峰的個數(shù)作為計算心率的依據(jù),不同的是,此法采用雙閾值,利用“波峰峰值檢測”控件,設(shè)置兩個不同的波峰檢測閾值,一個閾值較大,用于檢測R波:一個閾值較小,用于檢測過強的T波和R波(本系統(tǒng)的檢測閾值可以在前面板中設(shè)置),得到兩個檢測心率,然后利用比較、布爾運算,分析心電信號的異常情況并適時報警。針對心電的某些特征信號、這里設(shè)計了校正閾值算法,用于特定心電異常的檢測(如高頻噪聲干擾,可以選用平滑濾波器,設(shè)置合適閾值,校正檢測心率)。

此算法優(yōu)點是計算量小,實時性好,便于在線分析;開放性強,可以擴展檢測閾值數(shù)量,提高分析的可信度;可以根據(jù)需要設(shè)置校正閾值。此法缺點是手動設(shè)定閾值,可以添加自學(xué)習(xí)模塊加以改進,利用自學(xué)習(xí)算法可實現(xiàn)。

“雙閾值”法可以解決普通閾值法中存在的幅度大的T波誤檢或低壓的QRS波被漏檢情況,而“校正閾值”能夠解決噪聲干擾造成的心率誤檢等(取決于校正算法)。總之,與普通閾值法相比,該算法極大地提高了系統(tǒng)的抗噪能力,并減低了誤判率。當(dāng)然,可以根據(jù)需要,增加閾值檢測數(shù)目、以及采用其它校正算法,使其不僅僅局限于校正噪聲干擾造成的心率誤檢。

該心電監(jiān)護系統(tǒng)的前面板和程序框圖分別見圖2和圖3。

結(jié)語

本文闡述了基于LabVIEW的虛擬心電監(jiān)護系統(tǒng)的設(shè)計,該系統(tǒng)用戶界面友好、使用方便,充分發(fā)揮了LabVIEW的優(yōu)勢;本心電監(jiān)護儀實現(xiàn)了心電信號讀取、濾波、保存和回放,并且可以自動保存異常數(shù)據(jù),實時報警和簡易的心電分析。

軟件設(shè)計畢業(yè)論文:手機應(yīng)用軟件設(shè)計和開發(fā)的方法探討

摘要:分析了手機應(yīng)用運行環(huán)境的特點,并針對這些特點提出相應(yīng)的對策;同時,針對手機中應(yīng)用程序顯示區(qū)域小,CPU處理速度和內(nèi)存容量限制,應(yīng)用程序的實時性要求和開發(fā)環(huán)境的封閉性等特點,提出了一些設(shè)計策略和解決方案。

關(guān)鍵詞:手機;應(yīng)用軟件;設(shè)計;對策

0 引言

用戶在使用手機中無時無刻不在和手機上的應(yīng)用程序打交道,手機應(yīng)用程序設(shè)計得好壞直接影響用戶對該款手機的感受。手機的應(yīng)用程序的好壞決定了一款手機的內(nèi)在品質(zhì),從而在很大程序上決定了一款手機在市場上的命運。本文結(jié)合筆者開發(fā)手機應(yīng)用程序的經(jīng)驗,探討手機上應(yīng)用軟件的設(shè)計和開發(fā)方法。

1 手機應(yīng)用軟件的特點分析

目前市場上的手機分兩類:功能手機(Feature Phone)和智能手機(Smart Phone)。雖然這兩類手機還沒有一個明確的界線,但是手機上運行的應(yīng)用程序都有如下特點:

顯示區(qū)域小為了方便攜帶和按鍵,大屏的像素點為128x160、160x24、240x320等。

CPU處理速度和內(nèi)存容量比段小基于成本的考慮,手機上的處理器(MCU)的頻率較低,一般只有幾十M,智能手機稍高,一般200―400M。內(nèi)存(RAM和FLASH)一般為8M,16M,智能手機一般32M,64M。

和移動網(wǎng)絡(luò)的交互密切,實時性強能與移動網(wǎng)絡(luò)隨時隨地通信,交換語音和數(shù)據(jù)信息。對于來自移動網(wǎng)絡(luò)的來電,短消息,彩信,推消息(Push message)等,應(yīng)用程序必須能及時提示用戶,并能讓用戶方便地處理這些信息。這一點也是手機產(chǎn)品和其他的PDA,PMP等產(chǎn)品的最大區(qū)別,同時對這些信息的處理也是手機軟件設(shè)計和開發(fā)的關(guān)鍵點和難點。

軟件的開發(fā)環(huán)境千差萬別,因而手機應(yīng)用程序的運行環(huán)境相差甚遠現(xiàn)在市場上的手機的開發(fā)環(huán)境要么是手機的芯片開發(fā)商提供,要么是獨立的軟件公司提供,還沒有一個統(tǒng)一的開發(fā)標(biāo)準(zhǔn)。各個平臺的軟硬件環(huán)境差別很大,在一個平臺上的應(yīng)用程序根本不能在另外一個平臺上運行。手機應(yīng)用軟件開發(fā)和平臺緊緊地綁定在一起,軟件的可移植性極差。

2 手機應(yīng)用軟件設(shè)計和開發(fā)的對策

針對上述手機應(yīng)用軟件的特點,在進行手機應(yīng)用軟件設(shè)計和開發(fā)的時候必須有清醒的認識,并預(yù)先有相應(yīng)的解決方案,在項目進行到中間或者最后才發(fā)現(xiàn)或者考慮這些問題為時太晚。下面是筆者認為在手機應(yīng)用軟件設(shè)計和開發(fā)上總體需要把握好的關(guān)鍵點。

2.1怎樣應(yīng)對應(yīng)用程序顯示區(qū)域小

應(yīng)用程序的界面風(fēng)格應(yīng)一致。好的做法是設(shè)計一個共用的應(yīng)用程序的基類(接口),所有的應(yīng)用程序都從這個基類(接口)繼承;設(shè)計一組公共的顯示控件,這些控件的顯示風(fēng)格可以通過配置文件進行設(shè)置。這樣可以很方便地達到“換膚”的功能,從而滿足用戶界面上個性化的需求。

多用圖標(biāo)和簡潔文字來表達界面的含義。由于顯示區(qū)域的限制,手機很難像PC那樣利用多重窗口,基本上是一個應(yīng)用程序占用整個窗口。采用統(tǒng)一的圖標(biāo)和簡潔的文字能達到界面意義明確,表達意義形象的目的,這比冗長的文字更能吸引人的注意,使人記憶深刻,從而給用戶良好的使用體驗。如果能結(jié)合富有表現(xiàn)力的動畫圖片更好。因此,必須設(shè)計的圖形控件有:應(yīng)用窗口類,圖片類,動畫類,圖片標(biāo)簽類,進度條類,單行列表類,多行列表類,單選列表類,多選列表。在手機應(yīng)用窗口中應(yīng)該充分利用這些類來設(shè)計有特色的用戶界面。

設(shè)計一個通用的合理的輸入法接口。輸入法的設(shè)計在手機應(yīng)用程序中有重要的地位。輸入法的設(shè)計在實現(xiàn)的時候要考慮的實際問題有:

(1)怎么方便地切換各種輸入。例如,可以考慮用#,*鍵來切換各類文字的輸入。另外,標(biāo)點字符和數(shù)字等由于使用的頻率很高,可以考慮增加快捷菜單或者快捷鍵操作的輸入方法。

(2)待選字符的安排是否合理,操作是否方便。例如圖1所示界面是筆者設(shè)計的中文編輯界面。

說明:如果用戶輸入xyz所在的按鍵。則在區(qū)域1顯示所有的待選拼音/筆畫。在這個時候用戶可以按左右方向按鍵來選擇待選拼音/筆畫。用戶按OK鍵,在區(qū)域2,高亮(Highlight)顯示的是第一個待選漢字。這時按左右按鍵高亮光標(biāo)在待選漢字間移動。如果漢字太多,可以按上下按鍵來在前一頁和后一頁漢字之間切換。按OK鍵,高亮選定的漢字將被輸入到編輯界面上。在區(qū)域3,是區(qū)域2高亮漢字的聯(lián)想詞組。用戶可以長按1-9鍵將顯示的詞組直接輸入到編輯界面(不需要高光選擇)。短按一次取消鍵(C鍵)刪除編輯界面的一個漢字,快速短按兩次,刪除編輯界面的一行漢字,長按取消鍵,全部刪除編輯界面的漢字。

上面舉的例子只是中文的輸入,實際情況是還需要英文字母,英文單詞,標(biāo)點符號等字符的輸入。所以,輸入法的軟件設(shè)計的細節(jié)問題很多,各個應(yīng)用的需求千差萬別,需要我們在開始設(shè)計軟件時充分考慮輸入法接口的可擴展性和靈活性。

2.2怎樣應(yīng)對CPU處理速度和內(nèi)存容量的限制

設(shè)計或者選定一個合理而高效的系統(tǒng)架構(gòu)。好的應(yīng)用程序需要一個好的系統(tǒng)框架。針對手機的CPU和內(nèi)存的特點,手機的應(yīng)用程序的運行環(huán)境和PC上的程序運行環(huán)境有很大的不同,用表1總結(jié)如下:

通過上面的對比,可以看出,手機的設(shè)計應(yīng)注意以下幾點:

(1)以當(dāng)前手機的硬件為基準(zhǔn),采取適度超前的原則來定義系統(tǒng)架構(gòu)。整個架構(gòu)不必大而且全,要小而精,并盡量做到架構(gòu)中的各個部件具有很好的可裁減性。這樣的系統(tǒng)架構(gòu)才能滿足各種不同的硬件需要。

(2)精心設(shè)計架構(gòu)中的每一個部件,消除系統(tǒng)冗余的代碼;合理定義接口,系統(tǒng)的架構(gòu)才能清晰容易被人理解,并且系統(tǒng)的可靠性也高。只有這樣,整個系統(tǒng)架構(gòu)的代碼占用的內(nèi)存少,應(yīng)用程序在運行的時候占用的內(nèi)存和CPU資源少。

(3)應(yīng)用程序可以在PC上模擬運行。一般手機上調(diào)試應(yīng)用程序的過程比較復(fù)雜,如果一個很小的改動都要到手機上去調(diào)試很浪費時間,同時,在PC上調(diào)試程序也比在手機上調(diào)試程序方便得多。一個好的程序架構(gòu)的基本要求是絕大部分的應(yīng)用都可以在PC機上模擬開發(fā)完成。

精心設(shè)計應(yīng)用程序。應(yīng)用程序的執(zhí)行效率和應(yīng)用程序的設(shè)計密切相關(guān)。對于手機上的應(yīng)用程序,不同的設(shè)計策略有不同的結(jié)果。例如:對于一個電話本的應(yīng)用程序,讀取所有電話記錄至少有兩種方法:一種是在一開機的時候就讀;另外一種是在電話本應(yīng)用打開的時候才讀。實際情況是前一種情況較好,因為,這樣用戶每次進入電話本的時候手機可以很快地顯示所有的電話記錄,后者則慢得多,在有些系統(tǒng)中可能是難以忍受,必須提前準(zhǔn)備好數(shù)據(jù)。

在設(shè)計應(yīng)用程序中著重考慮的問題有:

(1)程序的處理效率是否高;

(2)程序的內(nèi)存占用和CPU是否太多;

(3)用戶的操作是否方便,應(yīng)用的響應(yīng)速度是否足夠快;

(4)界面的定義是否美觀,和系統(tǒng)的總體風(fēng)格相一致;

2.3怎樣應(yīng)對應(yīng)用程序的實時性要求

手機最重要的功能是通話和通信。這些一般和無線網(wǎng)絡(luò)都有密切的關(guān)系。對于來自無線網(wǎng)絡(luò)的來電,短消息,推消息等,必須有一個應(yīng)用來統(tǒng)一調(diào)度和處理這些消息和信息。筆者稱之為待機管理應(yīng)用。待機管理應(yīng)用是底層軟件和其他應(yīng)用程序的調(diào)度員,同時它也負責(zé)待機界面下的界面顯示和其他應(yīng)用不方便處理的一些任務(wù)。如果用圖來表示,那么它在整個系統(tǒng)中的位置如圖2所示。

待機管理應(yīng)用的特點是:(1)一開機就首先運行;(2)總是處于運行或者待命狀態(tài),不會退出。

因此,這個應(yīng)用的穩(wěn)定性要求就特別高。在軟件設(shè)計的時候要特別注意功能劃分,如果某項功能能在其它的應(yīng)用中處理,該功能應(yīng)盡量分到別的應(yīng)用中去,以免待機管理過于復(fù)雜,影響系統(tǒng)的穩(wěn)定性。

待機管理應(yīng)用的功能一般如下:

(1)處理與充電器和電池有關(guān)的消息。例如:插入充電器,如果是在開機,則在待機下顯示充電動畫;拔掉充電器,關(guān)閉充電動畫的顯示等;

(2)處理開機動畫或者問候語的顯示;

(3)如果底層協(xié)議報告SIM卡設(shè)置了PIN碼,啟動SIM卡的PIN碼輸入界面;如果還設(shè)置了手機密碼,則啟動手機的密碼輸入界面;

(4)顯示待機下面的各種狀態(tài)圖標(biāo),網(wǎng)絡(luò)注冊的信息,時間和日期信息,各種應(yīng)用圖標(biāo)的排列;

(5)顯示屏幕保護的界面;

(6)處理用戶在待機狀態(tài)下的各種按鍵操作,例如:如果用戶短按了數(shù)字1所在的按鍵,則要啟動號碼編輯應(yīng)用或者界面,如果用戶在應(yīng)用圖標(biāo)或者菜單中按或者點擊了某一個應(yīng)用,則要啟動該應(yīng)用;

(7)顯示各種系統(tǒng)狀態(tài),例如:未接來電和短消息的提示,電池電量不足的提示,鬧鐘的提示等;

(8)轉(zhuǎn)發(fā)底層的各種消息給相應(yīng)的應(yīng)用程序,為其他的上層應(yīng)用提供統(tǒng)一、簡潔的接口。這樣做的原因是通過對底層消息的封裝和轉(zhuǎn)換,能簡化其他應(yīng)用處理。并且使待機管理應(yīng)用能及時了解系統(tǒng)當(dāng)前的狀態(tài),并及時通知給用戶。

2.4怎樣應(yīng)對應(yīng)用程序的開發(fā)環(huán)境的封閉性

正如上面提到的,現(xiàn)在市場上主流的手機開發(fā)平臺很多,并且還不斷有新的平臺涌現(xiàn),怎樣開發(fā)能在各種不同的平臺上有很強移植性的應(yīng)用程序?qū)Τ绦蛟O(shè)計和開發(fā)人員是一個艱巨的任務(wù)。筆者結(jié)合自己的經(jīng)歷認為可行的思路如下:

(1)應(yīng)用的用戶界面和實際的處理邏輯盡量分開,將一些可以共用的處理邏輯提煉成共用的函數(shù)接口。例如:日程應(yīng)用的陰陽歷轉(zhuǎn)換算法,電話本中的首字母查找算法等都可以放在一個單獨文件或者庫文件中,這樣的代碼可以很方便地移植到其他的平臺上。

(2)編寫代碼的時候,數(shù)據(jù)結(jié)構(gòu)的定義和函數(shù)的處理要考慮不同硬件平臺的差別。一個好的做法是定義一個平臺上通用的數(shù)據(jù)類型定義,而不是直接使用設(shè)計語言里面原始定義的數(shù)據(jù)類型。例如:如果是在C/C++的開發(fā)平臺上,我們可以定義一個文件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ù)項,函數(shù)的參數(shù)和返回值,類的成員數(shù)據(jù)都用上面的這些通用類型,這樣編寫的軟件的可移植性就可以大大提高。

如果可能,多采用成熟的第三方軟件或者知名的開源代碼庫。

手機的應(yīng)用經(jīng)常碰到部分模塊是自己開發(fā)還是采用第三方軟件的問題。為了軟件的可移植性,加快軟件的開發(fā)速度,這些模塊應(yīng)該多采用專業(yè)公司開發(fā)的成熟軟件或者采用穩(wěn)定的開源軟件。這比自己重新開發(fā)好、快捷方便得多,開發(fā)成本也比較少。例如:現(xiàn)在很多手機都支持MP4播放,這樣就涉及音視頻編解碼的問題,如果可能,選擇一個經(jīng)過市場驗證,可移植性強的第三方或者開源的音視頻編解碼庫比自己進行開發(fā)要合算得多,這樣的應(yīng)用程序的可移植性比自己在特定平臺上全部由自己開發(fā)的應(yīng)用程序要好。

3 結(jié)束語

手機上的應(yīng)用程序開發(fā)環(huán)境現(xiàn)在還是一個比較封閉,與應(yīng)用程序耦合比較緊密的系統(tǒng);應(yīng)用程序的設(shè)計和開發(fā)相對復(fù)雜,對應(yīng)用的穩(wěn)定性,安全性,實時性要求也比較高。無論是對手機系統(tǒng)平臺的設(shè)計人員還是開發(fā)人員,只有在了解其特點的基礎(chǔ)上才能提出有針對性的方案。本文指出了這些特點并闡述了筆者的觀點,希望能起到拋磚引玉的作用。

軟件設(shè)計畢業(yè)論文:遙測文件截取器軟件設(shè)計與實現(xiàn)

摘 要:為解決大容量遙測數(shù)據(jù)文件的快速分割,軟件針對遙測文件以幀為基本單位且每幀頭都含有時碼的特點,設(shè)計按特征參數(shù)截取、按時間截取以及按幀序數(shù)截取等三種方法以滿足不同的截取要求。遙測參數(shù)的解算調(diào)用已成熟的動態(tài)鏈接庫,對于一些耗時的運算使用了二分搜索等優(yōu)化算法。該軟件操作方便、截取效率高,在型號應(yīng)用中發(fā)揮了重要作用。

關(guān)鍵詞:遙測; 文件截取; 軟件設(shè)計; 二進制; 數(shù)據(jù)圖形顯示

0 引 言

隨著科技的進步,空空導(dǎo)彈的研制越來越復(fù)雜。相應(yīng)地就有越來越多的數(shù)據(jù)信息需要遙測傳輸,這必然導(dǎo)致遙測接收的數(shù)據(jù)文件較大。以3 Mb/s碼率計,10 min的遙測數(shù)據(jù)就有214 MB之多。數(shù)據(jù)處理軟件往往需要經(jīng)過異步幀提取,有效位屏蔽,甚至經(jīng)過費時的字符串處理[1]才能得到最終結(jié)果。所以當(dāng)用戶處理這種大文件時往往需要等待很長的時間。如果能夠把這樣大的文件分割成較小的幾個文件然后分別處理,那么處理軟件的運行時間就可以縮短到用戶可以忍受的程度。

另一方面,空空導(dǎo)彈的發(fā)射試驗往往比較短暫,從導(dǎo)彈離開載機直到導(dǎo)彈爆炸只有不到1 min的時間。數(shù)據(jù)分析人員最關(guān)心的也正是這段時間的數(shù)據(jù)。而實際遙測中,為了確保數(shù)據(jù)的可靠接收,會從發(fā)射前5 min開始記錄直到遙測信號完全消失才停止記錄。

這種情況下,如果能夠根據(jù)導(dǎo)彈發(fā)射的特征信號(比如導(dǎo)彈與發(fā)射架分離的信號)來截取遙測數(shù)據(jù)文件也具有重要的實際意義。

本文通過對實際需求的分析,提出了按遙測幀數(shù)、時間和特征參數(shù)三種文件截取方法,并在VC 6.0平臺上予以實現(xiàn)。

1 軟件設(shè)計

1.1 功能設(shè)計

在空空導(dǎo)彈遙測中,待傳輸?shù)男盘柖际窍韧ㄟ^多路復(fù)用組裝成一個N字節(jié)長的遙測幀然后調(diào)制傳輸。在接收端解調(diào)后先通過幀同步獲得該N字節(jié)長的遙測幀,然后在幀頭加入8 B的時碼(又稱為B碼)來表示接收到該幀的時刻,如圖1所示。這樣存盤后的文件字節(jié)數(shù)是N+8的整數(shù)倍[2]。

圖1 遙測幀發(fā)送接收過程

因為遙測數(shù)據(jù)按幀存放,所以有意義的最小分割單位是幀而不是字節(jié),對文件的截取最后都要歸結(jié)到按幀來截取。因此,軟件的第一個功能同時也是最基本的功能就是按幀的起止序號進行分割。

由于文件中每一幀數(shù)據(jù)的幀頭都有B碼,所以將該B碼換算成實際時間之后也可以根據(jù)時間進行截取。

數(shù)據(jù)分析人員一般要求提取導(dǎo)彈發(fā)射后到爆炸這一時間段的數(shù)據(jù),所以利用導(dǎo)彈發(fā)射電氣分離信號(ES)的跳變,截取跳變時刻前5 s直到跳變時刻后50 s的數(shù)據(jù)能夠確保覆蓋所需數(shù)據(jù),同時盡量減小數(shù)據(jù)文件的大小。

典型的電氣分離信號圖形如圖2所示。

圖2 典型電氣分離信號圖形

(a) ES沒有跳變 (b) ES有跳變(c) ES有跳變,信號有野點

(a)圖導(dǎo)彈未發(fā)射,(b)圖導(dǎo)彈發(fā)射,(c)圖導(dǎo)彈正常發(fā)射但信號有野點

通過對圖2的分析可以得出以下結(jié)論:ES跳變點需要通過計算的來判決,比如當(dāng)前數(shù)據(jù)點與下一數(shù)據(jù)點之差超過信號范圍的2/3,那么就認為當(dāng)前點為跳變點。但是對于圖2(c)中有野點的情況這種判決方法就有可能導(dǎo)致誤判。所以最好的辦法是讓用戶參與跳變點的判決。軟件自動找到第一個跳變點,用戶可以通過快捷鍵[3]找到下一個跳變點,直到正確的跳變點為止。

這種設(shè)計方法杜絕了跳變點的誤判,同時又能直觀快捷地輔助用戶找到跳變點,另外還簡化了軟件的設(shè)計。

1.2 模塊設(shè)計

分割一個文件的流程[4],如圖3所示。

分析圖3可以得出軟件必須的幾個模塊:

(1) 打開待分割文件并自動生成分割后文件;

(2) 分割方式選擇;

(3) 特征參數(shù)數(shù)據(jù)繪制;

(4) 起止幀序數(shù)選擇;

(5) 起止時間選擇;

(6) 是否需要剔除無效幀。

最終確定的軟件界面[5-6]如圖4所示。

圖3 文件分割流程圖

圖4 軟件界面

2 軟件實現(xiàn)

2.1 按特征參數(shù)分割

按特征參數(shù)分割涉及到遙測參數(shù)解算。程序運行時首先加載動態(tài)鏈接庫dbreader.dll,postpro.dll和eu.dll。在OnInitDialog中調(diào)用函數(shù)GetTMFrameFormatInfo來獲取遙測幀格式,包括遙測幀的長度,碼率,同步碼位置等信息。然后調(diào)用函數(shù)GetTMParaAllRecord來獲取所有參數(shù)在遙測幀中的位置信息,解算方法等。

當(dāng)用戶從程序界面的參數(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ù)據(jù)中找出跳變點,然后在圖形控件上繪出曲線。

2.2 按B碼時間分割

要想根據(jù)時間信息來查找對應(yīng)的遙測幀就需要將該時間和文件中各遙測幀頭的B碼代表的時間進行比較。如果采用遍歷查找的方法,對于總幀數(shù)為N的文件,理論上需要比較(N+1)/2次,要找到起、止兩個時間對應(yīng)的幀就要比較N+1次。這對于較大的文件來說消耗的時間會很長。

在遙測文件中,每幀數(shù)據(jù)都是按接收到的先后順序從前往后依次存放。也就是說,搜索的目的序列是有序的。對于這種情況,可以采用折半查找法[8]進行搜索。理論證明,采用折半查找最多需要的比較次數(shù)為Иlog2(n+1),搜索起、止兩個時間共需比較2*log2(n+1)次。

2.3 按幀序數(shù)分割

三種分割方式最后都歸結(jié)到按幀分割。按幀分割惟一復(fù)雜的地方就是剔除無效幀。要剔除無效幀需要將每一幀數(shù)據(jù)的同步碼取出來和標(biāo)準(zhǔn)的同步碼進行比較。如果差異位數(shù)超過容許值就丟棄該幀,否則保留。很多程序都采用依次右移一位,看二者最低位是否相同,如果不同則計數(shù)加1,循環(huán)直到兩個數(shù)都為零的方法。

這種方法效率非常低。本文采用了如圖5所示的計算方法[9]。

圖5 計算同步碼錯誤位數(shù)

這種算法的關(guān)鍵在兩處:首先對兩個被比較數(shù)a和b按位異或,結(jié)果c的二進制數(shù)中為1的位置就是a和b不一致的位置。然后c不停地與c-1按位與[3]并將結(jié)果賦給c,直到c為0。通過歸納法可以證明c與c-1按位與可以消掉c的從低位往高位數(shù)的第一個1,所以c的二進制值有幾個1就循環(huán)幾次。

3 結(jié) 語

本遙測軟件采用模塊化設(shè)計,便于實現(xiàn)和測試。同時結(jié)合遙測文件的結(jié)構(gòu),實現(xiàn)了按幀序數(shù)、按時間和按特征參數(shù)三種分割方法,較好地滿足了型號遙測數(shù)據(jù)處理的需求。從軟件的設(shè)計可以看出,對于較復(fù)雜的軟件采用自頂向下,逐漸細化的分析方法,分模塊設(shè)計[10];對于影響程序性能的處理過程有針對性地進行優(yōu)化,可以有效地提高程序的可靠性和性能并簡化設(shè)計過程。

軟件設(shè)計畢業(yè)論文:20kg級自主水下機器人控制軟件設(shè)計與實現(xiàn)

(中國海洋大學(xué) 信息科學(xué)與工程學(xué)院, 山東 青島266100)

摘要:介紹了用于對20 kg級便攜式AUV的運行狀態(tài)進行控制的軟件設(shè)計以及實現(xiàn)。該軟件是基于MFC對話框運行于Windows操作系統(tǒng)下的程序,使用了多線程編程技術(shù)和串口通信技術(shù)。串口操作線程用于向串口讀取或?qū)懭霐?shù)據(jù),并且在處理后把最終結(jié)果發(fā)送給主線程和導(dǎo)航線程。在主線程中將數(shù)據(jù)顯示到界面上,在導(dǎo)航線程根據(jù)導(dǎo)航算法計算出用于導(dǎo)航的數(shù)據(jù)并寫入串口以控制AUV的運行狀態(tài),包括AUV上浮、下潛、前進、后退、左轉(zhuǎn)彎、右轉(zhuǎn)彎。實驗結(jié)果表明,該軟件達到了預(yù)定效果。

關(guān)鍵詞:便攜式AUV; 多線程; 串口通信; MFC

自主式水下機器人(Autonomous Underwater Vehicle,AUV)代表著未來水下機器人的發(fā)展方向,因而是世界各國研究的熱點[1]。而便攜式AUV由于使用方便,可執(zhí)行環(huán)境評估、水文地理、輔助水道測量、港口安全、巖屑區(qū)域繪圖等工作以及可以用在未來戰(zhàn)爭中[2],將是未來AUV發(fā)展的重點。

本文主要論述了便攜式AUV控制軟件的設(shè)計及其實現(xiàn),該軟件主要用于監(jiān)視AUV在水下運行時的狀態(tài)信息以及控制AUV的運行。AUV在水下運行時的狀態(tài)信息包括位置信息、航向、艙內(nèi)溫濕度、推進器轉(zhuǎn)速、舵的方向角以及在水面時GPS傳感器數(shù)據(jù)等信息,該軟件將這些信息顯示到界面上最終實現(xiàn)對AUV的監(jiān)控和導(dǎo)航。

1便攜式AUV系統(tǒng)簡介

該小型AUV由兩個密封艙組成,前艙安置了傳感器系統(tǒng),后艙安置了AUV推進器以及方向舵的控制系統(tǒng)。兩個密封艙中間放置的一個垂直推進器用來控制AUV的上下運動,后艙安放了用于控制AUV水平方向的水平推進器和方向舵。系統(tǒng)搭載了AHRS、數(shù)字羅盤、GPS等傳感器,這些傳感器采集到的數(shù)據(jù)用于AUV的導(dǎo)航。AHRS傳感器用來測量AUV的航向角、俯仰角、橫滾角、3個方向的速度、加速度;數(shù)字羅盤測量AUV的航向角等信息控制軟件對一串口進行操作,該串口連接與AUV進行通信的無線模塊。將從無線模塊接收到的數(shù)據(jù)經(jīng)過慣性導(dǎo)航算法處理,根據(jù)協(xié)議將慣性導(dǎo)航算法處理結(jié)果發(fā)送到AUV,最終實現(xiàn)對AUV的控制。

2串口通信

串口在做文件處理時,簡單的應(yīng)用可以采用查詢方式或定時方式,復(fù)雜的可以采用事件驅(qū)動的方式。所謂事件驅(qū)動,即當(dāng)串口有數(shù)據(jù)進入輸入緩沖區(qū)時,自動執(zhí)行接收程序。利用WinAPI讀/寫串口操作可以有同步方式與異步方式。所謂同步方式是指發(fā)出寫命令時,直到有數(shù)據(jù)寫入到輸出緩沖區(qū)寫函數(shù)才返回。異步方式的重疊方式是指發(fā)出寫操作命令后,不管寫操作是否完成,寫函數(shù)馬上返回,寫操作在后臺繼續(xù)進行,寫操作完成后通過某種方式通知調(diào)用寫操作的線程。這樣避免了主線程被掛起,提高了程序的工作效率[34]。

2.1串口通信設(shè)置

在實現(xiàn)串口通信時,首先在界面上設(shè)置串口號、波特率、校驗等信息。單擊按鈕打開串口,進入命令響應(yīng)函數(shù)OnBtnOpen(),利用API函數(shù)打開并對串口進行配置[56]。最后使用API函數(shù)CreateThread創(chuàng)建一個線程。由于軟件工作過程中需要傳送的數(shù)據(jù)量不大,所以僅僅打開一個串口。

主線程打開串口具體流程圖如圖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ā)送控制指令時使用:

fState=WriteFile(m_hCom,buf,19,&m_bytes,&m_osWrite)

2.2串口通信協(xié)議

串口通信必須遵守一定的通信協(xié)議,才可實現(xiàn)該控制軟件與AUV的正常通信。串口通信數(shù)據(jù)格式如圖2所示,圖中Data0,Data1,Data2…代表一個字(2 B)。

圖2串口通信數(shù)據(jù)格式發(fā)送或接收的一幀數(shù)據(jù)最長為19 B,Data0中第1個字節(jié)代表指令(0xA1)、請求(0xB2)或者正常應(yīng)答(0xC3)等含義;Data0中第2個字節(jié)代表具體指令、請求何種信息或者某種信息的應(yīng)答。Data1,Data2,…代表發(fā)送或者接收到的數(shù)據(jù)。開關(guān)機指令長度為19 B,第19字節(jié)控制8個繼電器,1,0分別表示開、關(guān)第零位控制總電源。開機、關(guān)機指令前18 B分別是:

~A16613579BDF02468ACE13579BDF02468A

~A166DF9B5713CE8A4602DF9B5713CE8A46

開機指令的第19個字節(jié)根據(jù)需要選擇相應(yīng)的繼電器開啟或關(guān)閉;關(guān)閉指令第19個字節(jié)為0x00,所有的繼電器關(guān)閉。

3軟件實現(xiàn)

3.1多線程實現(xiàn)

一個進程可有多個線程,使用多線程可提高軟件的執(zhí)行效率。該控制軟件共有3個線程組成,包括一個主線程、一個導(dǎo)航線程和在成功打開串口后利用API函數(shù)CreateThread[78]創(chuàng)建的一個串口操作線程(如圖3所示)。

圖3多線程組織結(jié)構(gòu)串口操作線程讀取串口數(shù)據(jù),并提取有效數(shù)據(jù),接著利用函數(shù)PostMessage將有效數(shù)據(jù)分別傳送到主線程和導(dǎo)航線程。主線程將有效數(shù)據(jù)根據(jù)協(xié)議進行解包并把數(shù)據(jù)包中包含的AHRS、數(shù)字羅盤、GPS等傳感器和推進器、前艙環(huán)境參數(shù)等數(shù)據(jù)顯示到界面上。當(dāng)使用搖桿控制AUV的運行時主線程每隔0.5 s從USB接口接收數(shù)據(jù),并轉(zhuǎ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)提供的位置估計精度會隨時間而漂移,所以導(dǎo)航線程采用基于GPS/INS的組合導(dǎo)航[9]算法,用GPS輔助導(dǎo)航,即用GPS信息輔助修正慣導(dǎo)系統(tǒng)的輸出,包括航向角和速度。對AUV的航向角信息修正是通過經(jīng)典的PID控制算法來實現(xiàn)的,如圖4所示。

圖4AUV PID航向角閉環(huán)控制算法設(shè)Ji-1,Ji為AUV的2個節(jié)點,AUV即A點從Ji-1到Ji 點運行。設(shè)正北方向矢量為k=(1,0),根據(jù)圖5按照下式可計算出角度θ。角度θ計算公式為:

θ=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進行Ji-1~Ji段的航行時,AUV根據(jù)導(dǎo)航算法不斷算出坐標(biāo)并判斷是否到達指定區(qū)域,當(dāng)離指定區(qū)域為R時(R很小),即可判定到達指定區(qū)域。在到達指定區(qū)域之前不斷利用AUV PID航向角閉環(huán)控制算法修正航向角θ,最終實現(xiàn)AUV的GPS/INS組合導(dǎo)航。

圖5航向角計算圖解4控制軟件界面及實驗結(jié)果

4.1軟件界面

本文設(shè)計的軟件界面左側(cè)上半部分和右側(cè)主要實現(xiàn)對AUV的控制,界面左側(cè)中下部分的3個儀表盤和TAB頁控件顯示AUV的各個狀態(tài)信息。

單擊開機、關(guān)機按鈕將實現(xiàn)AUV的開啟與關(guān)閉;單擊詢問AUV按鈕,此時應(yīng)答情況為AUV存在,表示監(jiān)控軟件與AUV的通信正常,否則應(yīng)該檢查無線模塊和AUV。單擊前艙參數(shù)、GPS經(jīng)緯度、GPS時間、推進器狀態(tài)、AUV航向角等按鈕將持續(xù)獲得AUV相應(yīng)的信息;步進電機控制按鈕用于實現(xiàn)方向舵的調(diào)整,進而實現(xiàn)AUV方向的調(diào)整。為了防止步進電機失步,這里還特意設(shè)計了步進電機的微調(diào)按鈕,目的是在步進電機失步時將方向舵調(diào)整回原位置。

該控制軟件還以儀表盤的方式顯示推進轉(zhuǎn)速、羅盤、溫、濕度等信息。

以速度儀表盤為例,當(dāng)從串口接收到的數(shù)據(jù)中提取出水平推進器或垂直推進器速度信息時,將速度信息存放到成員變量m_Spd1或者m_Spd2。利用API函數(shù)得到控件IDC_STATIC_SPD的區(qū)域坐標(biāo)rect2,調(diào)用API函數(shù)InvalidateRect(&rect2)重繪,將進入函數(shù)CDspsockDlg::OnPaint()重繪。利用MFC中的函數(shù)Pie,Ellipse,SetBkColor,TextOut[10]畫出儀表盤背景。最后通過下列兩個公式將速度值轉(zhuǎn)換成對話框上的坐標(biāo)值,調(diào)用函數(shù)畫一條連接該區(qū)域中心位置到該點(a1,b1)的直線[11],最終實現(xiàn)儀表指針隨速度值的變化。坐標(biāo)(a1,b1)計算公式如下:b1=60sin((m_Spd1×3/25+150)π/180)

a1=60cos((m_Spd1×3/25+150)π/180)4.2實驗結(jié)果

軟件運行期間界面顯示如下。圖6顯示了溫、濕度分別是32°,51.5°;單擊復(fù)位按鈕、溫濕度指針將分別指向-30°,20°位置處;圖6還顯示了2個推進器的速度信息,其中水平推進器速度為1 180 r/min,垂直推進器速度為0,此時AUV在水平方向運動垂直方向靜止。

軟件設(shè)計畢業(yè)論文:軟件設(shè)計類課程實踐性教學(xué)的研究與實踐

摘要:本文深入分析了計算機實踐性教學(xué)的內(nèi)涵,探討了軟件設(shè)計類課程實踐環(huán)節(jié)的組織模式,研究了這一方案的可行性。

關(guān)鍵詞:實踐性教學(xué);軟件設(shè)計;課程改革;計算機專業(yè);項目實訓(xùn)

0引言

從1956年哈爾濱工業(yè)大學(xué)率先開辦“計算裝置與儀器”專業(yè)算起,到現(xiàn)在普遍采用的“計算機科學(xué)與技術(shù)”專業(yè),計算機專業(yè)教育在中國的大學(xué)里已經(jīng)走過了50年的歷程。70%以上的本科學(xué)校開設(shè)了計算機專業(yè),在校學(xué)生近30萬[1],其規(guī)模居所有本科專業(yè)的首位。加上專科、高職、中職在內(nèi),其數(shù)量還要大得多。計算機專業(yè)人才在信息化建設(shè)過程起著舉足輕重的作用。然而,企業(yè)面對十里挑一的大好形勢,卻經(jīng)常會找不到合適的人才,造成這種局面的主要原因是學(xué)校培養(yǎng)與單位需要存在一定的脫節(jié)現(xiàn)象,主要表現(xiàn)為重理論輕實踐,動手能力差,因而改革實踐環(huán)節(jié)提高學(xué)生的操作技能成為高校計算機類專業(yè)的必經(jīng)之路。

1軟件設(shè)計類課程實踐性教學(xué)的內(nèi)涵

實踐性教學(xué)是指為配合理論教學(xué),培養(yǎng)學(xué)生分析問題和解決問題的能力,加強專業(yè)訓(xùn)練和鍛煉學(xué)生實踐能力而設(shè)置的教學(xué)環(huán)節(jié),通常有兩種落實途徑:一是隨堂實踐,即課程作業(yè)、實驗、上機操作等;二是集中實踐,即社會調(diào)查、各類實習(xí)及見習(xí)、課程設(shè)計以及畢業(yè)論文或畢業(yè)設(shè)計。教學(xué)計劃中規(guī)定的作業(yè)、實驗、實習(xí)等環(huán)節(jié)和集中實踐環(huán)節(jié)是學(xué)生必修的內(nèi)容,在課程和專業(yè)學(xué)習(xí)中具有突出的地位。不同專業(yè)的實踐性教學(xué)方式,教學(xué)管理和考核辦法也不相同,但都是以專業(yè)培養(yǎng)目標(biāo)作為前提。對于計算機(包括軟件工程)專業(yè)的軟件設(shè)計類課程,其教學(xué)目的就是培養(yǎng)合格的軟件工程師,適應(yīng)軟件設(shè)計和項目管理崗位的需要。

1.1軟件工程師崗位需求

任何一個軟件企業(yè),開發(fā)團隊都需要這樣三類人才:一是既懂技術(shù)又懂管理的軟件人才即系統(tǒng)分析師(高級),二是軟件工程師(中級),三是程序員(初級),這三類人員在軟件企業(yè)的正常比例應(yīng)該是呈金字塔結(jié)構(gòu),根據(jù)國際經(jīng)驗,高、中、初級軟件專業(yè)人才的比例應(yīng)基本維持在1:4:8。通常系統(tǒng)分析師由研究生承擔(dān),軟件工程師由本科生承擔(dān),程序員則由大專生以及專門培訓(xùn)機構(gòu)的學(xué)員完成。如圖1所示。

從圖1可以看出,計算機專業(yè)的本科生對應(yīng)軟件工程師崗位,在軟件開發(fā)團隊中處于中間層,優(yōu)秀者可以上升到系統(tǒng)分析員層次。同時,軟件工程師也要兼任程序員角色,因為不少軟件企業(yè)規(guī)模較小,難以按照軟件工程的規(guī)范細化分工,需要能做分析、能寫代碼、能做實施甚至用戶培訓(xùn)的“多面手”。作為高校,必須充分考慮這種情況,以培養(yǎng)軟件工程師為主線,也要提高系統(tǒng)分析能力,同時還應(yīng)該加強代碼編寫的訓(xùn)練。

1.2軟件設(shè)計類課程實踐性教學(xué)的內(nèi)涵

軟件設(shè)計類課程主要包括計算機語言類、開發(fā)類、設(shè)計類、制作類和工程類課程,共同的特點都是經(jīng)過系統(tǒng)學(xué)習(xí),既能夠按照規(guī)范獨立設(shè)計小型軟件,組成團隊后又能夠設(shè)計出具有實用價值的中大型軟件。

軟件設(shè)計類課程實踐性教學(xué)標(biāo)目的是培養(yǎng)學(xué)生兩個方面的能力:即獨立編程能力和項目合作開發(fā)能力。一方面,能夠利用所學(xué)語言和平臺設(shè)計小型軟件,同時能夠按照項目分工,在項目經(jīng)理(負責(zé)人)的統(tǒng)一安排下,在技術(shù)上服從既定的設(shè)計方案完成模塊的開發(fā),并做好相應(yīng)的文檔。良好的責(zé)任心、解決問題的獨立編程能力和分工合作制的團結(jié)協(xié)作精神是必須重點培養(yǎng)的內(nèi)容。軟件設(shè)計類課程實踐性教學(xué)的內(nèi)涵如圖2所示:

2軟件設(shè)計類課程實踐性教學(xué)的組織

按照軟件設(shè)計類課程實踐性教學(xué)的內(nèi)涵,一般應(yīng)包括3個環(huán)節(jié):課堂實驗實訓(xùn)、課程設(shè)計、項目實踐,分階段實施。其具體安排如圖3所示:

2.1課堂實驗實訓(xùn)環(huán)節(jié)

如果一門課程的教學(xué)任務(wù)規(guī)定在一個學(xué)期內(nèi)完成,課堂實驗實訓(xùn)環(huán)節(jié)應(yīng)該安排在學(xué)期的前半部分進行,以講授語法、數(shù)據(jù)類型、常用類庫、開發(fā)平臺為主。學(xué)生所學(xué)知識和編程技術(shù)有限,難以形成完整的程序思路,實踐環(huán)節(jié)只能是練習(xí)基本功單獨完成,以每一次堂或者每一個章節(jié)為單位安排學(xué)生進行相關(guān)的訓(xùn)練,以熟練掌握語法的基本用法,為后一階段的課程設(shè)計做準(zhǔn)備。老師指導(dǎo)時,要注意培養(yǎng)學(xué)生良好的編程習(xí)慣,包括標(biāo)識符的規(guī)范化命名、注釋語句的廣泛運用、編程語句的縮進格式、幫助文檔的使用方法,逐漸形成編程思想。

為了配合實踐性教學(xué),教材的選擇也十分關(guān)鍵,最好是采用基于案例教學(xué)法或者項目驅(qū)動教學(xué)法的教材,這種教材往往會通過一些典型的實例或企業(yè)項目組織內(nèi)容,大部分章節(jié)的主題相對集中,圍繞項目展開講述,特別適合于實踐性教學(xué)。如果采用實踐性較弱的教材,老師需要自行補充一些實習(xí)實訓(xùn)內(nèi)容讓學(xué)生當(dāng)場消化吸收。

2.2課程設(shè)計環(huán)節(jié)

這一階段十分關(guān)鍵,完全模擬軟件企業(yè)的開發(fā)流程組成小組共同完成一個中小型項目的設(shè)計,一般安排在后半學(xué)期進行。這時要求學(xué)生停止其它課程的學(xué)習(xí),每天八小時工作制,甚至晚上可以加班加點,專心設(shè)計項目,其最終成果包括軟件和文檔以及用戶操作手冊。以每班30人為例,可以考慮分為5個小組,每組6人,每個小組安排組長(項目負責(zé)人或稱項目經(jīng)理)一人,組長的職責(zé)是:組織成員實地項目調(diào)研、模塊劃分與任務(wù)分工、接口的確定、進度的監(jiān)督與協(xié)調(diào)、集成測試等,組長直接接受指導(dǎo)老師的安排。鑒于組長在在項目設(shè)計過程所處的重要地位,老師在確定組長時,至少考慮三個方面:一是組織能力,二是專業(yè)技能的基本功,三是責(zé)任心。

這一過程通常安排兩周到三周集中在校內(nèi)機房(實訓(xùn)中心)進行,老師每天針對總體要求及當(dāng)天的任務(wù)進行講解,然后分小組實施。選擇課題時,不宜太復(fù)雜,應(yīng)盡可能讓大多數(shù)課題組可以在規(guī)定的時間內(nèi)做完。一般選取學(xué)生們比較熟悉的內(nèi)容,如學(xué)生成績管理系統(tǒng)、班級管理系統(tǒng)、教材管理系統(tǒng)、倉庫管理系統(tǒng)、工資管理系統(tǒng)、就業(yè)反饋跟蹤系統(tǒng)、水電費管理系統(tǒng)等,這些課題的要求大家都比較清楚,在校內(nèi)即可進行客戶調(diào)研和需求分析,同時也具有較強的推廣價值,為將來的職業(yè)奠定基礎(chǔ)。這時每個人同學(xué)都應(yīng)該至少準(zhǔn)備一本項目開發(fā)類指導(dǎo)書作為參考,因為涉及到數(shù)據(jù)庫、界面、網(wǎng)絡(luò)通信、硬件編程等方面的知識,僅僅靠教材還不夠。

2.3項目實踐環(huán)節(jié)

項目實踐環(huán)節(jié)是學(xué)生到軟件研發(fā)企業(yè)(校外實訓(xùn)基地)全程參與項目開發(fā)的過程,一般應(yīng)安排在學(xué)期的最后一到兩周或者利用假期頂崗實習(xí),因為經(jīng)過了課程設(shè)計,學(xué)生基本掌握了軟件企業(yè)的開發(fā)流程和一般方法,進入軟件公司后就能夠較快地進入程序員角色,而不至于膽怯,也不會無所適從。完成本部分實踐內(nèi)容要做好以下三個方面的工作:

確定好項目指導(dǎo)老師:企業(yè)開發(fā)與在學(xué)校進行課程設(shè)計并不盡相同,軟件公司具有自己的風(fēng)格,往往更加愿意采用自己熟悉的開發(fā)工具,以達到客戶的需求作為目標(biāo),并不一定會使用最新技術(shù),這點與教學(xué)理念不同。理想的方案是由任課老師帶隊進入軟件企業(yè)(校外實訓(xùn)基地),并選擇目前正在開發(fā)的項目經(jīng)理擔(dān)任總負責(zé)人(校外實踐指導(dǎo)老師),任課老師也參與項目實踐并組織學(xué)生實施,因為一個優(yōu)秀的項目經(jīng)理不一定是優(yōu)秀的老師,能做軟件不見得會上課,項目負責(zé)人與任課老師共同配合更能發(fā)揮各自的優(yōu)勢,便于學(xué)生理解項目思想和相互溝通。經(jīng)過簡短的培訓(xùn)后,由模塊責(zé)任人指導(dǎo)學(xué)生設(shè)計或者由學(xué)生獨立完成,一切按照企業(yè)的開發(fā)規(guī)范進行??紤]到軟件企業(yè)一次難以容納過多實習(xí)生的特點,也可考慮將項目拿到學(xué)校來做,或者將項目經(jīng)理請到學(xué)校現(xiàn)場指導(dǎo),以節(jié)省時間和費用。

確定項目指導(dǎo)方法:開發(fā)應(yīng)用項目沒有現(xiàn)成的教材,需求分析、概要設(shè)計說明書、詳細設(shè)計說明書、數(shù)據(jù)庫和數(shù)據(jù)字典就是設(shè)計的依據(jù),老師必須嚴(yán)格按照這些文檔指導(dǎo)學(xué)生進行設(shè)計,定期檢查學(xué)生的進度及過程,一旦發(fā)現(xiàn)偏差,及時糾正,將錯誤消滅在萌芽狀態(tài)。

及時組織項目總結(jié):每天規(guī)定一個時間,將同組學(xué)生集中起來,針對當(dāng)天完成的任務(wù)進行總結(jié),交流自己的想法,提出存在的問題,集體討論,這樣就能夠做到日日有收獲,天天有提高,從而鍛煉自己的實戰(zhàn)水平和組織經(jīng)驗。

3軟件設(shè)計類課程實踐性教學(xué)效果的考核

軟件設(shè)計類課程實踐性教學(xué)效果的考核也是一個較難把握的環(huán)節(jié),既要考核學(xué)生的獨立編程能力,也要考查其團隊協(xié)作精神,同時還要考慮其組織能力、表達能力、文檔編寫能力、紀(jì)律性等內(nèi)容。為了客觀科學(xué)地評價學(xué)生的實際效果,最好是分階段考核,各部分按照一定的比例綜合得到總成績,可以等級表示,也可以用分數(shù)反映。

在課堂實驗實訓(xùn)階段,可以由任課老師根據(jù)每一次操作任務(wù)的完成情況進行登記評分,重點考察其規(guī)范程度,對于具有創(chuàng)新性的作品,可以適當(dāng)加分,并在全班展示,讓設(shè)計者講解思路,為其它同學(xué)提供啟示。

課程設(shè)計階段的考核由指導(dǎo)老師和項目組長組織學(xué)生共同進行,首先由組長匯報課題的設(shè)計思想、主要技術(shù)、任務(wù)分工等情況,并演示軟件,大家可以相互提問。老師根據(jù)項目完成效果確定這個組的等級,然后由各位成員介紹自己所設(shè)計的模塊,老師重點檢查此模塊的功能、難易程度、技術(shù)含量、界面美觀等因素,再確定其成績或者等級,這時還要充分考慮組長對成員在設(shè)計階段各方面的綜合表現(xiàn)。

項目實踐階段的考核由校外指導(dǎo)老師和校內(nèi)老師組成考核小組,利用項目匯報加平時表現(xiàn)的形式評定,既要考察項目的完成情況,也要考察各位學(xué)生在企業(yè)實習(xí)期間的領(lǐng)悟能力、工作主動性、團隊合作情況、算法的復(fù)雜性、程序的規(guī)范性等方面,其主要依據(jù)是提交的軟件(包括源代碼)以及各種文檔。

實際上,對于實踐性教學(xué)的考核可以采用靈活的方式進行,不拘一格,比如聘請行業(yè)專家、現(xiàn)場答辯、隨機抽題、項目論文等形式,只要能夠檢查學(xué)生的真實技能即可。

4我們的實踐

我們學(xué)校十分重視實踐性教學(xué),長期堅持強化學(xué)生的動手操作能力和實戰(zhàn)水平、力爭與企業(yè)零距離接軌的做法。為了提高程序設(shè)計類課程的實踐性教學(xué)效果,主要采取了以下措施:

4.1嚴(yán)把教師關(guān)

教師是實踐性教學(xué)效果的基本保證,學(xué)生的水平在一定程度上反映了教師的水平,既具有扎實的理論功底,也擁有豐富的項目經(jīng)驗是優(yōu)秀教師的標(biāo)準(zhǔn)。一方面,我們積極將已有教師定期送到企業(yè)實地參加項目開發(fā)實踐,積累經(jīng)驗,另一方面,不斷從軟件企業(yè)引進專業(yè)技術(shù)人才,將他們的成功案例帶回學(xué)校,同時,每年組織專業(yè)教師進行實踐性教學(xué)能力考核,通過考核者才能承擔(dān)課程設(shè)計和項目實踐的教學(xué)任務(wù),并頻發(fā)相應(yīng)證書,作為教師晉升職稱和評先評優(yōu)的重要指標(biāo)。

4.2實踐性教學(xué)環(huán)節(jié)流程化

改革原來的學(xué)期一貫制,將一個學(xué)期分為兩個階段,前一階段以學(xué)習(xí)基礎(chǔ)理論為主,隨堂考試,在學(xué)期的最后幾個禮拜專門安排做課程設(shè)計,一般開設(shè)兩門小課,專心實踐,在項目指導(dǎo)老師的統(tǒng)一安排下,綜合運用本學(xué)期所學(xué)的程序設(shè)計工具,結(jié)合前面所學(xué)內(nèi)容,以項目小組的形式,完成一個小型軟件的設(shè)計,成績計入學(xué)生檔案,完成者才能獲得相應(yīng)的學(xué)分。暑假或者寒假以及最后一個學(xué)期,老師分批帶領(lǐng)學(xué)生前往校外實訓(xùn)基地或軟件企業(yè)從事項目開發(fā),作為社會實踐或畢業(yè)設(shè)計的成績,并要求撰寫項目總結(jié)或論文。

4.3實驗室環(huán)境企業(yè)化

聘請軟件企業(yè)技術(shù)人員設(shè)計實驗室(實訓(xùn)中心)建設(shè)方案,將原來的布局改造成軟件研發(fā)中心或者工作室模式,服務(wù)器、網(wǎng)絡(luò)設(shè)備、數(shù)據(jù)庫完全仿真企業(yè)的環(huán)境,將開發(fā)流程和軟件文檔國家標(biāo)準(zhǔn)打印并懸掛在墻上,并購置專業(yè)書籍存放在實驗室,讓學(xué)生一旦進入實驗室,就能迅速感受到真實的企業(yè)氛圍,還能方便查閱相關(guān)資料。

4.4實踐項目規(guī)范化

教師和軟件企業(yè)合作開發(fā)一整套實踐教材,采用項目驅(qū)動、案例教學(xué)作為主要方法,將常用軟件項目的全部開發(fā)過程編寫到教材中,源程序存放在服務(wù)器,供學(xué)生編程參考。每次課程設(shè)計或者項目實踐后都要評比出優(yōu)秀作品,將其全部程序及文檔資料保存下來,供以后教學(xué)和低年級學(xué)生使用。

經(jīng)過近幾年學(xué)生的反饋情況,我們的改革收到了良好的效果,學(xué)生在校期間已經(jīng)具備了一定的經(jīng)驗,走入社會即可迅速融入開發(fā)團隊,勝任軟件工程師職責(zé),深受單位的好評,不少畢業(yè)生特別是原來擔(dān)任過項目小組長的學(xué)生很快即可成為業(yè)務(wù)骨干或者項目經(jīng)理。

5結(jié)束語

高校教學(xué)與行業(yè)脫節(jié)是普遍存在的現(xiàn)象,程序設(shè)計類課程實踐性教學(xué)更是一個永恒的話題。所幸的是,學(xué)校和企業(yè)都充分意識到了這一點,各高校正在采取積極的舉措消除這一段距離,企業(yè)已變得越來越務(wù)實,不斷細化崗位職責(zé)。隨著校企合作的深入,訂單培養(yǎng)方式的持續(xù),相信在不遠的將來,這種差距會越來越小,直到完全消失,那時學(xué)校、企業(yè)、學(xué)生三方都能成為實實在在的受益者。

軟件設(shè)計畢業(yè)論文:PBL的改進及在“軟件設(shè)計模式”課程教學(xué)中的應(yīng)用研究

摘要:本文討論了軟件設(shè)計模式課程教學(xué)中的幾個問題,介紹了經(jīng)典的PBL教學(xué)法及其不足,對其教學(xué)過程設(shè)計進行了改進并給出了一個教學(xué)案例,另外本文還就應(yīng)用PBL教學(xué)法的注意事項進行了討論。

關(guān)鍵詞:PBL;軟件設(shè)計模式;計算機教學(xué);面向?qū)ο螅唤虒W(xué)方法

“軟件設(shè)計模式”是一門理論性和實踐性都非常強的課程,內(nèi)容抽象難懂,目前的大部分教材僅僅在一般意義上給出了各種模式的定義、結(jié)構(gòu)、代碼框架,授課時容易出現(xiàn)內(nèi)容空泛、言之無物的情形,學(xué)生感覺這門課程比較困難。如何根據(jù)學(xué)生的特點,選用合適的教材,采用適當(dāng)?shù)慕虒W(xué)方法是提高軟件設(shè)計模式教學(xué)效果所必須要解決的問題。本科學(xué)生的特點我們很難改變,教材問題可以通過授課教師的主觀努力,以講義和補充材料的方式加以解決,而本文則主要討論軟件設(shè)計模式的教學(xué)方法問題,即在軟件設(shè)計模式課程的教學(xué)中如何使用PBL教學(xué)方法來提高教學(xué)效果。

1PBL及改進的教學(xué)過程設(shè)計

PBL(Problem-based Learning)是一種行之有效的“做中學(xué)”教學(xué)方法,最初是由Barrows在加拿大McMaster大學(xué)提出來的一種教學(xué)策略和課程設(shè)計思想,符合以學(xué)生為中心的自我引導(dǎo)學(xué)習(xí)的建構(gòu)主義學(xué)習(xí)理論。有效的PBL可以提高學(xué)生下面這幾方面的能力和素質(zhì):解決問題的技能;思維能力;團隊合作能力,包括賞識和包容異類學(xué)習(xí)同伴的精神;組織利用時間的技能;獲取和評價信息的能力;傳播信息的技能;計算機運用能力等。

在教學(xué)中引進PBL教學(xué)法后我們發(fā)現(xiàn)該方法的不足之處,主要問題是:時間消耗量大,學(xué)生學(xué)習(xí)的效率不高;在班級規(guī)模較大時,教師對教學(xué)的組織和教學(xué)過程的控制也存在很大的困難;以小組為單位,容易造成學(xué)生能力發(fā)展不均衡,出現(xiàn)小組內(nèi)某些學(xué)生成為主導(dǎo),另一些學(xué)生則濫竽充數(shù)的情況。為此我們對PBL方法作了一些修改,教學(xué)過程設(shè)計如下:

(1) 提出一個與本次課程要學(xué)習(xí)的設(shè)計模式相關(guān)的設(shè)計問題。這一步非常關(guān)鍵,提出的設(shè)計問題必須與學(xué)生已有的基礎(chǔ)較接近,規(guī)模適中,是學(xué)生可能完成的任務(wù)。這樣可以激發(fā)學(xué)生的學(xué)習(xí)興趣。

(2) 講授與該設(shè)計模式相關(guān)的面向?qū)ο蟮脑O(shè)計原則。對這些原則的講授可以貫穿在該門課程的整個教學(xué)過程中,適當(dāng)?shù)闹貜?fù)和強調(diào)可以加深學(xué)生的印象,促使學(xué)生在其今后的設(shè)計中自覺運用設(shè)計原則,即使不套用設(shè)計模式,也能產(chǎn)生良好的設(shè)計方案。

(3) 給學(xué)生留出時間,讓學(xué)生設(shè)計前面問題的解決方案。要求每個學(xué)生自己進行設(shè)計,但允許和同學(xué)討論。

(4) 抽取并公布學(xué)生的設(shè)計方案,組織同學(xué)討論其優(yōu)劣,對比與事先提出的設(shè)計目標(biāo)的差距并分析原因。

(5) 以相應(yīng)設(shè)計模式的思路,對學(xué)生的方案進行改進,并給出其簡單實現(xiàn)。

(6) 從上述實例中提煉出要講授的設(shè)計模式,總結(jié)其意圖、結(jié)構(gòu)、角色、示意性代碼,分析其可能的變化。

(7) 布置一個類似的設(shè)計問題作為課偶作業(yè),要求學(xué)生給出完整的設(shè)計和實現(xiàn)。

我?!败浖O(shè)計模式”課程只有32個學(xué)時,在這么短的學(xué)時內(nèi)讓學(xué)生完整深入地掌握23個設(shè)計模式是不現(xiàn)實的。

我們在制定教學(xué)大綱時充分考慮到了這個問題,選取了其中一部分作為課堂教學(xué)的內(nèi)容,選取的準(zhǔn)則是:①是常用模式;②在模式分類中具有代表性。其余的設(shè)計模式則留給學(xué)生課后自學(xué)。

2一個基于PBL的設(shè)計模式教學(xué)案例

Strategy Pattern(策略模式)是一種常用的重要的設(shè)計模式,下面以該設(shè)計模式的教學(xué)為例,說明PBL教學(xué)方法的應(yīng)用。

(1) 提出問題。某公司銷售打印機時有一定的折扣讓利給顧客,但折扣計算的方法有很多種,如不打折、每臺減扣固定的金額、按售價的5%打折等?,F(xiàn)在要為該公司開發(fā)銷售系統(tǒng),實現(xiàn)打印機銷售時的折扣計算,要能夠靈活地選用折扣計算方法,并且可以很容易地增加或修改折扣計算方法,而不至于對整個系統(tǒng)的維護造成困難。

(2) 相關(guān)設(shè)計原則的講授。本設(shè)計模式主要涉及三個面向?qū)ο蟮脑O(shè)計原則:針對接口編程,而不是針對實現(xiàn)編程;優(yōu)先選用對象組合,而不是類繼承的軟件復(fù)用方式;分離變化,并對變化進行單獨封裝以使得今后對軟件的維護局部化。在講授這三個原則時,各舉簡單的例子加以說明。

(3) 讓學(xué)生解決第一步提出的問題,給出設(shè)計方案。設(shè)計時盡量運用前面講授的三個設(shè)計原則。要求每個學(xué)生自己動手,但鼓勵討論。

(4) 抽取學(xué)生的設(shè)計方案,并比照第一步提出的設(shè)計目標(biāo)進行分析討論。由于時間關(guān)系,不可能對每個學(xué)生的方案進行討論,一般鼓勵學(xué)生主動提交,主動提交的學(xué)生一般認為自己的設(shè)計方案較好,此外也可以選一個不理想的設(shè)計方案進行討論。

學(xué)生的設(shè)計方案五花八門,圖1是其中的一種。

圖1 學(xué)生的一個設(shè)計方案

該設(shè)計方案部分運用了講授的設(shè)計原則,如PrinterSaler使用抽象類Printer而不是直接使用具體類HPPrinter等,這體現(xiàn)出學(xué)生試圖運用針對接口編程的原則;該方案將計算折扣的方法單獨抽象成一個接口,但卻是用打印機的具體類來實現(xiàn)該接口的,說明了設(shè)計者意識到計算折扣是變化的部分,試圖將其分離出來,但卻沒有將它進行獨立的封裝,因此對改善系統(tǒng)的可維護性和折扣方法的靈活選用并無多大幫助,而且由于抽象類Printer沒有實現(xiàn)該接口,使得PrinterSaler通過使用Prinetr來計算折扣難以實現(xiàn)。

通過分析和討論(這一過程要鼓勵學(xué)生參與發(fā)言,而不是教師唱獨角戲)學(xué)生的方案,指出其不足,并一步步加以優(yōu)化,最后可以得到基于Strategey模式的設(shè)計方案,如圖2所示。

圖2 基于Strategy Pattern的設(shè)計方案

在此強調(diào)由于折扣計算方法的分離和單獨封裝,就可以通過實例化不同的具體折扣計算類ConcreteDiscount并賦值給Printer的引用變量(假定為Discount),然后通過調(diào)用discount.calcDiscount()靈活選用相應(yīng)的折扣計算方法;折扣計算方法可以被所有打印機類復(fù)用,甚至可以被其他類復(fù)用;而且修改或增加新的折扣計算方法也不會影響其他打印機類的代碼。

(5) 為了使學(xué)生有更為切身的體驗,給出上述設(shè)計方案的實現(xiàn)代碼,編譯并演示運行結(jié)果。

(6) 從上述實例中提煉出要講授的設(shè)計模式,總結(jié)其意圖、結(jié)構(gòu)、角色、示意性代碼,分析其可能的變化。

(7) 布置一個類似的設(shè)計問題,作為作業(yè),要求學(xué)生給出完整的設(shè)計和實現(xiàn),提交實驗報告。

軟件設(shè)計畢業(yè)論文:面向財務(wù)應(yīng)用的軟件設(shè)計課程教學(xué)模式

摘要:為了培養(yǎng)既懂財務(wù)又懂軟件開發(fā)技術(shù)的復(fù)合型人才,根據(jù)金融財務(wù)類應(yīng)用的需要,本文提出了一個面向軟件課程設(shè)計的教學(xué)模型。融合計算機基礎(chǔ)理論、軟件開發(fā)技術(shù)、軟件工程學(xué)原理以及CMM軟件過程體系,構(gòu)建了教學(xué)模式框架。該模型具有良好的課程總體結(jié)構(gòu)以及動態(tài)適應(yīng)新技術(shù)發(fā)展的能力,該模型適合財務(wù)類院校軟件復(fù)合性人才培養(yǎng)的需要。

關(guān)鍵詞:軟件課程設(shè)計;財務(wù)應(yīng)用;復(fù)合型人才;教學(xué)模式

1引言

目前,中國軟件產(chǎn)業(yè)計劃以超常規(guī)的發(fā)展速度在世界上占有一席之地。 軟件產(chǎn)業(yè)近年來已成為中國電子信息產(chǎn)業(yè)中增長最快的部分之一。在新一輪的國際分工中,高附加值、低成本、智力密集型的軟件與信息服務(wù)業(yè)正逐步向亞太地區(qū)轉(zhuǎn)移,這給中國和印度等國的軟件產(chǎn)業(yè)帶來巨大的發(fā)展機遇。盡管中國軟件產(chǎn)業(yè)已從初始階段進入成長階段,一些軟件企業(yè)正在一步步正規(guī)化;但是軟件企業(yè)和軟件人才結(jié)構(gòu)不合理:幾乎沒有從事個人消費者軟件的企業(yè);大部分軟件人才為編程工程師,缺少軟件架構(gòu)師、項目經(jīng)理、測試員等。另一方面,隨著IT技術(shù)的飛速發(fā)展和日新月異,特別是互聯(lián)網(wǎng)技術(shù)的發(fā)展和應(yīng)用,企業(yè)能夠在一個全新的、統(tǒng)一的高科技信息技術(shù)的環(huán)境支撐下來建立和實施現(xiàn)代企業(yè)管理。財務(wù)軟件系統(tǒng)的應(yīng)用已經(jīng)普及,但我國財務(wù)軟件的發(fā)展前景卻不容樂觀,財務(wù)管理人員隊伍普遍存在知識老化,不能適應(yīng)網(wǎng)絡(luò)經(jīng)濟時代對財務(wù)管理工作的需求,也不能很好地理解和使用財務(wù)軟件和信息系統(tǒng),直接影響了財務(wù)軟件的使用效果和財務(wù)軟件產(chǎn)業(yè)的發(fā)展。會計制度體系的變革和會計理論研究的滯后是制約財務(wù)軟件和財務(wù)信息系統(tǒng)的模型進行創(chuàng)新設(shè)計的重要瓶頸,影響了財務(wù)軟件產(chǎn)業(yè)的發(fā)展。

財務(wù)軟件設(shè)計的復(fù)合型人才在財務(wù)軟件產(chǎn)業(yè)發(fā)展中處于最重要的地位。財務(wù)軟件設(shè)計的復(fù)合型人才必須在財務(wù)和計算機軟件設(shè)計兩個領(lǐng)域都非常有專長,成為這兩個領(lǐng)域里的行家里手。所以,培養(yǎng)高級的、現(xiàn)代化的財務(wù)軟件設(shè)計的復(fù)合型人才勢在必行。目前我國財經(jīng)高等院校和大部分綜合類高等院校、成人高校和新興的職業(yè)技術(shù)學(xué)院都開設(shè)有計算機專業(yè)和財會專業(yè)。但從橫向上看,這兩個專業(yè)在課程的設(shè)置上還存在著“單打一”的現(xiàn)象;從縱向上看,課程的深度,尤其是計算機網(wǎng)絡(luò)知識和財會知識的結(jié)合程度比較膚淺,學(xué)財會的學(xué)生僅僅掌握數(shù)據(jù)庫的操作和簡單的憑證輸入及報表編制是遠遠不夠的。從將來培養(yǎng)高級會計軟件工程人員的角度出發(fā),計算機和財會專業(yè)應(yīng)互相滲透、互相兼容,讓學(xué)生“兩條腿”跑步,對于這類學(xué)校的計算機專業(yè)更要調(diào)整軟件課程設(shè)計模式,

使學(xué)生能夠迎接當(dāng)今財務(wù)軟件產(chǎn)業(yè)的挑戰(zhàn),獲得更多的工作機遇。

軟件設(shè)計課程是一門綜合性的實踐課程,其通過合理的軟件項目,來鍛煉學(xué)生的分析、設(shè)計、編程、測試、維護等多方面的綜合能力,既要學(xué)生掌握應(yīng)用領(lǐng)域的專業(yè)知識,又要學(xué)會應(yīng)用計算機軟件的專業(yè)理論來解決應(yīng)用領(lǐng)域的實際問題。如何通過軟件課程設(shè)計來提高學(xué)生在未來工作中的適應(yīng)能力,是目前軟件教育業(yè)普遍關(guān)注的核心問題。如何使軟件課程設(shè)計具備靈活的面向財務(wù)應(yīng)用的適應(yīng)能力,也成為金融財務(wù)類院校探討的熱點[1、2]。本文針對培養(yǎng)財務(wù)軟件設(shè)計開發(fā)的復(fù)合型人才的需要、結(jié)合計算機基礎(chǔ)理論、軟件開發(fā)技術(shù)、軟件工程學(xué)原理[3]以及軟件過程模型[4~6]的特點,提出了一個軟件課程設(shè)計動態(tài)模型。其可以根據(jù)學(xué)生的不同層次、不同的培養(yǎng)目標(biāo),定制裁剪,該模型適合財務(wù)類院校軟件復(fù)合性人才培養(yǎng)的需要。

2面向財務(wù)應(yīng)用的軟件設(shè)計課程教學(xué)模式

2.1 課程目的

面向財務(wù)應(yīng)用的軟件設(shè)計課程教學(xué)目的如下:

1) 鍛煉學(xué)生綜合分析、設(shè)計、開發(fā)軟件產(chǎn)品的能力;

2) 融合學(xué)生已經(jīng)學(xué)過的計算機課程、財務(wù)會計課程的內(nèi)容,使理論與實踐相結(jié)合;

3) 根據(jù)當(dāng)前的技術(shù)發(fā)展水平和社會財務(wù)軟件行業(yè)的需求,適當(dāng)擴充學(xué)生的新技術(shù)的容量;

4) 掌握規(guī)范的軟件開發(fā)過程、管理過程,與國際軟件界接軌;

5) 財務(wù)管理系統(tǒng)對軟件設(shè)計的要求。

2.2教學(xué)模式的框架

面向財務(wù)應(yīng)用的軟件設(shè)計課程教學(xué)模式應(yīng)該根據(jù)財務(wù)復(fù)合型人才培養(yǎng)的需要,結(jié)合現(xiàn)有的計算機基礎(chǔ)理論的教育,同時融合現(xiàn)代軟件工程學(xué)的思想,制定相應(yīng)的教學(xué)框架。該教學(xué)模式的框架結(jié)構(gòu)如圖1所示。

圖1中的有向邊表示各個部分之間的依賴關(guān)系,各個組成部分描述如下:

(1) 軟件、財務(wù)基礎(chǔ)課程

該部分是“軟件課程設(shè)計”的必要基礎(chǔ)條件,應(yīng)在開設(shè)“軟件課程設(shè)計”之前完成。主要有:離散數(shù)學(xué)、數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)庫原理、過程程序設(shè)計、面向?qū)ο蟮某绦蛟O(shè)計原理、計算機系統(tǒng)結(jié)構(gòu)、計算機網(wǎng)絡(luò)、操作系統(tǒng)、會計學(xué)、財務(wù)管理、會計信息化。

(2) 各類應(yīng)用模型

主要探討與企業(yè)應(yīng)用相關(guān)的領(lǐng)域模型,不僅僅限于財務(wù)軟件系統(tǒng)。其可以包括如下內(nèi)容:

1) 電子商務(wù);

2) 企業(yè)資源管理;

3) 客戶關(guān)系管理;

4) 供應(yīng)鏈管理模型;

5) Internet多媒體應(yīng)用;

6) 財務(wù)管理等等。

(3) 研究的軟件課題集

根據(jù)(2)所描述的應(yīng)用領(lǐng)域,根據(jù)學(xué)生的不同層次和培養(yǎng)目標(biāo),抽象領(lǐng)域應(yīng)用模型,形成供軟件課程設(shè)計所需的軟件課題集。每個軟件課題既要包括該軟件所需的應(yīng)用領(lǐng)域背景、領(lǐng)域知識、領(lǐng)域模型,又要包含該軟件系統(tǒng)開發(fā)的所有文檔、過程文檔、以及學(xué)生實際開發(fā)過程文檔、評測文檔、改進文檔等等。該部分是該模型的核心,其的構(gòu)建需要若干周期的軟件開發(fā)和學(xué)生實踐才能獲得,同時還要考慮軟件應(yīng)用領(lǐng)域和軟件技術(shù)變化發(fā)展的因素。

(4) 當(dāng)前流行的軟件技術(shù)

主要包括當(dāng)前業(yè)界盛行的開發(fā)技術(shù)。這些技術(shù)不僅是學(xué)生完成該課程所需要,而且也是當(dāng)前主流的軟件開發(fā)技術(shù)和工具;學(xué)生掌握這些技術(shù)后,在就業(yè)的競爭中,可以發(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è)界得到公認,并且如果軟件企業(yè)要想獲得美國的軟件開發(fā)資格,必須要通過CMM認證。如果學(xué)生在學(xué)校能夠了解CMM體系,那么其在今后的企業(yè)工作過程中就可以很好地適應(yīng)企業(yè)認證的需要,同時也增加了學(xué)生的就業(yè)競爭力。CMM體系分為三個層次:1)PSP(The Personal Software Process)規(guī)范;2)TSP(The Team Software Process)規(guī)范;3)CMM(Capability Maturity Model)規(guī)范。由于該體系過于龐大、抽象,學(xué)生掌握比較困難,所以可以重點培訓(xùn)PSP和TSP過程規(guī)范。

(6) 課程過程文檔集

課程過程文檔是掌握學(xué)生學(xué)習(xí)情況的重要依據(jù)。學(xué)生的學(xué)習(xí)過程的記載可以參見PSP模型,但又不可生搬硬套。PSP的許多文檔過于繁瑣,實踐證明學(xué)生感到其過于單調(diào),往往會影響學(xué)生的學(xué)習(xí)興趣。在構(gòu)建過程文檔的時候,還要引進PSP模型中的小組過程信息,使過程和軟件項目的整體所統(tǒng)一。

(7) 課程評測系統(tǒng)和評測規(guī)范

評測系統(tǒng)要根據(jù)學(xué)生開發(fā)的軟件產(chǎn)品原型、課程過程文檔集以及評測規(guī)范來進行。評測不僅要對軟件原型的功能、性能進行檢驗,還要評測軟件過程文檔的規(guī)范性、完整性。更重要的一點,要評測學(xué)生的應(yīng)用領(lǐng)域知識、背景的掌握情況;必要時可以給被評測者一個新的應(yīng)用領(lǐng)域模型,來檢測其對新問題的處理能力。評測規(guī)范應(yīng)該根據(jù)實際情況而定,既要檢驗學(xué)生的專業(yè)深度,又要考慮其應(yīng)用知識面的廣度;既要定量考慮,也要定性分析。有關(guān)具體評測方法可以參見CMM體系。

(8) 課程的實際效果

課程的目的是培養(yǎng)應(yīng)用領(lǐng)域復(fù)合人才,課程的實際效果的檢驗需要學(xué)生的實際就業(yè)情況、實際工作情況而定。可以建立一套學(xué)生跟蹤系統(tǒng),和學(xué)生簽訂檢驗合同。畢業(yè)就業(yè)的學(xué)生定期把自己的工作情況反饋給該跟蹤系統(tǒng),跟蹤系統(tǒng)根據(jù)這些反饋進行整理分析,以便動態(tài)調(diào)整該課程模式的實施。

2.3課程模型的實現(xiàn)模式

在課程模式框架圖中,涉及的范圍太廣,學(xué)生很難掌握,所以可以根據(jù)學(xué)生的實際情況分解成四種實現(xiàn)模式:

(1) 單一技術(shù)模式

單一技術(shù)模式主要培養(yǎng)學(xué)生的軟件開發(fā)技術(shù),同時要掌握個體軟件過程技術(shù)。根據(jù)本模型框架,可以裁剪為如下內(nèi)容:

1) 具體一門技術(shù);

2) 一個簡單的應(yīng)用模型;

3) 財務(wù)系統(tǒng)分析工作;

4) 基礎(chǔ)軟件工程學(xué);

5) PSP規(guī)范、財務(wù)管理標(biāo)準(zhǔn)及規(guī)范。

(2) 軟件開發(fā)規(guī)范模式

軟件開發(fā)規(guī)范模式主要培養(yǎng)學(xué)生的軟件開發(fā)技術(shù),同時要掌握軟件過程模型,重點為CMM體系。根據(jù)本模型框架,可以裁剪為如下內(nèi)容:

1) 具體一門技術(shù);

2) 一個簡單的應(yīng)用模型;

3) 財務(wù)系統(tǒng)分析工作;

4) 基礎(chǔ)軟件工程學(xué);

5)PSP規(guī)范、TSP規(guī)范、財務(wù)管理標(biāo)準(zhǔn)及規(guī)范。

(3) 復(fù)合模式

復(fù)合模式主要培養(yǎng)學(xué)生的領(lǐng)域問題解決能力、掌握軟件開發(fā)技術(shù),同時要求掌握軟件過程模型,重點為CMM體系。根據(jù)本模型框架,可以裁剪為如下內(nèi)容:

1) 具體一門技術(shù);

2) 一個中等難度的應(yīng)用模型;

3) 財務(wù)系統(tǒng)分析工作;

4) 基礎(chǔ)軟件工程學(xué);5)PSP規(guī)范、TSP規(guī)范、財務(wù)管理標(biāo)準(zhǔn)及規(guī)范。

(4) 高級模式(研究生)

高級模式主要培養(yǎng)學(xué)生的領(lǐng)域問題分析能力、掌握建模技術(shù)、開發(fā)技術(shù)、管理技術(shù),同時要掌握軟件過程模型,重點為CMM體系;這個模式需要學(xué)生已經(jīng)具備良好的軟件開發(fā)技術(shù)和軟件工程學(xué)原理。根據(jù)本模型框架,可以裁剪為如下內(nèi)容:

1) 一個大的應(yīng)用模型;

2) PSP規(guī)范、TSP規(guī)范、CMM規(guī)范、財務(wù)管理標(biāo)準(zhǔn)及規(guī)范。

2.4實施部驟

該模型的實施步驟如下:

(1) 模型集構(gòu)建

1) 收集已經(jīng)完成的應(yīng)用項目;

2) 項目歸類;

3) 項目抽象成應(yīng)用模型;

4) 給出評測標(biāo)準(zhǔn)(規(guī)范)。

(2) 確定實現(xiàn)模式

1) 了解學(xué)生基礎(chǔ)情況;

2) 測試學(xué)生的能力;

3) 選定一個實現(xiàn)模式。

(3) 學(xué)時安排包括

1) 新技術(shù)培訓(xùn);

2) 項目開發(fā)、評測;

3) 總體評測、評分。

3結(jié)束語

企業(yè)財務(wù)電算化的普及,是提高企業(yè)科學(xué)管理水平、增強競爭力的核心。培養(yǎng)既懂財務(wù)、又會軟件設(shè)計、同時具備軟件過程規(guī)范的復(fù)合型人才是企業(yè)的需要,同時也是金融財務(wù)類院校的責(zé)任。有效的軟件課程設(shè)計的教學(xué)模式是培養(yǎng)復(fù)合型人才的關(guān)鍵,本文提出的模型對這方面進行了初步探討。有關(guān)具體內(nèi)容還需在實際的教學(xué)過程中細化、研究。

軟件設(shè)計畢業(yè)論文:根據(jù)社會現(xiàn)代服務(wù)業(yè)要求建設(shè)創(chuàng)意與軟件設(shè)計專業(yè)

摘要:專業(yè)建設(shè)只有根據(jù)社會產(chǎn)業(yè)需求進行才有生命力。隨著現(xiàn)代服務(wù)業(yè)的快速發(fā)展,社會急需創(chuàng)意與軟件設(shè)計人員,所以重點建設(shè)好創(chuàng)意與軟件設(shè)計類專業(yè),培養(yǎng)適應(yīng)軟件、創(chuàng)意設(shè)計等現(xiàn)代高端服務(wù)業(yè)發(fā)展要求的有用、適用人才是當(dāng)務(wù)之急。本文闡述了上述觀點。

關(guān)鍵詞:創(chuàng)意產(chǎn)業(yè);現(xiàn)代服務(wù)業(yè);軟件產(chǎn)業(yè);專業(yè)建設(shè)

1專業(yè)設(shè)置的必要性

為加快無錫國家動畫產(chǎn)業(yè)基地建設(shè),促進動漫產(chǎn)業(yè)發(fā)展,無錫市政府先后出臺《市政府關(guān)于鼓勵和扶持動漫產(chǎn)業(yè)的若干政策意見》和相關(guān)補充條款。為加快發(fā)展我市軟件產(chǎn)業(yè),加快經(jīng)濟增長方式轉(zhuǎn)變,無錫市政府又制定了《市政府關(guān)于加快無錫市軟件產(chǎn)業(yè)發(fā)展的意見》,要求到“十一五”期末,無錫要培育一批骨干龍頭軟件企業(yè),要成為江蘇省內(nèi)乃至國內(nèi)重要的軟件產(chǎn)業(yè)基地之一,到2010年要完成軟件業(yè)銷售收入300億元,全市擁有省認定的軟件企業(yè)200家。為搶抓國際服務(wù)外包轉(zhuǎn)移機遇,加快集聚國際服務(wù)外包和軟件出口企業(yè),把無錫太湖保護區(qū)建設(shè)成 “中國服務(wù)外包示范區(qū)”,無錫市人民政府制訂了《市政府關(guān)于集聚國際服務(wù)外包和軟件出口企業(yè)“123”計劃的政策意見》,提出到2010年末,全市要集聚國際服務(wù)外包和軟件出口企業(yè)100家,每家企業(yè)從業(yè)人員超過2000人,年出口超過3000萬美元。

產(chǎn)業(yè)發(fā)展、人才需求對職業(yè)教育提出了新要求,同時也為職業(yè)教育提供了新機遇。我校將緊緊抓住這一機遇,以服務(wù)為宗旨,以就業(yè)為導(dǎo)向,總結(jié)現(xiàn)有動漫、軟件和設(shè)計專業(yè)的辦學(xué)經(jīng)驗,開設(shè)創(chuàng)意與軟件設(shè)計類專業(yè),重點培養(yǎng)無錫服務(wù)外包產(chǎn)業(yè)發(fā)展所需的軟件、創(chuàng)意設(shè)計、動漫影視類中端及實用性人才。

2專業(yè)設(shè)置的可行性

學(xué)校信息類和藝術(shù)類專業(yè)已開設(shè)多年,形成了一支結(jié)構(gòu)合理、業(yè)務(wù)精良的師資隊伍,取得了明顯的辦學(xué)成果,為創(chuàng)意與軟件設(shè)計類專業(yè)建設(shè)奠定了良好的基礎(chǔ)。學(xué)校早在上個世紀(jì)80年代初就引進計算機課程教學(xué),1993年設(shè)置計算機技術(shù)及應(yīng)用專業(yè),并很快開發(fā)出軟件、維修、網(wǎng)絡(luò)等專業(yè)發(fā)展方向。順應(yīng)地方經(jīng)濟發(fā)展對人才的要求,1999年學(xué)校又設(shè)置多媒體制作專業(yè)。2004年,在全國的同類型學(xué)校中,率先與印度國家信息技術(shù)學(xué)院(NIIT)合作,培養(yǎng)軟件開發(fā)人才。2006年與匯眾益智科技有限公司合作,培養(yǎng)游戲人才。2007年增設(shè)影視動漫專業(yè),并于同年秋季首次招生。

學(xué)校擁有一支專兼職結(jié)合,結(jié)構(gòu)合理的專業(yè)教師隊伍。學(xué)校現(xiàn)有信息和藝術(shù)設(shè)計類專業(yè)教師44人,其中高級職稱教師11人,中高級職稱教師占本專業(yè)教師的62%。享有國務(wù)院津貼專家1人,特級教師2人,省市級骨干教師9人。雙師型教師26人,現(xiàn)已參加NIIT培訓(xùn)8人,參加游戲動漫培訓(xùn)并獲得相關(guān)技能證書6人。21人碩士研究生畢業(yè)或在職攻讀碩士學(xué)位。學(xué)校還擁有一支由行業(yè)專家、企業(yè)技術(shù)骨干組成的兼職教師隊伍。他們參與專業(yè)開發(fā)、課程改革和教學(xué)活動,是學(xué)校的寶貴資源。

學(xué)校堅持從產(chǎn)業(yè)結(jié)構(gòu)調(diào)整和社會崗位的變化來謀劃專業(yè)設(shè)置,堅持面向職業(yè)需求,以培養(yǎng)學(xué)生能力為本位實施課程改革,加強專業(yè)建設(shè)。2004年計算機技術(shù)及應(yīng)用專業(yè)被評為江蘇省示范專業(yè),2007年“FLASH動畫制作”課程被評為無錫市優(yōu)秀課程。在校學(xué)生參加各級各類技能大賽,多次獲獎。

學(xué)校已建成“三中心五室”實訓(xùn)基地?!叭行摹睘榫W(wǎng)絡(luò)中心、信息技術(shù)研發(fā)中心、計算機技能綜合實訓(xùn)中心;“五室”為游戲動畫制作實訓(xùn)室、NIIT軟件開發(fā)實訓(xùn)室、計算機網(wǎng)絡(luò)實訓(xùn)室、多媒體工作室和美術(shù)基礎(chǔ)實訓(xùn)室?;緷M足當(dāng)前教學(xué)需要。

3專業(yè)設(shè)置方案

(1) 專業(yè)設(shè)置、學(xué)制和培養(yǎng)目標(biāo)

培養(yǎng)目標(biāo):培養(yǎng)大專層次的創(chuàng)意與軟件設(shè)計產(chǎn)業(yè)所需的中端及實用型技能人才,見表1。

學(xué)制:初中起點五年。

(2) 教學(xué)設(shè)施和實訓(xùn)基地建設(shè)

學(xué)校將本著配套、實用、先進的原則,加大投入,增添創(chuàng)意與軟件設(shè)計類專業(yè)教學(xué)所需的設(shè)施設(shè)備,并建成1200O的校內(nèi)實訓(xùn)基地,見表2。

說明:動漫實訓(xùn)基地包括渲染工作室、手繪工作室、模型工作室、美術(shù)工作室、動作捕捉室、影視高端實訓(xùn)室、專家指導(dǎo)工作室、攝影棚、放映室、衍生產(chǎn)品工作室等。

基地建成后,學(xué)校還將以此為載體,面向社會開展技能培訓(xùn)和職業(yè)資格認定;主動迎接企業(yè)教育社會化的任務(wù),承接企業(yè)訂單,參與企業(yè)技術(shù)改造和產(chǎn)品研發(fā),使其成為產(chǎn)教研合作的新平臺。

(3) 教師隊伍建設(shè)

專業(yè)建設(shè),教師是關(guān)鍵。除借助國家、省、市已有的各類師資培訓(xùn)途徑培養(yǎng)教師外,學(xué)校擬針對專業(yè)教師專業(yè)知識豐富、實踐經(jīng)驗不足、動手能力不強的現(xiàn)實,加強校本培養(yǎng)和培訓(xùn)。一方面學(xué)校將花大力氣從企業(yè)引進有志于學(xué)校教育的實用型專業(yè)技術(shù)人才;另一方面繼續(xù)推行專業(yè)教師下企業(yè)實踐的制度,每年至少選派一位教師下大企業(yè)進行為期6個月到1年的實踐。另外,學(xué)校還設(shè)想依托已有的“大昭”工作室,鼓勵教師搞專業(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é)計劃、教學(xué)大綱選擇優(yōu)秀教材,并根據(jù)前期開設(shè)NIIT軟件技術(shù)、游戲動漫等專業(yè)的經(jīng)驗,繼續(xù)引進與國際接軌、符合企業(yè)要求的優(yōu)質(zhì)教育資源,還將組織教師自主開發(fā)、編寫順應(yīng)產(chǎn)業(yè)發(fā)展、適合于教學(xué)、有利于提高學(xué)生動手能力的教材,見表3。

(5) 校企合作

職業(yè)教育的本質(zhì)是向企業(yè)提供人力資源,所以職業(yè)院校和企業(yè)有著天然的聯(lián)系,校企合作就成為學(xué)校和企業(yè)的共同選擇。下一階段,學(xué)校將繼續(xù)加強與企業(yè)的合作,在為企業(yè)輸送人才的同時,依托企業(yè)培養(yǎng)師資和學(xué)生,實現(xiàn)“雙贏”。

根據(jù)無錫產(chǎn)業(yè)的發(fā)展走向,動漫影視、動漫游戲、軟件、創(chuàng)意設(shè)計類人才的需求是大量的。我們將延續(xù)學(xué)校近百年辦學(xué)所形成的厚重文化,解放思想、搶抓機遇,提升傳統(tǒng)優(yōu)勢專業(yè),拓展創(chuàng)意與軟件設(shè)計等新專業(yè),為無錫經(jīng)濟跨越式發(fā)展提供智力支持和人才支撐。