前言:想要寫出一篇引人入勝的文章?我們特意為您整理了軟件工程案例教學的設計探討范文,希望能給你帶來靈感和參考,敬請閱讀。
摘要:軟件工程是計算機專業(yè)高年級開設的一門核心課程,本文以移動通訊錄APP項目開發(fā)為案例,將軟件工程課程所具有的理論性與方法學內容融入案例,綜合采用分組討論、協(xié)同開發(fā)的教學方式,將原本內容抽象、枯燥索味的授課過程變得具體且主動,實現(xiàn)了做中學、學中做的循環(huán)式教學。
關鍵詞:軟件工程;移動開發(fā);通訊錄APP;案例教學
一、軟件工程案例教學
軟件工程是計算機科學與技術專業(yè)的一門核心課程,一般在高年級開設。與其它計算機專業(yè)課程的技術性相比,軟件工程更注重管理性,是綜合技術、方法和管理并指導軟件項目開發(fā)的一門應用型課程[1]。由于該課程具有強烈的工程與項目背景,授課內容又涉及到項目管理的方法學,老師在設置教學內容時難以把握講授難度[2]換言之,一旦涉及大量的定義(例如軟件開發(fā)模型、白箱/黑箱測試等)以及方法學(例如瀑布模型、敏捷開發(fā)模型等),學生易感抽象、空洞,掌握效果不佳。以案例驅動的形式開展授課,將上述知識點代入到一個或多個項目實例中,不僅可幫助學生更好的掌握關鍵知識,還能進一步培養(yǎng)出工程開發(fā)必要的團隊協(xié)作能力[3]。選取什么案例以及多少案例是軟件工程案例教學值得研究的一個問題,需要結合學校制定的培養(yǎng)方案、學生的興趣等諸多因素。本文以移動通訊錄作為課程案例的主要考慮是:(1)移動通訊錄是移動應用開發(fā)的一個典型應用,既可以涵蓋了項目開發(fā)的全過程,而且項目需求與實現(xiàn)功能點足夠簡單,易于教師掌控;(2)移動通訊錄基于Android平臺開發(fā),Android是當前流行的移動開發(fā)技術,大部分軟件專業(yè)學生均對此感興趣,該平臺以Java語言為基礎,學生一般在二年級已經學習過Java編程,具備一定的前期積累;(3)移動通訊錄開發(fā)難度較小但實用性強,學生在課程結束后能夠實現(xiàn)自己的作品,滿足了成就感,從而激發(fā)學生從事軟件開發(fā)的興趣。
二、教學內容體系
(一)課程前導
軟件工程是計算機專業(yè)的一門綜合性課程。為了培養(yǎng)和樹立學生對專業(yè)學習的整體觀,在講授前教師應對軟件工程的前導課程進行簡單有序的梳理,剖析各專業(yè)課程對本課程的支撐情況,對那些時隔1年以上的課程甚至需要花費一定課時進行回顧。本課程最核心的幾門先導課包括:(1)《Java面向對象程序設計基礎》,包括Java程序開發(fā)的基礎語法、系統(tǒng)類和相關的擴展知識點,如輸入輸出流、異常處理、多線程、GUI等;面向對象的基本原理和相關概念,如繼承、多態(tài)等;面向對象開發(fā)的主要優(yōu)勢:可移植、可維護、可擴展;該課程是Android移動編程的基礎語言,Java的所有機制在本課程的項目開發(fā)均可使用。(2)《數(shù)據(jù)庫原理及應用》,包括數(shù)據(jù)庫的基本概念,概念模型ER圖、數(shù)據(jù)庫表,標準化查詢語言SQL等,移動通訊錄采用Android內置數(shù)據(jù)庫SQLite,該數(shù)據(jù)庫支持SQL。(3)《移動應用開發(fā)》,包括Android體系與版本;Android事件模型;Android控件與界面設計等,本課程案例-移動通訊錄是基于Android系統(tǒng)開發(fā)。
(二)課程設置
我們將移動通訊錄的整體開發(fā)過程根據(jù)軟件工程課程大綱的要求[4]以及工程開發(fā)的流程進行模塊化處理。就學時情況而言,該教學體系假定課程總課時為36學時,學時分配是根據(jù)軟件工程各階段的重要性進行設定,根據(jù)筆者對移動項目開發(fā)的經驗,需求分析、詳細設計和編碼是整體項目完成的3個關鍵階段,學時分配較大。其次,在案例教學中,課堂上主要是教師對學生課外完成階段化工作的總結、點評、修繕等,大量的設計與編碼工作由學生在課后完成。就內容設置而言,基本涵養(yǎng)了軟件工程教學的各個關鍵知識點,包括軟件開發(fā)各階段的主要任務與目標、應提交的相關材料等。
三教學手段與方法
(一)學生分組
案例教學的特點要求本課程更適于采用學生為主的教學方式[5]。在實際的教學過程中也證實了這一點,采用分組形式讓學生自主選擇開發(fā)場景既能充分調動積極性,還能實現(xiàn)更高效的工作效率[6]。教師根據(jù)本項目的復雜度和班級人數(shù)分若干個組,每組按企業(yè)軟件開發(fā)的結構設置多種角色。為了保證每組項目能夠的有序可行,教師根據(jù)首先為每組指定項目經理的人選,然后再由項目經理和學生雙向選擇的方式組件。分組過程應把握好兩個原則:(1)自愿分組原則,自愿分組有利于團隊交流與互助,尤其是方便課后交流;(2)組長責任制原則,組長有權選擇組員以及對組員的角色進行分配,確保項目所要求人力資源,分組后組長公開人員分配情況并且闡述分配的可行性。通過兩個原則疊加使用,既防止了自由組合時的各組專業(yè)能力不均衡的困境,又滿足不同學生承擔不同角色期望與興趣。
(二)翻轉式教學
軟件工程案例教學可以模仿企業(yè)項目開發(fā)的方式,由教師主導轉換為學生主講,項目組按已設定的項目計劃定期在課堂上報告進展情況,尤其是說明運用了軟件工程中哪些原則與方法,為何使用這些原則方法。每組報告后由教師組織其它項目組共同討論。在每一組匯報時,其他小組的成員都代表為用戶角色,對項目進展提出問題或者新需求。教師在總結和點評過程中引導學生使用軟件工程的相關工具,每組在需求分析、系統(tǒng)結構、數(shù)據(jù)庫表設計等均不相同。不同場景下的項目討論與點評,更易于頭腦風暴,提升學生的應用開發(fā)能力。
(三)基于軟件開發(fā)模型的編碼
軟件開發(fā)模型是軟件工程的教學大綱當中最重要的內容之一,但這一部分若完全由老師講授對學生而言則過于抽象,為此,在課程進入編碼前,教師可首先對各種開發(fā)模型進行簡單介紹,然后由每組選擇一種開發(fā)模型應用于本組項目開發(fā)。在完成開發(fā)后,教師根據(jù)項目的完成情況、是否延期等向學生總結各模型的特點。
參考文獻
[1]沈海波,周如旗,朱雄泳.新工科+工程教育認證背景下軟件工程特色專業(yè)建設探索[J].軟件工程,2018.03:57-59+30.
[2]田懷鳳,軟件工程案例教學的不足反思與對策研究[J].2017,08:83-84.
[3]姜洋,丁秋雷.案例教學模式研究綜述[J].上海包裝,2018.04:61-62.
[4]桑春艷,王喜賓.“互聯(lián)網(wǎng)+”環(huán)境下軟件工程課程實驗實踐教學模式探討[J].教育現(xiàn)代化,2016,27:45-47.
[5]朱祺.案例教學法在軟件工程教學中的應用[J].電子世界,2017,24:92-93.
[6]李玲.軟件工程課程教學模式探討[J].計算機時代,2017,05:50-53.
作者:陳耀東 單位:長沙師范學院信息與工程系