黃艷梅
(江西工程學(xué)院,江西新余,338029)
用戶驅(qū)動教學(xué)就是按照軟件工程思想把體現(xiàn)用戶的需求貫穿于整個的軟件生命周期過程中,教學(xué)方式為師生之間的有效互動,學(xué)生通過在項目開發(fā)的過程中圍繞項目需求,學(xué)習(xí)到相關(guān)的開發(fā)方法和技巧,使學(xué)生明白所學(xué)的知識可以用來做什么,如何做等等。目前,在各高校的計算機軟件教學(xué)中,越來越重視基于用戶驅(qū)動的軟件實施的教學(xué)方法,但是實際所產(chǎn)生的效果不盡相同,各種原因也各不相同。主要涉及到軟件開發(fā)的設(shè)計環(huán)節(jié)和實施環(huán)節(jié)。本文在教學(xué)過程中通過用戶驅(qū)動軟件項目實施,探討用戶在驅(qū)動教學(xué)中具體應(yīng)用情況以及注意事項。
軟件產(chǎn)品由軟件公司開發(fā)出來后,在將產(chǎn)品交付到用戶手中,完成安裝調(diào)試和軟件使用前的培訓(xùn)后,軟件就正式開始了發(fā)揮它的使用價值過程。但在實際的軟件生命周期過程中,出現(xiàn)了一系列的問題,這些問題各式各樣,用戶對于軟件的使用體驗也出現(xiàn)了或多或少的不滿意,甚至出現(xiàn)了抵觸使用軟件的情緒等,使用軟件后并沒有達到最初期望大幅提高工作效率的目的,更有甚者認(rèn)為使用軟件后情況更糟了。分析原因:(1)軟件開發(fā)商開發(fā)的軟件本身就存在缺陷,難以同用戶的需求相匹配;(2)軟件設(shè)計復(fù)雜,實際使用軟件操作容易出現(xiàn)錯誤,用戶很難掌握使用方法;(3)軟件設(shè)計的業(yè)務(wù)流程和用戶單位部門間工作流程有較大出入,無法協(xié)調(diào)解決;(4)軟件實施人員沒有很好的貫徹軟件使用的規(guī)范操作和流程說明,實施質(zhì)量打折扣。鑒于以上的問題,為了更好的滿足軟件產(chǎn)品服務(wù)客戶的現(xiàn)實需要,提出了一種用戶驅(qū)動軟件實施的方法,用戶在軟件各個實施階段發(fā)揮自身的助推工作,提高軟件實施的效率。用戶對于軟件的整個生命周期過程(需求、設(shè)計、開發(fā)、使用及維護)都有著重要的作用。用戶的需求作為整個軟件設(shè)計、開發(fā)的出發(fā)點和落腳點。對于軟件信息系統(tǒng)的實施,用戶參與的程度,參與的方式都會對軟件實施的最終結(jié)果產(chǎn)生影響。
用戶驅(qū)動實施涉及到實施單位各部門、軟件公司施工人員等多方合作協(xié)調(diào)。從用戶角度出發(fā),將其劃分為決策層面和執(zhí)行層面。其中決策層指導(dǎo)執(zhí)行層工作,執(zhí)行層向決策層匯報工作。執(zhí)行層具體又分為分管業(yè)務(wù)和分管技術(shù)部門。軟件的順利實施需要決策層和執(zhí)行層共同配合、共同參與到軟件的實施過程中。這一模型中各類人員職責(zé)明確,相互配合,相互協(xié)調(diào)共同完成軟件工程的具體實施和有效運行等。決策層中通常包含三個方面:最高決策層、分管業(yè)務(wù)的領(lǐng)導(dǎo)者、分管信息技術(shù)部門的領(lǐng)導(dǎo)者。在軟件具體實施過程中,需要最高決策層來推到各個分管部門的軟件實施工作。最高決策者統(tǒng)籌安排軟件實施的規(guī)劃,并聽取相關(guān)分管部門領(lǐng)導(dǎo)的情況匯報工作。領(lǐng)導(dǎo)層負(fù)責(zé)做好軟件實施的目標(biāo)管理、規(guī)劃工作流程、工作制度的制定、管理和協(xié)調(diào)各個部門人員的崗位等。執(zhí)行層又劃分為業(yè)務(wù)和技術(shù)兩部分。單位的業(yè)務(wù)部門負(fù)責(zé)業(yè)務(wù)的確認(rèn)和具體操作工作。單位的信息部門承擔(dān)信息技術(shù)工作,負(fù)責(zé)整個軟件信息系統(tǒng)的日常運行和維護工作。業(yè)務(wù)部門主管負(fù)責(zé)對新提出需求給予確認(rèn)、系統(tǒng)功能的使用、系統(tǒng)功能的推廣等,一般由對部門業(yè)務(wù)熟悉,對于部門業(yè)務(wù)的發(fā)展有科學(xué)合理的設(shè)想和展望的業(yè)務(wù)精英人員擔(dān)當(dāng)。部門業(yè)務(wù)工作人員負(fù)責(zé)對于自身工作相關(guān)的業(yè)務(wù)對應(yīng)的軟件信息系統(tǒng)的功能模塊進行使用后,提出使用后的建議,以促進對系統(tǒng)的具體業(yè)務(wù)功能加以改進。應(yīng)用系統(tǒng)的管理人員負(fù)責(zé)對系統(tǒng)日常功能的維護包括基礎(chǔ)數(shù)據(jù)的更新和完善,基礎(chǔ)系統(tǒng)功能的調(diào)配和變更工作。作為應(yīng)用系統(tǒng)程序的操作人員以及基礎(chǔ)數(shù)據(jù)庫操作的人員分別負(fù)責(zé)軟件系統(tǒng)的基礎(chǔ)業(yè)務(wù)操作,基礎(chǔ)數(shù)據(jù)庫安裝、調(diào)試等,從而確保應(yīng)用系統(tǒng)的正常使用。硬件設(shè)備維護人員負(fù)責(zé)硬件設(shè)備的正常運轉(zhuǎn)和信息網(wǎng)絡(luò)的通暢運行。
(1)根據(jù)用戶驅(qū)動軟件模型,明確當(dāng)前涉及的用戶及類型;
(2)根據(jù)單位的實際情況,制定軟件使用過程中的計劃、質(zhì)量評價方案,驗收的標(biāo)準(zhǔn),軟件供應(yīng)商,雙方關(guān)于軟件需求商議內(nèi)容的簽字確認(rèn);
(3)根據(jù)之前制定的開發(fā)目標(biāo)和計劃,由相關(guān)用戶和軟件供應(yīng)商按照各自分工完成階段性工作,做好相互的配合協(xié)調(diào)工作,期間單位人員可以了解到整個軟件涉及到的相關(guān)業(yè)務(wù)流程,便于日后的軟件維護工作;
(4)軟件實施完工后,由單位和軟件供應(yīng)商相關(guān)人員,根據(jù)先前的驗收標(biāo)準(zhǔn),檢查驗收階段性開發(fā)工作;
(5)根據(jù)驗收標(biāo)準(zhǔn),若滿足階段性目標(biāo)驗收要求則推進到下一階段的工作,并做好相關(guān)文檔的存檔工作,若不符合驗收標(biāo)準(zhǔn),則分析原因,完善開發(fā)工作,盡快實現(xiàn)預(yù)期功能目標(biāo)要求,如此反復(fù),直至任務(wù)目標(biāo)的完成。
客戶需求變更是導(dǎo)致軟件實施失敗的重要原因。如下舉例:某學(xué)校的教務(wù)管理系統(tǒng)在進行業(yè)務(wù)實施需求收集過程中,采用了基于用戶驅(qū)動模式的軟件實施的方法。業(yè)務(wù)需求階段的流程調(diào)研結(jié)果:
(1)涉及的用戶人員主要由分管教務(wù)工作的校長,教務(wù)處處長,信息中心的主任,教務(wù)辦公室主任,辦公室科員,信息中心的運維工作人員。其中教務(wù)處辦公室主任既是業(yè)務(wù)部門的領(lǐng)導(dǎo),同時也是業(yè)務(wù)骨干人員。教務(wù)辦公室工作人員則是系統(tǒng)的使用人員和系統(tǒng)的管理人員。
(2)由信息中心的系統(tǒng)建設(shè)人員負(fù)責(zé)需求計劃方案的制定,確定要調(diào)研的的方式、涉及的人員和調(diào)研的具體內(nèi)容等。制定系統(tǒng)驗收的階段性標(biāo)準(zhǔn),制定需求確認(rèn)標(biāo)準(zhǔn),以及審核確認(rèn)方案等。
(3)由信息中心的運維人員負(fù)責(zé)在軟件提供商的指導(dǎo)下完成教務(wù)系統(tǒng)的具體部署工作等。
(4)由軟件提供商指導(dǎo)培訓(xùn)業(yè)務(wù)科室人員使用教務(wù)系統(tǒng),教務(wù)辦科員積極使用教務(wù)系統(tǒng)的各個功能模塊,了解原型系統(tǒng)是否滿足實際業(yè)務(wù)工作的需要,并根據(jù)自己的工作提出需求。
(5)軟件提供商與教務(wù)處工作人員溝通,確認(rèn)需求變更情況。
(6)教務(wù)辦部門向軟件供應(yīng)商提供本部門反映現(xiàn)實需求的管理相關(guān)方面的問題,為軟件供應(yīng)商方面提供科學(xué)有效的參考。
(7)軟件供應(yīng)商編寫 軟件需求調(diào)研的報告性文件,包含對業(yè)務(wù)的整體描述、業(yè)務(wù)流程圖和數(shù)據(jù)流程圖等軟件開發(fā)設(shè)計階段的需求,召集相關(guān)業(yè)務(wù)人員和開發(fā)人員,召開需求評審會議,依據(jù)軟件驗收的標(biāo)準(zhǔn),收集需求簽字確認(rèn)需求。
(1)軟件授課的方式和地點的變化。針對軟件設(shè)計、開發(fā)及實施這種操作性強的課程,除了在課堂上對開發(fā)理論方法和技巧知識的講解外,將授課的地點由一般的教室轉(zhuǎn)移到微機教室中。在微機教室上課,最大限度的發(fā)揮學(xué)生實際操練的體驗,圍繞軟件開發(fā)的完整過程,學(xué)生與教師、學(xué)生與學(xué)生之間交流軟件開發(fā)的方法和技巧,心得體會,將課堂上學(xué)到的開發(fā)理論知識結(jié)合軟件開發(fā)的實踐操作,可以加深對于理論知識的理解和認(rèn)識,提高學(xué)習(xí)軟件開發(fā)技能的效率,學(xué)生所得到的感性認(rèn)識不僅得到了提升,而且在機房授課的效率更高,學(xué)生學(xué)習(xí)掌握的更快更好。
(2)仿效軟件開發(fā)的模式做好培訓(xùn)。安排學(xué)生仿效軟件開發(fā)的實際模式進行,教師作為軟件項目需求的提出者,將學(xué)生可以分成小組進行,由開發(fā)水平中等的學(xué)生擔(dān)任開發(fā)小組組長,這樣學(xué)生們可以各自發(fā)揮自身的優(yōu)勢,集思廣益。由小組長下達開發(fā)的目標(biāo)和要求,承擔(dān)需要開發(fā)的人員,各自分工,各個小組承擔(dān)相應(yīng)的用戶需求,設(shè)計、開發(fā)以及實施工作,小組成員之間可以自由討論,商討開發(fā)方案,最后由集體成員做出決策,確保軟件開發(fā)階段性目標(biāo)的實現(xiàn)。
(3)用戶需求實現(xiàn)評價激勵機制?;谟脩粜枨篁?qū)動的軟件開發(fā),制定有針對性的軟件測評激勵機制有利于激發(fā)學(xué)生們的學(xué)習(xí)積極性和持久動力,形成良好的正向激勵。階段性目標(biāo)需求的實現(xiàn),根據(jù)小組成員的具體表現(xiàn)和討論此過程中給小組成員評分,完成階段的考核,讓學(xué)生們感受到自己參與完成的每項任務(wù)都是在考試。學(xué)生的課程設(shè)計、畢業(yè)設(shè)計的評分機制和方式可以采用多元化的評價方式,首先可以根據(jù)每個小組完成用戶驅(qū)動需求的情況,給予小組相應(yīng)的分?jǐn)?shù),然后再由小組內(nèi)成員根據(jù)成員間的表現(xiàn)情況和能力貢獻情況給予打分,成員分?jǐn)?shù)不能高于小組的分?jǐn)?shù)。
(1)用戶需求的確認(rèn)。用戶需求是整個軟件項目實施成功的基礎(chǔ)前提。整個軟件開發(fā)都是圍繞著用戶的需求展開進行,做好前期用戶需求的確認(rèn)工作就顯得尤為重要。用戶需求的變更,不僅僅涉及到軟件技術(shù)層面的問題,也涉及到用戶單位管理及業(yè)務(wù)流程的適當(dāng)調(diào)整和完善,需要雙方通過協(xié)調(diào),在用戶和軟件開發(fā)功能上取得相對的平衡,需求的確認(rèn)往往也是單位用戶改進工作效率的契機,常常能達到雙贏的目的。但是關(guān)鍵的是,用戶需求必須以文件形式由相關(guān)負(fù)責(zé)人加以簽字確認(rèn),取得雙方的認(rèn)可。
(2)教師隊伍的建設(shè)。我們需要高校的教師,長期在學(xué)下從事理論知識的課程教學(xué),很長時間不參與實際的軟件研發(fā)工作,往往缺乏實際的軟件開發(fā)的經(jīng)歷,對最新的開發(fā)方法和現(xiàn)實的社會需求不熟悉,授課的內(nèi)容和經(jīng)歷偏重于理論化,過于理想化;學(xué)校近些年也意識到這些問題,針對現(xiàn)實社會需求,開設(shè)了更近社會需求的課程,但是與實際社會需要仍存在差距,書本知識往往落后與現(xiàn)代科學(xué)技術(shù)的飛速發(fā)展。作為學(xué)校教學(xué),應(yīng)進一步拓展思路,讓學(xué)校教師有更多實際參與軟件的經(jīng)歷,也可以同軟件企業(yè)聯(lián)系,創(chuàng)辦校企聯(lián)合的項目和平臺,讓教師和學(xué)生有更多參與實際軟件開發(fā)的機會,真正通過實際的開發(fā)經(jīng)歷,提升學(xué)生解決實際問題的能力。
基于用戶驅(qū)動的軟件實施過程是一項繁瑣的系統(tǒng)性工程。需要在前期確認(rèn)用戶實際需求的基礎(chǔ)上,解決好軟件實施過程中的各項風(fēng)險,運用科學(xué)和規(guī)范的辦法實現(xiàn)軟件項目實施的成功率。本文結(jié)合教務(wù)管理信息系統(tǒng)提出的實際需求,通過采用基于用戶驅(qū)動的軟件實施教學(xué)方法,展示了完整的信息系統(tǒng)軟件的具體實施過程,期間闡述了在教務(wù)系統(tǒng)模型中,各個實施階段中使用用戶驅(qū)動軟件實施的流程,并在教務(wù)管理新系統(tǒng)的業(yè)務(wù)需求階段做了應(yīng)用型研究,用戶驅(qū)動軟件實施的方法可以保證用戶的較高參與性、提高軟件實施的成功率。但是軟件實施通常都是一項時間跨度很長的系統(tǒng)工程,在實施的過程中往往存在多方面因素的影響,如何把控軟件實施工程的風(fēng)險需要做進一步研究。
[1]劉譞哲,黃罡,梅宏.用戶驅(qū)動的服務(wù)聚合方法及其支撐框架[J].軟件學(xué)報,2012,(08).
[2]李鋼,蔡先孌,尹鵬程.基于GIS的市級國土資源電子政務(wù)方案探討——以徐州市為例[J].中國土地科學(xué),2014,(04).
[3]周相兵.一種面向構(gòu)件的訪問控制模型及訪問控制框架研究[J].中國制造業(yè)信息化,2015,(15).
[4]江衛(wèi)東,夏士雄,夏戰(zhàn)國.基于GML的多源異構(gòu)空間數(shù)據(jù)集成研究[J].計算機工程與設(shè)計,2013,(14).
[5]黃穎,謝忠.分布式異構(gòu)多級空間數(shù)據(jù)轉(zhuǎn)換機制的研究與實現(xiàn)[J].測繪科學(xué),2011,(04).