引論:我們為您整理了13篇軟件開發基礎知識范文,供您借鑒以豐富您的創作。它們是您寫作時的寶貴資源,期望它們能夠激發您的創作靈感,讓您的文章更具深度。
篇1
1計算機軟件開發概述
隨著社會經濟的不斷發展與更新,計算機的技術也在不斷發展,雖然發展的歷史不長,但是已經取得了明顯的進步,都在利用著計算機的有利的效果和一些方面,計算機的開發和更大的進步是現在現在需要解決的問題,軟件的開發與進步也是對社會有著不可或缺的力量,目前計算機也大概能按照使用者的需要執行各種需要的任務,是計算機的核心系統CPU將電路分成兩種狀態通路和不通路,并且和數學中的二進制有效地聯合起來并執行使用者給的任務和命令,要想有效地實行使用者也必須采用二進制的方法,這是人機交流方面的一個重大進步,但是計算機也有一些缺陷是我們必須解決的,所以也是亟待解決的問題,然而的計算機研究人員在原來二進制的基礎上再進一步地發展了和研發了高級計算機語言,這個方法是通過英語簡化語言的方式,準確而又方便地實現了計算機器與人類的各種信息的交流,也進一步的方便了人們的生活和日常的工作。而目前是主流的VF和VB這兩種可視化的編程語言的出現,讓計算機的軟件技術又在人類的發展歷史上有一個里程碑,也使得平時生活中對計算機軟件的開發技術感興趣和有著深刻了解的人也可以簡單地能控和致力于這些技術的發展,時代是進步的,技術也是不斷發展的,也由此快速而又逐步趨向簡潔的發展可以看出當前的計算機軟件正在朝著更加有利于人們的方向發展,技術開發也在朝著簡單有利的方向進行著,這是目前有利的一方面,還是需要更多的計算機研究人員們的不斷努力。
2存在的問題
2.1計算機軟件開發的特點
計算機的技術也在不斷地成熟,隨之而來的是軟件的開發也是相當熱門的門業與行類,伴隨著計算機技術的發展計算機的軟件技術也在不斷地更新中,計算機的軟件開發技術也在不斷地發展中,就在短短幾十年的時間取得了很大的進步并且目前仍有特別大的發展空間,在迎合人們生活與工作等各個方面的需要。新的計算機軟件技術也在更新交替出現,目前已經存在的計算機的軟件技術也在進行著不斷地更新,因此,也毫無疑問地可以看出來計算機軟件最明顯的一個特點就是不斷地交替,不間斷,有著持續性。雖然目前有很多的計算機軟件,但是隨著經濟的發展和社會的需要,新的計算機的開發軟件也總是在順應著人們的要求不斷出現,也總是有不同程度的創新和發展,而軟件的創新也是一個不間斷的持續的過程,需要加以想象力并且很好的研究,但是對于已經存在的計算機軟件不應該摒棄它們的作用,應該對其加以改革和創新,保持持續不間斷的更新,才可以保證自身的安全性和其中的穩定性,就比如常見的也經常利用的Windows操作系統,作為一種現在的軟件系統它就會定期地隔一段時間進行更新也會對自己的不足進行系統的完善,并且也會一些更新的消息可以自動進行更新,這也是其中的優勢所在,軟件的開發業在各個領域的運用中扮演著越來越重要的作用。另外,計算機軟件技術開發的特點也是不斷地隨著經濟的發展和運用以及社會生活在不斷更新,計算機軟件系統具有很強的針對性,對日常生活的需要和工作的各個方面都具有很大的幫助,也是它能夠獨立地發展成一門學科的關鍵所在。計算機軟件的基礎框架構架對于目前來說計算機軟件的開發與設計已經成為了一個系統性的工程,對于軟件設計的各個環節已經形成了一些固定的模式,所以在計算機軟件開發的過程中最為重要的就是它的基礎框架的構造與設計,只有選擇一個優秀的基礎框架這樣才能夠保證計算機軟件開發的后面一些程序的編寫,系統的維護和技術的拓展有著更高的利益和方便之處。因此在計算機的基礎軟件開發中和平時的活動中,必須首先確定計算機軟件的基本框架,確定需要的基本目標,更有利于研究人員的開發,也能夠為后繼工作的編寫提供給我們更多的便利。一個重要的問題是需要必須提高軟件工程中的速度。
2.2計算機軟件開發的過程
計算機軟件的基礎構架完成就需要進行一些編寫工作,對需求分析工作已經認真的完成,就要進入最重要的環節,對于計算機的軟件系統的實際設計環節,目前在這個過程計算機軟件的研發人員最經常使用的C語言的編程,主要是因為它是高級語言,這種高級語言的結構性和它的基本框架都比較突出,所以被很多編程的人員經常使用,目前在軟件編輯領域也出現了很多VF等可視化的編輯語言,但是人們大多還是使用C語言,也是因為軟件設計的特殊性。一個重要的問題是需要必須提高軟件工程中的速度,速度對大部分人來說都是一個重要的問題。對于基礎框架的設計與利用是必須嚴格遵循一定的邏輯關系,計算機軟件的設計是利用特定的邏輯關系必須對軟件的內容進行嚴格的定義,而研發人員所必需遵循的特定的邏輯關系就是計算機軟件技術開發中的基礎的框架構造,因為計算機的基本框架的構造不僅能夠決定平時運用這些軟件時運行的流程和運行計算機的方式流程和速度等,還會對未來軟件的維護和在發展產生更重要的影響,但是對于計算機的軟件開發的基礎構架不能是封閉式的,如果是封閉式的就不會具備這些基本的擴展能力,還有一個問題就是由于在編寫程序的時候一些軟件的系統的本身就比較復雜,這就需要研究人員的共同完成,這也造成了這個軟件本身系統的龐大性,所以有時候在實際的編寫過程中,那些本身龐大的軟件在進行編寫操作的時候會被分割成好幾個編輯模塊,在這些被分成細小模塊的基礎上就必須確立一個主函數,利用這些主函數對這些細小的模塊進行管理,就比如在計算機系統軟件在進行操作某個程序的時候,主函數就會對這些分散的編輯模塊進行統一的調用,這樣才能實現各個模塊統一協調的工作,使得整個系統能夠完整有序地進行,同時也提高了計算機軟件設計的工作效率,加快了工作時的速度,正是因為多人的分工合作,才能更大地加快計算機軟件系統的開發與工作狀況。
2.3計算機軟件開發的測試與維護
對于計算機中軟件系統可以說是整個計算機系統中最重要的管理系統,計算機的系統會根據軟件的系統進行各種工作。而目前對于計算機軟件的基本框架基礎應用最廣泛的有3層:表示層、邏輯層、和數據層三層結構組成的基礎的構架,在現在的基礎框架中軟件表示層、邏輯層和數據層分別對應著計算機軟件系統的人機交互界面,邏輯關系和計算機語言區。這樣對一個軟件有了基本的基礎構架,在后期進行維護的時候才能不傷害其他系統,仍可以使其他系統有條不紊地進行。一個優秀的軟件技術的基礎構架能夠極大地提升在計算機軟件的應用的效率和運行的速度。而當前的計算機軟件系統的針對性也越來越強,所以在后續運用方面進行運行管理時應該根據自身的結構基礎進行調用,面對目前計算機軟件的開發形勢與方向,研究人員必須進行一定的討論最后再根據需求者的應用設計不同的適合客戶發展的方面。這樣既可以保證工作的方向性,也可對后部計算機軟件的維護發揮一些重要作用,也可方便研究人員的設計工作。這些軟件在進行編寫成功后是不能馬上投入到工作的,需要進行調試,一些研究人員的跟隨,因為在其中可能會出現一些漏洞。根據各個軟件的不同調試方法要利用科學的方法調試,也有益于后期的維護工作。
3計算機軟件開發過程中的問題
3.1確立好計算機軟件的基本框架
對于一開始的確立的框架結構必須選擇科學無誤的框架,才能有利于后期的一些編寫的進行,計算機軟件的研究開發人員必須進行準確無誤的研究討論,最后才可以確定客戶需要,所以對于第一步的框架構造應該認真選取方案。
3.2完善程序編寫數據
計算機軟件技術開發過程中對于程序的編寫的工作,根據第一步框架結構能夠無誤地進行,編寫工作的進行跟從主函數的分配才使得各個工作有條不紊地進行,所以確實主函數,研究人員應該正確地討論主函數的選用,才能使得主函數有利的支配于編輯模塊,各個工作人員的分工才能更好地進行,對編寫工作也有很大的方便性。因此在計算機的基礎軟件開發中和平時的活動中,必須首先確定計算機軟件的基本框架,確定需要的基本目標,更有利于研究人員的開發,所以說建立基本的框架基礎是首要目標。應該滿足客戶的要求進行軟件的編寫工作,而目前在日常生活中最常用于生活的是C語言,C語言主要特點是它的結構明顯的突出,它的基礎框架也是特別優秀的,也能夠為后繼工作的編寫提供給更多的便利。一個重要的問題是需要必須提高軟件工程中的速度,速度對大部分人來說都是一個重要的問題
3.3做好軟件最后調試
最后就是完成后對于計算機軟件的調試工作了,軟件不能立即投入到使用中,需要進行嚴格的調試并認真地改正,滿足客服的需求,在后期進行維護的時候才能不傷害其他系統,仍可以使其他系統有條不紊地進行。一個優秀的軟件技術的基礎構架能夠極大地提升在計算機軟件的應用的效率和運行的速度。這也方便后期對這些軟件漏洞的維護,需要對大部分的數據進行研究工作,以保證計算機軟件的有效進行,也可以防止后期漏洞的產生,也可以加快軟件自動更新的作用。
4結語
隨著當代社會經濟的發展,計算機軟件的開發技術已經深入日常生活中,也大大方便了平時的生活,成為了不可或缺的力量,編寫的過程可能有些許的復雜,但是只要研究人員深刻的投入,所有問題都是可以解決的。
參考文獻
[1]金.規范化在計算機軟件開發中的應用[J].物聯網技術,2016,(01).
[2]董海,葉永利.計算機軟件開發的JAVA編程語言分析[J].數字技術與應用,2016,(01).
[3]許葵元.淺談計算機軟件開發中的分層技術運用[J].數字技術與應用,2016,(01).
篇2
一、引言
為培養應用型和技能型軟件開發人才,在高職軟件技術專業中實施三階段技能遞進培養模式,該模式將技能培訓分為基本技能積累、專業核心能力培養和綜合技能培訓三階段。基本技能積累階段包含培養學生基本操作技能和編程技能的課程,如程序設計基礎等課程;專業核心能力培養階段包含培養更高一級專業能力的課程,如桌面應用程序開發、web應用程序開發等課程;綜合技能培訓階段是在前兩個階段的基礎上,開展以提高職業行動能力為目標的綜合技術應用訓練。
學生在教學階段遞進過程中需要通過大量實踐掌握軟件開發技能,因此每一門專業核心課程都設置相應的實訓課程,這些課程與綜合技術應用訓練都是以軟件開發項目為載體,通過實訓,使學生提高實踐能力、積累實際軟件開發經驗。為實現實踐教學過程與軟件開發過程的對接,必須采用相適應的教學模式以及提供合適的軟件開發實訓環境。由于培養費用、實踐場地的限制,讓每個學生都走上實際工作崗位參加真實環境中的項目開發存在很大的困難。在軟件開發實訓課程中采用基于虛擬實訓的實踐教學模式可以很好的解決上述問題,虛擬實訓作為一種打破時間、空間限制的實訓方式在節約教學投資、優化教學情境和實現資源共享等方面均起到十分重要的作用。
二、構建基于虛擬實訓的實踐教學模式
(一)構建思路
根據對軟件開發人員崗位需求的調研,軟件產品開發工作過程包括項目立項、需求分析、設計、編碼、測試等一系列工作。工作任務對工作和技術的要求為熟悉軟件開發流程,掌握相關開發技術,具備良好的代碼編碼習慣及技術文檔編寫能力,有較強自學能力、分析和獨立解決問題的能力、團隊合作精神和溝通能力。
為達到學習過程與工作過程的一致性,引入虛擬公司形式,采用虛擬環境與真實項目相結合、虛擬員工與真實管理相結合的方式,構建基于虛擬實訓的實踐教學模式。在學校的實訓室中,模擬公司的工作環境,以真實項目為載體,按照公司的軟件項目開發流程完成項目開發,縮短學生所學知識和應用的距離。通過教師學生員工化,模擬公司開發部的組織結構,教師擔任項目經理的角色,完成崗位相應的工作,包括協調人員配置、制定項目解決方案、監控項目執行、提供技術指導、組織項目評審。學生擔任開發部普通員工的角色,在軟件開發員崗位上完成項目開發各階段任務,在項目實踐過程中熟悉規范的軟件開發流程,掌握高效的軟件項目開發方法和技能。
(二)內容結構
基于軟件開發崗位工作任務的要求,構建具有“工學結合、校企結合、虛實結合”特點的虛擬實訓教學模式。該模式主要由四部分組成:知識培訓、項目實施、項目管理和項目評審。各組成部分涉及三大類角色:項目經理(教師)、項目組長(學生)、項目成員(學生),項目經理負責完成知識培訓和項目管理,項目組長和項目成員負責項目實施工作,項目經理、項目組長和項目成員共同完成項目評審。
知識培訓部分:包括專業基礎知識、實訓項目涉及的關鍵技術與知識以及項目應用領域知識的培訓。專業基礎知識培訓包含軟件工程基本知識、特定語言的代碼規范、團隊開發規范、技術文檔編寫、軟件測試用例的執行和記錄等項目開發支撐知識。關鍵技術與知識的培訓由項目經理根據課程目標和項目特點展開,包括關鍵技術和常用架構的學習、企業最新技術和開發工具的引入。領域知識培訓是指項目應用領域背景知識的介紹,例如財務管理系統的開發背景涉及金融財會的相關知識。
項目實施部分:項目實施是虛擬實訓教學的重要組成部分,包括實訓任務分解和項目實現。項目組接受來自項目經理的實訓任務,由項目組長進行任務分解并分配到各項目成員。項目成員按照企業軟件開發流程執行項目實施各階段的典型工作任務。
項目管理部分:項目管理包括進度控制和過程檢查兩部分,由項目經理實施以保證實訓項目按實訓計劃、實訓大綱的要求如期完成。項目經理指導項目組長制定項目開發計劃,根據項目計劃監督各組的工作進度。過程檢查部分包括設定過程檢查點以及階段通過標準,項目經理按照通過標準審查階段成果,確保項目完成質量。
項目評審部分:項目評審部分由項目演示交流和項目考核兩部分組成。在項目演示交流環節,各項目組介紹開發過程、演示項目運行結果、進行項目答辯。在項目考核方面,采用多元化的考核體系,注重對學生實訓過程的評價,在項目經理考核的基礎之上,參照項目組長評價,得出最終評價結果。
篇3
1 背景
工信部近日印發《軟件和信息技術服務業“十二五”發展規劃》,規劃明確了“十二五”的發展思路和發展目標,確定了10項發展重點和8項重大工程。而據業界預計,到2015年,我國軟件行業收入將突破4萬億元,年均增長25%以上,出口突破600億美元。
2 項目實施的必要性和可行性分析
外包人才的缺口從結構層次來看,不是局部的人才短缺,而是全方位的供應不足。正規院校培養出來的學生能掌握基本的軟件開發技術,但缺乏軟件開發工作經驗、項目交流和團隊合作鍛煉,需要經過相當的項目知識與技能培訓。超過60%的高校開設了計算機專業。但是,適應外包企業需要的大學畢業生很少,大學畢業生常常需要企業花大力氣培養,而企業希望招來就用,不愿自己培養人才增加成本。本軟件開發、測試實訓室應此目的設置,目標培養中低端軟件人才。
3 建設實訓中心項目的可行性
職業教育與普通教育相比有四個特點:一是教育性質和目標不同。重在對準備就業的學生傳授職業知識,培養職業技能,陶冶職業道德,提高職業能力和勞動素質教育。二是教育內容與要求不同。以提高學生的專業知識與技術能力為主,重在讓學生懂得做什么、怎么做,使學生學有專長,畢業后投身于社會經濟建設的實踐活動。目前盡管有部分學生升學,但就總體看,其教育內容與要求未變。三是課程模式與結構不同。其課程模式注重實踐教學環節,課程結構注重強化學生技能的應用性、針對性和職業性。四是學校功能與任務不同。要求實施職業教育的學校必須具有實訓實操的條件,否則職業教育很難獲得應有的效果。
4 軟件開發和測試實訓室建設目標
軟件開發技術實訓可以包含四類實訓課程:
軟件開發實訓:包括完整的生命周期的軟件開發過程
軟件階段實訓:選取軟件生命周期其中某個階段獨立工作(例如編碼工作)的實訓;
軟件測試實訓:包括軟件開發過程隨行測試和獨立的軟件測試技術實訓;
軟件項目管理:這是關于軟件技術高級培訓。
實訓裝備:
硬件設備:5組服務器;50臺工位電腦;網絡和交換設備;5組光盤刻錄、掃描儀和打印機等輔助設備;1套投影和無線擴音設備;互聯網接入;軟件平臺:Windows 和Linux服務器平臺,mySQl、SQL Server數據庫系統、J2EE和.net開發平臺和課程相關的軟件工具;LoadRunner 、WinRunner等常用測試工具;項目管理工具MS Project;辦公系統 Ms Office 管理軟件:實訓管理軟件
實訓方法:采用模擬企業運營方式將教練和學員混編成項目組方式完成軟件開發和測試實訓;打破學科界線和知識體系,以項目目標驅動安排教學內容,編制教材和教學課件,教學內容來源于合作企業以往的實際項目,由企業和學校共同對原項目分解、重組、封裝形成教學課件,以實際項目文檔為基礎編制實訓文檔。
實訓課程:本實訓室分設以下類型實訓課程
素質教育類課程:敬業精神、團隊合作
企業標準類課程:ISO9000和CMM認證,企業化管理制度
項目管理類課程:項目管理方法和項目管理系統使用;
軟件開發、測試類課程:包括軟件生命周期理論、文檔編制和理解、軟件工具、編碼和測試方法、系統部署、和版本管理等;
實訓過程:
先期培訓:素質類、企業標準、項目管理、背景知識等
基礎培訓:由教師教授課題涉及的基本方法、工具和規范;
開題培訓:由專業項目管理人員做課題報告,解釋項目要點;
5 實訓課題:軟件開發實訓
本實訓室培訓軟件開發人員和軟件測試人員,實訓方法可以將學員分組,在同一項目中分別承擔軟件開發和軟件測試工作,也可以獨立執行軟件開發和軟件測試實訓課程
軟件開發實訓包括一下實訓模塊:
1)背景和基礎知識:包括軟件開發規范,軟件企業ISO9000和CMM認證,學校軟件工具等;
2)搭建開發環境:能夠配置自己的軟件開發環境,包括安裝操作系統和開發工具包;能夠配置自己與別人的協同開發環境,包括網絡配置,文件共享,安裝遠程打印機等;
編寫代碼:使學員能夠讀懂詳細設計,掌握開發工具的配置與使用,掌握開發語言的基本知識和數據結構,了解簡單的算法,會設計簡單的界面,并應用常見控件,具有數據庫編程的初步能力;
圖1
3)測試:使學員除了掌握測試的理論知識外,還應該學會編寫單元測試案例,編寫單元測試文檔,在執行單元測試的時候,記錄測試結果,并分析錯誤原因,以利于下一步的調試。
學員應掌握以下具體技術、平臺和工具,Windows系列和Linux操作系統;Visual Studio工具;Borland 公司工具,SQLServer,Oracle ;Apache+tomcat,Web Logic 等;TCP/IP,創建網絡連接,網絡打印;基于UML的詳細設計文檔,面向對象分析和設計;單元測試,黑盒測試,白盒測試,設計測試案例等;執行測試并調試錯誤,系統和配置技術;
軟件測試實訓包括以下實訓模塊:
計算機及常見操作系統、軟件設計語言基礎、 數據庫基礎、軟件工程基礎、軟件測試基礎、自動化測試:包括OSI模型、TCP/IP模型及常見網絡協議,常用軟件平臺、工具使用LoadRunner 、WinRunner測試工具使用,各種測試規范
6 總結
在當今社會信息化的進程中,綜合應用各種新技術的系統軟件功不可沒的,軟件開發和測試使全社會的信息管理、信息檢索、信息分析達到了新的水平,因此,學習軟件開發、測試的相關基礎知識,對于信息時代的每一個成員都是十分必要的。
參考文獻:
[1] 楊文宏,李心輝.面向對象的軟件測試[M].北京:中信出版社,2002.
篇4
信息技術的發展與應用使得數據與信息的處理方式有了質的變化,會計數據與會計信息也不例外。信息社會對會計人才的要求,除了會計專業知識本身外,對計算機會計畢業論文的操作能力、數據庫的應用能力、計算機網絡的了解、信息系統的分析設計與實施等相關技術的掌握也有了較高的要求。因此,對會計人才的培養需要從兩方面著手:一方面是會計學科知識能力的培養,另一方面是信息技術應用能力的培養。
二、現狀與問題
1.會計專業設置信息技術類課程的基本模式。目前,會計專業設置信息技術類課程一般采用的模式是:計算機應用基礎+會計應用軟件介紹+會計電算化。計算機應用基礎:不同的學校在會計專業的計算機應用基礎系列課程上的設置可能不同,但均以提高學生的計算機基礎知識為目標。會計應用軟件介紹:講授常見的幾種會計軟件。這門課程的開設可使學生了解常見的會計軟件,增強實際操作能力。會計電算化:講授會計電算化系統的分析、設計、開發、實施、維護與操作的基本原理,或是按財務會計的核算模式講授會計電算化應用系統的程序設計。但在學生嚴重欠缺數據庫和管理信息系統知識的情況下,講解會計信息系統的分析、設計、開發與實施等,其效果是比較差的。
2.教學上的問題。
(1)信息技術類課程在教學上與會計專業知識完全分離。由于講授信息技術類課程的教師大多是計算機專業科班出身,比較缺乏會計專業知識,在教學過程中難以將信息技術與會計知識融會貫通,導致學生難以認識到信息技術對本專業的重要性,并將信息技術與會計知識完全分離。
(2)會計專業課程不涉及信息技術知識。除會計電算化等極少數與信息技術有關的會計專業課程外,大多數會計專業課程不涉及信息技術知識。然而,大多數會計專業課程在信息技術環境下增加了許多新的內容,由于教師缺乏信息技術方面的知識,在課堂上不能補充講授與信息技術有關的知識,從而使課程的內容比較陳舊,缺乏新觀念、新思想、新理論。同時,這類課程的教材的更新速度也比較慢。
(3)實踐環節上對信息技術的應用不夠重視。在實驗室建設方面,一般比較重視建立手工會計模擬實驗室,而會計專業的計算機實驗室的建設就比較落后,主要表現為計算機網絡環境較差、硬件配置較低、軟件版本陳舊、開發平臺落后、系統更新速度緩慢等。課程設計方面也是重視手工操作而忽視計算機處理流程。
(4)教學手段落后。傳統的“黑板"粉筆”的教學手段很難滿足信息技術類課程教學的要求。會計軟件的演示操作與使用、會計信息系統的案例分析、編程效果的體現、大量數據的分析等均需要在多媒體教室或實驗室內完成才能增加上課的信息量,取得好的教學效果。
3.教材問題。目前,適合會計專業教學的信息技術類課程教材很少。有的課程不得已選用計算機專業類教材,在課時、教學內容、實驗環節上都可能存在一些問題。有的會計專業的教材如會計電算化,在信息技術內容的安排上比較膚淺、落后,先進性、實用性比較差。與教材配套的教學軟件較少,除了一些軟件開發商提供的演示軟件外,很少有專門的教學軟件來支持教學。
4.教師隊伍建設需要加強。目前,既精通會計專業知識又具有較強的信息技術應用能力的教師比較少。加強教師隊伍建設是提高教學質量的一個非常重要的環節。會計專業與計算機專業的教師在教學中要相互配合,學校通過組織研究一些課題和開發一些軟件項目,為教師提供一個溝通與交流的平臺,使得原來兩個不同專業的教師能通過課題的開發研究,相互學習、共同進步,并能共同承擔起會計專業教學中信息技術類課程的建設與教學。
三、會計專業信息技術類課程的設置目標
會計專業信息技術類課程的設置,其目標非常重要。沒有一個好的目標,就不可能組織好課程建設。每一個學校可以根據自己的專業定位與實際情況,確定會計專業信息技術類課程設置的目標。
重慶工學院的會計專業信息技術類課程的設置以提高學生以下幾種應用能力為目標:計算機基礎應用能力!會計軟件操作使用能力!會計軟件開發能力!會計信息系統分析設計能力!會計軟件實施能力。
四、會計專業信息技術類課程的設置
1.計算機基礎應用能力的培養。開設《計算機文化基礎》、《高級語言程序設計》等課程培養學生的計算機基礎應用能力。通過《計算機文化基礎》的學習,學生能掌握計算機的基礎知識,具有較強的文檔處理能力與excel電子表格的制作能力;通過《高級語言程序設計》的學習,學生能具有一定的高級語言編程能力,能通過國家計算機二級考試。
2.會計軟件操作使用能力的培養。開設《會計軟件概論》課程,使學生掌握當前常見的會計軟件的安裝、操作流程與使用方法,同時結合已經學過的會計基礎知識,更加深入理解相關的會計軟件知識。《會計軟件概論》學完以后,可視具體情況再增設《會計學基礎課程設計》,將手工賬務處理與計算機賬務處理結合起來進行教學,讓學生通過比較,切實感受手工賬務處理流程與計算機賬務處理流程的差別。
3.會計軟件開發能力的培養。開設《會計軟件開發技術》、《會計軟件開發技術課程設計》等課程,培養學生的會計軟件開發能力。
《會計軟件開發技術》主要講授與會計軟件開發有關的信息技術,內容涵蓋數據庫技術、數據庫建模技術、計算機網絡技術以及較先進的數據庫開發平臺技術。該門課程的信息技術含量較高,涉及面較廣,講授難度比較大。
學生通過對該門課程的學習,掌握數據庫系統的基本概念、數據模型、關系數據庫理論基礎、sql語句以及數據庫設計的內容,這門課程重點講授microsoft公司的sql server2000的基本操作與使用。同時,還需要重點介紹數據庫的建模技術,主要講授sybase公司的powerdesigner工具。這些工具的使用對培養學生的會計信息系統分析設計能力非常重要。在《會計軟件開發技術》這門課程中,還需要結合信息系統常見的網絡結構講授計算機網絡的基本知識。在掌握了較好的數據庫基礎知識的前提下,講授windows程序設計的基本內容,為了使學生能盡快地進入角色,我們選取了powerbuilder開發工具。
4.會計信息系統分析設計能力的培養。開設《管理信息系統》、《會計信息系統分析與設計》等課程培養學生的會計信息系統分析設計能力。《管理信息系統》主要講授管理信息系統有關的基本概念、方法、結構和功能。通過學習,加深學生對信息系統的理論認識,
--> 掌握信息系統的基礎理論、信息系統的戰略規劃和開發方法、信息系統的系統分析設計與實施的基本內容,了解面向具體對象的系統開發方法以及信息系統的管理、決策支持系統、信息系統的發展和對未來的影響等理論。
《會計信息系統分析與設計》在《管理信息系統》課程的基礎上,進一步講授針對會計信息系統的分析與設計方法,內容涉及會計信息系統各個主要子系統的業務處理流程分析、數據處理流程分析、數據屬性分析、數據字典的設計、數據的輸入輸出分析設計、系統物理配置方案設計等。
同時,結合《會計軟件開發技術》課程的知識,利用powerdesigner工具對會計信息系統各個主要子系統的數據模型進行分析與設計,在sql server2000數據庫中建立相應的數據表,利用powerbuilder工具進行輸入輸出的界面設計與編程。
5.會計軟件實施能力的培養。開設《會計信息系統案例分析》課程,并在畢業設計過程中,挑選一些學生進行會計信息系統軟件分析、設計、開發與實施方向的畢業設計,培養學生的會計軟件實施能力。
《會計信息系統案例分析》不是講解會計軟件的特點與使用,而是通過精選會計軟件案例,結合《會計信息系統分析與設計》和《會計軟件開發技術》課程的知識,深入分析會計信息系統中的經典模塊,主要包括分析數據處理流程圖、數據字典的設計、系統輸入輸出設計特點、典型的源程序、模塊測試等內容。同時結合案例,講授其在企業中的實施過程與系統維護。
五、結束語
篇5
軟件工程是計算機科學與技術專業開設的一門核心課程,學生掌握軟件開發過程和主流的軟件開發方法是軟件工程課程教學的基本目標。受教學資源、既定培養方案、學生個人條件等諸多因素的影響,軟件工程課程教學中還存在一系列問題。我們根據軟件工程課程特點,在近幾年的教學實踐中,對軟件工程課程的教學內容、教學方法、實踐教學方式等進行了逐步調整和改進,解決了軟件工程課程教學中存在的部分問題。
一、軟件工程教學中的問題
軟件工程是一門伴隨著軟件危機的出現而發展起來的、集工程性和應用實踐性為一體的課程。由于軟件規模不斷擴大、軟件環境更迭頻繁、軟件危機的表現形式多樣,致使軟件開發的新方法、新技術層出不窮,軟件工程課程的內容處于一種不斷改進和發展的狀態。但目前軟件工程教材內容相對滯后,且多以軟件開發理論和設計原則的形式呈現,軟件開發案例等應用性內容偏少。在教學過程中,受教材內容影響,教師習慣從軟件開發理論、軟件設計原則出發安排教學內容,忽視軟件開發案例在教學中的支撐作用,教學內容與實際應用脫節。軟件開發過程包括軟件體系結構設計、數據庫系統設計、應用程序設計、軟件系統實施等多個環節,所以軟件工程教學內容還涉及除軟件工程之外的其他多門軟件類課程。受教學資源和課程計劃學時等因素的制約,軟件工程的教學內容往往缺乏相關軟件類課程之間的實質性聯系,且實踐教學內容和時間相對不足。加之學生少有軟件項目開發的機會和經歷,致使學生感覺軟件工程課程內容難以理解、不夠實用,缺乏整體感和系統性。針對上述問題,我們將新的教學內容注入軟件工程課程;通過案例教學強化軟件工程課程的實用性特色;以層次化方式組織實踐教學,使學生在軟件開發基本技能、綜合分析問題能力、軟件系統開發經歷、團隊協作意識培養等方面得到系統訓練。
二、軟件工程教學的改革思路
1.調整教學內容、注入教學案例。在教學內容方面,對較陳舊的教材內容進行精簡,并增加與現代軟件開發方法和技術緊密相關的教學內容。針對軟件工程教材內容普遍重視理論、實用案例不足的狀況,將案例教學法[1]引入課堂教學中,通過案例分析對抽象內容進行詮釋,幫助學生理解軟件開發理論和原則。
2.貫通學科知識、突出綜合特色。軟件工程課程內容覆蓋面較寬,與數據庫系統原理、程序設計語言、算法設計與分析等軟件類課程內容交織,為了實現相關課程之間內容的貫通、拓展學生的學科知識、提高學生綜合分析和解決問題的能力,將專題學習(Project-Based Learning)[2]、任務學習(Task-Based Learning)[3]和基于問題的學習(Problem-Based Learning)[4]等教學方法不同程度的引入課程教學中,突出軟件工程課程的綜合性、實踐性特色。
3.拓展實踐環節、培養工程能力。軟件工程實踐教學直接影響學生的軟件開發能力,學生軟件開發能力的提高是一個循序漸進的過程。在常規的軟件工程課程培養方案中,主要安排了基礎實驗內容,對學生的工程化意識和綜合實踐能力的培養重視不夠。采取分層次、分步驟安排實踐教學內容,由基礎實驗逐步過渡到綜合實踐的教學方式,可以將軟件工程學科概念和學生的軟件項目研發能力逐步整合在一起,使學生在軟件工程實踐過程中逐步掌握學科知識、提高軟件項目的分析設計和實施能力。
三、軟件工程教學改革的實踐
1.課堂教學中的案例教學。案例教學可以強化軟件工程理論與實際應用問題的結合。通過典型案例分析,可以對抽象的軟件工程原理和準則進行直觀詮釋,幫助學生理解課程內容。
教學案例通常不是孤立的個案,一組精心設計的教學案例可以幫助學生理解基礎知識、掌握基本技能、提高運用知識的能力。以軟件需求建模為例,在講述軟件系統行為模型的描述工具狀態轉換圖時,使用幾個不同的教學案例,由淺入深地分析狀態轉換圖的作用、使用規則以及如何描述系統的行為三個方面的問題。首先,以學生比較熟悉的操作系統中的一個進程為例,通過狀態轉換圖形象的描述了進程的就緒、運行、等待和完成四個狀態及其轉換關系,著重說明狀態轉換圖的作用。第二個案例是機票預訂系統的行為模型創建,介紹狀態轉換圖的畫法規則。機票預訂系統行為涵蓋機票查詢、機票預訂、訂單支付等幾個分支,比較完整地展現了狀態轉換圖中的圖符及使用規則。實際的軟件項目通常比較復雜,軟件需求建模要考慮多種條件、各種異常狀態,所以將復印機控制程序作為第三個案例,其狀態轉換圖包括復印機正常工作流程、中斷處理流程(比如復印過程中復印紙用完等情況)、硬件故障處理流程等幾種系統行為。
2.問題式教學模式的運用。軟件開發過程是一個綜合性的系統工程。軟件工程課程內容與多門先修的軟件課程密切相關,軟件開發項目是一個多學科貫通的綜合實踐問題。對于軟件工程課程,從教學內容到教學形式都應該倡導調動學生的主動學習情緒,即學生能夠基于自己的思考和實踐解決問題。我們在軟件工程教學改革實踐中,提出了一種主動式、知識探究型的教學模式——問題式教學模式。問題式教學活動中,教師依據課程內容和學生的知識結構、設計具備一定挑戰空間的非良構問題;將學生組織成學習團隊;學生通過分析、解決緊密聯系實際的非良構問題來探究問題背后隱含的概念和原理、拓展學科知識、提高實踐能力、培養團隊協作意識。[5]問題式教學方法注重教學內容的實用性,在一定程度上激發了學生的學習主動性、強化了學生的軟件開發實踐能力。
3.實踐教學環節的調整。從學生運用軟件工程基礎知識的能力、系統化的個人職業技能訓練、軟件項目的開發能力和團隊協作意識四個層面出發,將軟件工程實踐教學劃分為基礎實驗和綜合實踐兩個層次。
基礎實驗培養學生對軟件生命周期組成階段的理解,重點訓練學生對需求分析、軟件設計和軟件測試階段相應開發技能和工具的掌握。基礎實驗的內容偏重于設計型,實驗形式又具有驗證型的特征。基礎實驗是課堂教學中案例教學法的延伸和應用,教師在課堂上通過教學案例闡述如何運用軟件工程理論、技能和工具;學生在實驗過程中,模擬解決與教學案例類似的軟件問題,以實踐的方式體會和鞏固軟件工程知識。基礎實驗強調對每個學生進行軟件工程基本技能的完整訓練,學生通過實驗獲得軟件開發過程的認知、掌握軟件工程的理論和方法,提高個人的軟件項目能力。
軟件工程綜合實踐側重對學生軟件項目開發能力和團隊協作意識的培養,是一個系統化的工程實踐活動,實踐內容涵蓋軟件項目開發的完整過程。學生可以通過綜合實踐環節獲得較真實的軟件項目開發經驗。
在綜合實踐環節,教師要為學生提供兼具普適性和創新性特色的綜合實踐題目。普適性意味著實踐題目要具備明確的可操作性,學生能夠通過綜合實踐活動體驗軟件項目開發的基本規范、經歷軟件開發的完整過程、鞏固軟件工程理論知識和技能。所以綜合實踐題目應該與現實中的實際需求密切相關,這類需求明確具體,學生的感性認識深刻。考慮到學生組織成不同的軟件開發團隊、每個團隊要完成各自獨立的軟件項目開發工作,實踐題目還應該具備在知識需求上基本相同、但應用背景不同的特點,使學生容易借鑒類似的軟件開發案例、從中汲取直觀具體的軟件設計和實現經驗。題目的創新性特色體現在軟件開發技能方面引導學生溫故知新、舉一反三;即對滿足普適性要求的實踐題目,進行適當的需求擴展和功能延伸,要適當保持問題的非良構性、保留一定的不確定性和疑點,留給學生思考空間。在綜合實踐題目的創新性層面上,學生需要在問題的牽引下去適當學習專業以外的知識、搜集提煉信息、補充項目本身缺失的條件,最終制定可行的軟件項目實現方案并解決軟件實施問題。綜合實踐題目的創新性特點,可以在一定程度上激發學生的創造性思維潛力、擴展學生的專業視野。
軟件工程綜合實踐環節是學生對軟件開發過程的模擬體驗,現代軟件開發工作多以團隊協作方式進行。所以對學生而言,需要組建軟件項目開發團隊并進行成員角色分配。組建項目團隊時要考慮學生的認知優勢、學習習慣、學習興趣、動手能力、邏輯思維能力,性格特點等因素,引導學生按照既發揮個人特長、又優勢互補的原則進行團隊組建和工作分工。
四、結語
將精心設計的典型教學案例注入軟件工程教學內容中,可以有效改善軟件工程教材內容偏重軟件開發理論和軟件設計原則、弱化軟件開發實踐的狀況。知識探究型為主要特點的問題式教學模式可以激發學生的學習主動性、拓展學生的學科知識、提高學生綜合分析和解決問題的能力。基礎實驗與綜合實踐相結合的層次化實踐教學方式,將學生的軟件工程基本技能和軟件項目研發能力整合在一起,使學生在軟件項目的分析設計和實施能力的訓練、團隊協作意識的培養方面獲得完整體驗。
參考文獻:
[1]Hay·P,Katsikitis·M.The expert in problem-based and case-based learning:necessary or not?[J].Medical Education,2001,35(1):25-30.
[2]Robert Michael Capraro,Scott?W.Slough.Project-Based Learning:An Integrated Science,Technology,Engineering,and Mathematics(STEM)Approach[M].Sense Publishers,2009.
[3]B·R,Simone Grin Verlag.New Media and Task-Based Teaching/Task-Based Learning:Web Quests[M].Grin Verlag,2010
[4]Boud·D& Feletti,G.I.(eds.).The Challenge of Problem-Based Learning,2nd Ed[M].London:Kogan Page Ltd.,1997.
篇6
1 背景與理念
高職教育就是以社會需要為目標,以就業為導向,以技術應用能力為主線設計學生的知識、能力、素質結構和培養方案。可見對學生培養不僅要重視專業理論知識的學習,還要注重實踐技能與創新能力的培養。在教學模式上強調以技能為主,培養具有高素質的技能型人才,根據軟件技術專業的軟件開發類課程本身課程的特點,多采用項目化的理一體化授課方式。可以讓學生在學習技能知識的同時感知社會發展的行業要求,以快速適應職場環境,獲取就業機會。
CDIO代表構思(Conceive)、設計(Design)、實現(Implement)和運作(Operate),是近年來國際工程教育改革的最新成果。它以產品研發到產品運行的生命周期為載體 ,讓學生以主動的、實踐的、課程之間有機聯系的方式學習工程。CDIO培養大綱將工程畢業生的能力分為工程基礎知識、個人能力、人際團隊能力和工程系統能力四個層面,大綱要求以綜合的培養方式使學生在這四個層面達到預定目標。它的這個特點非常適合《軟件工程與UML建模》這類綜合性課程,構思(Conceive)、設計(Design)、實現(Implement)和運作(Operate)正對應了軟件開發流程的整個生命周期。
2 課程改革思路
軟件工程類課程以提高學生的實踐動手能力,提高學生的軟件開發綜合能力,增強軟件項目建模與開發的工程方法和流程,培養軟件開發規范意識,訓練和積累“工程經驗”,提升就業能力,鼓勵學生自我發現問題解決問題為改革目的。
1、參照崗位能力標準,改進教學內容
根據軟件工程師必備的能力標準,打破傳統軟件工程純理論的學習模式,融入UML建模的內容。在軟件工程管理知識基礎上,學會如何用UML和Rose進行項目需求分析、結構規劃和生成框架代碼,以及如何從現有系統逆向轉出工程代碼,生成Rose模型。
以“項目導向、任務驅動”引導教學,以《圖書館管理系統》為主線,分別從軟件基礎、面向過程、面向對象三個階段對本課程進行系統學習。同時以“實訓任務單”作為任務驅動的載體。
2、校企合作、工學結合,實現“零距離”就業
我院大力發展校企合作,與重慶多家知名軟件企業建立了良好的合作關系,課程的設計和內容設置均有行業、企業專家參與,大大提高了課程的可實施性和適用性。為此,我們圍繞實訓、實習環節建立了完善的實訓體系。主動與行業、企業取得聯系,加強校企合作,形成學校、企業、行業互動,共同合作參與學生的專業技能培養。企業專家會引入真實項目讓學生參與,真正意義上做到與行業企業“零距離”接軌。
3、搭建內容標準化、結構模塊化的課程體系
根據軟件設計師相關崗位能力及職業資格證書考試要求,對其課程內容進行標準化。并根據課程內容將其劃分為三個模塊:基礎部分、面向過程和面向對象。
在基礎部分,主要掌握軟件工程學的相關知識、可行性研究、需求分析及軟件項目管理方面的知識;在面向過程部分,主要設計到軟件總體設計、詳細設計、軟件的實現及維護;在面向對象部分,主要掌握用面向對象的思想對軟件進行建模。
本課程理論與實踐緊密結合,從“可實踐”軟件工程的角度描述需求分析、軟件設計、軟件實現、軟件測試以及軟件開發的管理,力求使學習者在掌握軟件工程基礎知識的同時,真正學會運用軟件工程的思想和輔助工具進行規范化的軟件需求分析、系統設計、實現和測試。課程采用具體的軟件項目,“可實踐”地介紹并引導學生如何用UML和Rose進行項目需求分析、結構規劃和生成框架代碼,以及如何從現有系統逆向轉出工程代碼,生成Rose模型。并介紹了C++、Java、Visual Basic與CORBA/IDL和XML代碼的代碼生成與逆向轉出工程代碼。
通過該課程學習,學生掌握使用設計工具緊扣用戶需求,方便地開發出符合用戶需求的系統或根據用戶需求對現有系統進行改造,同時,按照軟件工程思想進行規范化軟件項目管理。
4、采用“項目引導、任務驅動”的行動導向的教學模式
軟件工程類課程是項目制課程,整體授課采用項目分組教學法和教學做一體化教學法。項目組組織方式如圖1所示:
圖1 項目組組織方式
在教學過程中,實行“教、學、做”一體化的教學方式。基于學生在“學中做、做中學”,采用多種教學方法,針對不同的內容交替進行。如圖2所示:
圖2 “教、學、做”一體化教學方式示意圖
每個任務按照“任務描述知識準備任務分析任務實施任務小結效果評價”的六個步驟完成,如圖3所示:
圖3 六步教學法示意圖
3 總結
本文主要是借鑒CDIO工程教育理念,以軟件工程類課程為載體,培養學生CDIO所要求具備的多種能力。通過對學生進行訪談發現,通過CDIO教育模式在進行教學改革應用實踐,學生普遍反映這種教學方法非常適合他們的學習,案例教學很好的促進了他們對基礎知識的學習,并且對以工程化的思想開發軟件有了深刻的認識,軟件開發能力和項目組織與管理的能力都得到了極大的鍛煉和提高。
參考文獻:[1]CDIO簡介.http:///
[2]韓智.基于 CDIO 理念的軟件工程課程教學改革[J].2010
[3]陶永芳,商存慧.CDIO 大綱對高等工科教育創新的啟示[J].中國高教研究,2006(11):81-83
[4]查建中.工程教育改革戰略“CDIO”與產學合作和國際化[J].中國大學教育,2008(5):16-19.
[5]張璇,李彤.結合CDIO教育理念與案例教學進行教學探索與實踐[J].計算機教育,2008(24):155-157.
[6]RogerS.Pressman. 軟件工程:實踐者的研究方法[M]. 6版. 鄭人杰,等譯. 北京:機械工業出版社,2008.
[7]Thomas,J.W.,Mergendoller,J.R.,Michaelson,A.Pro-ject-basedLearning:A Handbook for Middle and High SchoolTeachers[M].Novato,CA:The Buck Institute forEducation,1999.
[8]朱景德.《高職軟件技術專業項目化課程的探索與思考》,社會科學獎,2012年10月
篇7
.NET軟件開發方向校企合作模式核心內容是以課程置換和融合的方式,將微軟最新的.NET課程加入專業教學之中。由微軟提供最新的與.NET相關課程的資源,授課采用“基礎+專題”的形式,即各門課的大部分基礎知識由通過培訓的校內教師完成,每門課再開設若干專題,以微軟培訓講師為主校內教師為輔共同完成。在實踐教學方面,在校內建立微軟實訓室并由微軟提供豐富的實訓機會。學生通過對微軟相關課程的學習,可以考取微軟的相關證書,如微軟認證技術專家(MCTS,分Web、Windows、分布式、SQL Server、BizTalk等方向),微軟認證專業開發人員(MCPD),微軟認證IT專家(MCITP),微軟認證架構師(MCA)。目前側重于MCTS的Web應用、Windows應用和數據庫應用。從實踐的情況來看,效果良好。計劃擴展系統管理、信息管理、網絡安全、信息安全等方向。
2培養方案
計算機應用型人才的培養,要首先培養高素質專
業技術分析、設計、開發、維護、應用、服務和管理人才,著重培養學生的工程素養,其次才是創新人才。
所謂工程素養,就是學生不僅要具備相應的技術,即專業知識,還要具備相應工程(行業、領域)的知識與經驗,更重要的是要在理論等方面具備敏捷學習的能力。
本專業方向是與微軟合作的.NET軟件開發方向,目標是培養應用型工程科技人才,特別注重學生軟件開發實踐能力的培養。該專業的學生在學習階段通過參加微軟的認證考試還可獲得相關的微軟國際認證。其特色在于培養與國際接軌的多層次、實用型、復合型的軟件領域專門人才。
2.1設計思想與原則
以“基礎知識―應用能力―綜合素質”為主線,即適度的基礎知識+較強的實踐/動手/應用能力+較好的綜合素質,以市場對人才的需求為導向,以學以致用為原則,設計.NET軟件開發方向培養方案。目標是要建立面向崗位技能的課程體系,引入來自于軟件生產企業的項目作為案例教學和實訓的內容,實施立體化的實踐訓練模式,構筑企業化的軟件開發流程。
2.2知識結構分布
在整個培養方案中,專業基礎課、專業方向課、專業選修課和專業實踐教學環節共104個學分,占所有學分的60.5%,通識課程(主要集中在數學、英語和政治)50個學分,占29.1%;素質教育課程(注重文理滲透)18個學分,占10.4%。專業教育、通識教育與素質教育基本呈6∶3∶1的關系,如圖1(a)所示。三者之間的學分能否按7∶2∶1的關系分布,是值得
進一步探討的問題。專業基礎課、專業方向課和專業選修課共88個學分,專業教育分布如圖1(b)所示。這三者之間的學分可否按5∶3∶2的關系分布,也是值得進一步探討的問題。另外,在專業教育中,專業實驗/實踐占44.2%,與專業理論教育基本呈5∶4的關系,如圖1(c)所示。這樣既突出應用型人才的培養,又突出綜合素質的培養,且有良好的發展后勁,不至于只培養學生成為技能型的人才。
2.3各學期學分數統計
新培養方案各個學期的學分數統計如表1所示。該統計不包含各類實踐教學與素質教育選修課,它們分散在各個學期,尤其是畢業實習與畢業設計(論文)主要分布在第7、8個學期。
為讓休息近3個月的“高中畢業生”盡快熟悉大學生活,繼續保持良好的學習習慣,盡早樹立專業意識和接觸專業知識,我們在第1個學期分別加大了普通教育課程(如英語和數學)的學時和專業基礎課程的學時。第2個學期學分的減少,目的是為了讓學生有更充分的時間去準備CET-4考試。讓學生盡早通過CET-4,從而有利于學生減輕思想負擔,有更多的時間投入專業知識學習。專業基礎課集中在第3個學期,目的是讓學生打好專業基礎,提早從第4個學期開始進入專業方向課程的學習。在專業課程方面,大二、大三尤其注重學生專業能力的培養,在專業課的88個學分中,占到了68個學分,比例高達77.3%。
2.4理論、實驗、實踐課時統計與對比
新培養方案與以前的軟件工程專業的培養方案在理論、實驗、實踐等方面的對比如表2所示。
從表2可以看出,改革后,所有專業課程的實驗課時都有不同程度的增加,尤其是專業選修課的實驗課時提高最多,達13%。主要原因是微軟的課程重實訓,理論與實驗基本是1∶1的關系。
3專業課程體系
微軟設計了一套以.NET平臺軟件開發作為技術主線、面向崗位技能的完整課程體系。該課程體系針對崗位技能要求將課程組織成模塊,并規劃出最佳學習路線,對學生的專業學習形成一個連續、一致的培養過程,引導學生系統地學習從而達到企業需要的崗位應用技能。
如何將微軟的課程體系有機地融入到適合我們學院和學生特點的培養方案之中,是在設計新的微軟軟件開發方向的專業課程體系時所需要考慮的首要問題。可以根據文獻[1-2]提出的獨立學院培養大學生計算機應用型人才的參考課程體系模型和在文獻[3]的基礎上來設計新的專業課程體系。
3.1設計思想
以培養專業素養為核心,構建以“基礎性、先進性、應用性”為特征的專業課程體系。新的課程體系要達到通過對學生實施連續、一致、多應用、不間斷的專業能力培養,從而加強學生的專業素養,培養他們成為應用型工程科技人才的目的。新的課程體系要形成一條主線,防止單純追求局部體系的完善。
整個課程體系按照“上手快、重實戰;多應用、不間斷”的思想,保證每個學期至少都有微軟的課程,著重逐步提高學生的軟件開發與設計能力和工程素養。具體做法是:
1) 以軟件開發與設計為主線,全新設計該專業方向的課程體系。顯著的特點是在原來的軟件工程專業的課程體系基礎上,刪除所有與硬件相關的課程和其他與.NET軟件開發關系不大的課程,并將重新調整后的微軟課程體系有機地融入其中,同時增設與之配套的課程。
2) 引入微軟.NET軟件開發技能課程,培養學生軟件開發的專業技術技能。這些課程突出相關開發工具環境的熟練應用,注重技能的實踐性和應用性。
3) 引入微軟的軟件開發實踐實訓案例教學思想和課程,培養學生的專業工程技術和解決實際問題的經驗。這些實踐實訓課程面向應用,強調軟件開發過程的規范、協作、知識技能的綜合運用和經驗積累。
4) 對于微軟的相關課程,同步配以案例項目的綜合實踐。幫助學生加深對所學技術知識的理解,把握.NET應用軟件的程序框架,掌握軟件開發過程中涉及的分析、設計、編碼能力,培養學生的工程素養。
3.2第1~4學期內容
新的專業課程體系第1~4學期只包含專業基礎課和專業方向課。具體課程分布如表3所示。
面向對象程序設計由原來的周8學時減為周5學時。語言類課程的教學,要輕語法,重設計與應用,即教學內容適當淡化語法細節,強調程序的總體結構、程序的構建、編譯和運行調式過程、程序基本控制結構、程序模塊思想(函數)、面向對象程序設計的基本思想。然后在此基礎上開設C#程序設計和
.NET Framework程序設計,一則強化面向對象程序設計思想,同時引導學生逐步進入.NET程序設計課程。
有了語言的功底,尤其是有了運用語言進行程序設計的能力,學習數據結構就會事半功倍,加上算法設計與分析,就會相得益彰,為程序設計或者是軟件開發打下良好的基礎。另外,計算機組成原理之后上計算機操作系統,數據庫基礎之后上SQL Server數據庫開發與實現,通過.NET Framework程序設計的承前啟后作用,逐步引入數據訪問技術-、Web應用開發-、基于.NET Framework的Windows應用開發,分成3個學期完成,見表4。這樣課程之間既有很好的銜接,又能保證每門課程都有明確的專業技能培養目標。
3.3第5~7學期內容
新的專業課程體系第5~7學期包含專業基礎課、專業方向課和專業選修課。具體課程分布如表4所示。專業方向課程既包含軟件架構設計,同時包含對算法的設計與分析,在方向上分為Web、Windows應用、網絡和測試,同時涵蓋多媒體技術與圖像處理。在第6個學期引入微軟實訓,第7個學期開設案例教學。
在新的課程體系中,有10門課程是屬于微軟的課程,同時新增了6門與整個課程體系配套的專業課程和1門新的實踐課程(微軟實訓)。這17門專業課程占該專業方向所有專業課程的50%。
隨著技術的更新換代,可以通過修改專業選修課的方法來保持專業方向的持續發展和與時俱進,而其他方面的課程則相對穩定。
要著力培養學生對這些知識的靈活運用,并用來解決實際問題。對于這些知識的考核,應當要改革傳統的考核方式,輕筆試,重上機、實驗、程序設計或者課程設計等。要他們參與到高年級同學的實踐或者虛擬/實際的項目中,解決特定而具體的問題。
3.4實踐教學
構建以“一體化、分階段、多層次”為特征的實踐教學體系。實踐教學有多種形式,主要包括上機、實驗、課程設計、專業實踐、微軟實訓、畢業設計等環節。在專業基礎課、專業方向課和專業選修課共88個學分中,實驗課時占30個學分,比例為34.1%。加上實踐教學環節與專業相關的16個學分,專業實踐教學體系共46個學分,占整個培養方案172個學分的26.7%,達到了25%的要求。
鼓勵對主干課程不僅要進行課內的上機或實驗,還著重要學生進行課外的課程設計并占總成績的較大比例。要抓好專業實踐和微軟實訓兩個關鍵的實踐教學環節。
畢業設計(論文)是培養學生綜合運用所學知識,分析和解決實際問題、加強工程素養、增強創新意識、提高獨立工作能力的重要途徑。為切實提高學生的實踐動手能力和工程素養,實現把學生培養成應用型工程科技人才的目標,我們改革了畢業設計(論文)的內容和組織形式,時間可貫穿大學4年,集中在大三、大四。該環節的學分可由專業課題小論文、課程設計、作品、教研教改、社會調查、學科競賽、科技發明(專利)及與專業相關的職業資格證書等組成。對選做畢業設計(論文)的學生實行準入制。在畢業設計(論文)過程中,要加強它的過程監督、提高它的水平與質量。
在實踐教學過程中,要注重發現、培養優秀學生,把他們吸納到教學、教研教改、科研和項目中來,形成以點帶面輻射式的良好影響。
4結語
任何高校,其本質就是培育高等人才的搖籃。獨立學院不要一味去強調與其他類型的學校(如高職院,一、二本公辦學校等)的區別,也不要陷于自己是“另類”學校的泥潭。筆者認為獨立學院要堅持“一個中心,兩個基本點”的指導思想,即以教學研究為中心,以課堂、實驗兩個為基本點。
市場需求實踐能力強的人才,應用型人才培養定
位不僅需要上手快,而且還需要能實戰、后勁足的人才。提高就業競爭力,提高就業率和提高就業質量需要能用、好用的人才。目前學生就業是一個非常嚴峻的現實問題,但可以肯定,只要學生有過硬的技術水平,良好的工程素養和人文素養,那么就業肯定是不成問題的。所以我們要想方設法在整個大學4年中,對學生實施連續、一致、多應用、不間斷的專業能力培養,從而加強學生的專業素養,培養他們成為應用型人才。
學校要深刻掌握獨立學院學生的特點,結合獨立學院的實際情況和未來發展需要,尤其要與所服務區域的改革發展緊密結合。對于中山學院來講,就是要緊密圍繞“珠江三角洲地區改革發展規劃綱要(2008―2020年)”,在培養學生的理論知識與實踐動手能力兩個方面找到適合獨立學院發展的平衡點。核心就是培養的學生要滿足“三適應”的特點,即把學生培養成適應學生自身特點、適應市場、適應發展的應用型人才。
參考文獻:
[1] 周艷明. 獨立學院計算機專業參考課程體系[J]. 計算機教育,2008(20):66-69.
[2] 周艷明,傅瑜. 淺談大學計算機應用型人才培養課程體系[C]∥全國高校軟件工程專業教育年會組委會. 全國高校軟件工程專業教育年會論文集(2007). 北京:高等教育出版社,2008:205-208.
[3] 教育部高等學校計算機科學與技術教學指導委員會. 高等學校計算機科學與技術專業發展戰略研究報告暨專業規范(試行)[M]. 北京:高等教育出版社,2006:248-270.
A Course System of .NET Software Development Through School-enterprise Cooperation
ZHOU Yanming, FU Yu, LI Wensheng
篇8
1現狀分析
高校的專業設置受到社會分工的直接影響。一般說來,高校的專業設置主要以滿足社會已有專業分工為原則,使大學生一畢業就能很好地適應專業工作崗位。
然而,信息管理與信息系統(以下簡稱信息管理)專業的設置卻有些特殊。中國信息技術發展與應用起步較晚,遠遠落后于發達國家。為了盡快與發達國家接軌,加快國家信息化建設的步伐,在社會專業崗位并不清晰的情況下,中國高校紛紛開設信息管理專業。
從20世紀80年代開始,信息管理專業從無到有,發展非常快,至今已遍布全國各大高校。信息管理專業的職業定位從建立至今始終處于探索狀態,雖然國內外學者一直在研究探索信息管理專業的教學體系、職業定位,但是大多沒有系統化地從信息管理專業社會職業定位的角度來反思學生的知識構成與專業技能,使得教學體系的改革始終與學生就業脫離,沒有從根本上實現信息管理專業學生專業培養與將來就業的直接接軌。
從理念上說,信息管理專業是一個管理學與計算機科學交叉的專業,所學的課程一般包括管理學相關課程、計算機相關課程和信息管理相關課程等。學生的就業方向可以是管理、計算機和信息管理,側重在信息管理。
但從實際就業情況來看,信息管理專業畢業生應聘工作崗位時,往往會出現這樣的情況:管理技能不如管理專業的學生,計算機技能學生不如計算機專業的。人才市場上提供的信息管理崗位需求比較少,且多數是要求從事電子化辦公秘書工作,沒有多少專業技能可言,這樣的崗位各專業的本科生都可以勝任。由此反映出現行的信息管理專業在職場上沒有體現其特有的、有別于其他專業的自身職業素質和技能,這是影響信息管理專業實現可持續發展的關鍵問題。
2信息管理專業人才職業定位分析
教育部在《普通高等學校本科專業目錄和專業介紹》中對信息管理與信息系統專業的業務培養目標做了明確規定:本專業培養具有現代管理學理論基礎、計算機科學技術知識能力,掌握系統思想、信息系統分析和設計方法以及信息管理等方面的知識與能力,能在國家各級管理部門、工商企業、金融機構、科研單位等從事信息管理及信息系統分析、設計、實施管理和評價等方面工作的高級專門人才。
根據上述培養目標來檢索具體的社會崗位需求,發現國家企事業單位或部門在招聘的時候很少提供信息管理專業崗位需求,即使提到也是等同于計算機相關專業要求。
國家企事業單位信息化建設已經進入高速發展軌道,信息化戰略地位、信息化推進組織體系、 信息化政策規劃體系、信息化基礎設施等已初步建立。信息化建設已經成為衡量企事業單位核心競爭力的重要指標,我國現階段正處于信息化建設期,毫無疑問,社會需要信息化建設人才。
以企業信息化建設為例,其信息化人才需求包括技術領域、制造領域、管理領域等方面信息化建設人才,同時需要計算機硬件系統購置與維護、軟件系統開發與維護、網絡環境維護、信息化建設規劃等方面人才。
技術領域信息化建設主要要求計算機輔助設計專業;制造領域信息化建設主要要求計算機輔助制造專業或自動化專業;管理領域信息化建設一般要求計算機及相關專業。
很明顯,信息管理專業崗位應該在管理領域(覆蓋政府機關、工商企事業單位等各行業管理領域)信息化建設,重點要放在信息化建設規劃,管理信息系統分析、設計與開發,信息系統軟件引進、實施與維護上。
從我國信息化建設現狀來看,企業內部在信息化建設方面的崗位需求沒有進行專業細分,它將管理信息系統軟件的分析、設計、開發、引進、實施、維護和信息管理等工作需求統歸為做軟件。因此,企業招聘應屆畢業生的入門要求就是能夠編程,包括企業內部覆蓋銷各職能部門的信息系統軟件,也包括企業各層次網站系統開發。而政府機關、事業單位則以網站系統開發和工作流管理為主。
也就是說,信息管理專業人才進入企事業單位的基礎技能是軟件開發,這一點與計算機軟件專業畢業生就業要求相近。但在開發過程中,信息管理專業人才優勢逐漸顯露出來。即在系統需求分析過程中,信息管理專業學生更容易理解管理者的要求,對管理理論思想方法的掌握使其能夠在理解現行管理系統的同時提出更高的管理信息化建設思路。
根據上述分析,信息管理專業人才要在信息化建設中找到合適崗位,軟件開發技能培養是未來就業的敲門磚,而管理理論思想和方法的掌握則是其未來成為企業CIO的奠基石。
3信息管理專業人才知識體系構成
信息管理與信息系統專業培養的專業技術人才既不是計算機軟件開發人員,也不是管理人才,它不同于計算機科學與技術專業,也有別于工商管理等管理專業。它的專業知識體系是二者的融合,與二者有很多交叉,又有很大差別。在基礎理論上它強調管理學基礎,在應用技能上則強調信息系統軟件開發能力,編程能力將是其走入社會成功就業的基本要求。
應對現行的社會需求,信息管理專業人才知識與能力的構成至少要包含下述幾個方面:
(1) 經濟學、管理學等方面理論知識
要求信息管理專業學生學習掌握經濟學的基本理論與分析方法,掌握企業管理相關理論知識,知識面涉及企業計劃、采購、生產、財務、銷售、人力資源等多方面管理理論知識。
(2) 計算機科學與技術方面基礎知識
要求信息管理專業學生學習掌握計算機基本組成、操作系統、數據結構、數據庫原理、程序設計基礎、網絡基礎知識等。
(3) 管理學思想理論方法綜合應用能力
要求學生能夠綜合運用所學的管理學理論與方法、經濟學理論與方法、運籌學方法、應用統計學方法解決實際管理問題,這需要在教學過程中以案例引導方式培養學生自主思維、自主學習、自主解決問題的能力。
(4) 信息系統軟件開發能力
要求學生在掌握計算機科學與技術知識的基礎上,綜合運用數據庫技術和相關開發工具,實現信息系統軟件的開發。
(5) 應用信息技術解決管理問題的能力
要求學生能夠綜合分析現行管理存在的問題,借助信息技術的應用,結合管理流程再設計,提出管理信息系統綜合解決方案。
作為一個從事管理信息系統分析、設計、開發和維護的信息化建設人才,要掌握必需的管理學理論知識,并在此基礎上強化信息系統分析、設計與開發能力。對于信息技術的掌握,不能只是認識和了解,必須經過信息系統軟件開發的磨煉,形成系統化應用信息技術的能力,才能支持學生進入信息化建設行業中,勝任信息化建設規劃,管理信息系統分析、設計與開發,信息系統軟件引進、實施與維護等信息化建設工作。
4建立信息管理專業人才培養新模式
為了能夠適應當前社會需求,信息管理專業人才培養必須以就業為導向,將理論教學和實踐教學密切結合,將信息管理專業學生培養成為既有扎實的理論知識,又有一定專業實踐技能的跨學科復合型人才,真正實現信息管理專業人才培養與社會崗位需求的零距離對接。 信息管理專業人才培養需要分階段確定培養目標,通過各階段學習與積累,逐步達到人才培養目標。
(1) 信息管理專業管理學基礎能力培養
以理論教學為主,結合案例教學,培養學生管理學基礎。參考教育部規定,開設下述課程:經濟學、會計學、市場營銷學、生產與運作管理、組織戰略與行為學、管理學原理、應用數理統計、運籌學等。
(2) 信息管理專業管理運營技能培養
以提高學生的運營管理方面專業素質為目標,在掌握管理學基礎知識的基礎上要求學生掌握經營管理的綜合運用能力。開設ERP沙盤模擬演練實驗課,通過實際運營的模擬演練,將學生對理論知識的掌握上升到實際運用階段。同時,通過運營能力的競賽激發學生專業學習興趣,培養學生系統管理思想,提高學生綜合運用管理知識的能力,使學生建立立體的管理學思維方式。
(3) 信息管理專業計算機基礎能力培養
在管理學基礎知識培養的同時,培養學生計算機基礎能力,主要開設下列課程:計算機導論、數據結構、操作系統、數據庫原理與應用、程序設計語言、網絡工程、軟件工程等。
以提高學生的計算機技術方面專業素質為目標,要求學生掌握簡單軟件開發能力。結合信息系統分析與設計課程,建立軟件開發基礎實驗室,通過對數據庫、程序設計語言的綜合運用,提高學生對計算機技術的基礎應用能力。
(4) 管理信息系統分析與設計思想的培養
在管理學基礎知識和計算機基礎能力培養的基礎上,開設企業資源計劃(ERP)原理與應用課程,開設ERP系統操作實驗課,培養學生將管理學知識與計算機知識綜合應用能力,強化學生管理信息系統集成設計思想,提高管理信息系統分析設計能力。
(5) 管理信息系統軟件開發能力的培養
開設信息系統分析與設計課程,開設軟件開發實訓課程,要求學生完成一個管理信息系統的開發,提高學生的軟件開發能力。結合學生的畢業設計,要求學生完成管理信息系統分析、設計、實施全過程中,使學生具備信息化建設人才崗位需要的能力。
5結束語
當然,信息管理專業人才培養新模式的推出將對舊教學體系有很大沖擊,特別是對本專業專任教師的知識構成和技能要求非常高。
學生專業思維方式的形成是通過每一門課程的學習、每一位授課教師專業思維方式的滲透而逐步形成的。這涉及專業人才隊伍知識構成的改變,涉及整體教學課程的調整,對師資力量提出了有別于管理專業和計算機軟件專業的、更高的專業技能要求。
信息管理專業專任教師的知識構成要兼有管理學知識和信息技術技能,同時要求進行過管理信息系統軟件開發,否則很難在學生的4年學習過程中逐步引導學生建立系統分析、設計、實施,用信息技術工具解決管理問題的完整的、系統化的專業思維方式。特別是學術帶頭人應該具有實際管理信息系統開發經驗和大型軟件實施經驗,能夠從專業發展角度引領信息管理專業人才培養方向,達到高質量、高目標的專業人才定位。如果以管理學方面教師或計算機方面教師作為學術帶頭人,由于其專業思想的局限,會導致專業發展向某一方面側重,造成信息管理專業學生只懂管理、計算機相關技能很差,或者有一定的計算機相關技能、管理理論基礎卻很薄弱的情況。
另外,在實際教學過程中,雖然將編程作為學生的基本技能培養,但更要注重學生的分析與設計能力的提高。編程能力是信息管理專業學生就業的基礎,而在信息管理專業人才未來的職業生涯中,能夠助其良好向上發展的應該是分析與設計能力。
在當前學生就業形勢非常嚴峻的大環境下,如何最大限度滿足社會對專業人才的需求,合理調整專業人才培養體系,實現教育與就業的近距離對接,這是當前高校專業教育必須思考的問題。從本科生職業定位入手,研究適合學生專業的社會需求,明確崗位所需要的專業技能,針對不同學習階段,確定不同的相互關聯的人才培養目標,形成完整的教學體系,將是未來高校專業人才培養體系調整的新思路,也是解決高校教育與社會就業脫離的人才培養新模式。
主要參考文獻
[1] 中華人民共和國教育部高等教育司.普通高等學校本科專業目錄和專業介紹[Z].北京:高等教育出版社,1998.
篇9
隨著我國軟件產業的不斷發展,軟件開發方式已經由傳統的作坊式逐步升級為工業化、流水線式的生產模式。在這種工業化生產模式下,行業和企業對具備一定軟件開發經驗的軟件工程師、軟件項目經理等軟件人才的需求日益增加。而目前的軟件人才培養現狀并不能滿足這種社會需求。許多高校在軟件人才培養方面與行業現實需求脫離,傳統的教育模式中存在一些問題,如教學注重理論知識掌握、教材內容陳舊、教學方法落后、實踐訓練不足等,導致學生的工程實踐能力不足,不能滿足企業的實際開發需要。因此,軟件人才培養模式有待進一步改革。
印度的NIIT教育模式是目前公認的IT軟件人才培養的成功典范。NIIT教育培養模式注重培養學員的動手操作能力、工程實踐能力和設計研發能力。本文在探索NIIT教育理念和教育模式基礎上,結合本校計算機科學與技術軟件人才培養計劃和培養方案,通過構建嵌入式課程體系、有效組織教學內容、改革傳統教學方法等途徑進行軟件人才培養模式改革的探索,對高校培養創新型應用人才具有一定借鑒意義。
2探索NIIT教育模式,構建嵌入式課程體系
NIIT是印度國家信息學院(National Institute of Information Technology, NIIT)的簡稱,1981年開始在印度開展IT教育培訓。NIIT在發展過程中總結出一套獨特、先進、高效的教學模式。在實際教學過程中,通過讓學生學習使用主流軟件開發方法和技術,注重培養學生的工程設計能力、軟件研發能力和實踐創新能力。NIIT軟件人才培養模式采用以軟件訂單項目為基礎的專業實踐能力和操作開發能力培養方式,學生學習時就能參加軟件訂單和軟件項目的設計和研發,畢業后能很快適應企業開發要求,并成為合格的專業技術人才[1]。
在嵌入式NIIT教育模式的指導下,探索構建適合軟件行業要求的課程體系,是培養計劃的重要組成部分。針對目前業界對IT人才的需求,NIIT課程體系主要分為Java方向和.NET兩個方向,以培養學生具有數據庫開發能力、J2EE開發能力、.NET開發能力、COM+組件開發能力和移動開發能力的軟件工程師為目標。學生通過階段性循序漸進的學習和實踐,掌握軟件開發的主流軟件和技術。
因此,我們通過借鑒NIIT教育模式在軟件人才培養方面的優勢,在制定計算機科學與技術專業軟件工程方向的培養計劃時,應將以傳統學科建設為導向、以追求知識完備為目標的教學轉變為以企業需求為導向、以培養學生綜合素質和能力為目標的教學。在新培養目標的指導下,我們對原有課程體系進行改革,在原有課程體系中嵌入NIIT部分課程,經過整合,將課程體系劃分為公共基礎類、專業基礎類和專業類三大類,課程體系如圖1所示。
圖1嵌入NIIT課程體系
軟件工程方向的專業類課程包括專業必修課程、專業限選課程、專業任選課程和認證課程。專業必修課程包括UML統一建模語言、軟件項目管理、軟件質量保證與測試、軟件設計與體系結構和軟件需求分析等,作為軟件開發和技術知識掌握的基礎;在專業限選課程中,嵌入了NIIT的兩條軟件開發技術方向,即.NET方向和Java方向。NIIT的課程體系基本是循著這兩條技術路線搭建的,其特點是由淺入深、由點到面、技術路線明晰。.NET技術路線課程開設C#程序設計、Web應用開發、.NET應用開發等課程;Java技術路線課程開設Java程序設計、J2ME移動應用開發、Java EE應用開發等課程。同時增加了輔助這兩條技術線路的專業任選課程,如軟件設計模式、軟件開發案例分析等。同時,根據軟件行業的相關認證,我們開設一些認證課,使學生在獲得素質學分的同時得到行業認可。
嵌入NIIT教育后的課程體系,既符合計算機科學與技術專業規范,又符合行業對軟件人才能力培養的實際要求。根據該課程體系構建的人才培養方案,能確保學生掌握主流開發技術.NET和Java之一,畢業后能夠很好地適應軟件市場對人才的需求。
3合理組織教學內容,改革傳統教學方法
教學內容的組織改變了傳統注重書本和理論知識的方式。以往學生掌握主要技術知識后,并不能將其很好地應用到解決實際問題的過程中,課堂講解中的理論和實踐分離,學生處在被動狀態,沒有時間思考,沒有機會參與。而嵌入式NIIT教育模式更著重知識的運用和學生實踐能力的培養,針對不同課程設計合理的應用案例,這些實例基本上來自于軟件生產的實際問題,教師可以根據教學實際自己編寫實踐教材,修訂實踐教學大綱,安排合理的實踐環境。因此,通過合理組織教學內容,采用適應軟件人才培養的教學方法,可以讓學生從工程的角度學習專業知識,并有效培養學生的實踐操作能力和軟件研發能力。
在教學方法上,NIIT教育模式獨創了軟件教育的MCLA (Model Centered Learning Architecture),即基于榜樣的學習方法。MCLA教學方法是遵循“專家引導―引導實踐―引導探索―獨立實踐”這一完整的工程實踐訓練過程[2]。在傳統教學中,學生學習某個知識點之前,首先掌握一些基本理論和概念,然后通過一些簡單的驗證性實驗或簡單實例,達到掌握理論知識的目的,這并沒有注重培養學生動手解決問題的綜合實踐能力。而MCLA教學法以工程項目為載體,經過“學習―實踐―提高”,逐步引導學生在學習和完成項目的實戰訓練中形成知識獲取能力、解決問題能力、團隊合作能力、創新開發能力。
采用MCLA教學方法,教師要設計合理的工程案例,這也需要教師有一定的工程背景或經驗。然后,教師以本次課程所傳授的基礎知識為主線,向學生介紹實際問題的相關內容,讓學生了解所要解決的問題是什么。接著,進入專家引導,經過教師示范性地使用標準方案解決問題,學生可以進行模仿,并從中掌握必備的知識。最后,開展引導實踐環節,學生已經具備一定的知識基礎,可以完成一個類似的實際應用問題,通過不斷的練習和團隊實踐,可以鞏固所學知識和技術。教師引導學生設計實現相似案例,將及時應用所學理論并很好地鞏固,同時引導學生掌握軟件開發技能。這樣,學生在實踐過程中能夠逐步獨立完成一個新的工程應用項目。
4加強實踐教學環節,培養學生綜合素質
突出實踐技能是NIIT教育模式的側重點。在嵌入式NIIT教育模式中,特別重視以軟件訂單項目為基礎的專業實踐能力和實際操作開發能力的培養[3]。實踐可以使學生將理論與解決問題的實踐相結合,從大量的實踐訓練中不斷提升軟件開發和動手操作能力。根據軟件人才培養目標的要求,學校需要加強實踐教學環節的設置、構建科學優化的實踐教學體系,全面培養學生的綜合素質和實踐創新能力。
在教學計劃中,我們減少單純的實驗性、驗證性的實踐課程,增加符合NIIT教育模式的設計性、綜合性、工程性、創新性課程。經過對實踐教學內容的優化整合,設置了與嵌入式課程體系相輔相成的實踐教學環節,包括基礎實驗環節、工程基礎訓練環節和綜合實踐環節。基礎實驗環節注重學生對基礎知識的掌握,注重基本技能的訓練。與相關理論教學環節對應,主要開設一些專業課的實驗課,為學生掌握扎實
的專業基礎知識并鍛煉動手實踐能力提供基礎平臺。工程基礎訓練環節主要開設專業課程的課程設計、工程實訓及一些校企合作課程,開展帶有工程性質的工程基礎訓練。綜合實踐環節主要開設學年綜合設計(或學年設計)、畢業設計(論文)、學生科技創新項目和科學研究訓練等。在設計性和創新性實踐中,由學生自己實現軟件研發的全過程,充分發揮能動性和主體性,提高勇于探索的創新思維和創新能力。通過實踐環節的訓練,學生的實踐創新能力得到逐步鍛煉和提升,并且逐步與企業工程環境接軌,可以順利地從基礎實驗平臺上升到工程實踐平臺,達到企業對軟件工程師的要求。
5結語
通過將適應企業需要的NIIT教育模式嵌入到計算機軟件人才教育中,打破傳統的以理論知識的漸進積累輔之以實驗佐證為主要特征的教育模式,按照企業實際需求培養應用型和創新型軟件工程人才,是軟件教育改革的一種有效嘗試。探索嵌入式NIIT教育模式,對于培養具有較強動手操作能力、工程實踐能力的軟件人才,具有一定借鑒意義,對于教育部提出的開展“卓越工程師”培養計劃,是一種有效的嘗試。
參考文獻:
[1] 李洛,汪清明. 導入印度NIIT模式,提高高職軟件人才培養水平[J]. 比較教育研究,2004(2):34-38.
[2] 劉志成,陳承歡,彭勇. 嵌入式NIIT教育模式中教學方法的研究[J]. 職業教育研究,2007(2):154-155.
[3] 李洛,古凌嵐,羅佳,等. 印度NIIT軟件人才培養模式的探索與實踐[J]. 廣東輕工職業技術學院學報,2003(9):49-52.
Discussion on Software Talents Training Mode Based on NIIT Education
SU Rina, FAN Jianbo, YU Hua, LIU Liangxu
(College of Electronic and Information Engineering, Ningbo University of Technology, Ningbo 315016, China)
篇10
對于EET課程,在軟件外包專業(群)中的定位是非常重要的。通過參與項目的開發,學生能理解軟件開發思想,熟悉軟件項目開發的基本流程,熟悉企業主流開發技術(HTML/CSS/JavaScript/C#///SQLServer2008等);熟練使用設計、開發工具(Visual studio 2010等),強化需求分析、設計、編碼、測試的技能,提高編碼熟練度,熟悉項目開發文檔和表格的撰寫;增強解決處理問題的能力。能體驗企業對不同的崗位要求,強化自我領導力與團隊協作的能力,積累企業項目開發經驗。
職業能力培養目標:(1)能掌握軟件項目開發所用到的主流編程技術,并進行項目模塊編碼。(2)能準確理解用戶需求說明書、需求規格說明書、系統設計說明書。(3)能基本編制子模塊的詳細設計說明書、測試用例、測試數據。能夠根據測試用例準確執行測試,對測試數據進行基本分析,并基本完成測試報告。
1 課程現狀及存在問題
EET(企業經驗實訓)作為軟件技術專業大二下學期的一門綜合型的實訓課程。它是多門軟件技術課程的綜合實戰運用,也為后期的頂崗實習和就業積累企業項目開發的經驗。在EET課程中,,如何把基礎課程、專業課程的知識點穿來,讓學生能夠融會貫通的使用技術,并且能夠開發企業實戰項目。因為EET課程的前導課程,都是學生在大一、大二上學期學習的課程,如果把這些課程比喻成“點”的話,那么EET課程首先把這些點連起來,形成“線”,然后把線連成“面”,面就是軟件技術的整個開發流程。掌握了這個“面”,讓學生能夠把握住整個企業項目。
2 教學條件
本課程標準引入的小項目是學生比較熟悉的項目,更容易學生操作,而大項目是來自企業的實際項目,更利于學生職業能力的培養。在教學活動中,引導學生主動積極學習,注重實訓教學參考手冊的開發和應用。注重實訓平臺軟件、課程資源庫等常用課程資源和現代化教學資源的開發和利用,這些資源有利于創設形象生動的工作情境,激發學生的學習興趣,促進學生對知識的理解和掌握。積極開發和利用網絡課程資源,充分利用諸如電子書籍、電子期刊、數據庫、數字圖書館、教育網站和電子論壇等網絡信息資源,使教學從單一媒體向多種媒體轉變;教學活動從信息的單向傳遞向雙向交換轉變;學生單獨學習向合作學習轉變。同時應積極創造條件搭建遠程教學平臺,擴大課程資源的交互空間。產學合作開發實驗實訓課程資源,充分利用本行業典型的企業資源,加強產學合作,建立實習實訓基地,實踐工學交替,滿足學生的實習實訓需求,同時為學生的就業,創造機會。
教學環境:60座機房二個,能夠運行VS 2010,SQLSERVER2008等項目開發環境的計算機實驗室;服務器2臺,用于教學平臺、數據庫服務器、課程資源服務器、版本管理服務器、項目演示服務器;實驗室也要有多媒體教學設備。
3 技術串講階段的教學改革主要內容
EET課程教學實施主要分為三個階段:技術串講、框架開發、項目實戰。其中,第一階段是技術串講。技術串講就是把所有前導課程的技術重點和難點,在有限的時間里,系統的講解一次,為后面兩個階段打好基礎。技術串講階段,通過對開發需要了解的基礎知識進行串講,給學員建立宏觀體系,明確各部分知識在整個體系中的位置,理解各部分知識在體系中的作用;在復習基礎知識時注重對各部分知識中的重點、難點進行講解,最后以一個綜合實例將基礎知識有機聯系在一起,為后續的框架項目開發打下堅實的基礎。
4 預期成效
預期成效1:給軟件技術專業的學生建立宏觀體系,讓學生明確各部分知識在整個體系中的位置,理解各部分軟件技術知識在軟件開發體系中的作用。
預期成效2:讓學生了解軟件開發框架的作用與意義,熟悉開發框架的技術細節,能夠在完整的開發規范指導下,實際開發一個小型的項目,充分鍛煉技術能力,掌握基于框架的開發方法。
預期成效3:上通過大型項目的開發,熟悉項目開發流程,理解項目管理的基本理念,學會需求分析及系統設計方法,提高技術的使用熟練度,充分鍛煉團隊開發的協作能力,理解測試過程及Bug跟蹤的流程,從而積累真實的項目開發經驗,拉近與企業用人需求的距離。
5 結論
通過4個月實訓過程,讓學生掌握一線實踐技能,學習和實踐公司規范化、專業化、標準化的管理運作、業務流程及項目開發流程,感受公司對員工知識結構、技術技能、團隊合作的要求,體驗企業文化氛圍,積累項目開發經驗。在課程的前導技術串講階段,學生將之前所學專業課程進行技術串講,形成知識面,掌握軟件開發的能力,為后期的項目開發奠定基礎。
篇11
1軟件工程人才培養課程體系
我校是以教學為主,培養應用型人才的地方本科院校。我校的計算機軟件工程人才培養定位是:“掌
握計算機科學與技術學科的基礎知識與技能,具有一定的工程技術基礎和較強的實踐動手能力,具有創新精神、競爭意識和良好的團隊合作能力,能夠適應技術進步和社會需求變化,能夠從事計算機應用軟件開發與管理的高素質軟件工程人才”。根據國家對本科人才培養“寬口徑、厚基礎、強能力、高素質”的總體要求,和教育部高等學校計算機科學與技術教學指導委員會的軟件工程專業規范[1],我們構建了簡稱為“211”結構的課程體系,它主要包括大學基礎教育、專業教育、職業技能與技術應用教育、綜合素質培養四大板塊。即在大學一、二年級,用兩年的時間進行大學基礎教育,包括人文社科、身心健康、工具(外語、計算機、文獻檢束等)、專業基礎等,以學生長遠發展需要,提升基礎知識層面和綜合素質,為后繼的專業課程學習做鋪墊為目標;三年級進行系統的專業教育,以專業核心知識和基本能力培養為主,以提升學生專業知識層面和專業基本能力為目標,同時開啟必要的專業方向課程,為后繼的職業技能培養做鋪墊;四年級進行面向崗位的專業職業技能培養和技術應用創新教育,以學生就業為目標,其主要的教學形式是實踐教學。課程體系結構如圖1所示。
圖1人才培養課程體系結構示意圖
2目前國內軟件開發實訓存在的主要問題
目前國內開展軟件實訓的機構主要有三類:企業或軟件行業協會投資的社會培訓機構;由政府、企業等多方投資建設,獨立運營的實訓機構;校企合作共建的實訓基地,這中間又有兩種,一種是以學校投資為主,實訓基地建在校內;另一種是學校進行必要的投資,實訓基地建在企業。實訓開展形式主要有三類:1)學校將實訓委托給社會培訓機構或企業,由他們負責學生實訓教學;2)學校與社會培訓機構或企業合作,派出實訓指導教師與承擔實訓教學任務的機構共同實施實訓教學;3)由學校自己組織在校內進行實訓教學。由于承擔實訓任務的主體各自的利益目標不同,各自的擅長不同,實訓對象所擁有的基礎不同和各自對實訓的理解不同等多種原因,造成目前軟件實訓存在以下主要問題:
1) 實訓的內容體系設計單一,通常只要求通過訓練掌握某項具體的開發平臺技術,追求的是程序代碼的實現。
2) 用于實訓的軟件開發項目小,軟件開發過程的控制與管理、軟件質量控制與保證、團隊的合作與協調等軟件工程的重要內容和思想體現不出來,使得學生在實訓之后,沒能體會到軟件工程的特點和重要性。
3) 實訓指導教師的軟件項目開發經驗少,工程素質不高,同時缺乏相關的教學經驗,不能保證軟件工程的思想、技術、方法和要求在實訓中得到貫徹落實。高校教師在軟件開發的工程能力和經驗上缺乏,而來自企業的指導教師在軟件工程理論和實訓教學方法上存在明顯不足。
4) 實訓所需的工具、平臺等條件不足,不能保證實訓目標全部實現。
5) 實訓的團隊合作、團隊目標管理往往被忽略,這使得經過實訓之后,學生的團隊意識,與人溝通、協調、合作的能力沒有明顯的提高。
6) 實訓中學生對新知識、新技術學習的能力培養沒有得到應有的重視和訓練,鼓勵創新的機制和措施不夠,這使得經過實訓之后,學生除在具體某項技能方面有所收獲之外,在學習能力、技術應用能力、接受新事物和創新意識等方面收效甚微。
3軟件工程實訓課程體系建設
實訓是一個綜合、系統的工程,其目的是提高學生的知識、技術應用能力,積累工程實踐經驗,從而提高職業技能,實現從學生向職業工作者的轉化。對于以上存在的問題,我們認為師資、課程體系是核心和基礎,實訓項目是關鍵,在干中學,在學中干是行之有效的方法。以下僅就軟件工程實訓課程體系的建設進行探討。
3.1目標定位
課程體系反映了對人才培養的知識和能力要求[2]。本科軟件工程型人才的實訓定位應該從軟件開發企業的崗位要求、學生職業發展空間、初步能夠適應多種崗位需要等多方面考慮。從學生初次就業的崗位看,軟件開發人員的主要崗位有程序員、測試員等。這類人員需要有良好的理解設計和程序的能力,能夠在一種開發平臺上熟練地進行規范的程序設計和相應的程序測試,能夠清楚自己所做工作與他人工作之間的關系,理解自己所做工作在整個(或局部)設計中的作用。從職業發展空間看,軟件開發人員經過2~3年的實際工作鍛煉,應能夠承擔軟件工程師的角色,承擔必要的分析、設計、任務分解、技術指導、協調和管理任務。所以,本科的實訓目標定位既要面向現實,又要給學生發展的潛力和意識。我校的軟件工程實訓的目標定位是提高軟件開發程序實現技能,提高軟件工程知識、技術應用能力,積累軟件工程實踐經驗,實現從學生向軟件職業工作者的轉化。具體要求是:
1) 熟練掌握一種軟件開發平臺及相關技術,能夠用它們進行規范的程序設計。
2) 掌握軟件測試的方法,初步能夠設計測試方案,用測試數據集完成相應的軟件測試工作。
3) 理解軟件生命周期中各環節的主要概念,初步掌握各環節的主要工作、所采用的技術和實施方法,初步掌握有關工具的使用,能夠用它們完成相關的分析、設計工作。
4) 了解軟件開發的過程控制、質量保證和管理的方法和特征,理解它們的重要性。
5) 理解團隊及各種角色的作用,掌握交流勾通、協調合作的必要方法,形成團隊意識。
6) 形成快速學習專業知識和技術的能力,查閱相關技術資料(含英文資料)的能力。
7) 了解、體驗軟件企業的工作環境、形式和要求。
3.2構成原則
實訓以項目為載體,以軟件開發的工作流程為驅動實現知識、技術、能力和素質的全面提高。實訓課程體系作為實現實訓目標,制定實訓計劃的基礎和核心,應堅持以下原則:
1) 以企業實際需求為導向,以能力培養為核心,以學生適應軟件技術崗位為目標,以職業崗位技能為重點,兼顧長遠發展。
2) 注重知識、技術、能力、素質的協調發展,使學生通過實訓既學習了知識和技術,又提高了應用知識、技術的能力,升華了自身的素質。
3) 以職業技能訓練為重點,突出技術應用能力培養,強調在應用中創新,通過解決問題來體現技術和人的價值。
4) 課程體系應具有開放性、靈活性,能夠即時反映軟件技術的發展。
5) 課程體系要與人才培養方案的課程體系銜接,有明確的應用軟件開發領域,體現自身特色。
3.3課程體系內容
我校的計算機專業軟件工程方向人才培養計劃課程設置以計算機科學優先,接著是軟件工程基礎和軟件開發平臺技術基礎課程,將軟件工程的技術與方法、軟件開發的管理、軟件開發平臺技術的深化、職業綜合素質等方面的課程統一綜合到實訓課程體系中;以互聯網應用軟件開發為平臺,以管理信息系統和電子政務/電子商務為應用領域。實訓過程以軟件項目開發工作流程為主線,內容涵蓋項目開發的全過程,保證學生能夠體驗到軟件開發的全過程。實訓以職業技能和技術應用為重點,教師講解不超過總時間的20%。軟件工程實訓課程體系如圖2所示。
1) 在實訓之前開設軟件工程與技術基礎課程群。它主要是為學生進入實訓之前奠定必要的技術、
圖2軟件工程實訓課程體系示意圖
工程和應用領域知識基礎。主要課程有軟件工程導論、面向對象設計方法、信息管理系統設計與開發、C#語言程序設計、.Net架構程序設計(或Java語言程序設計、J2EE架構程序設計)、XML語言、Linux操作系統(或Unix操作系統)、電子商務、電子政務等。
2) 開發技術平臺課程群。它是在.Net開發平臺(或J2EE開發平臺)基礎之上進一步深化、細化有關技術,提高在開發平臺上的軟件實現能力的一組課程。主要課程有人機交互與界面設計、數據庫程序設計、數據接口程序設計、Web Services設計、應用安全程序設計、動態服務組合、新技術介紹等。
3) 軟件工程技術與方法課程群。它是一組提高學生軟件工程意識、技術和方法的課程,是學生今后向高層次軟件職業人員發展必備知識和能力。它培養學生具有軟件工程的理論知識,能夠應用它們指導軟件開發的實踐。要求學生掌握常用的需求分析與設計工具,具備一定的軟件分析與設計能力,了解軟件開發的管理過程和技術。主要課程有:軟件需求分析、軟件設計與體系結構、軟件詳細設計、軟件測試與質量保證、軟件過程與管理、軟件分析與設計工具等。
4) 職業綜合素質課程群。它是一組提高學生非技術方面的綜合素質的課程。它培養學生團隊意識、溝通合作能力、專業資料獲取與專業外語應用能力,使其具有良好的職業道德和一定的工程經濟概念,了解現代軟件企業的運行與管理。主要課程有團隊激勵與溝通、工程經濟學概念、信息社會與職業道德、軟件成熟度模型與軟件企業管理等。
在課程體系中,開發技術平臺課程群是學生實習、初次就業體現自己的技術和能力的主要內容,同時它是更好地理解、掌握軟件工程技術與方法中諸課程的基礎。所以,它是實訓的重點。軟件工程技術與方法是中、高級軟件職業人員必備的知識和能力,需要在大量的工程實踐中去提高認識和積累經驗。它在實訓中以體驗、領悟為主,重點是訓練分析、設計的方法和相關文檔的規范表達。職業綜合素質課程群的知識對于學生步入社會,在職場上取得成功很重要,并且它是實訓取得成功的基礎性知識,要貫穿整個實訓過程。
3.4評價指標
實訓所包涵的內容和重點是實訓成功的核心和
基礎。為了科學評價與不斷優化實訓內容與重點,通過向行業專家咨詢和實踐,我們初步建立了一個實訓課程體系評價指標體系[3]。它主要由職業技能、工程實踐、專業知識和職業綜合素質幾個方面構成。評價指標體系如圖3所示。
圖3課程體系評價指標體系
4結語
我校從2005年開始,通過與微軟合作,引進微軟職業技術教育課程,開始在計算機本科教育中用一定的時間進行職業技術教育。通過對兩屆學生的教學實踐,我們感到微軟職業技術教育課程相對本科人才培養存在著軟件工程方法、技術方面內容薄弱,而微軟
開發技術內容過細的問題。2007年,我們通過對有關教學內容的調整補充,整合成軟件工程實訓。實訓大大提高了學生軟件開發技術的掌握和應用能力,增強了學生的就業能力和質量。2007、2008屆參加軟件工程實訓的學生,90%以上到軟件開發企業就業。學生的知識結構、技術水平和能力、綜合素質等得到企業好評。
參考文獻:
[1] 教育部高等學校計算機科學與技術教學指導委員會. 高等學校計算機科學與技術專業發展戰略研究報告暨專業規范(試行)[M]. 北京:高等教育出版社,2006:12.
[2] 舒蔚,萬常選. 計算機專業程序設計課程體系架構的研究與實踐[J]. 吉林大學學報:信息科學版,2005(8):1-4.
[3] 韓春燕,高曉興,姜慧妍,等. 軟件工程專業課程體系優化方法研究與實踐[J]. 計算機教育,2009(4):70-73.
Research on Curriculums in Software Engineering Training
YUAN Lei, HUANG Jian, NING Bin
篇12
什么才是我們軟件開發教育的核心知識架構,怎樣才能培養學生可持續發展的核心競爭力?我們調查過一些非常高水準的軟件開發者,發現他們往往在底層軟件上持之以恒地進行長時間深刻的鍛煉,然后在未接觸的新領域才能非常迅速地掌握核心。例如,一個非計算機專業的系統分析員曾經“只”在DOS這種原始的操作系統下玩了10年,甚至自己寫過一個漢化的DOS。他只有書本上的一點點網絡知識時,就用一兩天時間解決了一個學通信的研究生1個月都不能解決的網絡故障。這是一個典型的例子,他并沒有“實際的”網絡經驗,什么使得他如此輕松地進入了新的領域呢?而另一個曾就職于vmware、google等頂級公司的程序員,在Unix下只用C語言做了10年系統級編程。當用Java,C++甚至是javascript時,其學習時間只是1天,很快就比做了幾年專門java編程的程序員還精通。如何才是軟件開發人員的本質力量?什么才能讓他們在變化萬千的新技術面前屹立不倒,乘風破浪?
2.1計算機工程能力
我們認為計算機工程能力包含兩方面的內容:(1)核心知識架構;(2)計算機的思維方式。什么是核心知識架構呢?是反應該領域最基本規律和支撐技術的知識。簡單地說就是傳統的操作系統、編譯、數據庫。操作系統將硬件、軟件、高級語言和匯編融匯在一起,它幾乎包括了軟件工程中所有重要的因素。舉一個簡單的例子,似乎只有面向對象這種“高級東西”才有的虛函數運用,其實在Linux中就有相應的虛文件系統。操作系統是最為復雜的計算機工程之一。編譯融匯了大量的算法,而且能讓大家真正看“穿”語言的外表,深入到其內里,體現了最根本的計算機技術。其優化技術,也深刻地和硬件交融在一起,很好體現了底層風范。數據庫,不僅是運用算法最多的地方,甚至是超越操作系統的一個復雜的系統,從緩存技術到i/o優化,到索引,再到事務處理,無一不是反映計算機最深刻規律。大家可以發現,所謂核心知識架構,都具有兩個特點,反映本質規律,體現軟硬融匯交織。也只有這樣,才能建立下面談到的“計算機思維方式”。
2.2核心知識架構
為什么我們沒包括一些新興的語言和技術呢?似乎它們很“實用”。而且已經出現的問題是,按照傳統科目和方式學習后,學生在企業什么都不會。這也正是大家關注工程教育的初衷。為什么不強調這些新興實用技術的教育還在強調“古老”的“基礎”。計算機領域一個顯著的特點是,表面上知識更新非常快,新技術、語言層出不窮。這很容易導致當我們發現學生能力欠缺時,將問題歸罪于新技術的學習不得力,知識結構老化。但其實目前的問題可以從另外一個角度考慮,是否是基礎教育不得力?分析國外著名大學,如斯坦福、伯克利的課程,我們發現兩個特點:(1)關鍵的基礎課程,如操作系統、編譯原理、數據庫,始終是其最重要的課程,并沒有過分追逐各種“新潮”技術。(2)學生一學期能修的課程非常有限,一般為3門課。而國內卻呈現相反的狀況,比如編譯原理被降到了選修課的角色,新潮課程層出不窮,一個學生二年級一學期要修13門課。在這種走馬觀花的狀況下,計算機這種具有強烈“手藝”色彩和工程實踐的學科,被完全紙上談兵化。而一些可憐的實驗內容,還被學生的復制拷貝所湮沒。我們認為,恰恰是這種情況,使得基礎核心知識教育沒有工程化,沒有充分動手,導致了基礎知識教育某種程度上的巨大失敗。從以下鮮明的對比可以窺見問題的端倪:國內學生反映操作系統課程是文科課程(只需要背條款考試即可);而相對地,國外著名高校操作系統課程要求學生實現“小”操作系統。國內數據庫只講其應用(如大量講解sql等運用,sql即使非計算機專業人士也很容易學習,這也是它被發明的初衷)。斯坦福的數據庫課程中有一門需要實現一個數據庫系統。在筆者走訪的計算機工程上優秀的人才,發現其共同的特點就是在諸如操作系統或數據庫上都有很深入的學習經歷,比如前面提及的自己構建過漢化DOS系統,或者在Unix下,做內核以及驅動很多年等。而當他們接觸新技術時,之前深刻的經驗和淬煉的思維就讓他們如虎添翼,快人一等。更有甚者,國外真正的最頂級專家,都是在這些領域有無與倫比水平的專家,從delphi的締造者,轉戰到微軟并入主.net平臺的開發,也可看到雄厚的底層知識和能力的巨大作用。所以“老”知識并不是障礙,而是通向天堂的階梯。究其原因,就涉及到工程能力的第2個方面,計算機思維方式。
2.3計算機思維方式
對非專業人士它是很抽象的概念,而對真正專業人士,這又是一個非常鮮活的概念。這里限于篇幅,我們只舉一個簡單的例子。面對在C++中外部代碼如何直接修改私有變量的問題,計算機的思維方式就是:對象也是放在內存中,只要能拿到對象的地址,并知道對象的布局,那么就可修改。而沒有建立這種思維的人,就完全被高級語言的語法所左右,無從下手。一句話,無法看到本質,沒有從下而上的底層思維。核心知識課程的有效深入教學和計算機思維方式建立有何直接關系呢?我們認為核心知識因為其反應了計算機本質規律,而且從底層建立起來,所以對其深入掌握運用后,它從開始的逼迫到最后的陶冶,最終潛移默化地讓受眾建立起“計算機思維方式”。而這正是計算機工程師安身立命之本,就如同音樂家有其獨特的音樂思維方式一樣。為什么諸如java之類的課程于建立計算機基本思維不太合適呢?因為它更高層,無法讓學生看到最下面。而唯有徹底、深刻和系統的底層淬煉,才能真正建立起“計算機思維方式”。
3如何打造強大的計算機工程能力
大家一方面指責基礎課程的“空洞”、“無用”、“陳舊”;另一方面在不斷開設的海量新課和技術中壓得學生更加遠離編程,遠離實踐。即使能培養出熟悉某種語言的學生,也無法看到他們和培訓學校有何不同。實訓也似乎沒有根本解決問題,我們在實踐中發現,往往是那些自己醉心于編程的學生最后有著卓越的表現。讓基礎知識能支撐和指導實踐,而非僅僅“符號”,并引導學生進行高效的實踐。
3.1“3塊連一線”,4門基礎課程整合打造核心知識架構
我們將4門基本課程進行貫通式整合,著力塑造學生的“計算機思維”。下層的是3門基礎課(在上一小節探討了其在工程能力訓練上不可替代的重要地位),對軟件開發環境產生支撐。而軟件開發環境又通過精心的設計和工程實踐,從應用角度將3門課程所學的知識串聯起來。從而將基礎知識和工程開發更有機整合在一起。首先,闡述為什么將以上課程整合在一起的理由。要回答這個問題,必須先回答什么東西支撐了優秀程序員。在我們的調查人員中,無一例外地都具有很深厚的底層軟件開發背景。有長期從DOS的Hack入手的;有長期從事Unix內核編程的;有從Windows的driver起步的;有以反匯編逆向為根基的。長期在最底層的經歷,使他們建立了最真實和能觸摸的系統觀,能以計算機的方式思考。所以面臨新技術時,他們能透過新形式很快把握其精髓,深刻地把握其實質。“太陽下面沒有真正的新事物”,例如號稱21世紀最新的重要的軟件技術AOP(AspectOrientedProgramming,AOP),其實在20世紀60年代就出現在了匯編一級的軟件技術中,它本質就是鉤子技術的系統化。在底層的軟件世界,我們不僅能夠用到那些所謂的最新的技術,而且能看到其本質(我們可能就是用機器碼自己構建出來的,而不被新技術的華麗外衣障目)。這些使得具有底層經驗的開發者,更有創造力,更能創造,也更能洞察迷亂后的本質,庖丁解牛,解決那些異常復雜的工程問題。舉一個筆者遇到的真實例子,一個具有深刻底層經驗的程序員(一直只有C語言和操作系統編程經驗)和一個只有深刻Java經驗的程序員,在同時學習Javascript的閉包概念時,后者一個禮拜都還有些似是而非。前者很快就能自如運用,且最后指點了后者1個小時,后者頓時豁然開朗。這是典型的“新”與“老”,上層和底層經驗在面對新事物時的對比。既然底層軟件賦予我們如此強大的能力,那么哪些是底層軟件呢?大家公認,操作系統、編譯和數據庫由來就是計算機工程自身的根基。所以,我們必須將這3門課涉及的知識好好淬煉。而如何將3門課的知識和我們日常的軟件開發聯系起來呢?如何用它們指導平時程序的開發呢(我們大多數是開發用戶級軟件,不會開發內核軟件,因此許多人認為幾乎整個在內核中的操作系統對用戶級軟件開發無從指導)?另一門課,《軟件開發環境》解決了這一問題。它有一條主線,通過反匯編將C語言和匯編串聯起來,讓系統級的知識從高級語言的面紗下展現出來。同時用逆向工程這把庖丁之刃,將編譯、鏈接、面向對象等軟件開發中的重要知識塊剖剔,讓底層與上層貫通一氣。而逆向的技術技巧,本身也是非常高級的軟件開發技術。因此,我們用“3塊連一線”來總結4門課的關系是最好不過了。為什么不納入語言課程,比如C/C++語言?從我們的工程經驗來看,語言只是計算機原理和思想的載體,是表述方式而已。為了表述形式而專門花大力氣是不值得的。比如,國外的著名大學很多都不開設語言課,在其他課程作業中必須用C語言編程,學生們就在那里鍛煉了。真正的語言的力量并非來自語言本身,而是底層知識為支撐的項目鍛煉。我們的思路是以構建式完成大量的完整系統的編寫,這樣就很好鍛煉了軟件開發和工程能力。同時,“軟件開發環境”本身從逆向層面也對語言有了深刻的剖析,這是純粹的語言課難以完成的。另外,從大綱安排上,我們在大一就會讓學生用C語言來初步接觸程序編寫,這時并不適合放入太高級主題。而在教學中,語言的力量已經滲透到一個個工程構建中,隨風潛入夜了。為什么不納入算法課程?從某種程度上,“程序就是算法與數據結構嗎”?我們認為在系統中運用算法,算法才具有生命力。而編譯、操作系統、數據庫以及我們專門設立的一些課程設計將全面運用各種算法和數據結構。在實戰中運用并學習提升才是王道。這也正是構建式學習的精髓所在,這也正是探索式學習培養學生的創造能力的精髓所在。算法課已經為我們準備了元件,就看你怎么去組裝甚至改造。
3.2以構建主義的思路,深度實踐的風格改革課程
前面我們論述了底層知識架構的重要性,那么怎么來將它們實際地建立在學生的工程實踐中呢?簡單地說就是“構建一個具體而微的系統”。講操作系統就構建一個小操作系統,講編譯原理就構建一個小編譯器。同時,設計一些跨度較大的課程設計覆蓋這些課程的一些重點內容。構建完整系統本身就可真實淬煉工程能力,而這些內容的復雜性、難度以及運用知識點的廣度,本身就超越了簡單的企業實訓項目,在培養人才方面具有系統性、完整性、挑戰性獨特優點。我們需要的是運用團隊的思路和現代軟件工程的手段,將其開發過程管理發起來,從而熟悉企業級開發的工具鏈,將軟件工程學到的知識貫通到實作中。這也回答了“和以前相似的強調基礎課程教育,什么特點使得我們的做法能獲得強大的工程能力?”這一問題。以前更多注重理論知識的學習,而現在的做法是回歸計算機工程的自身科學規律———實踐為王。
3.3改革考核評價標準,充分強調動手實踐
篇13
1.培養目標
本專業主要面向程序員和軟件技術支持與服務崗位群,培養具有良好的職業道德,緊跟世界前沿技術,熟悉軟件開發流程,掌握國際主流的軟件開發平臺和程序設計語言,能熟練進行軟件開發、測試與維護,具備軟件設計、軟件編程、軟件測試和軟件實施等綜合職業能力,能夠勝任程序員、軟件測試員和軟件實施員等工作的具有良好的職業道德意識、精湛的專業技能和可持續發展的學習與適應能力的德、智、體、美等方面全面發展的高素質技能型專門人才。
2.職業崗位(群)
本專業學生的職業領域主要面向軟件業、計算機服務業、其他商務服務等行業,主要在基礎軟件服務、其他軟件服務 、計算機系統服務、數據處理、其他計算機服務、辦公服務等領域從事工作。具體從事的職業崗位(群)如表1所示(含未來3-5年內學生經過努力可能從事的崗位)。
表1 職業領域及主要就業崗位(群)
序號職業領域就業崗位職業資格證書其他相關職業資格證書
1軟件業
Java程序員計算機程序設計工程師技術水平證書(Java)
Net程序員計算機程序設計工程師技術水平證書(C)
2計算機服務業/其他商務服務業
軟件測試員軟件測試工程師技術水平證書
軟件實施員計算機信息處理工程師技術水平證書考試
1.計算機等級考試證書(二級Java、二級C)2.信息技術水平考試證書(計算機程序工程師證書)3.計算機軟件資格水平測試證書(程序員或測試師)4.計算機信息高新技術考試證書(辦公軟件應用模塊、數據庫應用模塊
(二)人才培養規格
1.素質要求
(1)責任意識:有高度的責任感,有嚴謹、認真、細致和吃苦耐勞的工作作風;
(2)協作精神:具有團隊精神和合作意識,具有協調工作的能力和組織管理能力;
(3)改革創新精神:培養銳意改革、大膽創新精神;
(4)遵守職業道德:遵守行業規程,保守國家秘密和商業秘密。
2.知識要求
(1)具有大專文化基礎知識,包括德育、數學、英語、體育等文化基礎知識;
(2)掌握計算機硬件、計算機網絡的基本知識;
(3)系統學習和掌握靜態網頁設計及制作的基本理論、基礎知識;
(4)掌握高級程序設計語言的基礎知識;
(5)掌握數據庫基本知識及基本操作,熟悉SQL命令,并能開發基于客戶機/服務器模式的數據庫管理應用系統;
(6)掌握網絡編程基礎知識、開發規范和開發流程;
(7)掌握數據結構基礎知識,了解基本的計算方法,能使用編程語言設計算法;
(8)了解軟件工程基本概念和軟件項目文檔的國家標準,能完成一般項目的文檔編寫,并能在系統分析員的指導下,參照詳細設計文檔進行規范編程;
(9)了解軟件測試的基本原理及測試方法,掌握測試用例的編制方法。
3.能力要求
(1)具備計算機常用軟件應用及程序設計能力;
(2)具備閱讀分析軟件代碼的能力;
(3)具備熟練安裝配置和維護各種系統軟件和應用軟件的能力;
(4)具備熟練搭建與配置數據庫服務器的能力;
(5)具備較熟練使用和維護計算機硬件、軟件環境的能力;
(6)具備對操作系統、管理軟件、軟件編程工具的熟練使用能力;
(7)具備查閱、翻譯中英文專業資料和日常的語言交際能力;
(8)具備獨立搜集、信息處理和公文處理能力;
(9)具備終身學習的意識和再學習的能力;
(10)具備提出問題、分析問題和解決問題的能力和較強的創造能力;
(11)具備職業生涯規劃的能力。
(三)課程結構
在專業課程結構中,按照課程類別分為公共基礎課程、專業課程和拓展課程。專業課程包括理論課程、理實一體課程和實踐課程;拓展課程包括專業選修課程、通識教育選修課程和開放式自主學習課程。其中,電子信息類計算機專業平臺課程為:辦公應用Ⅰ、程序設計基礎、計算機組裝與維護、計算機專業英語、辦公應用Ⅱ。本專業分為軟件編程(Java)、軟件編程(.Net)、移動設備軟件編程三個專業課程方向,第3學期開始選擇,到5學期結束。學生可以選擇其中課程方向即可。
軟件技術專業課程結構如下圖所示。
(四)畢業標準
具有良好的思想道德和身體素質,符合學校規定的德育和體育標準,同時必須通過本培養方案規定的全部教學環節,畢業總學分達146.5學分。其中公共基礎課程26.5學分,專業課程100學分(其中,專業基礎課程26學分、專業核心課程31.5學分、單項技能訓練課程5學分、綜合實踐項目課程6學分),拓展課程20學分(其中,通識教育課程6學分、專業選修課程6學分、自主學習課程8學分)。在校期間必須取得計算機程序設計工程師技術水平證書(Java)、計算機等級考試證書(二級Java、二級C)、信息技術水平考試證書(計算機程序工程師證書)等專業技術資格證書之一,方可畢業。(作者單位:長春職業技術學院)
參考文獻