軟件設計師范文

時間:2023-04-04 11:40:12

導語:如何才能寫好一篇軟件設計師,這就需要搜集整理更多的資料和文獻,歡迎閱讀由公務員之家整理的十篇范文,供你借鑒。

軟件設計師

篇1

二年以上工作經驗|男|26歲(1990年3月14日)

居住地:上海

電 話:144*******(手機)

E-mail:

最近工作 [ 1年8個月]

公 司:XX公司

行 業:電子、微電子技術、集成電路

職 位:軟件設計師

最高學歷

學 歷:本科

專 業:電腦財會

學 校:XXX行政學院

自我評價

具有扎實的電子技術知識,對模擬電子和數字電路有相當的了解和深刻的認識,對電子電路具有較強的分析能力和判斷能力,電腦使用熟練。對產線不良原因分析,提升產線良率有一定的實力,能夠很好的解決產線突發異常能夠對產線測試治具進行設計與維護。熟悉電子材料及其電氣特性能鑒別,能夠對電子料進行正確承認。具有較強的維修能力,對電路設計與改善有一定的經驗。能熟練使用示波器,頻普儀,高頻發射器,電源表,萬用表,信號發射器。熟悉SMT生產流程,了解PCB貼片機的維修與維護。

求職意向

到崗時間:一個月之內

工作性質:全職

希望行業:電子、微電子技術、集成電路

目標地點:北京

期望月薪:面議/月

目標職能:軟件設計師

工作經驗

2012 /7—至今:XX公司[1年8個月]

所屬行業: 電子、微電子技術、集成電路

設計部 軟件設計師

1. 負責新產品的導入工作,協助研發部解決新產品存在的問題。

2. 量產機種的SOP制作、維護及效率的提升優化

3. 制程異常問題點的分析\改善 。

4. 協助產線進行人員的教育訓練

5. 新料件的承認、ECR的確認、發行。

2011 /6—2012 /6 :XX公司[1年]

所屬行業: 電子、微電子技術、集成電路

修理部 修理

1.負責電話機,對講機,大哥大壞機的檢測與修理

2.負責SonyEricsson手機PCBA測試冶具的保養與維護工作,

3.對產線突發狀況進行分析與改善,整理及提交相關測試報告,

4.確保生產線上的測試設備正常地生產和運轉.

教育經歷

2007/9—2011 /6 XXX行政學院 電腦財會本科

證 書

2009/6 大學英語四級

2008/12 大學英語四級

篇2

關鍵詞:SAR;監控軟件;自恢復;慣導;坐標轉換

中圖分類號:TN958

隨著雷達技術的發展,SAR(synthetic aperture radar合成孔徑雷達)日益成為高分辨率體制雷達的主流。其全天時、全天候、高分辨率的優良特性使其被廣泛用于戰場偵察、資源勘探、環境監察、城市規劃等多種領域,SAR在國民經濟和國土防衛中起著越來越重要的作用[1]。本文在介紹機載SAR監控軟件系統組成、功能和體系結構時,對監控軟件中的關鍵技術作了說明,通過實際運行,該監控軟件達到了良好的實時控制效果,證明其在SAR系統中的可靠性與實用性。

1 監控軟件主要功能

本文提出了機載SAR監控軟件的主要功能[2]:(1)完成通信數據的解析和處理;(2)響應顯控單元的控制指令,并將監控軟件采集的狀態和故障進行定時報告;(3)可實現對機載SAR的工作模式參數的自動設置:包括條帶工作模式、同時工作模式、廣域工作模式;(4)可實現機載SAR狀態的自動控制:嚴格按照先后順序完成對天線單元、綜合處理單元和低功率射頻單元的狀態控制;(5)可實現聚束模式的自動控制功能:監控軟件根據聚束工作參數和組合慣導數據,經過坐標變換后,計算聚束工作態參數。當聚束工作態參數滿足工作條件時,控制SAR系統進入工作態;當聚束工作態參數滿足待機條件時,控制SAR系統進入待機態;(6)工作態錯誤的自動恢復處理:監控軟件采集到工作態下的故障時,重啟天線單元、綜合處理單元和低功率射頻單元后,自動控制天線單元、綜合處理單元和低功率射頻單元進入工作態。

2 軟件體系結構設計

監控軟件的總體流程圖如圖1所示。

圖1 監控軟件的總體流程圖

根據系統處理流程,將系統劃分如圖所示的功能模塊,各模塊功能描述如下[3]:(1)初始化通信串口。初始化監控軟件與天線單元、組合慣導單元、綜合處理單元之間通信串口。(2)初始化定時器。初始化系統的定時器,并設置定時中斷函數。(3)初始化慣導數據處理線程。創建一個單獨線程,完成對慣導數據緩區進行數據檢索和數據解析。(4)串口數據檢索與處理。完成與天線單元、綜合處理單元和顯控單元通信串口的數據檢索和數據解析。(5)工作態錯誤恢復處理。監控軟件控制SAR系統進入工作態后,實時監測工作的故障信息,若出現故障,進行自恢復處理。(6)聚束定時處理。在聚束模式下,監控軟件根據聚束模式參數和組合慣導信息實時計算設置SAR系統進入待機態/待機態。(7)工作態定時處理。監控軟件主要按照先后順序完成對天線單元、綜合處理單元和低功率射頻單元進入工作態。(8)待機態定時處理。監控軟件主要按照先后順序完成對天線單元、綜合處理單元和低功率射頻單元進入待機態。(9)狀態報告定時處理。監控軟件定時完成SAR系統的狀態和故障采集,并將狀態和故障報告定時發送至顯控單元。

3 軟件實現

本文的監控軟件實現在VxWorks中被創建成一個自啟動的工程[4],工程內部建立一個主程序main.cpp用于程序入口,其他的源程序包括系統初始化sysinit.cpp、數據交互處理interact.cpp、定時處理timeint.cpp、BIT采集處理bite.cpp、聚束模式的坐標變換calcauangle.cpp、串口數據的發送與接收8250.cpp和全局變量public.cpp。源程序在Tornado中編譯生成可執行文件vxworks后,通過網絡傳送至目標機上運行即可。系統文件組成如圖2所示。

圖2 機載SAR監控軟件系統的源文件

4 結束語

基于VxWorks系統的機載SAR監控軟件具有很高可靠性和良好的實時性,采用了C++語言進行開發,運行效率非常高。本文設計了基于時間片輪轉和任務優先級的混合調度算法,這種算法的優點是:時間片輪轉可以兼顧所有通信任務的平均性能,而任務優先級可以保證緊急任務的實時性,所以系統的綜合性能和系統內核的效率會大大提高。

設計機載SAR監控軟件時,采用了模塊化的編程思想,在其他應用領域具有可繼承性和可擴展性,達到了通用性的目的,避免了重復勞動。

參考文獻:

[1]方志紅,張長耀,俞根苗.條帶SAR成像對偏航角最大誤差要求的理論分析[J].雷達科學與技術,2004(02):33-33.

[2]張增繼.基于VxWorks的一種機載SAR中央控制軟件設計[J].工業控制計算機,2012(25):3-5.

[3]崔榮化.無人機機載SAR地面終端系統的設計[J].信息與電子工程,2010(04):460-461.

[4]符偉,夏傳浩,王志紅.基于vxworks的雷達點跡處理系統的實現[J].合肥工業大學學報,2007(05):570-570.

篇3

明確課程開發目的

職業教育中的課程教育不同于本科教育,也不同于基礎教育。課程目標與內容具有明顯的職業導向性、基礎知識實用性、技能知識主導性等特點。在實際工作中,課程開發是指在教學大綱的基礎上對課程目標、內容、教材進行可行性研究。課程開發的目的是讓學生能很快適應社會,能直接將學校所學的知識運用到工作中,體現“學以致用,知行合一”的方針。職業教育中課程開發應該基于學生自身特點,不同階段進行不同的課程設計。

美術軟件課程合理開發的重要方面

1.課程定位具有職業導向性

Photoshop、CorelDRAW兩個軟件課程是我校電腦美術專業學生在校學習的專業核心課程之一。通過對電腦美術軟件課程的學習,讓學生掌握圖片前期處理

和廣告設計的基本知識,以及提高書籍輸出和排版等設計能力,畢業后可以在廣告設計公司、傳媒公司、網頁制作公司、影樓等地方就職,就業市場廣,前景好。授課主要采用項目教學法,使學生完成多種模式的設計工作過程,培養學生具備處理設計各種類型圖片和畫冊書籍版式的能力,為學生以后從事設計工作打下堅實的基礎。

2.課程設計注重校企合作

為了創設符合市場需求的電腦美術軟件設計課堂,讓我校畢業生能適應企業人才的需要,學校特別聘請了動漫電腦繪制設計師來校座談,開闊學生的眼界,提高學生對美術設計軟件的學習興趣。教師還帶領學生去江西婺源采風寫生,與當地婺源企業合作。學生通過寫生、攝影等方式提高了審美能力,在素材的整理中充分運用到photoshop圖片處理軟件,獲得了大量的設計素材和資源。筆者參加了2012年中職學校國家級骨干教師培訓,從中體會到,專業課程設計應該注重校企合作,充分利用企業資源。培訓基地的部分土地,租用給了一個設計公司,在培訓期間,學員用設計軟件設計的圖片就由這一設計公司輸出打印,方便了學員,也方便了學校,更重要的是充分利用了現有的資源,學員也有更多的機會接觸廣告設計公司,對廣告行業加深了了解,這種校企合作方式給了我很大的啟發。在課程設計中的校企合作,不能單單理解成一般的合作模式,參觀、交流、體驗只是校企合作的皮毛,真正的校企合作應該體現在,能讓學生加深對企業的了解。合作過程中,可以將學生實訓和實習時間加長,并且根據學生能力的不同,在實習過程中針對一門技術進行專一的訓練,而不是各種技術都去嘗試,最后實訓的結果是只懂皮毛,并沒有對企業有深入的體會。

