?

特色化實踐項目驅動的軟件需求工程教學探索

2021-05-29 11:56王文娟鄒一波王振華
實驗室研究與探索 2021年4期
關鍵詞:涉海海洋案例

宋 巍,賀 琪,王文娟,鄒一波,王振華

(上海海洋大學信息學院,上海 201306)

0 引言

2017 年教育部、財政部、國家發展改革委印發《關于公布世界一流大學和一流學科建設高校及建設學科名單的通知》,面對“雙一流”建設帶來的機遇和挑戰,作為特色化一流學科建設高校,如何充分依托優勢學科,培養具有優勢學科與信息學科交叉背景的復合型領域信息化人才,是當前特色院校軟件工程專業建設和改革的首要任務。

軟件需求分析與設計是軟件工程專業中最重要的基礎課程之一,是軟件工程學科體系建設中必不可少的環節,為軟件工程專業方向學生后續課程(例如軟件項目開發、測試和管理等)的學習奠定重要基礎。此外,在實際軟件工程應用項目中,需求分析與設計也是決定該軟件項目成功與否的重要因素之一。據相關統計,需求階段產生的軟件項目問題,在維護階段將造成100%~200%成本增加,并導致約15%的軟件項目失敗。因此,軟件工程的需求分析與設計課程建設對于培養應用型軟件工程人才,具有重要的社會意義和實際價值。

基于上述原因,團隊長期致力于將海洋領域知識融入信息專業核心課程教學,定期開展不同學科背景教師間的教學研究活動,通過對多個實際涉海項目的分析和反復討論,針對軟件需求分析教學,提出驅動“全過程實踐”的課堂教學方法和“全過程引導”的軟件需求分析綜合實踐方案,為培養具有特色實踐經驗的軟件需求工程師人才,以及交叉復合型的海洋信息化高水平緊缺人才打下堅實基礎。

1 軟件需求分析的教學研究現狀

軟件需求工程作為一門用工程化方法研究高質量軟件需求開發和管理的學科,其自身特性決定了該學科知識具有高度的抽象性[1]。教學中,大量概念、需求獲取和建模方法等內容,使得學生易感枯燥,失去學習興趣。因此,很多教育工作者對軟件需求分析教學方法進行了改革。

案例驅動的教學方法在工程類的人才培養中,起到了重要的作用[2-3]。張純容等[4]提出采用“問題與案例驅動的課內實踐教學分級模式”來培養工程師所需的能力及職業素質。秦放等[5]從教學內容、教學方式、課程考核等方面進行探討,提出案例驅動與項目導向結合的軟件工程課程教學模式。

以案例驅動的教學法在軟件需求分析或軟件需求工程中得到廣泛應用,并取得較好的教學效果。例如,劉偉等[6]將案例驅動教學法引入“軟件需求工程”課程的課堂導入、內容講解和實驗教學等教學環節,結合實踐與理論,合理選取和設置教學案例,發揮學生學習的主動性及創造性,提高教學質量。文獻[7-9]中則采用教學案例討論的方法,改進了課程的教學內容與方法,增加了課程中實踐的比重,有效提高學生的學習熱情,提升了教學質量。孫紅梅等[10]提出了面向個性化案例的軟件工程類課程的網絡教學平臺建設的方案。陸向艷等[11]提出基于專題教學的軟件工程實踐教學方案,并以“原型法需求分析實踐”為專題進行實踐教學,進行了相關課程教學目標和教學考核的詳細設計,實現了核心教學內容,教師對各教學環節的跟蹤指導及成績評定的精細設計,并得到學生的好評。但是,以上研究均缺乏有新意的、面向行業需求的實踐案例。

