閆大順 石玉強 劉磊安
文章編號:1672-5913(2009)10-0006-03
摘要:隨著經濟社會發(fā)展和IT行業(yè)競爭的加劇,對計算機及其相關專業(yè)學生的軟件設計能力要求越來越高。本文對軟件設計相關知識體系和基礎實驗進行深入分析,構建一個符合技能培養(yǎng)規(guī)律的立體化實踐體系,實施系統(tǒng)化訓練,提高學生的實踐應用能力和創(chuàng)新意識。
關鍵詞:軟件設計;立體化;實踐;課程建設
中圖分類號:G642
文獻標識碼:A
當前中國高等院校開設的計算機及其相關的專業(yè)培養(yǎng)學生以編程能力為核心的軟件設計成為其重要的目標,其中高職和??圃盒τ趯W生的開發(fā)軟件的技能需要更為迫切。從當前IT企業(yè)的調研數(shù)據分析,計算機及其相關專業(yè)的畢業(yè)生軟件設計素質遠遠達不到培養(yǎng)方案的要求,更不用說能夠滿足社會的需求。造成這樣的結果不僅和專業(yè)的課程體系有關系,同時也與計算機類專業(yè)的實踐體系和管理機制有相當大的關系。本文以學生軟件設計的實踐能力和創(chuàng)新意識的提高為目的進行的一系列研究,構筑精細化的管理機制,創(chuàng)建立體化的實踐體系,以期激發(fā)學生專業(yè)知識學習和軟件設計的原動力,提高學生創(chuàng)新熱情,為社會培養(yǎng)出優(yōu)秀的人才。
1立體化軟件知識體系
培養(yǎng)學生的軟件設計能力,需要有系統(tǒng)的計算機知識和程序設計語言平臺的知識。當前模式是學生按照培養(yǎng)方案一個個的課程有序地學習,以期掌握比較多的專業(yè)知識。各個課程的知識屬于不同領域,有些學生有能力把這些知識融會貫通,更多的學生是在課程教學結束就固化在那里,不能靈活使用,不能程序設計時所需要的系統(tǒng)化知識,大大影響了學生的實踐能力提高,更不用提他們的創(chuàng)新了。
建立計算機專業(yè)的課程群,實施課程體系的改革,按照融會貫通的知識體系實現(xiàn)教學,可以使學生的知識系統(tǒng)化,也可以進一步提高學生靈活應用計算機不同知識的能力。依靠教師的教學和管理來實現(xiàn)這個目標與當前的教學形式和教學手段是不相符的,不能適應學生主動學習的潮流?;陂_放性、延伸性、可擴展性,把計算機專業(yè)知識數(shù)字化,建立一個完善的Web知識系統(tǒng)。該系統(tǒng)的專家模塊具有類似教師的能力,能夠實現(xiàn)計算機知識學習的導航以及知識之間的穿梭的功能,學生在該系統(tǒng)的幫助下,自主的實現(xiàn)知識之間的關聯(lián),建立一個系統(tǒng)的計算機知識體系。
專家系統(tǒng)的一個重要特征是知識的動態(tài)增加。教師是Web知識系統(tǒng)的知識主要提供者,以教師的專業(yè)素質可以提供高水平高質量的知識到知識庫。然而教師的力量是有限的,擁有無限精力和靈動性的學生可以提供其擁有的新知識,為知識庫提供源源不斷的內容。學生的知識層次有限,從而可以使其提供的新知識先和原來的知識建立起松散的組織,這些知識經過多種形式的核準就可以進入知識體系,讓學生有比較大的成就感,其原理如圖1所示。為此要建立各個知識獲取的歷程,顯示知識增加的狀態(tài)和圍繞知識的討論,增加學生學習的浸入感,讓學生與知識為伍,打下堅實的基礎。學生和教師對系統(tǒng)的知識更新,可以大大提高基于Web知識系統(tǒng)的完整性和系統(tǒng)性。已經畢業(yè)的學生和IT行業(yè)的會員也基于該平臺進行知識學習和更新,同樣也可以提高知識庫積累的速度。
圖1 立體化Web知識平臺
知識是需要交流的。當前的在線和離線的軟件比較多,讓學生之間、師生之間實現(xiàn)良好的溝通。知識的交流需要相同的知識體系,需要相應的知識才可以,Web知識系統(tǒng)就是雙方交流的基礎,提高知識交流的效率。其實知識的交流過程,知識逐步顯現(xiàn)的過程也是知識,積累過程知識是本系統(tǒng)實現(xiàn)的重點,這也是知識構建的重要部分,為比較固定的知識提供一個動態(tài)化的過程。
2軟件設計基礎實踐體系
計算機專業(yè)知識的學習主要目的是為了實現(xiàn)軟件設計或程序設計,這個編程能力的培養(yǎng)是建立在大量的練習基礎上的?,F(xiàn)在各個高校的實踐教學的內容非常充分,綜合性實驗和設計性實驗開出率都是100%,然而畢業(yè)的學生不會編程,就業(yè)的時候不能融入到IT企業(yè)的開發(fā)流程中。從計算機專業(yè)實踐的教學規(guī)律來看,學生首先要按照各個課程進行專項型的實踐鍛煉,采用綜合性實驗連貫課程的知識,采用設計性實驗來提高學生的創(chuàng)新能力,目的是好的,但很少有學生能夠達到這樣的目標。學生進行課程實驗、課程實習的內容和管理模式變革已經成為必然。
采用Web模式對學生的課程實驗進行精細化管理,學生獨立完成自己的實驗程序設計,提高規(guī)范的實驗素材,由系統(tǒng)和教師聯(lián)合評判,給出學生評判,指出學生哪些方面不足,在Web實踐系統(tǒng)的幫助下,完成進一步的實驗練習,完善自己的不足。Web系統(tǒng)在學生做實驗室的時候能收集反應學生能力的各個方面的信息數(shù)據,也給教師有針對性的教育提供有力的幫助,也可以是Web實踐系統(tǒng)能夠在專家系統(tǒng)的幫助下給學生深入的練習,使學生在基本完成實驗的基礎上得到全面的鍛煉,基于Web基礎技能訓練平臺各個模塊之間的關系如圖2所示。課程設計也要采用相同的模式進行,每個學生都在不同實驗題目的規(guī)劃下進行各個步驟的程序分析和設計,采用規(guī)范的模式進行。這樣學生可以實現(xiàn)課程相關的實驗實踐鍛煉,但是這些僅僅是程序設計的基礎。
圖2 基于Web基礎技能訓練平臺
3立體化軟件設計實踐體系
學生的基礎實驗做得很好,然而當他們走向IT崗位時仍然不會編程的,這是因為學生沒有接觸到實際的程序設計需求。學生到IT企業(yè)的實習是一個非常好的方法,但是IT企業(yè)不能接收所有的計算機專業(yè)學生的實習,為此需要在高校的校內構建出軟件設計的需求分析,這個就需要一個Web軟件設計項目綜合訓練系統(tǒng)來實現(xiàn)管理,其各個組成部分如圖3所示。首先計算機專業(yè)的教師把自己的科研項目文檔化、規(guī)范化、教學化成為Web項目管理系統(tǒng)的基礎,完成基于Web軟件設計項目管理的基礎,驗證該系統(tǒng)的管理流程和管理精度。再此基礎上把軟件企業(yè)成熟的軟件開發(fā)項目,去掉知識產權部分和商業(yè)機密部分,添加到該系統(tǒng),這樣的方式是最接近實際的軟件開發(fā)需求?;ヂ?lián)網時代,開源項目已經成為推動軟件產業(yè)發(fā)展的一個重要動力,很多政府、企業(yè)單位采用開源的操作系統(tǒng)、應用服務器、開發(fā)工具、開源數(shù)據庫系統(tǒng)等等,為開源項目開發(fā)提供動力。網絡上成熟開源項目文檔化,也是Web系統(tǒng)的添加的一個重要組成部分。這三部分內容是已經開發(fā)過的,開發(fā)的流程是經過驗證的,是學生練習掌握軟件開發(fā)技巧的重要的方式。
學生在此Web系統(tǒng)幫助下的開發(fā)訓練要經過兩個階段。第一個階段是學生作為一個開發(fā)團隊的個體,按照Web系統(tǒng)分配的任務,在Web系統(tǒng)的監(jiān)督下、任務流程的管理下完成任務,Web系統(tǒng)進行評價,看學生在一個開發(fā)角色扮演時那些是合格的,重要的是還有那些能力仍然存在欠缺,給出一個彌補欠缺的訓練模式,給出后續(xù)的訓練內容,直到學生的不足得到補充。在這個系統(tǒng)的幫助下,學生可以得到不同角色的鍛煉,迅速掌握軟件開發(fā)所需要的各個技能和技巧,為學生的職業(yè)生涯奠定深厚的基礎。第二個階段是在Web系統(tǒng)給出的軟件開發(fā)任務自主組織一個開發(fā)團隊,由多位學生擔任項目開發(fā)的各個角色,獨立開發(fā)出項目。開發(fā)過程中教師可以給予一定的幫助,關鍵是學生按照自己的需求,在Web系統(tǒng)中獨立尋找問題的解決方法,也可以從互聯(lián)網上獲取幫助,學生要把出現(xiàn)的問題、問題解決的過程、問題解決的結果和收獲補充到實踐平臺中,有益增加項目開發(fā)知識。在這兩個階段的訓練下,學生基本得到解決實際問題的解決方法、軟件設計的策略、軟件設計的各個過程的鍛煉,具備了解決實際IT工程的基礎。這個時候學生具備了到IT企業(yè)實習的良好的條件,能夠迅速適應軟件開發(fā)的各個角色。
圖3基于Web的軟件設計項目管理平臺
學生都到IT企業(yè)實習,會給學校的教學工作帶來很大的沖擊,這些現(xiàn)象已經在各個高校中或多或少的反應。為此學校要建立一個完善的機制和平臺,為學生營造出一個實際軟件開發(fā)的環(huán)境。這里關鍵是項目的獲取,這個需要從多個方面獲取軟件開發(fā)的實際需求。首先是教師的科研需求,教師在前期的基礎研究做好之后,把任務提交給Web項目管理系統(tǒng),多個學生小組接到任務,進行分析,給出各自的設計,采用競標的形式由教師挑選出合適的學生團隊進行設計并完成軟件開發(fā)任務,模擬出實際的IT公司的生產周期。僅僅依靠教師的科研任務是不能滿足學生的軟件開發(fā)需求的,同時科研中很多任務都是偏重理論和算法的分析,對于本科生畢業(yè)是面臨社會的需求是不一樣的。學生參與互聯(lián)網的開源項目也是一個不錯的選擇,能夠鍛煉學生開發(fā)系統(tǒng)程序的能力,開源更加強調貢獻、更加強調原創(chuàng)性,對于學生的創(chuàng)新性鍛煉非常有好處,但是開源項目是有限的,同時需要高水平的程序員,對于學生的參與有些要求太高,不能鍛煉大范圍的學生技能。當今經濟社會的急速發(fā)展,強烈需要信息化帶動工業(yè)化的發(fā)展,軟件開發(fā)的需求遍地都是,學校要作為一個實體,為學生承接社會的需求,在教師的輔助下主動為社會開發(fā)出功能完善的程序,這些項目有大有小,可以加入到Web項目管理系統(tǒng),由系統(tǒng)來統(tǒng)一管理,組成一個個合適的開發(fā)隊伍為社會提供軟件產品,為了減少學校的責任,部分項目可以僅僅需要支付低廉的費用,甚至免費開發(fā),主要是為學生提供一個機會參與到實際項目開發(fā)過程中,項目來源可以是學生、教職工有關的企業(yè)、政府單位、各種組織,也可以是網絡上登記的各種需求,經過確認的形成的項目信息,在鍛煉隊伍的過程中為整個社會信息化的發(fā)展提供支持。
該系統(tǒng)同時也是學生創(chuàng)業(yè)的一個孵化器,積極鼓勵學生按照興趣成立開發(fā)小組、開發(fā)工作室,在Web項目平臺的支持下團隊協(xié)同工作共同開發(fā)項目,在實踐中鍛煉自己、提供自己的能力,也是學生就業(yè)后創(chuàng)業(yè)的基礎。Web項目系統(tǒng)的開發(fā)管理中有一定的收益,要鼓勵學生自己提出開發(fā)需求,開發(fā)出產品來,不是僅僅是做社會給予的成型的項目,這樣可以大大提高學生的創(chuàng)新熱情,開發(fā)出很多綠色軟件產品,形成自己的開源產品,形成自己的知識產權,為今后學生的科研發(fā)展提供基礎。
在項目訓練和開發(fā)中,學生需要Web項目管理平臺具有強大的知識庫、技能支持,為此Web項目管理系統(tǒng)是一個開放的系統(tǒng),學生、教職員工、IT行業(yè)會員都可以貢獻出自己的知識、技能等等,為該平臺的所有用戶共享。為此該平臺需要強大的已有項目完備資料管理系統(tǒng),能夠便捷得為用戶提供所需要的幫助,從借鑒中直接獲得問題解決的方法或提示。學生在項目開發(fā)的各個過程添加到Web項目管理庫,添加開源軟件庫,為學生的項目鍛煉打造一個強大的平臺。
4結束語
對計算機及其相關專業(yè)的軟件設計能力的提高已經成為當前各個高校要面對的迫切問題,解決該問題的關鍵是實踐應用能力的訓練,這些離不開課程實驗和項目訓練。雖然很多高校都采用了一些相應的辦法,但是管理機制的效率不高,學生訓練的效果不是很好。本文是在多年教研成果的基礎上總結出來的立體化軟件設計實踐模式,采用基于Web的管理平臺對軟件設計實踐流程進行了精細化的管理,使學生把計算機知識融會貫通,編程能力培養(yǎng)得到系統(tǒng)的訓練,能夠采用項目的形式進行綜合能力和創(chuàng)新能力的鍛煉,為IT行業(yè)培養(yǎng)出其所需要的人才。
參考文獻:
[1] 雷東升,鄭全英,張波.“C語言程序設計”立體化教學模式探索與實踐[J]. 計算機教育,2008(22):123-124.
[2] 劉發(fā)貴,劉文謙.計算機專業(yè)學生軟件項目管理的實踐方案[J]. 計算機教育,2007(22):91-93.
[3] 劉敏力. 高校開放式公共計算機實驗室的管理與實踐[J]. 實驗室科學,2006(3):71-72.
Research on the Three-Dimensional System of Software Design Practice
YAN Da-shun, SHI Yu-qiang, LIU Lei-an
(College of Computer Science and Engineering, Zhongkai University of Agriculture and Engineering,
Guangzhou 510225, China)
Abstract: With the economic and social development and increased competition in IT industry, software design capacity of computer specialty and related specialties students have become increasingly demanding. In this paper, knowledge system and base experiment are analyzed deeply, a three-dimensional practice system is built along with skills development law, students is systematically trained to improve their practical ability and sense of innovation.
Key words: software design; three-dimensional; practice; courses construction