3.課程內容循序漸進

在課程內容的安排方面,應該綜合考慮學生的能力和階段性興趣。教學內容應該有效地進行排序,也就是課程內容的序化結構問題。姜大源教授認為,知識只有在被序化的情況下才能被提供,而序化意味著確立知識組織的框架和順序。課程內容的設置應該完全為學生服務,使學生能更容易接受老師教授的知識與技能。職業教育中的基礎知識和技能充分體現工作過程,工作過程就是實際應用,可以在課堂中設置工作場景,將課堂內容充分與實際運用結合起來。在美術設計軟件學習的課程中,軟件種類是多樣的,并且具有互通性。深入研究了解發現,設計軟件種類之間,也有難易不同程度的差別。例如:Photoshop軟件與CorelDRAW兩種美術設計軟件在課程內容安排應該循序漸進。Photoshop是專業的圖片前期處理軟件,也具有一定的排版功能,而CorelDRAW軟件是專業的美術設計排版軟件,這兩種軟件看似是沒有關聯的,好像可以隨意安排先后順序。其實不然,在CorelDRAW排版軟件中設計的一些畫冊書籍中的圖片先要進行圖片的前期處理才能運用到排版中,這樣設計出的作品才有高的輸出質量。所以單純從這兩個軟件來看,應該將Photoshop課程安排在CorelDRAW課程之前。由于一定的地域差異,美術軟件種類的應用也有不同,例如:在中國中西部,廣告公司一般運用CorelDRAW軟件作為排版軟件,而在中國東部或沿海城市,多用Inustrater軟件進行排版,但是對于Photoshop軟件的運用全國都是一樣的,所以我們在課程內容設置上也應該將Photoshop軟件教學內容設置更多,更深入。這樣循序漸進地設計課程內容能讓學生真正“學以致用”。

4.課程評價開放、客觀

課程評價也是課程開發的一個重要環節。課程評價應該與課程目標結合起來,課程目標制定符合教學大綱的三維目標體系,那么,課程評價也應該以三維目標體系為基礎,結合職業教育需求實際,進行綜合評價。對學生目標任務的評價不能只看結果,應該更注重過程,這樣才能使評價更開放、更客觀。美術軟件設計課程中對學生的評價應該從幾方面考慮:

(1)素材搜集是否及時合理

搜集素材是作為設計工作者最基本的能力,素材在設計中是最基礎并且最關鍵的,好的素材不需要過多的后期處理便可以達到高水平的設計要求,劣質的素材處理起來會耗費大量的時間,最后設計的質量也不一定好。教師通過講解、示范和啟發明確學習目標,下發任務書,鼓勵學生通過各種方式選取素材,特別是自己拍攝的照片素材

(2)軟件操作過程是否正確。

這是對操作速度提出一定的要求。在平時軟件設計課堂中,教師演示完操作過程之后,學生完成任務的速度過慢,經常使得完成目標任務變得遙遙無期,最后學生也失去了學習的興趣。廣告企業競爭壓力很大,職業學校學生想要脫穎而出找到自己理想的職位,必須在軟件操作速度上更勝一籌。操作速度包括兩個方面:一方面是對軟件的熟練運用程度,另一方面是美術設計軟件快捷鍵的運用熟練程度,熟練掌握快捷鍵的應用,可以大大的提高操作速度。

(3)設計理念更應順應大眾審美

每個人對設計作品的理解和評價都會不同,有些同學想要自己的作品具有獨特的設計理念。介于以后學生就業的定位來看,更鼓勵學生多欣賞外國和中國的優秀設計作品,先模仿后設計,開闊眼界才是根本。

課程評價運用多種形式,除了教師為學生作品打分以外,還可以組織學生互評,或者校內外作品展示。學校充分利用校內資源,給學生舉辦作品展覽。我校在今年為電腦美術專業開展了一次大型的美術作品師生展,這樣的活動可以增加學生信心,提高學生學習的興趣。教師也可以幫助學生多參與校外的美術設計展,更要注重學生送投設計作品之前的過程。

通過培訓有效提高教師職業能力和執教能力,有效實施課程體系

教師的執教能力與職業能力有很大差異。執教能力是教師將自己的職業知識,運用正確的方法傳授給學生,讓學生更易接受。職業能力是教師本身具備的除了教師以外職業技能的素養和技能操作知識。教師的執教和職業能力的高低會直接影響課程開發和課程實施的質量。

提高教師職業能力與執教能力的方式之一就是教師培訓,這也是現在職業學校教師提高職業能力的主要方式。有調查顯示:現階段的職業教育教師的主要教學任務是教學實踐,實踐缺少理論指導,缺乏問題的研究,缺少行業技能實踐經驗,更多的是知識理論經驗。在美術設計課程教學教師群體中,有些老師教授電腦美術設計課,但是并沒有真正從事過設計工作,甚至沒有進出過設計公司,對設計行業并不了解,這樣的教師是不合格的。在美術軟件設計課程中,學校應該多組織教師進行企業培訓,只有教師親身體會行業文化,才能正確引導學生。

校企合作的方式不僅可以用于學生實訓中,教師培訓也可以充分利用企業資源。通過培養教師職業能力,擴大學校“雙師”型教師隊伍,可以大大提高學校美術軟件設計的專業技術實踐能力。學校與企業合作對教師技能進行培訓,也可以不斷地更新教師專業知識,使教師專業化成長與時俱進,把最新的知識傳授給學生。培訓的目的也是挖掘教師的潛能,教師通過培訓也會提高教學興趣,打破一成不變的學校教學模式,將企業培訓的新模式合理運用到課程開發和實施中來。

培訓可以讓教師站在學生的立場上思考問題。教師不能一味地給學生布置很多的課程目標任務,而是應該精選典型的案例來讓學生操作,一味地布置大量的操作任務,只會讓學生厭惡美術軟件設計。

篇4

關鍵詞:計算機軟件設計;嵌入式軟件;設計

中圖分類號:TP393 文獻標識碼:A 文章編號:1009-3044(2016)32-0064-02

隨著我國計算機技術及軟件技術的迅速發展,嵌入式軟件也有了飛躍的進步,被人們開發出來的嵌入式先進設備也被廣泛運用到日常生活中及各行各業中,改變了我們的生產生活。在計算機軟件設計中應用嵌入式軟件,可以改善軟件系統的性能,降低了軟件產品出現問題的幾率,還可以優化軟件系統,使軟件系統更加穩定和可靠。嵌入式軟件在計算機軟件設計中的應用具有一定的研究價值。

1 嵌入式軟件的基本認識

隨著社會不斷朝著信息化的方向發展,計算機在人們日常生活中的重要性越來越突出。在計算機軟件設計中,由于嵌入式軟件具有較強的穩定性,并且操作簡單,深受計算機行業人士的喜愛。嵌入式軟件在計算機軟件設計中也有著重要的地位,不僅能夠大大地提高軟件產品的質量,還能夠避免軟件產品中的問題及不足。在計算機軟件設計的時候,可以以嵌入式軟件的執行預測、緩存機制及動態分配為基礎,優化計算機軟件實時處理功能。嵌入式軟件在計算機軟件設計中主要是硬件處理及軟件處理兩方面的應用,在計算機軟件設計中,要以系統為支撐,然后通過程序員編寫程序。在此過程中對多個任務進行同時處理的系統就是嵌入式處理器。嵌入式處理器能夠在極短的時間內處理多個任務,并且還能夠實時保存信息資源。嵌入式軟件有兩個優點:其一,由于嵌入式軟件的模塊化,它可以檢測軟件并且對其進行修復;其二,嵌入式軟件可擴展軟件處理器,在計算機進行軟件設計和操作的時候,可以使用最低的功率進行,使嵌入式軟件的優勢可以最大程度的得到發揮,嵌入式軟件在計算機軟件設計中有著主導作用。

2 計算機軟件設計中的嵌入式軟件設計策略

2.1 嵌入式軟件的開發步驟及設計

2.1.1 嵌入式軟件的開發依據

在計算機軟件設計中應用嵌入式軟件的原理主要是計算機在處理緊急的軟件時,嵌入式軟件可以利用實時處理功能構建CORBA模型。另外,嵌入式軟件還能運用遠程調控功能為計算機軟件設計提供多種設計任務,降低計算機軟件設計的時間,提高計算機軟件設計效率及質量。下文就以CORBA模型為例子,研究嵌入式軟件在計算機軟件設計中的應用,探索嵌入式軟件是否可以對計算機軟件設計進行創新及完善。

2.1.2 嵌入式軟件的開發步驟

在計算機軟件設計中使用嵌入式軟件,可以有效提高計算機軟件的設計水平,優化計算機軟件的開發流程,進一步提高軟件系統的可靠性。在計算機軟件設計中使用嵌入式軟件的時候,首先就要確定軟件的開發流程,全面了解計算機中的軟件及硬件結構,使兩者能夠分離,使軟件不再依靠硬件,從而提高計算機軟件的安全性及可靠性。應用嵌入式軟件還能初始化計算機軟件中的數據,并格式化計算機軟件中的數據結構,為了能夠使計算機軟件中的設計能夠更加完善,可以直接對軟件及硬件進行操作。嵌入式軟件的開發流程見圖1。

嵌入式軟件的開發流程的步驟分為:其一,全面掌握計算機軟件系統的需求,并且對其進行分析了解;其二,根據計算機軟件的需求,程序員就可以編寫程序代碼;其三,對軟件性能進行測試,并且對測試結果進行分析,從而能夠優化計算機軟件設計。由此可見嵌入式軟件的開發流程是比較簡單的,這也為計算機軟件提供了可靠性的保障。在軟件設計中,應該著重注意軟件數據的初始化工作和格式化工作。

2.2 嵌入式軟件在計算機軟件設計中的應用

2.2.1 對計算機軟件多任務進行劃分

