前言:想要寫出一篇令人眼前一亮的文章嗎?我們特意為您整理了5篇軟件設計模式論文范文,相信會為您的寫作帶來幫助,發現更多的寫作思路和靈感。

歷史的時針進入21世紀以來,我國迎來了信息技術快速發展時期,伴隨著信息技術的飛速發展,Internet 的發展與完善使我國獲取了世界范圍內的大量信息基礎設施。軟件設計過程中所運用的設計模式也得以初步顯現。設計模式(Design pattern)指的是一種運用范圍廣泛且基于分類編碼以及代碼設計的一種總結形式。在軟件設計中運用設計模式可有效地提高代碼的使用率,不僅確保了代碼的穩定性而且更加的易于被人們理解并接受。設計模式在當下的今天已經被廣泛的用于到各類軟件的設計中去。本文接下來將圍繞設計模式及其在軟件設計中的運用展開分析和討論。
【關鍵詞】設計模式 軟件設計 運用
設計模式的功能主要是針對面向對象進行設計的過程中頻繁出現的設計中反復出現的設計問題給出具體且行之有效的解決方案。設計模式概念誕生于上世紀九十年代,是由Erich Gamma 等人從建筑設計領域引入到計算機領域內的。在當下有關于設計模式尚存許多有爭議的話題,但因其可以給出一套完整的軟件設計公共語言,使得一些相關的工作人員能夠分享高端設計大師們的寶貴經驗,這種爭議的聲音也就逐漸趨于平靜。說到設計模式的作用還遠不止以上那些,其最為讓人稱道的是軟件的重構提供了目標。
1 設計模式相關概述
追溯設計模式的起源其是一種源于建筑學的概念,被導入到計算機領域之后其主要的功能是記錄軟件開發人員發覺出的一系列共性問題以及軟件開發人員經驗證所得出的成功解,并且理清特定上下文所表現出來的問題及其與之對應的解決方案之間的聯系。本文所提及的軟件設計模式當前多是用于明確設計模式與另外的面向對象設計方式的關系,并且得出兩者之間所適應的范圍等等。
2 設計模式的具體分類
設計模式的分類大體可以分為行為型、創建型以及結構型。其中各個分支又可以進行進一步的細分。
行為型模式可細分為以下幾種:備忘錄模式、迭代器模式、解釋器模式、觀察者模式以及中介者模式。
創建型模式可細分為以下幾種:原型模式、單例式模式、建造模式、抽象工廠以及工廠方法模式。
結構型模式可細分為以下幾種:享元模式、組合模式、橋模式、外觀模式以及裝飾模式。
3 設計模式在軟件設計中的運用
當下國內的軟件設計模式普遍都是運用于兩個層面。首先,待到整個軟件系統結構搭建初步完成后,可以及時的加入滿足特殊需求的組件以及給予模塊指定的設計使其在功能上更加靈活。軟件設計模式本身就具有明顯的復雜性,這也就使其無法用于相關具體的軟件設計,一種原因是由于設計模式在運用的過程中得不到指導,另一種原因是軟件設計模式所對應的設計師在設計的過程中沒能夠正確的把握設計方向。
3.1 設計模式的一系列步驟
為了使設計模式的效果達到最佳,應充分的遵照下列步驟進行:
(1)抽象化有待進行解決的種種問題,類型實施合理規劃拆分。
(2)針對問題所屬類型采取適用于這一類型的設計模式。
(3)規劃問題并進行相應的模式匹配。并且把問題與選擇的模式兩者進行對比得出相互間共同存在的特性。針對需要解決問題所涉及的整體區域進行所有類及其對應的模式進行通盤歸納,在此過程中一旦發現所采用的設計模式并不適合立即重新返回第三步進行重新設計。
(4)對所采用的設計模式進行變體,所采用的方式可以是對初始結構拓展或修正,以便及時的解決當中所存在的問題。
(5)對所涉及到的軟件體系進行結構細化使其進一步完善。
(6)對設計質量實施度量。
3.2 設計模式選取
在軟件設計過程中設計模式的選取至關重要,選取恰到好處的軟件設計模式,一般要充分結合以下幾點因素。
(1)事先總結出在設計進行過程中哪些因素是非固定存在即可以變化。
(2)充分考慮設計模式對所遇到的問題的解決方式,并且分析所給出的解決方式是否行之有效。
(3)明確反復進行檢查的原因是什么,所選用的設計模式是否可以很好地解決此類問題。
(4)對設計模式的主要方向實施瀏覽。
(5)需要對與目相關的模式進行研究。
(6)清晰地了解并掌握模式是如何實現相互關聯的。
3.3 設計模式的應用
待到軟件設計模式選定以后,在執行的過程中需要嚴格遵照科學方式方法進行設計。
(1)將其所設計的模型實施詳細瀏覽。
(2)深入的對協作、結構以及參與者三部分進行研究探討。
(3)仔細觀察代碼示例部分以及觀察相關的一系列案例。
(4)選取設計模式相關參與者名字,以使其在全文的運用上更具鮮明的意義。
(5)對設計中所涉及的類進行定義。第六,對應用中的操作名稱采取在定義模式中專用,良好的實現在設計模式中的責任與協作的操作。
4 結語
進入新世紀以來,在軟件設計面向對象領域工作者們所收獲的最有意義的成就就是設計模式概念問世與其所得到的穩定發展。從設計模式由建筑領域被引入計算機領域以來,設計模式概念被提出至今其憑借著表達的清晰性和簡潔性備受廣泛關注,自身擁有的強大適用性也得到了深入的發掘。實踐是檢驗一切的唯一標準,反觀設計模式從出現至今這一路走來,設計模式在軟件設計中的運用經受住了一次又一次的檢驗,時光荏苒相信隨著面向對象理論的發展,設計模式在軟件設計中的運用也定會愈加完善。
參考文獻
[1]G Vanmeerbeeck,P.Schaumont,S.Vernalde,M.Engels,and L Bolsens.Hardware/Software Partitioning of Embedded System in OCAPI -xl.Proc.of the Ninth Int.Symposium on Hardware/Software Codesign(CODES' 2009),2009(22):26-29.
[2]姜昌A,胡幼華,楊旭麗,張婕潔.一個基于遺傳算法的仿真優化包的設計與實現[A].系統仿真技術及其應用(第7卷)――2010系統仿真技術及其應用學術交流會論文選編[C].2010(12):16-19.
[3]蘇飛,張能立,王紫綺,萬小林.面向對象設計模式在B/S 架構Web應用中的運用[J].武漢理工大學學報(信息與管理工程版),2009(08):09-11.
關鍵詞:數據庫課程體系;教學改革;教學特色
中圖分類號:G642 文獻標識碼:B
文章編號:1672-5913 (2007) 24-0110-04
1數據庫課程體系改革的背景
隨著IT產業的迅速發展,可視化程序設計、計算機網絡技術、數據庫技術、多媒體技術和軟件工程等計算機技術已經出現了大融合,網絡數據庫技術已經成為數據庫技術的主流。而以前數據庫課程建設主要針對關系數據庫的理論和設計方法,偏重理論教學環節,實踐環節較為薄弱,也不涉及網絡編程,與應用性人才培養模式的要求不相適應。為了加強實踐環節,培養高等技術應用型人才,從01級開始,在計算機類專業的教學計劃中新增了“網絡數據庫技術及應用”、“C/S結構應用軟件設計實習”和“B/S結構應用軟件設計實習”三門以實踐為主的課程,并構建了數據庫課程體系(程序設計基礎à關系數據庫設計技術à網絡編程技術à網絡編程實踐à畢業設計提高),該課程體系有相應的理論教學、實驗教學、課程設計、課程實習等教學環節,不僅五個階段本身各有其側重點,而且五個階段之間前后有密切的聯系。該課程體系在教學計劃中處于關鍵的地位,在計算機類專業集中實踐環節中占有相當大的比重,并對該專業學生順利完成畢業設計提供了技術支持,已成為教學計劃得以順利實施的關鍵環節。
要提高教學質量,就要組建教學團隊,建設精品課程[1]。在數據庫課程體系的改革研究與實踐中,我們重點對課程體系中的二門核心課程“數據庫原理及應用”和“網絡數據庫技術及應用”進行了教改和建設,并分別在2003年和2005年獲得了浙江省高等學校精品建設課程。自2005年以來,“網絡數據庫技術及應用”課件獲2005年浙江省第四屆高校教師自制多媒體教學軟件評比二等獎,“網絡數據庫技術課程建設與實踐”項目獲2006年寧波工程學院教學成果獎一等獎,“數據庫課程體系的改革研究與實踐”項目獲2007年寧波市人民政府教學成果獎二等獎。
2數據庫課程體系的改革研究與實踐
在數據庫課程體系的五年教改實踐中,項目負責人組織教學團隊主持完成了“教學模式、教學措施、教學目標、教學方法和教學軟件”的改革成果,具體內容如下。
2.1數據庫課程體系的“五階段”教學新模式
近五年來,該課程團隊的教研活動涉及了數據庫、程序設計、網絡、多媒體等領域。通過國家教育部計算機重點試點專業教學改革的探索,又經過多年數據庫課程體系教學與科研工作的實踐,建立了“程序設計基礎(可視化程序設計+ASP程序設計)à關系數據庫設計(數據庫原理及應用)à網絡編程技術(網絡數據庫技術及應用)à網絡編程實踐(C/S結構應用軟件設計實習+B/S結構應用軟件設計實習)à畢業設計提高(開發基于C/S和B/S結構的網絡數據庫應用系統)”的計算機類專業數據庫課程體系的“五階段”教學新模式,取得了較好的教學效果。“五階段”教學新模式的具體實施步驟如下。
在程序設計基礎階段開設“可視化程序設計”和“ASP程序設計”課程,通過程序設計的基礎訓練,培養學生良好的編程、調試技能和動態網頁的制作方法,學會有關集成工具軟件的使用,為以后的設計、技術和實踐做準備。
在關系數據庫設計階段開設“數據庫原理及應用”課程,主要介紹關系數據庫的基本概念、基本理論和設計方法,同時介紹數據庫應用系統設計案例,以培養學生對中小型數據庫應用系統的結構設計和行為設計的能力。課程結束后馬上進行一個為期二周的數據庫課程設計,以加強這方面的訓練。
在網絡編程技術階段開設“網絡數據庫技術及應用”課程,主要介紹SQL Server 2000數據庫管理系統、客戶/服務器(C/S)應用系統、瀏覽器/服務器(B/S)應用系統等內容,以培養學生采用基于C/S和B/S結構技術來開發網絡數據庫應用系統的能力,為下一步的實踐和提高做準備。
在網絡編程實踐階段開設“C/S結構應用軟件設計實習”和“B/S結構應用軟件設計實習”以實踐動手為主的課程,教師以興趣小組的形式指導學生,學生以小組的形式合作開發小型實用項目,計算中心的開放式實驗室提供給學生充足的上機時間,從而使學生們在實踐中得到了鍛煉。
在畢業設計提高的最后階段,我們的主要做法是:教師部分科研項目吸收優秀學生參與,從而鍛煉了學生參與科研的能力;教師以學生興趣小組的方式指導學生畢業設計,教師給題,學生選題,教師指導。通過這二項措施,帶動了學生學習網絡數據庫的積極性,提高了學生網絡數據庫應用系統編程的能力。
通過“五階段”教學新模式近五年的實踐,學生的網絡數據庫設計能力及實際網絡編程動手能力均有了較大的提高。在畢業設計中采用C/S和B/S結構開發網絡數據庫應用系統的計算機類專業的學生比例逐年提高,取得了較好的實踐效果。浙江省2005屆畢業設計(論文)抽查結果表明[2]:我校計算機類專業學生的畢業設計(論文)在選題、教師指導、收集處理信息與實際動手能力、綜合應用基本理論與基本技能能力、文字表述與圖表質量、規范要求六個方面指標名列各校前茅,并以總分77.97的分數榮獲全省專科計算機類專業畢業設計(論文)抽查結果評比第一名。
2.2數據庫課程體系的“四加強”教學新措施
第一,加強課程建設力度,不斷完善教學文檔。近五年來,我們編寫了較為合適的講義和教材,不斷完善了課程教學大綱、實綱和課程設計大綱等教學文件,在課程教改方面取得了顯著的成績。近幾年在課程建設中,我們主要突出了實踐動手能力的培養,突出了B/S和C/S等成熟和先進技術的應用,突出了實用和典型案例的講解。在上述“三個突出”思想的指導下,“VB網絡程序設計”、“網絡數據庫技術及應用”和“數據庫原理及應用”教材已分別由科學出版社、西安電子科技大學出版社和人民郵電出版社在2003年、2004年和2006年主編和編著出版。
第二,加強教學軟件開發質量,構建網絡教學環境。我們構建了基于WEB的教學網站和適應性網絡教學平臺,同時電子在線網站在教學管理中得到了應用,受到了較好的效果。這些不僅有利于進行計算機多媒體的輔助教學,而且能為學生提供一種個別化自主學習的環境,促進了學生主動學習的積極性,達到了助教助學的目的。
關鍵詞:軟件工程;實踐化教學;軟件構造;教學方法
0引言
軟件工程是一門實踐性很強的課程,課程實踐對于鞏固課堂教學成果、培養學生軟件工程能力具有重要作用,因此實踐化教學已成為軟件工程課程建設的一個基本方向[1-4]。本文所討論的軟件工程課程是指軟件工程概論課程,一般會作為軟件工程或計算機專業本科生基礎課在大學二年級或三年級開設,從而為軟件需求、軟件設計、軟件測試等后續專業課程學習打下基礎。例如,復旦大學軟件學院的軟件工程課程在大二下學期開設,后續還開設了多門軟件工程專業課程以及軟件實踐課程。因此,這類概論性質的軟件工程課程實踐教學的主要目的是通過實踐鞏固與加深對課程內容的理解,同時初步培養學生的軟件工程能力。在此基礎上,可在高年級專門開設綜合性的軟件實踐課程,并突出規模性、綜合性、集成性、創新性等方面的實踐要求[2]。軟件工程課程實踐應當貼近工業界的軟件開發實踐,以一種迭代化的方式開展。通過多次迭代的系統理解、分析、糾錯、改進等演化式的開發活動,不僅可增強學生的代碼理解、修改等軟件開發實踐能力,還可強化對其軟件設計準則、編碼和文檔習慣以及軟件測試能力的培養[5]。考慮到授課對象的專業基礎及可接受性,本文在軟件工程課程教學與實踐中采用以軟件構造活動為中心的思想。軟件構造是指通過將編碼、驗證、單元測試、集成測試及調試相結合,具體創建可運行的軟件的過程[6]。作為剛經過2年專業學習、初步掌握編程能力的本科生而言,軟件構造活動所覆蓋的軟件工程專業知識及能力是其最容易理解與接受的學習內容。以軟件設計為例,其中包含兩個層次[6]:體系結構設計關注軟件頂層結構和組織,以及識別各種可用組件;詳細設計關注為每個組件(或模塊)提供足夠的細節以支持軟件構造。在這兩個層次中,體系結構設計通常在大規模、分布式軟件系統開發中有較多考慮,但在此階段的學生由于缺乏所需專業知識和軟件開發經驗,一般很難理解體系結構設計。屬于軟件構造活動一部分的詳細設計則建立在面向對象設計等更貼近編碼開發能力的基礎上,比較適合在軟件工程課程中進行介紹與實踐。此外,課程設計還充分考慮了軟件工程師成長路徑,按照局部編碼、詳細設計、總體設計、需求分析與測試的順序逐步開展課程教學與實踐。按照以上指導思想,本文設計了軟件工程課程教學及配套實踐內容,在復旦大學軟件學院開展課程教學,并依托華為軟件開發云DevCloud平臺[7]開展實踐教學,取得了良好效果。
1課程教學及實踐安排
根據軟件工程實踐化教學的需要,同時考慮修讀本課程學生的專業基礎及可接受度,本文確定了以下3條課程教學內容安排基本原則:(1)以軟件構造活動為中心。以詳細設計、編碼、單元測試等軟件構造活動以及與之密切相關的版本管理等協作支持能力為中心,強調本科生可深入理解并切實掌握的軟件工程能力。(2)突出實踐化培養特色。通過課程實踐項目加強學生對相關知識的理解、鍛煉對應的軟件工程能力,課程教學內容及進度安排配合實踐項目進展過程。(3)體現軟件工程師成長路徑。課程教學內容安排體現企業中軟件工程師的成長路徑,按照局部編碼、詳細設計、總體設計、需求分析與測試的順序逐步培養學生的軟件工程能力,同時穿插版本管理和配置管理等團隊協作能力培養。根據以上原則,本文設計了課程相關教學模塊及實踐內容。
1.1課程教學模塊設計
課程教學內容模塊及其教學順序如表1所示。軟件工程概述部分為學生提供了一個關于軟件工程思想及其基本內容的概覽,為其理解后續學習內容提供一個基本的上下文知識背景。后續學習過程從個人開發技能和必要的軟件過程與團隊協作能力開始,逐步展開軟件設計、軟件需求、軟件測試等教學內容。其中,個人開發技能和軟件設計兩部分中與軟件構造密切相關的內容是教學重點,屬于學生較容易接受并掌握的基礎開發能力。各個課程教學模塊都需要與課程實踐及相應的軟件開發環境和工具相結合,突出各部分的實踐要點。
1.2課程實踐內容設計
課程的重點教學內容需要通過課程實踐讓學生進行體驗與鞏固。為此,本文設計了配套的課程實踐項目。除第一次的體驗性實驗外,整個實踐項目都是圍繞一個開發項目(如“在線論文投稿系統”)要求,以一種小組協作和迭代化的方式開展。教學側重點從編碼能力、設計能力到分析能力逐步進階,同時伴隨著軟件需求逐步增加與變更。實踐項目依托華為軟件開發云DevCloud平臺進行,可實現整個軟件開發與協作過程全程留痕,幫助學生更完整與系統地理解工程化軟件開發,同時為課程項目評分提供依據。課程實踐項目以4人為一組,設置組長1名,根據交付及完成情況進行整體評估打分,期末再通過組內協商或互評將實踐項目評分分解到人。整個課程實踐項目分階段安排如下,其中針對卓越工程師班的特殊要求需單獨注明。階段1(個人任務):熟悉DevCloud及Git版本庫,在事先準備好的Web項目內容基礎上通過fork操作建立自己的代碼倉庫,利用Maven完成項目構建,并在華為云上進行在線部署。階段2(小組任務—初始項目開發):利用SpringBoot+Vue實現一個在線論文投稿系統的注冊、登錄以及會議申請等基本功能,并在華為云上進行部署;要求使用DevCloud的需求規劃、工作分配以及代碼質量檢查功能,確保功能實現的正確性和完整性,同時注重版本提交等開發過程的規范性。階段3(小組任務—代碼質量):實現系統中的會議申請與管理等相關功能;實踐單元測試,要求項目中的代碼測試覆蓋率不低于80%;提升代碼質量,要求使用DevCloud代碼質量檢查工具進行代碼質量檢查,并解決檢查中暴露出來的代碼質量問題。階段4(小組任務—設計與持續集成):完成系統的稿件分配與審稿功能,回顧并檢視軟件設計質量,進行必要的重構與改進;為提交的代碼打標簽(如按照每次迭代后實現的功能打標簽),根據標簽實現選擇性地編譯構建;利用華為云平臺構建CI/CD流水線,嘗試持續集成、持續交付與持續部署(卓越班要求)。階段5(小組任務—需求分析與測試):完成系統中的會議評審意見答復(rebuttal)與論文錄用相關功能;開展需求分析,檢視此前軟件實現中的需求完備性和準確性;在單元測試的基礎上實踐集成測試;結合DevCloud和SonarQube的代碼檢測能力進一步改善代碼質量;進一步完善CI/CD流水線,使每個任務的健康度都達到四星及以上(卓越班要求)。以上課程實踐項目安排通過迭代化的方式逐步完善項目各項功能,每個階段結束后都有可交付、可運行的軟件版本。這種演化式的開發過程更有利于學生理解真實的軟件開發過程,同時對軟件代碼和設計質量等方面要求有更深刻的理解與體會。與此同時,在每個課程項目階段中都加入與課程教學內容相對應的實踐要求。例如,第2階段在完成初始項目功能開發的基礎上,要求學生利用DevCloud的代碼質量檢查功能發現代碼質量問題并進行修復,同時建立基本的版本提交規范;第3階段在增量需求開發的基礎上,進一步要求學生實踐單元測試并解決大部分代碼質量問題。此外,整個課程實踐項目過程都貫穿了對軟件設計能力和團隊協作能力的要求:通過迭代化和演化式的開發過程讓學生體驗軟件設計(特別是模塊化設計)質量對軟件持續演化與擴展能力的支持;持續的小組任務要求學生在項目中考慮前后端分離、模塊劃分、接口定義等設計問題,同時建立有效的分工協調、進度管理、交流討論、版本分支與合并、集成與測試、構建與部署等團隊協作機制。
2實踐教學效果
采用上述實踐化教學方式在復旦大學軟件學院開展本科軟件工程教學取得了良好效果。學生普遍反饋課程實踐項目對其有一定壓力,但對于理解軟件工程理論及培養工程化開發能力有很大幫助。
2.1實踐中存在的問題
在課程實踐項目的每個階段,都會對各小組交付情況進行評估,并通過課堂交流的方式邀請一些小組進行分享。通過該過程也發現了學生在課程實踐中的一些問題,主要包括以下幾個方面:(1)邏輯不嚴密、測試不充分。對輸入的合法性檢查不夠,例如密碼長度限制檢查、必填數據項的非空檢查等;未使用登錄攔截器,可在未登錄狀態下直接使用URL訪問特定頁面。(2)代碼提交不規范。一些小組提交頻率過低,僅在項目開始和結束時各進行了一次提交;一些版本提交的粒度過大或邏輯不完整,對提交消息的描述也不夠準確;有些小組的代碼提交說明內容非常隨意,缺乏可讀性(如圖1所示,其中第一列和第二列分別是代碼提交ID和提交說明)。(3)缺少必要的分支管理。一些小組成員在各自分支上進行開發,主分支合并較晚,因而導致較多沖突,修復負擔較重。(4)代碼質量存在問題。典型的代碼質量問題包括代碼重復率和圈復雜度過高、標識符命名不規范、方法參數過多、在版本中包含alert語句、不合理的代碼重復等。(5)用戶界面不友好。界面上存在一些對用戶不友好的情況,例如點擊按鈕后系統沒有任何提示、執行操作后無法看到操作結果、一些重要信息無處查看等。(6)前后端分離及模塊劃分不佳。一些小組沒有意識到在前后端分離及模塊化開發過程中建立接口契約的重要性,出現了模塊實現未按照契約編寫的情況,導致小組項目集成時問題較多,拖慢了開發進度。
2.2進一步的實踐探索
大部分小組通過階段性反饋意識到相關問題后都進行了改進,最終大部分小組不僅圓滿完成了各項基本要求,而且還在多個方面進行了一些有意義甚至創造性的實踐探索,具體包括以下幾個方面:(1)需求規劃和任務交流。使用DevCloud進行需求分解與開發任務規劃,在此基礎上通過視頻會議或即時通信討論組的方式進行溝通討論及結對開發,通過共享文檔的方式約定開發接口、記錄會議紀要以及協作完成實驗報告。(2)設計思維和體系結構理解。在前后端分離的基礎上,明確定義了后端接口及其契約,同時給出了包含后端模塊劃分及前端Web組件結構的完整設計方案,在設計方案基礎上進行開發任務分配與協同。(3)演化式設計與軟件重構。在迭代化的開發過程中不斷評估設計方案的不足,據此對代碼進行整理與重構,從而完善設計方案。(4)分支策略和開發協作。制定適合團隊開發模式的分支策略,例如將主分支、特性分支、開發分支進行分離,建立規范化的代碼分支(branching)與合并(merging)實踐模式,保持主干清晰,及時提交并解決代碼沖突;規范版本提交過程,采用規范化的模板,并按照新增特性、缺陷修復、重構改進等不同目的編寫提交消息。(5)高質量編碼。建立良好的代碼注釋風格;充分體現防御式編程,在前端輸入驗證的基礎上,后端代碼也進行輸入值的合法性驗證,并在發現問題時拋出異常;充分利用DevCloud的代碼質量檢查工具對前后端代碼進行全面掃描,根據檢查結果改進代碼質量;開展代碼評審實踐,在發現代碼缺陷的同時,也促進了組員對代碼的理解與共享。(6)軟件測試。初步建立測試驅動開發實踐,通過JUnit工具編寫測試用例,對類或方法進行單元測試,并保證一定的代碼覆蓋率;采用Web自動化測試方法,通過大量測試用例的自動運行保證后臺接口質量。
關鍵詞:綜合飛行/火力控制,計算機網絡,仿真
引言
為了更好地開展現代戰機空戰中自動攻擊引導問題的研究,我們進行了空戰自動引導系統仿真設計。本系統應用分布仿真技術、數據庫技術和虛擬現實技術,采用DSP、高性能工控機及PC機進行設計,研制了戰機空戰中自動攻擊引導仿真系統,用于自動攻擊引導控制律研究與仿真驗證。本文從硬件和軟件兩方面分別予以介紹。
1 系統硬件設計
系統中“我機”除增加了基于DSP設計的飛/火綜合控制器,用于實現所設計的引導控制律之外,“敵”、“我”兩機硬件組成基本相同,如圖1所示。
由圖可見,“敵”、“我”雙機的硬件結構可以分成兩部分:第一部分為模擬座艙,主要由操縱裝置及傳感器、左/右操縱臺和兩塊大屏幕顯示器(視景顯示和虛擬儀表顯示各一塊)組成;第二部分為計算機網絡,由仿真計算機、虛擬儀表計算機和集線器組成。論文參考。
1.1模擬座艙
“敵”、“我”雙機均可進行人工或自動駕駛。人工駕駛時,進行雙機的攻擊演練。自動駕駛時,“我機”可以進行自動攻擊導引。
“敵”、“我”雙機駕駛艙布局相同,駕駛桿、油門桿、腳蹬等操縱部件采用飛機的實裝部件,儀表板為虛擬儀表顯示器。左操縱臺為啟動控制、油門桿,右操縱臺為駕駛儀狀態、氣動參數及飛控系統傳動比等控制/顯示部分。布局如圖2。
駕駛桿、腳蹬、油門桿等操縱部件的操縱信號由相應的位置傳感器以模擬量形式送至虛擬儀表計算機的A/D接口卡;
啟動控制部分包括:系統供電、引導方式選擇、自動駕駛儀啟動、起落架收放控制、襟翼位置控制及風力、風向選擇;
駕駛儀狀態由8個帶燈按鈕和2個撥動開關完成飛控系統各種狀態的控制;
氣動參數與飛控系統傳動比使用20個多圈電位器完成相應參數和傳動比的調整。
1.2計算機網絡系統
計算機網絡系統主要由兩臺工控機和兩臺PC機組成,由網卡和集線器(HUB)組成星形網絡,實現相互間的數據通信。網絡數據傳輸采用TCP/IP協議,采用Windows Socket的Client/Server模式,實現數據傳輸的功能。
PC機、工控機及DSP功能如下:
飛行仿真計算機(PC機) 軟件任務調度;軟件用戶界面的輸入;各種參數曲線的顯示;實時顯示飛機的運動狀態和視景;支持三種視角(座艙、后視、前視);網絡通信。
虛擬儀表計算機(工控機)硬件調參數據的采集;將飛機的狀態實時顯示在虛擬儀表顯示器上;網絡通信。
DSP(飛/火綜合控制器)實時解算“我機”攻擊引導律。
2 系統軟件設計
仿真系統軟件平臺為WindowsXP,所有軟件均建立在該平臺上。在軟件編寫過程中,使用了VC、C++Builder等軟件。所有的程序均使用統一變量名形式,程序都為32位代碼,提高了與操作系統的兼容性和運行速度。
兩臺PC機及兩臺工控機(“我機”與“敵機”各使用一臺PC機和一臺工控機)通過以太網絡聯系在一起,完成仿真任務。飛行仿真計算機主要完成飛機氣動方程和飛行控制律解算、飛機圖像的變換和視景顯示;虛擬儀表計算機主要完成控制信號采集和輸出,座艙內各儀表(氣壓高度表、升降速度表、空速表、馬赫數表、地平儀、航姿器)的顯示。我機的基于DSP技術研制的飛/火綜合控制器完成攻擊引導律的解算。
仿真計算的步長為10ms,視景刷新率為25F/s,儀表刷新率為25F/s。
2.1 軟件結構
所有的軟件均采用模塊化設計,以便于調試和移植。系統包含以下主要的程序模塊:
任務程序模塊 人工/自動引導方式選擇、參數設定;
接口程序模塊 控制量輸入及測量信號輸出;
方程解算程序模塊 飛機氣動方程、飛行控制律解算;
DSP程序模塊 “我機”攻擊引導律解算;
視景程序模塊 飛機圖像的變換和視景顯示;
虛擬儀表程序模塊 座艙各虛擬儀表顯示。
2.2 各軟件模塊功能
2.2.1 飛行仿真計算機軟件功能
通過網絡接收虛擬儀表計算機數據;
實時計算飛機模型的響應及飛控系統輸出;
實時顯示飛機和視景,支持三種視角(座艙、后視、前視);
將飛機位置、速度、姿態等狀態量通過網絡送至虛擬儀表計算機;
顯示飛機舵面動作及起落架收放;
關閉仿真程序;
以曲線顯示雙機飛行軌跡,并可選擇送至打印機輸出。
“我機”任務系統中飛行仿真計算機軟件功能還增加有:通過網絡接收“敵機”姿態及速度、高度等信息;與DSP進行數據傳輸。
2.2.2 虛擬儀表計算機功能
提供軟件操作面板,進行各參數設定;
提供人工/自動引導方式切換開關,實現兩種引導方式轉換;
在硬件方式下通過接口程序采集駕駛桿、油門桿及腳蹬信號的輸入;
通過網絡接收飛機位置、速度、姿態等狀態量數據;
將飛機狀態信息通過虛擬儀表實時顯示;
顯示攻擊引導方式(人工/自動)、自動駕駛儀、起落架收/放相應狀態;
主要飛行參量以模擬信號形式輸出。
2.2.3 DSP飛/火綜合控制器功能
實時計算攻擊引導律;
與“我機”飛行仿真計算機進行數據通信。
3 主要技術難點及解決措施
3.1 系統運行實時性的要求
程序運行過程中需要進行雙機模型仿真、控制律及引導律解算,另外還有控制信號的采集、雙機數據的輸出及處理,所有這些都需要大量的計算,增加了實時仿真的技術難度。為達到系統實時性要求,在系統硬件和軟件設計上均采取了相應的解決方法。論文參考。論文參考。
3.1.1 硬件設計方面
采用高性能的工控主機(P43.0 G CPU, 1024M內存,120G硬盤),提高主機處理能力。
采用高性能DSP(TI公司的16位定點C2000系列TMS320LF2407,性能優良且價格適中)進行控制律和引導律解算。
采用多功能智能型通信接口卡(ADVANTECH研華公司系列產品):PCL-818H(A/D16路單端或8路差分;DI/O16路);PCL-727(D/A 12路;DI/O16路);PCL-711B(A/D8路;DI/O16路)擴展卡PCLD-8115。增強數據處理能力,減小主板CPU負荷。
采用硬件定時中斷卡(PIO-D64),減輕軟件中斷處理負擔。
3.1.2 軟件設計方面
采用主循環加消息驅動的機制,充分利用操作系統后臺處理能力。
采用四階龍格庫塔算法,解算飛機12階微分方程。
線性化微分方程減少系統處理的數據量。
3.2 飛控系統及攻擊引導律實現
飛控系統保證飛機模型的正確實現,優質的飛行控制律設計則是空戰仿真系統中的關鍵之一。考慮到今后對攻擊引導律進一步研究的需要,系統允許“我機”實時選擇不同的引導律進行攻擊引導,以驗證各種攻擊引導律的優劣,從而實現對“敵機”最優的攻擊方法。因此,我們在仿真演示系統的研發過程中,借鑒并采用目前一些成熟的飛控系統仿真和編程技術及成果,在提高研制效率的同時,還大大增強了系統的可靠性與可維護性。
3.3 數據動態刷新與同步
為了進行實時的空戰演示,雙機的高度、速度、姿態等信息需要及時傳輸并處理。系統中數據傳輸采用Windows Socket的Client/Sever模式,此模式可以有效解決網絡中資源、運算能力和信息不對稱的問題,并且為異步通信的進程建立聯系,實現雙方數據的同步。
4 結束語
本文針對雙機空戰模擬實時性及有效性的雙重要求,設計并實現了一種基于工控機和DSP的仿真演示系統。該系統充分利用現代計算機技術、自動控制技術和面向過程編程技術,通過對現代戰機飛控系統有效模擬,實現研究攻擊引導律的完美平臺。經反復調試和驗證,系統性能穩定,工作可靠,可用于自動攻擊引導律工程實現研究。
參考文獻
1 王濤,吳文海. 多型飛控系統模擬器的設計. 飛行力學,1999,17(4):61~65.
2 張啟,陳欣. 一種基于工控機的飛控系統模擬器. 工業控制計算機,2005,18(3):33~37.
3 雷亞平,楊忠,沈春林. 基于DSP的UAV飛控計算機設計與半物理仿真. 飛機設計,2004,3(1):55~59.
4 程文俊. 飛翼式飛機起飛著陸仿真技術研究:[學位論文]. 南京:南京航空航天大學, 2005. 58~67.
5 凌利. 現代戰機引導及其效能評估研究:[學位論文]. 南京:南京航空航天大學, 2005. 33~35,63~65.
關鍵詞:應用型;多媒體技術專業;人才培養模式
中圖分類號:Q81-4 文獻標識碼:A 文章編號:1007-9599 (2012) 09-0000-02
一、前言
近年來隨著計算機與網絡的迅猛發展,新興了多媒體技術,并形成了一個朝氣蓬勃的產業。多媒體技術是一個典型的技術密集型產業,幾乎涉及了高新技術的每一個熱點,是具有交互特性的傳媒展示綜合技術。隨著多媒體市場的發展,據不完全統計,全國有1000多所院校開設了多媒體技術專業。但是如何順應市場發展的需求,辦好多媒體技術專業,給學生創造良好的就業機會,很多問題值得探索和研究。
本文在分析目前我國應用型本科院校多媒體技術專業人才培養現狀的基礎上,以石家莊學院計算機系多媒體技術專業為例,針對專業培養目標、培養要求、課程體系和教學模式進行了研究與探討。以服務地方經濟建設為目的,探討一種適合應用型層次的、切實可行的多媒體技術專業人才培養模式,并設計該專業的培養方案及課程體系設置。
二、應用型本科院校多媒體技術專業的人才培養模式思路
“多媒體技術”是信息學科和媒體學科向文化藝術領域拓展的新方向。隨著計算機技術、網絡技術和數字通信技術的高速發展與融合,傳統的廣播、電影快速地向數字音頻, 數字視頻、數字電影方向發展,與日益普及的電腦動畫、虛擬現實等構成了新一代的數字傳播媒體。
(一)培養目標
根據人才市場需求,結合石家莊學院辦學指導思想,確定本系多媒體技術專業培養目標為:培養德、智、體、美全面發展,掌握數字媒體技術專業基本理論、知識與技能,具備數字媒體作品的設計、制作和技術創新能力,能在新聞媒體、文化傳播機構、影視制作公司、游戲軟件公司、動漫設計與制作公司、廣告傳媒、網絡傳媒、教育與培訓機構等數字內容相關行業,從事游戲軟件設計與開發、虛擬現實項目開發、數字影視制作、網絡媒體設計與開發等相關工作的高級應用技術人才。
(二)培養要求
本系多媒體技術專業要求學生具有較高的政治覺悟和理論水平,樹立辯證唯物主義和歷史唯物主義的世界觀。具有健全的人格、健康的體魄、團結協作的精神及一定的人文審美素養,具有較強的創新精神和實踐能力,具有扎實的專業功底并掌握一定的科學研究方法。畢業生應獲得以下幾方面的知識和能力素質:
1.系統掌握數字媒體技術專業的基本理論、基礎知識與基本技能,了解本專業及相關領域的前沿和發展動態;
2.掌握游戲軟件設計的基本理論和技術,具備開發游戲軟件的能力;
3.掌握虛擬現實項目設計的基本理論,具有能運用相關軟件制作三維模型的能力,具備開發虛擬現實項目的能力;
4.掌握數字影視制作技術的理論與方法,能熟練運用拍攝、編輯、特效制作等技巧創作數字影視作品;
5.掌握網絡傳播的基本理論和技術,具備開展網站設計與開發、網絡多媒體設計與開發的能力;
6.掌握數字媒體產品開發項目的策劃與管理的相關理論與方法,了解相關的法律法規和行業規則,具備組織、控制、管理、推廣數字媒體項目的能力;
7.掌握文獻檢索、資料查詢的方法和撰寫研究論文的能力;
8.具有較強的自學能力和創新意識;
9.具有適應社會工作崗位的綜合素質和能力。
(三)課程體系
1.以就業為導向,以市場應用需求為目標,構建課程體系
我系多媒體技術專業培養目標是從事游戲軟件設計與開發、虛擬現實項目開發、數字影視制作、網絡媒體設計與開發等相關工作的高級應用技術人才。因此,在課程體系上,加大了專業模塊課程的學分比例(占總學分的25.7%),實踐環節課程提高到總學分數的21.1%。如下表1:
表1 課程結構與學分比例
課程類型 課程內容 修習類型 學分數 學分比
公共基礎平臺課程 “思想政治理論課”、體育、英語、計算機等 公共必修 39 22.3%
學科基礎平臺課程 學科基礎課 專業必修
專業必修 18
26 10.3%
14.9%
專業基礎平臺課程 專業基礎課
專業模塊課程 專業方向課 專業必修 35 20.0%
提高、拓寬課 專業選修 10 5.7%
公共選修課程 素質教育課 專業選修 10 5.7%
實踐環節課程 “思想政治理論課”實踐、大學生職業指導實踐、專業實習、畢業實習、畢業論文(設計)等 專業必修 37 21.1%
課外學分 課外學分等
合計 175 100%
2.以專業核心課程為主,以夯實學生專業基礎為目標,突出應用型院校特色
為突出應用型院校專業特色,提高教學質量,我系多媒體教研室全體教師通過各種途徑認真調研,研計本專業培養方案和課程體系,遴選出本專業核心課程,并圍繞著核心課程進行教學和實施理論與實踐教學改革。通過多種途徑夯實學生專業基礎,進一步強化專業骨干課程的重要性和在專業的地位。
本專業的核心課程包括:《數字媒體技術導論》、《C語言程序設計》、《數據結構與算法設計》、《計算機圖形學》、《數字圖像處理》、《軟件工程》、《游戲策劃與運營》、《三維數字建模技術》、《電視節目編導與制作》等。通過這些核心課程的學習,畢業后能勝任游戲軟件設計與開發、虛擬現實項目開發、數字影視制作、網絡媒體設計與開發等相關工作。
(四)教學模式的探討進行研究
1.以提高學生的創造力和創新能力為宗旨,開展形式多樣的課外興趣小組
創新是設計的靈魂。我系教師不僅僅在正常的課堂教學和實踐中注重培養學生的創新意識和創新能力,在課外還組織了很多不同內容和形式的多種多樣的興趣小組。這些興趣小組是由學生根據學生愛好和特長自發組織起來的,旨在能夠進一步的學習。課外小組的指導教師由我系多媒體教研室一些有經驗的教師擔任。這些課外興趣小組內容多樣,比如攝影興趣小組、FLASH動畫創作興趣小組等、影視后期創作與制作興趣小組、三維建模興趣小組、二維轉三維興趣小組等等。這些興趣以提高學生創作力和創新能力為宗旨的,利用課余時間,以達到提高學生自身綜合素質為目的。我系多媒體專業學生在省挑戰杯科技作品比賽、信息技術大賽中榮獲了全國二等獎、省一等獎,省三等獎。
2.以業務進修、進企業掛職鍛煉、引進企業精英為手段,培養教學骨干
信息時代對多媒體專業的專職教師業務和專業水平提出了更高的要求,再加上多媒體技術日新月異,更新較快;如果不與時俱進,有可能被時代所淘汰,無法勝任多媒體技術專業的教學;進而影響學生實踐動手能力培養。因此,以“業務進修、進企業掛職鍛煉、引進企業精英”為手段,從三方面提高專任教師業務和專業水平,培養成為專業教學骨干;使提高高質量教學和提供可靠的工程背景成為可能。
現在大部分高等院校采取了校企合作或服務外包的方式,即將優秀企業精英或公司高級技術人員引進到課堂教學過程中,聘請他們為客座教授,設立學術講座,這樣不僅僅提高了學生興趣;增加了學生的實踐意識,為學生的就業開辟了一條道路;還能通過與專任教師的互動與交流,進而提高教師本身業務素養。
3.打造良好的實踐環境
我系本專業注重實踐能力培養,安排有素描、色彩實踐、構成實踐、數字攝影實踐、移動媒體游戲設計實踐、動畫設計制作實踐、三維數字建模實踐、數字影視節目包裝實踐、游戲設計制作實踐、網站規劃與建設實踐、科研論文寫作實踐、電視節目制作實踐等多個實踐環節,它們與畢業設計一起構成完整的實踐教學環節。
我系多媒體實驗室的設備均為具備圖形圖像處理的電腦,為實施教學與實踐教學提供了強有力的保障。我系還積極與校企合作和進行服務外包,目前與企業建立了四個實習基地和2項服務外包,為學習實習與實訓提供了機會和保障。
三、結束語
作為我國應用型本科院校開設多媒體技術專業之一,我院多媒體技術專業在培養目標、培養要求、課程體系和教學模式等方面一直進行著實踐與探索,在培養應用型人才服務石家莊地方經濟建設方面也做了積極有效的工作。但是,與其他高等院校同一專業相比,在專業建設中還存在一些問題有待進一步探索;如課程體系中藝術類課程的比例應占多少,培養方案應如何適應多媒體技術的快速發展等等問題;在培養目標方面還應該根據企業對多媒體人才的需求以及多媒體技術的發展適時調整等等。
參考文獻:
[1]符蘊芳,徐軍.地方高校多媒體技術與應用專業的人才培養模式研究[J].電腦知識與技術,2011(14):3431-3432
[2]韓鳳英.高職計算機多媒體專業培養目標探討[J].職業時空,2010(3):63-64
基金項目: 河北省高等教育科學研究課題