唐金鵬,李玲琳
(1.湖南涉外經(jīng)濟(jì)學(xué)院計(jì)算機(jī)科學(xué)學(xué)部,湖南長(zhǎng)沙410205;2.湖南涉外經(jīng)濟(jì)學(xué)院電氣與信息工程學(xué)部,湖南長(zhǎng)沙 410205)
軟件專(zhuān)業(yè)課程開(kāi)發(fā)中項(xiàng)目載體的選用*
唐金鵬1,李玲琳2
(1.湖南涉外經(jīng)濟(jì)學(xué)院計(jì)算機(jī)科學(xué)學(xué)部,湖南長(zhǎng)沙410205;2.湖南涉外經(jīng)濟(jì)學(xué)院電氣與信息工程學(xué)部,湖南長(zhǎng)沙 410205)
提出以行業(yè)的真實(shí)業(yè)務(wù)項(xiàng)目為載體實(shí)施軟件專(zhuān)業(yè)課程開(kāi)發(fā),提出項(xiàng)目載體的選用原則和裁剪方法,并闡述如何將其融合到教學(xué)活動(dòng)中去。
行業(yè);項(xiàng)目;課程開(kāi)發(fā)
越來(lái)越多的高校引用真實(shí)業(yè)務(wù)案例為載體指導(dǎo)軟件專(zhuān)業(yè)課程開(kāi)發(fā),如同濟(jì)大學(xué)軟件學(xué)院開(kāi)發(fā)課程——《大型主機(jī)數(shù)據(jù)庫(kù)基礎(chǔ)與應(yīng)用開(kāi)發(fā)》[1]就是建立在真實(shí)的案例——主機(jī)銀行應(yīng)用案例基礎(chǔ)上,湖南大學(xué)開(kāi)發(fā)的課程——SOA業(yè)務(wù)建模與實(shí)踐[2]則以湖南移動(dòng)項(xiàng)目案例和銀行業(yè)務(wù)流程做為項(xiàng)目載體,這些課程的開(kāi)發(fā)都突出了一點(diǎn),就是業(yè)務(wù)知識(shí)+專(zhuān)業(yè)知識(shí),這些課程也體現(xiàn)了現(xiàn)有的一種趨勢(shì),即軟件從業(yè)人員必須掌握一定的行業(yè)業(yè)務(wù)知識(shí),具備一定行業(yè)的業(yè)務(wù)背景[3]。
但是實(shí)際項(xiàng)目往往涉及大量業(yè)務(wù)知識(shí),本文提出以行業(yè)項(xiàng)目為載體開(kāi)發(fā)軟件專(zhuān)業(yè)課程。闡述項(xiàng)目的選用原則,項(xiàng)目的裁剪方法以及如何根據(jù)此項(xiàng)目載體設(shè)計(jì)教學(xué)活動(dòng)。
在軟件專(zhuān)業(yè)的課程開(kāi)發(fā)中,項(xiàng)目案例的設(shè)計(jì)重點(diǎn)是:面向?qū)嶋H業(yè)務(wù),項(xiàng)目的選用過(guò)于簡(jiǎn)單則不能反映出課程的核心內(nèi)容;如果太難則學(xué)生會(huì)失去學(xué)習(xí)信心。因此項(xiàng)目案例必須是全面的(能充分應(yīng)用課程的知識(shí)點(diǎn))、能反映典型工作過(guò)程的、能分解的(整門(mén)課程的項(xiàng)目最好能分解到各個(gè)教學(xué)情境中去,再由教學(xué)情境分解為單個(gè)的工作活動(dòng))并且面向具體業(yè)務(wù)。因此如何設(shè)計(jì)課程的典型案例和教學(xué)情境是課程開(kāi)發(fā)的重點(diǎn)和難點(diǎn)之一。
針對(duì)軟件專(zhuān)業(yè)的核心課程《.NetWeb應(yīng)用程序設(shè)計(jì)》,本人選取了一個(gè)能反映行業(yè)特色的、囊括核心課程內(nèi)容的真實(shí)項(xiàng)目“XX港務(wù)局的港務(wù)管理平臺(tái)”引入到課程教學(xué)中,以該真實(shí)項(xiàng)目為主線(xiàn),貫穿于整個(gè)課程的教學(xué)過(guò)程。
此項(xiàng)目在總體上具有覆蓋性(即能覆蓋課程所涉及的核心知識(shí)點(diǎn):如:母版頁(yè)、主題、皮膚,ADO.net的編程、Web控件),但對(duì)于教學(xué)而言,此項(xiàng)目存在以下幾點(diǎn)不足:
1、規(guī)模大。此項(xiàng)目的開(kāi)發(fā)歷時(shí)四個(gè)月的連續(xù)開(kāi)發(fā),刨去需求分析與概要設(shè)計(jì)的時(shí)間,連同編碼、測(cè)試工作花了六個(gè)人三個(gè)月的時(shí)間。項(xiàng)目中的存儲(chǔ)過(guò)程就多達(dá)126個(gè)。這對(duì)于只有一個(gè)學(xué)期學(xué)習(xí)時(shí)間的大部分學(xué)生而言不可能完成整個(gè)項(xiàng)目的學(xué)習(xí)
2、技術(shù)要求起點(diǎn)較高。采用了大量的企業(yè)級(jí)的開(kāi)發(fā)、設(shè)計(jì)、測(cè)試、管理工具。這些工具的學(xué)習(xí)當(dāng)然是進(jìn)行企業(yè)級(jí)開(kāi)發(fā)所必要的,但做為初學(xué)者,如果在還沒(méi)有基礎(chǔ)的前提下就冒然去應(yīng)用企業(yè)級(jí)工具,往往對(duì)其專(zhuān)業(yè)發(fā)展是不太合適的,這一點(diǎn)是業(yè)界所公認(rèn)的。
3、業(yè)務(wù)性較強(qiáng)。涉及了水運(yùn)方面的一些業(yè)務(wù)知識(shí),而開(kāi)發(fā)人員僅學(xué)習(xí)業(yè)務(wù)知識(shí)就花了大概半個(gè)月左右的時(shí)間。主要是對(duì)港口交通規(guī)費(fèi)核算業(yè)務(wù)、危險(xiǎn)貨物港口作業(yè)業(yè)務(wù)、危險(xiǎn)貨物港口作業(yè)申報(bào)審核業(yè)務(wù)、港口設(shè)施保安業(yè)務(wù)進(jìn)行學(xué)習(xí)。
因此我們圍繞教學(xué)對(duì)此項(xiàng)目進(jìn)行了裁剪,首先降低項(xiàng)目的規(guī)模復(fù)雜度,其次對(duì)業(yè)務(wù)知識(shí)進(jìn)行部分簡(jiǎn)化,保留了危險(xiǎn)品管理、用戶(hù)管理、規(guī)費(fèi)核算等典型業(yè)務(wù)用于教學(xué),盡量做到剝離業(yè)務(wù)而不脫離業(yè)務(wù)。最后再?lài)@課程知識(shí)點(diǎn)對(duì)項(xiàng)目進(jìn)行擴(kuò)充。對(duì)實(shí)際開(kāi)發(fā)中所使用的企業(yè)級(jí)工具也按照從簡(jiǎn)單到復(fù)雜的過(guò)程進(jìn)行遞進(jìn)式的選用。如在實(shí)際項(xiàng)目中全程采用企業(yè)開(kāi)發(fā)庫(kù)來(lái)進(jìn)行數(shù)據(jù)庫(kù)訪(fǎng)問(wèn)和日志記錄等,在課程開(kāi)發(fā)時(shí)則還是根據(jù)初學(xué)者的特點(diǎn)采用自己編寫(xiě)ADO.net代碼來(lái)完成,在系統(tǒng)架構(gòu)上實(shí)際項(xiàng)目是采用典型三層架構(gòu)的模式,而在課程開(kāi)發(fā)時(shí)則在前面部分采用單層架構(gòu),后半學(xué)期才引入多層架構(gòu)。在實(shí)際項(xiàng)目中,采用SVN進(jìn)行代碼的版本管理,而在課程開(kāi)發(fā)中,則到后期才采用此工具進(jìn)行項(xiàng)目管理。這種項(xiàng)目選用方式,是遵循由簡(jiǎn)單到復(fù)雜,由具體到抽象、層層遞進(jìn)、重重迭代的的教學(xué)規(guī)律的。
在設(shè)計(jì)教學(xué)活動(dòng)時(shí),項(xiàng)目載體往往貫穿課程教學(xué)的始終。但是實(shí)際項(xiàng)目是由用戶(hù)需求所決定,肯定不是專(zhuān)門(mén)為教學(xué)準(zhǔn)備的。因此它是不考慮教學(xué)內(nèi)容的覆蓋性和教學(xué)的遞進(jìn)性,如本文所用項(xiàng)目中危險(xiǎn)品申報(bào)與普通貨物申報(bào)的在項(xiàng)目?jī)?nèi)容上是兩個(gè)不同的模塊,但在實(shí)現(xiàn)方式上是非常類(lèi)似的。如果簡(jiǎn)單的根據(jù)項(xiàng)目?jī)?nèi)容將它們劃分為兩個(gè)不同的學(xué)習(xí)情境,則會(huì)顯得重復(fù),因此這兩個(gè)學(xué)習(xí)情境在知識(shí)點(diǎn)上沒(méi)有任何遞進(jìn)性,在教學(xué)上是不合適的,因此本文將其中的一個(gè)模塊作為提高階段學(xué)生練習(xí)之用。
正因?yàn)椴捎脤?shí)際項(xiàng)目做為項(xiàng)目載體存在以上缺陷,我們才主張對(duì)項(xiàng)目進(jìn)行改造,并按一定的教學(xué)需要進(jìn)行裁剪。在學(xué)習(xí)情境的設(shè)定上,我們以實(shí)際為載體項(xiàng)目設(shè)計(jì)教學(xué)活動(dòng),將教學(xué)活動(dòng)分為三個(gè)階段。
模仿:以實(shí)際項(xiàng)目為載體驅(qū)動(dòng)教學(xué)活動(dòng),促使學(xué)生學(xué)習(xí)應(yīng)用課程中的知識(shí)技能。采取老師演示,學(xué)生跟進(jìn)學(xué)習(xí)的教學(xué)形式。
重復(fù):也是以項(xiàng)目為載體,此項(xiàng)目涉及的業(yè)務(wù)知識(shí)和技能知識(shí)是與前一階段大致相同或相似。學(xué)生以項(xiàng)目小組為單位自主完成項(xiàng)目的開(kāi)發(fā)。
提高:保持業(yè)務(wù)知識(shí)相似的特點(diǎn)。技能知識(shí)向企業(yè)標(biāo)準(zhǔn)看齊。如在后階段的學(xué)習(xí)中,應(yīng)用企業(yè)開(kāi)發(fā)庫(kù)完成數(shù)據(jù)庫(kù)處理、權(quán)限分配和日志處理。采用SVN進(jìn)行版本管理,采用Nunit完成類(lèi)的單元測(cè)試,應(yīng)用LoadRunner進(jìn)行性能測(cè)試。但這些知識(shí)點(diǎn)如何在一個(gè)學(xué)期中完全納入教學(xué)范圍之類(lèi),大多數(shù)學(xué)生是接受不了的。因此我們分階段來(lái)講授這些常見(jiàn)的企業(yè)級(jí)開(kāi)發(fā)技術(shù)。按以上原則與方法確定的教學(xué)活動(dòng)如下表所示。
子項(xiàng)目設(shè)置學(xué)習(xí)任務(wù)技能知識(shí)目標(biāo)業(yè)務(wù)知識(shí)目標(biāo)子項(xiàng)目一:搭建. NET開(kāi)發(fā)平臺(tái),創(chuàng)建“港務(wù)局信息管理平臺(tái)”,分析項(xiàng)目需求1、了解項(xiàng)目需求;1.1了解需求文檔;1.2了解用例圖中的事件流; 2、了解實(shí)體關(guān)系圖;3、應(yīng)用Visual Stduio 2005建立工程項(xiàng)目;4、建立無(wú)需動(dòng)態(tài)處理的基本頁(yè)面1、能理解用例圖,讀懂用例圖中的基本事件流;2、能根據(jù)基本事件流、備選事件流等分析用戶(hù)需求;3、理解相關(guān)數(shù)據(jù)表中數(shù)據(jù)字典的含義;4、Vs.net開(kāi)發(fā)環(huán)境子項(xiàng)目二:根據(jù)用戶(hù)需求,設(shè)計(jì)用戶(hù)頁(yè)面,統(tǒng)一頁(yè)面風(fēng)格1、設(shè)計(jì)港口管理模塊的頁(yè)面設(shè)計(jì); 2、設(shè)計(jì)會(huì)員管理模塊的相關(guān)頁(yè)面; 3、設(shè)計(jì)港口規(guī)費(fèi)收取模塊理的相關(guān)頁(yè)面;4、設(shè)計(jì)管理方的母版頁(yè),結(jié)合CSS設(shè)計(jì)管理方頁(yè)面的主題和外觀文件1、理解所涉及的業(yè)務(wù)實(shí)體的含義及關(guān)系。如港口、碼頭、泊位、下屬企業(yè)、船舶、設(shè)備、貨物、危險(xiǎn)品等等業(yè)務(wù)實(shí)體的含義及它們間從屬關(guān)系;2、理解各業(yè)務(wù)實(shí)體的數(shù)據(jù)項(xiàng)(數(shù)據(jù)字典),重點(diǎn)理解危險(xiǎn)品數(shù)據(jù)庫(kù)(1)Vs.net開(kāi)發(fā)環(huán)境;母版頁(yè)、內(nèi)容頁(yè);級(jí)聯(lián)樣式表的使用;站點(diǎn)地圖;Web. config文件的設(shè)置;(2)HT ML標(biāo)記;服務(wù)器控件;標(biāo)準(zhǔn)控件;HT ML控件;導(dǎo)航控件;(3)CSS的設(shè)置;主題的使用子項(xiàng)目三:根據(jù)需求驗(yàn)證所有由頁(yè)面輸入的數(shù)據(jù)1、檢查所有數(shù)據(jù)輸入項(xiàng);2、根據(jù)需求文檔提出各類(lèi)輸入數(shù)據(jù)的驗(yàn)證要求,并由交控專(zhuān)業(yè)老師審核;3、根據(jù)驗(yàn)證要求完成客戶(hù)端驗(yàn)證工作搜集港口所涉業(yè)務(wù)流程、業(yè)務(wù)實(shí)體對(duì)應(yīng)的素材(圖片,掃描文件及Flash動(dòng)畫(huà)) (由項(xiàng)目小組在學(xué)習(xí)情境一的基礎(chǔ)上自主完成,企業(yè)專(zhuān)家充當(dāng)客戶(hù)業(yè)務(wù)代表的角色,審核各小組提交的素材是否恰當(dāng)) 1、必須驗(yàn)證控件、比較驗(yàn)證控件、正則表達(dá)式驗(yàn)證控件、范圍驗(yàn)證控件、自定義驗(yàn)證控件、總結(jié)驗(yàn)證控件;2、使用客戶(hù)端驗(yàn)證腳本子項(xiàng)目四:讀寫(xiě)后臺(tái)數(shù)據(jù)庫(kù)1、港口機(jī)關(guān)管理、港口單位管理、港口企業(yè)管理、港口企業(yè)信息展示;2、生成規(guī)費(fèi)數(shù)據(jù),打印規(guī)費(fèi)報(bào)表,規(guī)費(fèi)數(shù)據(jù)發(fā)送;3.頒發(fā)危險(xiǎn)品作業(yè)許可證;4、審批危險(xiǎn)品作業(yè);5、會(huì)員管理中會(huì)員檢索、增加新會(huì)員了解業(yè)務(wù)所涉及的各類(lèi)報(bào)表,如裝卸儲(chǔ)存(危險(xiǎn)貨物)行政檢查表、裝卸儲(chǔ)存行政檢查表等(1)數(shù)據(jù)源控件;數(shù)據(jù)綁定控件;(2)帶參數(shù)的數(shù)據(jù)源控件;綁定語(yǔ)法;(3)標(biāo)準(zhǔn)控件的常用事件;間接事件;(4)寫(xiě)入數(shù)據(jù)控件選擇;(5)用Sql語(yǔ)句實(shí)現(xiàn)數(shù)據(jù)庫(kù)數(shù)據(jù)讀寫(xiě);(6)用存儲(chǔ)過(guò)程實(shí)現(xiàn)數(shù)據(jù)庫(kù)數(shù)據(jù)讀寫(xiě)子項(xiàng)目五:完成系統(tǒng)的權(quán)限管理1、建立角色;2、為角色分配權(quán)限; 3、提供會(huì)員的屬性、資料、密碼、權(quán)限等操作1、危險(xiǎn)品作業(yè)認(rèn)可業(yè)務(wù)流程;2、危險(xiǎn)品作業(yè)審批業(yè)務(wù)流程;3、了解港口交通規(guī)費(fèi)核算業(yè)務(wù):規(guī)費(fèi)以月吞吐量數(shù)據(jù)為基礎(chǔ),按單船核算,總體生成,個(gè)別調(diào)整的原則進(jìn)行生成(1)角色、成員;頁(yè)面級(jí)別授權(quán);(2)啟用用戶(hù)配置文件;(3)構(gòu)建用戶(hù)配置文件;(4)使用系統(tǒng)配置文件Web.config; (5)用代碼對(duì)Web.config進(jìn)行讀寫(xiě)子項(xiàng)目六:系統(tǒng)的測(cè)試,發(fā)布、配置、調(diào)試1、用Nunit做單元測(cè)試;2、用Load-Runner做性能測(cè)試;3、調(diào)整系統(tǒng)性能;4、發(fā)布港務(wù)管理平臺(tái)1.了解系統(tǒng)所涉及用戶(hù)的組織結(jié)構(gòu);2.根據(jù)組織結(jié)構(gòu)確定角色類(lèi)別1、性能測(cè)試;2、單元測(cè)試;3、.net Web應(yīng)用程序的發(fā)布和配置(Web.config); 4、性能調(diào)整;5、利用SVN進(jìn)行項(xiàng)目管理按照用用戶(hù)需求說(shuō)明書(shū)進(jìn)行Alpha測(cè)試,并填寫(xiě)測(cè)試報(bào)告
本文針對(duì)軟件專(zhuān)業(yè)的核心課程《.NetWeb應(yīng)用程序設(shè)計(jì)》,提出以行業(yè)業(yè)務(wù)項(xiàng)目為載體,用實(shí)際項(xiàng)目為載體開(kāi)發(fā)課程,并據(jù)此設(shè)計(jì)了課程的教學(xué)活動(dòng)。通過(guò)使用真實(shí)行業(yè)項(xiàng)目開(kāi)發(fā)課程,培養(yǎng)出既懂專(zhuān)業(yè)知識(shí)又熟悉行業(yè)業(yè)務(wù)的復(fù)合型人才。
[1]同濟(jì)大學(xué)軟件學(xué)院精品課程:大型主機(jī)數(shù)據(jù)庫(kù)基礎(chǔ)與應(yīng)用開(kāi)發(fā)[EB/OL].http://sse.#edu.cn/db2forzos/2007.
[2]湖南大學(xué)軟件學(xué)院精品課程:SOA業(yè)務(wù)建模與實(shí)踐[EB/OL].http://ss.hnu.cn/soa/index.htm.2007.
[3]盧琳生.從多角度看軟件系統(tǒng)需求[J].程序員,2006,(8):91-93.
2010-02-08
唐金鵬(1975-),男,湖南長(zhǎng)沙人,碩士。