葉小艷



一、引言
2017年2月18日,教育部高等教育司張大良司長在綜合性高校工程教育發展戰略研討會上強調:當前新經濟快速發展迫切需要新型工科人才支撐。隨后,教育部于同年6月9日在北京召開新工科研究與實踐專家組成立暨第一次工作會議,審議通過了《新工科研究與實踐項目指南》。根據指南要求,新工科應該服務于新經濟、新產業。[1]從普通高校層面來說,一方面要開設和發展新興工科專業,另一方面要推動現有工科專業的改革創新,主動布局面向未來技術和產業的人才培養。[2][3]為加快實現我國工程教育強國的夢想,普通高校應該構建新工科與傳統工科相結合的學科專業新結構,探索新工科背景下課程教學新模式,提高普通高校教育質量和人才培養質量。[4]
一個專業的改革通常立足于專業定位、專業目標,然后是課程建設。新工科的“新”在于以下五個方面:新理念、新模式、新方法、新內容和新質量,如圖1所示。而對于課程來講,創新教學方法、優化教學內容等則成為新工科背景下教學新模式的重要內容。
軟件需求位于軟件工程的起始階段,是軟件系統開發中一個重要的獨立工作階段,為軟件工程后續階段提供了工作基礎,對軟件項目的成敗至關重要。美國專門從事跟蹤工程項目成功或失敗的權威機構Standish Group的CHAOS系列報告指出,需求因素對成功項目的影響指數為539%,對問題項目的影響指數為556%,對失敗項目的影響指數為609%,和軟件需求相關的因素為軟件項目所帶來的風險和問題已經超過了所有的其他因素。同時,隨著軟件系統規模的擴大和復雜程度的增長,以需求分析為重心的傳統需求處理技術已經不能適應現代軟件技術發展的要求,完整的需求工程過程應運而生。[2]需求工程是開發者在進一步深入理解軟件項目需求處理活動之后提出的一個階段性活動。同傳統的需求分析相比,在需求工程中,軟件需求處理不僅僅停留在單純的分析與建模,需求的獲取、定義、文檔化、驗證及管理都是其中必需和重要的工作。
到目前為止,學術界與產業界在需求工程領域取得了較大的進展,研發了一系列有效的需求技術、方法和工具,[5][6]構成了一個完整的需求工程過程框架。但是,尚有大量理論、方法和技術有待于廣泛傳播和全面應用,特別是需要進行系統化的實踐才能驗證其科學性。
二、軟件需求分析課程的主要問題
1.課程開設較為隨意,課程愿景難保障
從查閱的各種文獻資料看,不少學校有開設軟件需求分析類的課程。但課程名稱不一、課程內容設置、課程教學模式等更是五花八門,有的學校直接把需求分析課變成了UML建模課;有的只設置理論教學,不設置實踐教學環節;有的按照傳統技術類課程設置教學模式,這樣導致學生上完這門課仍然不得要領,更談不上在軟件工程實踐工作中能夠很好地把握需求環節,確保項目的順利進行。
筆者任教的學校包含了軟件工程、信息管理與信息系統、計算機科學與技術、人工智能、網絡工程等10多個IT專業,據調研,目前只有兩個專業開設了需求分析課程,按照現代IT項目規模大、業務復雜的特點,如果忽略需求分析階段的工作,則會在很大程度上造成整個軟件項目的失敗、延期、超支等現象。在這樣的環境下,需求分析的課程愿景難得得到保障。
2.傳統教學模式固化,影響課程教學效果
需求分析課是一門綜合性非常強的課程,從理論方面看,需要掌握需求工程每個階段的理論知識、編程知識、界面分析的知識等,還需要掌握大量行業知識、溝通學、心理學、語言學等,才能保障學生在需求捕獲的過程中溝通順暢。從實踐方面看,需要掌握需求開發過程中大量的工具、方法和技巧,才能在此基礎上形成鮮明的實踐路線,在實際項目中得心應手。
傳統教學模式主要采用的是教師講授的方式,學生被動接收;實踐教學環節設置以單個實驗任務為主,沒有連貫性的任務體現。這樣對于技術的訓練是“依葫蘆畫瓢”,學生并不能深入理解“需求分析”的實質。實踐過程中涉及的技術、工具、方法等在這樣的模式下難以體現,學生在課堂活動過程中并不能完全領會,最終還是會把實踐課上成UML建模課。而需求分析過程中行業知識、溝通、表達等能力的培養更是空白。
3.考核方式單一,難以體現課程目標
傳統考核方式有兩種:一種是純理論教學的閉卷考試,另一種是平時成績(占30%)和期末考試成績(占70%)結合。這兩種考核方式的共同點就是強調理論知識的掌握程度,而忽略了實踐能力的考核,因此會導致本課程的目標丟失,學生并沒有在該課程中掌握到熟練的動手能力。
4.實踐教材匱乏,師生難以把握實踐內容
市場上的需求分析類的教材比較少,又基本是以基本理論研究為主,能夠作為課堂實驗教材的書籍更是匱乏,這樣就令相關的教師和學生無所適從,教師不能很好地把握實踐內容,學生缺少了引領,也不知如何下手。
三、軟件需求分析課程改革措施
1.指導思想
本課程《教學大綱》《實驗大綱》的制定是在軟件工程等專業基于OBE(基于學習產出的教育模式)理念的人才培養技術路線上的一個環節(如圖2所示),根據本專業的培養目標決定了學生畢業時應該達到什么要求,然后制定課程體系,再進行教學實施,而后進行教學評價,形成反饋和改進措施,最后回到培養目標,形成一個閉環結構。而《需求分析》在整個人才培養方案中,是一門專業的核心課程;需求分析環節,也是學生畢業設計作品中必須涉及的內容,所以該課程的教學在整個人才培養方案中至關重要。
本課程的教學設計堅持以學生為中心,以掌握、鞏固知識和掌握基本技能為基礎,以提高專業能力為主線,以增強實踐本領為重點,以激勵創新意識為導向的指導思想開展實踐教學。
2.基本原則
(1)堅持整體優化、持續改進的原則
教學大綱、實踐大綱的制定,符合人才培養目標的要求,從整體優化的角度正確處理好課堂教學和實踐教學以及各實踐環節之間的關系,[7]在對原有的教學設計進行認真梳理和研究的基礎上,進行統籌考慮、系統設計,以下思維導圖(見圖3)是筆者對本課程進行整體優化的分析過程。
在人才培養方案的大框架下面,根據課程特征、知識要求和本課程的愿景,從知識點覆蓋、教學方式、課堂組織形式、課堂管理模式、學生學習模式、課堂質量保障等方面進行對策研究,并進行課堂實施,然后形成驗證與反饋機制,逐年改進。
(2)堅持理論聯系實際的原則
堅持理論聯系實際,既加強本學科的基本理論、基礎知識、基本技能的訓練,又與生成實際緊密結合。
本課程全程模擬企業實際需求分析的實施過程[8][9],實踐內容以項目貫穿始終,使學生既能運用所學知識和所掌握的技能解決實際問題,又培養團隊合作和獨立思考的能力。
(3)注重培養學生實踐能力和創新意識的原則
實踐教學對于提高學生的綜合素質、培養學生的創新精神與實踐能力具有特殊的作用。本課程在內容選擇和教學方法確定上注重學生創新意識的培養,所有項目從立項到結題都是學生自主提出,增加了學生自主設計實驗的能力。在實踐環節中模擬企業的客戶方和開發團隊的需求溝通環節,學生要使項目能夠順利進行,必須大力加強分析能力、表達能力、溝通能力等專業技能之外的能力,促進綜合技能的培養。
(4)堅持符合市場需求、根據職業崗位能力分析設計的原則
根據崗位的任務、項目、能力、知識進行分析綜合,按照職業崗位作業流程、工作任務等,設計項目的課程內容體系,修訂課程標準和教學大綱。
3.具體做法
(1)課程教材的編寫
筆者在研讀了國內外的需求分析相關書籍,綜合了國內外先進的需求分析方法和技術的基礎上,最終采用了徐峰老師的SERU過程框架的原理來設置需求實踐的內容。作為一本既可以涵蓋理論教學,又可以涵蓋實踐教學的教材,在設置需求定義、需求捕獲、需求分析與建模、需求評審、需求驗證等理論知識的基礎上,設置了12個實訓環節。實訓的內容以完整的項目貫穿始終,學生在實踐過程中模擬企業項目的實施,以文檔來驅動實踐實施過程,最終得出完整的《軟件需求規格說明書》。
(2)教學內容設置
根據需求分析的課程愿景,本課程設置的理論教學部分包含了除需求定義、需求捕獲、需求分析與建模、需求描述、需求驗證等技術部分的內容,還設置了實施項目部分所需的團隊成員角色及所需技能、需求規劃、需求管理等內容,以此來保證實踐內容的正常實施。具體內容如圖4所示。
實踐部分內容根據圍繞理論部分的基本概念、方法,以“項目課程化”的方式來設置教學內容。整個實踐過程以項目貫穿始終,但因為課堂教學分散的特點,將項目分為若干個小目標,進而分散到每一節課里面去,使得學生既有項目全局的概念,又有具體而明確的局部概念,能夠更好地推進課程實踐過程的實施。
具體的實踐內容網絡圖如圖5所示,這是一個將待開發的項目看作一個黑盒的過程,從業務的角度去逐步求精的過程。
(3)課程教學模式設置
本課程理論部分包括知識講授、案例分析和講解、團隊討論;實踐部分包括情景式教學、任務驅動式教學、項目課程化教學和問題導入法教學等多種教學方式。
具體的課堂組織形式是先由學生自由組隊(3-5人為一組,不超過5人),然后在資源庫選擇項目,或者根據生產實際提出項目(此時的團隊扮演的是客戶的角色),并根據項目的目標對項目進行立項,項目立項后抽簽決定組號,角色扮演正式由此開始。此時由后一組的同學充當前一組同學的需求團隊,前一組是后一組的客戶,那么在這個過程中,同一個組是雙重角色,在項目實施過程中,既能體會客戶的立場,也能體會需求團隊的立場。需求團隊此時正式接收客戶的項目進行需求開發。
需求團隊在課程里會經歷需求定義、需求捕獲、需求開發和需求描述的過程,在每個過程中形成書面文檔,每次的文檔會經過教師的批改、客戶的審核,部分關鍵點會經歷集體課堂需求審核的過程,每次審核過后,需求團隊都會修改文檔,直至項目結束,會形成完整的《軟件需求規格說明書》,參與最后的評審。具體如圖6所示:
在課堂控制過程中,有幾點要特別關注。第一是客戶方對于項目的提出,教師要善于控制項目的規模,項目過大和過小都不利于課堂訓練;第二是協調客戶和需求團隊之間的關系,企業中出現的溝通問題,在課堂中同樣會出現,教師鼓勵團隊自己解決的前提下,教師也要起疏導作用;第三是課堂有效性的控制,課堂引入了“團隊積分制”,不論是團隊討論的過程,還是客戶方配合、需求團隊的需求開發、需求評審的過程,都納入團隊積分的范疇,課程每一階段結束,會進行積分排名和清空,排名靠前的會給予高的平時成績。這樣的積分方式對學生有了激勵的效果,學生課堂討論會變得比較熱烈。
四、結束語
本課程的教學改革在學生中取得了比較好的效果,從畢業生回訪和企業評價來看,企業對于本門課程的教學進行了充分的肯定。同時,本課程也獲得了學?!耙粠熞粌炚n”的立項和校內教改項目的立項,會在實踐過程中進行不斷完善。
參考文獻:
[1]陳海棟,安豐華.新工科背景下工業安全技術課程教學改革探討[J].教育現代化,2019(13):52-54.
[2]彭珍連,曹步清,劉建勛.新工科背景下的軟件需求工程課程教學模式[J].計算機教育,2019(08):55-58.
[3]江星.面向web的需求工程方法的研究與實踐[D].北京郵電大學,2013.
[4]郭志立.新時代背景下新工科助力新產業創新發展的路徑探索[J].職業技術教育,2019(01):46-51.
[5]陳路.面向崗位需求的《需求工程與UML建模》課程改革探討[J].教育現代化,2019(33):48-50.
[6]易莎莎.一種基于定量管理的需求工程改進模型研究及應用[D].湖南大學,2013.
[7]關于制(修)訂實踐教學體系和實踐教學大綱的通知[EB/OL].(2006-8-11)[2019-11-5].http://jwc.gzhu.edu.cn/info/1014/1249.htm.
[8]徐曉飛,李廉,戰德臣,等.新工科的新視角:面向可持續競爭力的敏捷教學體系[J].中國大學教學,2018(10):44-49.
[9]崔舒寧,桂小林,吳寧,等.新工科創新理念的計算機基礎實訓案例設計[J].計算機教育,2019(03):155-158.
注:
圖1引自顧佩華的《新工科與新范式:概念、框架和實施路徑》;圖2引自白艷宇的《基于OBE理念的人才培養技術路線》;圖5引自徐鋒的《軟件需求最佳實踐》。
[基金項目:廣州大學華軟軟件學院科學研究、教育教學研究項目(編號:ky201939);2017年外經外貿發展專項資金(促進服務貿易創新發展項目)(編號:2160699-87);“促進服務貿易創新發展項目”子課題(編號:CJ201810)]
責任編輯陳春陽