為增強教學互動,陳丹琪等[12]探討了建構主義理論,并將相關情境、協作、會話和意義建構4 大要素融入需求工程教學中,改變教學互動方式,激勵學生主動交流和思考。在軟件需求工程實踐與考核環節中,角色輪換或角色扮演等策略被廣泛使用[1,13-16]。學生分組,組間相互進行需求提出、需求獲取、需求評審,學員分別扮演用戶方、開發方、評審者等不同角色,促進學員不同技能與交流協作能力的培養。師生和學生間的交互有助于軟件需求工程抽象知識的理解和掌握,應在軟件需求工程/軟件需求分析教學中進一步加強,需要在教學中設計更具體、更明確的交互措施。

在教學管理和質量評審方面,李尤豐等[13]借助統一軟件數據管理系統(USDM)的“需求設計管理工具”,對學生實踐項目的準備、啟動、展開、定型、評審等5 個環節使用軟件成熟度模型(CMMI)標準管理,并進行量化考核??笛愕龋?4]引入CMMI 質量保障體系和業界標準,保證需求文檔撰寫質量和實踐需求管理的各個階段。然而,除了以標準化管理量化考核或增強需求文檔質量,更重要的是如何引導學生認識和修正需求分析過程中的問題。

綜上所述,當前軟件需求工程的教學仍存在以下主要問題:

(1)缺乏具有行業特色且有新意的實用型案例,不利于特色領域信息人才的培養。學生選課系統、在線訂餐、網上書店等經典案例不斷出現在多個計算機教學課程中,很多學生對此缺乏興趣,需求開發存在很大局限性[15]。

(2)孤立小型案例,案例間的關聯性不強,缺乏系統性和完整性。大部分實用案例都與較復雜的信息系統相關,系統內容的相互關聯如何在教學案例中加以體現,是現階段案例驅動教學改革的重點。

(3)需要強化教學互動的具體設計,加強對學生實踐全過程的引導。軟件需求分析的案例和項目,開放性比較強,適當的教學互動有利于控制知識點的實踐效果。

2 特色項目驅動的軟件需求分析教學設計

2.1 教學目標

我校軟件工程專業的教學目標是“培養適應當前社會信息化發展水平,掌握計算科學和軟件過程的基本理論、方法和技能,接受良好、系統的工程實踐訓練,具備熟練運用軟件工程專業知識分析、解決、管理復雜工程問題的能力,能適應多學科、多行業需求,尤其是海洋、農業、空間信息背景的軟件工程高級應用型人才”。與該教學目標相匹配,將軟件需求分析課程的教學目標和任務定位于:培養掌握基本理論和方法、具備實踐經驗的軟件需求工程師等領域人才,以及滿足海洋行業需求的海洋信息化特色高水平緊缺人才。

通過引入海洋信息化軟件項目作為實際案例,全過程貫穿并指導軟件工程需求分析的教學與實踐環節,將授課內容各個環節與實踐任務緊密結合,激發學生的學習主動性和創造性,提高學生對軟件需求分析知識的理解力和軟件需求分析綜合實戰能力。本教學設計是海洋特色高水平大學建設背景下軟件工程專業新型教學模式的初步探索。

2.2 教學設計與內容

圍繞教學目標,確定教學活動的實施包括以下3個階段。

(1)海洋特色軟件項目的遴選與再分析。以涉海類項目案例驅動的軟件需求分析,首先要完成軟件項目的遴選。根據軟件工程需求分析與設計課程目標、時間安排以及軟件工程專業本科生的知識技能和理解能力,合理選擇海洋特色軟件項目案例的難度、規模、數量。

為此,調研了學校2014~2017 年間在海洋與信息交叉領域完成的軟件工程項目,共12 項,從中選擇適合的項目作為案例。項目選擇依據兩大原則:①項目材料相對齊全。需收集的各類項目資料包括:原始背景資料、項目的軟件需求規格說明文檔、會議紀要、各類硬數據、項目成果等;②項目難度適中。項目周期太長、涉眾范圍太廣的項目,一般太復雜不適宜教學任務;而執行時間太短、涉眾單一、功能簡單的項目一般不需要開展軟件工程需求分析。因此,選擇周期6~12 個月,涉眾3~6 類的項目。最后,對于選定的項目,進一步根據教學內容在需求量上進行適當刪減,對于部分資料不足的項目,積極與項目相關涉眾開展了面談和集體訪談,獲取需求,并由教師開展需求分析活動,確保最終的需求說明文檔具備優秀需求特性。