嵌入式系統中的應用軟件可以保障系統功能的完善,并且還肩負著資源管理及任務間的通信責任。對軟件的資源管理及任務通信進行實現的是計算機系統中的微內核,其也是計算機軟件的基礎程序。應用嵌入式軟件,就要對軟件不斷地進行優化設計及協調,并且優化嵌入式RTOS模型,使軟件系統中的任務可以獨立工作。

對計算機軟件中的任務進行劃分,需要將數據進行轉換,之后再進行分析應用程序。影響任務劃分主要是由于應用系統數據通信之間的異步關系,其可以從兩方面進行考慮:其一,系統中的輸入/輸出系統。輸入/輸出系統中的驅動要以軟件系統中的應用程序及中斷為基礎才能夠實現,其中應用程序就占了CPU大部分的空間,所以就要通過中斷以此來提高計算機軟件中的實時性及實用性;其二,軟件系統內部功能。計算機軟件系統中的并行任務有周期任務、應用控制任務及用戶接口任務等等,為了將這些任務合為一個任務,就要對任務的激活進行全面考慮。為了能夠使計算機軟件設計流程更加簡單,可以使用同一種事件驅動,來提高軟件的資源共享。

2.2.2 存儲映像布局及任務組織

在對系統應用功能劃分為多個獨立任務之后,就要對其進行組織,組織任務的方式主要是以各個任務之間的關系為基礎進行的,這些任務的組織及管理功能與嵌入式操作系統有著一定的聯系。另外,由于嵌入式操作系統并不完善,所以就要應用程序保存在FLASH或者ROM中。為了之后操作系統可以正常運行,就要在組織任務的時候對其進行科學的安排,并且對計算機軟件中的系統布局進行優化及完善。軟件系統布局主要重點考慮存儲映像布局和物理零地址存儲器,系統在加電之后,可以在物理零地址上設置代碼。嵌入式軟件中的應用系統是由ROM啟動,物理零地址可以存儲計算機系統中的向量。此方式最大的優點就是簡單快捷,能夠提高處理器在調取向量的速度。

2.2.3 任務調度及實時性應用

在計算機軟件設計中應用嵌入式軟件,要重點考慮嵌入式系統的實時性,主要分為兩方面:其一,軟實時性。主要是使系統能夠在規定的時間內完成任務,如果沒有完成可以延遲;其二,硬實時性。主要是使系統能夠在規定的時間內完成任務,如果沒有完成,則會有嚴重后果。所以計算機軟件系統的調度應該采用優先的方式,這種方式主要是指微內核可以根據系統中的緊急任務來對軟件系統進行優先順序的安排,并且可以根據不同的優先等級對系統進行劃分,以使響應時間可以有效降低。

2.2.4 初始化系統

在計算機軟件設計中使用嵌入式軟件,還要重點考慮對系統的初始化及執行。編寫初始化系統代碼是在嵌入式系統的微內核及硬件抽象層中的,主要是對系y進行初始化及引導。與計算機軟件系統不一樣的是其并沒有BIOS系統,所以,開發軟件的工作人員就要設計方案來引導系統和編寫初始化代碼,對這些代碼進行執行之后,再進行工作,比如存儲系統的初始化、RAM變量的初始化及設置異常中斷向量等等。最后再通過設置相應的指令來緩沖嵌入式軟件系統,隨后進入系統進行調度。

3 結束語

本文首先闡述了嵌入式軟件的含義及特點,對嵌入式軟件設計的方式進行了分析,研究了在計算機軟件設計中使用嵌入式軟件的作用。由此可以看出來嵌入式軟件的發展趨勢將會越來越好,并且值得我們推廣。

參考文獻:

[1] 章慧云.嵌入式實時軟件在計算機軟件設計中的應用[J].信息技術與信息化,2014(12):184-185.

篇5

計算機技術作為第三次浪潮的數字技術,帶動了各行各業的快速發展和轉型,同時也悄無聲息地把我們領進了一個處處充滿數字化的信息時代。在服裝方面,目前制作服裝設計主要使用三類軟件:一類是專業軟件,這類軟件系統可以制造模擬各種工具作圖逼真的藝術效果,提供了直接在大型數字化儀上用光筆作圖的創意電腦平臺。另一類是平面輔助設計類軟件,例如Photsho、CorelDraw等等。現有各類專業軟件其核心仍然是一個電腦平面設計繪畫系統,與平面設計軟件在本質上是相似的,區別在于專業軟件專業化程度更高,功能更全,速度更快,精確度更高。最后一類是服裝CAD系統,該系統經過30多年的發展,已拓展了原有的內涵,正逐步向新的方向發展。它是服裝設計人員根據自己的創意、構思,利用計算機系統來完成服裝設計的一項專用技術。

軟件技術在服裝設計各種階段的運用以及與服裝設計要素的關系:

1.面料設計:在使用數碼軟件技術對服裝的面料進行設計時,服裝設計師可以使用軟件中的特效菜單中提供的豐富的材料進而完成創作內容。軟件中的圖案生成器可以對不同的面料進行襯托和選對,巧妙的改變圖像,并且利用各種圖像花紋最后和成為比較逼真的面料肌理,產生以假亂真的效果,豐富面料的變化。如我們充分運用例如Photosho和Painter中強大的畫筆工具、濾鏡等功能都可以把做好的面料肌理和面料圖案與服裝的款式及模特的立體造型巧妙結合,完好的展示出設計師的靈感來源。這樣,手工繪制不出的復雜的服裝面料和一些特殊的藝術表達語言也都可以輕松實現。面料設計不再是單一的手繪的方法,繪制出的紋樣也從最初的單調的小花紋發展到樣式多種,圖案復雜的電腦提花,為設計師提供了極大方便,為服裝企業帶來更高的效率,也滿足了消費者對服裝的各種要求,是現代工業發展的必然趨勢,符合本世紀的欣賞和審美要求。因此數碼軟件成為服裝的面料設計不可缺少的表現手段。

2.色彩的運用:使用電腦上色不但可以輕松地對色彩任意調配還可以進行色彩轉換。在電腦的色彩系統中,通常會把顏色歸結為各種色彩模式,在制作過程中電腦軟件共有RGB、CMYK、HSB、LAB等多種色彩模式,在這些色彩模式中通常采用的是RGB和CMYK。如希望將圖像輸出程最佳效果,設計師可以在制作初始使用CMYK或者在制作之后轉換成CMYK模式。在進行服裝設計的過程中,服裝的選色尤其重要,這個時候可以使用Photoshop來進行顏色的對比與調節。在色彩填充過程中會出現各種不和諧現象,調整色彩之間關系,對于效果圖的整體效果處理極為重要。設計師還可以根據色相、明度、飽和度進行任意排列,將自己喜歡的顏色和色調關系進行保存,這樣大大提高了設計效率。最后通過數據的調配還可以更加直觀精確地控制色彩變化關系。

3.款式的應用:在制作服裝款式圖時設計師主要應用到的軟件是Corel draw。在Corel draw中的路徑和標尺可以畫出服裝的款式圖和結構圖,文字等工具為工藝制作提供明確的參數。Corel draw不但可以輕松繪制出服裝的款式圖以便更詳細地交代出款式的前后結構,還可以通過變形工具,進行整體的拉長放大縮小產生夸張變形的時裝人物藝術效果。用這些軟件繪制出的服裝款式圖除了可以幫助設計師表達出服裝的款式和結構外,還使工藝師更加直觀明了的制作出服裝版型,并且在制作過程中也是很好的溝通依據,而且軟件可以長時間儲存制作過的款式圖,為以后的制作提供大量資料,具有非常高的使用價值。更是服裝工業生產管理中的重要技術資料。

4.效果圖的繪制:作為能集中反映出設計師的靈感來源和服裝的設計要素的時裝效果圖,在數字化的今天設計師不用畫筆和顏料就能實現自己的藝術夢想。設計師可以利用數碼技術的復制功能來簡單完成規律性強、重復量大的較復雜的繪制處理工作,并且可以儲存大量豐富的和服裝有關的資料庫,為繪制過程中提供各種資料,完成細節處理。數碼技術制作出的效果圖不僅可以對畫面起到特殊的烘托效果,還可以展示出人體著裝后的效果氣氛,使服裝款式搭配效果變得輕而易舉,看上去真實并且具有藝術性和工藝性相結合的特點。數碼軟件技術制作的服裝效果圖不僅被創造性的賦予了全新內容,同時還帶來了觀念與工作方法的更新。

5.服裝的打板與制作:自從服裝CAD技術出現后,服裝的打板由傳統的人工制作逐漸達到自動化生產,這種轉變使打板數據更加精確化,避免了由于人工因素的失誤和差錯而給企業帶來嚴重浪費,提高了工作效率,節省人力財力并改善產品質量。所以服裝的打板在近幾年中應用于各服裝企業及服裝專業的教學中。隨著計算機技術的不斷更新,服裝CAD 系統也得到不斷升級,其實用功能變得更加強大,界面也隨之相對友好,操作不再復雜難懂。如今的服裝CAD已充分應用于服裝制版、樣板縮放、排料、適衣、設計等環節,服裝設計師在諸多的制作環節中,可以通過這些軟件技術從繁瑣的繪畫工具中解脫出來,在較短的時間內完成需要花費很長時間完成的重復性勞動,節省更多的時間和精力,使之更快速地完成時裝設計的創作。但是在設計的創作初期,許多構思和形態都是模糊混沌的,需要通過手繪進行大量的草稿并不停的修改,所以繪畫試圖將創造性的設計工作完全建立在對數據的依賴上是不現實的。然而軟件功能非常豐富多樣且強大,傳統手工繪制方式很難或無法達到的卻在軟件所提供的制作技法中有可能實現,對畫面的修改、復制、裁剪、合成也易如反掌。

篇6

