公務(wù)員期刊網(wǎng) 論文中心 正文

軟件工程專業(yè)實(shí)踐教學(xué)研究

前言:想要寫出一篇引人入勝的文章?我們特意為您整理了軟件工程專業(yè)實(shí)踐教學(xué)研究范文,希望能給你帶來靈感和參考,敬請閱讀。

軟件工程專業(yè)實(shí)踐教學(xué)研究

0引言隨著現(xiàn)代社會(huì)的進(jìn)步和各種移動(dòng)終端設(shè)備的使用,當(dāng)前市場對(duì)大數(shù)據(jù)處理和移動(dòng)技術(shù)支持方面的人才提出了新的要求。一些大型軟件企業(yè)正在實(shí)施大數(shù)據(jù)處理的軟件項(xiàng)目及對(duì)相應(yīng)軟件產(chǎn)品移動(dòng)需求的支持,如淘寶、百度等。高校軟件工程專業(yè)作為與軟件行業(yè)關(guān)系最為密切的專業(yè),為使本專業(yè)畢業(yè)生具備更好的大數(shù)據(jù)處理和移動(dòng)開發(fā)能力,更適應(yīng)軟件行業(yè)的需求,應(yīng)該以新的行業(yè)需求為導(dǎo)向,開展有針對(duì)性的相關(guān)軟件開發(fā)實(shí)踐。目前,軟件工程專業(yè)實(shí)踐教學(xué)主要以工程化項(xiàng)目進(jìn)行驅(qū)動(dòng)。文獻(xiàn)[1]提出以項(xiàng)目實(shí)踐為中心的軟件工程課程教學(xué)大綱的制定以及項(xiàng)目實(shí)踐教學(xué)方法、教學(xué)內(nèi)容和要求,全面提高計(jì)算機(jī)專業(yè)學(xué)生的工程化能力。文獻(xiàn)[2]提出理論與項(xiàng)目實(shí)踐結(jié)合的案例教學(xué)方法,即通過設(shè)計(jì)適合學(xué)生的項(xiàng)目課題,讓學(xué)生在項(xiàng)目中應(yīng)用所學(xué)的理論和技術(shù),從而更牢固地掌握知識(shí)。文獻(xiàn)[3]提出以開發(fā)工程項(xiàng)目為主線開展軟件工程專業(yè)課程設(shè)計(jì)實(shí)踐教學(xué)的方法。文獻(xiàn)[4]提出統(tǒng)一實(shí)踐課程的課程群建設(shè)思路,根據(jù)具體案例詳細(xì)闡述整合實(shí)踐課程的實(shí)施方案。這些項(xiàng)目實(shí)施方法在一定程度上增強(qiáng)了學(xué)生的動(dòng)手實(shí)踐能力,在培養(yǎng)學(xué)生的開發(fā)能力上取得了一定的效果,但仍然存在一些問題,如項(xiàng)目的設(shè)置比較簡單、項(xiàng)目要求與企業(yè)需求有較大差距、項(xiàng)目開發(fā)過程缺乏有效的過程管理等。這些問題的存在使得軟件工程專業(yè)學(xué)生的專業(yè)素質(zhì)和能力不能完全滿足軟件行業(yè)的現(xiàn)實(shí)需求。

1教學(xué)中的問題

1.1項(xiàng)目的設(shè)置不夠深入,同質(zhì)化現(xiàn)象嚴(yán)重

不同教學(xué)階段設(shè)置的配套項(xiàng)目要求大致相似,即按照軟件工程的7層瀑布模型開發(fā)管理信息系統(tǒng)。系統(tǒng)主要的功能是用戶將數(shù)據(jù)插入數(shù)據(jù)庫、簡單處理數(shù)據(jù)、顯示數(shù)據(jù)至界面,這些功能要求具有較強(qiáng)的同質(zhì)性。

1.2項(xiàng)目的規(guī)模和難度較小,與企業(yè)項(xiàng)目有較大差距

以往教學(xué)用項(xiàng)目一般要求學(xué)生開發(fā)如注冊、登錄等簡單模塊,涉及的功能規(guī)模較小,體現(xiàn)不出軟件工程化的特征,特別是軟件功能幾乎不涉及大量數(shù)據(jù)有效存儲(chǔ)和處理的問題,項(xiàng)目難度較小,與現(xiàn)實(shí)需求脫節(jié)。隨著大數(shù)據(jù)時(shí)代的到來,軟件系統(tǒng)需要處理的數(shù)據(jù)量越來越大,如果項(xiàng)目不體現(xiàn)大數(shù)據(jù)量、數(shù)據(jù)的有效存儲(chǔ)及復(fù)雜處理過程,則項(xiàng)目不能反映市場特點(diǎn);而且,如果軟件項(xiàng)目的實(shí)施不支持移動(dòng)技術(shù),那么也無法適應(yīng)日益增長的移動(dòng)用戶群體需求。

