周飚


[摘 要]隨著現代信息技術的發展,各行各業對應用軟件開發人才的需求更大、要求更高。為適應當前形勢,高職院校的應用軟件開發類課程教學要研究新思路、新方法。通過分析應用軟件開發課程的教學現狀,將軟件迭代開發模式運用到教學過程中,翻轉課堂,注重培養學生的操作能力。
[關鍵詞]應用軟件開發;瀑布式開發;迭代式開發;教學;應用
doi:10.3969/j.issn.1673 - 0194.2020.14.102
[中圖分類號]TP312.2-4;G642[文獻標識碼]A[文章編號]1673-0194(2020)14-0-02
1? ? ?應用軟件開發人才需求
隨著大數據、人工智能、物聯網、云計算、區塊鏈、第五代移動通信網絡等現代信息技術在各行各業應用越來越廣泛和深入,每個業務領域的全程信息化是大勢所趨。用戶對應用軟件需求進一步向深度和廣度發展,需要隨時隨地查詢信息、處理業務,而操作方便、功能完備、體驗良好的應用軟件肯定會受到用戶的歡迎。一個完整的軟件開發流程包括需求收集和分析、前端界面設計、數據庫設計、應用系統設計、數據庫開發、后端開發、前端開發、測試、整合上線和交付等環節。其中,數據庫開發要求熟練運用SQL及相關技術,實現對數據的管理和統計;后端開發要求熟練運用JavaEE、PHP等后端語言開發服務端應用和供前端訪問的接口;前端開發要求熟練運用HTML、CSS和JavaScript等開發Web前端應用。涉及應用軟件開發的就業崗位有數據庫開發與管理、JavaEE服務端開發、PHP網站開發、前端開發等。要想讓學生適應和勝任這些就業崗位,符合應用軟件行業未來發展的需要,需要做好應用軟件開發課程教學工作,探索出符合高職院校實際情況的應用軟件開發教學思路和方法,這是擺在每位高職院校應用軟件開發教學工作者面前的緊迫問題。
2? ? ?應用軟件開發課程及教學現狀
2.1? ?應用軟件開發課程概述
涉及應用軟件開發的專業一般開設了HTML5+CSS3網站前臺設計、JavaScript前端交互設計、Java面向對象編程、PHP網站設計與開發、MySQL數據庫編程等課程。這些課程的共同點是掌握和運用一門計算機語言,根據用戶需求,對應用軟件系統其中的一部分進行編碼,實現相應的功能。對于進入高等職業院校學習的學生來說,知識的聯系性和系統性不太完善,抽象邏輯思維能力比較薄弱,理解編程語言的執行流程和底層原理存在一定困難,職業院校需要加強培養學生分析實際問題并熟練運用編程語言解決問題的能力。
2.2? ?教學現狀
①偏重理論,給學生過多講解軟件開發并不會涉及的理論知識,忽視了能力培養。②偏重語法,著重講解每一門語言的基本語法,學生只是停留在語言層面進行一般理解。③偏重布置一些只是用來熟悉語法的簡單任務。④偏重代碼的單向講解,讓學生照搬和模仿。⑤不注重對具體需求和具體任務的分析,不注重講解根據不同需求編寫程序的思路和方法,不注重演示根據需求編碼的過程。很多學生缺乏對軟件項目的整體認識,急需提高分析和滿足軟件需求的能力。
3? ? ?迭代式開發概述
迭代式開發也被稱作迭代增量式開發或迭代進化式開發,每次只設計和實現軟件產品的一個累進版本,這種逐步完善的開發方法叫迭代開發,每次設計和實現的一個階段叫做一個迭代。迭代式開發方法是一種與傳統的瀑布式開發相反的軟件開發模式,彌補了傳統開發方式中的不足,成功率和生產率更高。在迭代式開發方法中,整個開發工作被組織為一系列短小的、固定長度的小項目,被稱為一系列的迭代。每一次迭代都包括定義、需求分析、設計、編碼實現與測試。采用這種方法,開發工作可以在需求被完整地確定前啟動,并在一次迭代中完成系統的一部分功能或業務邏輯的開發工作。再通過客戶的反饋細化需求,開始新一輪迭代。
4? ? ?迭代式編程教學設計與方法研究
迭代式編程演示教學法實際上借鑒了迭代開發模式,在進行現場編碼演示時,不是一次性編寫全部代碼,設計功能強大且構成復雜的軟件系統,而將待實現的軟件系統根據難易程度設計若干版本,根據每個版本設計若干任務,每次編程任務設計一個可運行的版本,后一個版本在前一個版本的基礎上增加部分功能,直到完成最終版本。這種編程教學方法循序漸進,由淺入深,能夠啟發學生探索式學習和編程,激發學生編程的積極性和創造力,將所學的知識滲透到每一個版本的編碼過程中,在完成每一次迭代版本時,獲得成就感,增強自信心。這種編程教學方法既可以培養學生分析問題和解決問題的能力,還可以提高學生的邏輯思維能力和編程能力。下面以Java面向對象編程設計課程中JDBC數據庫操作的一個教學案例研究迭代式編程演示法在教學中的應用。
網上書城后臺數據庫包含若干數據表,其中,“book表”用來存放網上書城在線銷售的全部圖書信息,每條圖書記錄包含圖書編號、圖書類別、書名、作者、出版社、出版時間、單價和數量等字段。運用JDBC數據庫操作技術增加圖書的庫存數量。
迭代任務一:運用用JDBC技術增加20本“book表”中圖書編號為“6634”的圖書。這個任務難度小,不需要提供圖形用戶界面,只用來熟悉JDBC操作數據庫的基本步驟,按照步驟編寫程序即可,如下所示。
//1、注冊并加載數據庫驅動
Class.forName("com.mysql.jdbc.Driver");
//2、獲取數據庫連接對象Connection
Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/bookstore", "root", "123456");
//3、定義Sql語句
String sql = "UPDATE book SET 數量 = 數量 + 20 WHERE 圖書編號 = '6634'";
//4、創建語句對象
Statement stmt = conn.createStatement();
//5、執行sql
int num = stmt.executeUpdate(sql);
System.out.println("修改成功,共修改了" + num + "條記錄。");
//6、關閉jdbc對象
stmt.close();
conn.close();
迭代任務二:提供圖形用戶界面,由用戶輸入需要增加的數量(圖1),根據輸入的數量,在原來的基礎上增加編號為“6634”的圖書。
這個任務難度為中,不再只是增加固定的數量“20”,而是由用戶在文本框中輸入需要增加的數量,點擊增加按鈕即可為編號為“6634”的圖書增加指定的數量。這個任務要綜合運用JDBC和GUI技術實現編程,不足之處是只能對編號為“6634”的圖書增加庫存數量。
迭代任務三:提供圖形用戶界面,由用戶選擇圖書編號,再輸入需要增加的數量(圖2),點擊“增加”按鈕后,根據所選圖書編號和所輸入數量增加該圖書的庫存數量。
這個任務難度高,用戶可以單擊下拉選擇框選擇圖書編號,再輸入要增加的數量。點擊“增加”按鈕后將為選定的圖書增加輸入數量。這個任務與上一任務的不同之處在于根據數據庫圖書表存儲的全部圖書編號創建下拉選擇框,供用戶選擇圖書編號。這個任務要深入運用JDBC和GUI技術實現編程,功能更完善,更切合實際需求。
教師先從簡單任務進行分析,并進行編程演示,引導學生運用所學知識上手編程。第一次迭代版本完成后,組織學生進行成果展示、交流經驗。接著啟發學生完成下一個版本,在鞏固上一個版本中用到的知識的同時,教師進行適當演示,激發學生用新的知識設計新版本。按照這種迭代式編程演示方法,教師和學生一起一步步開發出用戶使用價值越來越高的軟件。
5? ? ?結 語
迭代式編程演示教學方法是軟件開發類課程教學進行課堂翻轉的重要部分,這樣的方法可以讓學生主動學習和積極創新。在貫通學生知識、提高學生技能的同時,增強師生互動、生生互動,有助于學生積累項目實戰經驗,提高學生創新能力。
主要參考文獻
[1]朱忠旭,黃兵.基于案例項目的高職“軟件工程”迭代式教學法研究[J].安慶師范學院學報:自然科學版,2014(4):141-144.
[2]張喻平.MySQL數據庫理實一體化教學研究[J].學周刊,2019(9):11.
[3]楊彩.分階段迭代式教學在Java課程中的應用[J].教書育人:高教論壇,2015(15):109-110.
[4]陳戰勝,王廷梅,李明.項目教學中應用迭代開發方法的研究和實踐[J].計算機教育,2010(7):134-137.
[5]王海英,張偉華.任務驅動分步迭代教學在《JAVA程序設計》教學改革中的應用[J].電腦知識與技術,2017(26):142-143.
[6]張帆.項目迭代驅動教學法在《網頁設計與制作》教學中的應用[J].計算機光盤軟件與應用,2013(7):232-233.
[7]王明松,錢靜媛.Android應用程序開發課程的CDIO教學實踐[J].電腦知識與技術,2015(14):151-152.