通過以上過程,選定了兩個涉海類項目:海洋環境監測平臺和海洋經濟調查數據管理系統。這兩個系統前期項目需求分析較完備,難度適中,且各自具有不同的側重點。海洋環境監測網平臺以各類環境監測的業務管理為主要需求,涉及多類型監測內容的處理與展示,適合在課堂教學環節中使用;海洋經濟調查數據管理系統以數據管理為主要需求,涉及多種數據庫建模和關聯關系的分析、數據的查詢、輸入和輸出等,與學生數據結構與數據庫原理等課程相關性強,適合在學生自主實踐中使用。由于這兩個系統都比較龐大,用于教學時對原系統中功能模塊的數量進行了刪減,將業務級需求控制在3~4 項,便于開展教學實踐。

(2)海洋特色軟件項目驅動的“全過程實踐”教學措施。海洋特色化項目確定后,需要解決的問題是如何圍繞軟件工程需求分析活動的全過程,將海洋信息化實際項目及軟件工程需求分析與設計課程的教學內容真正結合起來,設計最適合的教學情境,最大化教學效果。

教學團隊從3 個方面制定相關措施。①整理選定的海洋領域軟件工程項目的需求分析材料,根據授課內容的不同階段進行分解,使其與教學活動相匹配,保證對教學內容的全覆蓋和完整性。②對于理論教學中的重點和難點部分,從選定的涉海項目中提煉關鍵問題,作為教學中與學生交互活動的主題,讓學生帶著問題思考、討論、總結。③授課時結合準備的材料和交互主題設計,以海洋環境監測平臺軟件項目的需求分析全程貫穿教學,邊學邊做,逐步開展對該項目的分析,激發學生的學習主動性和積極性,強化對課程知識點的理解。

以海洋環境監測網平臺為例,針對各教學階段的主要難點梳理出與之對應的項目內容和課堂交互的方式方法,如表1 所示。

表1 教學關鍵問題與案例項目材料和交互內容對照表

(3)以海洋特色化項目“全過程引導”的軟件需求分析綜合實踐。與理論教學相輔相成,實踐課程是學生深入理解和掌握需求搜集、分析、評審、變更管理等過程和技能的重要手段,同時也是培養學生動手實踐能力、溝通交流能力和團隊協作能力的有效渠道。通常學生以小組為單位開展軟件需求項目的設計與分析實踐,小組項目可以是自由選題也可是給定題目。這兩種做法的利弊是:①自由選題的靈活性高、項目范圍廣,但小組項目各不相同,教師對學生自定義項目的準備不足,分析和指導可能不到位;②給定題目下教師能夠對學生做出的項目分析給出比較準確、合理的指導,但題目往往不能與時俱進,學生對此缺乏興趣。

在海洋特色化項目驅動下,將學生綜合實踐的項目選題范圍確定為:1 個指定的海洋類軟件工程項目(海洋經濟調查數據管理系統)加自由選題。此外,以分角色扮演的組織形式開展綜合實踐。根據第1 階段選定的海洋信息化項目(該項目未在理論教學中出現)指定1 個項目題目;每個小組各提出1 個合理的軟件項目(項目的合理性由教師進行指導),作為項目候選庫。此時,小組扮演的角色是軟件需求方。由1 個小組自愿選擇海洋類項目、其余小組選擇非自己小組提出的項目,開展需求工程活動。此時,學生們扮演的角色是需求分析工程師。在學生開展需求分析活動的過程中,教師以這個海洋類項目為樣本,通過檢查、分析該項目各小組的分析活動和產生的需求分析文檔,發現學生在開展需求分析各個階段中出現的問題;并以此為例向所有學生進行講解,從而引導學生了解如何正確開展需求活動及撰寫需求文檔,理解并解決自己項目中出現的共性問題。③在實踐項目完成后開展需求評審活動。各小組此時扮演技術評審方,匯同需求方代表一起,對不相關的需求項目按照優秀需求的特性,從需求的質量和數量方面進行評審,給出評審意見并由教師做最終復核。