1.3項(xiàng)目的開發(fā)以個(gè)人為主,缺少團(tuán)隊(duì)開發(fā)的環(huán)節(jié)

以往教學(xué)過程中的項(xiàng)目開發(fā)大多由學(xué)生個(gè)體獨(dú)立完成,極少由學(xué)生團(tuán)隊(duì)完成。當(dāng)前的工程化軟件一般規(guī)模較大,必須組建開發(fā)團(tuán)隊(duì)來完成。團(tuán)隊(duì)開發(fā)項(xiàng)目會(huì)使項(xiàng)目開發(fā)的本質(zhì)發(fā)生改變,這不僅指團(tuán)隊(duì)有多個(gè)成員,更重要的是團(tuán)隊(duì)成員的分工以及成員之間的溝通與協(xié)同能力,涉及人員配置、共同策劃、協(xié)作完成、進(jìn)度控制等項(xiàng)目管理中各個(gè)環(huán)節(jié),這是進(jìn)行大型軟件項(xiàng)目開發(fā)必需的技能和經(jīng)驗(yàn)。

2企業(yè)項(xiàng)目驅(qū)動(dòng)教學(xué)改革措施

項(xiàng)目的實(shí)踐必須本著循序漸進(jìn)的原則,按照教學(xué)大綱的要求進(jìn)行專業(yè)基礎(chǔ)知識(shí)的教學(xué)和實(shí)踐,而在重要實(shí)踐環(huán)節(jié)引入企業(yè)項(xiàng)目,引導(dǎo)學(xué)生按照企業(yè)的要求進(jìn)行軟件項(xiàng)目的開發(fā)實(shí)踐,從而培養(yǎng)出滿足企業(yè)崗位需求的合格人才。教師通過市場調(diào)查及與合作企業(yè)的交流,掌握企業(yè)項(xiàng)目的需求,可選擇具有海量數(shù)據(jù)存儲(chǔ)、處理、移動(dòng)開發(fā)等功能的企業(yè)項(xiàng)目作為實(shí)踐項(xiàng)目。當(dāng)項(xiàng)目確定后,為每個(gè)項(xiàng)目形成需求文檔,方便隨時(shí)啟動(dòng)項(xiàng)目。

2.1項(xiàng)目設(shè)置逐步深入,消除同質(zhì)化

