李敬輝,張寧,白麗瑞,殷妍
摘要:該文分析了當(dāng)前軟件工程類(lèi)課程教學(xué)中存在的現(xiàn)實(shí)問(wèn)題,明確了在專(zhuān)業(yè)背景下解決與專(zhuān)業(yè)相關(guān)的任務(wù)所需要素質(zhì)的培養(yǎng)仍然是教師作為專(zhuān)業(yè)課教學(xué)的首要目標(biāo)。文章根據(jù)《計(jì)算機(jī)科學(xué)與技術(shù)專(zhuān)業(yè)規(guī)范》中軟件工程方向知識(shí)體系和核心課程描述,對(duì)應(yīng)用型本科如何培養(yǎng)學(xué)生專(zhuān)業(yè)能力進(jìn)行了研究,并在軟件工程及其應(yīng)用課程中進(jìn)行了教學(xué)改革與探索,為新工科高質(zhì)量工程技術(shù)人才的培養(yǎng)提供了參考。
關(guān)鍵詞:軟件工程;能力培養(yǎng);敏捷;工程化
中圖分類(lèi)號(hào):G424? ? ? 文獻(xiàn)標(biāo)識(shí)碼:A
文章編號(hào):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 引言
“能力”是能夠出色地做完一項(xiàng)事情,評(píng)判人們能夠達(dá)到什么樣素質(zhì)水平,能不能完成一個(gè)目標(biāo)或者使命的基本標(biāo)準(zhǔn)。我們一直在討論或定義大學(xué)生完成學(xué)業(yè)后,無(wú)論進(jìn)入社會(huì)還是繼續(xù)深造,已經(jīng)具備的素質(zhì)、技能、習(xí)慣能不能被社會(huì)認(rèn)可?如果大部分不被認(rèn)可,那么問(wèn)題來(lái)了,是學(xué)校的問(wèn)題還是學(xué)生的問(wèn)題。我們說(shuō)應(yīng)該都有問(wèn)題,但主要問(wèn)題歸結(jié)于為什么我們沒(méi)能讓學(xué)生畢業(yè)時(shí)具備這些能力,學(xué)生不會(huì)將自己的知識(shí)打造成解決問(wèn)題的利器,無(wú)論學(xué)了多少知識(shí),掌握沒(méi)掌握,都不很擅長(zhǎng)利用這些知識(shí)解決各類(lèi)問(wèn)題。
2 教學(xué)中存在的問(wèn)題
目前,大部分高校軟件工程這類(lèi)課程大多數(shù)按照經(jīng)典的瀑布模型來(lái)講的,但是學(xué)生們學(xué)習(xí)這種課程時(shí)基本會(huì)出現(xiàn)如下問(wèn)題:1)壓根不知道用戶(hù)故事的概念,產(chǎn)品主要業(yè)務(wù)是哪些,業(yè)務(wù)流程是怎樣的,聽(tīng)不懂睡會(huì)兒;2)這么多模型圖我究竟要在哪個(gè)階段畫(huà)哪個(gè)圖?用工具最終學(xué)會(huì)了所謂UML圖,再?zèng)]有別的; 3)到了實(shí)現(xiàn)階段,團(tuán)隊(duì)不是討論得太細(xì)就是一個(gè)人在那里猛干,UML圖早已扔到一邊,什么團(tuán)隊(duì)協(xié)作,根本不能落地;4)實(shí)現(xiàn)時(shí)也只有大概五分之一人開(kāi)始寫(xiě)代碼,其他人不知道該干點(diǎn)啥,代碼大部分都不能工作,有嚴(yán)重缺陷;5)發(fā)布階段搞到最后一定到最后檢查的那一天,還在調(diào)試程序,美化PPT;6)維護(hù)階段時(shí)差不多課程快結(jié)束了,同學(xué)們對(duì)自己的產(chǎn)品沒(méi)有任何維護(hù),放假了;最后,大部分同學(xué)都說(shuō)這課沒(méi)用,要么聽(tīng)不懂要么累得慌,也沒(méi)學(xué)到什么東西,老師講得不行。下個(gè)學(xué)期新的一批學(xué)生會(huì)重復(fù)這個(gè)過(guò)程。
3 面向能力培養(yǎng)的軟件工程及其應(yīng)用課程的改革理念和措施
3.1 關(guān)鍵需要培養(yǎng)學(xué)生軟件工程的思維與能力
能力1:將軟件工程觀(guān)念深入到“骨髓”
軟件工程及其應(yīng)用要求的是40學(xué)時(shí)講課,24學(xué)時(shí)上機(jī)。從第一節(jié)課到最后一堂課,始終灌輸給學(xué)生軟件工程的觀(guān)念,如軟件工程和計(jì)算機(jī)科學(xué)的關(guān)系、源代碼管理、軟件規(guī)格說(shuō)明書(shū)、代碼規(guī)范等知識(shí)點(diǎn),使學(xué)生盡快產(chǎn)生固有的軟件工程思維,讓軟件和工程的觀(guān)念深入學(xué)生的骨髓[1]。
能力2:遵循工程思維觀(guān)察和分析現(xiàn)象,提出并權(quán)衡解決方案
教給學(xué)生用故事點(diǎn)、問(wèn)題描述、代碼復(fù)審、敏捷模型、Scrum等工程化思維分析需求和管理項(xiàng)目,通過(guò)三至四個(gè)課外實(shí)踐項(xiàng)目讓學(xué)生鍛煉和權(quán)衡所需的方案,并有效實(shí)施。
課程的實(shí)踐環(huán)節(jié)分為“兩類(lèi)三階段”,如圖3所示。兩類(lèi)是指課內(nèi)上機(jī)和課外實(shí)踐,課外實(shí)踐不占學(xué)時(shí),利用學(xué)生自己業(yè)余時(shí)間完成由淺入深、由易到難、由個(gè)體到團(tuán)隊(duì)的“三階段”實(shí)踐項(xiàng)目。簡(jiǎn)單的個(gè)人項(xiàng)目、初級(jí)團(tuán)隊(duì)項(xiàng)目(涉及協(xié)作且有一定代碼量)和中型成熟項(xiàng)目,按照進(jìn)度很自然地被安排在課程的前中后三個(gè)階段,教師在每個(gè)項(xiàng)目開(kāi)始前都會(huì)要求學(xué)生將現(xiàn)階段所講的知識(shí)與方法應(yīng)用并權(quán)衡實(shí)施,驗(yàn)證學(xué)生是否可以在該課程進(jìn)度下具備了解決復(fù)雜軟件問(wèn)題的技術(shù)能力。