隨著科學的進步,計算機在人們的生活和工作中占有越來越重要的位置,而嵌入式實時軟件在整個計算機軟件當中的應用占有主導地位,在國際市場中,嵌入式系統操作技術的不斷發展和進步,對嵌入式軟件的研究正被越來越多的人所關注,而嵌入式實時軟件由于自身的專業性和實時處理的特點,對于改善計算機中軟件的復雜性并提高軟件的工作質量都有很重要作用,所以在計算機軟件設計中,嵌入式實時軟件的應用具有良好的發展前景。本文結合嵌入式實時軟件的特點對其在計算機軟件設計中的應用進行探討。

【關鍵詞】計算機 嵌入式 實時 軟件 應用 設計 探討

國內的軟件業由軟件產品、軟件技術服務、系統集成、嵌入式系統軟件和IC設計等五部分構成,其中嵌入式軟件對國內軟件行業貢獻最大,據相關數據顯示,國內約2/3的軟件出口是嵌入式類,國內軟件行業發展雖不及國際發達水平,但在嵌入式軟件的研究毫不遜色,國內前十的軟件公司有五家都是做嵌入式軟件研究的,足可見,嵌入式軟件在我們生活中的應用情況。在實際生活中,嵌入式實時軟甲不單單是在計算機領域有較為廣泛的應用,在手機、平板電腦等日常用的電子設備中較為常見,國內的IT行業發展也要結合國際的經驗,如蘋果i系列產品都是嵌入式系統,而英特爾將其中國研究的發展目標定位于世界一流的嵌入式系統研究院。下面簡析嵌入式實時軟件在計算機軟件設計中的應用。

1 計算機軟件設計中嵌入式實時軟件的應用原理

在計算機軟件設計中,嵌入式實時軟件可以在緩存機制、動態分配、預測指令執行等設計中產生積極的良性作用,即改變軟件的實施操作性,同時增加軟件設計的應用性和安全可靠的性能。在計算機軟件設計的應用中,嵌入式實時軟件的的設計應用也包括硬件和軟件設計兩大部分,由應用程序來控制計算機軟基系統的運作與行為 ,再利用計算機操作系統控制程序的編程及硬件交互。對于嵌入式實時軟件的設計中核心的設計就是嵌入式微處理器,大多采用ATglRM9200處理器,此外較重要的就是嵌入式實時軟件的模塊設計,從而保證計算機軟件設計的安全性、可操作性和獨立性。

2 嵌入式實時軟件的設計和開發

在計算機軟件設計中,嵌入式實時軟件的設計和開發相對簡單,在對軟件的需求進行簡析后,進行具體的設計并生成代碼,最后對軟件進行測試,這種簡潔的開發流程對提高效率和增加計算機軟件的穩定性都有較大的幫助。此外在設計過程中也注意避免硬件和軟件的脫離,并要有效保證軟件數據初始化和格式化等有效進行,保證計算機軟件設計在實際工作中有良好的操作性。

2.1 計算機軟件設計中對嵌入式實時軟件的結構設計

在計算機軟件設計過程中,對于嵌入式實時軟件的結構設計首先要保障其實時性的要求,這樣就要求在實際的設計中對UML 進行實時性擴展、對時間 ER 網進行構件化擴展,并在嵌入式實時軟件中體現UML 與 CTER,這些都是在實際軟件設計中保證嵌入式實時軟件模型的建立和實施重要基礎保障。在現實生活中,一般情況下,小區的門禁系統在對于進入小區車輛的管理中,就是應用的嵌入式實時軟件對于實時性操作的需求,這種操作不僅僅是因為嵌入式實時軟件操作簡單,更重要的是在安全性和操作性有可靠的保障。

2.2 對嵌入式實時軟件的程序實現

隨著嵌入式實時軟件的廣泛應用,高級編程語言的應用也成為計算機軟件設計中發展的必然結果,由于在實際編程開發過程中,嵌入式系統采用的編程語言較多,但僅有少數幾種語言得到了比較廣泛的應用,其中C和C++是應用最廣泛的,尤其是C++編程語言,在支持現代軟件工程、OOP(Object Oriented Programming,面向對象的程序設計)、結構化等方面對C進行了卓有成效的改進.下面是LED閃爍程序的部分編程代碼:

/******************************************************************/

* Function main ()

* Description: Blink the green LED once a second

* Notes: This outer loop is hardware-independent. However

* it depends on two hardware-dependent functions.

* Returns: This routine contains an infinite loop.

/******************************************************************/

void

main (void)

{

While (1)

{

Toggle Led (LED_GREEN); /*Change the state of the LED.*/

Delay (500); /*Pause for 500 millisenconds . */

}

}/*main ()*/

3 總結

隨著科技的進步,計算機軟件設計中嵌入式實時軟件的應用和開發將會被更多的領域所借鑒和引用,將對計算機的革新以及日常生活中常用的電子產品產生深遠的影響。當下,計算機軟件設計中對嵌入式實時軟件的應用對計算機的靈活性以及和現實環境的交互性都起到很好的完善作用。嵌入式實時軟件的實時性、可操作性以及易控性等特點,并且在實際的計算機軟件設計中結合嵌入式實時軟件中斷處理、上下文切換、資源分配以及優先級處理、任務同步的優勢,讓計算機操作更加便捷,并滿足大家更多的實際需求,對嵌入式實時軟件的開發與探究也將給計算機軟件設計帶來巨大的突破,在科技不斷的深入改革中的進步中,嵌入式實時軟件的應用對我們的生活帶來翻天覆地的創新和便利。

參考文獻

[1]張愛兵.計算機軟件設計中嵌入式實時軟件的應用探究[J].電子技術與軟件工程,2014(04).

[2]馬宇馳.計算機軟件設計中嵌入式實時軟件的應用探析[J].信息通信,2014(04).

[3]張莉.芻議嵌入式實時軟件的設計與應用[J].信息與電腦(理論版),2012(08).

[4]李禹松.嵌入式實時軟件在計算機軟件設計中的應用[J].硅谷,2013(09).

[5]宮婷.計算機軟件設計中嵌入式實時軟件的應用探究[J].中國外資,2013(12).

篇7

由圖可知地面測發控軟件主要包括主控軟件、顯示軟件以及數據處理軟件等。主控軟件作為地面測發控系統的核心軟件,主要完成測試流程控制、數據通訊存儲等功能。為保證導彈/火箭在發射前功能正常、性能良好,保證安全、準時發射,需要對導彈/火箭進行全面、綜合的測試,評估導彈/火箭性能。地面測發控軟件中主控軟件的測試流程控制功能即實現了導彈/火箭在發射前按預先設計好的時序進行各項功能和性能的測試,比如:總線誤碼率檢查、系統配電自檢、彈上時序檢查等。測試流程按照功能及屬性歸類,可劃分為不同的流程類,稱之為主流程,每個主流程包含不同的流程項,稱為子流程,每個子流程包含不可分割的流程步驟,簡稱為步序。操作手可根據要求選擇相應的主流程或子流程進行系統測試。為驗證系統各項測試的有效性,需要存儲測試數據,以便事后進行數據分析。目前大部分型號主控軟件均可以監聽彈上通訊數據,并對數據進行處理和分析,如存盤、轉發、提取消息、提取數據(伺服、電壓及時序)等不同的功能。數據存儲的運行不能影響程序的正常功能及性能,因此數據存盤采用低優先級的任務實現。顯示軟件主要負責顯示測試數據,接收操作手按鍵輸入,是操作手和主控軟件之間的中介,實現了人機交互的功能;數據處理軟件主要完成測試數據的處理、判讀等功能。本文主要根據地面測發控軟件的測試流程控制和數據存儲的功能需求,討論設計模式在地面測發控軟件中的應用。

2設計模式在地面測發控軟件中的應用

設計模式的有效復用是當前軟件領域研究的重要內容,通過利用設計模式的思想來指導軟件結構設計,不僅可以縮短軟件設計和實現的周期,還可以提高軟件的可維護性、可復用性。本文根據地面測發控軟件的需求,使用命令模式、單件模式、觀察者模式和主動對象模式解決地面測發控系統軟件所面臨的通用問題。

2.1命令模式在地面測發控軟件的應用

測試流程控制模塊負責對導彈/火箭發射前的各項功能進行全面測試,操作手選擇某一流程項,系統將自動執行其所有步序。步序參數確定了步序的具體功能,如何將步序參數賦給步序,其中最直觀的方法是,所有不同的步序共享同一類型的結構體,步序的調用則在步序類中有步序執行函數,根據步序參數結構體中的步序標記調用不同的步序函數,并以步序結構體單元作為參數。但這種方法使某個步序可以訪問不需要的步序結構體字段,不符合面向對象的封裝原則;步序函數所在類繼承自同一抽象類,擁有步序執行函數,每增加或刪除一個步序均要修改抽象類定義的步序執行函數,因此可擴展性差。為解決以上問題,本文采用命令模式進行程序設計。命令模式屬于對象行為型模式,命令模式將一個請求封裝為一個對象,并提供一致性發送請求的接口。當一個事件發生時,它不直接把事件傳遞到事件調用者,而是在命令和調用者之間增加一個中間者,將這種直接關系切斷,同時兩者之間都隔離。事件調用者只是和接口打交道,不和具體實現交互。以主控軟件常用的延時功能為例,創建一個抽象的CFlowMethodCallBase類,該類包含1個公共接口call(),所有步序類均繼承自該抽象類。另外,創建CFlowMethodCallBase類的子類CMethodCallDe-layTime,即步序類。該類包含1個call()方法,實現對CCtrlTime類的DelayTime()方法的引用,Delay-Time定義了具體的延時功能。步序的實現有了命令模式為基礎,還要實現步序的管理和運行。首先是注冊步序,在步序描述文件(XML)中保存步序的UUID號、名稱、參數個數、參數名稱和缺省值等信息,CMethodCallDelayTime類構造函數執行時將步序的UUID號通過哈希映射表與自身的指針關聯起來。最后是步序的執行。通過步序創建器對象讀取XML文件,從中提取CMethod-CallDelayTime類的UUID,再通過哈希表找到該類的指針,并將指針存儲在數組中。由步序執行器對象,獲取數組中的指針,即可調用相應的call()函數,實現對DelayTime步序的調用。步序執行器對象運行在自己獨立的任務(線程)中,當主控軟件收到測試開始指令后,立即啟動該任務,步序執行器將逐項執行XML文件中的步序,直到所有步序執行完畢,或者收到暫停、停止指令。如圖2所示,在測試流程控制模塊中使用命令模式,并結合組合模式,能夠簡單快捷的進行測試流程管理,增加或刪除某一步序,只需在CFlowMethod-CallBase父類下添加/刪除具體的步序子類,并將該步序在XML文件中注冊或刪除即可。使用命令模式,將調用者和被調用者分離,實現了功能之間的解耦,符合低耦合、高內聚的思想,大大提高了軟件的可維護性和擴展性。

