謝生龍+李竹林+許淳
摘 要:以項(xiàng)目引導(dǎo)的教學(xué)過程能讓學(xué)生更早地為從業(yè)生涯積累一點(diǎn)經(jīng)驗(yàn),同時(shí)也為形成良好的職業(yè)素養(yǎng)奠定基礎(chǔ)?!盾浖O(shè)計(jì)與體系結(jié)構(gòu)》這門課程旨在培養(yǎng)學(xué)生在后期從事軟件開發(fā)工作的軟件與體系結(jié)構(gòu)設(shè)計(jì)的實(shí)踐能力,知識(shí)點(diǎn)抽象,實(shí)踐性要求高。本文分析了《軟件設(shè)計(jì)與體系結(jié)構(gòu)》課程教學(xué)現(xiàn)狀和以項(xiàng)目引導(dǎo)的軟件設(shè)計(jì)與體系結(jié)構(gòu)課程教學(xué)意義,最后結(jié)合延安大學(xué)軟件工程專業(yè)培養(yǎng)方案和《軟件設(shè)計(jì)與體系結(jié)構(gòu)》課程大綱,給出了以項(xiàng)目引導(dǎo)的軟件設(shè)計(jì)與體系結(jié)構(gòu)課程教學(xué)方案。
關(guān)鍵詞:項(xiàng)目引導(dǎo);軟件設(shè)計(jì);體系結(jié)構(gòu);教學(xué)方案
一、 引言
軟件設(shè)計(jì)與體系結(jié)構(gòu)課程內(nèi)容非常廣泛,包含技術(shù)、方法、工具和管理等方面。軟件設(shè)計(jì)是對(duì)軟件需求的直接體現(xiàn),軟件設(shè)計(jì)為軟件的實(shí)現(xiàn)提供直接依據(jù),而體系結(jié)構(gòu)作為軟件設(shè)計(jì)過程中控制軟件復(fù)雜性、提高軟件系統(tǒng)質(zhì)量、支持軟件開發(fā)和復(fù)用的重要手段之一。軟件設(shè)計(jì)與體系結(jié)構(gòu)這門課程教學(xué)應(yīng)重視理論與實(shí)踐結(jié)合,以能力培養(yǎng)為目標(biāo),以職業(yè)方向?yàn)閷?dǎo)向,用項(xiàng)目溶解知識(shí),用任務(wù)驅(qū)動(dòng)教學(xué),將“教、學(xué)、做”融于一體,教學(xué)內(nèi)容同就業(yè)與企業(yè)用人需求接軌。
本文以延安大學(xué)《軟件設(shè)計(jì)與體系結(jié)構(gòu)》課程設(shè)置為例,探究了此門課程在教學(xué)過程中以項(xiàng)目引導(dǎo)進(jìn)行驅(qū)動(dòng)教學(xué)的意義及課程教學(xué)方案,希望通過項(xiàng)目中的任務(wù)驅(qū)動(dòng),開展以項(xiàng)目為引導(dǎo)的教學(xué)模式。
二、 軟件設(shè)計(jì)與體系結(jié)構(gòu)課程教學(xué)現(xiàn)狀分析
以計(jì)算機(jī)為核心的信息化社會(huì),大家已感同身受。被認(rèn)為是信息化靈魂的軟件離不開良好的頂層設(shè)計(jì)。當(dāng)前國內(nèi)各大高校軟件工程和計(jì)算機(jī)科學(xué)與技術(shù)等專業(yè)已普遍開設(shè)了《軟件設(shè)計(jì)與體系結(jié)構(gòu)》這門課程,為軟件架構(gòu)設(shè)計(jì)師及軟件開發(fā)工程師的培養(yǎng)打下了一定的基礎(chǔ)。然而,這門課程與其他軟件工程相關(guān)的課程大部分內(nèi)容交叉,也是當(dāng)前各高校都存在的普遍問題,如軟件工程、軟件設(shè)計(jì)方法、UML統(tǒng)一建模語言等。在軟件設(shè)計(jì)與體系結(jié)構(gòu)這門課程講授的過程中主要圍繞軟件設(shè)計(jì)與體系結(jié)構(gòu)的概念、原理、技術(shù)和方法等相關(guān)知識(shí)進(jìn)行理論講解,欠缺與實(shí)際項(xiàng)目的結(jié)合及任務(wù)推動(dòng)與引導(dǎo),致使部分同學(xué)對(duì)本門課程學(xué)習(xí)興趣不高。
三、 以項(xiàng)目引導(dǎo)的軟件設(shè)計(jì)與體系結(jié)構(gòu)課程教學(xué)意義
(一) 項(xiàng)目引導(dǎo)符合課程自身特點(diǎn)
在本科階段《軟件設(shè)計(jì)與體系結(jié)構(gòu)》課程主要面向軟件工程類專業(yè)開設(shè)的課程,教學(xué)過程中,主要圍繞軟件體系結(jié)構(gòu)的基本原理、方法和實(shí)踐。使學(xué)生真正掌握軟件體系結(jié)構(gòu)設(shè)計(jì)基本的理論、技術(shù)。一般來說,這門課程具有以下幾個(gè)特點(diǎn):
1. 課程內(nèi)容聯(lián)系緊密
許多高校在軟件工程類專業(yè)課程體系中同時(shí)開設(shè)了《軟件工程》《軟件設(shè)計(jì)技術(shù)》和《軟件設(shè)計(jì)與體系結(jié)構(gòu)》等課程,這些課程中部分章節(jié)內(nèi)容相互交叉、聯(lián)系緊密。比如,在延安大學(xué)軟件工程專業(yè)培養(yǎng)方案設(shè)置中,將《面向?qū)ο蟪绦蛟O(shè)計(jì)》定為本課程的選修課,同時(shí)也將《軟件工程》《軟件設(shè)計(jì)與體系結(jié)構(gòu)》等課程作為了軟件工程專業(yè)的專業(yè)必修課或?qū)I(yè)限選課,具體如表1所示。這些課程之間在內(nèi)容上聯(lián)系非常緊密,如《面向?qū)ο蟪绦蛟O(shè)計(jì)中》介紹的設(shè)計(jì)思想、原則,《軟件設(shè)計(jì)與體系結(jié)構(gòu)》中介紹的軟件設(shè)計(jì)風(fēng)格,《軟件工程》課程中的界面設(shè)計(jì)、數(shù)據(jù)庫設(shè)計(jì)、設(shè)計(jì)模式等知識(shí)在這些課程大綱中均有涉及。
在以往的教學(xué)過程中發(fā)現(xiàn),只有將上述知識(shí)的實(shí)踐應(yīng)用結(jié)合項(xiàng)目開展,才能更進(jìn)一步地將先修課程或后置課程的知識(shí)進(jìn)行檢驗(yàn)和系統(tǒng)地梳理。
2. 課程重難點(diǎn)抽象
通過《軟件設(shè)計(jì)與體系結(jié)構(gòu)》課程開設(shè),使學(xué)生認(rèn)識(shí)軟件設(shè)計(jì)在軟件開發(fā)過程中的重要性,熟悉和掌握軟件設(shè)計(jì)、軟件體系結(jié)構(gòu)設(shè)計(jì)的方法和技術(shù),特別是面向?qū)ο蟮能浖O(shè)計(jì)方法。
在延安大學(xué)《軟件設(shè)計(jì)與體系結(jié)構(gòu)》這門課程的培養(yǎng)的知識(shí)、能力及素質(zhì)目標(biāo),對(duì)本門課程的重難點(diǎn)也是非常明確,具體見表2。大綱中同時(shí)也指出,本門課程主要內(nèi)容包含介紹常用的體系結(jié)構(gòu)風(fēng)格,軟件體系結(jié)構(gòu)的組成與常用的描述方法,基于體系結(jié)構(gòu)的軟件開發(fā)方法;另一方面包含,實(shí)際設(shè)計(jì)模式的分類描述,主要包括創(chuàng)建型、結(jié)構(gòu)型和行為型3類共23個(gè)設(shè)計(jì)模式。從上述大綱的要求中可以看出無論是常見的軟件體系結(jié)構(gòu)風(fēng)格還是基本的軟件開發(fā)方法或?qū)嶋H設(shè)計(jì)模式都是比較抽象且不易理解的知識(shí)內(nèi)容,從教師的課堂設(shè)計(jì)和學(xué)生的學(xué)習(xí)來講,都有一定的難度。
3. 課程教學(xué)方法單一
現(xiàn)階段大多數(shù)高校,這門課程的教學(xué)方式都采用理論學(xué)習(xí)與上機(jī)實(shí)踐的教學(xué)方法,課堂一般以多媒體教學(xué)及分組討論為主。學(xué)生喜歡挑戰(zhàn)自我,對(duì)于這類傳統(tǒng)的教學(xué)模式,學(xué)生積極性不高,從而致使教學(xué)方法欠缺一定的靈活性,對(duì)一些實(shí)踐性要求較高的章節(jié)內(nèi)容掌握幫助不是很大,需進(jìn)一步結(jié)合項(xiàng)目,激發(fā)學(xué)生的興趣講練結(jié)合、主動(dòng)引導(dǎo)學(xué)生構(gòu)建知識(shí)體系,評(píng)價(jià)學(xué)習(xí)效果。
通過項(xiàng)目,完全可以將課程重點(diǎn)知識(shí)滲透、溶解于其中,在項(xiàng)目的實(shí)踐過程中,學(xué)生不僅能夠了解軟件體系結(jié)構(gòu)研究和應(yīng)用的最新進(jìn)展,而且可以討論軟件體系結(jié)構(gòu)的基本理論知識(shí),又能結(jié)合軟件體系結(jié)構(gòu)的設(shè)計(jì)和工業(yè)界應(yīng)用項(xiàng)目實(shí)例,對(duì)課程知識(shí)進(jìn)行檢驗(yàn)和總結(jié)。
(二) 項(xiàng)目引導(dǎo)便于學(xué)習(xí)任務(wù)推動(dòng)
1. 通過項(xiàng)目便于設(shè)計(jì)任務(wù)
以選取的項(xiàng)目為基礎(chǔ),進(jìn)行任務(wù)分析與設(shè)計(jì)更具有針對(duì)性和目的性。針對(duì)項(xiàng)目進(jìn)行軟件產(chǎn)品的體系結(jié)構(gòu)分析與設(shè)計(jì),在教學(xué)設(shè)計(jì)上將課程知識(shí)作業(yè)或?qū)嵺`練習(xí)以項(xiàng)目任務(wù)的形式布置下去,學(xué)生更容易接受,再完成項(xiàng)目任務(wù)后,對(duì)軟件設(shè)計(jì)與體系結(jié)構(gòu)相關(guān)理論、知識(shí)體會(huì)更深,真正做到了學(xué)以致用。
2. 通過項(xiàng)目便于知識(shí)構(gòu)建
用項(xiàng)目化教學(xué)進(jìn)行知識(shí)建構(gòu),在選取合適的項(xiàng)目實(shí)例及有針對(duì)性的任務(wù)的前提下,將軟件與體系結(jié)構(gòu)設(shè)計(jì)課程系統(tǒng)的知識(shí)轉(zhuǎn)化為項(xiàng)目教學(xué)法,具體可以通過如下過程進(jìn)行知識(shí)構(gòu)建。
首先,根據(jù)章節(jié)知識(shí)所有的重難點(diǎn),在有針對(duì)性的項(xiàng)目背景下設(shè)計(jì)任務(wù)。其次,將項(xiàng)目產(chǎn)品模塊化后實(shí)踐要求與本章節(jié)的重難點(diǎn)對(duì)應(yīng)。知識(shí)點(diǎn)均應(yīng)有相應(yīng)的實(shí)踐任務(wù)進(jìn)行練習(xí),每個(gè)練習(xí)由一系列的實(shí)踐項(xiàng)目設(shè)計(jì)而來,不僅要有基本實(shí)踐能力的提高訓(xùn)練,而且還應(yīng)包括理論知識(shí)的掌握和轉(zhuǎn)化訓(xùn)練。再次,通過項(xiàng)目所含納的實(shí)踐要求,和對(duì)應(yīng)的設(shè)計(jì)任務(wù)驅(qū)動(dòng)學(xué)生掌握已經(jīng)學(xué)過或者即將學(xué)習(xí)到的知識(shí)點(diǎn),然后建構(gòu)項(xiàng)目引導(dǎo)的知識(shí)體系,提高學(xué)生實(shí)踐能力。最后,教師對(duì)學(xué)生對(duì)構(gòu)建的知識(shí)體系在項(xiàng)目的任務(wù)完成情況中進(jìn)行評(píng)價(jià),用客觀的指標(biāo)評(píng)價(jià)學(xué)生的知識(shí)掌握情況與體系構(gòu)建情況。endprint
3. 通過項(xiàng)目便于效果檢驗(yàn)
在教學(xué)任務(wù)設(shè)計(jì)時(shí),適當(dāng)?shù)卦黾訉?duì)于已學(xué)過知識(shí)點(diǎn)考核的相關(guān)任務(wù),在項(xiàng)目的開展過程中及時(shí)地檢驗(yàn)學(xué)習(xí)效果,不斷地加深對(duì)已學(xué)知識(shí)的實(shí)踐應(yīng)用。根據(jù)任務(wù)完成情況,判斷學(xué)生對(duì)知識(shí)的掌握程度,指導(dǎo)并幫助他們提高。
(三) 項(xiàng)目引導(dǎo)利于課程知識(shí)溶解
《軟件設(shè)計(jì)與體系結(jié)構(gòu)》課程知識(shí)理論性強(qiáng),在傳統(tǒng)的授課方式中,缺乏知識(shí)溶解的載體,很多的重點(diǎn)知識(shí)都只是在舉例講解的過程中掌握。若能將這些基本知識(shí)貫穿于設(shè)計(jì)的實(shí)踐項(xiàng)目中,將更能激發(fā)學(xué)生的學(xué)習(xí)興趣,使學(xué)生在項(xiàng)目中挑戰(zhàn)自我,在挑戰(zhàn)中掌握知識(shí)。
四、 以項(xiàng)目引導(dǎo)的軟件設(shè)計(jì)與體系結(jié)構(gòu)課程教學(xué)方案
從教師及學(xué)生兩個(gè)角度出發(fā),結(jié)合當(dāng)前高等教育課堂改革的要求,針對(duì)《軟件設(shè)計(jì)與體系結(jié)構(gòu)》這門課程以項(xiàng)目引導(dǎo)為教學(xué)模式的具體方案如下圖1所示:
(一) 教師
教師結(jié)合課程章節(jié)重難點(diǎn)和學(xué)生實(shí)際情況,制定項(xiàng)目,創(chuàng)設(shè)教學(xué)情境,引出任務(wù)并分配給學(xué)生學(xué)習(xí)完成,在學(xué)生完成任務(wù)的過程以專題講解和個(gè)別輔導(dǎo)形式,給予相應(yīng)存在問題的同學(xué)適當(dāng)?shù)拇鹨山饣蟆8鶕?jù)項(xiàng)目引導(dǎo)學(xué)生構(gòu)建知識(shí)體系,總結(jié)知識(shí)點(diǎn),分析學(xué)生完成情況,對(duì)學(xué)習(xí)效果進(jìn)行評(píng)價(jià)、教學(xué)總結(jié),為下一次的教學(xué)設(shè)計(jì)積累經(jīng)驗(yàn)。
(二) 學(xué)生
學(xué)生拿到教師設(shè)計(jì)的教學(xué)任務(wù)后可以自主學(xué)習(xí),遇到困難時(shí)可以相互探討,協(xié)作學(xué)習(xí),完成知識(shí)構(gòu)建,總結(jié)、歸納。將構(gòu)建的知識(shí)應(yīng)用到項(xiàng)目任務(wù)重,根據(jù)教師的效果評(píng)價(jià),不斷地反思,加深對(duì)知識(shí)的理解與認(rèn)識(shí),并提高相應(yīng)的應(yīng)用能力。
五、 總結(jié)
軟件設(shè)計(jì)與體系結(jié)構(gòu)是一門實(shí)踐要求比較高的課程,不能僅靠課本的理論講解進(jìn)行課程學(xué)習(xí),應(yīng)結(jié)合具體的案例項(xiàng)目推動(dòng)學(xué)習(xí)任務(wù)的開展和知識(shí)體系的構(gòu)建,在學(xué)習(xí)中總結(jié),在項(xiàng)目實(shí)踐中檢驗(yàn),在檢驗(yàn)中提高。在實(shí)際的工作任務(wù)驅(qū)動(dòng)下引導(dǎo)學(xué)生積極地學(xué)習(xí)軟件設(shè)計(jì)與體系結(jié)構(gòu)這門課程,提高軟件設(shè)計(jì)能力和軟件工程專業(yè)素養(yǎng)。
參考文獻(xiàn):
[1]齊治昌.軟件設(shè)計(jì)與體系結(jié)構(gòu)[M].高等教育出版社,2010.
[2]葛文庚,魏雪峰.軟件工程案例教程[M].電子工業(yè)出版社,2015.
[3]延安大學(xué)2015版人才培養(yǎng)方案[J].延安大學(xué)教務(wù)處,2015.
[4]延安大學(xué)課程教學(xué)大綱[J].延安大學(xué)教務(wù)處,2015.
[5]許波,陳曉龍.UML結(jié)合軟件工程教學(xué)改革探討[J].計(jì)算機(jī)教育,2011,(2):34-37.
[6]胡志慧.基于CDIO軟件的設(shè)計(jì)與體系結(jié)構(gòu)課程教學(xué)研究[J].中國管理信息化,2015,(17):216-217.
[7]趙曼姝.項(xiàng)目化教學(xué)知識(shí)建構(gòu)和職業(yè)素質(zhì)提高分析[J].北方經(jīng)貿(mào),2011,(12):150.
[8]吳海花,王連山.計(jì)算機(jī)軟件項(xiàng)目教學(xué)改革的實(shí)踐與探索——基于“任務(wù)驅(qū)動(dòng)”的小組協(xié)作教學(xué)模式[J].考試周刊,2009,(23):11-12.
[9]李暾,文艷軍,劉萬偉等.軟件體系結(jié)構(gòu)課程教學(xué)改革規(guī)劃與實(shí)施[J].計(jì)算機(jī)教育,2015,(6):19-21.
[10]覃征,邢劍寬.軟件體系結(jié)構(gòu)課程教學(xué):抽象與實(shí)踐的協(xié)調(diào)與統(tǒng)一[J].中國大學(xué)教學(xué),2009,(7):14-15.
作者簡介:
謝生龍,李竹林,許淳,陜西省延安市,延安大學(xué)數(shù)學(xué)與計(jì)算機(jī)科學(xué)學(xué)院。endprint