前言:一篇好文章的誕生,需要你不斷地搜集資料、整理思路,本站小編為你收集了豐富的軟件設計開發研究主題范文,僅供參考,歡迎閱讀并收藏。
關鍵詞:網絡技術機械設計并行開發
中圖分類號:F407 文獻標識碼:
1 引言
科技的發展使產品的更新速度加快,同樣機械產品從設計開始到投入到用戶手中的時間也必須盡可能的縮短,只有這樣才能節約更多的成本,提高競爭力。 機械設計軟件的并行設計,可以同時對不同的部件進行設計,但是需要各團隊成員相互協調配合。在設計階段要同時考慮制造、裝配、銷售、使用、維修和回收的問題,是一個涉及到眾多因素的閉環系統。采用并行設計方式需要有效的組織方式,但對于開發周期能夠有效的縮短。
2 機械設計網絡并行開發的現狀與技術
2.1機械設計網絡并行開發現狀
機械產品的開發設計隨著計算機技術的應用得到了飛躍式發展,AutoCAD、UG等繪圖軟件已經廣泛應用。在互聯網的支撐下,圖形的共享,能夠使身處不同地域的人員同步參與開發;視頻技術的發展也能夠使不同地域的人隨時進行交流溝通,討論設計中遇到的問題。在數據庫的模式下,產品的設計管理和產品自身的數據管理也可以同步進行。因此,通過機械設計軟件進行機械的并行開發是一種設計趨勢。
機械設計并行開發中,總工程師可以按照項目管理原則,根據產品結構特征進行分解,將任務分配到各個開發小組。對所有設計過程、設計標準、設計接口進行標準化管理,并錄入數據庫。各小組按照需求完成自己的設計任務時,將圖形上傳到共享空間,以便于其他開發人員協同使用。
2.2網絡并行設計中的交互技術
(1)郵件方式。依托于互聯網,電子郵件技術,將設計好的圖形文件等技術數據發送給相關人員。
(2)多媒體會議系統。采用多媒體信息技術,使文件在開發人員之間在線傳輸,并可以實時進行溝通,更為直接的了解對方的用意。一般在共享應用中由用戶進行并行得到結果。
(3)網絡數據庫、服務器模式。在服務器中開始獨立共享空間,開發者將自己設計完成的圖形數據,需溝通的問題上傳。同時也可以對其他開發人員的內容提出建議和改進方法。從而使設計溝通過程得到有效提高。
3 機械設計網絡并行開發的特征
機械設計的網絡化并行設計,是網絡技術與并行工程的有效結合,具有以下顯著特點:
(1)開發人員可以同時打開多個圖形文件,并通過數據庫和工作中心進行交叉設計。對外部引用的圖形數據定期跟蹤查看,隨著其他開發小組的進度不斷調整自身進度,完善最終圖形文件。
(2)其他開發小組的圖形文件一般采用只讀方式,同時也不需要長時間保存,這就減少了開發過程中的失誤。如果其他開發小組的圖形文件進行了調整,設計軟件會在下次打開此圖形文件時提示開發人員重新進行引用,同時可以在任何時候引用或刪除該文件,具有很強的靈活性。
(3)在開發過程中預留多種接口方式,方便使用者根據自身需求進行二次開發設計,如軟件開發模塊,界面工具,內部語言程序以及數據交換接口。也可以使用ASP編程語言和ACCESS數據庫相結合,實現全程網絡方式,數據共享服務器,在線討論等實時交互。
4 結束語
機械設計網絡并行開發是一個重要的發展方向。壓縮設計周期是所有開發公司面臨的嚴峻挑戰,并行開發可以在傳統開發上大量縮短時間,同時結合計算機網絡共享平臺的數據庫技術。使機械設計開發高度的集成,同時又具有很強的開放互動性。
參考文獻:
[1] 徐藝,等.并行設計信息共享的方法研究[J].機械科學與技術,2000,19(01):164~166.
【關鍵字】自動化測試;ATS;軟件開發平臺;通用測試系統
一、引言
傳統的ATS(Automatic Test System),即自動測試系統的軟件設計方法中,要求測試人員面向測試儀器進行編程操作,測試軟件則根據被測試的代碼段的要求進行編程。這種軟件設計方法有著層次分割不清的問題,容易將系統軟件和測試軟件的功能混淆,增大測試程序、測試儀器以及被測對象的關聯性,嚴重降低了測試代碼的可移植性。另外,傳統的測試方法中,測試功能比較單一,由于測試代碼已經被固化,因此測試功能得不到優化升級,缺乏靈活性。
目前,ATS得到了飛速發展,自動測試系統的單一、專用功能正在向通用的多元化功能方向發展。但是,如何實現測試軟件的通用性仍然是一個急需解決的問題。本文以通用性ATS軟件開發平臺為研究對象,提出了通用型ATS軟件開發平臺的框架結構和設計方法。本文設計的通用性ATS軟件開發平臺能夠有效地幫助測試人員提高維修以及測試工作,并且具有較高的推廣價值。
二、通用性ATS軟件開發平臺的結構和功能
通用性的ATS軟件開發平臺主要的功能,是提供給用戶一個通用性的測試軟件開發工具,通過該軟件開發平臺運行測試系統的開發過程。通用性的ATS軟件開發平臺的功能一般分為如下五類:第一類,能夠對測試資源進行動態的配置和重構;第二類,能夠對測試對象的硬件資源進行初始化、掃描以及初始化等功能;第三類,為測試程序提供完備的開發與調試的空間;第四類,給測試程序提供強大的數據處理功能;第五類,對系統的消息系統,例如中斷、觸發等等,而且還能夠滿足系統資源并行處理。
三、通用性ATS軟件開發平臺的相關技術
IEEE1232的標準是將ATS體系結構進行層次劃分的標準。通用性ATS軟件開發平臺要求與NxTestATS的框架對接。如何實現接口標準的規范、組件技術、軟件的統一開發過程以及UML技術均是設計通用性ATS軟件開發平臺的關鍵技術。另外,本文研究的通用ATS軟件開發平臺主要是基于STD標準。基于STD標準的開發關鍵技術,能夠利用C和C++等通用的程序設計語言開發基于信號的組件。在測試的時候,這些基于信號的組件可以進行信號操作,并且這些組件為TPS提供了可移植性能。
四、通用性ATS軟件開發平臺的設計
本文針對基于信號組件的通用性ATS軟件開發平臺進行研究與設計。本文給出的通用性ATS軟件開發平臺主要由信號組件、接口框架、測試儀器信號驅動器以及資源管理器構成。其中,信號組件則作為獨立的COM組件,并且COM組件作為資源管理器以及儀器信號驅動的父類組件。下面探討了每個功能組件的功能描述。
信號組件中,每個信號組件與一種信號進行一一映射,信號的類型可以參考STD標準。具體的功能,首先是將客戶程序的輸入信號的信息進行存儲,并儲備為儀器信號驅動的調用參數。其次是能夠存儲測試的結果,測試的應用程序進行吊調用。
接口框架中的功能描述為,將面向信號的儀器驅動接口的方法與屬性進行定義,為其他組件的調用做準備。
資源管理器中,作為應用程序與儀器驅動信號驅動的中間層次,能夠利用檢索儀器的XML文件,進行儀器的查詢,并且能夠創建具體的儀器信號驅動程序。
作為儀器信號的驅動功能是進行測試的實現,通過對底層儀器驅動函數的封裝,實現具體儀器信號測試的功能。
結束語
本文首先針對傳統的ATS以及當前的通用性ATS進行比較,深入分析了通用性ATS的優勢,詳細闡述了ATS軟件開發平臺的功能與結構,對通用性ATS的相關技術做了深入的探討,最后給出了以面向信號為基礎的通用測試軟件開發平臺的設計。該通用性ATS軟件開發平臺具有廣泛的應用范圍,并且能有積極的提高測試人員的維護以及測試工作效率。
參考文獻
[1] 葉海明,周紹磊,王昆平. 通用測試系統軟件平臺設計[J]. 國外電子測量技術. 2010(02):111-113.
[2] 戴豪民,牛雙誠,張光軼,武恒州. 面向信號自動測試系統信號組件的設計[J]. 現代電子技術. 2012(05) :224-226.
【關鍵詞】軟構件基本構建OA系統單元構件組合連接
一、軟構件概述
從系統軟件設計發展來看,今年對軟件構件技術已經引入到辦公自動化系統的設計中。軟件構件是一種可以復用的軟件組成方式,可以被用來構造多種系統軟件,基于軟件構件的程序設計的基本思想就是,將軟件中的功能部分進行逐一的分解,形成一個一個獨立的構件,這些構件與外部僅僅利用實現預定的接口進行通信。在辦公自動化系統中,利用軟構件的技術可以實現系統的自由靈活性,方便重構與擴展,也可實現重用與組裝。
二、基于軟構件的OA系統分析
1、軟構件的基本思路
在系統設計的過程中,軟構件的定義不是十分明確,在辦公系統設計中,構件就是一種功能上不透明的實現,能夠被第三方進行利用組裝,是由構件模型構造出來的。不透明功能實現要求有兩個主要因素:構件市場中商業構件模型應依靠隱蔽的細節進行保護;構件的應用者不需要了解構架的細節。而可以被第三方進行利用,就是前面提及的作為一個獨立分布的軟件結構和模塊,其具有復用的直接價值,構件的商用不僅僅依靠供應者的工具加以識別,最后構件模型負責構件之間的交互需要必要的限制。
2、OA系統模型分析
在辦公軟件系統中,業務活動往往是一個一個獨立的功能單元,其功能相對固定,這些單元都是有多個層次的功能模塊構成,最終表現為對數據的具體操作。通過正交劃分不同的層次可以得到多原子構件。每個構件都有特定的接口與服務方式,每個構件上的層次都會分為四個原子結構:WEB構件,控制構件、業務邏輯構件、數據關聯構件等。
Web主要負責的是數據顯示,實現業務界面互動,利用web可以控制連接構件,實現與上下層上的業務邏輯連接組裝;控制構件則是定義控制邏輯后的構件。按照需要的業務進行調用,并按照需求提供多種處理方式,并將結果反饋,與相關web相連接;業務邏輯構件是按照需要定義好的各種業務邏輯,并與相關的數據訪問構件相對接,實現對數據庫的操作;數據訪問構件則是具體實現對數據庫的操作,按照業務邏輯實現數據調用以滿足服務需求。
三、基于軟構件的OA系統實現
1、框架設計
利用Spring框架進行構件基礎,其提供了多種機制的組件配合方式,可以靈活的開展web開發,整合JDBC等多種數據訪問技術,按照其設計原則Spring是一個軟構件的基礎框架。這個框架為軟件的開發提供了強大的支持。其中依賴于注入技術的輕量級構件容器所提供的翻轉機制可以通過容器定位插件來實現。依賴注入技術用部署描述文件之間存在依賴關系,在運行的時候容器會按照部署的文件需要為提供構件調用,由此注入到調用構件之中。所以在OA系統構件可以依靠這樣的技術來實現各個構件的銜接與組合。
2、軟構件技術下的OA系統
Spring技術屬于一種底層框架結構,在Spring框架下構造出來的構件具備對構件的基本需要。在這個系統定義的構件實現類似于JavaBean的規范需求,此時所有的構件類都包括了無參數的構造函數和相應的Setter方法。完成構件的定義之后,系統設計實現的另一個問題就是實現各個組件的銜接。正如上文所描述的是,Spring的依賴性注入技術。在Spring框架下通過構件的配置文件來實現對OA文件所定義的構件,配置文件的內容包括了實現類、屬性設置、合作聲明等等。Spring根據配置文件定義依賴關系,調用相應的Setter方法,設置調用構件。在運行是容器按照配置文件的需求將調用的構件注入到相應的構件中,這樣就實現了組件的動態對應。
四、結束語
軟構件技術在應用中突出的特征就是方便組合且可以按照OA系統的要求進行相關單元的配置,其中利用構件原理將不同的原子構件組合起來就可實現某個系統功能,這就是軟構件技術用于OA系統設計與開發最大優勢。
參考文獻
[1]劉廣堂.企業辦公自動化OA系統應用分析[J].信息技術. 2010(04)
(北京林業大學 信息學院,北京100083)
摘要:針對計算機專業應用型人才培養模式中的問題,分析北京林業大學計算機專業應用型人才培養的實際情況,充分挖掘自身的特點和優勢,提出了計算機專業應用型人才培養理念,確定了計算機應用型人才的核心能力是程序設計與軟件開發能力,在此基礎上提出了“1+2+4”人才培養理念,創建了“一體兩翼”的核心課程體系,構建了“4層1縱”的立體化實踐教學體系。
關鍵詞 :計算機專業;應用型人才;培養模式;課程體系;實踐教學
基金項目:北京高等學校教育教學改革立項項目“以程序設計與軟件開發能力為主的應用型計算機專業核心課程體系改革與教學資源建設”。
第一作者簡介:陳志泊,男,教授,研究方向為物聯網技術,數據庫技術,email:zhibo@bjfu.edu.cn。
0 引言
在高等教育大眾化過程中,我國逐漸建立起培養學術型人才、應用型人才和技能型人才的高等教育分類辦學體制。這就要求普通高等學校需要根據自身的特點來培養不同的專業人才。2007年以來,我們借鑒國內外高校的人才培養經驗,對本校計算機專業人才的培養進行了長期的探索和實踐,根據生源、辦學條件等具體情況,結合教育部高等學校計算機科學與技術專業教學指導委員會的《高等學校計算機科學與技術專業公共核心知識體系與課程》[1]和《高等學校計算機科學與技術專業實踐教學體系與規范》[2],綜合我校及國內同類院校的實際情況,經過多次調研和研討,我校計算機專業人才培養目標的定位為應用型[3]。我們從計算機專業應用型人才培養理念、課程體系、實踐教學體系等各方面進行了研究,充分挖掘自身的特點和優勢,逐步形成了自身的辦學特色,探索出適于我校計算機專業的人才培養模式,為農林類院校的計算機專業建設提供了經驗和范例。
1 創新性地提出了計算機專業應用型人才培養理念
緊緊圍繞如何培養應用型人才、提高應用型人才培養質量問題,在研究和分析計算機專業應用型人才的能力、規格的基礎上,提出了計算機專業應用型人才的核心能力是程序設計與軟件開發能力。在此基礎上,立足本校特色,創新性地提出了符合市場對計算機專業人才需求的、以程序設計與軟件開發能力為主的、以“嚴、寬、能、高”為導向的應用型人才培養理念。“嚴”——嚴謹教學、嚴格管理;“寬”——寬培養途徑,從課內實驗實習實踐訓練、大學生科研訓練計劃、各種國內外競賽、公司實習等多途徑培養應用型專業人才,“能”——突出培養學生的程序設計與軟件開發能力,“高”——高質量應用型人才。
2 人才培養模式、課程體系和實踐教學體系的改革
2.1 提出“1+2+4”人才培養模式
通過調查和研究,進一步明確了我校計算機專業人才的培養目標和定位,提出了“1+2+4”人才培養模式,即1個核心——培養學生的程序設計與軟件開發能力,2條編程主線——“CC++Windows應用程序設計”和“JavaJava高級技術”,4個訓練途徑——課內實驗實習實踐訓練、大學生科研訓練計劃、各種國內外競賽和公司實習,如圖1所示。
2.2 創建“一體兩翼”的課程體系,促進教學質量的提高
緊緊圍繞人才培養模式,創建了“一體兩翼”的計算機專業課程體系,如圖2所示。
圍繞程序設計與軟件開發能力的提高,根據市場需求,科學合理地設計相應課程的核心知識點和具體內容與要求,從而確立相應的教學大綱。
在知識點的取舍上,堅持了以下幾個主要原則,①要符合計算機專業應用型人才的培養目標、特色和要求,②要緊密結合IT時代要求和市場需求,全面貫徹研究初期提出的2條編程主線的思想;③各個課程側重點相互補充,課程間有很好的銜接性和延續性,并注重提高學生的編程能力。這樣,課程核心內容既重視了傳統內容,又兼顧了市場方面的需求,也為后續課程奠定了良好的基礎,從而形成了以提高學生程序設計與軟件開發能力為主線的核心課程體系和知識體系,達到了學以致用的目的。圖3給出了計算機專業核心課程體系結構示意圖。
2.3 構建“4層1縱”的立體化實踐教學體系,重視培養學生的綜合能力
(1)構建“4層1縱”的立體化實踐教學體系,全方位鍛煉學生。
針對應用型本科人才的培養目標的要求,結合教學大綱的內容要求,建立起完整的“4層1縱”的實驗教學架構,即形成基本工具層(C/C++、Java)、基礎實驗技能培養+應用性(基礎實踐教學層)、綜合性實驗技能培養(綜合實踐教學層)+研究性實驗技術培養(創新實踐教學層)4層的實踐教學體系。1縱即實踐教學方法貫徹整個立體化實踐教學體系。立體化實踐教學體系如圖4所示,并在教學中得到了實際應用,起到明顯的教學效果。
(2)大力推進校內外實習基地建設,建設一流實驗示范中心。
計算機專業的學生重在實踐,鍛煉編程能力。因此校內要加強實驗室的建設,目前已有計算機組成原理實驗室、嵌入式系統實驗室、軟件工程實驗室、計算機網絡實驗室,從而進一步加強學生綜合解決實際問題能力和進行實際操作技能的訓練[3]。2007年建設了“計算機實驗教學示范中心”。在校內實驗室的基礎上,根據專業特點,有重點地選擇一批基礎好、設備先進的企業作為實習基地,與多家軟件公司都建立了良好的合作關系。
(3)構建了學生自主選擇和教師引領的科研訓練體系。
為了提高學生的實踐動手能力,必須鍛煉他們的編程能力和軟件開發能力。因此以科研項目和競賽為載體,構建了學生自主選擇和教師引領的科研訓練體系。從大一開始,有計劃有步驟地引導部分有能力的學生參與到各種形式的科研訓練項目和競賽中。例如參加教師的實際科研項目、組成編程興趣小組、申請大學生科研訓練項目、參加各種競賽等方式,多方位提高學生的實踐動手能力。
(4)改革實踐教學方法,引導學生主動學習。
注重實踐教學過程的設計與實施,設計并實踐了問題導向的實踐教學方法,注重提出問題、確定研究路線、文獻閱讀、解決問題的4個基本環節的訓練,引導學生主動學習,鍛煉學生的綜合能力。
3 積極探索教學方法和模式,建設精品課程,多方位優化教學過程,全面提高教學質量
3.1 提出并實踐了“即教—即學—即用—再學—再用”的教、學、用聯動的教學模式
對于程序設計與軟件開發類課程采用在機房上課的教學方法,改變了以往的理論教學與實驗課脫節的現象,達到“即教—即學—即用”,邊學邊練,易于學生掌握編程技巧,達到了事半功倍的效果。并在后續的算法類課程中再一次鞏固已學過的編程知識,進行“再學—再用”。這種“即教—即學—即用—再學—再用”的程序設計與軟件開發類課程教學模式有效地解決了“學用”脫節的問題,全面提升學生實際動手能力。
3.2 教學手段和教學方法革新,增加現代教育手段
(1)課堂教學。
充分利用多媒體、錄像片、動畫片、課件等手段,不斷提高課堂教學效果,實現抽象理論形象化、復雜算法動畫化、數據處理可視化。并在教學過程中通過案例教學法、啟發式教學法、互動式教學法、實例法等多種教學方法,激發學生的學習興趣,提高教學質量。
(2)網絡教學。
利用精品課網站、QQ群、飛信等網絡手段,與學生充分交流,為同學們課后復習、開闊眼界起到極大的作用。
3.3 實現了“即練(考)——即判——即測”的訓練和考核模式,杜絕程序抄襲行為,激發學生的學習興趣
在計算機科學與技術及其相關專業的教學實踐中,學生實踐動手能力是衡量教學質量的一個重要指標。但是存在著學生之間作業、作品抄襲等現象,這種現象降低了教學質量,阻礙了學生實踐動手能力的發展,并在一定程度上影響學生之間的公平競爭。因此自主研發了在線評判平臺和程序克隆多角度檢測系統,實現了“即練(考)——即判——即測”的訓練和考核模式,有效檢測各種抄襲行為,杜絕程序抄襲現象,切實提高了學生的實踐動手能力。
3.4 建設精品課網站
面向對象程序設計語言、Java語言、數據結構A和軟件工程被評為校級精品課程,各精品課程網站大都建設完畢,并投入使用。學生可以利用這些網絡教學資源課下預習、復習、自測、與教師交流,對所學的知識進行鞏固。
4 加強師資隊伍建設,打造優秀教學團隊
4.1 通過招聘教師,擴大師資隊伍,實行“導師制”,培養新教師的教學科研能力
近5年來,我校接收了6名博士畢業生,全部來自國家重點高校,為教師隊伍注入了新鮮血液。為了使新教師盡早熟悉教學環境和科研環境,為新教師配置一名經驗豐富、具有高級職稱的教師作為其導師。導師除了負責指導新教師的整個教學環節,還要負責新教師的科研啟動。以這種“老帶新”、傳、幫、帶的方式迅速提高新教師的教學水平和科研水平。實踐證明,導師制的實施取得了顯著的成果,2007年以后計算機專業的新進教師都獲得了我校新進教師科研啟動資金的資助。
4.2 鼓勵教師參加國內外交流和培訓,提升自身的教學和學術水平
鼓勵在職教師到國內外一流大學做訪問學者,提高教師的業務能力和科研能力;大力支持他們參加各級學術會議及研修班;支持專業骨干教師參與企業進修,與相關企業進行合作、交流和學習。
4.3 以明確的獎勵制度提高教學水平
對各種教學成果獎、出版規劃教材、教學評價優秀者等教學成果有明確的激勵制度。嚴格教學管理,狠抓教學質量。堅持教學督學及聽課制度和學生評價制度;定期召開學生座談會,聽取學生反饋意見。
4.4 加強教材建設,為專業建設和人才培養服務
教材已成為培養學生應用能力的一個瓶頸[4],因為計算機類教材總是滯后于當今技術發展,必須不斷進行教材建設。因此鼓勵教師圍繞課題研究內容,積極編寫配套教材,物化改革成果,并推廣使用。近5年來出版教材7部, “十二五”國家級規劃教材1部,北京高等教育精品教材1部。
通過以上措施,不斷加強師資隊伍建設,教學成果突出。北京市高等學校教學名師1人,校級家騏云龍青年教師教學優秀獎4人;近5年來,主持的北京市教改課題1項,校級教改課題14項。
目前計算機專業教師21人,其中教授2人,副教授8人,講師11人。具有博士學位的教師18人,在讀博士1人。45歲以上教師3人,45歲以下教師18人。可見計算機專業已經形成一支以具有博士學位的中青年教師為主的師資隊伍和科研力量。
5 通過改革,培養了一批優秀的應用型人才,學生就業競爭力明顯提高
教學改革成果顯著,學生積極承擔校級、北京市和國家大學生創新性試驗計劃項目、備戰競賽訓練,大大激發了創新思維和靈感。近5年來,學生參加ACM國際大學生程序設計大賽5項獲得銅獎;MCM大賽1項獲得Honorable Mention獎;學生參加由教育部主辦的“全國軟件專業人才設計與開發大賽”,在北京賽區本科組16人次獲一等獎,36人次獲二等獎,33人次獲三等獎;在全國總決賽中,2人次獲二等獎,9人次獲三等獎;在全國軟件人才設計與創業大賽——軟件創業團隊賽獲全國總決賽三等獎1項;在“北斗杯”全國青少年科技創新大賽中,有4人次獲得二等獎,2人次獲得三等獎;在2013年華北5省計算機應用大賽中,有4人次獲得一等獎。學生參加國家級大學生創新創業訓練項目8項,北京市大學生科學研究與創業行動項目6項,北京林業大學大學生科研訓練項目26項。
6 結語
應用型本科人才培養是一項開創性、探索性的工作,必須要有與時俱進的精神,走特色化教育道路[5]。我們要以社會需求為準則,以教育部高等學校計算機科學與技術專業教學指導委員會的精神為指導,結合自身的辦學特點和優勢資源,繼續人才培養模式的研究,不斷完善課程體系和實踐教學體系,不斷提高師資隊伍教學和科研水平,積極探索教學內容、教學方法和教學手段的創新,繼續走校企合作道路,加強學生實踐動手能力的訓練,以培養出更多合格的計算機專業人才。
參考文獻:
[1] 教育部高等學校計算機科學與技術教學指導委員會. 高等學校計算機科學與技術專業公共核心知識體系與課程[M]. 北京: 清華大學出版社, 2008.
[2] 教育部高等學校計算機科學與技術教學指導委員會. 高等學校計算機科學與技術專業實踐教學體系與規范[M]. 北京: 清華大學出版社, 2008.
[3] 張麗, 楊懷卿. 本科計算機專業人才培養模式和課程體系建設探索[J]. 中國農業教育, 2005(4): 58-59.
[4] 陳志泊, 張海燕. 計算機專業應用型本科人才培養模式的研究與探索[J]. 計算機教育, 2010(5): 64-66.
關鍵詞:嵌入式;實時軟件;計算機應用系統
中圖分類號:TP311 文獻標識碼:A 文章編號:1009-3044(2016)36-0254-02
當前世界處在一個快速信息化的發展過程中,我國在計算機技術水平上也有了長足的進步和發展,一些自主設計研發的計算機應用系統也在實際應用中得到了良好的反饋。其中的嵌入式實時軟件作為能夠對計算機應用系統進行改進和優化的重要軟件,也在計算機軟件技術上發揮出了應有的重要作用,對一些應用系統中的漏洞和不足都能夠很好地克服,在計算機系統的穩定性和功能性上也都起到了加強的作用,受到了很多關注,也得到了市場的肯定。
1 嵌入式實時軟件對計算機應用系統設計的整體影響
1)嵌入式實時軟件的應用原理。嵌入式實時軟件的應用原理主要就是結合實時處理技術,充分利用快速應的優勢,滿足計算機應用系統的實際需要。嵌入式實時軟件的優點就在于能夠對服務請求做出快速有效的反映,并且更好地實現計算機應用系統的分層設計,提高構成系統的個模塊的獨立性。另外,嵌入式實時軟件在計算機應用系統的運行中也能大大提高安全性和穩定性,對整個計算機應用系統的穩定運行起到重要的輔助作用。
2)嵌入式實時軟件的應用特點。在計算機應用系統中合理地引入嵌入式實時軟件,那么對整個應用系統的實時處理能力來說,都會得到很大的改進和提升,而且也能有效提高整個應用系統的科學性和合理性。嵌入式實時軟件在計算機體現為兩大部分的融合,一個是硬件,另一個是軟件。通常嵌入式實時軟件需要操作系統的支持,軟件通過調用操作系統提供的服務來控制硬件,這樣的工作方式能夠讓軟件和硬件形成有益的交互。微處理器作為嵌入式實時軟件的核心部分,在操作系統的控制下,能夠讓軟件系統進行多種任務的切換,能增強計算機應用的適應面。還有一點就是,對計算機內部重要的存儲部分,操作系統能夠對其起到適當的保護作用,這對整個系統在進行修復或優化的過程中都能起到非常關鍵的作用,而且嵌入式操作系統本身的結構也具有非常良好的延展性,對計算機應用系統所能起到的作用也是不可估量的。
2 嵌入式實時軟件的設計要點和開發流程
相對于一般軟件的設計來說,嵌入式實時軟件的設計開發流程上基本類似。嵌入式實時軟件的設計過程對整個系統都有著非常重要的基礎作用。首先,在設計開始前需要設計人員對應用系統進行一次全方位的分析,以便對嵌入式實時軟件作出準確的功能定位,從而有利于確認設計的具體目標,定位中系統的核心問題。其次程序編碼應該依據軟件工程的原則嚴格執行,在保證系統效率的前提下,充分提高程序的可讀性,為應用系統的維護奠定良好的基礎。最后,設計人員還需要根據各種性能參數和指標定義嵌入式實時軟件進行調試,以便其能符合計算機應用系統的使用要求。接下來就是對系統新功能的不斷完善和改進。
嵌入式實時軟件在整個軟件設計的過程中,因為功能任務相對單一,因此可以適當簡化一些設計開發流程,讓整個過程更加簡捷,以提升設計開發的效率。但是對于設計的可靠性,必須予以充分的重視,因為對計算機應用系統來說,可靠性往往是系統成敗的核心。
盡管嵌入式實時軟件在設計開發方面有著高效、方便的優勢,但還是要注意依照嚴格的設計、開發的流程,不能違背一般軟件開發的基本原則,以免造成不必要的人為損失。還有一點須要留意的就是,嵌入式實時軟件運行的硬件環境通常性能較弱,如何充分利用和發揮硬件資源是設計和開發中必須關注的問題。
2.1劃分任務
嵌入式實時操作系統在計算機應用系統中處于核心地位,它對整個系統都起著舉足輕重的效果。想要實現任務管理、任務控制、任務間的通信、任務互斥與同步、資源管理這些功能,都要依靠于嵌入式實時操作系統,這是整個應用系統實現其功能的根基。在這個基礎平臺上,可以根據應用系統的功能,采取劃分解決的方式,能使軟件設計得到一定程度的簡化。在對一些獨立功能進行任務劃分的過程中,重點是對數據轉換過程的深入分析,這種轉換有些是并行的,有些是串行的。對數據的并行轉化與執行順序進行確認后,就能夠有效的對獨立任務進行劃分了。而對工作劃分起到決定性作用的是數據通訊的異步關系,需要從以下兩個方面去進行探討和剖析。第一個方面就是系統的內部功能,這個功能指的就是將計算機軟件的并行任務劃分為,周期任務、異步和同步任務、應用控制任務、用戶接口任務,并對這些同一時間段內完成的各種功能進行有效的整理,讓這個復雜過程變成一個統一的任務,通過對相同事件進行驅動,完成計算機軟件資源的共享。 第二個方面就是,對計算機軟件系統的I/O進行驅動時,要采用應用程序輪詢和中斷的方式。采取這樣的方法主要是為了解決在應用程序輪詢過程中,計算機CPU資源被大量占有的情況,而中斷方式的使用能夠對計算機軟件系統的實時性、實用性得到滿足。
2.2任務組織和存儲映像規劃
在完成對獨立任務的劃分后,受到數據轉換和任務邏輯關系的影響,系統的組織方式也會發生一些不同的變化,嵌入式實時操作系統對任務的組織管理有著決定性的作用。因為嵌入式操作系統的重要應用程序是保存在ROM和FLASH中的,所以選擇軟件系統必須要做好規劃,完成優化的處理,這樣對于系統協調運行才能起到有效的保障作用。作為嵌入式系統布局的重要組成部分,存儲映像的規劃和存儲器功能是整個布局的重點,需要從物理零地址中調取出嵌入式實時軟件的程序指令,在物理地址上進行代碼設置。
2.3應用程序的實時性和任務調度
在嵌入式實時軟件的實時性上,應該盡量使用軟實時性,其作用就是容許系統在可控時間內出現操作延遲。對任盞牡鞫扔Ω鎂×墾衲切于優先級的調度方式,如果在優先級的軟件系統上運行了較多的任務內核,要及時他進行調整,根據任務的緊急程度來增加優先級,還要進行必要的任務拆分,減少關鍵任務的響應時間。
2.4系統初始化
嵌入式實時軟件的設計開發中,需要對軟件系統的初始化執行進行充分詳細的考慮和分析,初始化的代碼需要編寫在嵌入式操作系統的底層硬件和微內核之間的硬件抽象層,以方便系統初始化和引導的正常進行。作為嵌入式實時軟件系統中的一部分,BIOS將會通過設定好的固定指令對系統的初始化工作進行正確的運行。
3 嵌入式實時軟件開發的前景展望
嵌入式系統中包含了微處理器、I/O端口、圖形控制器以及編程部分,具有實時、多任務的能力。因此實時性、易控性、可操作性等方面比傳統的pc系統有較大的優勢,具有非常廣泛的應用場景和應用領域。
通過對嵌入式實時軟件設計方法的分析,我們也能夠看出,嵌入式實時軟件對計算機應用系統的設計和軟件系統中層次化模塊結構的設計上都起到了推進性的作用。在實現嵌入式實時操作系統與計算機應用程序以及底層硬件的結合方面,嵌入式實時軟件能夠更好地完成運行功能和運算任務。當然,嵌入式實時軟件的設計和開發也需要硬件平臺的支持,其對硬件平臺的依賴性還是很強的,這就需要在計算機應用系統的設計開發過程中,對軟硬件之間的關系進行合理的規劃和安排。
4結語
嵌入式實時軟件的應用對于計算機應用系統的設計來說是一次重要的改革和突破,它讓計算機的運行環境有了更強的融合性與兼容性,這項技術的貢獻也遠遠不僅于此,它在軟件設計的靈活性、可靠性、可操作性上也得到了極大的加強,而且其對操作速度的有效提升所帶來的影響也是不可估量的。總體來說,嵌入性實時軟件對于我國現階段的軟件設計行業來說,提出了新的需求和問題,對于整個行業的發展來說都有著很高的積極意義。
參考文獻:
【關鍵詞】軟件開發;軟件工程;質量控制
軟件質量是指開發出來的軟件不僅可以滿足客戶明確提出來的要求還要滿足某些沒有明確提出來的要求,軟件質量越高,客戶需求滿足度就越高。軟件項目質量控制不僅僅是控制軟件設計的最終結果,它其實要求貫穿于軟件設計項目的全過程,從軟件開發初期的客戶需求調查,到最終的軟件交付評審,每個階段都要進行仔細的控制,才能提高軟件開發的質量。
一、軟件開發過程的問題分析
(1)不能明確分析軟件的需求。軟件的需求是決定軟件質量的一個非常關鍵的因素,如果不能夠準確明了的分析軟件需求,就達不到軟件應有的效果,從而不能真正滿足客戶的要求。然而軟件的需求不是顯而易見的,它需要軟件開發人員和客戶或者業務人員之間進行充分有效地溝通和交流,使得在軟件開發一開始就能夠將需求提得既明確又充分,這樣才能為以后的工作打好基礎,避免在一開始就偏離了軟件開發的方向。在設計開發的過程中也要不斷與客戶進行溝通和交流,及時按照客戶的意見調整軟件,才能提高軟件開發的質量。(2)軟件開發工作不規范。由于軟件質量許多指標不能量化,因此,軟件開發的質量好壞也沒有辦法直接考核軟件開發人員的責任,這樣就致使軟件開發人員不會很重視軟件開發的質量,往往更關心項目開發的成本和進度。此外,軟件開發人員沒有制定軟件開發計劃或者并不能按照軟件開發的計劃進行工作,為了趕進度經常跨階段進行開發工作,這樣就沒法保證軟件開發過程的科學性和系統性,軟件開發的質量也不能得到保證。軟件開發管理人員和技術人員也會影響軟件開發的質量。軟件開發工作需要他們之間進行頻繁的溝通和交流,倘若不能及時溝通,對開發過程中出現的不同認識和誤解等等問題不能及時消除,就勢必會影響到軟件產品的質量。此外,軟件開發人員在開發過程中一旦出現流動,就會給軟件開發工作帶來很大的影響,也不利于提高軟件產品的質量。
二、提高軟件開發質量方法和對策
1.軟件產品質量控制方法。(1)軟件工程方法。軟件工程的基本方法就是把軟件開發過程劃分為若干個階段,在每個階段開發過程中都設置不同的目標、成本、時間等驗收標準,在前一階段工作通過驗收后才能開始下一階段的工作,這樣就會達到提高軟件開發的質量的目標。軟件工程將開發過程分為軟件生產方法、需求分析、軟件設計、軟件生產工具、測試、驗證與確認、評審和管理等8個階段,每個階段都以軟件質量控制為核心,規范每個操作流程,從而提高軟件開發產品的質量。(2)ISO9000-3標準。ISO9000系列標準原本并不能直接用于管理軟件制作,而是為制造硬件產品而制定的標準。后推行的ISO9000-3標準為使軟件產品達到質量要求,要求軟件開發機構建立質量保證體系,明確供需雙方的職責,針對所有可能影響軟件質量的各個因素都要采取有力措施,作出如何加強管理和控制的對策和措施。ISO9000-3標準敘述了需方和供方應如何進行有組織的質量保證活動,規定了從雙方簽訂開發合同到設計、實現以至維護整個軟件生存期中應當實施的質量保證活動,但并沒有規定具體的質量管理和質量檢驗方法和步驟。(3)CMM認證。CMM是一種專門針對軟件產品開發及服務的高效管理方法,強調軟件開發過程的不斷改進和提高,在軟件企業中引入CMM,有助于解決軟件開發過程中質量控制方面出現的問題。CMM不僅對軟件企業工程能力進行評估,更著重于軟件開發過程的管理,強調“對軟件開發過程進行持續的改進”。CMM通過優化企業開發流程,改善現有的規范、團隊配合工作方法,來彌補軟件企業對某個項目經理或開發工程師的單純依賴。軟件能力成熟度模型重點是從組織管理方面研究評估軟件生產過程,從而提高軟件質量。
2.軟件開發質量控制對策。(1)合理規劃并嚴格按照計劃執行。在進行軟件開發之前首先要制定一個提高軟件開發質量的保證計劃,在開發過程中嚴格按照計劃執行,不急于搶進度,保證軟件開發的質量。建立文檔記錄需要跟蹤的工作以及保證軟件開發質量所需要的信息。(2)堅持軟件評審制度。堅持軟件評審是保證軟件質量的重要方法,軟件開發過程按階段可大致分為軟件需求分析、軟件設計、編碼和單元測試、軟件部件測試、軟件驗收六個階段。軟件評審工作要貫穿于軟件開發的整個過程中,在軟件開發的各個階段都要進行評審,當前軟件開發階段的工作成果達到計劃要求以后才能開始下階段的工作。評審工作可以以會議的形式組織開展,會議要各方面人員都要參加,包括客戶、軟件管理人員以及軟件開發人員等等,通過會議進行溝通交流,最終給出評審結果。在每個階段評審過程中產生的問題要盡快在本階段解決,沒有解決之前不能進入下階段工作,這樣就可以保證軟件開發過程中每個階段的工作質量都能得到提高。(3)采用先進的軟件設計技術和方法。在軟件開發過程中應盡量采用先進的設計技術和方法,如面向對象和基于構件的方法,來提高軟件設計產品的質量。面向對象的方法優點是能夠提高軟件的重復利用性,將錯誤和缺憾最小化,還有利于用戶的參與,能夠很好的提高軟件產品的質量。基于構件的開發方法又稱為“即插即用編程”方法,構件可以向軟件供應商購買,也可以自行開發,而且可以重復多次使用,然后將編制好的構件插入到設計好的框架中去,從而形成一個大型的軟件。如果某個構件不符合開發的要求,可以對某個構件進行修改,不會對其他構件造成影響,也不會影響到整個系統功能。(4)軟件質量控制的關鍵――軟件測試。在軟件開發過程中,軟件測試也是軟件質量控制的關鍵,軟件測試主要包括單元測試、集成測試、確認測試和系統測試。在開發的每個階段都要通過測試,如果測試結果與預期結果不一致,就要查找出軟件中存在的問題,針對問題提出解決方案,不斷改進軟件質量。通過軟件測試不僅可以尋找出軟件中存在的與軟件客戶需求不一致的錯誤和缺陷,還可以節省大量的時間和人力,確保軟件開發的質量。開始測試之前要制定好測試計劃,確定好測試的范圍方法等等。在測試過程中要做好記錄,詳細記錄每個測試過程中的數據,而且每個階段測試的結果都要進行存檔,如果測試過程中出現錯誤,就要編寫錯誤問題的報告,經過調試解決所發現的問題以后才能進行下階段工作。(5)注重文檔管理。目前很多軟件開發商都忽視了軟件開發過程中的文檔管理,其實文檔管理在軟件開發過程中起著非常重要的作用,在軟件開發的過程中建立并保存文檔,有利于軟件的使用和維護,有益于軟件質量的提高。文檔管理要貫穿于整個軟件開發的全過程,即軟件在每階段的開發、測試、評估都要保存相關的文檔,這樣有利于軟件的開發和維護,出現了錯誤有章可循,有助于軟件開發質量控制。文檔要提供給參與軟件開發的各個小組,不僅利于軟件開發過程中的交流和溝通,還可以通過文檔來控制軟件開發的進度,避免趕進度、跨進度工作。在整個軟件設計開發過程中,文檔會不斷進行生成、修改、補充完善,要做好文檔的記錄保存工作。(6)客戶要參與到軟件開發中去。軟件客戶要參與到軟件開發的全過程中去,在開發之初對軟件的需求不是很明確的情況下,要加強與軟件開發人員的溝通和交流,不斷了解自身更深層次的需求。軟件開發需要多方參與,尤其是軟件客戶方面的人,在需求調查和分析階段,軟件客戶要將自己的需求和軟件開發人員進行有效地溝通,使得軟件開發人員能夠最大限度的了解客戶需求,才能按照需求目標開發出令客戶滿意的軟件。在軟件測試和評審階段,客戶應按照自己的需求對設計開發的軟件進行檢測和評審,提出自己的意見和建議,以便在得出結論以后能夠盡快及時的得到修正。軟件開發人員對于客戶提出的意見和建議要按照要求進行修改和完善,及早與用戶進行溝通,避免影響驗收。
參 考 文 獻
[1]張天宇.《中小型軟件開發質量控制研究》.《微電子學與計算機》.2004
1 計算機軟件設計的現狀
1.1 計算機軟件的分類。計算機軟件技術主要是對軟件進行操作的一項技術。主要研究內容分為兩個方面:一是怎樣優化相應支撐體系;二是對相應的方法手段進行開發探索。計算機軟件系統是可運營的一種系統,已經形成了層次分明的模型體系,主要可以分為以下三類:應用軟件;支撐軟件;系統軟件。
1.2 計算機軟件技術的規劃。在當代,各個國家對計算機軟件的設計都特別重視。很多國家投入大量的人力物力,并出臺一系列軟件設計政策進行鼓勵計算機軟件的設計開發。大部分國家主要將開發重點放在計算機軟件開發方法上,我國對發展軟件業給予了重視,被行業在信息產業綱要里放在了最重要的位置,可見,國家對計算機軟件的設計與研發的重視。
1.3 計算機系統軟件的研發現狀。計算機系統軟件是更具硬件特征的軟件系統,計算機系統軟件分為不同的種類,以后分別具體分析各種不同種類的系統軟件現狀。
1.3.1 操作系統的研發現狀。計算機靠操作系統發揮基本功能,對計算機最為重要。操作系統不僅管理各種硬件,如顯示器、打印機等等;同時,也起到對軟件的運營進行統籌管理的功能,對軟件的運營系統進行操作;可以作為支撐軟件支撐相應應用軟件,使人機界面更加的先進。操作系統也對用戶能夠開發應用系統提供保障,是一種基礎設施。近年來,計算機網絡技術在不斷發展,未來的操作系統會朝著更加智能化,網絡化等方向發展。
1.3.2 商業操作系統研開現狀。操作系統嵌入技術是一種新興的技術。嵌入技術是把計算機軟件與硬件與機電設備進行結合,作為一個新的系統,使得這個新的系統具有很多原來的設備所不具有的優點。嵌入技術在各個領域得到廣泛應用。現在,嵌入系統已經產生很多產品并且投入運用,取得了良好的成果。以后,也會越來越引起廠商對這一領域進行投資,促進這個領域的發展。
1.3.3 數據庫操作系統研發現狀。(1)網絡化。數據庫系統的重要組成部分是可以支持網絡型的,是數據庫系統的支柱。對數據庫系統研發被各數據庫公司以及學術界放在首要位置,作為發展的中心。比如,被微軟公司作為公司某項重要計劃核心部分的就是SQL Server;(2)數據庫系統的安全及相應技術。在現代計算機系統中計算機處于核心地位,人們把注意力越來越多的放在數據庫的安全上。當前世界上多數國家都出臺了一些數據庫系統的安全規定。其中,美國制定的兩個規則起到主導作用,分別是《可信計算機系統的評估標準》與《可信計算機系統的評估標準》標準;(3)嵌入式技術。嵌入式技術已經被國內外專家們當作重點進行研究與開發,取得了很大的進展。已經應用在各個領域。這一技術涉及了很多其他的數據庫領域,比如移動通信技術、分布式計算技術等領域;(4)軟件工程環境研發現狀。這項技術主要側重怎樣合理安排方法、工具、技術。這個概念從推出到現在已經延續了40多年之久。軟件工程環境是在一起的軟件構件,實現工作活動的自動化支持。從剛開始的整體的研發到后來的逐步分散化。上世紀九十年代,CASE工具得到廣泛應用,發展成CASE工具集成。
2 計算機軟件設計與實現當遵循的原則
2.1 準確抓住用戶的需求。由于用戶對軟件的要求各不相同,軟件的設計時為了滿足用戶的需求,因此,計算機軟件的設計要在和客戶不斷溝通交流及對行業領域進行研究獲取用戶的需求,才能真正確定軟件設計的方向,更加適應于用戶和市場要求。
2.2 應當不斷重構。計算機軟件設計不是一個一步到位的過程,而是循序漸進。設計者對計算機軟件的設計是一個不斷改進、不斷完善的過程,不應該擔心軟件設計之初有哪些不足,而是應當不斷重構,最終使產品達到完美。在真正知道客戶的需求之后,應當先進行方案的設計,先進行初級設計,然后在不斷完善,逐漸滿足客戶的所有需求。而不是先設計出一個完美的方案,然后進行修改,這個方案比較急于求成,設計出來的軟件優化空間很小。新加功能與對軟件的改善應當輪流進行,增加新功能的時候,充分保證現有代碼的正確性,同時對代碼進行適當的修改,從而使所有的新功能測試都能通過。而對設計進行改善時,應當保證用現有的測試用例能驗證修改的正確性。
2.3 應當始終面向代碼。所有的軟件設計在編寫代碼之前都是一個想法,是沒有現實意義的空想,編寫代碼是軟件設計最有價值的部分,也是將空想變成真實的一種手段。很多完美的想法方案由于代碼的不完全實現導致沒能達到預期效果。所以,在軟件設計的過程中必須將代碼的編寫放在首要位置,將好的構思,馬上用代碼表現出來,并且進行對代碼的準確性與系統相容性進行檢測。
3 計算機軟件設計的方法
計算機軟件是按照特定的規格進行設計的,根據一些條件,主要有結構化程序設計、面向對象的程序設計、由頂至下設計法這三種軟件設計方法。
3.1 結構化程序設計。在計算機軟件設計中,具有良好結構的程序,在編碼、檢測和維護中都比較省力。它的主要流程是先了解用戶的需求,以此為軟件設計的切入點,根據實際功能將系統分成一些子系統,再根據實現的功能把子系統分割成模塊,針對模塊布置各個模塊的具體要求與說明,明確各個模塊是按怎樣的方法實現和程序中的其他部分對接。
3.2 面向對象的程序設計。面向對象就是由實例入手,找到實際問題系統里面存在的實體,分析試題的屬性、特征等,以此構成各對象類間的結構層次,最后構建出完整的軟件系統。主要有封裝性、繼承性、多態性三個特點。
封裝性主要針對數據并且對數據的操作實現一體化;繼承性主要針對某類繼承它所屬代碼的屬性及操作;多態性則是類等級中各層共享同一函數的名字。
3.3 由頂至下設計法。此方法處理分層問題最有效,將整個系統功能的最抽象表述作為最高層次,從這個層次出發設計子系統,然后依靠這些子系統實現較高層次的系統功能,再以子系統作為基礎是基礎更詳盡的子系統。這個方法可以分清各種復雜的處理層次,并且多個要素間關系清晰。
構建軟件設計系列課程群構成學生程序設計能力的計算思維、算法設計、程序設計與實現和系統分析能力四個基本要素,關鍵是提高計算思維、抽象思維、邏輯思維的能力,一兩門孤立的語言或算法課程無法完成,這需要從系統工程的角度進行整體設計,組合相關的系列課程構成相應的教學和實踐系統,并有一個循序漸進的深入過程,這一過程一般需要經過知識的積累、程序設計課程學習、軟件開發實踐等不同的環節,也就是要經歷啟蒙入門,發展提高和開發應用三個階段[2]。通過貫穿大學四年的程序設計類課程的學習,學生在程序設計啟蒙入門、發展提高和開發應用的不同階段都能夠很好地達到各個階段的教學要求,形成良好的學習習慣,循序漸進、潛移默化地養成程序設計能力。因此,依據程序設計能力不同培養階段的教學規律,我們應選擇對學生程序設計能力培養有著關鍵作用的課程組成軟件設計類課程群,課程群的主要課程可由以下課程組成。1)啟蒙入門階段:計算機導論、程序設計基礎、面向對象程序設計等。2)發展提高階段:數據結構、面向對象程序設計、計算方法、數據庫基礎、軟件工程、Java程序設計等。3)開發應用階段:網絡程序設計、數據庫開發實踐、醫學信息學、信息系統設計、醫學圖象處理等。建設課程群的目的是把原本相對獨立的課程在教學過程中有機融合,前后課程互相呼應,逐步深化,把學生引入門。在課程群內涵建設中,按“點—線—面—體”的思路構建課程群框架,即以每門課程的主要知識點為基礎,把程序設計類主干課程串成前后有機銜接的教學“線”,在課程群的“面”上構建課內外相關的任務驅動學習激勵機制,最終形成軟件設計課程群的體系結構和系統化的程序設計類課程教學框架[4]。在具體實踐中,從分析課程群每門課程的知識點入手,從知識點內涵、教學要求、教學策略以及與前驅知識點和后續知識點關系等多個維度建立課程群中課程的知識架構的點、線關系,進而形成相關課程知識點前驅、后續知識點互相融合匯聚的知識面和課程體系。在此基礎上通過完善相關課程教學大綱,達到目標明確、層次分明、定位正確、強化基礎、拓寬專業知識面的應用型人才培養的要求。
2建立基于混合式學習的程序設計課程群教學模式
混合式學習(BlendingLearning)將傳統的課堂學習方式和數字化學習方式有機整合,根據程序設計能力培養的啟蒙入門、發展提高和開發應用不同階段教學特點,圍繞程序設計能力的“算法設計與分析能力、程序設計與實現能力和系統分析、開發能力”的遞進培養目標,從混合式學習課程導入機制、多元化的程序設計課程活動組織策略、課內外學習支持以及教學評價等四個教學環節,從啟蒙入門、發展提高、開發應用不同階段組織開展混合式學習[5-7]。2.1啟蒙入門階段從程序設計能力入門訓練入手,其重點在算法設計與分析能力的培養。針對大一、大二學生程序設計啟蒙課程主要有計算機導論、程序設計基礎等;教學圍繞基本知識點訓練編程思路、算法設計與分析方法,引導學生入門;教學活動組織中側重于以班集體為單位的理論和實驗教學,同時結合程序設計競賽、課程設計、大作業等開展課外編程學習;建立BB平臺、開發上線ZCMUOJ(ZhejiangChineseMedicalUniversityOnlinejudge:浙江中醫藥大學在線編譯)系統,使之成為程序設計階段課外學習平臺,把師生面對面及借助網絡和BB平臺的輔導相結合,通過檢查平時程序設計作業完成情況和程序代碼數量和質量,以及期末的現場程序設計實驗考試,進行學習成績綜合評價。2.2發展提高階段發展提高階段重點在程序設計與實現能力培養,從軟件工程的角度,研究從程序設計到軟件設計能力培養。本階段主要是針對大二、大三學生,主要課程有數據結構、面向對象程序設計、計算方法、數據庫基礎、軟件工程等;該階段的教學側重在程序設計的綜合性、整體性素養培養,綜合相關課程設計任務,以設計性、綜合性實驗為主,重點圍繞軟件開發的完整流程開展實踐,強調團隊分工與協作;以小組協作方式為主,根據各課程知識間的依賴特性從課程群的角度組織開展課程設計與假期實踐;同時,強化軟件集成開發環境(如VisualStudioTeamSystem、Eclipse等),版本控制工具(如CVS等)等協同開發環境的應用;教師的角色也隨之從“教”師變為“導”師,提供實踐思路與方法的指導,引導小組成員協作學習、角色扮演、討論交流;教學評價側重于程序開發、文檔撰寫、軟件評測、團隊協作等多個角度,通過小組自評、組間互評與教師評價等方式綜合考量。2.3開發應用階段開發應用階段重點在系統分析、開發能力培養,軟件團隊合作開發訓練,基于常用團隊協作軟件開發平臺的軟件開發訓練。針對大三、大四學生結合計算機應用領域,特別是我校醫學領域信息開發的優勢,從醫學信息學的角度,開展跨學科的醫療衛生信息化項目開發實踐。該階段課程群主要課程有醫學信息學、信息系統設計、Java程序設計、網絡程序設計、數據庫開發實踐、醫學數字圖象處理等;該階段以項目實訓、企業實踐為主,重點圍繞醫學信息工程軟件開發、網絡管理軟件、數據庫管理軟件開發等以及軟件測試等多種角色開展教學;以團隊分工協作的方式開展課程設計、項目實訓和科研項目開發,并與相關衛生信息化企業合作開展企業實踐,組織學生參與醫院信息化項目研發;由相關教師組成導師組,以客戶經理、項目經理等角色給予項目團隊方向、思路、策略的指導,教師參與并鼓勵學生借助網絡等相關資源共同研究解決完善相關問題;通過項目答辯的形式檢查實訓成果。
3以任務驅動的課內外程序設計推進機制
程序設計能力的培養,僅靠課內的教學是遠遠不夠的,需要建立完善的課外程序設計學習機制,激發學生學習積極性和學習潛力,為此,我們主要采取程序設計類課程布置的課外大作業、課程設計任務以及參與教師實際科研項目開發等多種途徑來驅動學生的課外參與程序設計能力訓練,同時建立多種形式的驗收講評和評價激勵機制,任務驅動與激勵機制的結合是引導學生課外開展程序設計一種有效措施[8]。3.1啟蒙入門階段以程序設計競賽為抓手在低年級學生的程序設計能力啟蒙入門階段,以實施課外程序設計競賽為抓手,從程序設計能力培養與訓練入手,根據程序設計能力的教學規律,建立不同難度、不同層次的課外程序設計訓練和競賽為主的學習激勵機制;設計開發適合我校學生特點的ZCMUOJ系統,使之成為學生參與程序設計的主要學習支持平臺。為了吸引同學參與課外程序設計,我們建立了周賽、月賽、學期比賽以及單挑賽等多種形式的程序設計競賽機制,刺激學生的參與興趣。平均每周組織一次程序設計周賽,每月組織一次個人單挑賽和團體月賽,每學年分別組織學院比賽和學校比賽,參與人員覆蓋了計算機專業一二年級70%學生。以程序設計競賽為主要抓手的程序設計能力培養使學生程序設計能力明顯提高,低年級學生完成課程設計的編程難度和代碼數量明顯提高,學習程序設計的興趣明顯上升,特別是在ACM比賽中,我校2011年浙江省ACM程序設計競賽中獲銅獎三項;2011年4月,我校在ACM-ICPC亞洲賽區晉級賽福州站比賽中獲銅獎1項,學校排名25位;在2011年9月第36屆ACM-ICPC國際大學生程序設計競賽亞洲區預賽大連站比賽中獲銅獎1項。3.2發展提高階段以課程設計為抓手大二和大三學生已初步掌握程序設計基礎,需要提高發展程序設計能力,突出軟件工程角度的軟件工程化開發能力的培養。軟件團隊合作開發訓練采用企業通用的集成開發環境和軟件版本控制工具進行軟件開發訓練。此階段主要采取相關課程的課程設計和二年級小學期的集中課程設計等多種形式實現程序設計。例如在“數據庫開發”課程中,采用案例教學,啟發學生開展課程設計,通過剖析數據庫開發案例,詳細展開需求分析、模型設計、程序設計、程序測試以及系統等各個環節的實現方法,引導學生從單一程序設計到較為復雜的軟件系統開發的過渡,培養學生軟件工程素養和軟件開發能力。3.3開發應用階段以項目開發為抓手大三和大四學生已經掌握了軟件開發的基礎,但需要更多的實際項目開發實踐,以便迅速提高軟件開發能力。對此,我們采取課程教學中的模擬項目開發和實際軟件項目開發相結合的激勵機制。針對全體學生,在后續的醫學信息學、信息系統設計等課程中開展模擬軟件工程開發全過程的程序設計。例如在醫學信息學課程教學中,把完成一個醫院信息系統子模塊設計開發作為貫穿于整個教學過程的任務,要求人人都參與項目開發,并且要用軟件工程的方法來實現項目開發。以班級為單位,開發醫院信息系統的一個子系統,模擬實際項目開發,分層管理,班級設立項目經理和技術總監,負責項目實施管理和技術管理,3至4人為一組,設立項目組長,負責項目模塊的開發,要求每組完成需求、概要設計、詳細設計和軟件測試四個文檔,并且結合醫院信息系統參觀調研,完善需求分析和設計。通過課程設計,嘗試對軟件設計全過程,特別是軟件開發團隊的合作,這對提高同學們軟件設計能力有很大的幫助。同時,在課程設計成果考核評價中,我們讓項目團隊中每個人上臺宣講自己所做的工作、演示系統,學生代表評分與教師評分相結合。自2005年級至2008年級,共五屆490名計算機專業的學生參加醫學信息學課程設計,共完成22個門診或住院子系統,100個子模塊。同時,通過公開招募考試等形式,召集一些軟件開發能力較強或學習能力較好的學生參加寒暑假教師的實際科研項目開發,并使之形成班級軟件開發的骨干力量,進一步帶動整個班級的軟件開發氛圍。
關鍵詞:教育軟件;軟件設計;創意計算;所取成果
中圖分類號:TP311
教育軟件的開發并不是一蹴而就的,是通過眾多的過程之后才能夠完成的。比如說進行教育軟件的開發首先要進行的就是對環境進行開發,其次就是教學設計,軟件設計,后續的階段就是教育軟件的實現、評價以及維護環節。
將創意設計應用到教育軟件的設計之中,所具有的含義即利用產品設計學科中的思想以及規律等等來對教育軟件進行設計。教育信息化體系如圖1所示:
圖1
1 教育軟件
教育軟件可分為廣義以及狹義的兩個方面。廣義上的教育軟件就是一切的基礎就是計算機軟件技術,所有的替教育發展提供服務的軟件都可稱之為教育軟件。這種軟件包含的有教育資源軟件、教學輔助以及支撐軟件意義行政管理軟件等等的一系列軟件。狹義上的教育軟件就是軟件產品是具有特定的教學內容的并且還具有自身獨特的教學目標。這類軟件還包含的有自學以及教學輔助軟件。狹義上的教育軟件中的教學輔助軟件還可分為課件開發軟件以及考試類軟件等等的軟件。
教育軟件具有非常多的意義:其一、在對教育軟件進行開發的時候,有必要深入的分析學習過程以及規律,而這項工作并不簡單,通常將人類的學習過程以及人類對事物的認知規律認為是人類大腦活動中最為復雜的過程。其二、要想對教育軟件進行有效合理開發,就要深入的理解學科知識并且還要對這些學科知識進行綜合。其三、教育軟件對人機界面有著非常高的技術要求,這樣的原因就是因為在對教育軟件進行應用的時候有大量的人機互動才能夠對知識有著良好的理解。其四、教育軟件的開發工作所涉及的方面主要有兩個,一是教育領域,二是計算機領域。因此要想對教育軟件進行合理的開發,這就需要上述兩個領域的專家共同協作,一起進行開發。
教育軟件的開發和普通軟件的開發有很多地方都是相同的。主要有以下的幾個過程:環境分析教學設計軟件開發編碼實現軟件評價軟件維護。
教育軟件的開發相比較普通軟件開發多了眾多具有科學背景的技術人員,不僅僅這樣在對教育軟件進行開發的指導思想就是教育思想理論。環境分析工作主要就是分析教學目標以及使用的對象等等;教學設計工作主要要做的就是確定教學內容以及將知識結構給設計出來;教育軟件設計要設計的是整個教育軟件,包含各個不同的方面;實現編碼的工作就是憑借教育軟件設計內容進行軟件開發編碼;對教育軟件進行評價主要就是對教育軟件的質量進行評價還有就是要回答滿足教學需求的部分的問題;最后的一步,軟件的維護,主要就是跟隨教學需求的變化,升級修改教育軟件等等工作。
2 創意計算
創意,早期定義就是能夠將“新的”、“有用的”產品生產出來的一種能力。在21世紀,最缺乏的就是創意。創意可以應用的領域非常的廣泛,無論是個人還是社會都能夠成為創意的實施對象。
創意計算是一種新興領域,直觀對創意計算的解釋就是通過采用創意來進行計算。但是在教育軟件設計工作中,創意計算具有獨特的地位以及意義,在計算機軟件工程領域之中稱創意計算――軟件開發。所以在計算機軟件領域里面對創意計算的直觀解釋就是采用創意來對希望的軟件進行開發。創意計算中的“創意”指的就是:采用非計算機軟件領域的其他類似物理、化學、藝術等等的學科的領域思想以及理論來對軟件進行開發。所以,跨學科則是創意計算所有特點中最大的一個,正是由于創意計算的這個特點才能夠為軟件的開發提供一些新意。
當今社會已經對創意計算有了一定的注意度,受重視度也在日益提高,創意計算能夠將在傳統教育軟件設計開發中所遇見的業內無法解決的問題給解決掉,為教育軟件的開發所作出的貢獻是非常巨大的。創意計算所涉及的學科非常大多,涉及到物理、化學、教育以及藝術等等的領域。
因為創意計算出現的時間并不是很長,所以創意計算的研究所處的階段還是初級階段。雖說創意計算(Creative Computing)已經有了自己的思想,但是在很對方面的研究還遠遠達不到理想的水平,存在的問題還是有很多的:(1)對創意計算所能夠解決的問題并沒有一個系統的歸納性總結;(2)對合適的學科思想理論以及規律方法的選擇并沒有深入的研究,取得的成果不多;(3)由于創意計算具有跨學科的特點,所以對軟件研究員的挑選以及組織要有一定的模式,但是現在的這方面的研究程度也是不夠的;(4)教育軟件的開發研究涉及的領域較多,所以需要的研究人員也是具有不一樣的學術背景的,不同學術領域的研究人員之間的研究交流以及合作也沒有良好的研究程度;(5)創意計算作為新興領域,這個領域的研究還缺乏專門的研究方法,研究創意計算的方法所具有的問題有以下幾點:1)現在,就現在擁有的學術領域中存在的眾多研究方法是否能夠利用其中的一種或者幾種來對創意計算領域進行研究;2)若是有合適的研究方法,還需要考慮的就是所選的研究方法是否對研究創意計算適合;3)用這些研究方法來研究創意計算是否足夠;4)在每一個領域都有著具備自己獨特特點的方法,所以就創意計算領域而言,是否有必要提出新型的研究方法來研究創意計算;5)若是有必要提出新型的研究方法來研究創意計算,新型研究方法的提出方法又是什么。
3 創意計算在教育軟件研究中的應用
創意計算應用與教育軟件設計的研究要提供研究方法,促進研究創意教育軟件設計方法。研究教育軟件,所研究的就是教育軟件設計方法的創意方向,研究研究傳統教育軟件過程中所存在的問題;憑借這些問題,研究出創意教育軟件設計方法的研究形式;對研究出的研究方法進行應用,提供應用實例。研究內容圖示如下:創意方向研究方法應用實例。
創意計算所能夠解決的問題在于:沒有融入教育思想、不用考慮設計的效率、適應需求的程度不夠等等。這三個就是現如今的軟件工程領域不能夠解決的問題,進行軟件開發,就會有問題出現,所以在其他學科尋找覺得方法是非常有必要的。傳統的教育軟件設計方法存在如下問題:沒有融入教育思想,缺乏關于設計效率的考慮、沒有將設計數據結構包含在其中,適應需求變化的程度不夠,軟件重用現象解決起來比較困難,對研究設計人員以及環境的設置考慮有所欠缺等等。
4 結束語
計算機軟件工程領域發展到現在,存在的問題依舊是很多的,無法解決的問題也是很多的,創意計算的目的就是將其他領域方法、思想引入到教育軟件設計領域,解決這些無法解決的問題。創意計算所具有的發展空間還是非常大的。
參考文獻:
[1]張璐.創意計算應用于教育軟件設計研究方法的研究[D].東北師范大學,2013.
[2]史凱.基于網路的中小學教育軟件的研究與設計[D].同濟大學,2008.
[3]林廣成 教育軟件的人機界面設計研究[D].首都師范大學,2005.
[4]方海光,張景中 教育軟件可用性評測研究[J].電化教育研究,2008.