2.2單件模式在地面測發控軟件的應用

地面測發控軟件的測試流程控制功能負責火箭/導彈射前各項功能和性能測試,測試項目達幾十到幾百個不等,按功能劃分為步序甚至更多。需要創建一個測試流程管理類(CFlowManage類)的實例,引用CFlowManage類的RegisterItem()方法完成步序的注冊。由于測試項目過多,每個步序類初始化都需要一個CFlowManage類的實例,增加了程序執行的復雜度。本文采用單件模式解決此項問題。單件模式屬于創建型設計模式,它保證一個類僅有一個實例,并提供一個訪問它的全局訪問點,客戶可以從一個眾所周知的訪問點訪問它。ACE(AdaptiveCommunicationEnviron-ment)技術提供了單件模式的模板類,封裝了單件模式的具體實現。使用ACE單件模式的模板創建CFlow-Manage類的一個指針CFlowManageSingleton,代碼如下:TypedefACE_Singleton<CFlowManage,ACE_SYNCH_MUTEX>CFlowManageSingleton;CFlowManageSingleton指針只需通過Instance操作指向CFlowManage類的RegisterItem方法,即可完成步序的注冊。代碼如下:CFlowManageSingleton::instance()->Regis-terItem("XXXX",static_cast<CFlowMethodCallBase*>(this));類似的,界面顯示功能也可以使用單件模式為界面顯示類創建唯一的實例,可以在任何一個訪問點訪問類實例,調用界面顯示類的方法,完成界面顯示功能,提高了代碼的靈活性。

2.3觀察者模式在地面測發控軟件的應用

目前各型號地面測發控軟件均可以監聽彈上通訊數據,并對數據進行處理和分析。當數據對象發生改變時,希望依賴于該數據對象的所有使用者都能立即被通知。本文采用觀察者設計模式描述這種依賴關系。觀察者設計模式定義了對象間一種一對多的依賴關系,當一個對象的狀態發生改變時,所有依賴于它的對象都得到通知并被自動更新[2]。通過使用觀察者模式,系統可以獨立的改變目標對象和觀察者對象,提高目標對象和觀察者的復用性。圖3為觀察者模式在地面測發控軟件應用的結構圖。對于被觀察者,首先定義一個抽象的Subject類作為目標類,該類提供注冊和刪除觀察者的接口。Subject類還定義了svc任務,該任務循環執行調用UpdateAllObserver方法,UpdateAllObserver方法包含觀察者類Observer的一個引用,可將數據的變化通知給所有向其注冊的觀察者類。CRead1553BFrmUDP類作為Subject類的子類,是具體的目標類,該類的ReadBuffer()主要負責從總線接收數據,記錄數據狀態。對于觀察者,首先定義一個抽象的Observer接口,所有監聽數據變化的觀察者均繼承自該抽象類,比如SaveObserver類、AnalyseObserver類等,觀察者將自己注冊到目標類對象中,目標類將觀察者類存放在一個list容器里。Observer類的子類實例化各自的Update方法可實現實時更新,以正確反應任務的執行情況。觀察者模式降低了目標與觀察者之間的耦合度。一個目標僅知道它有一系列觀察者,而無需知道有多少個觀察者及其歸屬類,它唯一的責任是通過UpdateAllObserver函數通知向它注冊的各觀察者。通知被自動廣播給所有已向該目標對象登記的有關對象。

2.4主動對象模式在地面測發控軟件的應用

數據存儲的運行不能影響程序的正常功能及性能,在有的多任務操作系統中,低優先級的任務會被高優先級的任務中斷,因此為了保證其他重要任務的運行,可以使用優先級較低的任務實現數據存儲功能。本文采用主動對象設計模式,實現了以異步方式對數據存盤,為任務間的協作提供了解決方案。主動對象模式可以提供對象在自己的任務上下文中,采用看似常規的方法調用處于不同任務上下文對象的成員函數,但該函數不是在發起者,而是在被調用對象的任務上下文中執行。每個主動對象擁有私有的控制線程,用于執行客戶在這個對象上調用的任何方法。當對象的方法調用需要很長時間才能完成時,主動對象模式就會派上用場,它可以把主控線程解放出來去做其它事情[4-6]。當主控軟件的數據接收和處理等關鍵任務有數據需要存儲在硬盤上時,采用主動對象模式提高關鍵任務的響應速度。關鍵任務調用數據存儲功能后迅速返回并重新執行關鍵操作,由低優先級的數據存儲任務完成具體的存盤工作。簡而言之,就是由關鍵任務發起存盤動作,而具體存盤的動作由低優先級的存盤任務完成。圖4主動對象模式的應用類圖數據存儲框架類圖如圖4所示。首先,定義一個方法請求類TFC_File_Savebin_Method類,該類繼承自ACE_Method_Request,它以對象的形式封裝了方法調用call()的對象,call()實現了數據存盤功能。方法請求對象是在主動對象的客戶向發出請求時創建的。然后,定義主動對象類Log_Task類。該類繼承自ACE_Task_Base,“持有”控制線程。主動對象類Log_Task需要重載svc()虛函數,在其中指明主動對象需要執行什么命令流程。一旦acti-vate()函數被調用,ACE_Task_Base類會在svc()方法中啟動一個新的控制線程,在svc()中實現的流程將在主動對象擁有的線程中被執行。另外,將Log_Task類的svc()寫成一個無限循環執行模式,這個循環會不斷的處理命令消息。最后,定義一個者類Proxy_SaveFile,這個類是給客戶使用的,它聚合了TFC_File_Savebin_Method類和Log_Task類的實現。Proxy_SaveFile類定義了一個方法請求類TFC_File_Savebin_Method對象,并將其插入激活隊列enqueue()中。隊列中的請求對象會在Log_Task類的svc()方法中被執行。客戶只需調用者類Proxy_SaveFile的一個引用,即可完成數據存盤功能的異步執行。主動對象模式解除了方法調用和方法執行之間的耦合,即前一個線程的調用(方法對象入隊列)和后一個線程的處理(方法對象出對列和call調用)解耦。對于數據存盤或日志存儲等優先級較低的任務,采用主動對象模式,可以實現異步存盤功能,使得系統的并發處理性能大幅提升。

3結束語

篇8

[關鍵詞] 高校教育 課程建設 崗位工作任務 工作過程

高校傳統的課程內容及結構決定了其課堂教學模式中,教師是教學過程中的主體,學生只是被動接受的客體。這種傳統的以“教師為中心、教材為中心、課堂為中心”、教師憑借“一間教室、一塊黑板、一支粉筆”引導學生跟著自己的思維轉的教學模式極大地遏制了學生的上課積極性、能動性和創造力,走進高職課堂,屢屢看到教師在課堂上侃侃而談,部分學生卻在課堂上無法集中注意力,在課堂上睡覺、說話、玩手機、聽MP3等現象,結果教師講完了一堂課,完成了這節課的教學任務,但部分課堂上精力不能集中的學生卻不清楚老師這節課講的內容。可見,教學改革的當務之急,是建設以培養高職學生應用能力為目的、以就業為導向的課程及課程體系。

目前,許多高校都已進行及正在進行課程改革,但有很多改革是閉門造車,只注重于形式。寫幾本教材、搞幾次實訓、做幾個多媒體課件就認為是進行了課程改革,這種改革沒有結合行業實際,沒有從根本上改變課堂教學內容及教學模式,是遠遠不夠的,也得不到預想的效果。湖南科技職業學院軟件學院基于崗位工作任務及工作過程對軟件技術專業各課程進行了系統改革,取得了很好的教學效果,這里以《Java企業技術》課程建設為例,來探討基于崗位工作任務及工作過程的課程建設過程。

基于崗位工作任務及工作過程的高校課程建設總體思路是:與企業合作,分析與課程相關聯的實際工作崗位,確定課程目標;請行業專家參與,基于崗位工作任務和工作過程建立課程教學內容遴選機制;分解與課程相關崗位工作任務,分析完成工作任務所需知識、工作技能,以真實項目為載體遴選課程內容;遵循職業能力培養的基本規律,以職業活動的工作過程為依據,對遴選的教學內容進行整合、序化,構建“理論、實踐”一體化的模塊化教學內容體系;與企業合作開發體現工學結合的教材及教案、課件、案例等教輔材料;以學生為主體,按照“做中教,做中學”的原則選擇教學方法和手段;設計以“能力考核”為重點、企業參與的課程考核方式。下面根據總體思路介紹課程建設的過程。

一、確定課程目標

通過與企業合作、通過職業崗位調研、崗位分析,以職業崗位需求為根據確定本課程的課程目標,特別是學生的能力目標。《Java企業技術》是軟件技術專業的核心課程,旨在培養學生掌握企業級應用項目開發流程及方法,具備企業級分布式應用開發的能力,并形成良好的軟件開發的從業素養。

二、建立課程教學內容遴選機制

針對飛速發展的軟件技術,為了確保教學內容的先進性、科學性和實用性,建立在行業專家參與的基礎上,基于崗位工作任務的教學內容遴選機制,通過定期派教師下企業調研、頂崗實習,了解行業的發展狀況以及企業對畢業生的崗位職業能力要求,收集行業專家往屆畢業生對本課程的反饋意見等途徑,確保培養目標定位(適應的職業崗位)準確,然后運用“逆向倒推法”對職業崗位進行綜合分析,確定崗位工作任務,分解工作任務,分析完成各項工作任務所需的知識、能力、素質,最后確定教學內容。

