宋法根 劉佳
摘? 要: 軟件工程經(jīng)濟學是軟件工程專業(yè)的重要專業(yè)課程之一,本課程重點培養(yǎng)學生運用經(jīng)濟學的相關知識,分析、處理軟件工程中的相關經(jīng)濟問題的能力。但是,目前對于軟件工程經(jīng)濟學的教學只局限于理論教學,缺少實訓教學,大大降低了本門課程的教學效果。本文對實訓在本課程教學中的作用,實施方法進行探討,提出在軟件工程經(jīng)濟學中適用的實踐教學方法。
關鍵詞: 軟件工程經(jīng)濟學;實踐教學;課程實訓;軟件工程
中圖分類號: TP311.5;G434 ???文獻標識碼: A??? DOI:10.3969/j.issn.1003-6970.2020.07.060
本文著錄格式:宋法根,劉佳. 實訓在《軟件工程經(jīng)濟學》教學中的應用與探析[J]. 軟件,2020,41(07):288-291
Application and Analysis of Practical Training in the Teachingof Software Engineering Economics
SONG Fa-gen1, LIU Jia2
(1. Yancheng Institute of Technology, Yancheng 224051, China;2. Yancheng Environmental Science And Technology City Experimental School, Yancheng 224001, China)
【Abstract】: Software engineering economics is one of the important courses of software engineering. This course focuses on cultivating students' ability to analyze and deal with the relevant economic problems in software engineering by using the relevant knowledge of economics. However, at present, the teaching of software engineering economics is only limited to theoretical teaching, lack of practical teaching, which greatly reduces the teaching effect of this course. This paper discusses the function and implementation method of practical training in the teaching of this course, and puts forward the applicable practical teaching method in software engineering economics.
【Key words】: Software engineering economics; Practice teaching; Course training; Software engineering
0? 引言
一個軟件工程項目不僅是一個技術工程,同時也是一項重要的經(jīng)濟活動,如何科學處理軟件工程項目的經(jīng)濟問題,一定程度上影響著項目的成敗。故而進一步加強軟件工程經(jīng)濟學的教學,培養(yǎng)學生的經(jīng)濟學素養(yǎng)是軟件工程專業(yè)的必然要求[1]。但是,目前對于軟件工程經(jīng)濟學的教學只局限于理論教學,一方面使得本課程過于理論化,很難使學生產(chǎn)生濃厚的興趣;另一方面,缺少實訓教學,大大降低了本門課程的教學效果。實踐教學有助于內化理論知識、提高教學時效性。本文結合本課程的特點與多年教學經(jīng)驗,設計了一種開展實訓的方法,實踐證明,本方法實現(xiàn)了本課程的培養(yǎng)目標,達到了預期教學效果。
根據(jù)系統(tǒng)工程的理論,任何一個工程學科的方法論均可劃分為三大部分[2,3,4]:工程技術學方法論,工程經(jīng)濟學方法論和管理學方法論。軟件工程作為一門特殊的工程學科,其生產(chǎn)過程方法論同樣課劃分為:軟件工程技術學方法論,軟件工程經(jīng)濟學方法論和軟件工程管理學方法論。軟件工程經(jīng)濟學主要研究在軟件開發(fā)、運行和維護全過程中,為滿足用戶成本、質量、工期、效益需求而采用的工程經(jīng)濟方法的全體。大多數(shù)的工程經(jīng)濟活動都和管理活動有著非常緊密的聯(lián)系,故而本門課程不僅介紹相關經(jīng)濟學方法,同時也對管理學的相關內容進行了介紹。
1 ?課程特點
(1)軟件工程經(jīng)濟學是一門交叉學科,設計內容較多。
教學內容涉及程序設計、軟件工程、工程經(jīng)濟學、數(shù)學、管理學、市場營銷、人力資源等多個學科,橫跨文、理、工、管等多個知識體系,是一個多學科交叉的綜合性學科。學習本門課程,要求學生具有一定的編程經(jīng)驗,了解軟件工程的基礎知識,具有堅實的數(shù)學基礎,了解經(jīng)濟學、管理學的相關基礎知識,通過本門課程的學習,培養(yǎng)學生從經(jīng)濟學、管理學、市場營銷的角度分析處理軟件工程項目開發(fā)、測試、營銷、維護等過程中出現(xiàn)的而各種問題。
多學科的交叉融合,有利于培養(yǎng)適合社會需求的綜合性人才,但是,這也為課程教學帶來了新的挑戰(zhàn)[5,6]。很少有老師同時精通經(jīng)濟學、管理學和計算機相關學科的知識,由經(jīng)濟學、管理學的老師負責課程教學,往往容易忽視軟件工程專業(yè)知識,而軟件工程專業(yè)的老師,往往對經(jīng)濟、市場營銷等相關知識不太熟悉。采用不同老師講授不同知識模塊的方法,又容易忽視課程內容相互之間的聯(lián)系。故而承擔本門課程教學的老師,需要不斷提升自身綜合素質,創(chuàng)新教學模式,以適應課程教學的需要。
(2)軟件工程經(jīng)濟學知識理論性較強。
軟件工程經(jīng)濟學的授課對象為軟件工程專業(yè)的學生,相對于本專業(yè)其他專業(yè)課程,本課程知識理論性較強,實踐性、操作性內容相對較弱。而工科學生一般比較重視工程能力和實踐能力的學習,容易忽視理論性課程的學習;另一方面,理論性內容一般比較抽象,理解比較困難,在學生學習的過程中,容易產(chǎn)生厭學情緒,從而影響課程的學習效果。
(3)軟件工程經(jīng)濟學是一門比較新的學科。
Boehm于1981年出版第一本有關軟件工程經(jīng)濟學的專著《軟件工程經(jīng)濟學》,1990年機械工業(yè)出版社在國內出版發(fā)行。盡管這些年,國內外陸續(xù)有很多軟件工程經(jīng)濟學的文獻和論著出版,但總體上來說軟件工程經(jīng)濟學仍是一個比較新的學科。一些理論體系有待進一步完善和系統(tǒng)化,優(yōu)秀的教材及教學參考資料相對欠缺,優(yōu)秀的教學案例相對較少。以上這些都在一定程度上增加了本門課程的教學難度,迫切需要我們完善課程的培養(yǎng)方案,改進教學方法,提高本門課程的教學質量。
2 ?教學中存在問題
理論枯燥乏味。軟件工程經(jīng)濟學是理論比較強的學科,涉及到多個學科的相關理論,但是,這些理論之間往往又相對獨立,很難形成系統(tǒng)[7,8]。如:軟件規(guī)模度量,資金的時間價值,軟件項目評價,團隊建設與組織,這些理論自成體系,之間沒有互為支撐的關系。學生學習這些知識時,往往感覺比較凌亂,缺乏系統(tǒng)性,難于掌握,故而容易產(chǎn)生對本門課程的厭學情緒。
學生興趣不大。由于本門課程理論抽象,缺乏系統(tǒng),故而本課程的教學,容易出現(xiàn)照本宣科,課堂氣氛沉悶的狀態(tài)。從幾年的教學情況看,學生對本門課程的興趣相對不大。學生對課程的興趣,一般主要基于以下兩個方面的原因,一方面,是課程本身趣味性較強,學生容易被相關知識吸引,軟件工程經(jīng)濟學這門課程不具有這種特性;另一方面是課程知識的重要程度和實用程度,軟件工程經(jīng)濟學是軟件工程專業(yè)比較重要的專業(yè)課程,對培養(yǎng)一名合格軟件項目經(jīng)理的起著非常重要的作用,但是在校的大學生大多缺少社會閱歷,往往只重視工程技術的學習,而忽視經(jīng)濟學素養(yǎng),故而對本門課程興趣不大。
理論與實際應用脫節(jié)。本門課程目前教學形式主要以理論講述為主,缺少實踐教學環(huán)節(jié),學生通過課堂學習,能夠掌握相關理論知識,但是由于學生沒有實際項目經(jīng)歷,故而很難把所學理論與實際應用結合起來,應用到實際中,容易產(chǎn)生所學理論知識空洞無用的錯誤認識,進而產(chǎn)生厭學情緒。在教學過程中引入實訓教學,在教學過程中模擬實際項目的環(huán)境,要求學生運用本門課程所學知識,解決遇到問題,在用中學[9],從而加深對本課程理論知識的理解,提升課程教學質量。
3 ?實訓教學設計
本課程區(qū)別于程序設計、軟件開發(fā)等解決工程技術問題的課程,主要用于解決實際項目中的經(jīng)濟問題和管理問題,故而在教學工程中引入實訓環(huán)節(jié)有一定困難。本門課程實訓教學設計的困難主要有兩個方面,第一,如何模擬現(xiàn)實生活中的資金問題,在現(xiàn)實生活中,盈利是大部分企業(yè)的經(jīng)營目的,是決定項目是否開展、項目如何開展的關鍵因素之一[10,11],在我們的教學設計中,采用掙取積分的形式來模擬現(xiàn)實中的投資與收益,根據(jù)學生完成項目的類型、進度、效果等情況給予相應的積分獎勵;第二個方面的困難是如何模擬項目評價決策、風險管理與團隊建設,這里采用多班級隨機分組的方法,組長與成員協(xié)商選擇課題,不集中安排實訓時間和地點,由小組成員根據(jù)自身情況,合理安排,自行組織。這樣小組成員團結合作模擬項目團隊的管理。小組成員的上課時間可能不一致,個別成員可能因為自身原因缺席某一階段的開發(fā),項目期間學??赡芙y(tǒng)一組織其他活動,造成項目短時間暫停,要求小組根據(jù)自身情況,科學評估項目難度、工作量和可能出現(xiàn)的風險,合理安排,最終完成任務。
本實訓共設計A、B、C、D四種類型的課題,每個類型有多個課題可選,四種類型題目難度和工作量依次增大,每個小組需要支付對應的積分從老師那里兌換對應的課題,A、B、C、D對應積分分別為10分、20分、30分和40分,四類課題的基礎獎勵系數(shù)分別為1.1、1.2、1.3或1.4。每個小組可以運用本組擁有的積分,購買對應的一個或多個課題,最終將根據(jù)各小組選擇的課題與其對應的系數(shù)計算完成該課題可能得到的積分獎勵。
4 ?教學實施過程
本教學實施過程主要分三個階段,選題階段,中期檢查和結束考核。選題開始前,老師為每個同學分發(fā)10個積分,用于兌換實訓課題。選題階段要求每個小組提交申請課題報告,并支付對應的積分。申請報告要求每個小組對本小組的情況進行分析,充分考慮本小組的技術特長,知識積累,可用時間,可能存在的風險進行具體分析[12],要求對所選課題進行概括的分析,給出課題開展的計劃概要。
中期檢查主要是了解項目開展情況,開展過程中出現(xiàn)的問題,有沒有意外事情發(fā)生,重點關注課題進度與計劃是否一致,是否出現(xiàn)風險事件,若出現(xiàn)打算怎么應對,開展過程中出現(xiàn)那些困難問題,采用什么方法克服的或打算用什么方法克服。一方面,中期檢查的結果作為結束考核的參考,另一方面,中期檢查可以了解課題進展,根據(jù)不同小組的進展情況及遇到的問題,給出指導意見,要求各小組根據(jù)本小組的課題和老師提出的指導意見,采取應對措施,對中期檢查中發(fā)現(xiàn)的問題進行糾正。
結束考核是課題進行到截止時間,所有小組停止所有工作,對整個課題的完成情況統(tǒng)一進行評價。結束考核,主要考察課題是否如期完成,課題是否全部實現(xiàn)預期目標,實現(xiàn)的效果如何,開展過程中有沒有風險事件發(fā)生,怎么應對的,小組成員有沒有變動,小組成員請假、退出以及有沒有新成員的加入,是怎么處理的,有沒有對項目中通用性的模塊進行整理建立小組的知識庫,課題開展后有沒有對文檔進行整理歸檔等方面。
5 ?成績評定
成績是對學生實訓效果的量化評價,成績評定是教學的一個重要環(huán)節(jié)。實訓課程有別于理論課程,一般不能通過考試來評定成績,實訓課程的成績必須體現(xiàn)學生在整個實訓過程的表現(xiàn)和課題的最終效果,故而對于實訓課程的成績評定相對于理論課來說較為復雜。本門課程的實訓,不僅僅是一個簡單工程問題,而是涉及管理學,經(jīng)濟學等多個學科的綜合性問題,這大大增加了本門課程成績評定的難度。
本課程實訓用積分來模擬現(xiàn)實生活中的資金,根據(jù)每個小組掙得積分來評定成績。小組掙得積分有課題的基礎分與對應系數(shù)相乘得到。各小組根據(jù)自身情況,選擇的A,B,C,D不同的類型的課題,得到對應的基礎分。系數(shù)包括兩部分,課題基礎系數(shù)和教師評價系數(shù),課題基礎系數(shù)如上述,對于A,B,C,D不同的類型的課題,對應基礎系數(shù)分別為1.1、1.2、1.3和1.4。教師評價系數(shù)由指導教師根據(jù)學生在課題選擇、中期檢查和結束考核的情況給出,其取值范圍為[–0.5,+0.5]。
每個小組的掙得積分計算公式為。
小組掙得積分=基礎積分*(基礎系數(shù)+教師評價系數(shù))
小組成員通過集體討論決定各成員的獲得積分的權重系數(shù),如w1,w2...wk,權重系數(shù)的和為1。基于小組掙得積分,各成員的掙得分計算方法為。
成員掙得積分=(1+wi)*小組掙得分
每個同學的掙得積分作為本次課程實訓的成績,本成績評定方法,既考慮到學生選題,又考慮到課題實現(xiàn)的過程,以及小組之間的分工合作,涵蓋了軟件工程經(jīng)濟學的大部分內容,基本能夠科學反應學生對本門課程的理論掌握情況以及本實訓的效果。
6 ?小結
實踐教學是軟件工程專業(yè)一個必要的教學環(huán)節(jié),對于加深學生對所學理論知識的理解,培養(yǎng)運用所學知識解決實際問題能力有很重要的作用,但是由于軟件工程經(jīng)濟學這本課程理論性比較強,在學校中又很難模擬社會中的經(jīng)濟問題,故而對于本門課程的實訓教學相對來說比較困難。本文采用積分模擬現(xiàn)實生活中的資金,要求學生根據(jù)小組自身的情況選擇用積分兌換對應的課題,用兌換課題的過程模擬現(xiàn)實生活中的投資問題,讓各小組安排時間,自行分工,用以模擬現(xiàn)實中項目進度管理與風險控制,老師定期檢查和指導,根據(jù)實際情況對各小組進行打分,整個過程囊括了軟件工程經(jīng)濟學的大部分內容,加深了相關理論的理解,從而提高本門課程的教學效果。
參考文獻
陳媛, 黃振宣. 高職院校思政理論課實踐教學“四化結合”模式探析[J]. 教育與職業(yè), 2019, 930(2): 86-89.
趙瑋. 軟件工程經(jīng)濟學[M]. 西安電子科技大學出版社, 2008.
楊羽, 鄢伶俊. 軟件工程經(jīng)濟學概觀[J]. 自然雜志, 1992(3): 209-211.
謝斌斌. 軟件工程經(jīng)濟學的若干問題討論[J]. 中國科技縱橫, 2011(10): 145.
張沫. 基于網(wǎng)絡學習空間的智慧課堂實踐——以“C程序設計”課程為例[J]. 軟件, 2018, 39(11): 253-255.
王芳, 鄧一星, 秦映波. 敏捷軟件項目管理課程教學方案研究與實踐[J]. 軟件, 2018, 39(4): 77-81.
楊穎, 徐超, 鄧君華, 等. 敏捷開發(fā)模式下的SDL實踐淺析[J]. 軟件, 2018, 39(10): 203-206.
宋法根. 一種新的基于用戶與事件的安全模型[J]. 軟件, 2012(7): 128-130.
韓萬江, 張笑燕, 陸天波, 等. 軟件工程專業(yè)認證的新思路研究[J]. 軟件, 2015, 36(3): 37-40.
王妍, 高仲合, 倪建成. 平行實驗在《軟件工程》教學中的運用[J]. 軟件, 2015, 36(12): 35-37.
陳奕延. 數(shù)量經(jīng)濟學模型IO控制系統(tǒng)的理論設計[J]. 軟件, 2018, 39(2): 22-27.
蔡永勇, 呂超賢, 許燕, 等. 基于Monte Carlo網(wǎng)絡的進度風險分析[J]. 軟件, 2015, 36(7): 61-67.