在整個實踐過程中,特色化涉海軟件項目起到積極引導作用,既保證了教師能夠對學生需求分析活動開展的有效把握,又增強了學生的主動性和積極性。同時,每小組分別扮演了3 個角色:軟件需求方、需求分析工程師、技術評審方。這種分角色扮演的過程真實模擬了軟件需求開發過程中的情境,使學生充分體驗不同角色間產生的沖突、協調與協作,深入理解軟件需求工程各方面的活動和方式方法。

3 教學效果分析及改進策略

經過一個學期的軟件需求分析課程教學實踐,采用問卷形式對以上改革的實施效果進行了調查,并結合學生在實踐過程中的作業完成情況進行了效果分析。調研主要包括3 方面的內容:學生對軟件需求分析知識的了解和掌握程度、海洋特色化項目案例在本教學中的適用情況、學生對融入海洋特色的軟件需求分析教學的態度和建議。

調查問卷包括12 個單選問題和2 個開放式問題。調查對象是60 名參加本課程的本科二年級軟件工程專業學生,共收回49 份有效問卷,其中男生33 名,女生16 名,男女生比例與本專業學生的男女比例一致。以下對問卷調查的結果進行分析。

3.1 學生對軟件需求分析的理解度

針對學生在授課前后對軟件工程需求分析的了解程度進行了對比分析,如圖1 所示??梢?,在開始本課程前,只有約20%的學生對軟件工程的需求分析有點了解,約39%的學生不太了解或完全不了解;完成課程后,了解軟件需求分析的學生比例增加到81%以上。圖2 所示是通過本課程的學習學生對軟件需求分析知識掌握程度的自我評價??傮w來看,超過67%的學生對知識的掌握度可以達到60%以上,其中,約8%的學生可以達到80%以上,約30%的學生達到70%以上。仍有約16%的學生認為自己的掌握程度在51%~60%,其余16%的學生的掌握程度在50%以下。

圖1 完成本課程前、后學生對軟件需求分析的了解程度對比

圖2 學生認為自己對軟件工程需求分析知識的掌握程度

整體來講,大部分學生認為自己從課程中受益。學生對軟件需求分析知識的掌握程度遠低于其對課程知識的了解程度,有大約32%的學生認為自己對課程的掌握程度達不到60%。這種比例符合軟件需求分析課程的特點。軟件需求分析理論知識比較抽象,軟件項目的需求分析本身又具有迭代性、階段性等特點,短時間內的小規模項目實踐對于知識的完全掌握難度很大。

學生的作業情況卻表明他們對知識的掌握程度明顯高于上一屆同學。由于教學改革前一屆學生未進行同等調查,無法直接對比調查結果,從學生提交的軟件需求分析文檔質量方面進行了比對。結果發現,學生所提交的項目文檔的總頁數平均增加了5.5 頁,用戶需求和系統級需求的數量上平均增加4.7%,需求的錯誤率則下降了3%;同時,需求分析建模的模型復雜度(例如,模型中對象的數量和對象間的關系或消息數量)也明顯增加。因此,可以認為在海洋特色化項目驅動下軟件需求分析的教學效果有明顯提升。

3.2 海洋特色化項目案例的難易度分析