三、課程教學內容遴選過程

以《Java企業技術》為例,說明基于崗位工作任務及工作過程的高職課程建設中課程教學內容遴選過程。

1.分析崗位指向

《Java企業技術》課程的教學內容緊緊圍繞培養軟件技術專業應用型人才這一中心目標,重點培養學生掌握企業級分布式應用的開發技能,同時注重設計能力和實踐動手能力培養。通過調研,確定本課程崗位指向為J2EE工程師(如具有J2EE工程師崗位能力,就同時可適應Java高級程序員、動態網頁設計師等崗位)。

2.確定崗位工作任務

運用“逆向倒推法”對Java企業級應用開發人員職業崗位進行綜合分析,確定崗位工作任務為:開發客戶端應用來接收來自不同部門、不同業務取向的用戶的請求信息及用戶的輸入信息,開發服務端應用響應不同用戶的請求及輸入,結合后臺持久數據進行相應的處理,返回結果給客戶端及維護后臺數據。

3.分解崗位工作任務

通過調研、運用“逆向倒推法”對企業級應用開發崗位工作任務進行分解,典型的企業應用三層分布式結構由表示層、業務邏輯層和數據層組成如圖1所示。

圖1中,表示層是用戶和系統交互的接口,接收用戶的請求信息,并顯示由業務邏輯層處理數據的結果給用戶;業務邏輯層進行業務處理,包括接收輸入,處理、維護后臺數據,應答客戶請求等;數據層存儲系統持久數據。

4.分析各崗位工作任務要求,確定課程內容

企業級應用開發各崗位工作任務進行分析,確定完成各崗位工作任務對知識、能力、素質的要求,選擇相應的知識、技術作為課程的核心內容。崗位工作任務與所需要的知識、能力、素質對應關系如圖2所示。

本課程選擇當前最為實用的Java企業技術幾大核心技術:JDBC、JavaBean、RMI、Servlet、JSP和EJB等作為教學內容。

5.選擇教學項目

“DUKE在線銀行”案例是典型的企業級分布式應用項目,選擇此項目貫穿整個課程,作為訓練學生職業崗位綜合能力的載體。安排綜合實訓項目:物流信息平臺,讓學生經歷企業級分布式應用軟件開發的全過程。達到具備項目開發、團隊合作、文檔編寫等能力與素質的目標。為學生的可持續發展打下良好的基礎。

四、教學內容組織

遵循軟件技術專業學生職業能力培養的基本規律,以軟件開發活動為導向,按照真實工作任務及工作過程對遴選的教學內容進行整合、序化,建立模塊化課程結構,實現“教、學、做合一”。根據能力目標和知識目標,選擇典型案例貫穿整個課程,同時將案例分解成幾個子項目并分配到課程的相應模塊中,作為訓練學生單項能力和職業崗位綜合能力的主要載體。選擇合適的綜合實訓項目,按照需求分析概要設計詳細設計實現測試提交的過程,對學生進行設計、編碼、文檔編寫、團隊合作、交流溝通等綜合能力訓練,并為學生可持續發展打下基礎。

1.教學內容組織整體設計

根據課程內容遴選機制,本課程把JDBC、JavaBean、RMI、Servlet、JSP和EJB等納入到教學內容中,基于工作任務劃分模塊,建構模塊化課程結構。

為提高學生的動手能力及學習積極性,強調任務、案例驅動教學模式,選用了“DUKE在線銀行”典型案例為載體,并把整個案例分解成幾個子項目恰當地分配到課程的各個模塊中,對學生進行單項能力和職業崗位綜合能力的訓練。第一次課就給學生分析“DUKE在線銀行”實例要達到的目標,后續的每一課完后,學生就能實現本實例的一部分功能,本課程學完后,一個完整的“DUKE在線銀行”就完成了。通過學習本課程,學生不僅掌握了本課程的理論知識,還掌握了開發一個實際項目的技能。

課程安排綜合實訓項目――物流信息平臺,讓學生經歷企業級分布式應用軟件開發全過程,提高學生設計、編碼、文檔編寫、團隊合作、交流溝通等綜合能力。

整個課程由七個教學模塊和一個綜合應用模塊組成,分別是:JDBC模塊、JavaBean模塊、RMI模塊、Servlet模塊、JSP模塊、會話Bean模塊、實體Bean模塊和物流信息平臺綜合應用模塊。一個案例“DUKE在線銀行”貫穿7個教學模塊。課程模塊化內容結構如圖3所示。

2.教學模塊內容組織

每個教學模塊由若干個子教學模塊和一個獨立實踐案例組成。每個子模塊包含5個教學環節內容:任務陳述、知識點陳述、示范案例、指導練習、點評與擴展。

(1)任務陳述。陳述子模塊要完成的實際工作任務,要達到的預期教學目標和掌握的職業技能。(2)知識點陳述。陳述完成實際工作任務所要用到的新知識、新技術、新技能。(3)示范案例。能運用“知識點陳述環節”的知識解決的一個與本環節目標相似的案例,由教師來完成本案例。(4)指導練習。學生在教師指導下能運用“知識點講解環節”的知識來解決前面提出的實際工作任務。(5)點評與擴展。教師根據學生的練習過程,對學生知識和技能的掌握情況進行點評,掌握不夠的地方進行再講解,陳述擴展的知識和技術。(6)獨立實踐案例。學生運用本教學模塊中學到的知識和掌握的技能,獨立完成與本模塊教學中案例相似的工作任務,以訓練學生的單項能力。

3.實踐性教學設計

本課程實踐性教學的設計采取縱向遞進,橫向拓寬的方式進行。分為課堂演練、獨立實踐、綜合項目實訓和畢業設計4個環節。課堂演練主要是讓學生觀察認識教師的示范與演示,在教師的指導下進行練習;獨立實踐是學生獨立思考、獨立設計,完成單個小例子的驗證,是某一知識點的單項訓練;綜合項目實訓是軟件設計能力的綜合技能練習,能提高學生的設計、編碼、文檔編寫、團隊合作、交流溝通等綜合能力;畢業設計是軟件設計能力的綜合運用,為就業做最后的熱身。

除第一環節外,第二、三、四環節形成3個層次。第一層次是技能訓練的最低要求,學生通過模仿練習,鞏固所學知識,掌握基本技能,激發學生的學習熱情和興趣;第二層次是中級技能訓練,通過模仿進而設計實踐過程,激發學生創新意識,增強動手能力;第三層次是高級技能訓練,通過給其自由設計空間,來培養他們的創新能力和動手能力。

五、總結

通過以上聯合四大步驟,再選擇好的教學方法,本課程教學主要采用基于榜樣的教學方法,輔助采用互動式教學方法、啟發式教學方法、小組合作方法、課堂教學與學生創業中心結合的方法。并設計以“能力考核”為重點、企業參與的課程考核方式,基于崗位工作任務和工作過程的課程建設就完成了。《Java企業技術》這門課程的教材結構也就確定了。通過這種方式建成的課程,既能滿足企業對學生的要求,又能達到對高校學生應用能力培養的目的。

參考文獻:

篇9

關鍵詞:計算機;平面設計;設計軟件;應用

中圖分類號:TP391.7

計算機平面設計軟件的出現,在很大程度上為設計者提供了幫助,提供了便利的條件,從而使得設計者能夠更加容易的將自己的想法以及相關的設計理念表達出來。總而言之,對于人類藝術世界而言,起到了相當重要的轉變作用,當前看來,這一計算機平面設計軟件在平面設計、動畫設計等諸多領域都得到了廣泛的應用。

1 計算機平面設計軟件

計算機平面設計軟件一般可以分成兩種形式,分別是點陣圖像和矢量圖形。通常我們在具體實踐中比較常見的點陣圖像形式所包含的軟件有Photoshop、photopainter、publish等,這種形式的計算機平面設計軟件固有的屬性即其具有固定的分辨率,它一般獲取圖像的方式會運用到掃描儀或者是數碼相機;矢量圖像形式包括的計算機平面設計軟件中較為著名的是CoreDraw、pagemaker、freehand等,一般它所描述的是由數學或線構成的。計算機平面設計軟件所表現出的形式都具有專業性和藝術性,同時它的溝通方式是以“視覺”為主,通過多種多樣的形式進行創造,其中結合者符號、文字以及圖片等元素,從而將設計者的想法或者訊息以視覺形式表現出來,加上一些設計技巧,將設計者的創作目的實現出來。

2 計算機平面設計軟件的實踐應用

2.1 計算機軟件的實踐應用

計算機平面設計軟家中計算機軟件的應用十分重要,關于計算機軟件的實踐應用其實最大的功效在于它可以充分的開拓思路,進而將手繪所表現出的不足彌補掉。平面設計中前面已經介紹到最為普遍的幾種實際應用軟件包括Photoshop、Flash、Coreldraw、photopainter、publish等,其中最為常見的計算機軟件的實踐應用當屬Photoshop,它對于圖像的處理表現出了極大的功能,關于出版印刷、廣告設計、圖像編輯等諸多領域都應用到了這一計算機軟件,這一形式的軟件的表現形式是點陣式小方塊像素,其功能非常強大,在很多領域都得到了認可。

2.2 平面文字的處理

在計算機軟件平面設計軟件中,字體是其中最容易引導視覺注意,進而達到傳遞信息作用的元素,它在很大程度上都表現出了設計的內容。因此可以說,計算機平面設計軟件中,平面文字處理是一項非常強大的實踐,設計者運用多種不同的表現手法對字體進行處理,這一操作就不能僅僅局限在Photoshop上了,是由于這一軟件盡管強大,但是會由于縮放使得字體的圖像變得不夠清晰,此時應用cordldraw進行處理就會收到相對強大的效果。例如在制作新年的賀卡時,卡片中所涉及到的圖片就可以應用到Photoshop進行處理,而應用cordldraw進行文字的編排和處理,如此一來就能收到較為強大的效果。

