馬小軍 夏立文
摘要:作為工程性很強的軟件工程課程,案例教學(xué)目前被普遍使用,如何做才能達到理想的效果是很多教師一直在探討的問題?;趯捒蚣芘c啟發(fā)式為主旨的軟件工程課程案例,所選主題實用,內(nèi)容設(shè)計有拓展空間,同時易于逐步滲透在教學(xué)過程中,對于激發(fā)學(xué)生分析和思考問題的主動性、在基本框架上添加適宜且有特色的“磚”和“瓦”以及培養(yǎng)軟件分析與設(shè)計能力具有良好的推動作用。
關(guān)鍵詞:案例式教學(xué);軟件工程;寬框架;拓展
一、軟件工程課程案例的選擇與實施模式
1.教學(xué)案例的選擇
軟件工程是一門理論性和實踐性都非常強的課程,其核心任務(wù)在于使學(xué)生學(xué)習(xí)、掌握軟件項目方案的確定與開發(fā)方法。單純靠死記硬背基本概念和設(shè)計規(guī)則,是不可能真正掌握和領(lǐng)會軟件生產(chǎn)的工程化思想的,而且因為學(xué)生缺乏開發(fā)經(jīng)驗,雖然對各種建模工具的使用有所了解,但要直接面對繁雜、瑣碎又有一定程度交叉的需求敘述進行抽象分析,設(shè)計可用的方案,通常也感覺無從下手。因此,采用案例式教學(xué),非常易于學(xué)生結(jié)合案例中出現(xiàn)的問題,以小組為單位開展思考和研討,集思廣益,通過不斷補充、修正,深入感知軟件工程思想的基本原理和方法的具體使用,從而提升軟件開發(fā)技能。
基于上述教學(xué)案例要求的分析,在軟件工程課程教學(xué)中,我們也曾提出過多個項目作為案例,這其中不乏在很多教材中出現(xiàn)頻率較高的圖書管理系統(tǒng)、教學(xué)管理系統(tǒng),還有時下流行的電商網(wǎng)站等。但綜合分析后,我們認為這些項目中都存在一些學(xué)生學(xué)習(xí)和進行深入思考的障礙。例如:圖書管理系統(tǒng)中通常一般人只知道有借書、還書、查詢圖書等,但實際上要保證任何一個圖書館的正常運行,為讀者頻繁的借、還書做好服務(wù)和準備工作,離不開領(lǐng)域內(nèi)部的專業(yè)管理與控制,如必須進行圖書入庫,此過程中需要對每一本圖書都要進行細致的分類、編目,還要涉及上架、下架的登記,工作和處理過程相當繁雜,若因不熟悉而忽略,那么最終給出的系統(tǒng)將缺少或失去特色,也是一個極不真實的結(jié)果,對學(xué)生而言,也就無法感受實際需求分析的過程及對開發(fā)的影響。
因此,經(jīng)過廣泛、深入的分析、思考后,我們最終選擇以國內(nèi)高校大學(xué)生體能測試為背景,設(shè)立了“大學(xué)生體能測試數(shù)據(jù)的管理與分析”案例題目。由于軟件工程課程是大二以后才開設(shè),而大二以上的學(xué)生都有體能測試的親身經(jīng)歷,對測試的內(nèi)容、形式、過程和結(jié)果等都比較了解,因此,可以很輕松地融入此案例的研討中。同時,此題目與學(xué)生息息相關(guān),學(xué)生能夠以主人翁的精神和姿態(tài)理解、完善案例,既有利于短時間內(nèi)設(shè)計出一個滿足自己需要且基本合理的方案,也可以總結(jié)出分析問題、解決問題的思維模式,真正積累和提高項目開發(fā)的經(jīng)驗。
2.教學(xué)案例的實施模式
教學(xué)理念決定著教學(xué)方式,案例式教學(xué)雖然是圍繞案例開展,使學(xué)生了解、感受和明確課程的知識點、運用方法及彼此間的關(guān)聯(lián)性,但是過程如何實施才能達到理想的效果,還是要因課而異。
軟件工程教學(xué)案例的實施依據(jù)軟件工程生命期的理念,同時為保證案例具備真實性、可實踐性和實用性,也遵循著從實踐中獲取,再反饋到實踐中應(yīng)用的原則。具體實施過程為:軟件工程理論階段性學(xué)習(xí),針對所學(xué)習(xí)的理論推出案例框架,分析、研究案例框架,結(jié)合實際拓展案例,發(fā)布、完善案例,理論與實踐交融小結(jié)。
二、基于寬框架的案例在教學(xué)中的滲透與教學(xué)組織
1.寬框架的案例設(shè)計
鑒于體能測試是由學(xué)校體育部直接負責和完成的,所以確定題目后,與體育部的教師進行了具體的交流,了解工作特點、基本工作流程和需求。之后,經(jīng)過任課教師的總結(jié),首先給出了體能測試項目的基本任務(wù)需求、執(zhí)行流程框架、主要角色和職責、開發(fā)目標等。這也是完成軟件生命期理論的第l步“項目調(diào)研,需求定義”的工作。由此,確定總體目標和大的方向,既節(jié)省了學(xué)生的調(diào)研時間,也可以避免初始任務(wù)過于雜亂的情況。
本項目相關(guān)的一般用戶主要分為教師和學(xué)生兩類。其中教師包括體育課和擔任體能測試的教師、班主任與輔導(dǎo)員、學(xué)校和學(xué)院內(nèi)各級領(lǐng)導(dǎo)。教師用戶通過本系統(tǒng)可以了解學(xué)生的體質(zhì)健康狀況,為進一步調(diào)整和提高體育課內(nèi)容的科學(xué)性以及改進校內(nèi)運動設(shè)備的實用性提供參考依據(jù)。學(xué)生用戶通過本系統(tǒng)可以了解自己的體質(zhì)變化情況,為做出適合自己的個人鍛煉計劃提供依據(jù)。
圖l所示內(nèi)容即是基于上述需求和各類用戶工作特點的主要任務(wù)分布,它只是對未來體能測試項目開發(fā)的一個粗線條任務(wù)規(guī)劃的結(jié)果,為學(xué)生留有充分的想象和擴展空間。因此,稱之為寬框架的課程教學(xué)案例,其作用是引導(dǎo)學(xué)生項目定位。
2.案例在教學(xué)中的滲透與完善
(1)案例的推出。案例教學(xué)不是直接告訴學(xué)生答案,而是以鼓勵學(xué)生思考、再創(chuàng)造為目的。寬框架的案例功能圖只體現(xiàn)了大學(xué)生體能測試項目的基本操作功能,通過網(wǎng)絡(luò)學(xué)堂將案例的框架功能描述發(fā)布,在課堂上給予簡單介紹,然后要求學(xué)生以小組為單位研究、討論案例中給出的寬框架功能,并結(jié)合具體技術(shù)、參考其他軟件的功能與使用特點,以主人翁的視角和專業(yè)軟件的開發(fā)標準和要求對框架中的每一個結(jié)點進行拓展完善,運用相應(yīng)的建模工具描述拓展結(jié)果。
(2)啟發(fā)與引導(dǎo)。在拓展前,結(jié)合項目以及與項目相關(guān)的各種用戶角色的特點,給學(xué)生適當?shù)膯l(fā)、引導(dǎo),例如:學(xué)生都是在校注冊過的,進行體能測試時是否還有必要再重復(fù)輸入學(xué)生的基本信息;教師不僅能夠進行大范圍的查詢,是否還應(yīng)該有資格查詢自己所負責的班級中某個學(xué)生的具體測試結(jié)果;班主任與學(xué)校領(lǐng)導(dǎo)的關(guān)注點是否應(yīng)該有所區(qū)別,這兩類角色又應(yīng)該有何共性;作為一個未來的軟件系統(tǒng),對數(shù)據(jù)的使用和操控怎樣設(shè)置才能夠保證安全,等等。通過一系列的設(shè)問,幫助、引導(dǎo)學(xué)生擴大聯(lián)想,同時也將一些學(xué)生不了解但是合理的需求和想法滲透到對寬框架的學(xué)習(xí)與思考過程中。
(3)框架拓展。因課上教學(xué)時間很有限,所以具體的學(xué)習(xí)、討論都是在課下。學(xué)生們在獲得基本框架后,對項目的核心問題有了初步的了解和認識,利用課余在網(wǎng)上廣泛查閱資料、調(diào)研,結(jié)合自己以往的體測經(jīng)歷和出于軟件實用性考慮,開展分析、研究,分別提出對于現(xiàn)有功能的認識、調(diào)整與拓展結(jié)果。例如:很多組都同時參考一般網(wǎng)站或系統(tǒng)的管理方式,提出設(shè)立管理員用戶,其主要任務(wù)是對維護系統(tǒng)的數(shù)據(jù)和進行權(quán)限管理等;還提出利用現(xiàn)有的正方教務(wù)系統(tǒng),導(dǎo)入?yún)y學(xué)生的基本信息;在統(tǒng)計優(yōu)秀率的同時,還要對不及格的情況進行分析,由此為將來提高學(xué)生體質(zhì)、改進體育課的教學(xué)內(nèi)容提供有力的參考。
(4)改進完善。軟件工程課程教學(xué)的目的是培養(yǎng)和提高學(xué)生分析問題、進行系統(tǒng)方案設(shè)計的能力。學(xué)生滿懷熱情和想象拓展的結(jié)果,往往會因為自身經(jīng)驗和技能的欠缺而存在一些問題或不足。為此,每一次的拓展結(jié)果任課教師都選擇一些組在課堂上演示宣講,同時帶領(lǐng)全班同學(xué)進行分析、講評,并鼓勵學(xué)生充分發(fā)表自己的意見,對于很切中要害和有創(chuàng)意性的合理的觀點,都記錄到平時成績中。既提高了學(xué)生們積極思考、參與討論的熱情,活躍了課堂氛圍,也使學(xué)生們能夠充分取長補短,向著實用的方向不斷發(fā)展。
圖2即是基于圖1的寬框架拓展完善結(jié)果。雖然不能稱為是最佳設(shè)計,但通過這樣的項目交流,學(xué)生們熱情投入,各抒己見,能夠不斷發(fā)現(xiàn)問題,改正錯誤,進一步加深對理論和技術(shù)的理解與運用。
本質(zhì)上講,學(xué)生提交的拓展結(jié)果不僅是將理論用于開發(fā)實踐,通過實踐感受原理、技術(shù)的合理性,使知識的理解和操作能力得到升華;同時也能夠豐富教學(xué)內(nèi)容,擴充和促進教師深入思考,真正實現(xiàn)了教學(xué)相長。
3.教學(xué)推進與案例的深化開發(fā)
由于數(shù)據(jù)庫表結(jié)構(gòu)的設(shè)計對于一個軟件項目后續(xù)編程實現(xiàn)而言是十分重要的,案例只給出了學(xué)生包括學(xué)號、姓名、專業(yè)、所在學(xué)院的基本信息,教師信息包括工號、姓名、所在部門。因體能測試的項目每年可能發(fā)生變化,成績的存儲類型也有所不同。所以,在系統(tǒng)設(shè)計階段,針對案例,只提出數(shù)據(jù)庫的具體結(jié)構(gòu)需要做成動態(tài)的,以適應(yīng)實際情況需要,具體保存的字段由學(xué)生們自行考慮設(shè)計。
各組學(xué)生在研究、討論過程中,提出了多種結(jié)果。例如:體側(cè)項目通過一個界面動態(tài)完成字段名稱及對應(yīng)的數(shù)據(jù)類型的選擇定義;教師所在部門專門、學(xué)院、專業(yè)等分別設(shè)計一個碼本數(shù)據(jù)表,便于后續(xù)操作的簡捷和一致性。對于每個結(jié)果,任課教師不從主觀角度做正確與否的結(jié)論,依然采取和全體學(xué)生一起分析亮點,讓學(xué)生自己意識到設(shè)計過程有哪些是考慮不周的,由此加深印象,積累和提高依據(jù)需求和系統(tǒng)功能對系統(tǒng)數(shù)據(jù)進行分析、設(shè)計的能力和經(jīng)驗。
三、課程的考核
以往軟件工程課程的考核一般都采取卷面的形式,死板、生硬,學(xué)生考過之后通常腦子里的知識信息如浮云掠過,對于今后的學(xué)習(xí)和工作很難形成知識的積淀。以案例為核心的教學(xué)不僅使學(xué)生的學(xué)習(xí)方式發(fā)生改變,考核方式也完全打破過去的主、客觀題占卷面絕對主體的方式。
考核的主導(dǎo)思想是隨著案例的推進滲透,分階段評審各小組的成果。小組成員在組長的帶領(lǐng)下展示本階段本組研究拓展的結(jié)果,其他組的同學(xué)和任課教師共同對成果按照金色產(chǎn)品、銀色創(chuàng)意品、銅色拓展品、本色實驗品4個級別進行評審,其中:
本色實驗品基本無創(chuàng)意,只是按照標準格式完成了文檔。成績?yōu)楹细瘛?/p>
銅色拓展品指在本色的基礎(chǔ)上,增加了極少量的底層小功能,但整體結(jié)構(gòu)無變化。成績?yōu)檩^好。
銀色創(chuàng)意品指在銅色的基礎(chǔ)上,整體功能、結(jié)構(gòu)合理、完善,有一定的創(chuàng)意。成績?yōu)榱己谩?/p>
金色產(chǎn)品指在銀色的基礎(chǔ)上,實用性很強,采用的技術(shù)先進,可作為實際項目推出應(yīng)用。成績?yōu)閮?yōu)秀。
對于學(xué)生而言,能夠設(shè)計出金色產(chǎn)品有相當?shù)碾y度,需要大量的閱讀、學(xué)習(xí)、調(diào)研、分析,既是技術(shù)的綜合運用,也是邏輯思維能力的造就與深度發(fā)掘,是企業(yè)軟件開發(fā)模式的初步體驗,能夠切實為未來就業(yè)積累成果和經(jīng)驗。
教學(xué)改革和課程建設(shè),是高校永遠的主題和任務(wù),目的是提高教學(xué)和學(xué)習(xí)的成效。不斷改進教學(xué)方法是教學(xué)改革的重要策略和手段,目的是激發(fā)和提高學(xué)生的學(xué)習(xí)積極熱情與興趣,而教學(xué)案例則是實現(xiàn)該目的重要媒介和工具。軟件工程不是一門速成的科學(xué),只聽不練難以領(lǐng)會原理和技術(shù)的本真與精髓,盲目的練習(xí)又會令學(xué)生感覺無從下手,難以達到預(yù)期的效果。基于寬框架和啟發(fā)式的軟件工程教學(xué)案例,不但實現(xiàn)了案例式教學(xué)的基本目的和要求,而且因所選項目具有真實感和時代感,其具體內(nèi)容和需求的變化,使學(xué)生可以充分變更與拓展,彰顯了規(guī)范與靈活的統(tǒng)一、內(nèi)核與外延的一致、啟迪與拓展的協(xié)調(diào)等特點。學(xué)生能夠逐步完成開發(fā)練習(xí),其綜合素質(zhì)和學(xué)習(xí)效果可以得到全面提升,培養(yǎng)了分析問題、工程認知、創(chuàng)新、溝通與表達的能力,同時學(xué)生們的拓展成果也延展了教師的思維,促使教師深入思考,進而提高教學(xué)質(zhì)量。
[責任編輯:余大品]