張銳
[摘要]軟件工程實踐課程對學生專業(yè)技能要求較高,如軟件需求分析、軟件架構(gòu)設(shè)計、軟件升級維護等內(nèi)容,都直接關(guān)系學生未來能否勝任就業(yè)崗位,能否在工作中順利解決實際問題。基于此,文章從軟件工程實踐課程教學模式入手,就當前軟件工程教學中存在的問題提出改進和優(yōu)化方案,目的在于提升學生的計算機綜合實踐能力。
[關(guān)鍵詞]高職;軟件工程;實踐課程;應(yīng)用研究
[中圖分類號] G642[文獻標識碼] A
[文章編號] 1671-5918(2017)07-0107-02
doi:10.3969/j.issn.1671-5918.2017.07.050
[本刊網(wǎng)址] http://www.hbxb.net
一、引言
軟件工程實踐課程具有較強的理論性,而在專業(yè)技能上又表現(xiàn)出更高的操作性。從學科特色來看,軟件工程是計算機科學與技術(shù)專業(yè)的融合,其內(nèi)容圍繞軟件需求、系統(tǒng)分析、軟件設(shè)計、技術(shù)實踐等環(huán)節(jié),強調(diào)高素質(zhì)技能型人才的培養(yǎng)質(zhì)量。然而,傳統(tǒng)的軟件工程實踐課程教學效果并不理想,教學內(nèi)容往往單一、枯燥,學生的學習積極性受到抑制。如軟件開發(fā)中的數(shù)據(jù)流程無法提供應(yīng)用環(huán)節(jié),學生難以從中發(fā)現(xiàn)數(shù)據(jù)關(guān)聯(lián)性問題,導致執(zhí)行效率較低;在現(xiàn)代軟件開發(fā)環(huán)境下,難以滿足多層分布式架構(gòu)設(shè)計要求。
二、軟件工程實踐課程內(nèi)容的拓展
(一)軟件工程建模應(yīng)用設(shè)計
傳統(tǒng)教學中軟件工程實踐課程建模設(shè)計,主要采用數(shù)據(jù)流程圖方式,其優(yōu)勢在于從數(shù)據(jù)流程圖的繪制上展現(xiàn)軟件設(shè)計過程。
然而,在繪制軟件設(shè)計流程圖過程中,往往導致學生產(chǎn)生畏難心理。同時,由于對整個軟件需求、軟件功能分析不到位,導致數(shù)據(jù)來源不統(tǒng)一、數(shù)據(jù)需求不清晰、數(shù)據(jù)存儲出現(xiàn)異常、數(shù)據(jù)冗余度等問題,也在一定程度上影響了學生對知識和技能的掌握。所以,有必要改進軟件工程實踐課程的教學模式,有針對性地拓寬教學方案,特別是在流程圖設(shè)計分析上,需要從軟件工程分析、軟件數(shù)據(jù)分析、軟件功能分析等方面適當延伸和拓展。如在軟件功能分析上,需要借助于軟件數(shù)據(jù)流程圖進行頂層設(shè)計,抽象出各軟件功能子系統(tǒng)及相關(guān)單元的功能;在軟件數(shù)據(jù)分析上,需要區(qū)分軟件實體、屬性及關(guān)聯(lián)性,并對相關(guān)數(shù)據(jù)庫進行識別,引導學生理解和應(yīng)用不同的數(shù)據(jù)信息結(jié)構(gòu)建立E-R模型。
(二)軟件工程建模設(shè)計拓展
傳統(tǒng)建模設(shè)計主要從系統(tǒng)功能上確定不同的模塊,比較適宜面向過程的設(shè)計環(huán)境。但對于面向可視化、面向?qū)ο?、面向事件?qū)動下的程序設(shè)計環(huán)境,則顯得不相適宜。因此,需要從建模設(shè)計上進行擴展,保留原來軟件過程類模塊設(shè)計的主要內(nèi)容,圍繞軟件結(jié)構(gòu)、軟件數(shù)據(jù)、軟件界面等進行擴展。如在系統(tǒng)結(jié)構(gòu)設(shè)計上,可以采用集中式結(jié)構(gòu)、分布式結(jié)構(gòu),還可以采用集中-分布式結(jié)構(gòu);在確定軟件應(yīng)用模式上,可以采用B/S結(jié)構(gòu),也可以采用C/S結(jié)構(gòu);在確定數(shù)據(jù)設(shè)計上,可以采用邏輯數(shù)據(jù)集關(guān)系進行規(guī)范化處理,也可以采用物理數(shù)據(jù)集關(guān)系進行編碼和命名;在界面設(shè)計上,根據(jù)軟件功能及業(yè)務(wù)需求,來組織輸入、輸出,從而滿足不同軟件設(shè)計的開發(fā)需要。
三、軟件工程類課程實踐教學模式
軟件工程類課程實踐教學模式的重點,在于從教學內(nèi)容的組織與優(yōu)化上,聯(lián)系軟件工程設(shè)計實際,突出教學方法的創(chuàng)新性、實踐性、應(yīng)用性。根據(jù)軟件工程類課程特點,在改革實踐教學模式上,圍繞實踐教學綱要目標,融入多種實踐教學方法。如案例驅(qū)動教學法、任務(wù)驅(qū)動教學法、典型案例分析法等,逐漸深入、細化軟件工程理論知識與應(yīng)用的展開。
(一)進銷存C/S案例分析與應(yīng)用
C/S軟件結(jié)構(gòu)基于客戶、服務(wù)器關(guān)系,適用于業(yè)務(wù)流程復雜、對軟件響應(yīng)速度較高的軟件開發(fā)項目。在C/S結(jié)構(gòu)中,用戶根據(jù)角色權(quán)限來操作相應(yīng)功能模塊,并實現(xiàn)進貨、銷貨、庫存匯總及各類報表的輸出功能。
在數(shù)據(jù)庫設(shè)計上,要從軟件執(zhí)行效率、處理異常及滿足業(yè)務(wù)需求等方面,設(shè)計系統(tǒng)數(shù)據(jù)庫表、E-R圖和數(shù)據(jù)視圖。在數(shù)據(jù)庫表結(jié)構(gòu)設(shè)計中,根據(jù)不同數(shù)據(jù)字段項的使用特點,來優(yōu)化系統(tǒng)后臺數(shù)據(jù)庫結(jié)構(gòu)。如在SQL Server 2008數(shù)據(jù)庫中,可以定義員工名稱表、商品基本信息表、客戶基本信息表、倉庫部門信息表、進貨商品信息表、用戶權(quán)限表、退貨商品信息表、銷售商品信息表、庫存信息表等,以滿足進銷存管理系統(tǒng)設(shè)計中不同業(yè)務(wù)信息的統(tǒng)計與關(guān)聯(lián)。在數(shù)據(jù)庫視圖設(shè)計上,常用的有標準視圖、索引視圖、分區(qū)視圖三種,利用Select語句進行視圖檢索,確定入庫視圖v-GoodIn、v-ReGoods、v-UserSell、v-UserView基本視圖。針對C/S結(jié)構(gòu)中軟件表單編碼的設(shè)計,要從信息交換、處理、傳輸、共享等方面來優(yōu)化編碼規(guī)則。如在進貨商品基本信息格式上,以“系統(tǒng)當前日期+‘JH+7位數(shù)字編碼”為規(guī)則,來提升商品信息識別效率。
在系統(tǒng)觸發(fā)器設(shè)計上,要保證商品信息數(shù)量一致性。如在t-Goods觸發(fā)器設(shè)計上,對于某商品信息沒有歷史記錄者,則觸發(fā)入庫信息表tb-Stock;若該商品在庫存信息表中,則將該余量進行及時相加,保障庫存信息實時更新。
(二)進銷存B/S模型設(shè)計與應(yīng)用
B/S模式是基于多層應(yīng)用結(jié)構(gòu),將原來的表示層、業(yè)務(wù)邏輯層進行分離,便于開發(fā)人員提供簡潔的功能操作界面。下面以ASP·Net為例來探討軟件工程實踐教學。
ASP·Net三層應(yīng)用結(jié)構(gòu)中,第一層是用戶表示層USL,封裝了人機交互的表單與組件,滿足業(yè)務(wù)邏輯層與系統(tǒng)用戶之間的信息傳輸需要,并通過簡單的校驗后傳送給瀏覽器進行顯示。第二層是業(yè)務(wù)邏輯層BLL,主要是對不同應(yīng)用業(yè)務(wù)規(guī)則和邏輯的封裝,便于用戶通過業(yè)務(wù)邏輯層進行多種功能的調(diào)用,以及訪問數(shù)據(jù)庫等;第三層是數(shù)據(jù)訪問層DAL,通過與數(shù)據(jù)庫進行交互來獲取查詢記錄、插入、修改、刪除數(shù)據(jù)庫記錄等操作。
在B/S軟件工程模型中,數(shù)據(jù)訪問包括業(yè)務(wù)實體訪問和數(shù)據(jù)操作兩部分,業(yè)務(wù)實體是反映現(xiàn)實生活的各類業(yè)務(wù)數(shù)據(jù),而數(shù)據(jù)操作是基于對數(shù)據(jù)庫的檢索來完成的信息傳輸服務(wù)。
Model業(yè)務(wù)實體層主要存儲與業(yè)務(wù)實體相關(guān)的數(shù)據(jù)屬性值;DBUtility公共類主要是從Web.congfig配置信息庫中獲取類庫,滿足對數(shù)據(jù)庫相應(yīng)操作的訪問;DAL數(shù)據(jù)訪問層主要是記錄數(shù)據(jù)庫的表結(jié)構(gòu),滿足增刪、修改等功能;BLL業(yè)務(wù)邏輯層主要是滿足創(chuàng)建數(shù)據(jù)庫類,以及對數(shù)據(jù)庫進行訪問調(diào)用。
四、軟件工程實踐課程案例實施要點
軟件工程實踐課程在案例教學實踐中還要注意幾個問題。
一是對于典型案例的選擇與應(yīng)用,要貼近軟件工程實踐需求,特別是接近行業(yè)軟件開發(fā)現(xiàn)狀,體現(xiàn)案例的實踐性、應(yīng)用性。
二是在引入典型案例進行講授與實踐操作時,要注意多種教學方法的統(tǒng)合。如對于一些結(jié)構(gòu)化程序設(shè)計方法,可以選擇面向?qū)ο蟮木C合性案例,讓學生能夠從結(jié)構(gòu)化模型分析中,了解和認識不同功能模塊的設(shè)計要求和方法;還可以讓學生從項目討論中,自己動手來設(shè)計程序,激發(fā)學生的創(chuàng)新意識和探索精神。
三是要優(yōu)化典型案例的教學方案,不同案例的導入要與教學目標相適應(yīng)。要讓學生從案例實踐中,明確為什么這樣設(shè)計,懂得為什么要撰寫不同的設(shè)計任務(wù),根據(jù)軟件工程生命周期來細化程序設(shè)計要求,解決什么樣的問題,具備什么樣的功能等,多從程序設(shè)計案例分析上加深理解。
四是案例分析要融入師生互動與參與,特別是通過對程序設(shè)計不同功能、不同環(huán)境的變化,如何從運行時效性上來優(yōu)化程序設(shè)計;通過分組探討等方式,來共同編寫執(zhí)行程序,來對各小組程序進行分析,讓學生參與提問與改進,從具體的程序設(shè)計開發(fā)中積累經(jīng)驗,增強學生的合作意識、團隊協(xié)作能力。
五是強調(diào)案例導入分析與總結(jié)歸納,特別是教師要鼓勵學生在案例分析中,對錯誤和不解進行歸納,來分析成因和問題所在,積極總結(jié)改進思路和方法,尊重學生的獨特見解,引領(lǐng)學生創(chuàng)新意識的培養(yǎng)。
另外,軟件工程類課程實踐教學具有特色性,不同教學內(nèi)容、不同課程在實踐應(yīng)用中還有差異。如對于當前流行的軟件開發(fā)語言及程序設(shè)計,NET與J2EE架構(gòu)具有相似性與差異性,在典型案例導入中,要結(jié)合企業(yè)需求、教學分析、學生實際來選擇,體現(xiàn)軟件工程類課程實踐教學的可操作性,滿足學生從案例分析到職場應(yīng)用的有效過渡。
五、結(jié)語
高職軟件工程實踐課程教學,是增強畢業(yè)生軟件應(yīng)用能力的必然選擇。面對人才市場需求的變化,應(yīng)該從軟件工程類課程實踐教學體系建設(shè)上,把握好“教”與“學”的關(guān)系,激發(fā)學生的軟件應(yīng)用熱情和主動性,著力以典型案例導入與具體程序設(shè)計任務(wù)驅(qū)動,鍛煉學生的動手能力、實踐能力、應(yīng)用能力、創(chuàng)新能力,真正為社會、為企業(yè)培養(yǎng)高素質(zhì)的軟件設(shè)計人才。
參考文獻:
[1]陳中育,呂振洪,葉榮華等.軟件工程專業(yè)課程建設(shè)的思考與實踐[J].計算機教育,2013(10):48-51.
[2]李凈,郭洪禹,紅春.程序開發(fā)類課程群框架下“數(shù)據(jù)結(jié)構(gòu)與算法分析”實踐教學研究[J].工業(yè)和信息化教育,2016(11):61-65.
[3]陸璐,張新紅.《JSP動態(tài)網(wǎng)站設(shè)計》項目化教學模式的研究與實施[J].鄭州鐵路職業(yè)技術(shù)學院學報,2016(1):63-65,68.
Research on Teaching Mode Optimization of Software Engineering Practical Course
ZHANG Rui
(Zhumadian Vocational and Technical College,Zhumadian Henan 463000,China)
Abstract: The demand of software engineering practical courses for students' professional skills is high, such as the contents of software requirement analysis, software architecture design, software development and maintenance, which is directly related whether students can be competent for future jobs. Based on this, from the teaching mode of software the course of engineering practice, this paper proposes the existing problems to improve and optimize the scheme, comprehensive occupation ability to enhance software engineering students.
Key words: higher vocational education; software engineering; practical course; applied research
(責任編輯:封麗萍)