2.3 計算機平面軟件對圖像的處理

在計算機平面設計軟件中,運用其進行圖像處理的問題僅僅只靠文字處理的方式進行操作顯然難以達到預期的效果,難以表達出設計者想要表達的全部思想。因此,在這一方面的實踐應用中,圖像的合成方面需要運用到圖層方面的操作,進而對圖像的真正意義表達出來;圖像的創意制作和特效的字體需要通過然見中的濾鏡工具、通道工具以及工具這些操作的綜合應用來完成。譬如說油畫或者素描中應用到的美術技巧,我們就可以通過運用計算機平面設計軟件中的特效內容來完成,對其中的手繪操作或者難以處理的缺陷彌補掉,這些效果自然成為眾多設計師對計算機平面設計軟件非常熱衷的原因。

2.4 平面設計軟件在特效字方面的應用

關于計算機平面設計軟件在特效字方面的實踐應用,其實不外乎關于其中平面設計軟件的具體功能,通常而言,我們還是會提到的計算機平面設計軟件即photoshop,但是我們同樣不能忽略到的一種計算機平面設計軟件是illustrato,這一計算機平面設計軟件在處理特效文字時表現出了非常強大的功能,與此同時還有的功能包括紋理的表現、特效背景以及包裝設計等,這一計算機平面設計軟件結合著Photoshop的強大功能所表現出的具體實踐應用包括名片的設計、封面的設計、海報時裝畫的設計以及寫實人像的設計等諸多領域。

2.5 計算機平面設計軟件在教學中的應用

計算機平面設計軟件的出現在教學中得到了具體的實踐應用,同時它也滿足了教育市場的需求,關于教育市場的需求,即教學重點要是全面的完善的教育教學體系架構。計算機平面設計軟件走進教育教學課堂,面向社會,無疑使得單調乏味的理論家學變得具有趣味性,當前看來,絕大多數的學校單調乏味的理論教學課堂使得理論與實踐出現了嚴重的脫節現象,進而將理論教學變成了形式主義,達不到理想的教學效果。計算機平面設計軟件在教學中的應用即可以使教學活動結合真正的設計項目,換句話說,將社會的設計項目通過計算機平面設計軟件表此出來,然后將其與課堂教學結合起來,使得校企合作的各種項目活動切實的引入到課堂中去,當然,與時俱進的校園之中會隨著社會經濟以及市場經濟體制的不斷完善和發展而不斷增多各類設計項目,如此一來,學生會積極地參與到這些設計以及競標中來,當然,其中計算機平面設計軟件發揮了非常大作用。總之,計算機平面設計軟件在教學中的應用不單單可以將學生的設計創作熱情激發出來,更高層次上說,還可以使得學生通過自身的實踐來檢驗和提高自身的水平。

3 計算機平面設計軟件的應用效果

應用計算機平面設計軟件之后,會表現出的應用效果多種多樣,總之是朝著設計者的思路來靠攏的,其在眾多領域之中都發揮出了非常重要的作用。并且隨著近年來計算機平面設計軟件水平的不斷提高,無=無疑為各個應用這一軟件的行業帶來了巨大福利。在文字方面,應用計算機平面設計軟件之后,我們可以設計出圖形化的文字,在很大程度上開拓了平面設計的發展道路,同時對于平面設計的欣賞價值而言也是一種很大的提升。另一方面,關于字體與空間,計算機平面設計軟件將其作出了巨大的優化,譬如說根據字體的形狀為其規劃出最適合的排版方式,根據自己本身的結構特色合理的安排其空間位置、結構分布等,這種字體空間式的設計形式在一定程度上會對視覺美感達到提升效果等。總之,計算機平面設計軟件的應用效果呈現出了多種不同的形式,它使得各種作品更具美感,更具價值。

4 結束語

計算機平面設計軟件堪稱實現視覺傳達設計的關鍵部分,具體實踐應用時,要求設計者盡可能的保持自己的另行創意,當然同時必須要善于使用計算機軟件,總之,在整個設計過程中,計算機平面設計軟件充當利器,進而體現出設計想法。另外,關于計算機平面設計軟件的應用方面,我們要特別注意到它的實踐應用,同時還要做到與其他相關軟件的合適配比,這樣在多層次上進行科學實踐的方式才能最終得到最為出色的設計效果,將其優勢充分的展示出來,提升整個作品的效果,達到吸引大眾目光的目標。

參考文獻:

[1]王歡.計算機平面設計中設計軟件的相互結合與應用[J].黑龍江科技信息,2012(11):12-13.

[2]劉鑄嬌.計算機平面設計軟件應用[M].北京:中國勞動社會保障出版社,2013(23):34-35.

[3]丁可.淺談平面設計中常見的圖像文件格式[J].計算機光盤軟件與應用,2010(19):67-68.

篇10

1 問題的提出

大多數地方高校本科教育的培養目標是:培養高素質應用型人才。而應用型人才的重要特征是:學生的專業素質能夠適應市場的需要。通信工程的學生要想適應市場需要,必須堅持“軟硬兼通”的培養模式[1]。據統計,通信領域70%以上的增長靠軟件,在一定的硬件設施基礎條件上,軟件業務是通信產業的主要業務增長點。因為硬件基礎設施是相對穩定的,而軟件業務的發展變化是非常快的,他既要滿足客戶的需求,還要滿足現如今的發展趨勢。因此通信軟件的發展帶動了整個通信行業的發展,進而成為推動整個IT行業向前發展的主要動力。目前,在大學教育擴招的背景下,對于純硬件職位,用人單位在招聘本科人才時,幾乎都要求有相關工作經驗。也就是說,站在公司的利益上講,沒有公司肯愿意讓應屆畢業生來直接介入到硬件工作中去。而單純懂軟件,不懂硬件也不利于系統搭建。事實上,約有80%的行業應用軟件是由非計算機專業的人編寫的。而既掌握本專業知識,又掌握相當計算機應用知識,已經成為各行企業對各高校培養人才的要求。在此背景下,C語言程序設計和軟件設計基礎作為計算機軟件的基石成為我校通信工程專業的必修課[2]。

為了更好地加強通信工程專業學生的軟件編程能力,課程教研組編寫《計算機軟件基礎實驗及課程設計指導書》,充分利用動態鏈接庫的優越性提出“跳躍性分級設計任務”,把驗證型實驗和設計綜合型實驗相結合[4],促進了學生軟件學習的興趣。盡管上述教改工作取得一定的成效,但是在畢業設計中,教研組發現學生對于軟件設計類課題仍然缺乏認知度,對教師下達的任務無從下手,大部分學生都是靠“百度”和“google”完成畢業設計,這使我們反思,為什么學生還是這么懼怕軟件呢?

教研組深入調研了市場上相關的計算機培訓機構,發現他們在授課時具有小班上課,靈活機動,以案例教學為基礎,用任務驅動教學等特點,這種授課方式對于有一定基礎的學生來說,可以更好地聚焦他們的注意力,激發他們學習軟件設計的興趣。因此課程組提出《軟件設計基礎》課程案例式教學設計,試圖引入20-30個案例,把基礎理論與應用實踐緊密結合,把案例和應用任務作為教學內容的主線,力爭在4個學時內講完案例(當然需要學生課下配合),最終提高學生的軟件編程能力。

2 案例設計原則與實踐

通信工程專業與計算機軟件相關的課程主要為:計算機基礎(1)C語言程序設計(1)Visual Basic程序設計(3)軟件設計基礎(4)Matlab及其應用(4)單片機原理與應用(5)DSP技術(5)軟件無線電技術(5)嵌入式系統及應用(6)數據通信網(6)通信系統課程設計(7)。其中括號里的數字表示開課的學期。《軟件設計基礎》是計算機軟件的核心課程,其主要內容包括數據結構,操作系統,數據庫系統概論。開設這門課程的目的是讓學生具有初步的軟件編程能力,掌握數據結構的相關算法,理解操作系統的基本概念,熟悉數據庫的基本操作。為了培養學生的軟件素質,此課程也有相當數量的常規上機實驗練習,但是這些練習缺少連貫性和系統性,一般都是以章節為主,學生所練習的題目范圍比較小。更為突出的是:上機內容僅僅從計算機專業的角度加強學生的軟件素質,并沒有結合通信工程的專業特點,以至于在大四進行的通信系統綜合課程設計中,學生對硬件有較好的掌握,但對串口編程等通信軟件知識所知甚少,影響課程設計的進度。由此可見,結合通信工程專業的特點,科學有效地培養學生的軟件素質,把案例教學引入到軟件設計基礎課程中,對于培養應用型人才起著至關重要的作用,具有現實意義[3]。

案例教學因其在美國哈佛大學商學院的成功應用而聞名于世,被教育界所廣泛推崇。我國于20世紀80年代開始引入案例教學,但多年來一直主要用于法學、醫學、經濟學和管理學等學科領域,在工科類課程的教學中, 采用案例教學的偏少。案例教學法是運用案例進行教學的一種方法,通過對一個包含有問題在內的具體情境的描述,引導學生對這些特殊情境進行討論的一種教學方法,是一種教師和學生直接參與共同對案例或疑難問題進行討論的教學方法,其目的是培養學生批判性、分析性的思維能力和信心,論證和說服的技能,以及解決不同實際問題的應變能力。

軟件設計基礎課程的教學對多媒體的依賴性需要借助案例教學來吸引學生的注意力,并促使學生同步思維[5]。計算機軟件的使用必須在計算機上進行,為加強直觀性,提高教學效果,軟件設計基礎課程的教學就離不開多媒體設備。軟件設計基礎的教學,主要是要求學生掌握軟件的各項功能和各種算法操作,對于一個較復雜的軟件來說,其功能是很強大的,操作也非常多,且各種操作之間并無明顯的聯系,因此,單純地向學生講授零散的知識點,不利于學生的深入理解和聯系記憶。可見,軟件設計基礎課程知識點的零散性需要利用案例來建立各知識點之間的聯系,以利于學生理解和深入。