項(xiàng)目實(shí)踐從本科一年級(jí)或二年級(jí)開始起步,這個(gè)階段的學(xué)生只掌握了基礎(chǔ)知識(shí),項(xiàng)目實(shí)踐更注重于程序邏輯的編寫。項(xiàng)目規(guī)模相對(duì)較小,但強(qiáng)調(diào)程序邏輯。本階段可以設(shè)置一些邏輯性、趣味性強(qiáng)的游戲程序開發(fā)項(xiàng)目,以激發(fā)學(xué)生的學(xué)習(xí)興趣,促進(jìn)學(xué)生掌握項(xiàng)目開發(fā)必需的基礎(chǔ)知識(shí),如基于Android系統(tǒng)的手機(jī)游戲開發(fā)。在本科二年級(jí)第2學(xué)期到三年級(jí)第1學(xué)期的項(xiàng)目實(shí)踐中期,學(xué)生已經(jīng)具備一定的軟件開發(fā)能力,能夠從事數(shù)據(jù)庫的設(shè)計(jì)和操作、Web項(xiàng)目開發(fā),可以進(jìn)行相對(duì)大型項(xiàng)目的項(xiàng)目開發(fā)。本階段可以設(shè)置網(wǎng)絡(luò)流量分析系統(tǒng)的開發(fā)項(xiàng)目,該系統(tǒng)用于監(jiān)控交換機(jī)、路由器、IP網(wǎng)絡(luò)在指定時(shí)間內(nèi)的Netflow數(shù)據(jù)流,通過統(tǒng)計(jì)分析這些流量數(shù)據(jù)可以查看不同應(yīng)用軟件的流量信息,如QQ、電子郵件、FTP應(yīng)用占用網(wǎng)絡(luò)帶寬的情況等。系統(tǒng)運(yùn)行的過程中需要不停采集設(shè)備、網(wǎng)絡(luò)的流量數(shù)據(jù)報(bào),因此需要存儲(chǔ)和處理海量數(shù)據(jù)。該項(xiàng)目的實(shí)踐對(duì)鍛煉學(xué)生的處理海量數(shù)據(jù)存儲(chǔ)、檢索等技能有積極作用。在本科三年級(jí)第2學(xué)期到四年級(jí)第1學(xué)期的項(xiàng)目實(shí)踐后期,學(xué)生已經(jīng)具備一定的大數(shù)據(jù)量問題處理能力并學(xué)會(huì)企業(yè)開發(fā)技術(shù),此時(shí)配置數(shù)據(jù)量大、復(fù)雜的實(shí)際企業(yè)項(xiàng)目,可以進(jìn)一步提高學(xué)生的開發(fā)能力和積累項(xiàng)目經(jīng)驗(yàn),為畢業(yè)和就業(yè)奠定基礎(chǔ)。本階段設(shè)置的實(shí)踐項(xiàng)目為網(wǎng)絡(luò)輿情分析系統(tǒng)。該系統(tǒng)通過主動(dòng)采集主要網(wǎng)絡(luò)媒體(如新浪、鳳凰、搜狐等)信息,獲取當(dāng)前網(wǎng)絡(luò)輿論情報(bào)并將關(guān)注的輿論熱點(diǎn)通過曲線圖、餅圖、熱點(diǎn)地圖等統(tǒng)計(jì)圖表加以顯示,使用戶能夠直觀地掌握所關(guān)注的網(wǎng)絡(luò)輿情。該系統(tǒng)可以應(yīng)用于政府部門,也可以應(yīng)用于商業(yè)領(lǐng)域,如汽車廠商可以通過本系統(tǒng)了解自己產(chǎn)品的問題(如大眾汽車斷軸、DSG問題所引發(fā)的網(wǎng)絡(luò)輿情熱點(diǎn))并采取相應(yīng)的解決方案。上述3個(gè)階段項(xiàng)目側(cè)重點(diǎn)不同,項(xiàng)目難度逐層深入,有利于逐步提升學(xué)生的實(shí)踐能力,縮小學(xué)生能力與企業(yè)用人需求之間的差距。

2.2以企業(yè)項(xiàng)目要求實(shí)施項(xiàng)目

1)起步階段項(xiàng)目。實(shí)踐項(xiàng)目開發(fā)需要軟件開發(fā)人員具有良好的面向?qū)ο蠓治?、編程的能力,能夠熟練掌握集合的使用,了解圖形界面編程,掌握多線程程序設(shè)計(jì)和文件操作,特別是具有一定的基于Android的移動(dòng)開發(fā)經(jīng)驗(yàn)。本階段項(xiàng)目是基于Android的手機(jī)游戲開發(fā),項(xiàng)目所需的知識(shí)體系如下:①面向?qū)ο缶幊蹋瑢?duì)游戲中所有對(duì)象進(jìn)行分析、抽象,形成抽象類、接口、具體類以及類與類之間的關(guān)系;②集合與常用算法,對(duì)象的存儲(chǔ)涉及集合以及相關(guān)算法,如遍歷、排序、查找等;③圖形界面編程,游戲?qū)ο笮枰詧D形界面編程來展示;④多線程編程,不同的游戲?qū)ο笥胁煌男袨?,需要利用多線程處理;⑤文件操作,游戲?qū)ο笮枰虞d文件中的信息形成游戲場景等;⑥移動(dòng)開發(fā),將游戲遷移至Android平臺(tái),使游戲軟件能夠?yàn)槭謾C(jī)用戶所使用。游戲開發(fā)能夠提升學(xué)生開發(fā)軟件的興趣,有利于學(xué)生系統(tǒng)、深入地掌握軟件開發(fā)必要的知識(shí),為后續(xù)的學(xué)習(xí)和開發(fā)打下良好的基礎(chǔ),特別是通過將游戲移植到Android平臺(tái)可以初步掌握移動(dòng)開發(fā)的基本知識(shí),為后續(xù)的移動(dòng)開發(fā)打下必要的基礎(chǔ)。

