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