黃杰 唐劍鋒 嚴(yán)海洲
摘 ?要:軟件工程經(jīng)濟(jì)學(xué)是中國軟件工程知識體系(C-SWEBOK)核心知識域之一,是一門新興的多學(xué)科交叉課程。根據(jù)軟件工程專業(yè)新工科教改培養(yǎng)復(fù)合型人才的需求以及課程教學(xué)面臨的挑戰(zhàn),作者構(gòu)建了課程實驗教學(xué)項目框架,實踐證明,課內(nèi)實驗教學(xué)有助于學(xué)生快速獲得學(xué)習(xí)并掌握相關(guān)知識的獲得感。
關(guān)鍵詞:軟件工程經(jīng)濟(jì)學(xué);實驗項目框架;實驗案例
中圖分類號:G642 ? ? ? 文獻(xiàn)標(biāo)志碼:A ? ? ? ? 文章編號:2096-000X(2020)21-0135-03
Abstract: Software engineering economics is one of the core knowledge domains of C-SWEBOK, which is a new interdisciplinary course. According to the needs of training compound talents in the emerging engineering teaching reform of software engineering discipline, in response to the challenges faced by the course teaching, the author has constructed the framework of the course experiment teaching project. The practice has proved that the in-class experiment teaching is helpful for the students to quickly acquire the sense of learning and mastering the relevant knowledge.
Keywords: software engineering economics; experimental project framework; experimental case
軟件工程誕生于1968年,當(dāng)初的定義是“為了經(jīng)濟(jì)地獲得在真實機器上可靠工作的軟件而制定和使用的合理工程原則和方法”[1]。半個世紀(jì)以來,軟件的發(fā)展日新月異,產(chǎn)業(yè)界和學(xué)界對軟件工程“經(jīng)濟(jì)性”的研究日趨深入[2-4]。在今年秋季發(fā)布的中國軟件工程知識體系(C-SWEBOK)中,軟件工程經(jīng)濟(jì)學(xué)是該知識體系核心知識領(lǐng)域(KA)之一[5];教育部發(fā)布《普通高等學(xué)校本科專業(yè)類教學(xué)質(zhì)量國家標(biāo)準(zhǔn)》(2018)計算機類軟件工程專業(yè)核心課程中,將工程經(jīng)濟(jì)學(xué)列為軟件工程專業(yè)核心課程之一[6];中國工程教育專業(yè)認(rèn)證協(xié)會發(fā)布《工程教育認(rèn)證標(biāo)準(zhǔn)》(2017修訂稿)中,要求大學(xué)工科畢業(yè)生必須具備“理解并掌握工程管理原理與經(jīng)濟(jì)決策方法,并能在多學(xué)科環(huán)境中應(yīng)用”之能力[7]。
軟件工程經(jīng)濟(jì)學(xué)是一門基于軟件工程本體、結(jié)合經(jīng)濟(jì)學(xué)、管理學(xué)等多學(xué)科交叉的新興課程。課程以軟件為研究對象,測算軟件全生命周期的投入與產(chǎn)出,分析實現(xiàn)軟件產(chǎn)品及信息服務(wù)預(yù)定需求之各種資源的效率,以期合理分配與優(yōu)化使用各類生產(chǎn)要素,實現(xiàn)提升軟件工程經(jīng)濟(jì)效益的目標(biāo)。課程主要內(nèi)容包括軟件的經(jīng)濟(jì)特征、軟件的經(jīng)濟(jì)分析模型、軟件成本及估算、軟件定價、軟件項目經(jīng)濟(jì)分析與優(yōu)化、軟件項目風(fēng)險與不確定性分析等。
本文將從軟件工程經(jīng)濟(jì)學(xué)教學(xué)需求及面臨的挑戰(zhàn)、實驗教學(xué)目標(biāo)、實驗項目框架設(shè)計和實驗案例分析四個方面,論述軟件工程經(jīng)濟(jì)學(xué)實驗教學(xué)改革實踐。最后是總結(jié)以及持續(xù)改進(jìn)課程實驗教學(xué)的建議。
一、軟件工程經(jīng)濟(jì)學(xué)教學(xué)需求及面臨的挑戰(zhàn)
在學(xué)界培養(yǎng)人才供給端,目前國內(nèi)高校軟件工程專業(yè)普遍將軟件工程經(jīng)濟(jì)學(xué)作為知識模塊嵌入在軟件工程或軟件項目管理等課程中授課,同濟(jì)大學(xué)(2013年起)、華南理工大學(xué)(2014年起)及四川大學(xué)(2016年起)等高校,相繼開設(shè)軟件工程經(jīng)濟(jì)學(xué)專業(yè)課。華南理工大學(xué)左保河教授于2017年起在“好大學(xué)在線”開設(shè)“軟件工程經(jīng)濟(jì)學(xué)”MOOCs課程[8]。
在業(yè)界吸納人才需求端,根據(jù)上海交通大學(xué)2015年對本地區(qū)ICT企業(yè)問卷調(diào)查的統(tǒng)計數(shù)據(jù)顯示[9],企業(yè)對于畢業(yè)生缺乏“設(shè)計中考慮經(jīng)濟(jì)的原則”和“管理知識的應(yīng)用”之評價,分別位列企業(yè)對人才知識與能力度量(期望值與實際值)差距最大項目的第二位和第三位。
這反映出目前軟件工程經(jīng)濟(jì)學(xué)教學(xué)之產(chǎn)出/供給與產(chǎn)業(yè)界對軟件及信息技術(shù)專業(yè)人才所應(yīng)具備軟件工程經(jīng)濟(jì)學(xué)知識及工程應(yīng)用能力的需求之間存在錯位。原因在于,軟件工程經(jīng)濟(jì)學(xué)具有多學(xué)科知識交叉融合以及密切結(jié)合軟件及信息技術(shù)產(chǎn)業(yè)工程應(yīng)用實踐兩個明顯特征,而現(xiàn)階段軟件工程經(jīng)濟(jì)學(xué)教學(xué)內(nèi)容及手段都與這兩個特征存在差距,由此產(chǎn)生軟件工程專業(yè)人才培養(yǎng)中的軟件工程經(jīng)濟(jì)學(xué)知識之“脫節(jié)”。
二、實驗教學(xué)目標(biāo)
對于軟件工程專業(yè)本科生來講,區(qū)別于編程、測試等軟件工程方法與手段的直觀性和可接觸性,經(jīng)濟(jì)學(xué)理論很難被他們直觀地觸摸、理解與接受,因為學(xué)生們往往誤認(rèn)為這些建立在假設(shè)基礎(chǔ)之上經(jīng)濟(jì)學(xué)理論遠(yuǎn)離現(xiàn)實或者不能直接用于軟件工程實踐。為彌補傳統(tǒng)課程教學(xué)中只注重定性講授知識原理方法的弱點,以及在校大學(xué)生較少接觸實際軟件工程項目的現(xiàn)狀,在課程教學(xué)中引進(jìn)實驗教學(xué)方法及手段就成為有效實施課程教學(xué)的必然選擇。
作者將實驗教學(xué)目標(biāo)定位為,將抽象的經(jīng)濟(jì)學(xué)理論知識轉(zhuǎn)化成為軟件工程的應(yīng)用問題,設(shè)計課程實驗教學(xué)框架,運用多種軟件工具(包括商業(yè)軟件、師生自主開發(fā)的教學(xué)軟件)實現(xiàn)經(jīng)濟(jì)學(xué)理論及方法的可視化驗證學(xué)習(xí)。同時教師研究、設(shè)計及開發(fā)與軟件工程經(jīng)濟(jì)學(xué)知識領(lǐng)域的理論教學(xué)相適應(yīng)的、符合實驗教學(xué)要求的課內(nèi)實驗項目(已開發(fā)5個實驗教學(xué)項目)。通過現(xiàn)場實驗的“做中學(xué)”手段,增強學(xué)生運用軟件工程經(jīng)濟(jì)學(xué)知識的實踐能力,改革之前的單一理論教學(xué)方法與手段,對接并實現(xiàn)了本課程理論與實驗相結(jié)合的教學(xué)方法。
三、實驗項目框架設(shè)計
作者設(shè)計軟件工程經(jīng)濟(jì)學(xué)課程實驗項目框架,在框架指引下開發(fā)了5個實驗項目,即軟件項目工程量估算、資金時間價值與等值、產(chǎn)品效益、項目財務(wù)評價、項目風(fēng)險識別與分析等軟件工程經(jīng)濟(jì)學(xué)的驗證型、設(shè)計型及綜合型應(yīng)用實驗。基于系列實驗訓(xùn)練,受教育者將學(xué)會應(yīng)用定量分析工具,處理軟件工程項目中常見的經(jīng)濟(jì)分析問題,設(shè)計使用合理的量化手段解決軟件工程經(jīng)濟(jì)問題[10-11]。現(xiàn)有課程實驗項目框架組成如表1所示。
四、實驗案例分析
(一)案例背景
軟件工程經(jīng)濟(jì)學(xué)“需求與供給”知識點課內(nèi)實驗項目。它展示了在整個實驗過程中,教師指導(dǎo)學(xué)生通過親身參與、測量、理解及認(rèn)知軟件產(chǎn)品需求曲線的過程。
(二)實驗條件
教師擁有一種軟件產(chǎn)品,并且試圖將其兜售給參與實驗的同學(xué)。為簡化實驗過程,在實驗中教師將該課程的參考書《工程經(jīng)濟(jì)學(xué)》[12],作為代替某種軟件產(chǎn)品的交易產(chǎn)品,實驗參與者是本校軟件工程專業(yè)大學(xué)三年級某班級42名本科生。
(三)實驗?zāi)繕?biāo)
尋求如何使得參與實驗學(xué)生的利潤最大化。假設(shè)交易產(chǎn)品(參考書)由教師購買,學(xué)生們不必為此產(chǎn)品承擔(dān)成本,即學(xué)生的收入等于其利潤。這樣,實驗者的利潤將等于交易價格乘以可能出售的產(chǎn)品(參考書)數(shù)量。
(四)實驗設(shè)計
1. 實驗者面臨的問題是:他不知道在哪種價格下,能出售多少數(shù)量。假設(shè)他將價格定得過高,銷售量就可能太少,從而失去盈利機會;假如他將價格設(shè)定得很低,可能就會有很多實驗參與者有意購買此書,但是過低的價格又會造成他的利潤可能少于必要的水平。實驗者尋找的就是在這兩種極端之間的一個價格點,在這個點上所成交的銷售數(shù)量乘以這個交易價格,將會給他帶來最大收入,亦即最大利潤。
2. 尋找到這個價格點的困難之處在于獲得需求者們支付意愿的信息。如果對實驗者開展一次調(diào)查,即了解他們在不同價格下的購買意愿,則實驗參與者表露各自支付意愿的激勵很少,被調(diào)查者也許會意識到,他們所提供的信息將被賣方用于確定產(chǎn)品售價,于是會將所報價格壓到低于意愿支付的價格水平,導(dǎo)致信息失真。
3. 若采用拍賣方式,需求者以出高價才能購買到交易產(chǎn)品,當(dāng)然并不是不惜一切代價,而是不超過需求者的最大支付意愿,則有可能使得實驗者獲知需求者的真實購買意愿。
(五)實驗過程
1. 采用“第二價格密封拍賣法”(維克里拍賣法)。某競拍者在報價時并不知道其他競拍者的報價(密封投標(biāo)),報價最高者獲得購買該產(chǎn)品的權(quán)利,但是他實際所支付的價格是僅次于最高報價的報價,即第二價格。這個規(guī)則將激勵競拍者們給出每人各自真實的意愿支付的價格。
2. 拍賣競價及報價。
拍賣競價結(jié)果見表2。在該表中顯示了42位競拍者對被拍賣書籍的意愿支付價格情況,例如報價888元的競拍者可以用214元(次高價格)購買產(chǎn)品。
3. 出售數(shù)量與最大利潤。進(jìn)一步考慮相對于表中不同價格可出售的書本數(shù)量。例如1元是最低報價,每一位競拍者都愿意以此價格購買產(chǎn)品,因此可知在這個價格銷售量是42本圖書,依此類推可以將各個價格的書籍銷售量一一填入表2??v觀表2,可知在這組實驗中所能夠獲取的最大利潤是1050元,對應(yīng)的價格是30元/本。
4. 繪制需求曲線??梢詫⑴馁u過程中得到的“價格-銷量”組合數(shù)據(jù)轉(zhuǎn)換成“價格-銷量”組合圖中,如圖1所示。觀察由此實驗得到的散點圖,至少可以看出需求曲線的走勢是朝著右下方傾斜的,即隨著價格走低,競價者對產(chǎn)品的需求量呈上升趨勢。
五、結(jié)束語
軟件工程經(jīng)濟(jì)學(xué)課內(nèi)實驗教學(xué)促使學(xué)生自覺主動地探索實踐,認(rèn)知軟件工程及項目的經(jīng)濟(jì)特性。課后收集的學(xué)生反饋信息表明,軟件工程專業(yè)本科生對實驗項目驅(qū)動的課程教學(xué)反應(yīng)良好,實驗教學(xué)是一種有效提升課程教學(xué)質(zhì)量的方法。
作為一門新興課程,軟件工程經(jīng)濟(jì)學(xué)知識體系在持續(xù)發(fā)展演化中,特別是在我國軟件與信息產(chǎn)業(yè)特定需求下,如何有效度量軟件工程項目成本和效益、防范可能風(fēng)險等方面,還有許多理論及實踐問題需要產(chǎn)學(xué)研的協(xié)作才能解決。
參考文獻(xiàn):
[1]駱斌,丁二玉.南京大學(xué)軟件工程專業(yè)本科教程[M].北京:高等教育出版社,2009:3.
[2]ACM/IEEE. Graduate Software Engineering 2009 (GSwE2009) [EB/OL]. http://www.gswe2009.org/.
[3]F.L.Bauer. Software Engineering, Report on a conference sponsored by the NATO SECIENCE COMMITTEE [EB/OL]. http://homepages.cs.ncl.ac.uk/brian.randell/NATO/nato1968.PDF.1968.
[4]Barry W. Boehm.軟件工程經(jīng)濟(jì)學(xué)[M].李師賢,譯.北京:機械工業(yè)出版社,2004.
[5]教育部高等學(xué)校軟件工程教學(xué)指導(dǎo)委員會C-SWEBOK編寫組.中國軟件工程知識體系C-SWEBOK[M].北京:高等教育出版社,2019.
[6]教育部高等學(xué)校教學(xué)指導(dǎo)委員會.普通高等學(xué)校本科專業(yè)類教學(xué)質(zhì)量國家標(biāo)準(zhǔn)[M].北京:高等教育出版社,2018.
[7]中國工程教育專業(yè)認(rèn)證協(xié)會.工程教育認(rèn)證標(biāo)準(zhǔn)[EB/OL].http://www.ceeaa.org.cn/main!newsList4Top.w?menuID=01010702.
[8]左保河.軟件工程經(jīng)濟(jì)學(xué)[EB/OL].http://www.cnmooc.org/portal/course/1756/9167.mooc.
[9]余天佐,蔣建偉,任銳,等.基于工程教育認(rèn)證標(biāo)準(zhǔn)的持續(xù)質(zhì)量改進(jìn)——以Z大學(xué)全國示范性軟件工程專業(yè)為例[J].清華大學(xué)教育研究,2015(6):104-111.
[10]Peter Buxmann, Heiner Diefenbach, Thomas Hess. The Software Industry Economic principles, Strategies, Perspectives [M]. Berlin: Springer-Verlag,2013.
[11]Paul Heyne.經(jīng)濟(jì)學(xué)的思維方式[M].馬昕,譯.北京:世界圖書出版公司,2008.
[12]William G.Sullivan, Elin Wicks, Patrick Koelling.工程經(jīng)濟(jì)學(xué)(英文注釋版,第15版)[M].鮑海君,評注.北京:電子工業(yè)出版社,2013.