李敬輝,張寧,白麗瑞,殷妍
摘要:該文分析了當前軟件工程類課程教學中存在的現實問題,明確了在專業(yè)背景下解決與專業(yè)相關的任務所需要素質的培養(yǎng)仍然是教師作為專業(yè)課教學的首要目標。文章根據《計算機科學與技術專業(yè)規(guī)范》中軟件工程方向知識體系和核心課程描述,對應用型本科如何培養(yǎng)學生專業(yè)能力進行了研究,并在軟件工程及其應用課程中進行了教學改革與探索,為新工科高質量工程技術人才的培養(yǎng)提供了參考。
關鍵詞:軟件工程;能力培養(yǎng);敏捷;工程化
中圖分類號:G424? ? ? 文獻標識碼:A
文章編號:1009-3044(2021)20-0098-03
Teaching Reform and Practice of Software Engineering and Its Application Course for Ability Training
LI Jing-hui,ZHANG Ning,BAI Li-rui,YIN Yan
(Tianjin University Renai College, Tianjin 301636,China)
Abstract:This paper analyzes the practical problems existing in the current software engineering course teaching, and clarifies that the cultivation of the qualities needed to solve the tasks related to the major under the professional background is still the primary goal of the teacher as the professional course teaching. According to the knowledge system of software engineering direction and the description of the core course in “Computer Science and Technology Professional Standard”, this paper studies how to cultivate students' professional ability in applied undergraduate course, and carries on the teaching reform and exploration in the course of Software Engineering and its Application, which provides a reference for the cultivation of high quality engineering and technical talents in new engineering subjects.
Kew words:software engineering; ability training; agile; engineering
1 引言
“能力”是能夠出色地做完一項事情,評判人們能夠達到什么樣素質水平,能不能完成一個目標或者使命的基本標準。我們一直在討論或定義大學生完成學業(yè)后,無論進入社會還是繼續(xù)深造,已經具備的素質、技能、習慣能不能被社會認可?如果大部分不被認可,那么問題來了,是學校的問題還是學生的問題。我們說應該都有問題,但主要問題歸結于為什么我們沒能讓學生畢業(yè)時具備這些能力,學生不會將自己的知識打造成解決問題的利器,無論學了多少知識,掌握沒掌握,都不很擅長利用這些知識解決各類問題。
2 教學中存在的問題
目前,大部分高校軟件工程這類課程大多數按照經典的瀑布模型來講的,但是學生們學習這種課程時基本會出現如下問題:1)壓根不知道用戶故事的概念,產品主要業(yè)務是哪些,業(yè)務流程是怎樣的,聽不懂睡會兒;2)這么多模型圖我究竟要在哪個階段畫哪個圖?用工具最終學會了所謂UML圖,再沒有別的; 3)到了實現階段,團隊不是討論得太細就是一個人在那里猛干,UML圖早已扔到一邊,什么團隊協(xié)作,根本不能落地;4)實現時也只有大概五分之一人開始寫代碼,其他人不知道該干點啥,代碼大部分都不能工作,有嚴重缺陷;5)發(fā)布階段搞到最后一定到最后檢查的那一天,還在調試程序,美化PPT;6)維護階段時差不多課程快結束了,同學們對自己的產品沒有任何維護,放假了;最后,大部分同學都說這課沒用,要么聽不懂要么累得慌,也沒學到什么東西,老師講得不行。下個學期新的一批學生會重復這個過程。
3 面向能力培養(yǎng)的軟件工程及其應用課程的改革理念和措施
3.1 關鍵需要培養(yǎng)學生軟件工程的思維與能力
能力1:將軟件工程觀念深入到“骨髓”
軟件工程及其應用要求的是40學時講課,24學時上機。從第一節(jié)課到最后一堂課,始終灌輸給學生軟件工程的觀念,如軟件工程和計算機科學的關系、源代碼管理、軟件規(guī)格說明書、代碼規(guī)范等知識點,使學生盡快產生固有的軟件工程思維,讓軟件和工程的觀念深入學生的骨髓[1]。
能力2:遵循工程思維觀察和分析現象,提出并權衡解決方案
教給學生用故事點、問題描述、代碼復審、敏捷模型、Scrum等工程化思維分析需求和管理項目,通過三至四個課外實踐項目讓學生鍛煉和權衡所需的方案,并有效實施。
課程的實踐環(huán)節(jié)分為“兩類三階段”,如圖3所示。兩類是指課內上機和課外實踐,課外實踐不占學時,利用學生自己業(yè)余時間完成由淺入深、由易到難、由個體到團隊的“三階段”實踐項目。簡單的個人項目、初級團隊項目(涉及協(xié)作且有一定代碼量)和中型成熟項目,按照進度很自然地被安排在課程的前中后三個階段,教師在每個項目開始前都會要求學生將現階段所講的知識與方法應用并權衡實施,驗證學生是否可以在該課程進度下具備了解決復雜軟件問題的技術能力。