谷科
摘 要 本文根據(jù)目前社會的發(fā)展和IT行業(yè)的需求,分析了軟件工程課程教學(xué)的必要性和客觀性,同時對實際教學(xué)中的一些內(nèi)容結(jié)合目前的計算機發(fā)展技術(shù)(如大數(shù)據(jù)和云計算),進行了分析與探討,提出了從實踐項目驅(qū)動出發(fā),以理論教學(xué)結(jié)合軟件實踐開發(fā)項目的指導(dǎo)方式作為主要的教學(xué)手段,注重以實踐掌握知識為主、理論學(xué)習(xí)為輔的理念,在介紹軟件工程理論的同時重點組織同學(xué)以實際需求和設(shè)計為導(dǎo)向進行軟件過程的管理與學(xué)習(xí),使得計算機專業(yè)的學(xué)生在了解軟件開發(fā)過程的相關(guān)技術(shù)同時,能夠?qū)浖_發(fā)流程有所了解和初步掌握,為適應(yīng)目前IT行業(yè)的發(fā)展提供必要的基礎(chǔ)。
關(guān)鍵詞 軟件工程 課程教學(xué) 教學(xué)內(nèi)容 實踐開發(fā)
中圖分類號:G424 文獻標(biāo)識碼:A DOI:10.16400/j.cnki.kjdkz.2017.07.062
1 教學(xué)理念
隨著互聯(lián)網(wǎng)絡(luò)和IT技術(shù)的快速發(fā)展,IT技術(shù)的服務(wù)無處不在,軟件開發(fā)已經(jīng)成為計算機專業(yè)的大學(xué)生掌握的必須技能,能夠更好地運用當(dāng)今流行的軟件開發(fā)技術(shù)手段開發(fā)程序,已經(jīng)成為計算機專業(yè)的學(xué)生在激烈的社會競爭中能夠獲勝的關(guān)鍵。所以,在當(dāng)今的IT技術(shù)時代,特別是大數(shù)據(jù)和云計算快速發(fā)展的時代,對于計算機專業(yè)的本科生來說,系統(tǒng)地掌握軟件開發(fā)技術(shù)的各個環(huán)節(jié)并使其有機結(jié)合,同時運用軟件工程開發(fā)過程的技術(shù)來組織軟件開發(fā)過程的所有資源并綜合地處理軟件開發(fā)過程已經(jīng)成為計算機行業(yè)的基礎(chǔ)需求技能。所謂軟件工程,是指系統(tǒng)地運用工程管理的知識來組織、運行、開發(fā)和維護有用的、高效的和高質(zhì)量的軟件學(xué)科。軟件工程主要包括人員管理、項目管理、可行性與需求分析、系統(tǒng)設(shè)計、程序設(shè)計、測試和維護等過程。因此,對于計算機專業(yè)的學(xué)生來說,掌握必要的軟件開發(fā)過程,了解和掌握軟件開發(fā)過程的建模和管理技術(shù)不僅能夠使自己在未來可以更輕松地應(yīng)付多種復(fù)合信息的工作需求,給自己帶來更合理的處理方法,而且也可以提高自己的軟件開發(fā)效率。所以,對一些計算機專業(yè)的學(xué)生來說,通過系統(tǒng)地學(xué)習(xí)掌握軟件過程開發(fā)技術(shù),特別是一些新的軟件開發(fā)動向,如面向服務(wù)的軟件開發(fā)和集中式計算架構(gòu)開發(fā)等,是十分必要的一項教學(xué)內(nèi)容。
目前,軟件工程課程是計算機專業(yè)教學(xué)中的一門必修課程。以作者所在的教學(xué)單位為例,軟件工程是計算機專業(yè)高年級本科生的一門必修課。該課程主要從軟件工程基本理論出發(fā),將軟件開發(fā)技術(shù)的各個環(huán)節(jié)有機結(jié)合,全面覆蓋軟件開發(fā)過程,注重培養(yǎng)學(xué)生軟件開發(fā)中的綜合職業(yè)技能。主要講授的內(nèi)容包括軟件開發(fā)規(guī)律概述、軟件開發(fā)方法、軟件開發(fā)平臺與工具、系統(tǒng)分析與建模、IT規(guī)劃與咨詢、軟件開發(fā)項目管理、軟件開發(fā)案例分析等。同時該課程引入云計算和大數(shù)據(jù)對軟件開發(fā)的需求,重點分析實際軟件開發(fā)案例,使學(xué)生掌握軟件開發(fā)的基本規(guī)律與實際管理方法。因此,軟件工程作為一門專業(yè)必修課程,計算機專業(yè)的學(xué)生不僅能夠通過這門課程掌握軟件過程的必要技能,如RUP模型和UML等,而且通過實踐的項目分析與設(shè)計,學(xué)生能夠系統(tǒng)地掌握需求分析和軟件設(shè)計的必要技術(shù),如數(shù)據(jù)流圖DFD如何使用等,使得學(xué)生掌握的知識不再停留在理論學(xué)習(xí)和應(yīng)付考試上,為學(xué)生未來就業(yè)后進入企業(yè)快速融入開發(fā)團隊提供了必需的知識基礎(chǔ)。同時,該課程通過對一些熱門開發(fā)技術(shù)的學(xué)習(xí),不僅可以提高學(xué)生的興趣,激發(fā)學(xué)生的潛能,加深學(xué)生對軟件開發(fā)技術(shù)本質(zhì)的理解,而且可以提高其相關(guān)知識的洞察力與研究能力。[1]
2 教學(xué)方法和手段
軟件工程課程的特點是知識內(nèi)容多、內(nèi)容實踐性強,沒有實踐難以掌握,例如軟件過程中的用例模型是通過角色、行為和場景來描述和分析軟件開發(fā)過程的模型,因此不僅要求學(xué)生在課堂上需要了解什么是用例,掌握用例設(shè)計的基本規(guī)則,而且也需要安排時間給學(xué)生對于復(fù)雜的場景使用用例模型進行設(shè)計分析,然后進行課堂討論,講解自己的設(shè)計思路如何滿足用戶的需求等。所以,根據(jù)軟件工程課程的特點,作者認為在課堂上宜采用“知識細化”、“精講討論”、“詳細分析”等多種多樣的教學(xué)形式。
以作者所講授的軟件工程課程為例,本課程以計算機投影開展教學(xué),配以適量的理論教學(xué)和知識點討論,并以上機課來培養(yǎng)學(xué)生的動手能力,如要求學(xué)生使用Powerdesinger軟件進行需求建模。本課程其中投影、理論和討論教學(xué)為24學(xué)時,上機實驗課為8學(xué)時(不含課外上機)。在講授過程中,考慮到該課程注重應(yīng)用的特點,遵循深入淺出的原則,對概念、原理的解釋和描述盡可能地以日常生活所接觸到的案例和圖示加以對比說明,引導(dǎo)學(xué)生掌握軟件工程的開發(fā)過程,建立概念之間和應(yīng)用之間的聯(lián)系。在討論和上機過程中,以任務(wù)驅(qū)動方式要求學(xué)生完成討論題目和上機實驗,然后及時找出學(xué)生上機時遇到的問題,并歸納總結(jié),提高學(xué)生相應(yīng)的能力(教學(xué)學(xué)時分配見表1)。另外,作者為了讓學(xué)生更好熟練地掌握軟件工程的相關(guān)知識,通過網(wǎng)絡(luò)收集了一些教學(xué)視頻和PPT課件,在完成每個學(xué)時教學(xué)任務(wù)的課后都拷貝給學(xué)生,讓學(xué)生課后回去自學(xué)這些知識。
3 教學(xué)培養(yǎng)目標(biāo)
軟件工程課程是一門要求實踐性較高的課程,對從實際的工程開發(fā)中掌握知識有較強的要求。因此,本課程主要介紹當(dāng)前最流行的軟件開發(fā)技術(shù)與環(huán)境,目的是使學(xué)生了解軟件開發(fā)過程與組織等技術(shù),掌握當(dāng)前流行的軟件開發(fā)方法與環(huán)境。本課程的教學(xué)目的是讓學(xué)生初步地掌握從宏觀和微觀兩個方面如何去開發(fā)軟件系統(tǒng)。使學(xué)生學(xué)會軟件開發(fā)的原理、技術(shù)和方法,提高學(xué)生的軟件開發(fā)和軟件工程管理能力:[2,3]
(1)培養(yǎng)學(xué)生的思考和動手能力。軟件工程課程包含大量的建模知識,同時提供了一些軟件去實踐這些知識,因此這要求學(xué)生不僅掌握建模的基本原則,同時對于實際的項目需求,能夠運用建模知識去分析建模,然后運用相關(guān)軟件進行建模概念的設(shè)計。
(2)培養(yǎng)學(xué)生系統(tǒng)的組織和管理能力。軟件工程課程是一門工程性的課程,它來源于實踐,并用于實踐。軟件工程的復(fù)雜性在于它是涉及軟件開發(fā)的各種環(huán)節(jié)和資源相互協(xié)調(diào)工作的知識。因此,培養(yǎng)學(xué)生掌握好軟件工程的知識,對于學(xué)生今后職業(yè)規(guī)劃有重要的幫助,能夠為學(xué)生往高層次的IT人才發(fā)展提供必要的知識儲備。
4 總結(jié)
本文結(jié)合作者的實際教學(xué)工作和在教學(xué)改革方面的分析與探索,從教學(xué)理念、教學(xué)方法與手段、教學(xué)培養(yǎng)目標(biāo)等方面,對計算機專業(yè)的軟件工程課程的教學(xué)改革進行了分析與探討,提出了以實際項目驅(qū)動和課堂知識點討論作為課堂教學(xué)手段,把軟件工程相關(guān)理論知識學(xué)習(xí)作為實踐的教學(xué)內(nèi)容,注重實踐為主、理論為輔的理念。目前,對于計算機專業(yè)的學(xué)生來說,軟件工程課程的本科生教學(xué)改革有著十分重要的意義與作用,其教學(xué)內(nèi)容與教學(xué)手段也應(yīng)該要適應(yīng)社會需求的變化。
參考文獻
[1] 許波,陳曉龍.UML結(jié)合軟件工程教學(xué)改革探討[J].計算機教育,2011(2):34-37.
[2] 崔寅生.談?wù)勡浖こ探虒W(xué)改革的實踐[J].成人教育,2009(12):85-86.
[3] 趙越.學(xué)習(xí)性評價機制在軟件工程教學(xué)改革中的應(yīng)用研究[J].吉林建筑工程學(xué)院學(xué)報,2015(3):112-114.endprint