冉瑞生 馮驥 張守貴
摘要:《軟件體系結(jié)構(gòu)》是軟件工程專業(yè)高年級(jí)本科生的一門課程。在教學(xué)上,軟件體系結(jié)構(gòu)的概念原理和方法較為抽象,理論性強(qiáng),學(xué)生對(duì)軟件系統(tǒng)的高層設(shè)計(jì)較難領(lǐng)會(huì)等缺點(diǎn)。針對(duì)該課程的上述缺點(diǎn),對(duì)該課程的教學(xué)過(guò)程進(jìn)行改革,主要包括教學(xué)內(nèi)容、教學(xué)方法和考核方式的改革。改革后的教學(xué)內(nèi)容更適合本科生,教學(xué)方法可以提高學(xué)生的主動(dòng)性,學(xué)生可以更好地掌握本課程的理論和方法。
關(guān)鍵詞: 軟件體系結(jié)構(gòu); 教學(xué)改革;教學(xué)方法;教學(xué)案例
中圖分類號(hào):G420? ? ? 文獻(xiàn)標(biāo)識(shí)碼:A
文章編號(hào):1009-3044(2020)16-0139-02
《軟件體系結(jié)構(gòu)》是軟件工程專業(yè)高年級(jí)本科生的一門課程。該課程主要介紹軟件體系結(jié)構(gòu)的基本理論和方法,使學(xué)生對(duì)軟件體系結(jié)構(gòu)有一定的了解。通過(guò)學(xué)習(xí),使得學(xué)生在軟件工程的基礎(chǔ)上,利用軟件體系結(jié)構(gòu)的原理和方法進(jìn)行軟件分析和設(shè)計(jì)。培養(yǎng)學(xué)生成為一名合格的軟件工程師和軟件分析師,并為其在該領(lǐng)域進(jìn)一步深造打下基礎(chǔ)。但由于軟件體系結(jié)構(gòu)是軟件系統(tǒng)的高層設(shè)計(jì),其概念、原理和方法較為抽象,在教學(xué)過(guò)程中存在理論性強(qiáng),傳統(tǒng)教學(xué)方法的課堂教學(xué)效果較差,學(xué)生將理論與實(shí)踐相結(jié)合困難等缺點(diǎn)。為此,我們對(duì)《軟件體系結(jié)構(gòu)》的教學(xué)過(guò)程進(jìn)行了改革。本文從教學(xué)內(nèi)容的修訂、教學(xué)方法和考核方式的改進(jìn)幾個(gè)方面討論了該課程的教學(xué)改革,從而對(duì)該課程的教學(xué)改革進(jìn)行了探討。
1 《軟件體系結(jié)構(gòu)》課程及教學(xué)現(xiàn)狀
1.1 《軟件體系結(jié)構(gòu)》課程教學(xué)目標(biāo)
該課程的教學(xué)目標(biāo)為:通過(guò)學(xué)習(xí),使學(xué)生初步掌握軟件體系結(jié)構(gòu)的概念、組成和相關(guān)領(lǐng)域國(guó)內(nèi)外研究現(xiàn)狀;明確軟件體系結(jié)構(gòu)劃分標(biāo)準(zhǔn)、設(shè)計(jì)原則;學(xué)習(xí)軟件體系結(jié)構(gòu)的構(gòu)建模型、軟件體系結(jié)構(gòu)的風(fēng)格、特定領(lǐng)域的軟件體系結(jié)構(gòu)、軟件產(chǎn)品線技術(shù)、軟件演化技術(shù)以及軟件體系結(jié)構(gòu)評(píng)估等方面的知識(shí),并掌握在軟件開(kāi)發(fā)過(guò)程中分析、設(shè)計(jì)、應(yīng)用軟件體系結(jié)構(gòu)的技能。
通過(guò)該課程學(xué)習(xí),學(xué)生的能力和素質(zhì)體現(xiàn)為:初步具備軟件分析和軟件設(shè)計(jì)方面的能力,為以后成為一名合格的軟件工程師、軟件分析師,并為其在該領(lǐng)域進(jìn)一步深造打下的基礎(chǔ)。
1.2 《軟件體系結(jié)構(gòu)》課程的教學(xué)現(xiàn)狀
近幾年的教學(xué)中,《軟件體系結(jié)構(gòu)》的教學(xué)過(guò)程存在以下幾個(gè)問(wèn)題:
1)軟件體系結(jié)構(gòu)是對(duì)軟件設(shè)計(jì)經(jīng)驗(yàn)的歸納總結(jié)和抽象而得到的,理論知識(shí)的抽象程度較高,知識(shí)覆蓋面較廣。《軟件體系結(jié)構(gòu)》的教材普遍講原理、概念,學(xué)生理解困難。
2)現(xiàn)在的課堂教學(xué)多數(shù)是單向 “教” 的過(guò)程,而學(xué)生的“學(xué)”基本處于被動(dòng)狀態(tài)。而對(duì)于《軟件體系結(jié)構(gòu)》這種理論性強(qiáng)的課程,采用傳統(tǒng)教學(xué)方法的課堂沉悶,學(xué)生往往“走神”,教學(xué)效果較差。
3)由于在校生缺乏項(xiàng)目實(shí)踐經(jīng)驗(yàn),理論與實(shí)踐難以結(jié)合,當(dāng)用學(xué)到的理論知識(shí)解決實(shí)際問(wèn)題時(shí)入手困難;同時(shí)由于在校本科生的興趣和注意力處于“代碼級(jí)”,他們認(rèn)為軟件系統(tǒng)的高層設(shè)計(jì)與自身的“距離”較遠(yuǎn),所以對(duì)軟件體系結(jié)構(gòu)的興趣和關(guān)注不夠。
人們?yōu)榱颂岣摺盾浖w系結(jié)構(gòu)》課程的教學(xué)質(zhì)量,做了相關(guān)的教學(xué)改革研究。如基于真實(shí)項(xiàng)目案例的《軟件體系結(jié)構(gòu)》課程建設(shè)[1];應(yīng)用型本科軟件體系結(jié)構(gòu)課程教學(xué)內(nèi)容設(shè)計(jì)[2];充分利用“做中學(xué)”教學(xué)理念在工程實(shí)踐類課程教學(xué)中的方法優(yōu)勢(shì),提出了“做中學(xué)”理念指導(dǎo)下的軟件體系結(jié)構(gòu)課堂講授內(nèi)容和實(shí)驗(yàn)教學(xué)環(huán)節(jié)的設(shè)計(jì)方法[3]。
本文針對(duì)《軟件體系結(jié)構(gòu)》課程教學(xué)存在的問(wèn)題,結(jié)合該課程的特點(diǎn),從教學(xué)內(nèi)容、教學(xué)方法和考核方式幾個(gè)方面開(kāi)展了《軟件體系結(jié)構(gòu)》課程的教學(xué)改革。
2 《軟件體系結(jié)構(gòu)》課程教學(xué)改革實(shí)踐
2.1 教學(xué)內(nèi)容修訂
目前,大多數(shù)《軟件體系結(jié)構(gòu)》教材涵蓋的主要內(nèi)容有:軟件體系結(jié)構(gòu)概論、軟件體系結(jié)構(gòu)建模、軟件體系結(jié)構(gòu)風(fēng)格、特定領(lǐng)域軟件體系結(jié)構(gòu)、軟件產(chǎn)品線技術(shù)、軟件演化技術(shù)、軟件體系結(jié)構(gòu)評(píng)估等。課程內(nèi)容面向高年級(jí)本科生和研究生。我們最初將該課程設(shè)置為48學(xué)時(shí),幾乎對(duì)所有的內(nèi)容都進(jìn)行了講解。
在近兩年的教學(xué)中,根據(jù)教材《軟件體系結(jié)構(gòu)原理、方法與實(shí)踐》(第2版)[4]關(guān)于本科生教學(xué)內(nèi)容的建議,將教學(xué)內(nèi)容修改為:軟件體系結(jié)構(gòu)概論、軟件體系結(jié)構(gòu)建模、軟件體系結(jié)構(gòu)風(fēng)格,特定領(lǐng)域軟件體系結(jié)構(gòu)(了解),刪除了不適于本科生的內(nèi)容,并將學(xué)時(shí)調(diào)整為24個(gè)課時(shí)。重點(diǎn)講解的內(nèi)容為軟件體系結(jié)構(gòu)概念和軟件體系結(jié)構(gòu)風(fēng)格,其余內(nèi)容了解即可。這一調(diào)整主要是使得教學(xué)內(nèi)容更適合本科層次的學(xué)生。
2.2課程的教學(xué)方法改革
在《軟件體系結(jié)構(gòu)》前幾年的教學(xué)中,課堂教學(xué)基本是單向的 “教” ,而學(xué)生的“學(xué)”基本處于被動(dòng)狀態(tài)。而《軟件體系結(jié)構(gòu)》課程理論性強(qiáng),課程抽象,所以教學(xué)過(guò)程中課堂沉悶,學(xué)生感到枯燥乏味,缺乏學(xué)習(xí)的主動(dòng)性。
《軟件體系結(jié)構(gòu)》課程部分內(nèi)容是理論與案例相結(jié)合的內(nèi)容,特別是在“軟件體系結(jié)構(gòu)風(fēng)格”這一章,一般說(shuō)來(lái),教材先講解軟件體系結(jié)構(gòu)風(fēng)格理論,再講解風(fēng)格的實(shí)例。基于此,我們對(duì)課程的教學(xué)方法進(jìn)行了改革:理論部分由教師講授,讓學(xué)生以小組的形式協(xié)作消化和準(zhǔn)備相關(guān)的案例,并制作PPT,在課堂上講解和分析案例,由教師和其他小組的同學(xué)進(jìn)行提問(wèn)和評(píng)分。這種方式主要在于學(xué)生需要收集和整理相關(guān)案例。幾年的教學(xué)過(guò)程,學(xué)生收集整理了大量的案例,如管道/過(guò)濾器風(fēng)格有常見(jiàn)的編譯器、傳統(tǒng)的媒體播放器、類UNIX系統(tǒng)下的基于管道的進(jìn)程間通信機(jī)制等。案例的主要來(lái)源有:1) 教材上的案例。教材上的案例規(guī)模小,有些案例分析得不夠透徹,教師就要求學(xué)生經(jīng)過(guò)自己的思考和理解將案例進(jìn)行擴(kuò)展,將其分析得更加透徹;2) 在互聯(lián)網(wǎng)上查閱資料。根據(jù)所學(xué)的理論知識(shí),要求學(xué)生自己帶著問(wèn)題去互聯(lián)網(wǎng)上查閱相關(guān)的案例并進(jìn)行歸納整理;3)從學(xué)生之前做過(guò)的課程設(shè)計(jì)、小項(xiàng)目中選擇相關(guān)的案例。
改進(jìn)后的教學(xué)方法避免了單向的教師授課,課堂上教師和同學(xué)在討論和分析,增加了課堂的互動(dòng)性,活躍了課堂氣氛;學(xué)生需要課下做準(zhǔn)備,并在課堂講解、分析和答疑,提高了學(xué)習(xí)的主動(dòng)性;學(xué)生的主動(dòng)學(xué)習(xí)增強(qiáng)了對(duì)知識(shí)點(diǎn)的理解和掌握。
2.3 課程考核方式改革
傳統(tǒng)的考核方式為期末試卷考核。由于《軟件體系結(jié)構(gòu)》課程偏理論性,試卷中一般有考查基本概念的題目,如名詞解釋、簡(jiǎn)答題、填空題,這類題目需要學(xué)生死記硬背教材上的基本概念。而對(duì)于軟件工程這種工程性專業(yè)來(lái)說(shuō),傳統(tǒng)考核方式意義不大。
并根據(jù)《軟件體系結(jié)構(gòu)》課程的特點(diǎn),對(duì)該課程的考核方式改革為過(guò)程化考核,即強(qiáng)調(diào)平時(shí)的考核和實(shí)踐能力的考核。具體為:課堂表現(xiàn)(占10%) + 課堂上的案例分析考核(占50%) + 期末課程設(shè)計(jì)(占40%)。1)課堂表現(xiàn)主要考核學(xué)生在課堂上參與案例分析的提問(wèn)、討論情況;2)案例分析考核是對(duì)學(xué)生案例分析的深度,對(duì)理論知識(shí)的理解度,PPT制作情況,以及答疑情況進(jìn)行評(píng)分;3)期末考核以課程設(shè)計(jì)的形式進(jìn)行。給學(xué)生布置10個(gè)左右的項(xiàng)目實(shí)例,要求學(xué)生選定一個(gè)具體的項(xiàng)目實(shí)例,結(jié)合所學(xué)的課程內(nèi)容(主要是軟件體系結(jié)構(gòu)的風(fēng)格)進(jìn)行分析,并以課程設(shè)計(jì)報(bào)告的形式提交。改革后的考核方式促進(jìn)學(xué)生加強(qiáng)平時(shí)學(xué)習(xí),期末的課程設(shè)計(jì)考核學(xué)生分析、設(shè)計(jì)能力,突出了實(shí)踐性和應(yīng)用型,整個(gè)考核過(guò)程學(xué)生不需死記硬背,相比傳統(tǒng)方式更為合理。
3 結(jié)束語(yǔ)
《軟件體系結(jié)構(gòu)》是關(guān)于軟件系統(tǒng)高層設(shè)計(jì)的課程,是軟件工程專業(yè)在學(xué)習(xí)了軟件工程的相關(guān)課程后的一門高階段課程。但由于軟件體系結(jié)構(gòu)的教學(xué)內(nèi)容較為抽象,傳統(tǒng)教學(xué)方法的教學(xué)效果不好,理論與實(shí)踐結(jié)合困難等缺點(diǎn)。本文針對(duì)《軟件體系結(jié)構(gòu)》的教學(xué)問(wèn)題,從教學(xué)內(nèi)容、教學(xué)方法和考核方式幾個(gè)方面進(jìn)行了教學(xué)改革。改革后的教學(xué)更適合本科層次的教學(xué)、提高了學(xué)生的學(xué)習(xí)主動(dòng)性,活躍了課程氛圍,并有效提高了學(xué)生的實(shí)踐應(yīng)用能力。
參考文獻(xiàn):
[1] 孫耀, 陳圣國(guó), 王智鋼, 張海濤, 張燕. 金陵科技學(xué)院學(xué)報(bào)(社會(huì)科學(xué)版)[J].2018,32(04):58-62.
[2] 李天科.應(yīng)用型本科軟件體系結(jié)構(gòu)課程教學(xué)內(nèi)容設(shè)計(jì)[J].計(jì)算機(jī)教育,2018(6):120-123.
[3] 劉靖,周建濤.“做中學(xué)”理念在軟件體系結(jié)構(gòu)課程教學(xué)中的應(yīng)用實(shí)踐[J].計(jì)算機(jī)教育,2013(22):88-92,97.
[4] 張友生.軟件體系結(jié)構(gòu)原理、方法與實(shí)踐(第2版)[M].清華大學(xué)出版社,2014.
【通聯(lián)編輯:光文玲】