以案例貫穿軟件工程需求分析課程的重要性得到普遍認可,有85.7%(42 人)的學生認為案例學習非常重要或重要,6 名同學認為一般,只有1 名同學認為不重要。對授課過程中使用的所有案例的總體難易程度和涉海類項目案例的難易程度分別進行了調查,結果如圖3 所示??梢?,總體案例的難度以適中為主,成正態分布,大部分同學通過對基礎知識的學習和自己的獨立思考,基本上可以完成案例的分析。而涉海類案例相對偏難,超半數(57%)同學認為難度適中,約39%的同學認為有一定難度,但通過老師的講解可以理解,有4%(2 名)同學認為太難?!坝幸欢y度”與預期基本一致。由于實際軟件工程項目遠比簡單的通用案例(如,圖書管理系統)要復雜,適當地增加案例難度更能體現真實世界的需求,并且激發學生的主動思考,提高其解決問題的能力。但是,由于“有一定難度”的比例較高且有個別同學認為涉海類項目案例的難度太高,在下一輪教學中將對案例做適當調整,以更好地適應學生的理解能力。

圖3 案例的難易度分析

關于是否在課程中增加涉海類案例,46.94%的學生建議保持現狀,同等比例的學生認為可以適當增加涉海類軟件工程案例的,只有6.12%的學生認為應該減少涉海類案例。鑒于學生對涉海類項目的積極響應,在下一輪教學中擬適當增加實踐課程中的涉海類案例項目,供學生實踐課程中自由選擇,以適應部分學生增加涉海類案例的需求。

3.3 學生對融入海洋特色的軟件需求分析教學的態度和建議

調查顯示,73.47%的學生認為作為以海洋學科為特色的學校,在本課程中引入涉海類軟件工程案例符合專業培養目標。開放式問題中,學生們對如何更好地體現海洋特色提出了許多很好的建議,可以總結為以下3 項:

(1)涉海類需求項目與學生小組作業相結合:建議與學校海洋或水產與生命學院的學生或老師合作,了解目前海洋領域的實際需求,將其作為課程小組作業的內容。

(2)需求項目的分析與改進方案相結合:建議任課教師在課堂上將已完成的海洋信息化項目作為案例結合課程知識點進行多方面分析和講解之后,讓學生對已完成的項目提出改進方案,可以提高學生分析問題和掌握知識的能力。

(3)1 +3 案例組合:涉海類案例也不易過多,以免增加學生學習負擔,建議以1 個大案例貫穿全課程,中間穿插3 個左右小的涉海類分析案例對重點知識進一步強化。

學生們的這些建議具有建設性,值得在今后的教學中不斷嘗試和改進。同時,學生們積極表達想法,也充分反映了對教學改革的認可和支持。

4 結語

將海洋特色化項目案例分析引入軟件需求分析課程,提出驅動“全過程實踐”的課堂教學方法和“全過程引導”的軟件需求分析綜合實踐方案,為特色大學中軟件工程專業建設和課程改革提供了參考,為多學科交叉復合型信息人才的培養提供了支持。

此外,通過教學實踐也充分證明,學生對這種教學方式非常認可,認為在課程學習過程中,自身主動思考的能力加強了,通過討論具體的海洋特色類項目案例,獲得的知識比單純教師講授的內容更容易理解和記憶,同時小組合作完成任務也鍛煉了每個學生表達思想、相互合作的能力,促進了合理學習習慣的養成,在學生中間形成了良好的學習氛圍。讓學生在分析實際案例的過程中,了解海洋信息化的主要流程,為學生未來適應海洋類信息化工作崗位打下了基礎。

猜你喜歡
涉海海洋案例
案例4 奔跑吧,少年!
涉海翻譯語言服務人才培養現狀與問題研究①
戰略管理導向下涉海企業全面預算審計體系研究
基于管理創新涉海企業投資審計運行機制研究
隨機變量分布及統計案例拔高卷
愛的海洋
發生在你我身邊的那些治超案例
第一章 向海洋出發
一個模擬案例引發的多重思考
首屆“中國涉海類博物館館長論壇”在港順利舉辦
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合