2)中級(jí)階段項(xiàng)目。實(shí)踐項(xiàng)目開發(fā)需要具備良好的JSP/Servlet、數(shù)據(jù)庫設(shè)計(jì)與實(shí)現(xiàn)、數(shù)據(jù)處理以及相關(guān)行業(yè)開發(fā)經(jīng)驗(yàn)。網(wǎng)絡(luò)流量分析系統(tǒng)是一個(gè)網(wǎng)絡(luò)管理行業(yè)的工具軟件,需要對(duì)行業(yè)需求有所了解,重要的是軟件開發(fā)人員需要學(xué)會(huì)抓取和解析Netflow協(xié)議報(bào)文、存儲(chǔ)并處理海量數(shù)據(jù),因此項(xiàng)目具有較大的難度。該項(xiàng)目的知識(shí)點(diǎn)主要包括以下方面:①Web開發(fā)技術(shù),掌握J(rèn)SP/Servlet開發(fā)技術(shù),能夠進(jìn)行Web應(yīng)用編程;②數(shù)據(jù)庫技術(shù),掌握主流的數(shù)據(jù)庫產(chǎn)品如Oracle、MySQL等,熟練進(jìn)行系統(tǒng)分析和數(shù)據(jù)庫設(shè)計(jì),熟練使用編程語言進(jìn)行數(shù)據(jù)庫的訪問;③Netflow協(xié)議,理解Netflow協(xié)議,掌握協(xié)議中每個(gè)字段的意義;④數(shù)據(jù)抓取與解析,學(xué)會(huì)使用模擬設(shè)備發(fā)Netflow數(shù)據(jù)報(bào)的方法并通過編程抓取數(shù)據(jù)報(bào),根據(jù)Netflow協(xié)議格式解析數(shù)據(jù)報(bào),將每個(gè)字段的內(nèi)容插入數(shù)據(jù)庫;⑤海量數(shù)據(jù)處理,系統(tǒng)時(shí)刻抓取設(shè)備和IP組的數(shù)據(jù)報(bào),因此需要存儲(chǔ)的數(shù)據(jù)量非常龐大,考慮到系統(tǒng)對(duì)查詢的要求較高,因而海量的數(shù)據(jù)需要按時(shí)間規(guī)則自動(dòng)建立表格,每條流量數(shù)據(jù)根據(jù)其時(shí)間戳確定要插入的表格;⑥數(shù)據(jù)處理,將信息按設(shè)備、IP組進(jìn)行統(tǒng)計(jì)處理并以圖形加以顯示,使用戶能夠直觀地掌握網(wǎng)絡(luò)流量情況。項(xiàng)目的實(shí)施涉及數(shù)據(jù)報(bào)的抓取、解析以及海量數(shù)據(jù)存儲(chǔ)與處理等問題,項(xiàng)目難度接近企業(yè)真實(shí)項(xiàng)目,有利于迅速提高學(xué)生的實(shí)踐能力。

3)高級(jí)階段項(xiàng)目。該階段項(xiàng)目為網(wǎng)絡(luò)輿情分析系統(tǒng),以大數(shù)據(jù)、移動(dòng)開發(fā)為出發(fā)點(diǎn)而設(shè)計(jì),是真實(shí)的企業(yè)項(xiàng)目,貼合企業(yè)需求。項(xiàng)目的主要技術(shù)點(diǎn)有以下方面:①行業(yè)項(xiàng)目需求分析,分析項(xiàng)目的功能、運(yùn)行環(huán)境、適用行業(yè)等;②數(shù)據(jù)來源,項(xiàng)目所涉及的數(shù)據(jù)主要來自網(wǎng)絡(luò),如新浪、搜狐、鳳凰等主流媒體網(wǎng)站,項(xiàng)目需要從這些網(wǎng)站上抓取輿論數(shù)據(jù),進(jìn)行輿情分析;③數(shù)據(jù)抓取技術(shù),需要利用網(wǎng)絡(luò)蜘蛛等工具進(jìn)行網(wǎng)絡(luò)數(shù)據(jù)抓取并使用內(nèi)存數(shù)據(jù)庫提高數(shù)據(jù)插入的效率;④數(shù)據(jù)存儲(chǔ),主流媒體的海量數(shù)據(jù)用一個(gè)數(shù)據(jù)表難以有效地存儲(chǔ)和檢索,因此需要按時(shí)間段來分表存放,這樣才能夠?yàn)閿?shù)據(jù)表格建立索引,方便用戶進(jìn)行高效查詢;⑤數(shù)據(jù)分析,對(duì)海量數(shù)據(jù)進(jìn)行檢索和分析,形成對(duì)用戶有用的統(tǒng)計(jì)信息;⑥權(quán)限管理,通過系統(tǒng)授予/撤銷權(quán)限等操作限制用戶的行為;⑦移動(dòng)支持,系統(tǒng)能夠支持輿情關(guān)注人員在任意時(shí)刻、任何地點(diǎn)通過Android平臺(tái)進(jìn)行訪問。