軟件設計基礎與其他課程的關聯圖如圖1所示,案例式教學的例子盡可能與信息論、數據通信網、通信原理等通信老牌基礎課相關。主要培養學生如下能力:問題分析能力、查閱新技術新資料的能力、工程實踐能力、編寫代碼,撰寫文檔能力。具體實踐如下:

(1)編寫《軟件設計基礎》案例式教學實施方案,關鍵是要選擇典型而準確的案例。因為案例教學法就是運用具體案例進行教學,如何選擇案例,選擇什么案例,對案例教學有著決定性的意義。故所選擇案例應該是“準確”而又“典型”,“準確”是指案例內容與有關理論相吻合,“典型”是指該案例具有代表性,具體選擇哪一個案例取決于教學的內容和目的。只有通過一個個精選的案例使學生輕松地掌握各個知識點的實際應用及其差異,才能達到預期的教學目的和教學效果。學生在學新課時,總是會問:“這門課程的知識到底有什么用?”這是學習過程中常常困擾學生的一個問題。案例教學將理論和實踐引入特定的教學環境,從不同的角度審視兩者的關系,在理論和實踐之間架起了一座橋梁,使理論與實踐有機結合在一起。案例分析促使學生對理論運用的方式、原因等作更深入的思考,在思考過程中,學生可以將有關的理論知識融會貫通, 并與實際應用聯系起來,這樣就使學生在學習知識的過程中記憶更加牢固。案例教學是把學生到社會去實踐的過程提前到教學過程中, 讓學生在學習的過程中, 就具有一定的實戰經驗。例如“約瑟夫環問題”是一個很好地講述隊列的案例,在講完隊列基本原理后,引導學生用隊列解決“約瑟夫環問題”,具體編程時,根據學生的學習能力,可以采用分層次教學,例如對于接受能力快,編程基礎好的同學可以引導他們用VC或C++Builder實現可視化編程。對于其他同學只要求編寫控制臺程序即可。當然為了方便學時學習,可以事先把相關接口做成DLL,這樣使學生把精力都放在隊列技巧的應用上。

(2)嘗試探究式課程學習。所謂探究式課程學習是指在課程講授中,以學生自主學習和合作討論為前提,以案例指導書為基礎,在教師的啟發誘導下,學生自由表達觀點、質疑探究問題,并通過個人、小組、集體等多種形式,結合自身的知識來解決疑點和難點。探究式課程學習特別重視培養學生的自學能力,發展創造性思維,開發學生智力,并通過自我探究,掌握科學方法和學會學習,為終身學習奠定基礎。教師作為探究式課程學習的引導者,其任務是調動學生的積極性,促使他們自己去獲取知識、發展能力,做到自己去發現問題、提出問題、分析問題、解決問題;與此同時,教師還要為學生的學習創設探究的情境,營造探究的氛圍,促進探究的開展,把握探究的深度,評價探究的成效。學生作為探究式課程學習的主人,根據課程學習的條件,明確探究目標,思考探究問題,掌握探究方法,敞開探究思路,交流探究內容,總結探究結果。課程學習結束后,可通過讓學生自發組織小組答辯,課堂現場測試評定最后的成績[6]。

凡是教過程序設計的教師都有這樣的體會:語句教到一定的程度,學生會漸漸感覺到編程過難,無法繼續學下去的想法。語句相當于程序設計的工具,只有大量的掌握好語句,才能在編程上如魚得水。導致上述反常現象發生的原因有很多,其中最重要的一點就是長期以來程序設計的觀念不是以如何處理好對象為出發點,而是以如何使用好語言為基點。受這種思想的影響,傳統的程序設計教學是以講解語法規則和語句格式為目標,而不是以解決問題為重點。也就這樣導致學生在拿到任務后首先想的是該有哪條語句,而不是怎樣把任務進行合理的解析。因此課題組嘗試使用問題驅動的教學方法,先提出問題,然后介紹解決問題的方法,最后歸納總結其一般步驟。在講述軟件基礎相關課程時,把每節的內容用案例引出,然后分析解決。這樣學生容易明白本節的內容,增強其學習的積極性。

(3)探索“案例式作業”綜合實訓。在傳統的授課中,都是按部就班地進行講授―作業――點評――講授……,學生在做作業時,基本上失去了興趣,很多教師都反應目前學生作業的雷同度太高,實際上就是幾個“作業范本”在學生中傳來傳去……。實際中可以采用“案例式作業”,所謂“案例式作業”指的是教師直接把一個綜合案例項目作為作業,一門課程若交5次案例作業,每次教師準備4個案例,例如2009級第1次作業使用案例1-1,2010級第1次作業使用案例1-2,就可在某種程度上防止師兄學弟間的“作業交流”。實訓時,教師將之前已經完成的實訓項目運行給學生看,讓學生對實訓作業項目的結果有個感性認識,同時,在作業指導書中,對項目的功能、性能提出進一步的要求,學生可以參考運行項目的外觀和功能特性,對項目進行改觀、優化和創新。教師則以學生對項目的功能完成情況、性能指標達到情況、項目外觀改觀情況、優化情況和創新情況作為實訓作業結果的考核指標對學生進行考核。由于軟件類所需的主要設備――計算機已經非常便宜了,所以軟件類的課程作業實訓可以脫離實驗室,在宿舍,在教室,只要有一臺2000元的筆記本就可以完成實訓作業,而教師也可以從批改“雷同”作業的煩惱中解脫出來,重點考察學生的軟件編程能力[7]。

在布置實訓作業時,要在框架程序中預設問題。在實訓之前展示實訓項目的運行框架,并不是預先實現項目的所有部分,而是將學生必須要掌握的知識部分和通過學生查閱資料可以解決的問題部分,在所展示的項目中將其空出來,并以文字的形式注明學生必須自行完成該部分的設計和編碼。在展示實訓項目時,可以有意識的將問題分類,例如,分類為一般難度、中等難度和高難度的問題,并對不同難度的問題在考核評分時賦予不同的分值,這樣,可以督促學生解決預設,同時還可以激發較為優秀的學生解決高難度的問題的欲望,進而使得各種層次的學生在作業實訓時都能有所作為,同時避免了作業抄襲。

3 案例設計示例

在傳統的軟件設計基礎課堂上講授時間復雜度知識點時,往往僅強調時間復雜度的概念及數學表示,學生能從教師簡單的示例中大概知道時間復雜度的含義,但缺乏對其本質理解。如何設計與之匹配的案例,讓學生不僅深刻的理解時間復雜度,而且能夠有意識地運用時間復雜度解決實際問題呢?授課時,首先向學生提問,大家用的手機是如何存儲照片的?存儲照片的格式是什么?運用的數學原理是什么?多年授課經驗表明,與生活常識密切相關的問題,往往會引起學生的注意,并踴躍回答問題。這樣很自然地引出了二維離散余弦變換(簡稱2D-DCT),由于學生之前學習過高等數學,信號與系統,熟悉傅里葉級數分解,簡單說明DCT與傅里葉級數的關系后,就會引起學生的思考,這個與信號系統相關的概念與時間復雜度有什么關系呢?2D-DCT公式列出如下:

(1)

(2)

接下來提問,如何利用C語言編程求出?如何簡化運算,降低時間復雜度?

為了節約課堂時間,提出問題后,請學生在課下自覺編程,嘗試獨立解決問題。課下,教師可以通過課程博客與同學們在網絡上互動。上課時,教師提問,2D-DCT編程需要多少重循環?常規算法需要的乘法次數是多少?降低時間復雜度的解決方案是什么?信號與系統課程中是否有相關算法的提示?在引發學生深入思考的同時,給出下列公式:

(3)

(4)

(4)

通過引導學生復習信號與系統函數組正交的概念,啟發學生把式(3)看做式(1)的等價形式,進而提示學生可以把2D-DCT看做2個1D-DCT運算的組合,若N=8,傳統直接的2D-DCT需要的乘法次數為64*64=4096,需要4重嵌套循環;若把2D-DCT按照式(3)分解,則可以看做是2個3重嵌套循環的組合,需要乘法的次數為64*8*2=1024,可見簡單的數學變換可以節約4倍的計算量。學生聽到這里一定興趣盎然,沒有想到時間復雜度會與考研重點課程《信號與系統》密切關聯,進而會迫不及待地嘗試編寫程序,實現上述思想。

接著再次提問,實際編程中如何組織數據呢?學生經過思考,基本上都能給出利用數組實現,

設一個大小為8的數組SL(8),先讀取一個8*8塊的第一行資料值,賦給SL(8),對SL(8)進行一維DCT變換后得到一個新的SL(8)數組,再把SL(8)數組覆蓋到原來的8*8塊中相應的地方去。做完第一行后再做第二行,一直做完8行,一個8*8塊的一維DCT即告完成,然后再做列方向的第二維DCT變換,變換公式一樣,只是由SL(8)取8*8塊的行資料變成取列數值。做完后覆蓋回原值,即得到一個8*8塊的DFT系數塊,再重復這兩個過程做第二個8*8塊......。上述過程實現后,如何驗證算法的正確性呢?當然,仿真工具Matlab是一個驗證的好工具,學生會馬上調出它,驗證上述算法。

從上述案例可見,一個時間復雜度問題引出了《信號與系統》和《Matlab及其應用》兩門課程的知識點,充分調動了學生的學習興趣,使學生深刻地認識到學習軟件編程知識是有用的,能夠解決大問題,進而增強他們的好奇心和學習的動力。事實上,筆者認為,案例式教學是一種使學生快速理解知識點,增強學習興趣的手段,在這個原則下,可以嘗試編寫多個案例,盡可能與通信的主干課聯系起來,最終增強電子信息類專業學生的軟件編程能力。

4 結語