查文庫>論文> 軟體工程實踐教學中的應用案例論文

軟體工程實踐教學中的應用案例論文

軟體工程實踐教學中的應用案例論文

  摘 要:針對當前計算機專業碩士軟體工程實踐教學偏向“粗放型”、缺乏個性滿足、過程管理及考核不完善的教學實際,分析專題教學模式的特點及專業碩士軟體工程實踐教學目標和內容,探討如何以“原型法需求分析實踐”為例開展軟體工程專題實踐教學,提出基於專題教學的軟體工程實踐教學方案。

  關鍵詞:專業碩士;專題;軟體工程;實踐教學;原型法;需求分析

  0引 言

  隨著計算機技術在各專業領域的廣泛應用,軟體工程成為軟體分析、設計、測試、維護和管理等的核心課程。該課程的學科交叉性、工程性及領域相關性等帶來的複雜性使得其教學需採取循序漸進、多層次的模式。本科層次主要培養軟體工程的基礎知識和基本實踐能力;研究生層次主要培養軟體工程理論基礎、技術和方法[1],其中學術型碩士專注於理論創新的培養,工程型碩士專注於技術和方法應用的培養。對於工程應用型的計算機專業碩士而言,軟體工程課程的培養目標是在本科層次教育的基礎上,一方面從軟體開發方法和技術上著重於學生軟體分析、設計、構造、實施及維護等能力的培養和提升,另一方面從軟體工程組織和管理上著重於學生工程能力的培養和提升。因此,在加深理論教學的同時,加強實踐教學是計算機專業碩士軟體工程課程教學的核心內容。

  1計算機專業碩士軟體工程實踐教學現狀

  當前計算機專業碩士軟體工程實踐教學主要存在以下問題。

  (1)實踐教學體系偏向“粗放型”[2]。實踐教學主要採取基於專案的分組實踐模式,即課堂授課結束後,學生自由組隊形成專案組,選擇一個軟體專案來完成後提交給教師檢查,這種模式缺乏針對軟體生命週期各階段的實踐訓練,未能實現分析、設計、構造、實施及維護等軟體工程各階段的精細鍛鍊和培養。

  (2)教學模式不能滿足學生個性需求。隨著專業學位碩士的擴招,來自不同本科院校的計算機專業碩士生軟體工程實踐能力水平參差不齊,有的學生已經接受過較多的軟體專案實踐訓練,具備較好的實踐基礎,而有的較少或幾乎沒有參與過軟體專案實踐,實踐基礎薄弱。目前的實踐教學模式未能針對各種層次學生的實際情況,因材施教,使每個學生能在自己原有的實踐基礎上有更大的提高。

  (3)實踐教學過程管理及考核模式不完善。當前實踐教學過程教師參與度較低,未能對實踐過程進行合理的跟蹤和引導,實踐過程經常變成由專案組核心的一兩個成員完成整個專案,而其他成員參與較少。教學考核模式未能針對學生的方法、技術、實踐能力及工程組織和管理能力對學生進行精準的評定。

  2基於專題的軟體工程實踐教學

  專題教學[2-3]是根據教學目的和重點內容,將教學內容歸納成若干個專題,然後圍繞每個專題展開深入分析和講解的一種教學方式,適合內容繁雜、知識點多的文科類課程及已經具備本科專業基礎的研究生的課程教學。與傳統按章節體系順序教學的扁平模式相比,專題教學以教學重點內容為核心,圍繞核心內容深入透徹地展開,屬於精講、“集約型”[2]的縱深模式教學。結合軟體工程知識體[4](SWEBOK)及計算機專業碩士培養目標,軟體工程實踐教學劃分為7個專題:軟體需求分析實踐、軟體設計實踐、軟體測試實踐、軟體過程實踐、軟體質量實踐、軟體管理實踐、軟體綜合實踐。在教學學時較充分的情況下,將教學內容較多的專題進一步劃分為子專題,儘量提高教學的精細度。專題教學模式要求每個專題的教學目標明確,教學具體內容和安排設計準確,根據不同教學內容特點,採取多元化教學模式,達到精益求精的效果。

  3基於專題的軟體工程實踐教學案例設計

  精準需求分析是軟體開發成功的核心環節,在眾多需求分析方法中,原型法在實踐中是最為有效的一種需求分析[5-6]方法。與瀑布模型等其他方法相比,原型法可以有效解決使用者需求不明或變更而造成的開發效率低下、失敗及成本增加等問題,是需求工程開展的最佳實踐方法之一,因此在軟體需求分析實踐專題中,該方法需要精講,使學生理解透徹並能熟練應用。以“原型法需求分析實踐子專題”為例說明基於原型法的需求分析專題實踐教學方案的詳細設計。

  3.1教學目標

  “軟體需求分析實踐教學專題——原型法需求分析實踐子專題”的教學目標:①學生既能夠掌握該方法的原理及運用,又能夠熟悉需求分析的全過程;②學生能夠領會該方法與其他需求分析方法的異同點、優缺點,發現應用該方法的關鍵環節及注意事項;③學生在專題實踐中鍛鍊以下工程實踐能力:使用者溝通和引導能力,團隊協作能力,人際溝通、交流能力,產品業務分析能力、需求文件撰寫能力,經驗交流分享能力,問題質疑和解決能力,產品觀察發現及開發能力,智慧思維和創新能力等。

  3.2內容和安排

  基於原型法的需求分析方法實踐教學方案總體設計思路如圖1所示,包括組隊、選題、原型法需求調研、撰寫需求規格說明書、總結及評價6個實踐環節,其中原型法需求調研又包含快速使用者調研、構造試用原型介面系統及執行修改原型介面系統3個子環節。

  3.2.1組隊

  學生根據興趣、愛好等自由組隊,3~5人組成一隊共同完成一個選題,每組推選1個組長全面負責和協調各項活動開展,小組設定專案經理、需求分析師、業務評審員等角色,並在專案推進過程中進行角色輪換,使每個學生都儘量嘗試不同角色,獲得相應鍛鍊和體驗。透過團隊合作,培養學生的協作能力、交流和溝通等工程能力。為了使需求分析實踐能夠正確、順利、有效地開展,指導教師選定1個小組,對該組的各項實踐活動進行示範和指導。教師未參與的其他小組的組長需先參與到教師示範小組中進行觀摩。示範小組的各項實踐活動都比其他小組先開展,其他小組的相應活動在組長觀摩完畢後開展,示範小組在各項實踐活動中產生的文件及原型介面系統作為各小組的示範模版。

  3.2.2選題

  選題由學生自主進行。教師在該環節的任務是進行選題引導和質量稽核,這樣有利於滿足學生的興趣、愛好等自身需求以激發學習興趣,也為學生後續階段的研究和創新活動準備一些基礎題目,教師僅需對選題進行質量把控。選題內容原則上要和學生的學習和生活相關,這樣不僅可以減少學生在瞭解專業領域知識上所花費的時間,還可以培養學生的產品挖掘能力、智慧思維能力及創新能力等。教師透過設定“在你的學習、研究和生活中(可以分為學校以內和學校以外)你發現哪個方面還不夠便利,需要做一個軟體來幫助提高效率?”“在你目前常用的軟體中你發現哪個軟體做得不夠好,需要做一個更好的?”“在你的興趣愛好裡,有沒有可能做一個軟體使其相關處理變得更便捷或完美?”等相關問題引導和啟發學生選題。學生初步選題後,為了保證選題質量,要寫一個簡單的選題報告,說明選題目的、意義和主要功能並提交給指導教師。教師根據選題報告確定選題是否透過,對過於複雜或簡單、意義欠缺等不合理的選題,教師和學生討論後進行修改或更換題目。選定的題目稱為專案,使用者主要為學校某個部門的管理人員、教師、同學等。endprint

  3.2.3需求調研

  基於原型的需求調研與瀑布模型不同,調研結果不是一次形成,而是漸進、增量式形成。該方法首先透過快速使用者調研獲取專案基本需求,然後根據基本需求構造具有使用者互動效能的試用原型介面系統,最後透過使用者執行試用原型介面系統,修改和補充基本需求和試用原型介面系統,最終得到滿足使用者需求的完整的原型介面系統。使用者需求獲取迭代過程與敏捷開發需求獲取過程相似。基於原型的需求調研實踐活動,要求學生不僅要掌握該方法的實施過程,還要理解該方法與瀑布模型等其他方法的異同點和優缺點,實踐結束後教師要在總結環節中引導學生展開討論。

  (1)快速使用者調研。本階段的任務不考慮使用者次要需求,先獲取專案核心需求,目的是能儘快開始構造原型介面系統。開始時要求各小組成員共同編制基本需求調研計劃,包括系統主要使用者、業務文件收集、核心問題調查問題表和調查方式等內容。基本需求調研計劃完成後需提交指導教師審查,教師對不合理之處和學生一起討論修改和完善。基本需求調研計劃確定後,按計劃開展調研。初始調研主要是為了獲得一個原始需求的輪廓,因此僅需針對主要使用者展開調研,選取其核心需求。初始調研的方法是先收集使用者的紙質資料或電子文件資料並進行分析,從中獲取使用者關鍵業務流及輸入和輸出資料流,然後透過與使用者交談、向用戶群體發放調查問卷等方式完成核心問題調查問題表,快速確定業務主體流程及其輸入和輸出資料流。

  (2)構造試用系統原型。本階段的任務是根據使用者的基本需求儘快建立一個能執行的互動式介面原型應用系統。系統特點是:①具有完整的基礎資料;②具有可導航性、人機互動的動態效果 ;③僅有展示系統基本功能的介面,不需要實現系統功能。構造系統原型實踐要求學生學會應用建模工具Axure[7]來完成。本階段要求專案組能夠將使用者需求轉換成系統原型介面,可以鍛鍊學生的需求建模、專案分工協作等工程能力。

  (3)執行、修改系統原型。本階段的`任務是將系統試用原型交給使用者並指導其試用,引導使用者對原型提出補充和修改意見。這個階段是開發人員與使用者溝通最為頻繁的階段,是發現問題和解決問題的重要階段。使用者在計算機上執行和試用原型系統得到親身感受並受到啟發,透過反映和評價向開發者提供反饋,細化和明確系統各項功能需求和效能需求。這個階段要求分析員與使用者要建立良好的合作關係,可以鍛鍊學生的人際溝通和交流能力。在實踐中需要學生靈活應用多種調查方法,如與使用者交談、向用戶提問題、向用戶群體發調查問卷、參觀使用者的工作流程、觀察使用者的操作和聽取同行專家意見等。在使用者確實不能明確真正需求的情況下,學生還需要透過分析已經存在的同類軟體產品、行業標準及規則等,對使用者進行有效的需求引導,從而提取需求修改意見。專案組根據使用者的意見對原型加以改進和完善,透過“原型構造→試用執行→評價反饋→分析修改”的多次迴圈,系統試用原型逐步演變為系統正式原型。

  3.2.4撰寫需求規格說明書

  本階段的任務是根據正式原型介面系統撰寫需求規格說明書,作為使用者和專案組共同確認的需求(需求合同)。根據和使用者確定的正式原型介面系統,各專案組按照老師給出的模板撰寫專案需求規格說明書,經專案組內部審查、修改並確認後,請使用者評審此需求規格說明報告。專案組再根據使用者評審進一步修改和完善專案需求規格說明報告,以確保報告內容準確完整地表達使用者需求,最後形成需求規格說明書正式版。本階段主要是鍛鍊學生需求規格說明書編寫能力。

  3.2.5總結

  專案完成後開展實踐活動總結有利於學生交流和分享成功經驗,發現不足,提出改進方法,獲得實踐及理論認識的提升。總結由教師組織開展,形式可以是課堂集體或小組討論、做總結報告等。教師的主要任務是指出各環節指導和跟蹤所發現的不足之處,如選題意義、使用者溝通方式、小組協作、使用者資料和業務分析整理、建模工具Axure應用、原型介面系統構建修改迭代次數控制等關鍵環節的不足,引導學生思考和討論,總結並提出改進方法。學生則要在教師組織下,分享某個實踐環節的體會和收穫,如Axure原型介面開發技巧、不同型別使用者溝通方式體會、專案小組成員合作經驗分享等;或對某個問題提出疑問,如“如何減少原型介面系統構建迭代次數”“如何引導使用者明白自己的真正需求”“如何發現數據流缺漏”等,引發其他同學共同討論和分享,找出解決方案。透過教師總結和學生總結,學生進一步加深對需求分析各項活動的認識,促進實踐水平的提高。

  3.2.6考核

  課程考核採取綜合評定方式,從教師、使用者、專案組間及專案組內部4個維度來評定,使成績儘可能客觀反映每個學生的真實水平。首先是指導教師根據專案組各成員在各實踐環節的成果及表現進行打分;其次是使用者給專案組各成員的工作表現進行打分;然後是各專案組之間根據原型介面系統展示及總結討論情況給其他專案組打分;最後是各專案組內部成員根據分工合作完成情況相互打分。經過4個維度的評分後,指導教師將每個學生的4個分數進行加權計算,得出學生成績等級。

  4結 語

  針對計算機專業碩士軟體工程實踐教學現狀,結合專題教學模式的特點,我們對專題模式軟體工程實踐教學進行了探索。文中的專題實踐教學方案給出了軟體工程專題實踐教學中“軟體需求分析實踐專題——原型法需求分析實踐子專題”的教學目標、各教學環節內容及學生和教師角色任務、教學考核的詳細設計,實現了核心教學內容、教師對各教學環節的跟蹤指導及成績評定的精細設計。教學實踐得到了大多數學生的好評,學生的工程實踐能力明顯提升。同時,本文的實踐教學方案,可以在後繼6個專題中進行延續和拓展。

  參考文獻:

  [1]楊芙清. 軟體工程學科研究生教育的探索與實踐[EB/OL]. [2010-07-08]. http://pkunews.pku.edu.cn/xwzh/2010-07/08/content_179388.htmm.

  [2]陳鐵夫, 呼東燕. 高校實施專題教學的基本理念和利弊評析[J]. 華北科技學院學報, 2014 (5): 102-105.

  [3]孫昌愛, 王昭順, 王成耀. 基於專題報告的研究性教學: 實踐、評價與建議[J]. 計算機教育, 2011(23): 100-105.

  [4]沈備軍. 解讀軟體工程知識體系SWEBOK V3[J]. 計算機教育, 2014(7): 1-2.

  [5]祝世海, 孟炯, 李勝利, 等. 採用原型法減少軟體需求分析的風險[J]. 資訊科技, 2002(2): 2-3, 6.

  [6]劉繼敏. 基於快速原型方法的需求分析[J]. 矽谷, 2011(14): 23, 46.