2.3以團(tuán)隊(duì)為基礎(chǔ)實(shí)施項(xiàng)目的開發(fā)

隨著軟件規(guī)模的增加,軟件的復(fù)雜性也隨之增加,因此工程化軟件開發(fā)方式是以團(tuán)隊(duì)開發(fā)為基礎(chǔ)。團(tuán)隊(duì)開發(fā)涉及項(xiàng)目功能分割、團(tuán)隊(duì)成員協(xié)作、人員調(diào)配、進(jìn)度控制等具體要求,是一種過程比較復(fù)雜、難度較大的開發(fā)方式,因此學(xué)生需要進(jìn)行適當(dāng)?shù)呐嘤?xùn)和訓(xùn)練才能成功地實(shí)施大型項(xiàng)目。團(tuán)隊(duì)開發(fā)訓(xùn)練包括如下幾個(gè)部分:①團(tuán)隊(duì)的組建,團(tuán)隊(duì)成員之間要相互了解、相互信任,能夠?yàn)橥瓿赏荒繕?biāo)而通力協(xié)作;②團(tuán)隊(duì)協(xié)作,多個(gè)成員共同完成一個(gè)軟件項(xiàng)目需要使用合適的源代碼管理服務(wù)器,團(tuán)隊(duì)成員通過客戶機(jī)共享服務(wù)器中的資源進(jìn)行開發(fā),由于多人同時(shí)修改源代碼,可能造成不同成員的修改發(fā)生沖突,團(tuán)隊(duì)開發(fā)人員要制訂和熟練掌握團(tuán)隊(duì)開發(fā)規(guī)則,如遵循修改的操作順序、應(yīng)用多配置文件等,以避免編程過程發(fā)生沖突;③任務(wù)分割,團(tuán)隊(duì)成員在項(xiàng)目負(fù)責(zé)人的領(lǐng)導(dǎo)下進(jìn)行充分的交流,將項(xiàng)目劃分為多個(gè)可同時(shí)進(jìn)行的子任務(wù),團(tuán)隊(duì)各成員負(fù)責(zé)若干部分進(jìn)行并行開發(fā);④進(jìn)度控制與人員調(diào)配,項(xiàng)目成員每天提交進(jìn)度報(bào)告給項(xiàng)目負(fù)責(zé)人,項(xiàng)目負(fù)責(zé)人根據(jù)報(bào)告掌握項(xiàng)目進(jìn)度并根據(jù)項(xiàng)目進(jìn)度情況進(jìn)行適當(dāng)?shù)娜藛T調(diào)配,使項(xiàng)目能夠順利進(jìn)行。網(wǎng)絡(luò)流量分析系統(tǒng)和網(wǎng)絡(luò)輿情分析系統(tǒng),項(xiàng)目規(guī)模較大、難度較高,需要進(jìn)行團(tuán)隊(duì)開發(fā)。其中,網(wǎng)絡(luò)流量分析系統(tǒng)工作量相對(duì)稍小,可以組建3人的團(tuán)隊(duì)進(jìn)行開發(fā);而網(wǎng)絡(luò)輿情分析系統(tǒng)復(fù)雜程度較高,需要進(jìn)行Web版本的開發(fā)和Android版本的開發(fā),需要組建至少5人以上的開發(fā)團(tuán)隊(duì)。通過團(tuán)隊(duì)方式開發(fā)企業(yè)項(xiàng)目可以提高學(xué)生的項(xiàng)目領(lǐng)導(dǎo)能力和項(xiàng)目管理能力,進(jìn)一步提高學(xué)生的專業(yè)素質(zhì)。

3結(jié)語

為了保證項(xiàng)目的質(zhì)量,不同階段的項(xiàng)目側(cè)重點(diǎn)不同,降低了項(xiàng)目的同質(zhì)性,而且項(xiàng)目的需求規(guī)模較大,滿足了行業(yè)軟件的需求,特別是海量數(shù)據(jù)處理和移動(dòng)開發(fā)的引入縮小了與企業(yè)項(xiàng)目之間的差距;同時(shí),通過團(tuán)隊(duì)開發(fā)訓(xùn)練,學(xué)生具備了項(xiàng)目領(lǐng)導(dǎo)、項(xiàng)目管理、團(tuán)隊(duì)開發(fā)的基本能力,掌握了企業(yè)需要的團(tuán)隊(duì)開發(fā)技能,所具備的專業(yè)素質(zhì)更符合企業(yè)的崗位需求,增強(qiáng)了就業(yè)能力。

作者:鄧澤林 單位:長沙理工大學(xué)

相關(guān)熱門標(biāo)簽