康瑞華
摘要:本章根據(jù)我校計(jì)算機(jī)學(xué)院軟件工程課程設(shè)計(jì)教學(xué)的現(xiàn)狀和學(xué)生情況,從軟件工程課程設(shè)計(jì)的教學(xué)目標(biāo)與要求、設(shè)計(jì)內(nèi)容與具體實(shí)施方案、學(xué)生成績(jī)?cè)u(píng)價(jià)體系等方面,結(jié)合教學(xué)經(jīng)驗(yàn)對(duì)軟件工程課程設(shè)計(jì)實(shí)施模式做了系統(tǒng)的研究與分析。
關(guān)鍵詞:軟件工程;課程設(shè)計(jì)模式;研究
中圖分類號(hào):G642.0 文獻(xiàn)標(biāo)志碼:A 文章編號(hào):1674-9324(2019)34-0175-02
一、引言
軟件工程課程是培養(yǎng)學(xué)生具有計(jì)算機(jī)軟件項(xiàng)目的分析和設(shè)計(jì)能力的核心課程。課程設(shè)計(jì)則是軟件工程課程的一個(gè)重要教學(xué)環(huán)節(jié),是對(duì)學(xué)生進(jìn)行計(jì)算機(jī)軟件項(xiàng)目的訓(xùn)練。通過課程設(shè)計(jì)的實(shí)施,使學(xué)生能夠綜合運(yùn)用軟件工程課程的理論和實(shí)踐知識(shí),分析和解決計(jì)算機(jī)工程的復(fù)雜實(shí)際問題,并運(yùn)用所學(xué)知識(shí)熟練掌握軟件方法;使學(xué)生得到實(shí)際項(xiàng)目的過程化訓(xùn)練,并具有對(duì)復(fù)雜工程問題的分析、設(shè)計(jì)和實(shí)現(xiàn)的能力;使學(xué)生掌握結(jié)構(gòu)化、面向?qū)ο蟮能浖椒?,并能?yīng)用計(jì)算機(jī)輔助工具對(duì)較復(fù)雜的問題進(jìn)行分析和設(shè)計(jì);培養(yǎng)學(xué)生具有能使用網(wǎng)絡(luò)工具及信息技術(shù)工具,查詢并分析解決設(shè)計(jì)過程中所需的相關(guān)研究資料的能力。
二、課程整體規(guī)劃
軟件工程課程設(shè)計(jì)教學(xué)安排2周,由學(xué)生組隊(duì),通過小型項(xiàng)目實(shí)踐軟件的整個(gè)生命周期。本課程實(shí)踐結(jié)合軟件工程課程教學(xué),主要目標(biāo)如下:(1)通過本課程設(shè)計(jì)的實(shí)踐及其前后的準(zhǔn)備,總結(jié)、復(fù)習(xí)、領(lǐng)會(huì)、鞏固運(yùn)用軟件工程課堂上所學(xué)的軟件開發(fā)方法和知識(shí)。(2)為學(xué)生適應(yīng)畢業(yè)后團(tuán)隊(duì)合作開發(fā)規(guī)模稍大項(xiàng)目和綜合應(yīng)用本專業(yè)所學(xué)的多門課程知識(shí)(如軟件工程、程序設(shè)計(jì)語(yǔ)言、數(shù)據(jù)結(jié)構(gòu)、操作系統(tǒng)、數(shù)據(jù)庫(kù)、網(wǎng)絡(luò)編程等)創(chuàng)造實(shí)踐機(jī)會(huì)。(3)使學(xué)生通過參加小組團(tuán)隊(duì)的開發(fā)實(shí)踐,了解項(xiàng)目管理、團(tuán)隊(duì)合作、文檔編寫、口頭與書面表達(dá)的重要性。通過“稍大的”富有挑戰(zhàn)性的軟件實(shí)驗(yàn)項(xiàng)目開發(fā)實(shí)踐,為學(xué)生提供主動(dòng)學(xué)習(xí)、深入實(shí)踐、積極探索與大膽創(chuàng)新的機(jī)會(huì)。(4)通過課程設(shè)計(jì)實(shí)踐,提高學(xué)生的自學(xué)能力、書面與口頭表達(dá)能力、創(chuàng)造能力、軟件把控能力和與團(tuán)隊(duì)其他成員交往和協(xié)作開發(fā)軟件的能力,提高學(xué)生今后參與開發(fā)稍大規(guī)模實(shí)際軟件項(xiàng)目和探索未知領(lǐng)域的能力和自信心。(5)使學(xué)生了解軟件工具與環(huán)境對(duì)于項(xiàng)目開發(fā)的重要性,并且重點(diǎn)深入掌握一兩種較新或較流行的軟件工具或計(jì)算機(jī)應(yīng)用技術(shù)和技能(如基于Java(ASP、PHP等)技術(shù)的Web編程,軟件開發(fā)文檔編制工具Office、Visio、Rose等,數(shù)據(jù)庫(kù)SQL Server或Oracle、MySql等)。
具體的課程安排規(guī)劃見下表:
三、引導(dǎo)式的項(xiàng)目實(shí)施
(一)教學(xué)任務(wù)設(shè)計(jì)
由于軟件工程課程開設(shè)在大二,學(xué)生基本上學(xué)習(xí)了數(shù)據(jù)庫(kù)原理與應(yīng)用、java等課程,有了一點(diǎn)編程經(jīng)驗(yàn)和系統(tǒng)概念。本課程設(shè)計(jì)把幾門相關(guān)課程結(jié)合起來,尋求切合點(diǎn)。采用案例引導(dǎo)式的教學(xué)理念的實(shí)施步驟如下:(1)學(xué)習(xí)課程設(shè)計(jì)指導(dǎo)書和分組。學(xué)習(xí)研究課程設(shè)計(jì)指導(dǎo)書,進(jìn)行分組(根據(jù)個(gè)人志趣自愿結(jié)合3—5人一組),并且明確每個(gè)學(xué)生在開發(fā)小組中扮演的角色及承擔(dān)的職責(zé)(包括選出組長(zhǎng))。(2)確定目標(biāo)、初步方案,準(zhǔn)備、試用開發(fā)環(huán)境與工具;每個(gè)小組確定開發(fā)目標(biāo)及初步方案;選擇、準(zhǔn)備、試用開發(fā)平臺(tái)及數(shù)據(jù)庫(kù)、輔助設(shè)計(jì)工具、其他有關(guān)開發(fā)工具。(3)完成軟件項(xiàng)目生命周期各階段的工作。
(二)團(tuán)隊(duì)分工與項(xiàng)目計(jì)劃安排
小組開發(fā)各階段的任務(wù)及成員角色分工。在實(shí)施過程中,小組長(zhǎng)必須承擔(dān)起領(lǐng)導(dǎo)責(zé)任,不定期召開小組開發(fā)工作研討會(huì)(建議5—8次)。會(huì)前有準(zhǔn)備,會(huì)議有記錄(包括日期、出席人員、主題、討論紀(jì)要、結(jié)論與問題、計(jì)劃與行動(dòng)分工。事后要保存好以備教師檢查),會(huì)后有分工和檢查。開發(fā)小組工作會(huì)議的可能內(nèi)容:(1)選題內(nèi)容及開發(fā)方案研討;小組成員分工;開發(fā)計(jì)劃擬定。(2)同類系統(tǒng)資料查詢、研究、分析,制定項(xiàng)目規(guī)劃書,需求分析說明書;系統(tǒng)原型及成員分工確認(rèn)。(3)原型系統(tǒng)研討或者需求分析確認(rèn)。(4)數(shù)據(jù)庫(kù)設(shè)計(jì)及應(yīng)用研討。(5)系統(tǒng)概要設(shè)計(jì)(模塊設(shè)計(jì)或者類設(shè)計(jì))。(6)系統(tǒng)集成測(cè)試、開發(fā)文檔整理、匯總。
(7)關(guān)鍵技術(shù)難點(diǎn)的解決方案研討。
四、發(fā)散式的軟件創(chuàng)意
發(fā)散式教學(xué)是一種注重鍛煉學(xué)生思維能力與創(chuàng)新意識(shí)的教學(xué)方法,在學(xué)生掌握一定知識(shí)后,能夠多角度、多層次地提出問題,并思考解決問題。在軟件工程課程設(shè)計(jì)教學(xué)中,采用發(fā)散式的教學(xué)理念,激發(fā)學(xué)生軟件設(shè)計(jì)的潛力與興趣,具體體現(xiàn)在本課程設(shè)計(jì)的教學(xué)內(nèi)容上。
1.設(shè)計(jì)題目。從學(xué)生身邊的小應(yīng)用出發(fā)。身處在問題當(dāng)中,激發(fā)創(chuàng)新與改進(jìn)意識(shí)。根據(jù)我校管理模式,設(shè)計(jì)如下題目:湖工大獎(jiǎng)學(xué)金評(píng)定系統(tǒng);計(jì)算機(jī)學(xué)院監(jiān)考安排系統(tǒng);湖工大社團(tuán)管理系統(tǒng);校園二手貨交易系統(tǒng);湖工大兼職系統(tǒng);計(jì)算機(jī)學(xué)院作業(yè)管理系統(tǒng);計(jì)算機(jī)學(xué)院課程設(shè)計(jì)管理系統(tǒng);計(jì)算機(jī)學(xué)院教師考核系統(tǒng),湖工大校友交流平臺(tái);班級(jí)管理APP。
2.設(shè)計(jì)報(bào)告要求。根據(jù)軟件企業(yè)的文檔規(guī)范要求,合理制定了本課程設(shè)計(jì)的報(bào)告內(nèi)容與規(guī)范要求:(1)書面材料。每個(gè)學(xué)生提交個(gè)人課程設(shè)計(jì)稿交給組長(zhǎng)。由組長(zhǎng)匯總一套(整個(gè)系統(tǒng)的一套文檔,按照軟件生命周期順序裝訂)連同小組打印報(bào)告一并按時(shí)交給教師(要求注明分工、角色、個(gè)人承擔(dān)和完成任務(wù)等)。小組項(xiàng)目開發(fā)記錄本(含小組進(jìn)行課程設(shè)計(jì)的活動(dòng)日志與會(huì)議記錄)。注:組長(zhǎng)把小組報(bào)告、開發(fā)記錄本統(tǒng)一交給教師。報(bào)告內(nèi)容包括:①系統(tǒng)規(guī)劃書;②項(xiàng)目計(jì)劃書(角色承擔(dān)和任務(wù)分工);③需求分析報(bào)告(文字加數(shù)據(jù)流圖或者用例圖);④總體設(shè)計(jì)說明書(文字加結(jié)構(gòu)圖或者類圖、對(duì)象圖);⑤數(shù)據(jù)庫(kù)設(shè)計(jì)說明書(cdm圖、pdm圖);⑥詳細(xì)設(shè)計(jì)(核心模塊算法及程序結(jié)構(gòu)圖);⑦測(cè)試報(bào)告(測(cè)試方案、測(cè)試結(jié)果);⑧使用文檔(包括安裝說明和使用說明)與幫助文檔;⑨總結(jié)設(shè)計(jì)收獲體會(huì)、設(shè)計(jì)的特點(diǎn)和方案的優(yōu)缺點(diǎn);⑩參考文獻(xiàn)。(2)軟件與電子文檔。①電子文檔:報(bào)告的電子文檔、數(shù)據(jù)庫(kù)的sql文件、數(shù)據(jù)字典的excel文件;②系統(tǒng)的源代碼。
五、結(jié)語(yǔ)
本文論述了計(jì)算機(jī)相關(guān)專業(yè)的軟件工程課程設(shè)計(jì)的教學(xué)模式,在工作任務(wù)模式的思想下,根據(jù)軟件的開發(fā)流程以及學(xué)生的學(xué)習(xí)特點(diǎn),用引導(dǎo)式教學(xué)形式使學(xué)生了解軟件的整個(gè)生命周期及運(yùn)作模式,再通過發(fā)散式教學(xué),拓寬學(xué)生的設(shè)計(jì)思維,從而對(duì)軟件工程課程設(shè)計(jì)提出并討論新的教學(xué)模式。
參考文獻(xiàn):
[1]曾明星,周清平,王曉波,李珍.軟件工程專業(yè)“項(xiàng)目化”教學(xué)實(shí)施體系的構(gòu)建[J].實(shí)驗(yàn)室研究與探索,2013,(05).
[2]何月梅,杜海艷,王保民.《軟件工程》課程教學(xué)改革的探索[J].中國(guó)成人教育,2009,(13).