杭婷婷 郭學(xué)俊
摘要:應(yīng)用型課程建設(shè)是應(yīng)用型高校轉(zhuǎn)型發(fā)展的一種必要手段。文章根據(jù)計(jì)算機(jī)專業(yè)人才的需求,從軟件工程應(yīng)用型課程建設(shè)的角度,分析當(dāng)前教學(xué)中存在的典型問題,對(duì)課程建設(shè)的具體方案與實(shí)踐措施進(jìn)行研究,以推進(jìn)高校對(duì)應(yīng)用型人才的培養(yǎng)。
關(guān)鍵詞:軟件工程;應(yīng)用型;課程建設(shè)
1.課程教學(xué)存在的問題
軟件工程是計(jì)算機(jī)科學(xué)與技術(shù)專業(yè)的核心專業(yè)課,教學(xué)內(nèi)容涉及軟件開發(fā)的方法論,教學(xué)重點(diǎn)是軟件開發(fā)的需求分析、系統(tǒng)設(shè)計(jì)、技術(shù)實(shí)踐等環(huán)節(jié)的方法與技術(shù)。在軟件工程應(yīng)用型課程教學(xué)中,傳統(tǒng)教學(xué)內(nèi)容不能與技術(shù)現(xiàn)狀或工程案例相結(jié)合,容易導(dǎo)致教學(xué)內(nèi)容枯燥、術(shù)語概念抽象、教學(xué)效果不理想。具體問題有:①在軟件分析建模中,傳統(tǒng)的數(shù)據(jù)流程圖不能提供很好的數(shù)據(jù)環(huán)境,無法引導(dǎo)學(xué)生利用數(shù)據(jù)關(guān)聯(lián)降低數(shù)據(jù)冗余,克服數(shù)據(jù)流的不足;②在軟件設(shè)計(jì)建模中,傳統(tǒng)的系統(tǒng)設(shè)計(jì)就是模塊設(shè)計(jì),不能滿足分布式多層架構(gòu)和開發(fā)環(huán)境的需求;③任何軟件工程的方法論都需要工具的支持,脫離工具只談方法會(huì)顯得枯燥乏味。
2.應(yīng)用型課程建設(shè)方案與實(shí)踐
2.1課程內(nèi)容組織
1)分析建模應(yīng)用型拓展。
傳統(tǒng)的分析建模采用數(shù)據(jù)流程圖的方法,數(shù)據(jù)流程圖的模型是數(shù)據(jù)流的模型,只有在需求清晰的情況下比較實(shí)用,但繪制數(shù)據(jù)流程圖容易讓學(xué)生產(chǎn)生畏難心理,導(dǎo)致其需要什么數(shù)據(jù)文件就創(chuàng)建什么數(shù)據(jù)文件,需要什么數(shù)據(jù)表格就創(chuàng)建什么數(shù)據(jù)表格。這種情況下,學(xué)生對(duì)于系統(tǒng)的數(shù)據(jù)需求不清晰,導(dǎo)致數(shù)據(jù)來源不唯一,并出現(xiàn)數(shù)據(jù)冗余、數(shù)據(jù)存儲(chǔ)異常等問題。
改進(jìn)后的分析建模應(yīng)用型拓展方案依然將數(shù)據(jù)流程圖作為軟件工程課程分析建模階段的主要內(nèi)容,但從功能分析和數(shù)據(jù)分析的角度對(duì)分析建模進(jìn)行相關(guān)拓展。功能分析是用數(shù)據(jù)流程圖的頂層圖形和第一層圖,抽象出子系統(tǒng)的劃分及其子系統(tǒng)功能單元的組成。數(shù)據(jù)分析是采用數(shù)據(jù)庫概念模型方法,區(qū)分實(shí)體、屬性以及實(shí)體之間的聯(lián)系,最終引導(dǎo)學(xué)生對(duì)基本信息類和聯(lián)系信息類的信息結(jié)構(gòu)建立系統(tǒng)所需的E-R模型。調(diào)整后的方案通俗易懂,非常適合應(yīng)用型教學(xué)方式。
2)設(shè)計(jì)建模應(yīng)用型擴(kuò)展。
傳統(tǒng)的設(shè)計(jì)建模就是要確定系統(tǒng)中每個(gè)程序是由哪些模塊組成的,這對(duì)于面向過程的開發(fā)環(huán)境是適合的,但對(duì)于面向?qū)ο蟮?、可視化的、基于事件?qū)動(dòng)的程序環(huán)境則需要進(jìn)行改進(jìn)。
改進(jìn)后的設(shè)計(jì)建模應(yīng)用型拓展方案依然保留模塊設(shè)計(jì)為軟件工程課程設(shè)計(jì)建模階段的主要內(nèi)容,但需要對(duì)設(shè)計(jì)建模的主要內(nèi)容進(jìn)行改進(jìn)和創(chuàng)新,圍繞結(jié)構(gòu)設(shè)計(jì)、數(shù)據(jù)設(shè)計(jì)、界面設(shè)計(jì)的內(nèi)容展開。系統(tǒng)結(jié)構(gòu)設(shè)計(jì)是從軟件體系結(jié)構(gòu)的角度,考慮采用集中式結(jié)構(gòu)、分布一集中式結(jié)構(gòu)、分布式結(jié)構(gòu)中的哪一種,從而確定系統(tǒng)采用C/S模式或者B/S模式。數(shù)據(jù)設(shè)計(jì)是根據(jù)數(shù)據(jù)集及其數(shù)據(jù)集聯(lián)系,從邏輯設(shè)計(jì)角度將數(shù)據(jù)的關(guān)系模式進(jìn)行規(guī)范化處理,從物理設(shè)計(jì)角度對(duì)數(shù)據(jù)的對(duì)象進(jìn)行命名和編碼。界面設(shè)計(jì)就是由界面組織業(yè)務(wù)功能的輸入、處理以及輸出,再為這些界面中的各種事件設(shè)置流程。調(diào)整后的方案可以同時(shí)適用于面向過程和面向?qū)ο蟮某绦蜷_發(fā)環(huán)境。
3)實(shí)現(xiàn)建模應(yīng)用型擴(kuò)展。
傳統(tǒng)的實(shí)現(xiàn)建模,就是將軟件設(shè)計(jì)的結(jié)構(gòu)、數(shù)據(jù)庫、開發(fā)環(huán)境下的功能界面以及相關(guān)事件翻譯成某種程序設(shè)計(jì)語言書寫的程序,這容易導(dǎo)致事件流程混亂,甚至出現(xiàn)重復(fù)操作的界面等問題。
改進(jìn)后的實(shí)現(xiàn)建模應(yīng)用型拓展方案,圍繞系統(tǒng)的總體實(shí)現(xiàn)、數(shù)據(jù)庫實(shí)現(xiàn)、界面及其功能實(shí)現(xiàn)3個(gè)層次展開,可以使學(xué)生學(xué)會(huì)應(yīng)用建模方法,變抽象為形象,具備分析建模、設(shè)計(jì)建模和實(shí)現(xiàn)建模的能力。
2.2教學(xué)方式改革
通過課程內(nèi)容的優(yōu)化,學(xué)生可以更好地掌握課程的重點(diǎn)與難點(diǎn),但在畢業(yè)設(shè)計(jì)和工程實(shí)踐中,學(xué)生往往需要對(duì)上述課程內(nèi)容進(jìn)行創(chuàng)新性、批判性的使用。根據(jù)筆者在近3年教學(xué)過程中積累的經(jīng)驗(yàn)和成果以及教學(xué)大綱規(guī)定的目標(biāo),可將案例驅(qū)動(dòng)法納入軟件工程的教學(xué)實(shí)踐中,采用自上而下、逐步細(xì)化的方法加以實(shí)施。
對(duì)于軟件工程課程的教學(xué)案例,可以依據(jù)結(jié)構(gòu)化方法和面向?qū)ο蠓椒ㄟx擇一些綜合案例,例如采用結(jié)構(gòu)化的方法來開發(fā)進(jìn)銷存管理系統(tǒng),研制出完整的結(jié)構(gòu)化分析模型、結(jié)構(gòu)化設(shè)計(jì)模型和結(jié)構(gòu)化實(shí)現(xiàn)模型。在案例教學(xué)中,教師扮演著設(shè)計(jì)者和激勵(lì)者的角色,鼓勵(lì)學(xué)生參與討論,并通過案例展示來提高學(xué)生的學(xué)習(xí)興趣和動(dòng)手能力,激發(fā)學(xué)生的探索精神。
2.2.1案例分析模型的實(shí)踐
對(duì)于進(jìn)銷存管理的分析模型,應(yīng)先確定系統(tǒng)的頂層數(shù)據(jù)流程圖。首先由倉庫管理員進(jìn)行靜態(tài)數(shù)據(jù)的預(yù)處理,按照倉庫號(hào)進(jìn)行數(shù)據(jù)基本整理;然后銷售人員再根據(jù)實(shí)際工作情況,進(jìn)行人庫和出庫的動(dòng)態(tài)數(shù)據(jù)管理;最后由庫管員對(duì)倉庫庫存量進(jìn)行匯總等處理,生成所需的統(tǒng)計(jì)數(shù)據(jù)。進(jìn)銷存管理系統(tǒng)的分析階段,主要圍繞功能分析和數(shù)據(jù)分析兩個(gè)模塊來工作。
(1)進(jìn)銷存系統(tǒng)的功能分析,是根據(jù)進(jìn)銷存系統(tǒng)的數(shù)據(jù)流程圖,反映出零件在入庫、出庫過程中的傳遞、存儲(chǔ)和處理,實(shí)現(xiàn)對(duì)倉庫庫存情況的快速管理。
(2)進(jìn)銷存系統(tǒng)的數(shù)據(jù)分析,要根據(jù)該系統(tǒng)中涉及的實(shí)體對(duì)象、對(duì)象的相關(guān)屬性以及實(shí)體之間的關(guān)系,設(shè)計(jì)出滿足需要的E-R圖,將數(shù)據(jù)分成靜態(tài)數(shù)據(jù)(職工數(shù)據(jù)、項(xiàng)目數(shù)據(jù)、供應(yīng)商數(shù)據(jù))、動(dòng)態(tài)數(shù)據(jù)(倉庫數(shù)據(jù)、零件數(shù)據(jù))以及內(nèi)部生成數(shù)據(jù)(庫存量)。
2.2.2案例設(shè)計(jì)模型的實(shí)踐
對(duì)于進(jìn)銷存管理的設(shè)計(jì)模型,首先應(yīng)確定系統(tǒng)建立在B/S模式下。隨著B/S結(jié)構(gòu)系統(tǒng)的開發(fā),工作人員主要涉及倉庫管理人員、銷售人員等。為了保證多部門工作人員使用,區(qū)分各自職責(zé),需要為使用系統(tǒng)的不同人員分配不同的操作權(quán)限。進(jìn)銷存管理系統(tǒng)的設(shè)計(jì)階段,主要圍繞數(shù)據(jù)設(shè)計(jì)和界面設(shè)計(jì)兩個(gè)模塊來工作。
1)數(shù)據(jù)設(shè)計(jì)。
進(jìn)銷存系統(tǒng)的數(shù)據(jù)設(shè)計(jì),應(yīng)考慮到該系統(tǒng)處理的主要關(guān)系模式是倉庫數(shù)據(jù)、零件數(shù)據(jù)、供應(yīng)商數(shù)據(jù)、項(xiàng)目數(shù)據(jù)、職工數(shù)據(jù)、部門數(shù)據(jù)6部分。
2)界面設(shè)計(jì)。
進(jìn)銷存系統(tǒng)的界面設(shè)計(jì)應(yīng)由職工管理界面、部門管理界面、入庫界面、出庫界面、盤庫界面以及基本數(shù)據(jù)界面等部分組成,系統(tǒng)所有的界面處理數(shù)據(jù)都存儲(chǔ)在進(jìn)銷存管理系統(tǒng)數(shù)據(jù)庫中。
2.2.3案例實(shí)現(xiàn)模型的實(shí)踐
進(jìn)銷存系統(tǒng)的實(shí)現(xiàn),用于管理倉庫零件的庫存,完成每月庫存數(shù)據(jù)的變更、計(jì)算、入庫、出庫、打印庫存明細(xì)表等工作。具體實(shí)現(xiàn)模型主要圍繞4個(gè)模塊:①基本信息模塊,該模塊是系統(tǒng)其他界面數(shù)據(jù)來源的基礎(chǔ),其中包括對(duì)職工基本信息、部門基本信息、供應(yīng)商信息、零件信息、項(xiàng)目信息的增加、刪除、查詢;②倉庫管理模塊,該模塊包括庫存的批量移庫、入庫、出庫等功能,自動(dòng)完成盤庫等操作,提供庫存數(shù)據(jù)的查詢、打?。虎劢y(tǒng)計(jì)查詢模塊,該模塊可以按照倉庫號(hào)、供應(yīng)商號(hào)、零件號(hào)、項(xiàng)目號(hào)等不同的查找需要,對(duì)倉庫中的信息進(jìn)行快速查找;④數(shù)據(jù)轉(zhuǎn)存模塊,這是為數(shù)據(jù)的安全性而設(shè)置的模塊,管理員可以實(shí)現(xiàn)對(duì)數(shù)據(jù)的維護(hù),包括數(shù)據(jù)備份恢復(fù)及刪除、某月份的歷史數(shù)據(jù)生成等。
為了更好地發(fā)揮案例教學(xué)法的重要作用,在軟件工程應(yīng)用型課程建設(shè)中應(yīng)注意以下方面:
(1)案例教學(xué)法與講授教學(xué)法相結(jié)合,使用不同的教學(xué)法,發(fā)揮最佳教學(xué)效果。
(2)在編寫案例的過程中,明確案例教學(xué)的目的;明確如何寫,根據(jù)教學(xué)內(nèi)容可以使用不同的軟件開發(fā)方法,如從面向結(jié)構(gòu)和面向?qū)ο髢蓚€(gè)角度來設(shè)計(jì)同一案例,讓學(xué)生在學(xué)習(xí)中區(qū)分,強(qiáng)化知識(shí)點(diǎn)理解;明確寫什么內(nèi)容,按照軟件工程生命周期各個(gè)階段的目標(biāo)和任務(wù)來撰寫案例;明確為誰寫,根據(jù)學(xué)生的理解能力和層次來撰寫案例;明確何時(shí)完成,在授課之前完成案例的預(yù)研。
(3)結(jié)合案例,設(shè)置討論環(huán)節(jié)讓學(xué)生參與,既要解答學(xué)生疑問,也不過多占用教學(xué)時(shí)間。在每個(gè)章節(jié)的教學(xué)活動(dòng)中,分組對(duì)案例進(jìn)行討論,將學(xué)生分成不同小組,并采用輪流制原則指派組長。各組適時(shí)討論后,由組長提出本組的觀點(diǎn)和看法,也可以對(duì)他組提出疑問和建議。這樣不僅能讓學(xué)生在教學(xué)中積累項(xiàng)目開發(fā)經(jīng)驗(yàn),同時(shí)也培養(yǎng)了他們的團(tuán)隊(duì)合作意識(shí)和組織協(xié)調(diào)能力。
(4)對(duì)案例進(jìn)行總結(jié)。一般由教師本人來完成,鼓勵(lì)學(xué)生指出其案例分析中的錯(cuò)誤與不足,最后教師進(jìn)行歸納總結(jié)。在總結(jié)的過程中,支持學(xué)生保留自己的獨(dú)到見解。
2.3其他方面建設(shè)
(1)教材的選擇。教材是教學(xué)思想、培養(yǎng)目標(biāo)、教學(xué)內(nèi)容和課程體系的載體,是高校課程改革得以實(shí)施的重要保證。軟件工程教材的選擇,應(yīng)結(jié)合目前市場(chǎng)上軟件應(yīng)用的新趨勢(shì),將包含.NET架構(gòu)、J2EE架構(gòu)等新技術(shù)的教材作為首選。同時(shí),在教學(xué)中引入實(shí)際應(yīng)用和工程案例,做到企業(yè)需要什么,教學(xué)就培養(yǎng)什么,提前完成企業(yè)的崗前培訓(xùn),讓學(xué)生具備軟件協(xié)同開發(fā)和組織管理的能力,實(shí)現(xiàn)從校園到職場(chǎng)的輕松過渡。
(2)考核方式亟待完善。傳統(tǒng)的考核方式局限于教材和課堂筆記,應(yīng)用型課程的考核過程中應(yīng)體現(xiàn)學(xué)生動(dòng)手能力、實(shí)踐能力、應(yīng)用能力和創(chuàng)新能力等。從考核方式上看,應(yīng)改變“期末一張卷定成績”的傳統(tǒng)做法,多類別加強(qiáng)過程性考核,強(qiáng)化學(xué)生課外學(xué)習(xí)。從考核主體上看,應(yīng)逐步推進(jìn)教考分離,邀請(qǐng)實(shí)習(xí)單位進(jìn)行質(zhì)量評(píng)價(jià),實(shí)現(xiàn)評(píng)價(jià)主體的多元化。
3.結(jié)語
應(yīng)用型人才培養(yǎng)是社會(huì)和經(jīng)濟(jì)發(fā)展的需求,也是我國高等教育迎接挑戰(zhàn)的必然選擇。軟件工程是軟件類技術(shù)人才必修的核心課程之一,對(duì)應(yīng)用型計(jì)算機(jī)人才的培養(yǎng)起著至關(guān)重要的作用。通過軟件工程應(yīng)用課程建設(shè),學(xué)生的主動(dòng)性和創(chuàng)造力有了很大提高,有利于教學(xué)互助、教學(xué)互動(dòng)、教學(xué)互進(jìn)的良性循環(huán)。應(yīng)用課程建設(shè)提供了新型的教學(xué)模式,但還需要在教學(xué)實(shí)踐中不斷地探索和創(chuàng)新,以培養(yǎng)出更高質(zhì)量的計(jì)算機(jī)專業(yè)應(yīng)用型人才。