時(shí)間:2022-04-11 03:09:25
序論:在您撰寫軟件工程論文時(shí),參考他人的優(yōu)秀作品可以開闊視野,小編為您整理的1篇范文,希望這些建議能夠激發(fā)您的創(chuàng)作熱情,引導(dǎo)您走向新的創(chuàng)作高度。
楊摯
ISO9000系列標(biāo)準(zhǔn)及軟件質(zhì)量認(rèn)證
近年來,國(guó)際上影響最為深遠(yuǎn)的質(zhì)量管理標(biāo)準(zhǔn)當(dāng)屬國(guó)際標(biāo)準(zhǔn)化組織于1987年公布的ISO9000系列標(biāo)準(zhǔn),這一國(guó)際標(biāo)準(zhǔn)發(fā)源于歐洲經(jīng)濟(jì)共同體,但很快就波及美國(guó)、日本及世界各國(guó)。到目前為止,已有70多個(gè)國(guó)家在它們的企業(yè)中采用和實(shí)施這一系列標(biāo)準(zhǔn)。中國(guó)對(duì)此也十分重視,也采取了積極態(tài)度。一方面確定對(duì)其等同采用,與其相應(yīng)的質(zhì)量管理國(guó)家標(biāo)準(zhǔn)系列GB/T19000;同時(shí)積極組織實(shí)施和開展質(zhì)量認(rèn)證工作。計(jì)算機(jī)軟件行業(yè)自然也和其它領(lǐng)域一樣被席卷進(jìn)去。
ISO9000系列標(biāo)準(zhǔn)如此迅速地在國(guó)際上廣為流行,其原因主要在于:
1)市場(chǎng)經(jīng)濟(jì),特別是國(guó)際貿(mào)易的驅(qū)動(dòng)。無論任何產(chǎn)業(yè),其產(chǎn)品的質(zhì)量如何都是生產(chǎn)者、消費(fèi)者、以及中間商十分關(guān)注的問題。市場(chǎng)的競(jìng)爭(zhēng)很大程度上反映了在質(zhì)量方面的競(jìng)爭(zhēng)。ISO9000系列標(biāo)準(zhǔn)客觀地對(duì)生產(chǎn)者(也稱供方)提出了全面的質(zhì)量管理要求、質(zhì)量管理辦法,并且還規(guī)定了消費(fèi)者(也稱需方)的管理職責(zé),使其得到雙方的普遍認(rèn)同,從而將符合ISO9000標(biāo)準(zhǔn)的要求作為國(guó)家貿(mào)易活動(dòng)中建立互相信任關(guān)系的基石,并且在國(guó)際貿(mào)易中,把生產(chǎn)者是否達(dá)到ISO9000質(zhì)量標(biāo)準(zhǔn)作為購(gòu)買產(chǎn)品的前提條件,取得ISO9000質(zhì)量標(biāo)準(zhǔn)認(rèn)證被人們當(dāng)作進(jìn)入國(guó)際市場(chǎng)的通行證。
2)ISO9000系列標(biāo)準(zhǔn)適用領(lǐng)域廣闊。它的出現(xiàn)最初針對(duì)制造行業(yè),但現(xiàn)已面向更為廣闊的領(lǐng)域,這包括:
(1)硬件:指不連續(xù)的具有特定形狀的產(chǎn)品,如機(jī)械、電子產(chǎn)品,不只是計(jì)算機(jī)硬件。
(2)軟件:通過支持媒體表達(dá)的信息所構(gòu)成的智力產(chǎn)品。計(jì)算機(jī)軟件當(dāng)然屬于其中。
(3)流程性材料:將原料轉(zhuǎn)化為某一特定狀態(tài)的產(chǎn)品。如,流體、粒狀、線狀等,通過瓶裝、袋裝等或通過管道傳輸交付。
(4)服務(wù):為滿足客戶需求的更為廣泛的活動(dòng)。
ISO9000系列標(biāo)準(zhǔn)的內(nèi)容
2000版ISO9000系列標(biāo)準(zhǔn)的內(nèi)容
ISO9000:2000質(zhì)量管理體系基本原則和術(shù)語
ISO9001:2000質(zhì)量管理體系——要求
ISO9004:2000質(zhì)量管理體系——業(yè)績(jī)改進(jìn)指南
ISO19011:2000質(zhì)量和環(huán)境審核指南
2000版ISO9000族標(biāo)準(zhǔn)的特點(diǎn)
新版ISO9000族標(biāo)準(zhǔn)對(duì)比現(xiàn)行的1994版而言,具有以下的特點(diǎn)。
1.面向所有組織,通用性強(qiáng)。新版ISO9000族標(biāo)準(zhǔn)適用于所有的產(chǎn)品類別、所有的行業(yè)和各種規(guī)模的組織,總之,新版標(biāo)準(zhǔn)面向所有組織,通用性很強(qiáng),將成為適用范圍最廣的國(guó)際標(biāo)準(zhǔn)之一,表現(xiàn)在:
(1)新版標(biāo)準(zhǔn)消除了1994版對(duì)硬件產(chǎn)品制造業(yè)的偏向性。
2000版標(biāo)準(zhǔn)巧妙地采用了“產(chǎn)品實(shí)現(xiàn)”、“動(dòng)作控制”、“過程的測(cè)量和監(jiān)控”和“產(chǎn)品的測(cè)量和監(jiān)控”等詞匯和要求,消除了行業(yè)的偏向性,對(duì)非制造業(yè)貫徹ISO9000族標(biāo)準(zhǔn)所帶來的方便是不容置疑的。
(2).為特種行業(yè)制定行業(yè)附加要求奠定了共同的基礎(chǔ)。有些行業(yè)確有其特殊性,2000版本標(biāo)準(zhǔn)允許在ISO9001基礎(chǔ)上增加行業(yè)特殊要求的條款。這樣既能使所有組織的質(zhì)量體系基本要求具有一致性,又確保行業(yè)特殊要求的適用小性。已有軟件.通訊.汽車.等行業(yè)都已用此方式制定各自的行業(yè)特殊要求。
(3)?!试S裁剪“的規(guī)定使2000版ISO9001標(biāo)準(zhǔn)的適用范圍擴(kuò)大到1994版ISO9001/9002/9003/三個(gè)保證摸式的標(biāo)準(zhǔn)戶群。三個(gè)保證沒摸式的差異都在第7章產(chǎn)品實(shí)現(xiàn)過程中,2000版ISO9001,1.2允許對(duì)第7章要求中不影響滿足顧客和法規(guī)要求,不及組織責(zé)任的標(biāo)準(zhǔn)條款進(jìn)行裁剪,從擴(kuò)大了ISO9001標(biāo)準(zhǔn)的適用范圍,又獲得”以一頂是三(三個(gè)質(zhì)量保證摸式),減少標(biāo)準(zhǔn)數(shù)量的功效。
(4)??紤]了小型企業(yè)的適用性。2000版標(biāo)準(zhǔn)保留了大小企業(yè)都是必要的條款,有的還進(jìn)行強(qiáng)化,對(duì)小型企業(yè)可能不太上適合的具體要求則進(jìn)行弱化。使2000版ISO9001標(biāo)準(zhǔn)的通用性更強(qiáng)了。
2.確立八項(xiàng)原則,統(tǒng)一留念理念。
3.鼓勵(lì)過程方法,操作性強(qiáng)。2000版標(biāo)準(zhǔn)的修訂采用了過程摸式,提倡用過程方法來識(shí)別和建立體系。
4.強(qiáng)化關(guān)鍵:領(lǐng)導(dǎo)作用。
5.自我評(píng)價(jià)測(cè)量,突出改進(jìn)。
6.關(guān)心各相關(guān)方,利益共享。
ISO9000系列標(biāo)準(zhǔn)原本是為制造硬件產(chǎn)品而制定的標(biāo)準(zhǔn),不能直接用于軟件制作。后來曾試圖將ISO9001改寫用于軟件開發(fā)方面,但效果不佳。于是,以ISO9000系列標(biāo)準(zhǔn)的追加形式,另行制定出ISO90003標(biāo)準(zhǔn)。這樣,ISO90003就成了用于“使ISO9001適用于軟件開發(fā)、供應(yīng)及維護(hù)”的“指南”。不過,在ISO90003的審議過程中,日本等國(guó)曾先后提出過不少意見。所以,在內(nèi)容上與ISO9001已有相當(dāng)不同。ISO90003(即GB/T19000.394),全稱《質(zhì)量管理和質(zhì)量保證標(biāo)準(zhǔn)第三部分:在軟件開發(fā)、供應(yīng)和維護(hù)中的使用指南》。
制定與實(shí)施ISO9000系列標(biāo)準(zhǔn)
1)強(qiáng)調(diào)質(zhì)量并非在產(chǎn)品檢驗(yàn)中得到,而是形成于生產(chǎn)的全過程。ISO90003敘述了需方和供方應(yīng)如何進(jìn)行有組織的質(zhì)量保證活動(dòng),才能得到較為滿意的軟件;規(guī)定了從雙方簽訂開發(fā)合同到設(shè)計(jì)、實(shí)現(xiàn)以至維護(hù)整個(gè)軟件生存期中應(yīng)當(dāng)實(shí)施的質(zhì)量保證活動(dòng),但并沒有規(guī)定具體的質(zhì)量管理和質(zhì)量檢驗(yàn)方法和步驟。
ISO90003的核心思想是“將質(zhì)量制作入產(chǎn)品之中”。其實(shí)道理是很明顯的,軟件在完成編碼以后,不論花多大的力氣用于測(cè)試,提高質(zhì)量都是有限度的,更不必說需求規(guī)格說明存在的問題常常是測(cè)試無法發(fā)現(xiàn)的。事實(shí)上,軟件產(chǎn)品的質(zhì)量取決于軟件生存周期。
2)為把握產(chǎn)品的質(zhì)量,ISO9000要求“必須使影響產(chǎn)品質(zhì)量的全部因素在生產(chǎn)全過程中始終處于受控狀態(tài)”。為使軟件產(chǎn)品達(dá)到質(zhì)量要求,ISO90003要求軟件開發(fā)機(jī)構(gòu)建立質(zhì)量保證體系。首先要求明確供需雙方的職責(zé),針對(duì)所有可能影響軟件質(zhì)量的各個(gè)因素都要采取有力措施,作出如何加強(qiáng)管理和控制的決定。對(duì)與質(zhì)量有關(guān)的人員規(guī)定其職責(zé)和職權(quán),使之責(zé)任落實(shí)到人,產(chǎn)品質(zhì)量真正得到控制。
3)ISO9000標(biāo)準(zhǔn)要求證實(shí):“企業(yè)具有持續(xù)提供符合要求產(chǎn)品的能力”。質(zhì)量認(rèn)證是取得這一證實(shí)的有效方法。產(chǎn)品質(zhì)量若能達(dá)到標(biāo)準(zhǔn)提出的要求,由不依賴于供方和需方的第三方權(quán)威機(jī)構(gòu)對(duì)生產(chǎn)廠家審查證實(shí)后出具合格證明。顯然,如果這一認(rèn)證工作是公正的、可靠的,其公證的結(jié)果應(yīng)當(dāng)是可以信賴的。正確實(shí)施產(chǎn)品質(zhì)量認(rèn)證制度自然會(huì)在促進(jìn)產(chǎn)品質(zhì)量提高,指導(dǎo)消費(fèi)者選購(gòu)產(chǎn)品,提高質(zhì)量合格產(chǎn)品企業(yè)的聲譽(yù),以及節(jié)省社會(huì)檢驗(yàn)大量費(fèi)用等方面發(fā)揮積極作用。
生產(chǎn)企業(yè)為了達(dá)到質(zhì)量標(biāo)準(zhǔn),取得質(zhì)量認(rèn)證,必須多方面開展質(zhì)量管理活動(dòng)。其中,企業(yè)負(fù)責(zé)人的重視以及企業(yè)全體人員的積極參與是取得成功的關(guān)鍵。
4)ISO9000標(biāo)準(zhǔn)還強(qiáng)調(diào)“質(zhì)量管理必須堅(jiān)持進(jìn)行質(zhì)量改進(jìn)”。貫徹ISO9000標(biāo)準(zhǔn)是企業(yè)加強(qiáng)質(zhì)量管理、提高產(chǎn)品質(zhì)量的過程,這個(gè)過程包含許多工作絕非輕而易舉、一蹴而就所能奏效的。即使已經(jīng)取得了質(zhì)量認(rèn)證也不能認(rèn)為一勞永逸而放松質(zhì)量管理。實(shí)際上認(rèn)證通常以半年為有效期。取得認(rèn)證之后尚需接受每年1~2次的定期檢查,其目的在于促使企業(yè)堅(jiān)持進(jìn) 行質(zhì)量改進(jìn)。
摘要:軟件工程專業(yè)是計(jì)算機(jī)領(lǐng)域發(fā)展最快的學(xué)科分支之一,軟件工程(software engineering,簡(jiǎn)稱為se)是一門研究用工程化方法構(gòu)建和維護(hù)有效的、實(shí)用的和高質(zhì)量的軟件的學(xué)科。這一學(xué)科包括許多的內(nèi)容,具體來講有程序設(shè)計(jì)語言,數(shù)據(jù)庫(kù),軟件開發(fā)工具,系統(tǒng)平臺(tái),標(biāo)準(zhǔn),設(shè)計(jì)模式等。當(dāng)今社會(huì),網(wǎng)絡(luò)化迅速發(fā)展,軟件的應(yīng)用領(lǐng)域越來越廣?,F(xiàn)在比較普遍的軟件有電子郵件,人機(jī)界面,辦公套件,操作系統(tǒng),游戲等。目前,基本上每個(gè)行業(yè)都會(huì)某種程度的運(yùn)用到計(jì)算機(jī)軟件。這些應(yīng)用對(duì)于推動(dòng)經(jīng)濟(jì)和社會(huì)的發(fā)展起到了舉足輕重的作用,提高了工作效率,改善了人們的生活質(zhì)量。
關(guān)鍵詞:軟件工程 計(jì)算機(jī)領(lǐng)域 程序設(shè)計(jì) 開發(fā)工具 設(shè)計(jì)模式 生命周期、軟件開發(fā)
1 概述
軟件工程是研究和應(yīng)用如何以系統(tǒng)性的、規(guī)范化的、可定量的過程化方法去開發(fā)和維護(hù)軟件,以及如何把經(jīng)過時(shí)間考驗(yàn)而證明正確的管理技術(shù)和當(dāng)前能夠得到的最好的技術(shù)方法結(jié)合起來的學(xué)科。這一學(xué)科包括許多的內(nèi)容,具體來講有程序設(shè)計(jì)語言,數(shù)據(jù)庫(kù),軟件開發(fā)工具,系統(tǒng)平臺(tái),標(biāo)準(zhǔn),設(shè)計(jì)模式等。當(dāng)今社會(huì),網(wǎng)絡(luò)化迅速發(fā)展,軟件的應(yīng)用領(lǐng)域越來越廣?,F(xiàn)在比較普遍的軟件有電子郵件,人機(jī)界面,辦公套件,操作系統(tǒng),游戲等。目前,基本上每個(gè)行業(yè)都會(huì)某種程度的運(yùn)用到計(jì)算機(jī)軟件。這些應(yīng)用對(duì)于推動(dòng)經(jīng)濟(jì)和社會(huì)的發(fā)展起到了舉足輕重的作用,提高了工作效率,改善了人們的生活質(zhì)量。
我們究竟是將軟件的開發(fā)看成一門科學(xué),還是將其看成是一門工程,關(guān)于這個(gè)問題已經(jīng)討論了很長(zhǎng)時(shí)間了。事實(shí)上,軟件的開發(fā)具備這兩者的特征。但是我們不能將二者混淆了。大多數(shù)人認(rèn)為軟件工程基于計(jì)算機(jī)科學(xué)和信息科學(xué)就像是傳統(tǒng)意義上的工程學(xué)之于物理和化學(xué)。在世界各個(gè)國(guó)家,尤其是美國(guó)大約有40%的軟件工程師都有計(jì)算機(jī)科學(xué)的學(xué)位。他們可能不經(jīng)常運(yùn)用到計(jì)算機(jī)科學(xué)上的知識(shí),但是會(huì)經(jīng)常運(yùn)用到軟件工程上的知識(shí)。許多應(yīng)用都需要軟件工程,在軟件開發(fā)的許多程序中也需要軟件工程。軟件工程的主要作用就是指導(dǎo)軟件項(xiàng)目的方方面面。在軟件工程中,軟件開發(fā)與各種市場(chǎng)活動(dòng)緊密相連。軟件工程的方法學(xué)認(rèn)為程序員在開發(fā)軟件的時(shí)候是處在一個(gè)團(tuán)隊(duì)中的,而且在編寫程序時(shí)要符合軟件的需求,設(shè)計(jì),以及客戶的利益。
伴隨著開發(fā)技術(shù)的不斷進(jìn)步,軟件開發(fā)過程也在不斷的改進(jìn)。從早期的瀑布式(waterfall)的開發(fā)模型直到最近開始興起的敏捷開發(fā)方法(agile),表現(xiàn)出來的是隨著時(shí)代的變化,軟件產(chǎn)業(yè)對(duì)于開發(fā)過程的認(rèn)識(shí)也在不斷的變化,對(duì)于各種類型項(xiàng)目的理解方法也在發(fā)生著變化。在美國(guó)曾經(jīng)有權(quán)威機(jī)構(gòu)對(duì)軟件組織的績(jī)效做過評(píng)估,所得到結(jié)論是:軟件工程的專業(yè)分工不足,是造成品質(zhì)低落、時(shí)程延誤、預(yù)算超支的最關(guān)鍵因素。2003年,the standish group年度報(bào)告指出,在他們調(diào)查的13522個(gè)專案中,有66%的軟件專案失敗、82%超出時(shí)程、48%推出時(shí)缺乏必需的功能,總計(jì)約550億美元浪費(fèi)在不良的計(jì)劃、預(yù)算或軟件估算上。
2 軟件工程的需求分析
有一種觀點(diǎn)認(rèn)為軟件工程是學(xué)習(xí)怎么做軟件的,對(duì)吧?我認(rèn)為,這種觀點(diǎn)算對(duì),但不是全對(duì)。得到一個(gè)軟件產(chǎn)品,自然是軟件工程的目的所在,但是軟件工程所包含的卻不僅僅是這些。就拿軟件業(yè)界比較常見的例子來給大家講一下,這個(gè)例子就是蓋房子,我們蓋房子,是不是就買塊地,然后準(zhǔn)備好建材,就哐當(dāng)哐當(dāng)?shù)亻_始建房子了呢?大家明白不是這樣,要建好一座房子,先要對(duì)土地進(jìn)行測(cè)量勘察,確定可以在上面建房屋,之后還得先規(guī)劃出整個(gè)房子的藍(lán)圖來,接下來才是對(duì)根據(jù)藍(lán)圖開始建房子。建好房子后,還得經(jīng)過一些檢測(cè),比如甲醛有沒有超標(biāo)啊,包工頭有沒有偷工減料啊,這些都合格之后才能交付使用。于是有人入住了,住久了,發(fā)現(xiàn)浴室漏水,那就得修補(bǔ)一下。再住久了,住了幾十年,房子舊得不成樣子了,這時(shí)候它的壽命也到了終點(diǎn)了。
軟件工程之所以叫軟件工程,就是因?yàn)樗褂昧斯こ虒W(xué)方法來幫助軟件開發(fā),建筑也是一門工程學(xué),所以它們之間是會(huì)有些共通之處的,不信?請(qǐng)看:首先,我們?cè)趯?duì)土地進(jìn)行測(cè)量勘察的時(shí)候,是在確定它是否適宜建房子,在軟件工程上來講,這個(gè)術(shù)語叫“可行性分析”,可行性分析的任務(wù)就是確定開發(fā)這個(gè)軟件是否在技術(shù)上可以做到,在資金上有充足支持,在市場(chǎng)上能夠受歡迎,如果答案是肯定的,那么就可以繼續(xù)下一步的開發(fā)步驟。規(guī)劃
房子的藍(lán)圖,在軟件工程上被分為兩個(gè)過程:“需求分析”、“設(shè)計(jì)”。需求分析就是得到軟件需要做什么,需要實(shí)現(xiàn)什么功能。而設(shè)計(jì)就是告訴開發(fā)人員怎么實(shí)現(xiàn)這些功能。也就是規(guī)劃出軟件的一個(gè)藍(lán)圖,在“編碼”階段再對(duì)其進(jìn)行實(shí)現(xiàn),這就對(duì)應(yīng)著建房的關(guān)鍵階段,就是按照藍(lán)圖蓋好房子啦。房子在入住前需要檢測(cè)是否合格,軟件在交付給用戶使用的時(shí)候自然也需要檢測(cè)是否合格,這個(gè)階段叫做“測(cè)試”。檢測(cè)合格了,那就可以交付給用戶使用,在市場(chǎng)上銷售。軟件不可能完美無缺,所以在使用過程中,一定會(huì)出現(xiàn)某些問題,這時(shí)候就要將問題提交給軟件開發(fā)人員,修復(fù)問題,這個(gè)階段就是軟件過程中的“維護(hù)”階段。過了一段時(shí)間,這段時(shí)間可能很長(zhǎng),也可能很短,這軟件已經(jīng)不適應(yīng)生產(chǎn)力的發(fā)展了,那么就可以正式宣告這軟件壽終正寢了,至此,軟件的生命周期才正式結(jié)束。
我們還要注意,軟件生命周期包括制定計(jì)劃、需求分析和定義、軟件設(shè)計(jì)、程序編碼、軟件測(cè)試、運(yùn)行維護(hù)這六個(gè)階段,是指一個(gè)計(jì)算機(jī)軟件從功能確定、設(shè)計(jì)直到不再使用該軟件的全過程。
軟件工程,正是貫穿在一個(gè)軟件的整個(gè)生命周期中的。從開發(fā)某個(gè)軟件的計(jì)劃被提起或者立項(xiàng),軟件工程就開始發(fā)揮著作用,用自己的一套方法體系,來指導(dǎo)軟件開發(fā)的整個(gè)過程。因此軟件工程不等于編程,編程只是軟件工程整個(gè)過程中的一個(gè)重要環(huán)節(jié)而已。據(jù)統(tǒng)計(jì),在整個(gè)開發(fā)周期中,平均編碼這個(gè)過程只占了整個(gè)周期的大約30%的時(shí)間。
3 軟件工程原則
軟件工程學(xué)主要是用來對(duì)軟件開發(fā)和維護(hù)進(jìn)行指導(dǎo),是為了經(jīng)濟(jì)地獲得能夠在實(shí)際機(jī)器上有效運(yùn)行的可靠軟件而建立和使用的一系列完整的工程化原則。它充分的運(yùn)用計(jì)算機(jī)科學(xué)、數(shù)學(xué)及管理科學(xué)等方面的知識(shí),并借鑒傳統(tǒng)工程的原則、方法來完成開發(fā)軟件的任務(wù),這樣就能夠最大限度的開發(fā)高質(zhì)量的軟件,并且能夠減少成本。
boehm是一位知名的軟件工程專家,在借鑒了許多的專家和學(xué)者的經(jīng)驗(yàn)之后,再加上自己在開發(fā)軟件方面的經(jīng)驗(yàn),在1983年總結(jié)出了軟件工程的七條基本原理:
①用分階段的生存周期計(jì)劃嚴(yán)格管理;
②堅(jiān)持進(jìn)行階段評(píng)審;
③對(duì)產(chǎn)品嚴(yán)格把關(guān);
④在技術(shù)上運(yùn)用現(xiàn)代程序設(shè)計(jì);
⑤結(jié)果能清楚地審查;
⑥開發(fā)小組的人員不要太多,但是這些人員要有真才實(shí)學(xué);
⑦不斷對(duì)軟件工程實(shí)踐進(jìn)行改進(jìn)是很有必要的。
一般來說,一個(gè)軟件方法往往規(guī)定了明確的工作步驟、具體的描述方式以及確定的評(píng)價(jià)標(biāo)準(zhǔn)。軟件開發(fā)的基本方法包括結(jié)構(gòu)化方法、面向?qū)ο蠓椒ǖ取?
隨著軟件工程學(xué)的發(fā)展和軟件開發(fā)的實(shí)踐,軟件開發(fā)模型依次被提出:瀑布模型、快速原型模型、增量模型、螺旋模型、噴泉模型、形式化方法模型等。
目前,已經(jīng)推出很多軟件開發(fā)工具,如需求分析階段的psl/psa系統(tǒng);編碼階段的各種語言編譯工具、編輯程序、連接程序等,都是軟件編碼階段的軟件工具;測(cè)試階段的測(cè)試數(shù)據(jù)產(chǎn)生程序、動(dòng)態(tài)分析程序、靜態(tài)分析程序等軟件自動(dòng)測(cè)試工具;維護(hù)階段的版本控制系統(tǒng)等。從廣義上來講,軟件分析、設(shè)計(jì)階段的各種圖形工具,如數(shù)據(jù)流(dfd)等也可以稱為軟件開發(fā)工具。
從技術(shù)和管理上采取多項(xiàng)措施后,組織實(shí)施軟件工程的最終目的是保證項(xiàng)目成功,即達(dá)到以下幾個(gè)主要目標(biāo):
①使開發(fā)成本最少;
②達(dá)到預(yù)期的軟件功能;
③軟件性能更好;
④使軟件易于移植;
⑤最大限度降低維護(hù)費(fèi)用;
⑥按時(shí)完成開發(fā)任務(wù),及時(shí)交付使用。
4 結(jié)束語
軟件工程的方法的意義是非常廣泛的。具體來講包括項(xiàng)目管理,分析,設(shè)計(jì),程序的編寫,測(cè)試和質(zhì)量控制。有些人認(rèn)為人們要認(rèn)真遵守這些方法進(jìn)行軟件開發(fā),但是有些人還沒有足夠的能力實(shí)施這些方法。事實(shí)上,具體運(yùn)用哪種方法開發(fā)軟件是受很多方面因素的限制的。
隨著科學(xué)技術(shù)的不斷進(jìn)步,計(jì)算機(jī)硬件也進(jìn)入了高速發(fā)展階段,軟件開發(fā)方法也隨之得到不斷更新。面向?qū)ο螅╫o)方法于60年代后期被提出,但花了近乎20年才被人們廣泛認(rèn)識(shí)和使用。如今,面向?qū)ο筌浖殉蔀樾袠I(yè)內(nèi)的主流,并在軟件行業(yè)中占據(jù)著非常重要的位置。傳統(tǒng)的軟件工程方法常把數(shù)據(jù)與處理的過程分開,大大增加了軟件開發(fā)的難度。面向?qū)ο蠓椒ò绍浖ぷ饕曌麟x散解空間對(duì)象的結(jié)合,并使問題空間與解空間的結(jié)構(gòu)、描述模型相一致,簡(jiǎn)化了程序的同時(shí)降低了軟件系統(tǒng)開發(fā)的難度。
目前,國(guó)內(nèi)普遍采用傳統(tǒng)的結(jié)構(gòu)化分析設(shè)計(jì)和面向?qū)ο蟪绦蛳嘟Y(jié)合的方式進(jìn)行項(xiàng)目開發(fā),并且大部分項(xiàng)目也取得了成功。但這種方法無法讓實(shí)現(xiàn)兩者的平滑過渡及連續(xù)性,并且不利于軟件重用、維護(hù)、測(cè)試等工作的進(jìn)行。如果全過程僅采用面向?qū)ο筌浖こ谭椒ǎ瑒t能確保信息系統(tǒng)開發(fā)的完整性和一致性。由于面向?qū)ο髷?shù)據(jù)庫(kù)產(chǎn)品尚未完善,因此此方法很難應(yīng)用于實(shí)際中。為此,必須制定相應(yīng)的規(guī)則和算法,確保面向?qū)ο蠓治觥⒚嫦驅(qū)ο笤O(shè)計(jì)的結(jié)果能正確地向關(guān)系數(shù)據(jù)庫(kù)轉(zhuǎn)換。
一、關(guān)于面向?qū)ο筌浖こ?
1.面向?qū)ο蟆C嫦驅(qū)ο笾饕侵冈跐M足客戶需求的基礎(chǔ)下,將需求合理構(gòu)建成獨(dú)立的業(yè)務(wù)模塊,之后利用多態(tài)、繼承、封裝、抽象的編程思想對(duì)業(yè)務(wù)邏輯進(jìn)行構(gòu)建,使之與業(yè)務(wù)需求相一致,最后將各模塊整合以達(dá)到最佳的預(yù)期效果。
2.面向?qū)ο筌浖こ獭C嫦驅(qū)ο筌浖こ虝r(shí)面向?qū)ο蠹夹g(shù)和軟件工程相結(jié)合的產(chǎn)物。面向?qū)ο蠹夹g(shù)貫穿到面向?qū)ο筌浖こ痰娜^程,并將過程中形成的面向?qū)ο蠓治?、面向?qū)ο笤O(shè)計(jì)和面向?qū)ο蟪绦蛟O(shè)計(jì)三部分,貫穿到軟件工程的各個(gè)相應(yīng)階段。面向?qū)ο筌浖こ趟捎玫木唧w模型不外乎以下幾種:整體——部分模型、類——對(duì)象模型、對(duì)象模型、分類模型和狀態(tài)模型。
3.面向?qū)ο蟮姆椒ākS著時(shí)代的發(fā)展,面向?qū)ο蠓治龊兔嫦驅(qū)ο笤O(shè)計(jì)的理論和技術(shù)都得到了逐步完善,軟件開發(fā)方法也不斷地推陳出新。國(guó)內(nèi)外目前已衍生出多種的面向分析方法,其中最有影響力的主要有:booch方法、rumbaugh方法、coad和yourdon方法、jacobson方法、統(tǒng)一的ooa方法(uml)。從面向?qū)ο蠓治龅矫嫦驅(qū)ο笤O(shè)計(jì)是一個(gè)將模型逐漸擴(kuò)充的過程。在這個(gè)過程中,主要考慮的是如何分析處理問題,對(duì)于與特定計(jì)算機(jī)相關(guān)的問題則可以忽略不計(jì)。面向?qū)ο笤O(shè)計(jì)可以分為高層設(shè)計(jì)和低層設(shè)計(jì)兩個(gè)階段,高層設(shè)計(jì)主要用于建立體系整體架構(gòu),低層設(shè)計(jì)則主要用于對(duì)類的詳細(xì)設(shè)計(jì)。
二、面向?qū)ο蠓椒ㄔ卺t(yī)院收費(fèi)信息系統(tǒng)的應(yīng)用
為了更好地理解面向?qū)ο筌浖こ谭椒ㄔ谛畔⑾到y(tǒng)開發(fā)中的應(yīng)用,我們采用了醫(yī)院的收費(fèi)信息系統(tǒng)為例。首先,可將醫(yī)院收費(fèi)的需求構(gòu)建成三個(gè)獨(dú)立的業(yè)務(wù)模塊——功能模型、動(dòng)態(tài)模型、對(duì)象模型。
1.功能模型
對(duì)收費(fèi)信息系統(tǒng)進(jìn)行業(yè)務(wù)分類,其中主要包括劃價(jià)和查詢統(tǒng)計(jì)兩個(gè)子系統(tǒng)。分類的目的是為了業(yè)務(wù)模塊的構(gòu)建更合理清晰,節(jié)省和減少了系統(tǒng)操作人員的工作時(shí)間和工作量。病人繳費(fèi)以后,操作人員可通過劃價(jià)子系統(tǒng)輸出其收費(fèi)單據(jù),并按有關(guān)規(guī)定將單據(jù)導(dǎo)入數(shù)據(jù)庫(kù)中。如果病人想清楚醫(yī)院的具體收費(fèi),操作人員可鍵入查詢條件,從而為病人輸出相關(guān)單據(jù)。
2.動(dòng)態(tài)模型
醫(yī)院收費(fèi)信息系統(tǒng)被劃分為兩個(gè)子系統(tǒng),其中劃價(jià)子系統(tǒng)的動(dòng)態(tài)模型主要顯示為一些列的前臺(tái)操作,其主要表現(xiàn)為:病人請(qǐng)求→劃價(jià)員根據(jù)相關(guān)單據(jù)進(jìn)行劃價(jià);病人付款→操作人員打出收據(jù)→將信息導(dǎo)入數(shù)據(jù)庫(kù)→修改記錄。查詢統(tǒng)計(jì)子系統(tǒng)跟劃價(jià)子系統(tǒng)類似,主要均是由病人提出請(qǐng)求,操作員再根據(jù)病人需求鍵入查詢條件,從而輸出病人的相關(guān)統(tǒng)計(jì)表單。
3.對(duì)象模型
本系統(tǒng)主要涉及到的重要的類模型為——庫(kù)存類圖、人員類圖和單據(jù)類圖。
(1)庫(kù)存類圖。庫(kù)存類模型所增加的屬性(庫(kù)存量、生產(chǎn)日期、保質(zhì)期)主要跟藥物和其特性密切相關(guān)。醫(yī)院內(nèi)各種藥物及材料都標(biāo)明了庫(kù)存量和保質(zhì)期,而藥品則常被細(xì)分為:西藥、中藥、中成藥。
(2)人員類圖。病人和醫(yī)院工作人員均繼承在人員類中,其中病人是醫(yī)院收費(fèi)信息系統(tǒng)的主角,劃價(jià)請(qǐng)求、查詢請(qǐng)求、繳費(fèi)等劃價(jià)子系統(tǒng)業(yè)務(wù)都是病人類的方法。醫(yī)院工作人員類又可細(xì)分為三個(gè)子類,包括醫(yī)生類、收費(fèi)員類和操作員類。醫(yī)生類是必然的存在,病人的病情及其主治醫(yī)生,這些都需要存檔。操作員是除病人外在系統(tǒng)中的又一主角,查詢、劃價(jià)、統(tǒng)計(jì)均是其工作。由此可見,系統(tǒng)的操作運(yùn)行離不開操作員。收費(fèi)員的工作極為簡(jiǎn)單,只需進(jìn)行收費(fèi)操作即可。
(3)單據(jù)類圖。單據(jù)可分為治療單據(jù)和收費(fèi)單據(jù)。治療單據(jù)在病人治療后由醫(yī)生開出,單據(jù)上主要標(biāo)有:?jiǎn)螕?jù)號(hào)、醫(yī)生和病人的姓名、日期等項(xiàng)目。其中父類為單據(jù)號(hào)、醫(yī)生和病人的姓名,子類為治療項(xiàng)目如手術(shù)項(xiàng)目類、藥品項(xiàng)目類等。收費(fèi)單據(jù)時(shí)是系統(tǒng)根據(jù)治療單據(jù)劃價(jià)、病人繳費(fèi)后所打印出的憑據(jù)。其父類為收費(fèi)項(xiàng)目類,子類則為藥品收費(fèi)項(xiàng)目類、手術(shù)收費(fèi)項(xiàng)目類等。由于單據(jù)的不同,子類會(huì)根據(jù)其屬性而有所變化,因而系統(tǒng)可以根據(jù)需要打印出不同類別的單據(jù)。
筆者所在學(xué)院的軟件工程系是成立于2005年的新專業(yè),為校級(jí)特色專業(yè)。近年來,隨著對(duì)軟件工程特色專業(yè)建設(shè)進(jìn)程的推進(jìn),課程體系日趨完善。針對(duì)軟件工程學(xué)科具有理論多且實(shí)踐性極強(qiáng)的特點(diǎn),本系較大幅度地加大了實(shí)踐類課程和環(huán)節(jié)所占的比例,“軟件開發(fā)設(shè)計(jì)實(shí)訓(xùn)”便是其中很重要的一門實(shí)踐課程。由于軟件工程學(xué)科發(fā)展速度很快,在軟件產(chǎn)業(yè)不斷發(fā)展,全國(guó)對(duì)高素質(zhì)的軟件人才的需求量激增的形式下,迫切需要研究和探索實(shí)踐類課程的教學(xué)模式,激發(fā)學(xué)生學(xué)習(xí)興趣,以更有效的手段和方式提高教學(xué)和指導(dǎo)質(zhì)量,為培養(yǎng)更加符合社會(huì)實(shí)際需要的軟件開發(fā)人才打下堅(jiān)實(shí)基礎(chǔ)。在我校教改基金的資助下,依托軟件工程教學(xué)團(tuán)隊(duì),本文對(duì)將軟件工程應(yīng)用于“軟件開發(fā)設(shè)計(jì)實(shí)訓(xùn)”課程的教學(xué)模式及主要措施進(jìn)行探討。
1 選擇適當(dāng)?shù)能浖こ踢^程
“軟件開發(fā)設(shè)計(jì)實(shí)訓(xùn)”課程的主要目的是使學(xué)生學(xué)會(huì)用面向?qū)ο蟮脑O(shè)計(jì)方法設(shè)計(jì)實(shí)際系統(tǒng)。結(jié)合軟件工程學(xué)科的發(fā)展和應(yīng)用現(xiàn)狀,軟件開發(fā)過程主要采用rup(rational unified process,統(tǒng)一軟件開發(fā)過程)的方式組織軟件開發(fā)。rup是風(fēng)險(xiǎn)驅(qū)動(dòng)的、基于use case(用例)技術(shù)的、以架構(gòu)為中心的、迭代的、可配置的軟件開發(fā)流程。
rup分為初始、精化、構(gòu)造和交付四個(gè)階段,各階段涉及多種工作流。rup的核心工作流主要包括:
需求捕獲工作流:需求捕獲通過對(duì)問題的理解和分析,確立問題涉及的信息、功能和系統(tǒng)行為,將用戶需求精確化、完全化。需求的焦點(diǎn)主要在初始和精化階段,在精化階段后期,需求捕獲的工作量大幅下降。
分析工作流:分析的主要工作開始于初始階段的結(jié)尾,和需求一樣是精化階段的主要焦點(diǎn)。精化階段的大部分活動(dòng)是捕獲需求,分析工作與需求捕獲在很大程度上重疊。
設(shè)計(jì)工作流:設(shè)計(jì)的主要工作是位于精化階段的最后部分和構(gòu)造階段的開始部分的主要建?;顒?dòng)。系統(tǒng)建模最初的焦點(diǎn)是需求和分析,在分析活動(dòng)逐步完善后,建模的焦點(diǎn)開始轉(zhuǎn)向設(shè)計(jì)。
實(shí)現(xiàn)工作流:實(shí)現(xiàn)(實(shí)施)是關(guān)于把設(shè)計(jì)模型轉(zhuǎn)換成可執(zhí)行代碼的過程。從系統(tǒng)分析師或系統(tǒng)設(shè)計(jì)師的角度看,實(shí)現(xiàn)工作流的重點(diǎn)就是完成軟件系統(tǒng)的可執(zhí)行代碼。實(shí)現(xiàn)工作流是構(gòu)建階段的焦點(diǎn)。
測(cè)試工作流:測(cè)試是一項(xiàng)相當(dāng)主要的工作。測(cè)試工作流貫穿于軟件開發(fā)的整個(gè)過程。它開始于軟件開發(fā)的初始階段,而細(xì)化階段和構(gòu)造階段是測(cè)試的焦點(diǎn)。測(cè)試是為了找出程序中的錯(cuò)誤與缺限,而不能證明程序無錯(cuò)。
rup就像一個(gè)元過程,通過對(duì)rup進(jìn)行裁剪可以得到很多不同的開發(fā)過程,非常靈活,所以可以將其按本課程需要進(jìn)行精簡(jiǎn),從而把深?yuàn)W的理論指導(dǎo)融入具體軟件項(xiàng)目的開發(fā)設(shè)計(jì)中,讓學(xué)生更加深切地體會(huì)到什么叫學(xué)以致用,消除畏難情緒,培養(yǎng)和增強(qiáng)在軟件開發(fā)設(shè)計(jì)中自覺遵從軟件工程思想的習(xí)慣。本課程使用的case(computer aided software engineering,計(jì)算機(jī)輔助軟件工程)工具集采用sybase公司的powerdesigner。
2 將有價(jià)值的軟件工程知識(shí)引入課堂,教學(xué)采用項(xiàng)目貫通案例
為讓學(xué)生在中小規(guī)模的實(shí)訓(xùn)項(xiàng)目中也能體會(huì)到較大型項(xiàng)目通常會(huì)用到的一些軟件工程技術(shù),讓本課程更有實(shí)用價(jià)值,教師需要對(duì)學(xué)生補(bǔ)充一些軟件工程相關(guān)知識(shí),包括:設(shè)計(jì)模式、架構(gòu)設(shè)計(jì)、類的持久化以及數(shù)據(jù)庫(kù)設(shè)計(jì)、面向?qū)ο髮?shí)現(xiàn)以及文檔的書寫這四個(gè)方面。
為配合上述四個(gè)方面的軟件工程相關(guān)知識(shí)的介紹,教師采取“項(xiàng)目驅(qū)動(dòng)的案例教學(xué)”方法【2】,在課堂講授中引入一個(gè)完整的、規(guī)模適中、難易適度的軟件項(xiàng)目案例。該案例需要通俗易懂而又具有實(shí)際意義,涉及的應(yīng)用領(lǐng)域應(yīng)該是學(xué)生較為熟悉的,這樣理解起來更為容易。以此案例完整的開發(fā)設(shè)計(jì)過程為主線,借助這個(gè)貫穿整個(gè)課程教學(xué)進(jìn)程、文檔齊全的完整案例來將軟件項(xiàng)目開發(fā)設(shè)計(jì)過程中的各個(gè)環(huán)節(jié)串連起來,著重展現(xiàn)上述四個(gè)方面的知識(shí)運(yùn)用,讓學(xué)生熟悉和掌握軟件開發(fā)設(shè)計(jì)的具體實(shí)施步驟和技術(shù)。
3 學(xué)生實(shí)踐環(huán)節(jié)分小組按項(xiàng)目方式進(jìn)行
由于在本實(shí)訓(xùn)課程之前學(xué)生已經(jīng)學(xué)習(xí)過一門先導(dǎo)課程:“軟件需求分析實(shí)踐”,所以可以把學(xué)生仍然按照在“軟件需求分析實(shí)踐”課程中的各小組成員組成來進(jìn)行項(xiàng)目分組,這樣各小組便可將該課程中的最終成果——《軟件需求分析規(guī)格說明書》作為本課程的起點(diǎn)來進(jìn)行,需求捕獲工作流便只需粗略進(jìn)行。由于本課程側(cè)重于軟件開發(fā)過程的分析工作流和設(shè)計(jì)工作流,對(duì)實(shí)現(xiàn)工作流和測(cè)試工作流也只作粗略涉及。
每個(gè)項(xiàng)目小組通常為3到5人,分組時(shí)采用了優(yōu)勢(shì)互補(bǔ)的方式,注意合理搭配,盡量讓每組各個(gè)成員具有不同的優(yōu)勢(shì)能力,并讓其民主推選一名組長(zhǎng)負(fù)責(zé)組內(nèi)的組織和協(xié)調(diào)【3】。
教師的項(xiàng)目貫通案例教學(xué)分階段間插在學(xué)生實(shí)踐過程中,每介紹一個(gè)階段的rup理論,就緊跟幾次課的學(xué)生實(shí)踐環(huán)節(jié),如此交替進(jìn)行,當(dāng)教師的教學(xué)案例施教完畢,學(xué)生的項(xiàng)目也同步進(jìn)行到最后階段。
項(xiàng)目進(jìn)行中模仿軟件公司的例會(huì)形式,定期由項(xiàng)目小組長(zhǎng)召開小組討論會(huì)(如每周一次),對(duì)最近這段時(shí)間的項(xiàng)目進(jìn)展情況和技術(shù)問題進(jìn)行討論。每個(gè)開發(fā)設(shè)計(jì)階段結(jié)束時(shí)教師均要求各小組給出相應(yīng)的文檔,且每個(gè)階段完畢要進(jìn)行一個(gè)模擬的里程碑式的評(píng)審(教師參與作為評(píng)審團(tuán)的一員)【4】。
教師還應(yīng)在課程即將結(jié)束的最后課時(shí)中對(duì)各小組的項(xiàng)目完成情況及普遍存在的共性問題作一個(gè)分析總結(jié),并讓各小組組長(zhǎng)總結(jié)本組項(xiàng)目完成的經(jīng)驗(yàn)教訓(xùn),以利于同學(xué)之間取長(zhǎng)補(bǔ)短,活躍思維,提高分析總結(jié)問題的能力。
4 依托教學(xué)團(tuán)隊(duì),理論及案例部分采用輪流授課法
筆者所在的軟件工程系于2009年底成立了軟件工程教學(xué)團(tuán)隊(duì)。團(tuán)隊(duì)兼顧了職稱、學(xué)歷、教學(xué)、科研的合理搭配,由有大型項(xiàng)目開發(fā)和管理經(jīng)驗(yàn)的老教師提供指導(dǎo)來提升年輕教師的教學(xué)能力,并讓其參與到科研項(xiàng)目中積累項(xiàng)目經(jīng)驗(yàn)。本課程的任課教師均由該團(tuán)隊(duì)中選出。本課程所用的《軟件開發(fā)設(shè)計(jì)實(shí)訓(xùn)指導(dǎo)書》的編寫由各任課教師分工完成,每人負(fù)責(zé)完成一章內(nèi)容。本課程每個(gè)教學(xué)班安排30人左右,各教學(xué)班的教師全程負(fù)責(zé)該班整個(gè)課程的實(shí)踐指導(dǎo)環(huán)節(jié)。而理論及案例講授部分的教學(xué)則采用輪流授課法,實(shí)施方案是每個(gè)階段的課堂講授由編寫實(shí)訓(xùn)指導(dǎo)書的相應(yīng)章節(jié)的教師對(duì)全體教學(xué)班集體授課,其他教師同時(shí)到場(chǎng)輔導(dǎo)。具體各階段的課堂講授內(nèi)容安排如下:
1)rup總論以及課程概述
2)設(shè)計(jì)模式
3)常用的軟件架構(gòu)風(fēng)格及適用情況分析
4)對(duì)象持久化與數(shù)據(jù)庫(kù)設(shè)計(jì)
5)面向?qū)ο髮?shí)現(xiàn)及文檔編寫與整理
對(duì)應(yīng)進(jìn)行的學(xué)生的各階段實(shí)踐任務(wù)如下:
1)按既定方式確定各小組成員和組長(zhǎng),并且重新審核各組在先導(dǎo)課程“軟件需求分析實(shí)踐”中的最終成果《軟件需求分析規(guī)格說明書》,進(jìn)一步完成分析模型,得出用例圖,分析類圖,序列圖及協(xié)作圖。這一階段學(xué)生需提交分析模型文檔。
2)按照設(shè)計(jì)模式重新設(shè)計(jì)類。這一階段學(xué)生需完成兩個(gè)任務(wù):一是實(shí)現(xiàn)設(shè)計(jì)模型中的具體設(shè)計(jì)類,具體要求學(xué)生:使用設(shè)計(jì)模式和機(jī)制;創(chuàng)建初始設(shè)計(jì)類;確定持久類;定義類可視性;定義操作;定義方法;定義狀態(tài);定義屬性;定義依賴關(guān)系;定義關(guān)聯(lián);定義內(nèi)部結(jié)構(gòu);定義泛化關(guān)系;解決用例沖突。二是完成用例實(shí)現(xiàn)的設(shè)計(jì),主要設(shè)計(jì)模型內(nèi)的協(xié)作關(guān)系,以設(shè)計(jì)類及其對(duì)象為基礎(chǔ),描述各個(gè)特定用例的實(shí)現(xiàn)和協(xié)作。這一階段學(xué)生需提交設(shè)計(jì)模型、類圖和用例實(shí)現(xiàn)。
3)完成架構(gòu)設(shè)計(jì)。這一階段學(xué)生需要設(shè)計(jì)包結(jié)構(gòu),完成系統(tǒng)設(shè)計(jì)模型圖的實(shí)現(xiàn)子系統(tǒng)、接口設(shè)計(jì)類及架構(gòu)模型(組件圖),重新審查用例模型,得出用例模型的架構(gòu)視圖。這一階段學(xué)生需提交子系統(tǒng)設(shè)計(jì)文檔、接口設(shè)計(jì)文檔及架構(gòu)模型文檔。
4)根據(jù)持久類以及數(shù)據(jù)庫(kù)知識(shí)對(duì)數(shù)據(jù)庫(kù)進(jìn)行設(shè)計(jì)(包括字段編碼設(shè)計(jì))。這一階段學(xué)生需提交數(shù)據(jù)庫(kù)設(shè)計(jì)文檔。
5)本課程的最后階段。完成實(shí)施模型(部署圖);完成界面以及輸入輸出(報(bào)表等)設(shè)計(jì);完成具體子系統(tǒng)的編程工作,并進(jìn)行二次迭代重新審核前面的設(shè)計(jì)部分;整理測(cè)試報(bào)告;整理文檔并編寫軟件使用說明書。這一階段學(xué)生需提交組件圖、部署圖、輸入輸出設(shè)計(jì)說明及具體子系統(tǒng)代碼執(zhí)行程序。
5 考核方式強(qiáng)調(diào)過程考核,開發(fā)設(shè)計(jì)能力與書寫文檔能力并重
本課程的實(shí)訓(xùn)目標(biāo)是使學(xué)生能綜合運(yùn)用所學(xué)的知識(shí)進(jìn)行中小型應(yīng)用項(xiàng)目的軟件開發(fā)設(shè)計(jì)。為此,我們提出了本課程考核的指導(dǎo)思想:重視實(shí)訓(xùn)過程,看重軟件開發(fā)設(shè)計(jì)能力的提高,采用復(fù)合考核的方式,課程成績(jī)由平時(shí)考核、過程考核和項(xiàng)目驗(yàn)收答辯成績(jī)組成。重點(diǎn)突出“會(huì)不會(huì)做”,強(qiáng)調(diào)對(duì)學(xué)生的實(shí)際開發(fā)設(shè)計(jì)能力考核,同時(shí)注意防止輕視書寫文檔的觀念。這種考核方式不但能更客觀地反映學(xué)生的學(xué)習(xí)情況,還能引導(dǎo)學(xué)生有意識(shí)地加強(qiáng)軟件開發(fā)設(shè)計(jì)技能的培養(yǎng),開發(fā)設(shè)計(jì)能力與書寫文檔能力并重,更利于達(dá)到預(yù)期的教學(xué)效果。本課程具體的課程考核成績(jī)組成如下:
1)平時(shí)成績(jī)*10%(考勤成績(jī)*50%+小組開發(fā)設(shè)計(jì)工作中的合作精神表現(xiàn)*50%);
2)階段考核成績(jī)*60%(五個(gè)階段,各階段的能力表現(xiàn)及提交的文檔各占20 %);
3)項(xiàng)目驗(yàn)收成績(jī)*30%(項(xiàng)目文檔匯總整理占50%,項(xiàng)目答辯50%)。
6 結(jié)束語
“軟件開發(fā)設(shè)計(jì)實(shí)訓(xùn)”課程是軟件工程專業(yè)實(shí)踐類課程中非常核心的一門,其實(shí)踐性和綜合性都很強(qiáng),能集中訓(xùn)練和提高學(xué)生進(jìn)行軟件項(xiàng)目開發(fā)和設(shè)計(jì)的實(shí)際技能。其教學(xué)實(shí)施過程不應(yīng)被視為只要學(xué)生針對(duì)項(xiàng)目要求能編寫出相應(yīng)的軟件即可,而更應(yīng)注重軟件開發(fā)設(shè)計(jì)過程的方法和技能的培養(yǎng),以培養(yǎng)具有軟件工程思想的真正符合社會(huì)需求的軟件人才。本課程應(yīng)緊隨軟件工程學(xué)科的發(fā)展而不斷更新。在今后的課程開展過程中,其教學(xué)模式和措施還需要不斷創(chuàng)新、總結(jié)和改進(jìn),需要持續(xù)不斷地研究和探索。
論文 關(guān)鍵詞:軟件工程管理 開發(fā)人員 組織結(jié)構(gòu)用戶
論文摘要:通過對(duì)軟件產(chǎn)品特點(diǎn)的分析,討論軟件工程管理可能涉及的人員、組織機(jī)構(gòu)、用戶、控制、文檔資料等內(nèi)容.
一、引言
軟件工程管理目前還沒有引起人們的足夠重視。究其原因:首先是人的傳統(tǒng)觀念,工程管理不為人們所重視;另一方面軟件工程是一個(gè)新興的學(xué)科領(lǐng)域,軟件工程管理的問題也是剛被提出的。同時(shí),由于軟件產(chǎn)品的特殊性,使軟件工程管理涉及到很多學(xué)科。因此.對(duì)軟件工程管理,人們還缺乏經(jīng)驗(yàn)和技術(shù)。但事實(shí)證明,由管理失誤造成的后果要比程序錯(cuò)誤造成的后果更為嚴(yán)重。很少有軟件項(xiàng)目的實(shí)施進(jìn)程能準(zhǔn)確地符合預(yù)定目標(biāo)、進(jìn)度和預(yù)算的,這也就足以說明軟件工程管理的重要。
二、軟件工租,理的內(nèi)容
目前軟件生產(chǎn)自動(dòng)化程度很低,在開發(fā)過程中人是起決定性的因素,因此,軟件工程管理很大程度上是對(duì)人的管理。我們可根據(jù)軟件產(chǎn)品的特點(diǎn).分析軟件下程管理的具體內(nèi)容,它包括對(duì)開發(fā)人員、組織機(jī)構(gòu)、用戶、文檔資料等方而的管理。
(一)開發(fā)人員
軟件開發(fā)人員一般分為:項(xiàng)目負(fù)責(zé)人、系統(tǒng)分析員、高級(jí)程序員、初級(jí)程序員、資料員和其他輔助人員.根據(jù)項(xiàng)目的規(guī)模人小,有可能一人身兼數(shù)職,但職責(zé)必須明確。不同職責(zé)的人,要求的素質(zhì)不同。如項(xiàng)目負(fù)責(zé)人需要有組織能力、判斷能力和對(duì)重大問題能做出決策的能力;系統(tǒng)分析員則要有概括能力、分析能力和社交活動(dòng)能力;程序員需要有熟練的編程能力等。人員要少而精,選人要慎重。軟件生命期各個(gè)價(jià)段的活動(dòng)有分工又互相聯(lián)系。因此,要求選擇各類人員既能勝任工作,又要能相互很好地配合.沒有一個(gè)和諧的工作氣氛很難完成個(gè)復(fù)雜的軟件項(xiàng)目。
(二)組織機(jī)構(gòu)
組織機(jī)構(gòu)不等于開發(fā)人員的簡(jiǎn)單集合。這里的組織機(jī)構(gòu)要求:好的組織結(jié)構(gòu)、合理的人員分工和有效的通訊。軟件開發(fā)的組織機(jī)構(gòu)沒有統(tǒng)一的模式。下面簡(jiǎn)單介紹三種組織機(jī)構(gòu)。
1.主程序員組織機(jī)。ibm公司提出的主程序員組是軟件系統(tǒng)結(jié)構(gòu)化思想在組織上的體現(xiàn)。它的目的是為了保證全組的協(xié)調(diào)和統(tǒng)一。一位高級(jí)工程師(主程序員)主持計(jì)劃、協(xié)調(diào)和復(fù)審組的全部技術(shù)活動(dòng)。技術(shù)人員(一般25人)負(fù)責(zé)分析和開發(fā)活動(dòng),一位后援工程師支持高級(jí)工程師的工作,并且在該項(xiàng)目繼續(xù)進(jìn)行時(shí),可以代替高級(jí)工程師工作,以減少可能的損失.
2.專家組。專家組強(qiáng)調(diào)每個(gè)人的才能,把每個(gè)人都看作是某一方面的專家,由這些專家組成一個(gè)開發(fā)機(jī)構(gòu)。這種組織結(jié)構(gòu)雖然能發(fā)揮所有工作人員的積極性,但往往有可能出現(xiàn)協(xié)調(diào)上的困難,選擇這種方式要慎重.
3.民主組織.民主組織由從事各方面工作的人員輪流擔(dān)任組長(zhǎng)。很顯然,這種組織結(jié)構(gòu)對(duì)調(diào)動(dòng)積極性和個(gè)人的創(chuàng)造性是很值得稱道的。但是由于過多地進(jìn)行組長(zhǎng)信息“轉(zhuǎn)移”不符合軟件工程化的方向。
(三)用戶
我們是為用戶開發(fā)軟件的,在開發(fā)過程中自始至終必須得到用戶的密切合作和支持。作為項(xiàng)目負(fù)責(zé)人,要特別注意與用戶保持聯(lián)系,掌握用戶的心理和動(dòng)態(tài).防止來自用戶的各種干找和阻力。
1.用戶不積極,不配合。這種表現(xiàn)通常來自對(duì)采用先進(jìn)技術(shù)持懷疑態(tài)度的用戶,他們心理上的抵觸情緒會(huì)在行動(dòng)上表現(xiàn)為消極、漠不關(guān)心。在需求階段,做好這部分人的工作很重要,通過他們中的業(yè)務(wù)骨千,才能真正了解到用戶的要求。要使他們認(rèn)識(shí)到: 計(jì)算 機(jī)的 發(fā)展 和應(yīng)用是 現(xiàn)代 化的必然趨勢(shì),使用計(jì)算機(jī)將會(huì)帶來巨大的 經(jīng)濟(jì) 效益:讓他們掌握新的技術(shù)和方法去取代某些可能過時(shí)的或淘汰的專長(zhǎng)。
2.用戶求快求全.這種表現(xiàn)來自對(duì)使用計(jì)算機(jī)持積極態(tài)度的人.他們中一部分人希望一個(gè)早上就能用上計(jì)算機(jī),并且全能用上計(jì)算機(jī)。要他們認(rèn)識(shí)到;開發(fā)一個(gè)軟件項(xiàng)目不是一朝一夕就能完成的,軟件工程不是靠人海戰(zhàn)術(shù)就能加快的工期。另外,即使計(jì)算機(jī)能夠處理的事情,系統(tǒng)也不能下于包羅萬象,貪大求全。要根據(jù)現(xiàn)有的條件量力而行。如果系統(tǒng)大而全,必然會(huì)很復(fù)雜,開發(fā)時(shí)間就拖得很長(zhǎng),因此可能會(huì)導(dǎo)致一個(gè)系統(tǒng)的失敗或性能太差.
3.用戶需求變化.在軟件開發(fā)過程中,用戶可能會(huì)不斷提出新的要求和修改以前提出的要求。從軟件工程的角度不希望有這種變化。但實(shí)際上,不允許用戶提出變動(dòng)的要求是不可能的.因?yàn)橐环矫婷總€(gè)人對(duì)新事物有一個(gè)認(rèn)識(shí)過程,不可能一下子提出全面的、準(zhǔn)確的要求:另一方而還要考慮到與用戶的關(guān)系。對(duì)來自用戶的這種變化要正確對(duì)待:要向用戶解釋軟件工程的 規(guī)律 ,并在可能的條件下部分或有條件地滿足用戶的合理要求.例如:軟件需求分析階段結(jié)束后軟件的設(shè)計(jì)口標(biāo)已經(jīng)確定,這時(shí)用戶要求的重大變化要導(dǎo)致設(shè)計(jì)目標(biāo)的變化,特別是到軟件開發(fā)的后期,一般不可能滿足這種變化的要求。要向用戶解釋清楚工程的內(nèi)在規(guī)律,但對(duì)用戶提出的如性能等局部方而的要求,只要是合理的,就要加以考慮。
4控制。人員控制是對(duì)開發(fā)組織內(nèi)部人員控制。就是要保證開發(fā)人員的積極性和穩(wěn)定性。人員的頻繁更換或流動(dòng)將會(huì)大大增加軟件出錯(cuò)誤的機(jī)會(huì)。至少要保證軟件項(xiàng)目每一期工程或軟件生命期每一階段中人員的相對(duì)穩(wěn)定性。同時(shí)注意發(fā)揮每個(gè)開發(fā)人員的積極性和創(chuàng)造性。經(jīng)費(fèi)控制要編制詳細(xì)的經(jīng)費(fèi)預(yù)算。并在各階段進(jìn)行經(jīng)費(fèi)的核算。在經(jīng)費(fèi)上失去控制,軟件項(xiàng)目就沒有經(jīng)濟(jì)保證。質(zhì)量控制與各階段的復(fù)審在意義和作用上是一致的,在此不再敘述。
5.文檔資料。開發(fā)過程的各種活動(dòng)后都要反映在文檔資料上。每一個(gè)階段的文檔資料是以后各階段工作的基礎(chǔ),又是對(duì)前面各階段工作的復(fù)審。軟件工程管理很大程度上是通過對(duì)文檔資料管理來實(shí)現(xiàn)的。因此,要把開發(fā)過程中的初步設(shè)計(jì)、中間過程、最后結(jié)果等建立成一套完整的文檔資料。文檔標(biāo)準(zhǔn)化是文檔管理的重要方面。
三、結(jié)束語
在當(dāng)今的軟件工程時(shí)代,每個(gè)項(xiàng)目涉及眾多的人力和物力,管理問題日益突出。在實(shí)際工作中,不管是否正式提出管理問題。都在自覺或不自覺地進(jìn)行著管理,只不過是管理的好壞程度不同而已。隨著軟件規(guī)模的不斷增大.開發(fā)人員也隨著增多,開發(fā)時(shí)間也相應(yīng)持續(xù)增長(zhǎng)。而對(duì)于規(guī)模大、人員多、開發(fā)時(shí)間長(zhǎng)的軟件項(xiàng)目,必須要有良好的管理和力求在確定的時(shí)間和預(yù)算范圍內(nèi)有效地、合理地組織人力、物力.按計(jì)劃完成預(yù)定的軟件項(xiàng)目。
2004年,世界工程師大會(huì)在中國(guó)召開,會(huì)議的主題是“工程師塑造可持續(xù)發(fā)展的未來”。這個(gè)主題告訴我們,“工程師”對(duì)人類未來發(fā)展的重要性,同時(shí)也告訴我們“工程教育”對(duì)人類未來發(fā)展的重要性。[1]應(yīng)該看到,盡管一些應(yīng)用型本科院校把培養(yǎng)“一線工程師”作為學(xué)校的辦學(xué)宗旨,并在此基礎(chǔ)上對(duì)教學(xué)模式、教學(xué)方法進(jìn)行了一系列的教學(xué)改革,但由于與企業(yè)的結(jié)合不夠緊密,高等工程教育所培養(yǎng)出的“一線工程師”與企業(yè)、與社會(huì)的脫節(jié)比較嚴(yán)重,不能適應(yīng)現(xiàn)代社會(huì)發(fā)展的需求。
2010年6月教育部基于提高工科院校專業(yè)教育教學(xué)水平而正式啟動(dòng)推出的“卓越工程師教育培養(yǎng)計(jì)劃”(以下簡(jiǎn)稱“卓越計(jì)劃”)[4]是貫徹落實(shí)《國(guó)家中長(zhǎng)期教育改革和發(fā)展規(guī)劃綱要(2010-2020年)》和《國(guó)家中長(zhǎng)期人才發(fā)展規(guī)劃綱要(2010-2020年)》的重大教育計(jì)劃。該計(jì)劃旨在培養(yǎng)造就一大批創(chuàng)新能力強(qiáng)、適應(yīng)經(jīng)濟(jì)社會(huì)發(fā)展需要的高質(zhì)量各類型工程技術(shù)人才,為國(guó)家走新型工業(yè)化發(fā)展道路、建設(shè)創(chuàng)新型國(guó)家和人才強(qiáng)國(guó)戰(zhàn)略服務(wù),對(duì)促進(jìn)高等教育面向社會(huì)需求培養(yǎng)人才,全面提高工程教育人才培養(yǎng)質(zhì)量具有十分重要的示范和引導(dǎo)作用。
上海應(yīng)用技術(shù)學(xué)院“軟件工程”專業(yè)從 2010 年起即著手準(zhǔn)備,在原有專業(yè)設(shè)置基礎(chǔ)上不斷探索與實(shí)踐,根據(jù)it學(xué)科行業(yè)發(fā)展的特殊性,制定具有前瞻性的人才培養(yǎng)標(biāo)準(zhǔn),并通過全面修訂人才培養(yǎng)方案、實(shí)施人才培養(yǎng)模式、教學(xué)方式、訓(xùn)練方式和評(píng)價(jià)方式等的改革。
一、培養(yǎng)模式
本專業(yè)實(shí)施“3+1”校企聯(lián)合培養(yǎng)模式,學(xué)生須接受3年的在校培養(yǎng),累計(jì)1年的企業(yè)實(shí)踐和畢業(yè)設(shè)計(jì)。前三年學(xué)生在校學(xué)習(xí)學(xué)科基礎(chǔ)知識(shí)和軟件工程的基本理論知識(shí)和技能,打好從事軟件工程領(lǐng)域工作的扎實(shí)專業(yè)基礎(chǔ)。在校學(xué)習(xí)過程中,定期聘請(qǐng)企業(yè)教師參與到教學(xué)實(shí)踐中,使學(xué)生對(duì)企業(yè)的生產(chǎn)實(shí)際有初步的了解。
第四年學(xué)生將被安排在合作企業(yè)進(jìn)行為期一年的學(xué)習(xí)與實(shí)踐。一些與企業(yè)聯(lián)系密切的專業(yè)課程及畢業(yè)設(shè)計(jì)在企業(yè)完成,學(xué)生參與到企業(yè)的各個(gè)項(xiàng)目組,隨項(xiàng)目組一起參與實(shí)際項(xiàng)目的開發(fā)。項(xiàng)目組負(fù)責(zé)人將視學(xué)生為自己的員工,分派合適的工作要學(xué)生隨導(dǎo)師或獨(dú)立完成。通過參加一個(gè)或幾個(gè)實(shí)際項(xiàng)目的工作,獨(dú)立地完成一部分工作,并以企業(yè)標(biāo)準(zhǔn)進(jìn)行考核,使學(xué)生對(duì)軟件標(biāo)準(zhǔn)化設(shè)計(jì)的全過程有更深入的了解。增強(qiáng)學(xué)生的責(zé)任心,提高學(xué)生的實(shí)際工作能力。
二、培養(yǎng)標(biāo)準(zhǔn)
按照教育部“卓越工程師教育培養(yǎng)計(jì)劃”的總體工作思路和標(biāo)準(zhǔn)要求,上海應(yīng)用技術(shù)學(xué)院“軟件工程專業(yè)卓越計(jì)劃”將以“培養(yǎng)面向未來國(guó)家建設(shè)需要,適應(yīng)未來科技發(fā)展,德智體全面發(fā)展,掌握軟件工程學(xué)科的基本原理和基本知識(shí),具有扎實(shí)的基礎(chǔ)理論、寬厚的專業(yè)知識(shí)和良好的實(shí)踐能力,獲得工程師基本訓(xùn)練,能勝任軟件工程項(xiàng)目的規(guī)劃、設(shè)計(jì)、實(shí)施、管理、研究、教育,以及投資與開發(fā)等工作,具有創(chuàng)新精神和國(guó)際視野的卓越的專業(yè)工程師”。
三、培養(yǎng)方案架構(gòu)
按照課程群和模塊化的指導(dǎo)思想搭建培養(yǎng)方案的課程架構(gòu),滿足不同學(xué)生、企業(yè)對(duì)知識(shí)能力培養(yǎng)的需求。培養(yǎng)方案課程體系總體架構(gòu)如圖1所示。1-5學(xué)期按照課程群進(jìn)行教學(xué),滿足學(xué)生對(duì)不同知識(shí)能力的需求;第6學(xué)期根據(jù)學(xué)生實(shí)習(xí)企業(yè)對(duì)知識(shí)能力的需求分模塊進(jìn)行教學(xué);第7-8學(xué)期進(jìn)入對(duì)口的企業(yè)實(shí)習(xí)并完成畢業(yè)設(shè)計(jì)。
四、校內(nèi)培養(yǎng)方案
校內(nèi)培養(yǎng)方案的設(shè)計(jì)目標(biāo)是通過學(xué)習(xí)使學(xué)生具有較強(qiáng)的工程意識(shí)、工程素質(zhì)、工程實(shí)踐能力,成為專業(yè)知識(shí)扎實(shí)、動(dòng)手能力突出、素質(zhì)優(yōu)良的卓越軟件技術(shù)人才。為了保證卓越工程師培養(yǎng)計(jì)劃的實(shí)現(xiàn),制定了卓越工程師計(jì)劃專業(yè)知識(shí)與能力的實(shí)現(xiàn)矩陣,進(jìn)一步明確了本科課程體系設(shè)置,包括課程模塊的構(gòu)成、具體翔實(shí)的課程教學(xué)目標(biāo)以及教學(xué)考查方式。結(jié)合專業(yè)特點(diǎn)以及學(xué)校學(xué)院的教學(xué)平臺(tái)、 教學(xué)設(shè)施、教學(xué)創(chuàng)新實(shí)踐基地等,加強(qiáng)了教育教學(xué)中的基礎(chǔ)性、創(chuàng)新性、實(shí)踐性、國(guó)際化,使專業(yè)的教育教學(xué)更上一個(gè)新的臺(tái)階。
(一)課程群劃分
將課程劃分為三條主線進(jìn)行教學(xué):1.基本理論課群,包括操作系統(tǒng)、計(jì)算機(jī)網(wǎng)絡(luò)、離散數(shù)學(xué)、數(shù)據(jù)結(jié)構(gòu)、算法、計(jì)算機(jī)原理等。本部分課程培養(yǎng)學(xué)生計(jì)算機(jī)學(xué)科的基本理論和體系結(jié)構(gòu),使學(xué)生具備堅(jiān)實(shí)的理論基礎(chǔ),為其今后的繼續(xù)學(xué)習(xí)和發(fā)展打下基礎(chǔ),同時(shí)滿足學(xué)生考研需求。2.程序設(shè)計(jì)能力課程群,.net、java兩個(gè)主流平臺(tái)并重,再加上三門培養(yǎng)綜合設(shè)計(jì)能力的課程,以提高學(xué)生的實(shí)踐動(dòng)手能力,并滿足不同企業(yè)對(duì)開發(fā)工具的需求。為了加強(qiáng)學(xué)生的程序設(shè)計(jì)能力,我們?cè)谡n程設(shè)置上體現(xiàn)了在校學(xué)習(xí)期間三年不斷線的思想,每學(xué)期都有與程序設(shè)計(jì)有關(guān)的課程和實(shí)訓(xùn)。要求學(xué)生第一年編寫代碼不少于5000行,第二年不少于10000行,第三年不少于20000行。在進(jìn)入企業(yè)之時(shí),已經(jīng)具備了較強(qiáng)的程序設(shè)計(jì)能力。3.軟件工程能力課程群,以提供學(xué)生軟件工程的管理與被管理能力。
(二)課程模塊劃分
根據(jù)合作企業(yè)的知識(shí)能力的不同需求劃分為若干不同模塊。通過對(duì)學(xué)生工作去向的跟蹤調(diào)查和軟件工程行業(yè)需求調(diào)查,確定了erp開發(fā)、web應(yīng)用開發(fā)、手機(jī)應(yīng)用開發(fā)、軟件咨詢服務(wù)等幾個(gè)方向。每個(gè)方向設(shè)立若干課程構(gòu)成若干課程模塊,對(duì)應(yīng)不同的去向,滿足不同企業(yè)的需求。在基本能力培養(yǎng)的基礎(chǔ)上,根據(jù)學(xué)生第四年去向選擇模塊,在第6學(xué)期完成,由企業(yè)方參與教學(xué),完成學(xué)生進(jìn)入企業(yè)的過渡。
五、企業(yè)培養(yǎng)方案
企業(yè)培養(yǎng)方案突出了理論和實(shí)踐綜合素質(zhì)的培養(yǎng),在教學(xué)體系上形成了企業(yè)導(dǎo)師教學(xué)講解、專題實(shí)訓(xùn)、項(xiàng)目實(shí)踐的“三位一體”、工學(xué)交替的人才培養(yǎng)方案。
整個(gè)企業(yè)階段的培養(yǎng)方案劃分為企業(yè)工程教育或?qū)I(yè)特色實(shí)習(xí)(累計(jì)15周)、現(xiàn)場(chǎng)工程實(shí)踐和專業(yè)綜合設(shè)計(jì)(累計(jì)25周)兩個(gè)部分,共40周,其中:
1.企業(yè)工程教育或?qū)I(yè)特色實(shí)習(xí)(15周)
根據(jù)企業(yè)的業(yè)務(wù)和項(xiàng)目情況設(shè)置相關(guān)課程,折合15周。目的是培養(yǎng)軟件企業(yè)需要的一線工程人才。為了提高本專業(yè)特色實(shí)習(xí)的質(zhì)量,聘用計(jì)算機(jī)軟件工程專業(yè)知識(shí)過硬、實(shí)踐經(jīng)驗(yàn)豐富的技術(shù)人員為教師。在實(shí)習(xí)過程中,采用案例教學(xué)法,把企業(yè)實(shí)際軟件工程項(xiàng)目納入學(xué)生實(shí)習(xí)范圍,讓學(xué)生接觸和開發(fā)企業(yè)實(shí)際的工程項(xiàng)目。為了提高實(shí)習(xí)效果,企業(yè)工程教育要做到講授、訓(xùn)練、實(shí)踐穿插進(jìn)行,使學(xué)生全面感受企業(yè)的工作環(huán)境、管理體制和項(xiàng)目開發(fā)過程,做到學(xué)生學(xué)習(xí)的專業(yè)特色內(nèi)容與企業(yè)實(shí)踐相結(jié)合。
2.現(xiàn)場(chǎng)工程實(shí)踐或?qū)I(yè)綜合設(shè)計(jì)(25周)
為使學(xué)生成為滿足軟件產(chǎn)業(yè)需求的創(chuàng)新型人才,專業(yè)綜合設(shè)計(jì)采用項(xiàng)目驅(qū)動(dòng)的實(shí)習(xí)模式,專業(yè)綜合設(shè)計(jì)通過參與企業(yè)實(shí)際項(xiàng)目完成,共25周。專業(yè)綜合設(shè)計(jì)課題全部來源于企業(yè)的工程項(xiàng)目,實(shí)行1人1題,由實(shí)習(xí)單位的專業(yè)技術(shù)人員和學(xué)校的專業(yè)教師擔(dān)任設(shè)計(jì)指導(dǎo)教師。專業(yè)綜合設(shè)計(jì)結(jié)合實(shí)際工程問題,進(jìn)行有針對(duì)性的研究與實(shí)踐,培養(yǎng)學(xué)生綜合運(yùn)用所學(xué)知識(shí)和技能、分析與解決實(shí)際問題的能力,培養(yǎng)學(xué)生勇于探索的創(chuàng)新精神、嚴(yán)肅認(rèn)真的科學(xué)態(tài)度和嚴(yán)謹(jǐn)求實(shí)的工作作風(fēng)。
經(jīng)過一年多的實(shí)踐,卓越工程師人才培養(yǎng)成效顯著,一批特色鮮明、實(shí)踐能力強(qiáng)的工程應(yīng)用型創(chuàng)新人才脫穎而出,2012屆參加卓越工程師培養(yǎng)方式的學(xué)生,在就業(yè)方面占據(jù)了明顯的優(yōu)勢(shì)。受到了企業(yè)的普遍歡迎。目前,2013屆學(xué)生參加卓越工程師培養(yǎng)計(jì)劃的工作正在進(jìn)行,受到2012屆成功運(yùn)作的影響,學(xué)生們積極性很高。在卓越工程師計(jì)劃的實(shí)施過程中,我們也發(fā)現(xiàn)了一些培養(yǎng)計(jì)劃中的不足之處,并在2013屆的實(shí)施中加以以調(diào)整。相信經(jīng)過幾年的努力,我們的培養(yǎng)方案會(huì)愈加成熟。
地方院校教學(xué)目標(biāo)是培養(yǎng)社會(huì)所需要的應(yīng)用型人才,這是其優(yōu)勢(shì)所在。實(shí)訓(xùn)教學(xué)是指獨(dú)立設(shè)課的實(shí)訓(xùn)課和理論課中的實(shí)訓(xùn)環(huán)節(jié),是實(shí)現(xiàn)培養(yǎng)目標(biāo)的主體教學(xué)環(huán)節(jié)之一。實(shí)訓(xùn)教學(xué)是培養(yǎng)學(xué)生專業(yè)技術(shù)應(yīng)用能力及分析問題和解決問題能力的重要途徑,是教育過程中不可缺失的重要環(huán)節(jié)。本課題的研究基于某些國(guó)內(nèi)外知名企業(yè)提供技術(shù)服務(wù)為基礎(chǔ),以梧州學(xué)院軟件工程專業(yè)為探索平臺(tái)進(jìn)行的教學(xué)改革實(shí)踐。校企合作的內(nèi)容主要包括實(shí)踐教學(xué)體系建設(shè)、實(shí)訓(xùn)教材建設(shè)、實(shí)訓(xùn)基地建設(shè)、產(chǎn)學(xué)研等多方面。
著力打造“4+5”的實(shí)踐教學(xué)體系
學(xué)院軟件專業(yè)打破傳統(tǒng)的三段式教學(xué),著力打造“4+5”的實(shí)踐教學(xué)體系。“4”是指突出培養(yǎng)學(xué)生四種能力(實(shí)踐能力、創(chuàng)造能力、就業(yè)能力和創(chuàng)業(yè)能力);“5”是指培養(yǎng)過程的“課程實(shí)驗(yàn)—期末實(shí)訓(xùn)--畢業(yè)實(shí)訓(xùn)—頂崗實(shí)習(xí)—?jiǎng)?chuàng)新性實(shí)踐活動(dòng)”五個(gè)模塊。五個(gè)模塊是根據(jù)軟件工程特點(diǎn),循序漸進(jìn)地培養(yǎng)四種能力,體現(xiàn)工學(xué)結(jié)合。這五個(gè)模塊和整個(gè)課程體系,都是圍繞主線來展開。其中的“創(chuàng)新性實(shí)踐活動(dòng)”對(duì)軟件技術(shù)人才來說是非常重要的,一個(gè)軟件就像一個(gè)作品,必須有創(chuàng)意和實(shí)用的算法。
校企合作,共同開發(fā)實(shí)訓(xùn)課程和教材
為了支持“一條主線,五個(gè)模塊”的實(shí)踐教學(xué)體系,學(xué)院軟件專業(yè)采取校企合作方式,共同開發(fā)實(shí)訓(xùn)課程,分別用于各個(gè)模塊教學(xué)中。目前,已與多家企業(yè)共同建設(shè)基于任務(wù)驅(qū)動(dòng)、項(xiàng)目導(dǎo)向、工作過程的《信息開發(fā)技術(shù)》課程,基于工作過程的 “教學(xué)做”一體化情景化教學(xué)的《網(wǎng)絡(luò)綜合布線》課程。與企業(yè)合作開發(fā)《信息開發(fā)技術(shù)教程》、《多媒體技術(shù)與應(yīng)用實(shí)訓(xùn)教程》、《網(wǎng)站規(guī)劃與設(shè)計(jì)實(shí)訓(xùn)教程》、《計(jì)算機(jī)組裝與維護(hù)實(shí)訓(xùn)教程》、《角色動(dòng)畫教程》等教材。
校企合作,共建校內(nèi)生產(chǎn)性實(shí)訓(xùn)基地
學(xué)院軟件專業(yè)采取校企合作方式,與多家企業(yè)共建網(wǎng)絡(luò)構(gòu)建、服務(wù)器、綜合布線實(shí)訓(xùn)室,實(shí)訓(xùn)室建設(shè)貫徹先進(jìn)性、真實(shí)性、工程性、開放性的建設(shè)原則,將實(shí)訓(xùn)基地建成具備多類網(wǎng)絡(luò)架構(gòu)真實(shí)環(huán)境,集教學(xué)、科研、工程、培訓(xùn)、技能鑒定等多種功能于一體的網(wǎng)絡(luò)技術(shù)與軟件工程中心,著力培養(yǎng)學(xué)生的職業(yè)技能和創(chuàng)新能力,提高人才培養(yǎng)質(zhì)量,提升社會(huì)服務(wù)能力。
以產(chǎn)學(xué)研充實(shí)教學(xué)內(nèi)容,提高教學(xué)和管理水平
為搞好產(chǎn)學(xué)研,學(xué)院建立二級(jí)科研機(jī)構(gòu)軟件開發(fā)中心,軟件專業(yè)教師在研究所兼職搞開發(fā),取得了良好的效果。先后完成了梧州市國(guó)稅限時(shí)辦結(jié)稅務(wù)系統(tǒng)、廣西財(cái)政廳的預(yù)算單位銀行賬戶管理系統(tǒng)、基于cmpp的短信系統(tǒng)的研究、廣西科技廳的nsq物流信息實(shí)時(shí)智能配對(duì)系統(tǒng)、新型農(nóng)村合作醫(yī)療信息系統(tǒng)等。在重大課題研究中積累了豐富的研究經(jīng)驗(yàn)。特別是在醫(yī)療衛(wèi)生行業(yè), 建立醫(yī)療衛(wèi)生行業(yè)綜合信息平臺(tái)。醫(yī)療衛(wèi)生行業(yè)以新型農(nóng)村合作醫(yī)療、城鎮(zhèn)居民健康檔案管理系統(tǒng)為切入點(diǎn),以現(xiàn)有系統(tǒng)為基礎(chǔ),以國(guó)家農(nóng)村合作醫(yī)療建設(shè)政策為指導(dǎo)思想,以具體的信息化項(xiàng)目作為實(shí)際載體,參與到醫(yī)療衛(wèi)生行業(yè)“一個(gè)平臺(tái)、四大系統(tǒng)”的建設(shè)中(即建立一個(gè)包含網(wǎng)絡(luò)硬件和基礎(chǔ)軟件的統(tǒng)一技術(shù)基礎(chǔ)平臺(tái),建立衛(wèi)生行政管理信息系統(tǒng)(衛(wèi)生電子政務(wù))、突發(fā)公共衛(wèi)生事件應(yīng)急系統(tǒng)(突發(fā)公共衛(wèi)生事件應(yīng)急指揮決策、疾病預(yù)防控制、衛(wèi)生監(jiān)督、醫(yī)療救治等系統(tǒng))、醫(yī)療服務(wù)信息系統(tǒng)(醫(yī)院信息)和衛(wèi)生應(yīng)用信息系統(tǒng)(合作醫(yī)療、社區(qū)衛(wèi)生、婦幼保健、醫(yī)教科研等系統(tǒng))),在加快全市公共衛(wèi)生信息化建設(shè)進(jìn)程,全面提高突發(fā)公共衛(wèi)生事件監(jiān)測(cè)、應(yīng)急反應(yīng)、醫(yī)療救治、執(zhí)法監(jiān)督和指揮決策的能力方面作出我們應(yīng)有的貢獻(xiàn)。
總結(jié)
軟件工程專業(yè)的“3+0.5+0.5”的教學(xué)模式的實(shí)訓(xùn)環(huán)節(jié)是按照校內(nèi)半年、校外半年的方式進(jìn)行組織的。校內(nèi)實(shí)訓(xùn)基地引入來自企業(yè)的真實(shí)項(xiàng)目,學(xué)生在貼合軟件企業(yè)工作環(huán)境的實(shí)訓(xùn)室中完成校內(nèi)綜合實(shí)訓(xùn)。校外實(shí)訓(xùn)基地由來自企業(yè)的兼職教師帶領(lǐng)在企業(yè)頂崗實(shí)習(xí)的學(xué)生參加企業(yè)項(xiàng)目的研發(fā),在實(shí)戰(zhàn)中進(jìn)一步深化所掌握的專業(yè)知識(shí)。通過分方向、多層次、分階段來逐步訓(xùn)練學(xué)生的專業(yè)技術(shù)能力和職業(yè)素質(zhì)。整個(gè)實(shí)訓(xùn)環(huán)節(jié)包括專業(yè)認(rèn)知、基本技能實(shí)訓(xùn)、核心技術(shù)實(shí)訓(xùn)、綜合實(shí)訓(xùn)、頂崗實(shí)習(xí)幾個(gè)環(huán)節(jié),實(shí)訓(xùn)涵蓋了基礎(chǔ)知識(shí)、專業(yè)核心技術(shù)及綜合能力培養(yǎng)等各個(gè)方面,所建立的實(shí)訓(xùn)教學(xué)體系有一定的借鑒意義。
目前流行的領(lǐng)域本體構(gòu)建方法有:英國(guó)edinbunrgh大學(xué)ai應(yīng)用研究所的enterprise項(xiàng)目組開發(fā)的“骨架法”,該方法使用middle—out開發(fā)方式提供與商業(yè)和企業(yè)有關(guān)的術(shù)語及其定義的集合;加拿大toronto大學(xué)企業(yè)集成實(shí)驗(yàn)室開發(fā)了tove項(xiàng)目本體,通過該本體來建立指定知識(shí)的邏輯模型;bernaras等人開發(fā)的歐洲eaprit kactus項(xiàng)目中由應(yīng)用來控制本體的開發(fā),每個(gè)應(yīng)用都有相應(yīng)的知識(shí)本體,這些本體即能復(fù)用其他的本體,又能集成到項(xiàng)目以后的本體應(yīng)用中;西班牙m(xù)adrid理工大學(xué)ai實(shí)驗(yàn)室開發(fā)的,methontology法構(gòu)建知識(shí)級(jí)本體;美國(guó)southern california大學(xué)信息科學(xué)研究所開發(fā)的sensus法,主要通過自然語言處理,提取和合并不同電子知識(shí)源的信息而得到該領(lǐng)域本體的內(nèi)容。
本文借鑒了上述傳統(tǒng)領(lǐng)域本體構(gòu)建方法中的基本思想,并在構(gòu)建框架中融合了軟件工程開發(fā)方法中的結(jié)構(gòu)化開發(fā)方法和原型化開發(fā)方法。
1 傳統(tǒng)領(lǐng)域本體構(gòu)建方法分析
1.1 共同點(diǎn)分析
縱觀上述“骨架法”、“評(píng)估法”、“bernaras”、“methonotology”及“sensus”方法構(gòu)建領(lǐng)域本體過程中的思路,它們之間存在以下共同點(diǎn):
(1)許多本體構(gòu)建方法都以一個(gè)具體任務(wù)為起點(diǎn),這樣易于知識(shí)的獲取和本體功能的描述。
(2)本體構(gòu)建大致可劃分為階段法(如骨架法)和演化法(如methontology法)。
(3)在構(gòu)建過程中可分為“非形式化描述本體”和用正規(guī)描述語言“形式化描述本體”前后兩個(gè)階段。
(4)希望通過累積的方法構(gòu)建本體,即先構(gòu)建一個(gè)基礎(chǔ)本體,然后做進(jìn)一步開發(fā)。
(5)對(duì)于由同一個(gè)基礎(chǔ)本體構(gòu)建出的領(lǐng)域本體,由于高層概念的共享,本體系統(tǒng)之間具有互操作能力。
1.2 缺陷分析
ieee 1074—1995標(biāo)準(zhǔn)是軟件開發(fā)生命周期過程的標(biāo)準(zhǔn),其中包括模型階段、項(xiàng)目管理階段、軟件開發(fā)階段與集成階段4個(gè)開發(fā)階段,其中軟件開發(fā)階段的具體步驟如下:
(1)開發(fā)前期:主要進(jìn)行可行性研究等活動(dòng);
(2)開發(fā)階段:主要進(jìn)行需求分析、設(shè)計(jì)和實(shí)現(xiàn)等活動(dòng);
(3)開發(fā)后期:主要進(jìn)行軟件的安裝、試運(yùn)行、操作和維護(hù)等活動(dòng)。
與ieee 1074—1995標(biāo)準(zhǔn)對(duì)比而言,目前領(lǐng)域本體構(gòu)建還遠(yuǎn)遠(yuǎn)沒有成為一種工程性活動(dòng),還具有如下缺陷:
(1)沒有一種方法是完全成熟的,不論是bemaras法、sensus法、骨架法、評(píng)估法,還是methontology法。
(2)缺乏工程化的本體通用構(gòu)造方法和標(biāo)準(zhǔn)。由于每個(gè)研發(fā)團(tuán)隊(duì)處于不同的學(xué)科領(lǐng)域,雖然總結(jié)出各個(gè)領(lǐng)域不同的開發(fā)方法和體系結(jié)構(gòu),但是各個(gè)本體開發(fā)方法都不盡統(tǒng)一,缺乏通用的標(biāo)準(zhǔn)。
本文在領(lǐng)域本體構(gòu)建過程中揚(yáng)棄上述5種領(lǐng)域本體構(gòu)建方法中的優(yōu)缺點(diǎn),而且借鑒了軟件工程開發(fā)的基本標(biāo)準(zhǔn)。
2 基于軟件工程開發(fā)的領(lǐng)域本體構(gòu)建
2.1 構(gòu)建框架
本文在領(lǐng)域本體框架構(gòu)建的形式上采用結(jié)構(gòu)化方法中分段式模式,將整個(gè)領(lǐng)域本體構(gòu)建過程分為領(lǐng)域本體規(guī)劃階段、領(lǐng)域本體分析階段、領(lǐng)域本體設(shè)計(jì)階段、領(lǐng)域本體實(shí)施階段及領(lǐng)域本體運(yùn)行階段,每個(gè)階段都有自己獨(dú)立的目標(biāo)及主要任務(wù),前一階段任務(wù)的完成是后一階段任務(wù)開始的前提和基礎(chǔ),后一階段任務(wù)通常是對(duì)前一階段提出的解決問題方法的進(jìn)一步具體化,即該過程是按照軟件工程開發(fā)的生命周期流程來逐步解決問題的。在領(lǐng)域本體分析階段,根據(jù)領(lǐng)域本體規(guī)劃階段提出的具體要求和目標(biāo),采用原型化方法不斷地對(duì)分析結(jié)果進(jìn)行修改和完善。其構(gòu)建框架如圖1所示。
2.2 構(gòu)建框架分析
2.2.1 領(lǐng)域本體規(guī)劃階段
(1)確定領(lǐng)域本體的用途和范圍
確定領(lǐng)域本體范圍的方式之一是設(shè)計(jì)并填寫本體的性能調(diào)查表,以下從需求的角度對(duì)本體支持的性能調(diào)查表進(jìn)行簡(jiǎn)單的分類:
①需求細(xì)化。需求細(xì)化過程必須滿足何種標(biāo)準(zhǔn)?會(huì)產(chǎn)生多余的需求嗎?需求是客戶的清晰表述嗎?
②需求追溯能力。需求還能分解嗎?需求的來源是什么?誰記錄需求?需求在特定的設(shè)計(jì)團(tuán)隊(duì)中適用嗎?
③需求滿足。需求能夠滿足嗎??jī)蓚€(gè)或多個(gè)需求間相互沖突嗎?更高抽象級(jí)別的需求怎樣滿足評(píng)估?
④文檔生成。需求屬于哪類文檔?哪些是與需求文檔中的段落相符的需求?不屬于客戶報(bào)告的需求有哪些(商業(yè)機(jī)密)?
⑤升級(jí)。這是需求的最新版本嗎?需求的舊版本有哪些?為什么還要改變需求?變化對(duì)需求文檔的一致性和完整性有影響嗎?
(2)考慮復(fù)用現(xiàn)有領(lǐng)域本體
一些本體已經(jīng)初具規(guī)模,可以在網(wǎng)上找到相應(yīng)的本體庫(kù)及相關(guān)資料,在具體開發(fā)之前,有必要在這些本體中尋找系統(tǒng)可以重用的本體,這樣可以省去元本體和頂層本體的建立,而把本體建立的目標(biāo)重點(diǎn)放在領(lǐng)域本體的建立上。
2.2.2領(lǐng)域本體分析階段
(1)定義類和類層次
類描述了領(lǐng)域的概念而非單詞。在類和類層次的定義過程中,需要依據(jù)以下8個(gè)原則:
①確保類層次的正確性
恰當(dāng)使用is—a和kind-of等類間關(guān)系,is-a關(guān)系指類a是類b的子類,前提是b的每個(gè)實(shí)例也是a的實(shí)例。類的子類表示概念是kind-of父類表示的概念;層次關(guān)系間具有傳遞性,并應(yīng)區(qū)分直接子類和間接子類的關(guān)系;避免類層次的循環(huán),確保類層次隨著領(lǐng)域發(fā)展而進(jìn)化。
②分析類層次中的兄弟關(guān)系
在類層次中,兄弟關(guān)系是同一類的直接子類,并在同一抽象級(jí)別上。關(guān)于直接子類的個(gè)數(shù)并沒有明確規(guī)定,但父類一般只有2-12個(gè)直接子類,過多或過少不都合適。
③多重繼承關(guān)系
一個(gè)類可以是幾個(gè)類的子類,則子類的實(shí)例是其所有父類的實(shí)例,子類將繼承所有父類的屬性和關(guān)系約束。
④引入新類的時(shí)機(jī)
當(dāng)類的子類有其父類不具有的新屬性,或有已定義的新屬性值,或覆蓋父類屬性的約束,此時(shí)可以引入一個(gè)新類。新類可以沒有任何新的屬性,沒有必要為了一個(gè)額外的限定條件來創(chuàng)建新類。
⑤新類或特性值
如果有不同屬性值的概念變成其他類中不同屬性的約束,則應(yīng)該生成新類,以便加以區(qū)別;類的單個(gè)實(shí)例不應(yīng)經(jīng)常改變,當(dāng)使用概念的外在(非固有)屬性來區(qū)別類時(shí),這些類的實(shí)例將需從一個(gè)類移動(dòng)到另一類。
⑥類或?qū)嵗?
判斷類結(jié)束和單個(gè)實(shí)例開始依賴于知識(shí)表示中最低的粒度級(jí),而粒度級(jí)又由本體應(yīng)用來確定;如果概念已經(jīng)形成自然的層次,則應(yīng)表述為類,單個(gè)實(shí)例是最特殊的概念表述,實(shí)例沒有層次性。
⑦限定范圍
確保不包括類具有的所有特性,僅在本體中表述類最突出的特性,不增添所有類(術(shù)語)間全部的關(guān)系。
⑧不相關(guān)子類
很多系統(tǒng)明確指定某些子類不相交,如果類沒有任何共同的實(shí)例,則它們不相交。
(2)定義類的屬性及其約束
類的屬性是描述類和實(shí)例的特性,也是類間區(qū)分的特性。通常有四種對(duì)象特性能變成本體中的屬性:
①固有的特性,如圓柱的半徑和高度。
②外在的屬性,如螺旋的設(shè)計(jì)者。
③局部,若對(duì)象是結(jié)構(gòu)化的,物理和抽象的部分。
④與其他個(gè)體間的關(guān)系。
不同的約束可以用來描述屬性的值類型、值范圍、值基準(zhǔn),及值的其他特征。下面從5個(gè)方面來描述屬性普通的約束:
①屬性基數(shù)?;鶖?shù)定義屬性有多少值。有些系統(tǒng)定義單一和多個(gè)基數(shù),而有些系統(tǒng)用最小和最大基數(shù)來描述屬性值的個(gè)數(shù)。有些屬性設(shè)置最大基數(shù)為o,目的是為了表示特定子類的屬性不能有任何值。
②屬性值類型。通常屬性值類型可分為字符串型(string)、“浮點(diǎn)或整數(shù)”數(shù)值型(float或integer number)、“是或否”布爾型(yes或no boolean)、枚舉型或符號(hào)型(enumerated或symbol)、實(shí)例型(instance)。
③屬性的領(lǐng)域和范圍
屬性應(yīng)能描述其領(lǐng)域中所有的類,屬性應(yīng)能填充其范圍內(nèi)所有類的實(shí)例,同時(shí)不應(yīng)指定屬性的范圍是本體中最通用的類。
④逆屬性
屬性值可能會(huì)依賴于另一屬性值,稱為逆關(guān)系,在兩個(gè)方向保存此數(shù)據(jù)是冗余的,通常使用逆屬性,可以自動(dòng)填充另一逆關(guān)系的值。
⑤默認(rèn)值
如果類的多數(shù)實(shí)例的特定屬性值是相同的,則可把該值定義成默認(rèn)值。當(dāng)類的每個(gè)新實(shí)例包含這個(gè)屬性值時(shí),系統(tǒng)自動(dòng)填充默認(rèn)值,還能把此值改成約束允許的其他值。
(3)生成實(shí)例
定義類的單個(gè)實(shí)例首先需要選擇類,接著生成這些類的單個(gè)實(shí)例,最后填充屬性值。
為了使生成的類、類間層次關(guān)系、類屬性及約束、類實(shí)例等更符合構(gòu)建目標(biāo)和用途,并為了保障在較短時(shí)間內(nèi)適合用戶的需求,在領(lǐng)域?qū)<业闹笇?dǎo)下,采用原型化軟件工程開發(fā)方法對(duì)該階段產(chǎn)生的成果不斷修改和完善。
2.2.3 領(lǐng)域本體設(shè)計(jì)階段
(1)領(lǐng)域本體的形式化表示
一般用語義模型表示領(lǐng)域本體。perez等人用分類法組織領(lǐng)域本體,歸納出5個(gè)基本建模元語:
①類(classes)或概念(concepts)
從語義上講,它表示的是對(duì)象的集合,其定義一般采用框架(frame)結(jié)構(gòu),包括概念的名稱、與其他概念之間的關(guān)系集合、以及用自然語言對(duì)概念的描述。
②關(guān)系(relatiom)
在領(lǐng)域中概念之間的交互作用,形式上定義為n維笛卡爾積的子集,即:r=c1×c2×……×cn
③函數(shù)(functions)
一類特殊的關(guān)系。該關(guān)系的前n-1個(gè)元素可以惟一決定第n個(gè)元素。形式化定義為f:c1×c2×……×cn-1→cn。
④公理(axioms)
代表永真斷言,如概念乙屬于概念甲的范圍。
⑤實(shí)例(instances)
代表元素,從語義上講實(shí)例表示的就是對(duì)象。
另外,從語義上講基本的關(guān)系有4種:整體與部分關(guān)系(part—whole)、分類關(guān)系(is—a)、實(shí)例與概念關(guān)系(instance—concept)和屬性關(guān)系(attribute-of)。但在實(shí)際建模過程中,概念之間的關(guān)系不限于上述4類關(guān)系,可以根據(jù)領(lǐng)域的具體情況定義相應(yīng)的關(guān)系。
(2)領(lǐng)域本體的形式化描述語言
領(lǐng)域本體可用自然語言、框架、語義網(wǎng)絡(luò)或邏輯語言等來描述。但對(duì)計(jì)算機(jī)來說,形式化描述語言做為一種可供計(jì)算機(jī)處理的概念模型,應(yīng)具備以下條件:
①應(yīng)該具有較強(qiáng)的表示能力,同時(shí)也應(yīng)兼顧推理能力,以滿足智能檢索中進(jìn)一步實(shí)現(xiàn)推理的需求。
②應(yīng)該具有較強(qiáng)的內(nèi)在邏輯系統(tǒng)支持。
③應(yīng)該具備一致的描述概念和表示數(shù)據(jù)的能力。
④應(yīng)該盡可能與w3c已有標(biāo)準(zhǔn)兼容,從而保證其持續(xù)發(fā)展需求。
⑤應(yīng)該具備xml語法特性,最好是基于語義web。
⑥所表示的領(lǐng)域知識(shí)是形式化的,即機(jī)器可讀和可理解的。
目前已經(jīng)開發(fā)了6種本體語言,有些是直接基于xml語言的語法,如簡(jiǎn)單html本體擴(kuò)展(simple html ontologyextension,shoe)、本體標(biāo)記語言(ontology markup language,oml)和基于xml的本體交換語言(xml—based ontology exchange language,xol);另外有2種本體語言是建立于rdf(s)之上,以便改善rdf(s)的特征:本體交互語言(ontology interchange language,oil)和darpa主體標(biāo)記語言+本體推理層(darap agent markup language with ontology inference layer,daml+oil)。最近,以oil和daml+oil語言為起點(diǎn),已開發(fā)出語義網(wǎng)所用的web本體語言(web ontology language,owl)。各個(gè)本體語言之間的層次化關(guān)系如圖2所示:
(3)領(lǐng)域本體的文檔化構(gòu)建和存儲(chǔ)
構(gòu)建領(lǐng)域本體文檔,可對(duì)后續(xù)領(lǐng)域本體修改和進(jìn)化奠定基礎(chǔ)。1個(gè)owl文檔由以下4個(gè)部分組成:
①本體首部:包含了文檔的元數(shù)據(jù),如導(dǎo)入數(shù)據(jù)、版本數(shù)據(jù)及與其他owl文檔的兼容數(shù)據(jù)。
②類的定義:通過(owl:class)標(biāo)簽定義類,使用(rdfs:subclassof)來繼承1個(gè)或多個(gè)類,由此建立類的層次關(guān)系。類的語義用類的描述來表達(dá)。owl區(qū)分了6種類的描述:1個(gè)類標(biāo)識(shí),1個(gè)詳細(xì)的列舉,1個(gè)屬性的限定,2個(gè)或多個(gè)類描述的交,2個(gè)或多個(gè)類描述的并,1個(gè)類描述的補(bǔ)。
③屬性的定義:owl存在2種類型的屬性,即對(duì)象屬性(object property)和數(shù)據(jù)類型屬性(datatype property)。對(duì)象屬性是用來表述2個(gè)類實(shí)例之間的關(guān)系,而數(shù)據(jù)類型屬性則描述類的實(shí)例、rdf literals,以及xml schema數(shù)據(jù)類型之間的關(guān)系。屬性之間還能夠定義子屬性關(guān)系以及為屬性聲明額外的特征(傳遞屬性和逆屬性)。如能夠定義father是parent的子屬性,定義anceator為傳遞屬性,定義child為parent的逆屬性。
④個(gè)體(實(shí)例)的定義:一個(gè)個(gè)體是一個(gè)特定類的實(shí)例,并與其屬性相聯(lián)系。
2.2.4 領(lǐng)域本體實(shí)施和運(yùn)行階段
(1)領(lǐng)域本體評(píng)價(jià)
這里采用gruber在1995年提出的5條準(zhǔn)則:
①清晰性。所定義的術(shù)語應(yīng)盡量客觀,避免受社會(huì)背景和客觀環(huán)境的影響;給出的定義應(yīng)盡可能完整。
②一致性。即本體中定義的公理應(yīng)該是邏輯一致的,概念和概念間關(guān)系在邏輯上也應(yīng)該是一致的。
③可擴(kuò)展性。本體應(yīng)該能夠保證添加新的通用或?qū)S眯g(shù)語,而不需要修改原有的定義,即能支持在已有的概念基礎(chǔ)上定義新術(shù)語。
④編碼偏好程度最小。概念應(yīng)該在知識(shí)層次上說明,而不應(yīng)該依賴于特定的符號(hào)層次的編碼,因?yàn)椴煌南到y(tǒng)可能采用不同的表示風(fēng)格。
⑤最小本體承諾。一般地,本體承諾只要滿足特定的知識(shí)共享需求即可,這可以通過定義約束最弱的公理及只定義交流所需的基本詞匯來保證。
(2)領(lǐng)域本體試運(yùn)行
可針對(duì)某一應(yīng)用目標(biāo),可利用初始生成的領(lǐng)域本體在特定的應(yīng)用范圍內(nèi)進(jìn)行試運(yùn)行,來驗(yàn)證初始領(lǐng)域本體是否能夠滿足領(lǐng)域范圍應(yīng)用的需求,特別是要檢驗(yàn)其一致性、完整性和可擴(kuò)展性。經(jīng)過試運(yùn)行,若符合要求則轉(zhuǎn)向(4);若不符合要求則要重新經(jīng)過本體分析階段,然后轉(zhuǎn)向(3)與(4)。
(3)領(lǐng)域本體文檔的修改
針對(duì)試運(yùn)行的結(jié)果,可在owl文檔的基礎(chǔ)上做一些標(biāo)注性的修改。
(4)領(lǐng)域本體應(yīng)用
對(duì)于修改后的領(lǐng)域本體,可正式投入實(shí)際運(yùn)行應(yīng)用過程。
3 總結(jié)和展望
本文在總結(jié)與分析傳統(tǒng)領(lǐng)域本體構(gòu)建方法中的基本思想及缺陷的基礎(chǔ)上,提出了基于軟件工程開發(fā)角度來構(gòu)建領(lǐng)域本體的思路。其中利用結(jié)構(gòu)化開發(fā)方法構(gòu)建領(lǐng)域本體整體開發(fā)流程,充分借鑒了結(jié)構(gòu)化開發(fā)方法中的用戶至上原則,結(jié)構(gòu)化、模塊化、自頂向下地對(duì)系統(tǒng)進(jìn)行分析和設(shè)計(jì)等優(yōu)點(diǎn),但由于結(jié)構(gòu)化開發(fā)方法中存在開發(fā)周期過長(zhǎng)、不易滿足用戶需求并難易修改等缺陷,因此在領(lǐng)域本體構(gòu)建的重要環(huán)節(jié),即在領(lǐng)域本體分析階段采用原型化開發(fā)方法,使用戶與開發(fā)者通過不斷地溝通盡快確定領(lǐng)域本體初始模型,并通過結(jié)構(gòu)化開發(fā)方法所劃分的層次結(jié)構(gòu)過程不斷地優(yōu)化和修改初始模型,使其能夠盡快滿足用戶的需求。
摘要:針對(duì)“軟件工程”這門課的課程特點(diǎn),本文提出幾種實(shí)用的教學(xué)方法和手段,目的為了提高“軟件工程”的教學(xué)質(zhì)量。
關(guān)鍵詞:軟件工程 教學(xué)改進(jìn) 實(shí)踐
中圖分類號(hào):
1、 引言
提起軟件,在當(dāng)今社會(huì)人們并不陌生,正是由于軟件的發(fā)展,使計(jì)算機(jī)應(yīng)用逐步滲透到社會(huì)生活的各個(gè)角落,使各行各業(yè)都發(fā)生很大的變化。這同時(shí)也促進(jìn)人們對(duì)軟件的品種、數(shù)量、功能和質(zhì)量等提出了越來越高的要求。然而,軟件的規(guī)模越大、越復(fù)雜,人們的軟件開發(fā)能力越顯得力不從心。于是,人們開始重視軟件開發(fā)過程、方法、工具和環(huán)境的研究,軟件工程應(yīng)運(yùn)而生。
“軟件工程”主要介紹軟件工程的基本原理、開發(fā)方法和開發(fā)工具,通過本課程的學(xué)習(xí),使學(xué)生了解和初步掌握開發(fā)1個(gè)軟件項(xiàng)目所使用的方法和工具,以及“軟件工程”的發(fā)展過程和發(fā)展趨勢(shì),為進(jìn)行軟件開發(fā)打下1個(gè)良好的基礎(chǔ)。
2、 課程特點(diǎn)
1。 課程綜合性強(qiáng)。
軟件工程與其他計(jì)算機(jī)課程,如程序設(shè)計(jì)語言、數(shù)據(jù)結(jié)構(gòu)、編譯原理、數(shù)據(jù)庫(kù)以及操作系統(tǒng)等課程都是相互作用和影響的。在1定程度上說,軟件工程討論的是在實(shí)際開發(fā)當(dāng)中綜合運(yùn)用這些課程中講過的理論和方法,將這些課程的理論和方法放在1個(gè)統(tǒng)1的目標(biāo)下,這個(gè)目標(biāo)就是在有限的時(shí)間及預(yù)算條件下,開發(fā)出高質(zhì)量的令用戶滿意的軟件。
2。 課程內(nèi)容不斷更新。
軟件工程課程的教學(xué)培養(yǎng)目標(biāo)應(yīng)該以市場(chǎng)需求為導(dǎo)向,使課程培養(yǎng)的學(xué)生真正能夠在軟件行業(yè)中發(fā)揮作用。因此,在授課時(shí),我們不能拘泥于教材內(nèi)容的限制。在講解基本原理、基本概念和基本方法的同時(shí),介紹1些新方法、新技術(shù)。這樣,有助于開拓學(xué)生的視野和培養(yǎng)創(chuàng)新意識(shí)與開發(fā)能力,使他們走向社會(huì)后不至落伍。
3。 課程的實(shí)踐性強(qiáng)。
軟件工程是1門實(shí)踐性很強(qiáng)的課程,它是各種開發(fā)經(jīng)驗(yàn)的總結(jié)與提煉。在學(xué)習(xí)過程中不但應(yīng)注重概念、原理、方法和技術(shù)的掌握,更應(yīng)注重方法、技術(shù)的實(shí)際應(yīng)用。學(xué)習(xí)軟件工程必須投身于軟件開發(fā)的實(shí)踐,才能真正領(lǐng)悟軟件工程的精髓。
實(shí)際教學(xué)當(dāng)中,這門課的教學(xué)效果往往不是很理想,教師覺得這門課教起來較困難,學(xué)生學(xué)習(xí)中多數(shù)也覺得枯燥無味,很難達(dá)到較好的教學(xué)效果或獲得較強(qiáng)的實(shí)踐能力等預(yù)期目的。如何改善?結(jié)合軟件工程的課程特點(diǎn),筆者認(rèn)為可以從以下幾個(gè)方面來改進(jìn)《軟件工程》的教學(xué)質(zhì)量。
三、軟件工程教學(xué)改進(jìn)的內(nèi)容和方法
1。 教學(xué)過程引入實(shí)際案例
軟件工程課程涉及面很廣,如果不結(jié)合實(shí)際工程項(xiàng)目進(jìn)行教學(xué),很難把教學(xué)內(nèi)容教授給學(xué)生。因此,在教學(xué)過程中引入案例,將復(fù)雜抽象的概念用具體生動(dòng)的實(shí)例進(jìn)行詮釋,能夠收到事半功倍的效果。例如,在授課時(shí)教師可結(jié)合1個(gè)“學(xué)校教材購(gòu)銷系統(tǒng)”實(shí)例,給學(xué)生介紹具體的開發(fā)過程和方法。
另外,學(xué)校還可邀請(qǐng)領(lǐng)域內(nèi)有實(shí)際經(jīng)驗(yàn)的資深程序員,針對(duì)軟件工程中具體理論和方法在實(shí)際開發(fā)中的應(yīng)用,在課堂上和學(xué)生進(jìn)行面對(duì)面講座,深入淺出地作講解。這樣,學(xué)生可以更加熟悉、掌握軟件開發(fā)的過程。
2。 組織課堂討論,形成教學(xué)互動(dòng)
我國(guó)有句名言:“授人以魚,不如授人以漁”。學(xué)生是教學(xué)活動(dòng)的核心,教師要利用合適的方法調(diào)動(dòng)學(xué)生的積極心理和參與意識(shí),改變傳統(tǒng)的教師高高在上的教學(xué)方式,讓學(xué)生參與教學(xué)過程,有機(jī)會(huì)發(fā)表自己的看法。
比如在講授需求分析這章內(nèi)容時(shí),可結(jié)合“學(xué)校教材購(gòu)銷系統(tǒng)”這個(gè)案例,要求學(xué)生按照軟件工程教學(xué)的思想和方法認(rèn)真做好需求分析。在實(shí)施過程中,首先由學(xué)生獨(dú)立思考,給出解決方案。然后在課堂上,組織學(xué)生進(jìn)行討論,分析各自解決方案的優(yōu)劣,并進(jìn)行綜合。最后由老師進(jìn)行總結(jié)和評(píng)價(jià),指出該案例所涉及的理論知識(shí)及其應(yīng)用方法,就學(xué)生提出的問題進(jìn)行解答。這樣通過組織學(xué)生討論,可使學(xué)生進(jìn)1步理解和掌握課程內(nèi)容的方法和步驟,使抽象的知識(shí)變得看得見,用得著,大大激發(fā)了學(xué)生學(xué)習(xí)的興趣和自信。
3。 加強(qiáng)實(shí)踐環(huán)節(jié)
從本質(zhì)上看,軟件工程的實(shí)踐性和綜合性是其他相關(guān)課程難以比擬的。因此,必須結(jié)合設(shè)計(jì)項(xiàng)目和實(shí)際應(yīng)用加以施教,才能取得良好的教學(xué)效果。那么,在把握教學(xué)進(jìn)度的同時(shí),必須及早安排好課程設(shè)計(jì),讓學(xué)生同步開展課程設(shè)計(jì)。這樣,理論課講完了,課程設(shè)計(jì)也基本結(jié)束,學(xué)生們能從理論和實(shí)踐的結(jié)合上,加深對(duì)軟件工程知識(shí)難點(diǎn)、重點(diǎn)的理解,進(jìn)1步深刻理解軟件過程和系統(tǒng)消化理論知識(shí),訓(xùn)練項(xiàng)目設(shè)計(jì)的思路,鍛煉實(shí)際開發(fā)能力,培養(yǎng)嚴(yán)格規(guī)范的項(xiàng)目開發(fā)方法和步驟,體驗(yàn)文檔編寫整理、階段性評(píng)審總結(jié)以及軟件測(cè)試等各個(gè)方面的工作流程,直接培養(yǎng)了學(xué)生從事實(shí)際開發(fā)的能力。
四、結(jié)束語
在教學(xué)中,我們還應(yīng)根據(jù)學(xué)生的具體情況,因材施教??傊ㄟ^不斷改進(jìn)教學(xué),使學(xué)生能更好地理解、掌握知識(shí),運(yùn)用所學(xué)服務(wù)社會(huì)。
摘要:提出了面向?qū)W生主體和項(xiàng)目驅(qū)動(dòng)的軟件工程教學(xué)模式。從開展以學(xué)生為主體的理論教學(xué)過程、實(shí)施基于項(xiàng)目驅(qū)動(dòng)的實(shí)踐教學(xué)環(huán)節(jié)、制定符合教學(xué)特點(diǎn)的課程考核體系三個(gè)方面出發(fā),對(duì)該模式進(jìn)行了研究和探討。
關(guān)鍵詞:軟件工程;教學(xué)模式;軟件工程;學(xué)生主體;項(xiàng)目驅(qū)動(dòng)
1 引言
長(zhǎng)期以來,在我國(guó)《軟件工程》課程教學(xué)中強(qiáng)調(diào)理論學(xué)習(xí)而忽視實(shí)踐能力培養(yǎng)的現(xiàn)象比較普遍,現(xiàn)有的國(guó)內(nèi)不少教材對(duì)實(shí)踐能力的培養(yǎng)重視不夠,表現(xiàn)為:①教材中的案例缺乏完整性、統(tǒng)一性和實(shí)用性;②缺乏與理論教學(xué)相適應(yīng)的實(shí)驗(yàn)教材。evelyn等在他們的著作《project-based software engineering an object-oriented approach》中強(qiáng)調(diào)了學(xué)生具備開發(fā)項(xiàng)目經(jīng)歷的重要性,認(rèn)為現(xiàn)有的教材過分強(qiáng)調(diào)軟件工程理論的教學(xué),不能有效地培養(yǎng)學(xué)生的軟件開發(fā)技能。由于缺少軟件開發(fā)各個(gè)階段的經(jīng)歷,因此,學(xué)生較難理解、掌握所學(xué)的課程內(nèi)容。
我們主要圍繞《軟件工程》課程的內(nèi)容體系、教學(xué)方法、課程考核等方面對(duì)該門課程的教學(xué)模式進(jìn)行了改革,其根本思想是開展以學(xué)生為主體的理論教學(xué)過程;實(shí)施基于項(xiàng)目驅(qū)動(dòng)的實(shí)踐教學(xué)環(huán)節(jié);根據(jù)教學(xué)過程的特點(diǎn),制定該課程的考核體系。我們把改革后的、新的教學(xué)模式稱為“面向?qū)W生主體和項(xiàng)目驅(qū)動(dòng)的軟件工程教學(xué)模式”。
2 開展以學(xué)生為主體的理論教學(xué)過程
2.1 建立合理的課程內(nèi)容體系
建立合理的課程內(nèi)容體系首先應(yīng)合理地選擇教材,我們選用的教材為shari lawrence pfleeger 編著的《software engineering(theory and practice)》。該教材內(nèi)容的特點(diǎn)是:①理論性,教材比較全面地介紹了軟件工程中的基本原理、概念和方法;②實(shí)踐性,課程的內(nèi)容體系強(qiáng)調(diào)基本原理、方法在實(shí)踐中的具體應(yīng)用;③先進(jìn)性,教材較為詳細(xì)地介紹了軟件工程中的新技術(shù)、新方法。同時(shí),我們選用的輔助教材為清華大學(xué)張海藩編著的《軟件工程導(dǎo)論(第四版)》。
其次,應(yīng)根據(jù)學(xué)生的培養(yǎng)方向、學(xué)時(shí)數(shù)等因素對(duì)所講授的內(nèi)容作必要地取舍。我們以傳統(tǒng)的生命周期方法學(xué)和面向?qū)ο蠓椒▽W(xué)為主線,建立了課程內(nèi)容體系,參考國(guó)內(nèi)外先進(jìn)的軟件工程理論和應(yīng)用實(shí)例,對(duì)教學(xué)內(nèi)容進(jìn)行了必要的補(bǔ)充和刪減;以培養(yǎng)學(xué)生的軟件開發(fā)過程中的技能為目標(biāo),制作了內(nèi)容豐富、聯(lián)系項(xiàng)目開發(fā)實(shí)際的多媒體教學(xué)課件;建立了較為完善的軟件工程典型項(xiàng)目案例庫(kù),為每一個(gè)案例提供詳細(xì)的分析說明;編寫了供實(shí)踐環(huán)節(jié)使用的《軟件工程項(xiàng)目案例實(shí)施指南》。
2.2 開展以學(xué)生為主體的案例式教學(xué)
在教學(xué)過程中,開展以學(xué)生為主體的案例式教學(xué),克服了傳統(tǒng)的“教師教、學(xué)生學(xué)”的模式。在課程的開始,即將學(xué)生分為若干個(gè)項(xiàng)目小組(每個(gè)小組5至7人),并為每個(gè)小組確定一個(gè)負(fù)責(zé)人,各個(gè)項(xiàng)目小組選定一個(gè)互不相同的項(xiàng)目,并明確所選項(xiàng)目的總體要求及考核標(biāo)準(zhǔn)。教師以一個(gè)完整的項(xiàng)目案例貫穿于整個(gè)理論教學(xué)過程中,學(xué)生則帶著自己項(xiàng)目中的問題去理解、思考教師所講授的內(nèi)容。學(xué)生的作業(yè)主要體現(xiàn)為項(xiàng)目的階段性的分析和設(shè)計(jì)文檔,項(xiàng)目小組的成員在討論、協(xié)作的基礎(chǔ)上,每次均以小組的形式提交作業(yè)。
2.3 建立《軟件工程》課程教學(xué)資源平臺(tái)
該課程的教學(xué)輔助資料圍繞《軟件工程》網(wǎng)絡(luò)課程建設(shè)而展開,所建設(shè)的網(wǎng)絡(luò)課程主要內(nèi)容包括:教學(xué)大綱,教學(xué)內(nèi)容,電子教案,課程習(xí)題,模擬試題,多媒體課件,實(shí)驗(yàn)部分,課程評(píng)價(jià)反饋等。建立網(wǎng)絡(luò)課程平臺(tái)的目的是為了便于學(xué)生進(jìn)行網(wǎng)上自學(xué)、討論交流、作業(yè)提交、在線測(cè)試、教學(xué)效果評(píng)價(jià)等功能,充分發(fā)揮學(xué)生在學(xué)習(xí)過程中的主體作用。
通過該門課程的理論教學(xué)改革,學(xué)生普遍反映能夠較好地理解、掌握軟件工程項(xiàng)目的開發(fā)理論和方法,和單純的理論教學(xué)相比,改革后的教學(xué)方式更容易讓人接受,學(xué)習(xí)的主動(dòng)性得到了提高。
3 實(shí)施基于項(xiàng)目驅(qū)動(dòng)的實(shí)踐教學(xué)環(huán)節(jié)
我們把實(shí)踐教學(xué)和項(xiàng)目開發(fā)相結(jié)合,實(shí)施基于項(xiàng)目驅(qū)動(dòng)的實(shí)踐教學(xué)環(huán)節(jié)。不同的項(xiàng)目小組開發(fā)不同的項(xiàng)目,學(xué)生在實(shí)踐環(huán)節(jié)中主要完成在理論學(xué)習(xí)過程中形成的分析、設(shè)計(jì)文檔,以小組成員分工協(xié)作的方式共同開發(fā)一個(gè)完整的項(xiàng)目。完成一個(gè)符合要求的項(xiàng)目是該門課程實(shí)踐考核的主要內(nèi)容。學(xué)生的學(xué)習(xí)活動(dòng)是在項(xiàng)目開發(fā)的各項(xiàng)過程和活動(dòng)的驅(qū)動(dòng)下完成的。在具體的實(shí)施過程中應(yīng)注意以下幾個(gè)問題:
(1)由項(xiàng)目負(fù)責(zé)人在課外時(shí)間召集項(xiàng)目組成員討論、進(jìn)行人員分工,使項(xiàng)目小組的所有成員熟悉和感受軟件開發(fā)小組的組織和管理。
(2)實(shí)驗(yàn)內(nèi)容應(yīng)覆蓋軟件生存周期的各個(gè)階段,使學(xué)生通過實(shí)驗(yàn)加深對(duì)理論知識(shí)的理解。項(xiàng)目小組的所有成員均應(yīng)參加軟件開發(fā)的每一個(gè)階段。
(3)應(yīng)保證實(shí)驗(yàn)內(nèi)容具有可操作性和適當(dāng)?shù)碾y度??刹僮餍员WC學(xué)生都能完成實(shí)驗(yàn),幫助學(xué)生樹立學(xué)習(xí)信心,并在一定程度上減少學(xué)生抄襲的現(xiàn)象;適當(dāng)?shù)碾y度有助于培養(yǎng)優(yōu)秀學(xué)生進(jìn)一步鉆研的精神。
4 制定符合教學(xué)特點(diǎn)的課程考核體系
傳統(tǒng)的考核方法不能在教學(xué)的過程中把握學(xué)生的學(xué)習(xí)效果,不能充分調(diào)動(dòng)學(xué)生學(xué)習(xí)的主動(dòng)性和提高學(xué)生的學(xué)習(xí)興趣,課程的考核應(yīng)該和課程的教學(xué)特點(diǎn)相適應(yīng)。因此,我們制定了分階段、互評(píng)定的二次考核體系,具體措施為:
(1)課程考核由三部分組成:理論考核占40%,實(shí)踐考核占40%,平時(shí)考核(作業(yè)、考勤)占20%。
(2)實(shí)踐成績(jī)的評(píng)定包括小組成績(jī)和個(gè)人成績(jī)兩部分,各占50%。小組成績(jī)?yōu)樾〗M中所有成員的第一次考核成績(jī),個(gè)人成績(jī)?yōu)樾〗M成員的第二次考核成績(jī)。
(3)小組成績(jī)由各個(gè)小組階段成績(jī)的平均值與完成的項(xiàng)目的最終驗(yàn)收的情況(包括系統(tǒng)是否達(dá)到需求規(guī)格說明中的功能性、非功能性要求,文檔是否全面、合理、規(guī)范等)組成。小組的階段性成績(jī)由教師和該項(xiàng)目組之外的其他項(xiàng)目組共同評(píng)定。
(4)個(gè)人成績(jī)由教師根據(jù)小組每個(gè)成員的答辯成績(jī)來評(píng)定,答辯的內(nèi)容為小組成員在項(xiàng)目開發(fā)中所完成的任務(wù),其中,評(píng)定項(xiàng)目負(fù)責(zé)人個(gè)人成績(jī)時(shí),還應(yīng)考查其項(xiàng)目開發(fā)的組織、
管理能力。
考核結(jié)果表明,我們采用的考核方法提高了學(xué)生按照軟件工程的原理、方法、技術(shù)、標(biāo)準(zhǔn)和規(guī)范進(jìn)行軟件開發(fā)的綜合能力和軟件項(xiàng)目的管理能力,特別在基礎(chǔ)技能、團(tuán)隊(duì)協(xié)作、人際交流、項(xiàng)目規(guī)劃幾個(gè)方面明顯具備較強(qiáng)的能力。
5 結(jié)束語
《軟件工程》課程的教學(xué)模式改革主要體現(xiàn)在以下三個(gè)方面:在理論教學(xué)方面,以學(xué)生為主體的教學(xué)模式,表現(xiàn)為以分組形式的案例教學(xué)過程;在實(shí)踐教學(xué)方面,通過小組內(nèi)成員分工協(xié)作的方式,完成小組所選定的項(xiàng)目案例;在課程考核方面,制定了符合教學(xué)特點(diǎn)的課程考核體系。在整個(gè)教學(xué)過程中,學(xué)生始終處于主導(dǎo)地位,是學(xué)習(xí)的主體,教師處于指導(dǎo)和評(píng)價(jià)學(xué)生階段性學(xué)習(xí)效果的地位。從學(xué)生反饋的結(jié)果來看,通過對(duì)該門課程的教學(xué)模式進(jìn)行改革,使學(xué)生經(jīng)歷了軟件開發(fā)的全過程,鍛煉和培養(yǎng)了學(xué)生的系統(tǒng)分析能力、設(shè)計(jì)能力、編程能力、測(cè)試和維護(hù)能力、團(tuán)隊(duì)協(xié)作能力和文檔書寫能力,全面地提高了學(xué)生的綜合素質(zhì)。
摘要:信息工程是企業(yè)信息系統(tǒng)中不可或缺的一部分,其包括信息網(wǎng)絡(luò)工程、信息資源工程、信息應(yīng)用工程。該文將憑借著軟件工程理論,從信息工程開發(fā)的角度,進(jìn)行信息工程的三維監(jiān)理,從而構(gòu)建一種新型監(jiān)理模式,即“三控四管一協(xié)調(diào)”。從而使信息工程監(jiān)理走向更深入、更全面、更有效的水平。
關(guān)鍵詞:軟件工程;信息工程監(jiān)理;監(jiān)理模型
自從二零零二年十二月我國(guó)信息產(chǎn)業(yè)部頒布《信息系統(tǒng)工程監(jiān)理暫行規(guī)定》(簡(jiǎn)稱《規(guī)定》)之后,信息工程監(jiān)理公司越來越多。根據(jù)《規(guī)定》,信息工程監(jiān)理主要是指依法設(shè)立且具備相應(yīng)資質(zhì)的信息系統(tǒng)工程監(jiān)理單位,受業(yè)主單位委托,依據(jù)國(guó)家有關(guān)法律法規(guī)、技術(shù)標(biāo)準(zhǔn)和信息系統(tǒng)工程監(jiān)理合同,對(duì)信息系統(tǒng)工程項(xiàng)目實(shí)施的監(jiān)督管理。[1]
1 信息工程的特點(diǎn)
跟其他的一般的建設(shè)工程項(xiàng)目相比,企業(yè)信息工程有著復(fù)雜高度、能見度低等不確定因素。其主要有以下幾個(gè)特點(diǎn):
1.1 組織驅(qū)動(dòng)技術(shù)
企業(yè)信息工程項(xiàng)目的組織和建設(shè)越來越表現(xiàn)出不可分割的一面。工程項(xiàng)目組織要求信息工程必須嚴(yán)格確定“前期準(zhǔn)備-工程項(xiàng)目規(guī)劃-工程項(xiàng)目設(shè)計(jì)-工程項(xiàng)目實(shí)施-工程項(xiàng)目驗(yàn)收-工程項(xiàng)目維護(hù)”的“組織思維”過程,設(shè)立周密的“組織標(biāo)準(zhǔn)”通過這些組織標(biāo)準(zhǔn)來帶動(dòng)技術(shù)標(biāo)準(zhǔn)的設(shè)立,通過組織的需求來帶動(dòng)技術(shù)方面的需求,也通過組織的滿意度還評(píng)價(jià)技術(shù)方面的滿意程度。
1.2 全員全程參與
信息工程并不能跟那種“交鑰匙”工程一樣,其要求建設(shè)單位的所有員工進(jìn)行全程參與。這主要是由于企業(yè)信息工程項(xiàng)目不并簡(jiǎn)單,而是一個(gè)非常復(fù)雜的知識(shí)傳遞的過程,其要求建設(shè)單位的所有員工必須學(xué)習(xí)并接受相關(guān)知識(shí);因此建設(shè)單位與開發(fā)單位之間必須相互適應(yīng)、相互協(xié)調(diào),必須協(xié)同共進(jìn)。企業(yè)信息工程系統(tǒng)是一個(gè)人機(jī)相結(jié)合的有機(jī)系統(tǒng),沒有建設(shè)單位人員的全程參與,信息工程系統(tǒng)將不可能實(shí)現(xiàn)其有效性、完整性、全面性。
1.3 復(fù)雜度高,不確定因素多
由于信息工程項(xiàng)目的需求比較復(fù)雜,其不像其他建筑工程那樣具有可見性。檢驗(yàn)復(fù)雜,較長(zhǎng)的維護(hù)期,還有其它非技術(shù)因素原因?qū)е缕髽I(yè)信息化項(xiàng)目失敗[2]。因此,企業(yè)的信息工程項(xiàng)目具有搞復(fù)雜度、低能見度,存在許多不確定的因素。
2 信息工程監(jiān)理的必要性
現(xiàn)在,我國(guó)企業(yè)實(shí)現(xiàn)信息工程項(xiàng)目的成功幾率還非常低,根據(jù)我國(guó)企業(yè)信息工程項(xiàng)目的自身特點(diǎn),保證信息工程項(xiàng)目的成功幾率的提高,必須進(jìn)行信息工程建立,即必須通過第三方監(jiān)理單位對(duì)企業(yè)信息工程項(xiàng)目的實(shí)施進(jìn)行監(jiān)督。信息工程監(jiān)理將有利于開發(fā)單位跟企業(yè)的相互協(xié)調(diào),彼此協(xié)同共進(jìn),能確保信息工程項(xiàng)目的有效進(jìn)行。對(duì)于信息工程監(jiān)理的必要性,主要原因在于:目前我國(guó)企業(yè)信息工程監(jiān)理對(duì)過去傳統(tǒng)的建筑工程監(jiān)理模式進(jìn)行了參考,但又跟一般的建筑工程的監(jiān)理有一定的差別。第一,信息工程的可見度非常低,開發(fā)過程相當(dāng)多變、復(fù)雜,其知識(shí)密度也相當(dāng)高。不像建筑工程項(xiàng)目的監(jiān)理那樣能隨時(shí)對(duì)施工現(xiàn)場(chǎng)進(jìn)行其質(zhì)量、進(jìn)度進(jìn)行監(jiān)督管理,信息工程監(jiān)理根本無法對(duì)信息工程的操作現(xiàn)場(chǎng)、質(zhì)量進(jìn)行監(jiān)督和管理,信息工程的進(jìn)合同執(zhí)行情況、軟件質(zhì)量、資金使用情況、進(jìn)度等很難把握和操控。從而致使了信息工程監(jiān)理低能見度、高復(fù)雜度、差操作度等現(xiàn)象。為了解決這些監(jiān)理中出現(xiàn)的問題,必須采用軟件工程理論。通過軟件工程,可以將高復(fù)雜度的信息工程項(xiàng)目進(jìn)行分解,對(duì)信息工程中低“能見度”的難題設(shè)置了一套有效的解題方案。根據(jù)現(xiàn)有的軟件工程平臺(tái)和工具,將能為信息工程項(xiàng)目的監(jiān)理提供一套“復(fù)雜度”低、“可見性”高的監(jiān)理平臺(tái),很大程度上滿足了現(xiàn)階段我國(guó)企業(yè)信息工程項(xiàng)目建設(shè)的需要。
3 基于軟件工程理論的信息工程監(jiān)理模型
軟件工程是一門通過工程化的手段來維護(hù)和構(gòu)建高質(zhì)量的、實(shí)用的、有效的軟件的學(xué)科。軟件工程涉及到的內(nèi)容有:設(shè)計(jì)模式、軟件標(biāo)準(zhǔn)、系統(tǒng)平臺(tái)、軟件開發(fā)工具、數(shù)據(jù)庫(kù)、程序設(shè)計(jì)語言等多個(gè)方面。在目前的現(xiàn)實(shí)生活中,軟件的應(yīng)用領(lǐng)域非常廣泛,政府部門、航空、銀行、農(nóng)業(yè)、工業(yè)都會(huì)應(yīng)用到軟件,其最具典型的軟件有:游戲、數(shù)據(jù)庫(kù)、編譯器、操作系統(tǒng)、辦公套件、人機(jī)界面、嵌入式系統(tǒng)和電子郵件等等。軟件工程的應(yīng)用將對(duì)社會(huì)和經(jīng)濟(jì)有著極大的促進(jìn)作用。多年的實(shí)踐證明,通過軟件工程的方法對(duì)信息工程進(jìn)行監(jiān)理能更易被監(jiān)理活動(dòng)過程中的三方接受,因此將軟件工程引入信息工程項(xiàng)目監(jiān)理中,將能為信息工程項(xiàng)目的監(jiān)理提供一套“復(fù)雜度”低、“可見性”高的監(jiān)理平臺(tái)。
3.1 設(shè)立信息工程監(jiān)理的目標(biāo)
進(jìn)行軟件工程最主要的目的是利用科學(xué)的有效的管理方法來促進(jìn)軟件開發(fā)質(zhì)量的提高。其主要要求是要將過去的軟件開發(fā)模式(小作坊開發(fā)模式)進(jìn)行轉(zhuǎn)變,對(duì)過去的開發(fā)模式其進(jìn)行細(xì)分和分解,按照各階段的特征選用不同的方法和工具,從而使復(fù)雜度較高的軟件生產(chǎn)進(jìn)行可度量、可控的設(shè)置。再者,經(jīng)過對(duì)各個(gè)階段進(jìn)行嚴(yán)密的、有效的控制,從而促使一些可能出現(xiàn)的風(fēng)險(xiǎn)和問題在前期階段就得以解決和重視,從而促使軟件開發(fā)風(fēng)險(xiǎn)的降低和軟件質(zhì)量的提升??傊髽I(yè)信息工程監(jiān)理的最主要的任務(wù)就是對(duì)工程的進(jìn)度、質(zhì)量、投資等進(jìn)行有效的、科學(xué)的控制和規(guī)劃,其最基本的方法是進(jìn)行有效的合同管理、展開合理的組織協(xié)調(diào)、實(shí)現(xiàn)工程的動(dòng)態(tài)控制、完成理想的目標(biāo)規(guī)劃,使監(jiān)理貫穿于整個(gè)“前期準(zhǔn)備-工程項(xiàng)目規(guī)劃-工程項(xiàng)目設(shè)計(jì)-工程項(xiàng)目實(shí)施-工程項(xiàng)目驗(yàn)收-工程項(xiàng)目維護(hù)”的工程項(xiàng)目過程。因此,信息工程監(jiān)理的最終目的是通過合同管理、質(zhì)量控制、進(jìn)度控制、成本控制、信息管理來保證工程項(xiàng)目的有效、高質(zhì)量、順利的進(jìn)行。
3.2 構(gòu)建信息工程監(jiān)理的模型
根據(jù)信息工程監(jiān)理的目標(biāo),信息工程項(xiàng)目應(yīng)該分為:項(xiàng)目分析、項(xiàng)目設(shè)計(jì)、項(xiàng)目實(shí)施以及項(xiàng)目維護(hù)等四個(gè)階段[3]。基于軟件工程理論的信息工程監(jiān)理并不是機(jī)械地復(fù)雜軟件工程的相關(guān)理論于信息工程的監(jiān)理中,而是根據(jù)軟件工程理論,對(duì)搞復(fù)雜度、低能見度的工程項(xiàng)目進(jìn)行設(shè)計(jì)和管理,并將其融入到信息工程的監(jiān)理中去的一種方法。根據(jù)這中方法,從而建立基于軟件工程理論的信息工程監(jiān)理模型。該模型以信息工程項(xiàng)目過程控制為主線,對(duì)企業(yè)信息工程的項(xiàng)目分析、項(xiàng)目設(shè)計(jì)、項(xiàng)目實(shí)施以及項(xiàng)目維護(hù)等四個(gè)階段進(jìn)行全方位控制和監(jiān)督,從管理上對(duì)其進(jìn)行風(fēng)險(xiǎn)管理、需求管理、合同管理、信息管理,從控制上對(duì)其進(jìn)行進(jìn)度管理、質(zhì)量管理、成本控制,并從管理角度對(duì)項(xiàng)目階段進(jìn)行總體協(xié)調(diào),形成企業(yè)信息化項(xiàng)目監(jiān)理的“三控四管一協(xié)調(diào)”三維監(jiān)理模型。其監(jiān)理模型如圖1所示。
4 結(jié)束語
綜上所述,軟件工程是一門通過工程化的手段來維護(hù)和構(gòu)建高質(zhì)量的、實(shí)用的、有效的軟件的學(xué)科。通過軟件工程的方法對(duì)信息工程進(jìn)行監(jiān)理能更易被監(jiān)理活動(dòng)過程中的三方接受,因此將軟件工程引入信息工程項(xiàng)目監(jiān)理中,將能為信息工程項(xiàng)目的監(jiān)理提供一套“復(fù)雜度”低、“可見性”高的監(jiān)理平臺(tái)。進(jìn)行軟件工程最主要的目的是利用科學(xué)的有效的管理方法來促進(jìn)軟件開發(fā)質(zhì)量的提高。其基于軟件工程理論的信息工程監(jiān)理的模型應(yīng)該以信息工程項(xiàng)目過程控制為主線,對(duì)企業(yè)信息工程的項(xiàng)目分析、項(xiàng)目設(shè)計(jì)、項(xiàng)目實(shí)施以及項(xiàng)目維護(hù)等四個(gè)階段進(jìn)行全方位控制和監(jiān)督。
摘要:課程體系的研究,是通過對(duì)軟件企業(yè)軟件工程師的職業(yè)工作過程分析,建立軟件工程師的職業(yè)能力模型,然后建立針對(duì)工作領(lǐng)域的崗位特定能力模型、行業(yè)通用能力模型、核心能力模型。根據(jù)以上模型映射出實(shí)訓(xùn)體系的四個(gè)組件:實(shí)訓(xùn)教程、流行技術(shù)、職業(yè)素質(zhì)、軟件素養(yǎng),然后建立不同技術(shù)特點(diǎn)的課程開發(fā)標(biāo)準(zhǔn)。
關(guān)鍵詞:職業(yè)能力模型;核心能力;崗位特定能力
1 基于工作過程的課程開發(fā)模式的必要性
近年來在政府推動(dòng)與經(jīng)濟(jì)發(fā)展需求的刺激下,我國(guó)高等職業(yè)教育的規(guī)模有了很大發(fā)展;全國(guó)職業(yè)教育工作會(huì)議的召開,又為高職發(fā)展迎來了新的歷史機(jī)遇。然而,我們可以在短短幾年內(nèi)建設(shè)起大量被稱為高職學(xué)校的校舍,卻無法在短期內(nèi)形成真正的高職教育。受傳統(tǒng)教育體制的影響,教材更新速度也嚴(yán)重滯后于軟件技術(shù)發(fā)展,師資素質(zhì)又得不到提高,人才培養(yǎng)模式缺乏創(chuàng)新,這種傳統(tǒng)教育模式無法真正適應(yīng)軟件企業(yè)對(duì)軟件人才的需求。一方面是大批企業(yè)找不到急需的技能型、實(shí)用型、國(guó)際化、規(guī)范化的軟件職業(yè)技術(shù)人才;另一方面,學(xué)校培養(yǎng)出的軟件人才由于不能適應(yīng)企業(yè)需求而找不到理想的工作。如何凸顯特色已經(jīng)成為高職發(fā)展的重大課題;如何開發(fā)一套既適合高職生學(xué)習(xí)特點(diǎn),又能增強(qiáng)其就業(yè)競(jìng)爭(zhēng)能力的教材,是高職課程建設(shè)面臨的另一個(gè)重大課題。
要有效地解決這些問題,建立能綜合反映高職發(fā)展多種需求的課程體系,必須進(jìn)一步明確高職人才培養(yǎng)目標(biāo)。為此,不能僅僅滿足于對(duì)“高職到底培養(yǎng)什么類型人才”的論述,而是要從具體的崗位與知識(shí)分析入手。高職專業(yè)的定位要通過理清其所對(duì)應(yīng)的工作崗位來解決,而其課程特點(diǎn)應(yīng)該通過特有的知識(shí)框架來闡明。也就是說,高職課程與學(xué)術(shù)性大學(xué)的課程相比,其特色不應(yīng)僅僅體現(xiàn)在理論知識(shí)少一些,技能訓(xùn)練多一些,而是要緊緊圍繞基于工作過程和工作目標(biāo)重構(gòu)其知識(shí)、技能、素質(zhì)的課程體系。
2 軟件工程師能力素質(zhì)模型
2.1 軟件工程師能力素質(zhì)模型
職業(yè)人的能力分為三層:崗位特定能力、行業(yè)通用能力、核心能力。每個(gè)具體的職業(yè)、工種、崗位和工作都會(huì)對(duì)應(yīng)一些崗位特定能力。崗位特定能力從總量上是最多的,但是適應(yīng)范圍又是最窄的,對(duì)每個(gè)行業(yè)來說,又存在著一定數(shù)量的通用能力,從數(shù)量上看,它比特定能力少得多,但他們的適應(yīng)范圍要寬些,涵蓋整個(gè)行業(yè)活動(dòng)領(lǐng)域。而整體上,存在著每個(gè)人都需要的,從事任何職業(yè)或工作都離不開的能力,這就是核心能力。核心能力往往是人們職業(yè)生涯中更重要的、最基本的能力,對(duì)人的影響和意義更深遠(yuǎn)。我們?cè)谌粘I钪锌吹降膷徫惶囟芰?其實(shí)是浮出海面的冰山一角,而行業(yè)通用能力和核心能力則是海面下的冰山主體,它們是每個(gè)人在職業(yè)生涯中,甚至日常生活中必備的最重要的能力,它們具有普遍的適用性和廣泛的可遷移性,對(duì)人的終身發(fā)展和成就影響極其深遠(yuǎn),目前核心能力包括:交流表達(dá)、數(shù)字運(yùn)算、革新創(chuàng)新、自我提高、與人合作、解決問題、信息處理、外語運(yùn)用。
2.2 軟件工程師崗位特定能力分解
根據(jù)軟件工程從業(yè)人員的崗位不同,從java軟件工程師和.net軟件工程師兩個(gè)方面,提取了基于工作過程的能力描述。
(1)java軟件工程師
(2).net軟件工程師
2.3 行業(yè)通用能力分解
2.4 核心能力分解
3 軟件工程師課程內(nèi)涵
根據(jù)軟件工程師能力模型影射出職業(yè)課程中的四個(gè)組件:實(shí)訓(xùn)教程、軟件素養(yǎng)、職業(yè)素質(zhì)、流行技術(shù)。
根據(jù)軟件工程師能力形成規(guī)律,我們分s1、s2、s3三個(gè)階段逐步實(shí)施。通過s1階段的訓(xùn)練,學(xué)生具備了利用面向過程思想、面向?qū)ο笏枷敕治鲈O(shè)計(jì)解決問題的能力,掌握c/s軟件體系的程序開發(fā)方法。通過s2、s3階段的訓(xùn)練,使學(xué)生具備利用b/s軟件體系結(jié)構(gòu)進(jìn)行軟件開發(fā)、設(shè)計(jì)的能力;掌握大型企業(yè)級(jí)應(yīng)用問題的分析、設(shè)計(jì)方法。
3.1 實(shí)訓(xùn)教程
“實(shí)訓(xùn)教程”以項(xiàng)目為主線,分為learning案例、training案例、mentoring案例三種。項(xiàng)目案例均為企業(yè)真實(shí)項(xiàng)目,由經(jīng)驗(yàn)豐富的軟件工程師編寫而成,在實(shí)施環(huán)節(jié)由實(shí)訓(xùn)工程師帶領(lǐng)學(xué)生完成。
“實(shí)訓(xùn)教程”重點(diǎn)提高學(xué)生的職業(yè)特定能力,通過項(xiàng)目實(shí)訓(xùn),學(xué)生能夠?qū)⒗碚撝R(shí)與實(shí)際項(xiàng)目相結(jié)合,不但提高了軟件開發(fā)技術(shù)水平,還能夠具備大型項(xiàng)目的開發(fā)經(jīng)驗(yàn)與行業(yè)知識(shí),增強(qiáng)團(tuán)隊(duì)合作的能力。
3.2 軟件素養(yǎng)
軟件素養(yǎng)要求對(duì)軟件行業(yè)知識(shí)的認(rèn)識(shí)有足夠的深度與廣度。它是軟件工程師應(yīng)具備的基本素質(zhì),是軟件行業(yè)通用能力,軟件素養(yǎng)組件與大學(xué)的計(jì)算機(jī)相關(guān)課程共同培養(yǎng)學(xué)生的這一能力。
“軟件素養(yǎng)”主要包括實(shí)用操作系統(tǒng)知識(shí),各種軟件開發(fā)團(tuán)隊(duì)模型的理解與認(rèn)識(shí),項(xiàng)目開發(fā)流程與規(guī)范,項(xiàng)目文檔編寫,軟件開發(fā)中各種工具的配置與管理,設(shè)計(jì)模式的原理與實(shí)現(xiàn)等。
3.3 職業(yè)素質(zhì)
職業(yè)素質(zhì)是勞動(dòng)者對(duì)社會(huì)職業(yè)了解與適應(yīng)能力的一種綜合體現(xiàn),在軟件開發(fā)中包括責(zé)任心、學(xué)習(xí)能力、創(chuàng)新能力、溝通與合作能力、高效的團(tuán)隊(duì)協(xié)作能力、積極主動(dòng)的心態(tài)、扎實(shí)的工作作風(fēng)、科學(xué)的工作方式及較強(qiáng)的解決問題能力等。
3.4 流行技術(shù)
it業(yè)正在以傳統(tǒng)行業(yè)七倍的速度快速發(fā)展,軟硬件技術(shù)在以摩爾定律的速度更新,即使學(xué)生在大學(xué)中學(xué)習(xí)的是最新軟件版本與技術(shù),畢業(yè)之后,版本也已經(jīng)更新,“流行技術(shù)”正是為解決此問題而提出的,目的是讓學(xué)生與it信息同步,把自我知識(shí)與最新知識(shí)做到無縫銜接。
1. 引言
軟件工程碩士專業(yè)學(xué)位的設(shè)立,是我國(guó)學(xué)位與研究生教育改革的重大舉措。經(jīng)過近十年的發(fā)展,已經(jīng)逐漸發(fā)展壯大成為我國(guó)規(guī)模最大、覆蓋面最廣的專業(yè)碩士學(xué)位之一。隨著數(shù)量的不斷擴(kuò)大, 軟件工程碩士生的培養(yǎng)中出現(xiàn)了不少問題。如導(dǎo)師難以對(duì)每一個(gè)碩士生進(jìn)行悉心指導(dǎo)和嚴(yán)格要求, 而且招生生源有著不同的理論及實(shí)踐基礎(chǔ)。在這種情況下,碩士學(xué)位論文質(zhì)量難以提高,因此, 確保軟件工程碩士的培養(yǎng)質(zhì)量已成為一個(gè)不容忽視的問題。需要進(jìn)一步對(duì)培養(yǎng)質(zhì)量進(jìn)行審視,并采取切實(shí)措施,保障培養(yǎng)質(zhì)量。
2. 預(yù)審制度的必要性
碩士學(xué)位論文是綜合衡量軟件工程碩士培養(yǎng)質(zhì)量的重要標(biāo)志。它體現(xiàn)了研究生綜合運(yùn)用基礎(chǔ)理論、專業(yè)知識(shí)與科學(xué)方法、解決行業(yè)實(shí)際問題的能力,以及反映具有新思想,新方法或新進(jìn)展的創(chuàng)新能力。在數(shù)量不斷擴(kuò)大、培養(yǎng)質(zhì)量面臨嚴(yán)峻挑戰(zhàn)的背景下,科學(xué)公正地評(píng)價(jià)軟件工程碩士學(xué)位申請(qǐng)者的學(xué)位論文, 是保證培養(yǎng)質(zhì)量的一個(gè)重要環(huán)節(jié)。
2.1目前軟件工程碩士學(xué)位論文主要存在如下的問題:
論文缺乏自己的實(shí)際創(chuàng)新點(diǎn)和具體工作。部分論文停留在對(duì)以往研究?jī)?nèi)容的重組或綜述的水平,缺乏對(duì)自己實(shí)際工作的闡述和驗(yàn)證,技術(shù)難度和工作量不夠。論文寫作缺乏整體性思路,很多學(xué)生論文撰寫結(jié)構(gòu)欠合理,對(duì)本領(lǐng)域內(nèi)的工程和學(xué)術(shù)動(dòng)態(tài)了解不全面,缺乏實(shí)用價(jià)值和社會(huì)效益。論文格式不夠規(guī)范。主要表現(xiàn)在各級(jí)標(biāo)題字號(hào)、錯(cuò)別字、參考文獻(xiàn)引用格式不夠規(guī)范、圖標(biāo)排版不符合要求等方面。
2.2目前學(xué)位論文評(píng)閱及答辯制度存在以下問題:
2.2.1校內(nèi)外評(píng)閱制度難以切實(shí)起到監(jiān)控作用:以往碩士學(xué)位論文評(píng)審實(shí)行的是校內(nèi)外專家的實(shí)名評(píng)閱制度,校內(nèi)、校外兩位專家評(píng)審意見中有一人沒有通過的,就不能直接進(jìn)入答辯階段;如果兩位專家評(píng)審意見都是可以通過的,就可以直接進(jìn)入答辯階段。評(píng)閱制度是對(duì)論文質(zhì)量的一種監(jiān)控方式,是對(duì)碩士生是否達(dá)到培養(yǎng)要求及質(zhì)量的檢驗(yàn),但目前現(xiàn)實(shí)情況是對(duì)評(píng)審專家沒有一套嚴(yán)格、完整的遴選機(jī)制,往往評(píng)審專家都是圈內(nèi)熟人, 甚至是碩士生指導(dǎo)老師的好友、課題合作人等,他們事先知道論文作者和導(dǎo)師是誰, 礙于情面,論文一般均可順利通過評(píng)審。即使覺得論文不符合評(píng)審要求的,也不會(huì)直接給出不同意進(jìn)行答辯的意見結(jié)論。
2.2.2“雙盲”抽檢制度不能全覆蓋所有碩士學(xué)位論文:碩士學(xué)位論文“雙盲”抽檢制度(即評(píng)審專家不知道被評(píng)人、被評(píng)人也不知道評(píng)審專家),在多年實(shí)踐中的確是提高學(xué)位論文水平的一項(xiàng)重要舉措,實(shí)現(xiàn)并達(dá)到了非常好的效果,但由于實(shí)行的是抽檢機(jī)制,并不全部覆蓋所有的學(xué)生,抽中參加雙盲審的學(xué)生比例有限,大部分學(xué)生和導(dǎo)師在得知未抽中參加“雙盲”后,往往對(duì)論文的重視程度不足。
2.2.3碩士學(xué)位論文答辯流于形式:學(xué)位論文答辯成員組成盡管回避了導(dǎo)師,聘請(qǐng)了一些校外企業(yè)專家,但由于答辯專家通常是由導(dǎo)師聘請(qǐng),會(huì)導(dǎo)致答辯專家們答辯時(shí)往往留面子,缺乏打破沙鍋問到底的精神, 即使有些專家堅(jiān)持原則認(rèn)真負(fù)責(zé)的, 但在投票時(shí)少數(shù)比率起不了作用, 結(jié)果常常是評(píng)審結(jié)論與實(shí)際水準(zhǔn)不符, 答辯流于形式。目前碩士學(xué)位論文一旦進(jìn)入答辯程序,就很少有不通過的,使得論文答辯本應(yīng)該具有的權(quán)威性大有所失。
2.2.4無法確保論文修改質(zhì)量:答辯專家即使指出論文中有些較大的缺陷和問題,需要進(jìn)行修改,但是由于答辯已經(jīng)完畢,并且決議通過答辯,在申請(qǐng)學(xué)位之前,學(xué)生就沒有動(dòng)力也不會(huì)去花時(shí)間對(duì)要求修改的論文內(nèi)容去做充分的修改和完善。答辯專家組也很難在答辯之后繼續(xù)跟蹤確保對(duì)原答辯論文進(jìn)行修改質(zhì)量的監(jiān)控。
目前學(xué)位論文評(píng)審方式與答辯方式不足以及時(shí)發(fā)現(xiàn)和有力遏制以上所述的問題,而學(xué)位論文作為全面衡量軟件工程碩士生培養(yǎng)質(zhì)量的主要指標(biāo),因在各環(huán)節(jié)上予以嚴(yán)格要求,并在制度上給予切實(shí)的保證。因此,有必要在正式答辯之前建立一套碩士學(xué)位論文質(zhì)量的內(nèi)部控制管理機(jī)制,以確保碩士學(xué)位論文的質(zhì)量。
3. 我們的預(yù)審制度和執(zhí)行效果
預(yù)審,就是在碩士學(xué)位論文成型之后論文正式評(píng)閱之前進(jìn)行的一項(xiàng)審查過程,采用匿名方式請(qǐng)專家對(duì)論文進(jìn)行評(píng)審、以決定是否可否進(jìn)入答辯階段的一項(xiàng)論文評(píng)審制度。對(duì)于達(dá)不到要求的,就要求其繼續(xù)修改或者下一次再申請(qǐng)。設(shè)立預(yù)審制度的目的是想通過匿名評(píng)審專家組對(duì)碩士學(xué)位論文進(jìn)行內(nèi)容和形式上的審查,發(fā)現(xiàn)問題,查找缺陷,提出改進(jìn)意見,并決定可否提交正式評(píng)閱并進(jìn)入答辯流程,以保證論文寫作和論文答辯的較高質(zhì)量。這是對(duì)以往論文答辯制度的一種修正、補(bǔ)充。它把對(duì)碩士學(xué)位論文的質(zhì)量監(jiān)控重心提前到評(píng)閱前,使得學(xué)生擁有充足的時(shí)間修改論文,并采用匿名審核,力爭(zhēng)做到公平公正。對(duì)保證論文質(zhì)量有較大的作用。
3.1預(yù)審制度的主要內(nèi)容
預(yù)審由碩士學(xué)位候選人提出書面申請(qǐng), 經(jīng)導(dǎo)師同意并簽署書面意見后,于每學(xué)期開學(xué)后第3周之前(大致在每年3月31日前、9 月30 日前)向?qū)W院軟件工程碩士教學(xué)管理中心(以下簡(jiǎn)稱管理中心)提交完備的申請(qǐng)材料。申請(qǐng)材料包括學(xué)位論文一式2份以及已發(fā)表的符合學(xué)校有關(guān)規(guī)定要求的論文復(fù)印件, 并由管理中心形式審查相關(guān)培養(yǎng)環(huán)節(jié)是否全部完成。符合條件者進(jìn)人預(yù)審程序。管理中心根據(jù)論文研究?jī)?nèi)容,選擇2名以上相關(guān)領(lǐng)域的教授或副教授組成預(yù)審小組進(jìn)行匿名預(yù)審。導(dǎo)師不得作為本論文預(yù)審組成員。論文預(yù)審的主要內(nèi)容是審查論文選題、分析框架結(jié)構(gòu)、研究方法、工作量、引用資料文獻(xiàn)數(shù)據(jù)和寫作規(guī)范、基本結(jié)論,并進(jìn)行原創(chuàng)性審查,看是否存在抄襲、剽竊等問題。預(yù)審組在規(guī)定時(shí)間內(nèi)本著認(rèn)真負(fù)責(zé)的態(tài)度嚴(yán)格把關(guān)論文質(zhì)量,對(duì)預(yù)審中提出的問題要求進(jìn)行書面記錄并填寫《軟件學(xué)院--工程碩士學(xué)位論文預(yù)審意見表》反饋至管理中心,由管理中心及時(shí)反饋預(yù)審結(jié)論至相關(guān)導(dǎo)師告知答辯申請(qǐng)人。碩士生根據(jù)預(yù)審小組提出的問題和建議認(rèn)真修改論文。
預(yù)審結(jié)論分為以下幾種:
(1)可以參加答辯:認(rèn)為論文達(dá)到了碩士學(xué)位論文水平,且不需要修改,可以直接參加答辯;
(2)修改后再審:認(rèn)為論文及課題工作接近碩士學(xué)位水平。但論文需要修改,并給出具體修改意見。學(xué)生需根據(jù)預(yù)審意見認(rèn)真進(jìn)行修改,修改后的論文經(jīng)導(dǎo)師審查確認(rèn)后,再提交管理中心提請(qǐng)?jiān)A(yù)審專家組審核。符合要求的,可正常參加答辯,否則就不能參加本次答辯,需整改后下一學(xué)期再重新申請(qǐng)。逾期未提交修改論文的,視為自動(dòng)放棄本次答辯申請(qǐng);
(3)不通過:認(rèn)為未達(dá)到工程碩士學(xué)位論文要求,不能參加本次答辯。導(dǎo)師應(yīng)指導(dǎo)答辯申請(qǐng)人完善課題工作,修改論文,下一學(xué)期再申請(qǐng)參加論文預(yù)審和答辯。
(4)涉嫌抄襲:發(fā)現(xiàn)論文涉嫌抄襲、并經(jīng)查實(shí)的,則一律退回,并至少一年內(nèi)不得再申請(qǐng)答辯。如果以后再次發(fā)現(xiàn)抄襲,則直接取消答辯資格和申請(qǐng)學(xué)位的資格。
3.2預(yù)審制度實(shí)施效果
預(yù)審制度實(shí)施以來,迄今已經(jīng)完成了對(duì)1367位碩士學(xué)位論文申請(qǐng)者的審查, 其中通過預(yù)審的629人、推遲答辯的167人、需要修改的544人、抄襲27人,共授予學(xué)位1143人。從總體上看,預(yù)審制度真正起到了對(duì)論文質(zhì)量的監(jiān)控、提高作用。由于論文預(yù)審不是最終性的,且匿名進(jìn)行評(píng)審,排除了論文本身之外的因素,預(yù)審專家組本著對(duì)學(xué)生負(fù)責(zé)任、幫助提高論文質(zhì)量的態(tài)度對(duì)碩士學(xué)位論文提出問題和修改建議,有助于碩士生多方位思考并對(duì)論文進(jìn)行有效改進(jìn),起到了協(xié)助其導(dǎo)師把住質(zhì)量關(guān)的作用。論文預(yù)審不僅對(duì)當(dāng)事人有很大的幫助, 并且對(duì)其他準(zhǔn)備提交論文的學(xué)生也具有很大的促進(jìn)作用,導(dǎo)師們也更加重視論文的質(zhì)量和指導(dǎo)。?
4. 預(yù)審制度實(shí)施的總結(jié)和思考
預(yù)審制度最主要的優(yōu)勢(shì)是對(duì)碩士學(xué)位申請(qǐng)人的論文質(zhì)量進(jìn)行事前監(jiān)控,在正式答辯前,學(xué)位申請(qǐng)人能夠在導(dǎo)師指導(dǎo)下根據(jù)預(yù)審專家提出的修改意見對(duì)論文進(jìn)行修改和完善。預(yù)審未通過的論文不許提交答辯,這在制度上將那些質(zhì)量差的論文隔離在外,有效地把好了碩士生出口的質(zhì)量。
在看到預(yù)審制度效果的同時(shí), 我們也清醒地認(rèn)識(shí)到要最大限度地發(fā)揮預(yù)審的功能, 必須同時(shí)嚴(yán)格碩士生的開題工作,只有抓牢抓實(shí)開題工作,才能在論文工作的源頭保障論文的質(zhì)量;同時(shí)引起導(dǎo)師及其論文作者對(duì)論文質(zhì)量的重視,導(dǎo)師是保障論文質(zhì)量的關(guān)鍵因素,只有導(dǎo)師和論文作者共同重視,才能保障培養(yǎng)的質(zhì)量。為了更好的完善論文預(yù)審制度,我們覺得今后還需要在以下方面進(jìn)行進(jìn)一步的改進(jìn):
(1)落實(shí)論文預(yù)審的后續(xù)檢查機(jī)制,預(yù)審結(jié)束后, 學(xué)位申請(qǐng)人應(yīng)該嚴(yán)格按照專家提出的修改意見認(rèn)真仔細(xì)地修改論文。在評(píng)閱和正式答辯階段, 評(píng)閱專家及答辯專家除了對(duì)論文的主要工作給予評(píng)價(jià)外, 也要評(píng)判碩士生的學(xué)位論文是否按預(yù)審意見進(jìn)行了修改和完善。如果后續(xù)的檢查機(jī)制落實(shí)不徹底, 預(yù)審專家所提的修改意見得不到嚴(yán)格貫徹, 預(yù)審也難免會(huì)流于形式。
(2)預(yù)審過程中,為了避免論文預(yù)審的偏頗,盡量做到同一位導(dǎo)師所指導(dǎo)的學(xué)生論文分送到不同的預(yù)審組,以盡量提高論文預(yù)審的公正性和合理性。
(3)進(jìn)一步細(xì)化預(yù)審復(fù)議環(huán)節(jié)的工作,對(duì)導(dǎo)師、學(xué)生提出的論文預(yù)審復(fù)議要求交由學(xué)科專業(yè)委員會(huì)復(fù)議,并指導(dǎo)導(dǎo)師、學(xué)生對(duì)論文做后續(xù)的修改。
(4)增強(qiáng)預(yù)審獎(jiǎng)懲機(jī)制管理,促進(jìn)導(dǎo)師持續(xù)關(guān)注論文質(zhì)量,對(duì)預(yù)審結(jié)果優(yōu)秀的老師予以適當(dāng)?shù)莫?jiǎng)勵(lì),反之則需對(duì)導(dǎo)師增強(qiáng)后續(xù)再培訓(xùn),鼓勵(lì)導(dǎo)師改進(jìn)研究生培養(yǎng)質(zhì)量。
預(yù)審制度在我院已取得一定效果,我們將繼續(xù)總結(jié)經(jīng)驗(yàn),不斷探索和完善預(yù)審制度,切實(shí)提高我院的研究生培養(yǎng)質(zhì)量。
摘要:本文就案例教學(xué)法在軟件工程中的應(yīng)用作了初步的探討,同時(shí),簡(jiǎn)要介紹我們?cè)趪L試軟件工程案例教學(xué)中的一些體會(huì)。
關(guān)鍵詞:軟件工程;案例教學(xué)法;分析設(shè)計(jì)
1 引言
隨著計(jì)算機(jī)應(yīng)用日益普及和深化,正在運(yùn)行使用著的計(jì)算機(jī)軟件的數(shù)量以驚人的速度急劇膨脹,而且現(xiàn)代軟件的規(guī)模往往十分龐大,所以指導(dǎo)計(jì)算機(jī)軟件開發(fā)和維護(hù)的工程學(xué)科—軟件工程,日益顯示其重要地位。然而學(xué)習(xí)者一般不好理解軟件工程的實(shí)踐性,不能將所學(xué)的知識(shí)真正應(yīng)用到軟件開發(fā)過程中去。如何將理論與實(shí)際聯(lián)系起來呢?我們認(rèn)為在軟件工程中采用案例教學(xué)發(fā)將會(huì)彌補(bǔ)這一缺憾。
案例教學(xué)法以對(duì)案例的分析解決為主線,通過對(duì)案例中的問題進(jìn)行分析,激發(fā)學(xué)生的求知欲,調(diào)動(dòng)學(xué)生的積極性,使學(xué)生自覺主動(dòng)的學(xué)習(xí)案例,掌握原理和方法,實(shí)行科學(xué)的教育思想觀念的一種教學(xué)方式。它是一種互動(dòng)式的教學(xué)方法,可以實(shí)現(xiàn)啟發(fā)式教學(xué),能夠極大的促進(jìn)學(xué)生的學(xué)習(xí)興趣,實(shí)現(xiàn)真正的教學(xué)相長(zhǎng)。它更是實(shí)現(xiàn)理論聯(lián)系實(shí)際的現(xiàn)實(shí)可實(shí)施的途徑。案例教學(xué)法在軟件工程教學(xué)中的應(yīng)用將在更大程度上激發(fā)學(xué)生學(xué)習(xí)的學(xué)習(xí)興趣和參與的積極性。同時(shí),利于學(xué)生掌握理論知識(shí),并運(yùn)用知識(shí)解決軟件開發(fā)中的實(shí)際問題,最終提高教學(xué)質(zhì)量,達(dá)到學(xué)校教育培養(yǎng)的目標(biāo)。
有鑒于此,本文試對(duì)案例教學(xué)法在軟件工程中的應(yīng)用作了初步探討,以期對(duì)教育同行和廣大學(xué)習(xí)者有所啟發(fā)和借鑒。
2 案例教學(xué)法的含義
案例教學(xué)法(case methods of teaching)可簡(jiǎn)單地界定為一種運(yùn)用案例進(jìn)行教學(xué)的一種方法,它是美國(guó)當(dāng)今教育行業(yè)中非常盛行而有效的一種方法,在我國(guó)正在慢慢推廣開來。1910年,美國(guó)哈佛商學(xué)院最先使用案例教學(xué),開創(chuàng)了案例教學(xué)的先河。案例教學(xué)法于20世紀(jì)80年代初傳入我國(guó),它有利于培養(yǎng)學(xué)生分析問題、解決問題的能力,提高教學(xué)效果。
案例教學(xué)是在學(xué)生掌握了有關(guān)基本知識(shí)和分析技術(shù)的基礎(chǔ)上,在教師的精心策劃和指導(dǎo)下,根據(jù)教學(xué)目的和教學(xué)要求,運(yùn)用典型案例,將學(xué)生帶入特定的現(xiàn)場(chǎng)進(jìn)行案例分析,通過學(xué)生的獨(dú)立思考和集體協(xié)作,進(jìn)一步提高識(shí)別,分析和解決某一具體問題的能力,同時(shí)培養(yǎng)學(xué)生的溝通能力和協(xié)作精神的教學(xué)方式。通過案例分析,學(xué)生可以獲得蘊(yùn)涵其中的那些已形成的教育原理、教學(xué)方法等知識(shí),同時(shí)可以提高和發(fā)展學(xué)生的創(chuàng)造能力以及解決實(shí)際問題能力。更重要的是,通過案例教學(xué)獲得的知識(shí)是內(nèi)化了的知識(shí),是“做中學(xué)”獲得自己理解了的能駕馭的知識(shí),不再像傳統(tǒng)教學(xué)下獲得的抽象的、過度概括化的生硬知識(shí),它能立即被用到類似教學(xué)實(shí)踐情境中去解決處理類似的疑難教學(xué)問題。所以從美國(guó)教育家舒爾1986年在美國(guó)教育研究協(xié)會(huì)(aera)年會(huì)重要演講中發(fā)出要發(fā)展關(guān)于教學(xué)的案例知識(shí)的呼吁,時(shí)至今日,在眾多國(guó)家的教育研究領(lǐng)域中都能發(fā)現(xiàn)案例教學(xué)法的應(yīng)用。
3 軟件工程案例的選擇
概括而言,案例是含有問題或疑難情境在內(nèi)的真實(shí)發(fā)生的典型性事件。沒有案例,案例教學(xué)無從談起,沒有好的案例,便沒有有效的案例教學(xué),所以案例的選擇在案例教學(xué)中至關(guān)重要。一個(gè)高質(zhì)量的案例應(yīng)該具備以下幾個(gè)特點(diǎn)。
(1)目的性。案例教學(xué)的目的是為了讓學(xué)生理論聯(lián)系實(shí)際,通過案例讓學(xué)生掌握基本的原理和概念,提高發(fā)現(xiàn)問題,解決實(shí)際問題的能力。一個(gè)好的案例應(yīng)該使學(xué)生在討論中加深對(duì)教材中某一重點(diǎn)或難點(diǎn)知識(shí)的理解和把握,能利用課堂學(xué)習(xí)的理論知識(shí)來分析和解決案例中所涉及的問題。所以案例的選擇一定要圍繞教學(xué)目的和教學(xué)要求來。如果脫離這兩個(gè)中心,即使案例再生動(dòng),其教學(xué)效果也大打折扣。
(2)真實(shí)性。案例一定是現(xiàn)實(shí)中發(fā)生的真實(shí)事件,是常見又復(fù)雜的問題,有助于學(xué)生實(shí)踐能力的提高。
(3)啟發(fā)性。一個(gè)好的案例需要蘊(yùn)涵一定的問題,能啟發(fā)學(xué)生思考,發(fā)現(xiàn)多種解決的途徑。問題越誘人深入,越能夠給學(xué)生留下較多的思維空間,教學(xué)效果越好。
(4)生動(dòng)性。案例必須生動(dòng)活潑,引人入勝,這樣才能引起學(xué)生的興趣,以便展開深入的思考。
軟件工程是采用工程的概念、原理、技術(shù)和方法來開發(fā)與維護(hù)軟件,把經(jīng)過時(shí)間考驗(yàn)而證明正確的管理技術(shù)和當(dāng)前能夠得到的最好的技術(shù)方法結(jié)合起來。它強(qiáng)調(diào)使用生存周期方法學(xué)和各種結(jié)構(gòu)分析及結(jié)構(gòu)設(shè)計(jì)技術(shù),所以軟件工程案例即是選擇一些典型的軟件開發(fā)系統(tǒng),介紹其開發(fā)和維護(hù)的過程。
我們根據(jù)講解軟件工程課的具體體會(huì)和開發(fā)軟件的實(shí)際經(jīng)驗(yàn),撰寫了五個(gè)案例,開發(fā)了《軟件工程案例分析》網(wǎng)絡(luò)課件,詳細(xì)介紹五個(gè)軟件系統(tǒng)的開發(fā)過程,互動(dòng)的方式講述了用軟件工程的方法是如何進(jìn)行分析和設(shè)計(jì)的,同時(shí)在系統(tǒng)開發(fā)的每個(gè)過程中提出大量的問題供學(xué)生思考。案例選擇了房產(chǎn)管理系統(tǒng)、財(cái)務(wù)管理系統(tǒng)、機(jī)票預(yù)定系統(tǒng)、計(jì)算機(jī)儲(chǔ)蓄系統(tǒng)四個(gè)應(yīng)用軟件系統(tǒng),同時(shí)為了提高學(xué)習(xí)者理解開發(fā)軟件的難度,特別介紹l-simple語言編譯系統(tǒng)。采用傳統(tǒng)的生命周期方法學(xué),從問題定義、可行性研究、需求分析、總體設(shè)計(jì)到詳細(xì)設(shè)計(jì)做了比較詳細(xì)的研究。系統(tǒng)中五個(gè)案例涉及到當(dāng)前人們?nèi)粘I钪嘘P(guān)注的幾個(gè)領(lǐng)域:房產(chǎn)管理、財(cái)務(wù)管理、計(jì)算機(jī)儲(chǔ)蓄、機(jī)票預(yù)定,還有計(jì)算機(jī)的語言編譯系統(tǒng)。案例既具有典型性,同時(shí)又具有真實(shí)性。我們選擇四個(gè)應(yīng)用軟件和一個(gè)系統(tǒng)軟件,一方面考慮到目前軟件市場(chǎng)涉及應(yīng)用范圍的廣泛性,另一方面考慮到軟件工程學(xué)習(xí)者中大部分為計(jì)算機(jī)專業(yè),對(duì)于系統(tǒng)軟件也有一定愛好,對(duì)于將來開發(fā)系統(tǒng)軟件作一個(gè)鋪墊。
4 軟件工程案例教學(xué)的主要環(huán)節(jié)
案例教學(xué)的需要具備三個(gè)主要環(huán)節(jié):
閱讀案例,個(gè)人分析——分組討論,集體交流——總結(jié)歸納,消化提升
我們嘗試的軟件工程案例教學(xué)中同樣采用了這三個(gè)階段:
(1)閱讀案例,個(gè)人分析
學(xué)生首先對(duì)具體案例進(jìn)行必要的基礎(chǔ)知識(shí)的了解,認(rèn)真閱讀案例,并且要有個(gè)人的研究與分析,用軟件工程的傳統(tǒng)途徑—生命周期方法學(xué)作為理論指導(dǎo),熟悉軟件開發(fā)過程各階段的基本任務(wù)。
其次,學(xué)生需要盡快進(jìn)入案例情境,了解、掌握案例中揭示的有關(guān)事實(shí)、情況,自居案例中的教師角色,設(shè)身處地地分析思考案例中教師的行為及對(duì)策的合理性與不合理性。在案例的分析過程中,要注意尋找其中的因果關(guān)系,只有弄清問題產(chǎn)生的原因,才可能找到問題的合理解決手段。注意區(qū)分基本性問題和現(xiàn)時(shí)性問題?;拘詥栴}即抽象或一般的問題,常與事實(shí)背后的概念、原理、規(guī)則等有關(guān),需要通過對(duì)案例中所包括的信息進(jìn)行解釋、分析、演繹、推理和抽象以得到概括化的結(jié)論?,F(xiàn)時(shí)性問題即案例中教師所面對(duì)的特殊決定、疑難問題等要求在一定的時(shí)間范圍內(nèi)得到解決的那些問題,需將自己已有的知識(shí)或過去形成的經(jīng)驗(yàn)與案例展示的背景材料、內(nèi)外部因素等整合起來進(jìn)行綜合評(píng)判來提出多種經(jīng)得起別人反駁的見解、對(duì)策以及方案。
(2)分組討論,集體交流
分組討論是案例教學(xué)中非常重要的環(huán)節(jié),本質(zhì)上是一種概念或想法的交流。圍繞案例的重點(diǎn),難點(diǎn),疑點(diǎn),進(jìn)行討論,辯論和爭(zhēng)論。每個(gè)學(xué)生可以自由的抒發(fā)己見,相互啟迪,互相借鑒,重點(diǎn)是想法的交流。要求每個(gè)學(xué)生簡(jiǎn)要介紹自己對(duì)軟件開發(fā)所做的分析設(shè)計(jì),并提出自己對(duì)該軟件開發(fā)流程的看法,供大家討論與切磋,可以按照案例中所提出的問題一個(gè)一個(gè)討論。在教師的引導(dǎo)下,讓學(xué)生進(jìn)行課堂發(fā)言,進(jìn)行全體學(xué)生的交流。本階段要討論主要解決兩個(gè)問題:1、小組討論沒有達(dá)成共識(shí)的問題;2、按照教學(xué)目標(biāo),有意引導(dǎo)學(xué)生掌握軟件工程的生命周期法各階段所做的具體工作以及進(jìn)行相關(guān)工作的必要性。
為了使分組討論有效地開展,教師要作好充分的課前準(zhǔn)備。除了熟知案例陳述的事實(shí)、觀點(diǎn)外,還要諳知案例反映或蘊(yùn)涵的原理、規(guī)則等知識(shí),以便引導(dǎo)學(xué)生概括出來。要認(rèn)真學(xué)習(xí)研究案例后給出的教學(xué)指南,具體擬定出課堂教學(xué)計(jì)劃,這要求教師認(rèn)真思考回答以下問題:希望課堂上發(fā)生些什么?如何引導(dǎo)這些情況的發(fā)生?討論如何開展?時(shí)間如何安排?自己扮演什么角色?是先得結(jié)論再分析,還是相反?并對(duì)課堂討論中可能出現(xiàn)的情況作出預(yù)測(cè)。教師還要依據(jù)課程目標(biāo)、案例目標(biāo)及教學(xué)計(jì)劃的具體安排重點(diǎn)分析以下方面的內(nèi)容:案例中反映的那些重要論題、案例中易得出兩可結(jié)論的那些材料、案例中反映的情況發(fā)生的根源、案例中人物的行為、案例中所反映的而學(xué)生可能設(shè)想不到的情況等。在討論掌握上,教師要力保討論沿預(yù)期的軌道進(jìn)行,把討論引導(dǎo)到問題的解決上去,并引導(dǎo)出與論題相關(guān)的理論知識(shí),力爭(zhēng)班上每個(gè)學(xué)生都至少有一次發(fā)言的機(jī)會(huì),切實(shí)做到有效參與。
(3)總結(jié)歸納,消化提升
總結(jié)歸納是軟件工程案例教學(xué)的最后階段,要求學(xué)生要對(duì)每個(gè)案例寫出學(xué)習(xí)報(bào)告。該報(bào)告中包含學(xué)生在閱讀案例中所得到的具體收獲;通過分析與設(shè)計(jì)軟件,提出自己所解決的實(shí)際問題;對(duì)理論上軟件工程概念和案例中的實(shí)際是否一一相對(duì)應(yīng);以及對(duì)軟件工程仍然存在的困惑。通過反思進(jìn)一步加深對(duì)案例的認(rèn)識(shí),真正作到理論和實(shí)踐的相結(jié)合。
案例教學(xué)中,師生都要注意角色轉(zhuǎn)換,如果學(xué)生仍然熱衷于將自己置身于教學(xué)過程之外,只做一名旁觀者,案例教學(xué)也就失去了它的價(jià)值。學(xué)生只有真正地深入案例、體驗(yàn)角色,才會(huì)有案例情境的“再現(xiàn)”,案例教學(xué)的價(jià)值才能被體現(xiàn)。而教師在教學(xué)過程中也要不斷變換自己的角色,可充當(dāng)監(jiān)督員,激勵(lì)啟發(fā)學(xué)生,監(jiān)督案例分析、討論情況;可充當(dāng)示范員,向?qū)W生演示、講解、分析案例中的事實(shí)、圖表、材料等;可充當(dāng)主人翁,制定下一步的工作計(jì)劃并在實(shí)施中起主導(dǎo)作用;可作仲裁,解決各種爭(zhēng)端;可充當(dāng)交警,使討論回到預(yù)定的軌道上來;等等。
5 結(jié)束語
傳統(tǒng)的“黑板教育學(xué)”越來越受到冷落,案例教學(xué)已經(jīng)提到教育改革的重要日程上來。華東師范法學(xué)教育系鄭金洲曾指出,案例教學(xué)并不是單純的一種教學(xué)方法,它實(shí)際上是以教學(xué)內(nèi)容的變革為前提條件的,正是有了形形色色的案例,才使案例教學(xué)成為可能;案例教學(xué)也并不是一種單純的教授法,它實(shí)際上也是以學(xué)生行為的轉(zhuǎn)變?yōu)榍疤釛l件的;如果學(xué)生仍然熱衷于自己先前的角色,把自己置身于教學(xué)過程之外,只是一個(gè)旁觀者,案例教學(xué)也就失去意義。
筆者從事軟件工程的教學(xué)工作,在軟件工程中進(jìn)行案例教學(xué)法的嘗試,并且在實(shí)踐中得到了一定的效果。然而,在軟件工程案例教學(xué)中仍有很多問題需要進(jìn)一步研究探討,比如在案例中如何體現(xiàn)軟件的測(cè)試階段,它需要具體的環(huán)境來實(shí)現(xiàn);如何在案例中能夠讓學(xué)生更深入理解軟件的維護(hù)過程等等問題,都是有待于我們進(jìn)一步完善,使案例教學(xué)在軟件工程中得到進(jìn)一步的推廣。
計(jì)算機(jī)組成原理在我院的軟件工程系被定為專業(yè)基礎(chǔ)課,在學(xué)科體系中起著基礎(chǔ)性和準(zhǔn)備指導(dǎo)性的作用。目標(biāo)是通過該課程的學(xué)習(xí),使學(xué)生掌握計(jì)算機(jī)各功能部件及整機(jī)運(yùn)行的工作原理和方法,并為學(xué)生建立起整機(jī)的概念。為后期的系統(tǒng)開發(fā)的理論、實(shí)踐的學(xué)習(xí)奠定基礎(chǔ)。但該門課程具有概念多、知識(shí)點(diǎn)多、內(nèi)容抽象等特點(diǎn),加上學(xué)生思想上有“偏軟”現(xiàn)象,使該課程的組織教學(xué)有一定難度。本文將對(duì)計(jì)算機(jī)組成原理的教學(xué)現(xiàn)狀、教學(xué)方法、教學(xué)內(nèi)容、及通過實(shí)踐等輔助教學(xué)手段來改進(jìn)教學(xué)等方面進(jìn)行闡述,以期對(duì)一般本科院校的計(jì)算機(jī)組成原理教學(xué)有一定借鑒促進(jìn)作用。
一、計(jì)算機(jī)組成原理的課程的教學(xué)現(xiàn)狀
(一)課程本身的特點(diǎn)決定這門課程教學(xué)難度大
1、基礎(chǔ)概念多的特點(diǎn)
計(jì)算機(jī)組成原理這門課程由于內(nèi)容較多,所涉及的基礎(chǔ)概念也較多。在cpu模塊有微程序、微指令及流水線等系統(tǒng)類概念,其中alu部分有原碼、補(bǔ)碼等與編碼相關(guān)的概念;在存儲(chǔ)器部分,與存儲(chǔ)器單元相關(guān)的有ram、sram、dram、rom及各種rom設(shè)備,與存儲(chǔ)系統(tǒng)相關(guān)的有cache存儲(chǔ)器、虛擬存儲(chǔ)器等概念;外設(shè)部分有中斷等信息的各種傳送方法。對(duì)整個(gè)計(jì)算機(jī)系統(tǒng),有計(jì)算機(jī)的各種性能指標(biāo)。對(duì)各個(gè)概念,靠單純記憶的方法很難掌握,必須放在系統(tǒng)中學(xué)習(xí)。
2、理論性強(qiáng)的特點(diǎn)
計(jì)算機(jī)組成原理這門課程首先要考慮其原理性,現(xiàn)在仍然采用馮.諾依曼式計(jì)算機(jī)模型作為基本模型,但也要考慮現(xiàn)代計(jì)算機(jī)的發(fā)展,以融入實(shí)際的需要。如何對(duì)內(nèi)容進(jìn)行合理的安排、銜接,對(duì)任課教師來說,是一不小的挑戰(zhàn)。
3、內(nèi)容抽象的特點(diǎn)
要讓學(xué)生明白計(jì)算機(jī)的工作原理、方法和實(shí)現(xiàn),需弄清數(shù)據(jù)和信號(hào)在計(jì)算機(jī)各部件件間的流動(dòng)情況,對(duì)學(xué)生來說,這看不見也摸不著,如何將信息流動(dòng)的復(fù)雜情況形象、生動(dòng)地向?qū)W生展示、講解,教師對(duì)此需要作出相當(dāng)?shù)呐Α?
(二)學(xué)生對(duì)該們課程的認(rèn)識(shí)誤區(qū)
大部分的學(xué)生認(rèn)為,我們學(xué)的專業(yè)是軟件工程,專業(yè)是“偏軟”的,而計(jì)算機(jī)組成原理這門課程是“偏硬”的,對(duì)其轉(zhuǎn)為實(shí)際能力表示懷疑。由于對(duì)這門課程在學(xué)科中的作用認(rèn)識(shí)不明確,在學(xué)生中就有一種印象,學(xué)習(xí)這門課程主要目的是修學(xué)分的需要,另外還有考研的需要,但考研的學(xué)生比例較小,再加上這門課程本身的學(xué)習(xí)難度,因此認(rèn)真學(xué)習(xí)且能學(xué)好這門課程的人數(shù)就不多了。
二、對(duì)組成原理教學(xué)的幾點(diǎn)建議
(一)對(duì)學(xué)生對(duì)該門課程的認(rèn)識(shí)進(jìn)行相應(yīng)正確引導(dǎo)
由于是一門基礎(chǔ)理論課,加上本身的教學(xué)內(nèi)容特點(diǎn),可能內(nèi)容較為枯燥,因此學(xué)生可能會(huì)因?yàn)檎n程內(nèi)容本身而不感興趣。因此我們要在思想上要對(duì)學(xué)生加以引導(dǎo),使學(xué)生認(rèn)識(shí)到,學(xué)習(xí)這門課程不僅對(duì)計(jì)算機(jī)本身的運(yùn)轉(zhuǎn)有更深刻的認(rèn)識(shí),更對(duì)與硬件相關(guān)的嵌入式系統(tǒng)設(shè)計(jì),軟件的設(shè)計(jì)實(shí)現(xiàn)有基礎(chǔ)指導(dǎo)作用。并為學(xué)生在計(jì)算機(jī)領(lǐng)域的進(jìn)一步研究和發(fā)展奠定基礎(chǔ)。因此,學(xué)生不能因?yàn)檫@門課程“偏硬”,而自己的專業(yè)和就業(yè)方向“偏軟”就否定這門課程的重要性。
(二)根據(jù)課程設(shè)置需要對(duì)教學(xué)學(xué)時(shí)進(jìn)行相應(yīng)調(diào)整
根據(jù)不同的專業(yè),學(xué)生的不同層次,及大部分學(xué)生的就業(yè)方向?qū)υ撜n時(shí)設(shè)置不同的教學(xué)學(xué)時(shí)。報(bào)告[3]中指出,對(duì)于多數(shù)調(diào)查對(duì)象為畢業(yè)生的調(diào)查結(jié)果,多數(shù)人認(rèn)為這門課開設(shè)為64、48或32學(xué)時(shí)。而48學(xué)時(shí)的人稍多些。這與本人想法基本一致,對(duì)于非計(jì)算機(jī)專業(yè),作為導(dǎo)論型的,32學(xué)時(shí)足矣;對(duì)于軟件專業(yè),其目的主要是通過掌握其基本原理,能更好的為軟件系統(tǒng)的設(shè)計(jì)服務(wù),開設(shè)48學(xué)時(shí),其中8學(xué)時(shí)實(shí)驗(yàn)較合理。而對(duì)于偏硬件的計(jì)算機(jī)專業(yè),可以根據(jù)需要,開設(shè)56或64學(xué)時(shí)。
(三)根據(jù)專業(yè)要求及課程設(shè)置對(duì)教學(xué)內(nèi)容作出調(diào)整
計(jì)算機(jī)組成原理在學(xué)科中的地位被定為專業(yè)基礎(chǔ)課,在學(xué)科中具有承上啟下的作用,希望通過本門課程的學(xué)習(xí),使學(xué)生對(duì)計(jì)算機(jī)硬件的組成、各部件及各部件之間運(yùn)轉(zhuǎn)情況進(jìn)行了解。對(duì)于軟件專業(yè)的學(xué)生來說,為硬件相關(guān)的嵌入式系統(tǒng)設(shè)計(jì)及其他軟件的設(shè)計(jì)奠定基礎(chǔ)。計(jì)算機(jī)組成原理從內(nèi)容上主要分為三部分:cpu、存儲(chǔ)器、外設(shè)。但由于學(xué)時(shí)的限制及課程的安排(本專業(yè)開設(shè)了微機(jī)原理課,外設(shè)是其講授重點(diǎn)),重點(diǎn)講授cpu和存儲(chǔ)器兩部分。存儲(chǔ)器內(nèi)容分為主存儲(chǔ)器和存儲(chǔ)體系兩部分內(nèi)容。前者講述存儲(chǔ)元器件的基本原理,而后者則是cache、主存和輔存之間的區(qū)別與聯(lián)系,如果開設(shè)了計(jì)算機(jī)體系結(jié)構(gòu)這么課程,這存儲(chǔ)體系的內(nèi)容可簡(jiǎn)略介紹,具體內(nèi)容由計(jì)算機(jī)體系結(jié)構(gòu)講解。cpu部分與存儲(chǔ)器一樣,在詳細(xì)介紹完其核心部件alu后,重點(diǎn)即是中央處理器章節(jié),即指令的運(yùn)行,而指令的運(yùn)行需要訪問存儲(chǔ)器,這就將cpu與存儲(chǔ)體系聯(lián)系起來了。故這兩部分又是有聯(lián)系的。由此有關(guān)硬件的內(nèi)容就脈絡(luò)清晰、分工明確了。
(四)對(duì)實(shí)驗(yàn)內(nèi)容進(jìn)行合理的學(xué)時(shí)分配
實(shí)驗(yàn)課對(duì)于一門課程來說,主要目的是加深對(duì)知識(shí)點(diǎn)認(rèn)識(shí),使抽象的理論變得形象、具體。因此,對(duì)本身理論性強(qiáng),內(nèi)容抽象的計(jì)算機(jī)組成原理課程,實(shí)驗(yàn)課就顯得尤為重要。我們采用的是西安唐都科教儀器公司生產(chǎn)的實(shí)驗(yàn)箱作為實(shí)驗(yàn)設(shè)備。與其相配套的實(shí)驗(yàn)有9個(gè),其中主要包括與cpu中的與alu相關(guān)的3個(gè)實(shí)驗(yàn)、靜態(tài)存儲(chǔ)器存取實(shí)驗(yàn)、微程序控制實(shí)驗(yàn)及4個(gè)模型機(jī)的設(shè)計(jì)類實(shí)驗(yàn)。根據(jù)實(shí)驗(yàn)學(xué)時(shí)的設(shè)置,只有8個(gè)學(xué)時(shí)的實(shí)驗(yàn)課。8個(gè)學(xué)時(shí)全部完成這些實(shí)驗(yàn)有一定難度,因此,可將這些試驗(yàn)進(jìn)行合理的學(xué)時(shí)分配,如第1、2個(gè)學(xué)時(shí)完成第一、二個(gè)實(shí)驗(yàn),因?yàn)閯傞_始做硬件實(shí)驗(yàn)不熟悉,但第二個(gè)運(yùn)算器進(jìn)位實(shí)驗(yàn)教簡(jiǎn)單,可順便完成;有了前面的基礎(chǔ),完成第三個(gè)運(yùn)算器移位控制實(shí)驗(yàn)就簡(jiǎn)單多了,因此和第四個(gè)稍麻煩的靜態(tài)存儲(chǔ)器存取試驗(yàn)合并在第3、4學(xué)時(shí)完成;第5個(gè)實(shí)驗(yàn)內(nèi)容較復(fù)雜,可單獨(dú)安排2個(gè)學(xué)時(shí)完成;這樣就留出了2學(xué)時(shí)來研究后面的模型及設(shè)計(jì)與實(shí)現(xiàn)的實(shí)驗(yàn)了。
(五)以實(shí)踐為手段帶動(dòng)學(xué)生的學(xué)習(xí)積極性
為了提高學(xué)生的學(xué)習(xí)積極性,加深對(duì)知識(shí)的掌握,實(shí)踐就顯得尤為重要。對(duì)軟件專業(yè)的學(xué)生來說,利用軟件對(duì)所學(xué)知識(shí)進(jìn)行模擬不失為一種好的辦法。對(duì)于計(jì)算機(jī)組成原理這門課程,實(shí)驗(yàn)內(nèi)容較為抽象,不易被理解,因此,采用“硬件軟化”的方法,對(duì)課程的實(shí)驗(yàn)內(nèi)容等進(jìn)行模擬,既可加深對(duì)知識(shí)的掌握,又可提高大家的軟件設(shè)計(jì)、編程能力。本系為了提高大家參與的積極性,采用了學(xué)生科技立項(xiàng)的辦法,系里拿出一部分資金,將“計(jì)算機(jī)組成原理虛擬實(shí)驗(yàn)系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)”作為一學(xué)生科技項(xiàng)目,鼓勵(lì)學(xué)生組隊(duì)參加,和其他項(xiàng)目一起參加評(píng)比,并進(jìn)行獎(jiǎng)勵(lì)的辦法,在學(xué)生中得到了良好的響應(yīng)。學(xué)生做出的項(xiàng)目教師可拿來作為課堂教學(xué)用,并可鼓勵(lì)學(xué)生在此基礎(chǔ)上進(jìn)行改進(jìn),進(jìn)一步完善。以后甚至可以將系統(tǒng)分塊,讓學(xué)生分組做,并作為課后作業(yè)的一部分,計(jì)入學(xué)生平時(shí)成績(jī)。以此提高學(xué)生的學(xué)習(xí)興趣和動(dòng)力。
三、結(jié)語
計(jì)算機(jī)組成原理這門課程由于其本身知識(shí)點(diǎn)多、內(nèi)容相對(duì)抽象、知識(shí)“偏硬”等特點(diǎn),對(duì)軟件專業(yè)的學(xué)生來說,普遍學(xué)習(xí)的積極性不高,對(duì)知識(shí)的掌握不能達(dá)到預(yù)期的目的。本文從對(duì)學(xué)生的引導(dǎo)、課時(shí)的設(shè)置、教學(xué)內(nèi)容的調(diào)整等方面進(jìn)行了討論,特別提出通過“硬化軟件”的方法,提高大家學(xué)習(xí)的積極性。相信經(jīng)過多方面的努力,學(xué)生會(huì)喜歡并學(xué)好這門課程,該課程也將很好地發(fā)揮其在學(xué)科體系中的作用。