
摘要:本文分析面向?qū)ο箢愓n程之間的前后關(guān)系,針對(duì)原有各門課程的實(shí)踐環(huán)節(jié)存在相互獨(dú)立、無(wú)系統(tǒng)化的問(wèn)題,按照面向?qū)ο蟮能浖_(kāi)發(fā)過(guò)程,提出:1)重新整合面向?qū)ο笙盗姓n程,形成包含基礎(chǔ)篇、提高篇和深入篇的三段式面向?qū)ο蠹夹g(shù)課程體系;2)重新整合各門課程的實(shí)踐環(huán)節(jié),使之前后銜接,形成一體;3)建立基于IBM Rational企業(yè)級(jí)軟件工具的統(tǒng)一實(shí)踐平臺(tái)。讓學(xué)生在教學(xué)實(shí)踐中掌握實(shí)用性的、應(yīng)用型、系統(tǒng)化的面向?qū)ο蟮能浖_(kāi)發(fā)技術(shù)。
關(guān)鍵詞:面向?qū)ο蠹夹g(shù);課程體系;統(tǒng)一實(shí)踐平臺(tái)
隨著計(jì)算機(jī)技術(shù)的迅速發(fā)展和IT行業(yè)對(duì)軟件工程理念的不斷重視,面向?qū)ο蠹夹g(shù)目前已逐漸成為現(xiàn)代軟件開(kāi)發(fā)中的主流方法。統(tǒng)一建模語(yǔ)言UML自1997年,被OMG(Object Management Group)采納為面向?qū)ο蟮臉?biāo)準(zhǔn)建模語(yǔ)言之后,已經(jīng)成為當(dāng)今國(guó)際上應(yīng)用最廣泛的、構(gòu)建對(duì)象模型的描述語(yǔ)言和技術(shù)規(guī)范,成為軟件業(yè)公認(rèn)的開(kāi)發(fā)標(biāo)準(zhǔn)?;赨ML(Unified Modeling Language)的面向?qū)ο蠓治雠c設(shè)計(jì)方法在國(guó)內(nèi)外學(xué)術(shù)界和產(chǎn)業(yè)界越來(lái)越受到重視,國(guó)內(nèi)外許多高校的計(jì)算機(jī)類課程中均開(kāi)設(shè)了“面向?qū)ο蠹夹g(shù)”、“UML”或“面向?qū)ο蟮能浖こ獭钡认嚓P(guān)課程[1-2]。華北電力大學(xué)計(jì)算機(jī)專業(yè)在原有編程語(yǔ)言和面向?qū)ο蠹夹g(shù)課程的基礎(chǔ)上,重新調(diào)整、整合和新增了面向?qū)ο笙嚓P(guān)課程,形成了從基礎(chǔ)篇到提高篇的面向?qū)ο笳n程體系。面向?qū)ο箢惛鏖T課程原有的實(shí)踐環(huán)節(jié)互相獨(dú)立,使用的實(shí)驗(yàn)平臺(tái)各異,實(shí)驗(yàn)內(nèi)容相互間沒(méi)有銜接或者有部分內(nèi)容重復(fù)。2009年,我系在教育部專項(xiàng)基金的資助下,基于IBM Rational平臺(tái)建設(shè)了適于各門面向?qū)ο笳n程實(shí)驗(yàn)的統(tǒng)一軟件工具平臺(tái)、讓原本獨(dú)立或重復(fù)的各門課程的實(shí)踐環(huán)節(jié),前后銜接起來(lái),形成一體。通過(guò)一系列系統(tǒng)化的整合實(shí)驗(yàn),讓學(xué)生逐漸掌握面向?qū)ο筌浖_(kāi)發(fā)過(guò)程,具備實(shí)際的項(xiàng)目開(kāi)發(fā)能
力,以期培養(yǎng)“厚基礎(chǔ)、強(qiáng)實(shí)踐”的應(yīng)用型、實(shí)踐型的計(jì)算機(jī)技術(shù)人才。
1面向?qū)ο蠹夹g(shù)系列課程的課程體系
面向?qū)ο蠹夹g(shù)所涵蓋的領(lǐng)域廣泛,有所熟知的面向?qū)ο缶幊陶Z(yǔ)言,如C++、Java、C#等,還有采用面向?qū)ο笏枷氲能浖_(kāi)發(fā)過(guò)程:包括基于UML的面向?qū)ο蟮南到y(tǒng)分析、面向?qū)ο蟮南到y(tǒng)設(shè)計(jì)和面向?qū)ο蟮膶?shí)現(xiàn),面向?qū)ο蟮臏y(cè)試,面向?qū)ο蟮能浖_(kāi)發(fā)過(guò)程等。
為了使計(jì)算機(jī)學(xué)科的學(xué)生全面掌握面向?qū)ο蠹夹g(shù),我系在原有高級(jí)編程語(yǔ)言和面向?qū)ο蠹夹g(shù)課程的基礎(chǔ)上,借助2008版新教學(xué)大綱[3]修訂的契機(jī),重新調(diào)整、整合和新增相關(guān)課程,遵循由淺及深的原則,形成基礎(chǔ)入門、技術(shù)提高、綜合深入的三階段面向?qū)ο笳n程體系。在該課程體系中,以高級(jí)語(yǔ)言程序設(shè)計(jì)(C++)、面向?qū)ο缶幊陶Z(yǔ)言(Java)課程為基礎(chǔ),面向?qū)ο蠹夹g(shù)與UML課程為提高,J2EE開(kāi)發(fā)平臺(tái)及程序設(shè)計(jì)、可視化編程、軟件工程、軟件測(cè)試等課程為深入,并配以相應(yīng)的獨(dú)立實(shí)踐環(huán)節(jié)。2009年7月,在教育部修購(gòu)專項(xiàng)基金的支持下,引入了目前軟件業(yè)廣泛使用的企業(yè)級(jí)軟件工具——IBM Rational 系列軟件,為建立面向?qū)ο笙盗姓n程的統(tǒng)一實(shí)驗(yàn)環(huán)境提供了物質(zhì)基礎(chǔ)。
1.1低年級(jí)的基礎(chǔ)入門和技術(shù)提高
計(jì)算機(jī)類學(xué)生的一年級(jí)第一學(xué)期和第二學(xué)期初開(kāi)設(shè)必修課高級(jí)編程語(yǔ)言(C++)和專業(yè)限選課Java語(yǔ)言程序設(shè)計(jì),建立面向?qū)ο笳Z(yǔ)言的編程基礎(chǔ)。通過(guò)這兩門先修課,學(xué)生對(duì)面向?qū)ο蟮木幊逃辛顺醪降牧私?,也初步具備面向?qū)ο髮?shí)現(xiàn)和編程的能力。但是此時(shí)學(xué)生對(duì)軟件的分析設(shè)計(jì)方法還沒(méi)有系統(tǒng)化,面向?qū)ο蠹夹g(shù)和UML課程的開(kāi)設(shè),目的是在學(xué)生涉足軟件開(kāi)發(fā)之初,就樹(shù)立起面向?qū)ο蠓治?、設(shè)計(jì)的理念。并且配備了一周的獨(dú)立實(shí)踐環(huán)節(jié)——UML課程設(shè)計(jì),實(shí)驗(yàn)的題目選用學(xué)生日常生活中熟悉的小型系統(tǒng),如圖書系統(tǒng)的借書或者還書子系統(tǒng)、學(xué)生成績(jī)管理系統(tǒng)等。要求學(xué)生使用支持UML2.0以上的CASE (Computer-aided Software Engineering )工具完成面向?qū)ο蟮闹饕治龊驮O(shè)計(jì)模型,包括用例分析、繪制類圖和順序圖,并進(jìn)一步的設(shè)計(jì),然后嘗試使用CASE正向工程,由模型自動(dòng)生成Java或者C++的代碼框架,并要求學(xué)生用所學(xué)過(guò)的面向?qū)ο笳Z(yǔ)言簡(jiǎn)單實(shí)現(xiàn)所設(shè)計(jì)的系統(tǒng)。
1.2高年級(jí)的綜合深入
在學(xué)生熟悉了面向?qū)ο笳Z(yǔ)言和面向?qū)ο蠓治鲈O(shè)計(jì)、UML建模之后。三年級(jí)將按照面向?qū)ο蟮能浖こ痰拈_(kāi)發(fā)流程來(lái)安排課程、分為方法論、過(guò)程管理、高級(jí)工具環(huán)境這三大部分。方法論中包括軟件工程和軟件測(cè)試課程;過(guò)程管理包括軟件工程的一部分章節(jié)和軟件工程項(xiàng)目管理課程;高級(jí)工具環(huán)境包括J2EE開(kāi)發(fā)平臺(tái)及程序設(shè)計(jì)和軟件工具和環(huán)境課程。
首先開(kāi)設(shè)軟件工程,從整體上介紹貫穿軟件生命周期的整個(gè)軟件開(kāi)發(fā)的流程,在軟件工程的方法學(xué)中,包括了傳統(tǒng)方法和面向?qū)ο蠓椒?。隨后開(kāi)設(shè)的軟件測(cè)試課程中,包括一部分面向?qū)ο鬁y(cè)試的理論和測(cè)試工具的介紹。而在軟件項(xiàng)目管理課程中,會(huì)涉及同面向?qū)ο筌浖_(kāi)發(fā)相關(guān)的過(guò)程管理和項(xiàng)目管理。然后開(kāi)設(shè)J2EE開(kāi)發(fā)平臺(tái)及程序設(shè)計(jì)課程,在學(xué)生掌握面向?qū)ο箝_(kāi)發(fā)技術(shù)以及Java語(yǔ)言的基礎(chǔ)上,介紹軟件的架構(gòu)、組件開(kāi)發(fā)和企業(yè)級(jí)應(yīng)用等內(nèi)容。軟件設(shè)計(jì)的高級(jí)篇,以提高學(xué)生的實(shí)際的編程和應(yīng)用開(kāi)發(fā)的能力為重點(diǎn),設(shè)立選修課軟件工具與環(huán)境,專門介紹流行的、支持面向?qū)ο筌浖こ谈鱾€(gè)環(huán)節(jié)的CASE工具。
在三年級(jí)的第二學(xué)期,單獨(dú)開(kāi)設(shè)了兩周的軟件工程課程設(shè)計(jì),并結(jié)合軟件項(xiàng)目管理和J2EE開(kāi)發(fā)平臺(tái)及程序設(shè)計(jì)的課內(nèi)實(shí)踐環(huán)節(jié),將學(xué)生分成項(xiàng)目組,每組選用面向?qū)ο蟮姆椒▽W(xué),對(duì)所選擇的中型系統(tǒng),使用CASE工具,完成從計(jì)劃、分析、設(shè)計(jì)、實(shí)現(xiàn)、測(cè)試,以及項(xiàng)目管理,涉及面向?qū)ο筌浖_(kāi)發(fā)的整個(gè)流程。
2案例教學(xué)和多樣化教學(xué)手段
隨著面向?qū)ο蠹夹g(shù)的普及和軟件行業(yè)對(duì)軟件工程開(kāi)發(fā)流程的重視,面向?qū)ο蠹夹g(shù)和UML建模越來(lái)越受到關(guān)注。自O(shè)MG組織將UML采納為標(biāo)準(zhǔn)的面向?qū)ο蠼UZ(yǔ)