前言:想要寫出一篇令人眼前一亮的文章嗎?我們特意為您整理了5篇軟件工程行業(yè)分析報告范文,相信會為您的寫作帶來幫助,發(fā)現(xiàn)更多的寫作思路和靈感。
關(guān)鍵詞:軟件工程;案例驅(qū)動式教學(xué);軟件工程;教學(xué)方式
中圖分類號:TP434文獻(xiàn)標(biāo)識碼:A文章編號:1672-7800(2013)006-0191-03
作者簡介:李洪進(jìn)(1983-),女,碩士,遵義醫(yī)學(xué)院醫(yī)學(xué)信息工程系工程師,研究方向?yàn)橛?jì)算機(jī)軟件與理論、軟件工程、軟件測試、醫(yī)學(xué)信息處理。
0引言
軟件工程是醫(yī)學(xué)信息工程系信息與計(jì)算科學(xué)專業(yè)的一門專業(yè)核心必修課,該課程的理論性和邏輯性強(qiáng)、內(nèi)容抽象、較難掌握。軟件工程涉及到計(jì)算機(jī)學(xué)、工程學(xué)、管理學(xué)等領(lǐng)域。一個高質(zhì)量的軟件系統(tǒng)需要軟件工程理論的指導(dǎo)和具體實(shí)踐相結(jié)合。如果按照傳統(tǒng)的填鴨式教學(xué)方法,純講理論、照本宣科,學(xué)生會覺得枯燥無味,學(xué)習(xí)興趣低。在軟件工程教學(xué)中采用案例驅(qū)動式教學(xué)來進(jìn)行課程改革,把學(xué)生分成多個項(xiàng)目小組,把軟件工程課程中包含的軟件工程管理、需求分析、軟件總體和詳細(xì)設(shè)計(jì)、軟件測試、軟件維護(hù)用項(xiàng)目來具體實(shí)施,可以提高教學(xué)效果,使學(xué)生一邊實(shí)踐一邊學(xué)習(xí)、理解軟件工程的理論,積累編程經(jīng)驗(yàn)和軟件項(xiàng)目的開發(fā)經(jīng)驗(yàn),把以前學(xué)習(xí)的知識鞏固,使學(xué)生明白軟件的開發(fā)不僅僅是編寫代碼那么簡單,從而為以后從事項(xiàng)目開發(fā)和管理工作打下堅(jiān)實(shí)的基礎(chǔ)。
案例驅(qū)動式課程教學(xué)法是美國的哈佛大學(xué)在20世紀(jì)20年代提出的,因?yàn)閷?shí)踐效果好,目前在我國很多課程教學(xué)中也經(jīng)常采用。這種教學(xué)方式主要以案例作為基本的教學(xué)素材,在教師的指導(dǎo)下,組織學(xué)生來分析、討論、調(diào)查案例。在軟件工程教學(xué)中,教師既可以選擇案例來分析講解,互相討論交流,還可以選擇案例給學(xué)生在課堂后搜集資料分組完成,最后綜合考察具體開發(fā)的軟件項(xiàng)目成品(論文+系統(tǒng));另外可以把一些優(yōu)秀的案例放到軟件工程的精品課程網(wǎng)站上,供學(xué)生下載資料來學(xué)習(xí)研究。
1案例選取
在軟件工程案例驅(qū)動式課程教學(xué)中,案例的選取很重要,如果選擇的項(xiàng)目規(guī)模太大、行業(yè)性太強(qiáng),會增加學(xué)生的完成難度,有的項(xiàng)目無法理解,學(xué)生會失去興趣,因此,首先要精心挑選一些具有針對性和代表性的案例來進(jìn)行課堂的知識點(diǎn)講解,便于總結(jié)和學(xué)生實(shí)施項(xiàng)目時模仿,然后選擇兩個類似項(xiàng)目和3個中等難度的項(xiàng)目讓學(xué)生在課后完成,在學(xué)生分組時,每個團(tuán)隊(duì)都要把成績較好和一般的學(xué)生合理分配,實(shí)行因材施教,根據(jù)學(xué)生的實(shí)際情況和動手能力來選擇分配項(xiàng)目,做到既有共性又有個性,難度適中。案例講解要和軟件生命周期結(jié)合起來,具有啟發(fā)性,使學(xué)生熟練掌握軟件開發(fā)各個階段中完成的內(nèi)容。具體有軟件可行性分析研究報告、軟件需求分析報告、軟件總體設(shè)計(jì)報告、軟件詳細(xì)設(shè)計(jì)報告、軟件使用說明書、軟件測試報告。另外可以根據(jù)學(xué)校教師科研的實(shí)際情況,讓學(xué)生參與一些科研項(xiàng)目,做力所能及的工作。加強(qiáng)學(xué)校和企業(yè)合作,通過課程培訓(xùn)和企業(yè)項(xiàng)目實(shí)習(xí),也可以改編項(xiàng)目教學(xué)案例,比如學(xué)生成績管理系統(tǒng)、職工信息系統(tǒng)、圖書管理信息系統(tǒng)、醫(yī)院病歷管理系統(tǒng)、餐廳點(diǎn)餐系統(tǒng)、航空訂票系統(tǒng)等普遍比較熟悉的項(xiàng)目,把經(jīng)典的項(xiàng)目和先進(jìn)的前沿技術(shù)結(jié)合。
比如在講解用面向?qū)ο蠓椒ㄟM(jìn)行軟件系統(tǒng)的分析、設(shè)計(jì)和開發(fā)過程時,通過學(xué)生比較熟悉的案例ATM自動取款機(jī)來貫穿。
首先根據(jù)ATM系統(tǒng)的需求陳述來建立問題域的對象模型,找出候選的類—&—對象,通過篩選確定類—&—對象有如下:ATM、中央計(jì)算機(jī)、分行計(jì)算機(jī)、柜員終端、總行、分行、柜員、儲戶、賬戶、事務(wù)、現(xiàn)金兌換卡。找出對象之間的關(guān)系,進(jìn)一步完善和確定關(guān)聯(lián),并按照問題領(lǐng)域把系統(tǒng)劃分為“總行”、“分行”和“ATM”3個主題,編號分別是1、2和3,如圖1所示。
然后確定屬性,分析和選擇屬性時要注意不要將對象和狀態(tài)誤當(dāng)作屬性,不要過于細(xì)化;確定了類的屬性后,可以識別出類的繼承關(guān)系,通過反復(fù)修改得到ATM系統(tǒng)的對象模型,如圖2所示。在建立對象模型時,并不一定嚴(yán)格執(zhí)行這樣的順序,可以交替完善。
第二步:建立ATM系統(tǒng)的動態(tài)模型,編寫正常情況和異常情況下交互行為的腳本,設(shè)計(jì)出系統(tǒng)的應(yīng)用邏輯和設(shè)想友好的用戶界面,然后從腳本提取事件并畫出事件跟蹤圖,描繪出事件與對象關(guān)系的狀態(tài)圖,如圖3所示。
第三步:建立ATM系統(tǒng)的功能模型,根據(jù)系統(tǒng)中數(shù)據(jù)之間的依賴關(guān)系和數(shù)據(jù)處理的功能,畫出基本系統(tǒng)模型,把基本系統(tǒng)模型中單一的處理框分解成若干個子處理框,得到功能級數(shù)據(jù)流,并描述處理框的功能和定義服務(wù)。
最后用面向?qū)ο蠓椒▽ο到y(tǒng)進(jìn)行設(shè)計(jì),設(shè)計(jì)問題域子系統(tǒng)時把ATM系統(tǒng)進(jìn)一步劃分為3個子系統(tǒng),分別為:ATM站、中央計(jì)算機(jī)、分行計(jì)算機(jī)子系統(tǒng),如圖4所示。詳細(xì)講解ATM系統(tǒng)的需求分析報告和系統(tǒng)設(shè)計(jì)說明書后,學(xué)生可以采用面向?qū)ο蟮木幊谭椒▉韺?shí)現(xiàn)一個簡單的模擬系統(tǒng),一般采用Visual Studio 2010+SQL2008,后臺編程語言是C#或VB,也有的項(xiàng)目組采用JSP+MYSQL數(shù)據(jù)庫來完成。
這樣通過具體的案例講解使學(xué)生懂得怎樣去設(shè)計(jì)人—機(jī)交互子系統(tǒng)、任務(wù)管理子系統(tǒng)和數(shù)據(jù)管理子系統(tǒng),并書寫系統(tǒng)的概要設(shè)計(jì)報告和詳細(xì)設(shè)計(jì)報告,理解面向?qū)ο蠓治觥⒃O(shè)計(jì)和實(shí)現(xiàn)的具體流程。要求使用UML語言和Rational Rose2007工具來統(tǒng)一建模,為軟件工程課程實(shí)踐打下基礎(chǔ)。
2項(xiàng)目考核
軟件工程教學(xué)中,課程結(jié)束時考核方式由平時成績(10%)+5個項(xiàng)目報告(20%)+綜合項(xiàng)目設(shè)計(jì)實(shí)驗(yàn)(20%)+考試(50%)幾部分組成,這樣可以全面考察學(xué)生學(xué)到的知識及其運(yùn)用能力。在項(xiàng)目具體開發(fā)實(shí)施時,為了提高學(xué)生的綜合素質(zhì)和學(xué)習(xí)興趣,教師首先講解幾個常見的軟件工程項(xiàng)目的開發(fā)過程,然后把學(xué)生分成5個團(tuán)隊(duì)(6至8人一個團(tuán)隊(duì)),把每個項(xiàng)目的角色分成項(xiàng)目經(jīng)理、數(shù)據(jù)庫工程師、項(xiàng)目構(gòu)架師、編程人員、軟件測試人員,讓學(xué)生交叉地參與幾個項(xiàng)目的討論,通過查閱相關(guān)資料、提問和對話,激發(fā)他們的獨(dú)立思考和創(chuàng)新能力,教師再進(jìn)行指導(dǎo)答疑項(xiàng)目實(shí)施中的關(guān)鍵點(diǎn),拓展貫穿知識點(diǎn),提高學(xué)生的動手能力和團(tuán)隊(duì)合作的能力,加強(qiáng)交互,教學(xué)相長,提高教學(xué)質(zhì)量。在每個軟件開發(fā)階段結(jié)束后,五個項(xiàng)目團(tuán)隊(duì)都要交相關(guān)文檔給教師審閱,然后針對問題提出修改建議并完善報告。
軟件工程的這種案例驅(qū)動式課程教學(xué)模式有利于提高學(xué)生的項(xiàng)目管理和軟件開發(fā)素養(yǎng)。遵義醫(yī)學(xué)院醫(yī)學(xué)信息工程系的教師建立了軟件工程實(shí)驗(yàn)室,把學(xué)生分成了幾個小組,每個教師帶領(lǐng)一個團(tuán)隊(duì),項(xiàng)目結(jié)束后學(xué)生先提交每個階段的開發(fā)文檔報告,然后以教師參與的項(xiàng)目答辯的形式,讓學(xué)生一邊演示軟件系統(tǒng)、教師一邊提問,對所做的工作進(jìn)行總結(jié),考察了學(xué)生的學(xué)習(xí)態(tài)度、軟件開發(fā)能力和編寫文檔的能力。采用案例教學(xué)和多元化的考核方式來提高學(xué)生的學(xué)習(xí)主動性和興趣,更好地理解軟件工程的理論知識并加以實(shí)踐,使學(xué)生課堂內(nèi)外結(jié)合,培養(yǎng)具有良好的團(tuán)隊(duì)開發(fā)能力和開拓精神人才。
3結(jié)語
根據(jù)醫(yī)學(xué)信息系近幾年的實(shí)踐,教學(xué)改革取得了優(yōu)良的成績。教師采用軟件工程課程案例式驅(qū)動教學(xué),學(xué)生通過近一年的項(xiàng)目實(shí)踐,能夠全面掌握面向?qū)ο蟮能浖到y(tǒng)的開發(fā)設(shè)計(jì)和維護(hù),提高了分析問題和解決問題的能力,掌握了項(xiàng)目開發(fā)管理的基本流程方法,為將來的學(xué)習(xí)、畢業(yè)設(shè)計(jì)和工作奠定基礎(chǔ)。當(dāng)然,在今后的教學(xué)工作中,還要更多地開發(fā)和探索其它優(yōu)秀的教學(xué)方法,積累經(jīng)驗(yàn),爭取獲得更好的教學(xué)效果。
參考文獻(xiàn):
[1]汪璟玢.案例與項(xiàng)目實(shí)踐結(jié)合的“軟件工程”教學(xué)方法[J].計(jì)算機(jī)教育,2012(5).
[2]王小剛.改進(jìn)軟件工程類課程課堂教學(xué)效果的幾種方法[J].計(jì)算機(jī)教育,2012(6).
[3]甘沅鑫.高職院校軟件工程課程中案例教學(xué)法的實(shí)現(xiàn)[J].科教縱橫,2012(5).
關(guān)鍵詞:《軟件工程》 教學(xué)改革 理論教學(xué) 實(shí)踐教學(xué)
中圖分類號:S762.2 文獻(xiàn)標(biāo)識碼:A 文章編號:1672-3791(2012)10(c)-0146-02
隨著社會信息化技術(shù)的普及和軟件產(chǎn)業(yè)的迅速發(fā)展,軟件產(chǎn)業(yè)成為信息產(chǎn)業(yè)中增長最快的領(lǐng)域,然而高端軟件人才的匱乏嚴(yán)重阻礙了我國IT企業(yè)的發(fā)展,因此提高軟件行業(yè)從業(yè)人員具備必要的軟件開發(fā)、維護(hù)與項(xiàng)目管理的能力尤為重要[1]。《軟件工程》是高校計(jì)算機(jī)相關(guān)專業(yè)開設(shè)的一門專業(yè)核心課程,旨在培養(yǎng)學(xué)生理解和掌握軟件工程的理論、技術(shù)和方法,應(yīng)用工程的思維進(jìn)行軟件開發(fā)、管理和維護(hù)。為了順應(yīng)當(dāng)前軟件工程教育國際化和工程化的發(fā)展的需求,高等院校需要切實(shí)加強(qiáng)軟件工程課程的創(chuàng)新與改革,這對軟件工程人才的培養(yǎng)至關(guān)重要。
當(dāng)前《軟件工程》課程教學(xué)中存在的一系列問題,直接影響了教育質(zhì)量和教學(xué)效果。具體表現(xiàn)為:教學(xué)內(nèi)容重理論而輕實(shí)踐,不能有效地培養(yǎng)學(xué)生軟件開發(fā)技能[2];教學(xué)案例缺乏完整性和實(shí)用性,不能幫助學(xué)生從整體上全面理解軟件開發(fā)的各環(huán)節(jié)及其之間的關(guān)聯(lián)[3];實(shí)踐教學(xué)也缺乏系統(tǒng)性和針對性,不能將基本原理融入當(dāng)前軟件實(shí)際案例中去講解,教學(xué)內(nèi)容與軟件工程實(shí)踐有明顯的差距等。因此,迫切需要對教學(xué)體系進(jìn)行改革,形成一個融基礎(chǔ)理論、實(shí)驗(yàn)教學(xué)、工程實(shí)踐為一體的整體培養(yǎng)機(jī)制,讓學(xué)生的基礎(chǔ)知識、科學(xué)素養(yǎng)、專業(yè)知識、創(chuàng)新能力、工程能力和職業(yè)素質(zhì)都得到全面均衡的發(fā)展[4]。本文將從理論教學(xué)、實(shí)踐教學(xué)以及教學(xué)評價幾個方面進(jìn)行改革與探索。
1 理論教學(xué)探索與思考
為了滿足當(dāng)前軟件工程教育國際化和工程化的發(fā)展要求,《軟件工程》教學(xué)以IEEE的軟件工程知識體系為基礎(chǔ),結(jié)合基礎(chǔ)知識、先進(jìn)技術(shù)和工程實(shí)踐等方面構(gòu)建該門課程的知識體系。《軟件工程》課程知識體系分為基礎(chǔ)、應(yīng)用、實(shí)踐三個部分。基礎(chǔ)部分為理論教學(xué),根據(jù)教學(xué)目的和教學(xué)要求,采用案例及問題驅(qū)動等教學(xué)方法,講解軟件工程的理論基礎(chǔ)知識,包括軟件生命周期各個階段、軟件質(zhì)量和軟件項(xiàng)目管理等核心內(nèi)容,通過案例的分析,促進(jìn)學(xué)生的獨(dú)立思考,提高其對理論知識的理解和掌握。應(yīng)用部分是以當(dāng)前流行的統(tǒng)一開發(fā)過程、面向?qū)ο蠹夹g(shù)和UML語言為核心,融入實(shí)際案例,Rational Rose、Visio、Project、SVN、Loadrunner等軟件工程工具和環(huán)境,使學(xué)生掌握當(dāng)前先進(jìn)的軟件工程方法與技術(shù)。實(shí)踐部分要求學(xué)生分組組建團(tuán)隊(duì)協(xié)作完成一個軟件系統(tǒng)的開發(fā),讓學(xué)生從“可實(shí)踐”軟件工程的角度學(xué)習(xí)和運(yùn)用軟件工程的思想和現(xiàn)代技術(shù)解決軟件開發(fā)問題,擁有識別、分析和解決具體問題的能力。《軟件工程》課程知識體系如圖1所示。
單純地講授《軟件工程》的理論和方法顯得枯燥且難以理解,若能通過一些軟件開發(fā)案例對理論知識進(jìn)行形象的表述,不僅能讓學(xué)生易于理解這些理論和方法,亦能建立軟件開發(fā)的系統(tǒng)化與工程化觀念和質(zhì)量意識。那么如何收集經(jīng)典案例以及采納何種教學(xué)方法是關(guān)系理論教學(xué)成敗的關(guān)鍵因素。首先案例的選擇與設(shè)計(jì)要有針對性,如結(jié)構(gòu)化和面向?qū)ο?這兩種方法側(cè)重知識點(diǎn)不同講解所貫穿的典型案例應(yīng)不同,其次案例的選取應(yīng)是學(xué)生熟悉的領(lǐng)域且它的實(shí)用性能激發(fā)學(xué)生的求知欲和興趣。如在軟件工程技術(shù)方面,作者結(jié)合學(xué)生成績管理信息系統(tǒng)、宿舍水電費(fèi)管理系統(tǒng)、教學(xué)管理系統(tǒng)等,論述需求分析、軟件體系結(jié)構(gòu)設(shè)計(jì)、用戶界面設(shè)計(jì)、詳細(xì)設(shè)計(jì)和軟件測試等內(nèi)容,重點(diǎn)討論基于案例的面向?qū)ο蠓椒ê徒M件技術(shù)。采用何種教學(xué)方法應(yīng)根據(jù)具體的知識點(diǎn)而定,如以IBM初期系統(tǒng)開發(fā)失敗的緣由為例利用問題驅(qū)動法引出軟件工程的概念和原理;對于軟件開發(fā)工具Rational Rose的介紹則采用項(xiàng)目驅(qū)動法。因此,在理論教學(xué)中,把抽象的知識盡量形象化、案例化,采用引導(dǎo)式、探索式、討論式和交互式等教學(xué)方式營造融洽輕松的學(xué)習(xí)氛圍,鼓勵學(xué)生獨(dú)立思考,查閱資料,細(xì)心體會當(dāng)前軟件工程的精髓。
2 實(shí)踐教學(xué)內(nèi)容創(chuàng)新模式
應(yīng)用部分和實(shí)踐部分均屬于實(shí)踐教學(xué),在此教學(xué)過程中,實(shí)施項(xiàng)目驅(qū)動教學(xué)法,實(shí)驗(yàn)設(shè)計(jì)以項(xiàng)目開發(fā)為主,模擬企業(yè)軟件的項(xiàng)目管理和開發(fā)過程,碰到問題困難,進(jìn)行師生互動討論尋找解決方案,開發(fā)完成通過成果展示來進(jìn)行教學(xué)評價,整個過程使學(xué)生初步體驗(yàn)到一個軟件項(xiàng)目開發(fā)的全過程。實(shí)踐教學(xué)活動的流程具體如下。
(1)分配任務(wù):第一次課,要求學(xué)生以項(xiàng)目小組(一般5~6人,自由組合,每個成員扮演項(xiàng)目開發(fā)過程中的不同角色)的方式組建開發(fā)團(tuán)隊(duì)協(xié)同開發(fā)一個規(guī)模及難度適中的完整項(xiàng)目,要求按照正規(guī)軟件開發(fā)流程組織實(shí)施,完成項(xiàng)目開發(fā)過程中形成的分析、設(shè)計(jì)、編碼和測試文檔,同時將Rational Rose、Visio、Project及Loadrunner等軟件工具在實(shí)施過程中進(jìn)行有效地應(yīng)用。
(2)組建團(tuán)隊(duì):學(xué)生自愿組建團(tuán)隊(duì),選出組長,每組角色包括項(xiàng)目經(jīng)理、系統(tǒng)分析員、軟件設(shè)計(jì)師、軟件開發(fā)工程師、軟件測試工程師等,組員項(xiàng)目角色可隨項(xiàng)目開發(fā)進(jìn)度而調(diào)換。項(xiàng)目實(shí)施過程中采取組長負(fù)責(zé)制,負(fù)責(zé)小組的討論和項(xiàng)目實(shí)踐的安排,分配組員任務(wù),各小組查資料,自選軟件項(xiàng)目,分析開發(fā)的各項(xiàng)任務(wù)的安排和溝通,制定項(xiàng)目的開發(fā)計(jì)劃。
(3)計(jì)劃可行性評定:授課教師審核各組項(xiàng)目及項(xiàng)目計(jì)劃實(shí)施的可行性,不行則指導(dǎo)小組重新選定軟件項(xiàng)目和制定項(xiàng)目計(jì)劃。符合要求,方可進(jìn)入實(shí)施階段。
(4)項(xiàng)目實(shí)施階段:小組成員根據(jù)各自的任務(wù)查找資料,收集解決方法,定時討論交流,各個模塊間相互配合協(xié)調(diào)完成任務(wù)。包括軟件分析設(shè)計(jì)階段,完成軟件需求規(guī)格說明;設(shè)計(jì)軟件系統(tǒng)的總體結(jié)構(gòu);對功能模塊進(jìn)行編程測試,完成項(xiàng)目實(shí)現(xiàn)編寫所有相關(guān)文檔,測試和調(diào)試代碼。整個實(shí)施過程由授課教師控制項(xiàng)目的進(jìn)度和質(zhì)量,同時,教師要充分發(fā)揮引導(dǎo)作用,讓學(xué)生在實(shí)踐軟件設(shè)計(jì)和開發(fā)技能的同時,通過協(xié)作培養(yǎng)學(xué)生多人之間的溝通能力和團(tuán)隊(duì)協(xié)作精神。
(5)項(xiàng)目驗(yàn)收:根據(jù)軟件開發(fā)流程的各個階段成果包括可行性分析報告、需求規(guī)格說明書、項(xiàng)目計(jì)劃書、總體設(shè)計(jì)報告、詳細(xì)設(shè)計(jì)說明書、軟件測試報告、項(xiàng)目開發(fā)總結(jié)報告等。項(xiàng)目驗(yàn)收采用階段驗(yàn)收分析設(shè)計(jì)文檔,每次均以小組的形式提交作業(yè)。教師根據(jù)提交的材料結(jié)合學(xué)生是否熟悉軟件常用技術(shù)和工具按照軟件工程管理方法進(jìn)行評審,還要求各組之間互評,發(fā)現(xiàn)不足之處進(jìn)行討論,提供給大家一個互相交流的機(jī)會。項(xiàng)目結(jié)束后,每組要組織答辯,先由小組長對項(xiàng)目基本情況及組員作簡要介紹,然后讓各組員對自身完成的任務(wù)進(jìn)行PPT答辯,教師和其他同學(xué)針對該成員實(shí)際負(fù)責(zé)的部分進(jìn)行提問。最后項(xiàng)目組提交系統(tǒng)和所有文檔。
3 教學(xué)評價體制改革
教學(xué)評價是課程教學(xué)的必要環(huán)節(jié),在本次教學(xué)改革實(shí)踐中,將課程學(xué)習(xí)評價分成3個組成部分:理論考核占50%,項(xiàng)目實(shí)踐成績占30%,考勤、平時作業(yè)、實(shí)訓(xùn)練習(xí)等占20%。項(xiàng)目實(shí)踐成績的評定包括小組成績和個人成績兩部分,各占50%。小組成績?yōu)樾〗M中所有成員開發(fā)項(xiàng)目的考核成績,包括各階段成績的平均值與最終答辯成績;個人成績?yōu)樾〗M成員在項(xiàng)目開發(fā)過程中個人的考核成績。度量因素包括個人分配工作量及難易程度、平時工作態(tài)度及項(xiàng)目匯報時表現(xiàn)等。這種評價體制充分調(diào)動了學(xué)生學(xué)習(xí)的主動性和合作精神,教學(xué)效果明顯。
4 結(jié)語
本文對《軟件工程》的課程教學(xué)進(jìn)行了探索和改革,以IEEE公布的軟件工程知識體系為基礎(chǔ)構(gòu)建了軟件工程課程知識體系,提倡理論教學(xué)與實(shí)踐教學(xué)并重。理論教學(xué)著重于經(jīng)典案例的選取及教學(xué)方法的采納,理論教學(xué)不再是抽象的講授,而是貫穿案例的具體實(shí)踐操作,達(dá)到了理論與實(shí)踐的緊密結(jié)合。實(shí)踐教學(xué)以項(xiàng)目為驅(qū)動模擬企業(yè)軟件的項(xiàng)目管理和開發(fā)過程,引導(dǎo)學(xué)生積極思考和參與討論,教師由知識的灌輸者成為學(xué)習(xí)的引導(dǎo)者,學(xué)生由被動地接受教育變成主動地探索知識。實(shí)踐證明,本課程極大地提高了學(xué)生的學(xué)習(xí)興趣,取得了良好的教學(xué)效果。在今后的教學(xué)工作中,將進(jìn)一步完善和實(shí)踐教學(xué)改革的內(nèi)容,逐步使這門課程規(guī)劃化、工程化,取得更好的教學(xué)效果。
參考文獻(xiàn)
[1] 張海藩.軟件工程導(dǎo)論[M].5版.北京:清華大學(xué)出版社,2008:5-7.
[2] 董躍華,楊書新,李淑芝.軟件工程專業(yè)多元化實(shí)踐教學(xué)體系研究[J].江西理工大學(xué)學(xué)報,2009,30(3):53-55.
關(guān)鍵詞: 軟件工程能力;產(chǎn)學(xué)合作模式;實(shí)踐環(huán)境;團(tuán)隊(duì)協(xié)作
中圖分類號:G642文獻(xiàn)標(biāo)識碼:A文章編號:1006-4311(2012)07-0146-02
1企業(yè)需要應(yīng)用型計(jì)算機(jī)人才
IT企業(yè)要求員工掌握符合國際標(biāo)準(zhǔn)的軟件工程規(guī)范和技術(shù)規(guī)范,熟練運(yùn)用外語,具有良好的團(tuán)隊(duì)協(xié)作能力,能夠參與國際軟件開發(fā)競爭。然而近10年來,我國各類高等院校培養(yǎng)的軟件人才的質(zhì)量存在很多問題,由于與實(shí)踐嚴(yán)重脫節(jié),導(dǎo)致大量擁有較高知識體系的大學(xué)生不能很好地勝任軟件開發(fā)工作。
2《軟件工程實(shí)驗(yàn)》課程的現(xiàn)實(shí)問題及反思
《軟件工程》課程教學(xué)目標(biāo)是:使得學(xué)生能夠?qū)W會將“系統(tǒng)性的、規(guī)范化的、可定量的方法應(yīng)用于軟件的開發(fā)、運(yùn)行和維護(hù),即工程化應(yīng)用到軟件上”。
《軟件工程實(shí)驗(yàn)》課程應(yīng)該成為教學(xué)與實(shí)踐之間的橋梁,然而現(xiàn)實(shí)教學(xué)中軟件工程的教學(xué)與實(shí)踐之間存在著一條跨度不小的鴻溝,教學(xué)與實(shí)踐脫節(jié)的現(xiàn)象普遍存在。一些現(xiàn)實(shí)狀況需要引起我們的注意與反思。
2.1 大部分學(xué)生的軟件開發(fā)實(shí)踐較少,很少參與開發(fā)實(shí)際的軟件項(xiàng)目,學(xué)生普遍感覺軟件工程課程中的理論知識抽象,不容易在課堂講授中獲取切身的體會和認(rèn)識,很難真正理解和掌握軟件工程的內(nèi)涵。
2.2 沒有好的實(shí)際項(xiàng)目給學(xué)生提供給做實(shí)驗(yàn),缺乏完整的項(xiàng)目訓(xùn)練,與實(shí)踐嚴(yán)重脫節(jié),無法滿足軟件企業(yè)發(fā)展的需要。
2.3 無法提供實(shí)際環(huán)境給學(xué)生。在一般的學(xué)校實(shí)驗(yàn)室環(huán)境下,軟件工程過程能力和團(tuán)隊(duì)協(xié)作能力很難體現(xiàn)出來,做不到鍛煉綜合運(yùn)用知識的能力。
2.4 落后的實(shí)驗(yàn)教學(xué)指導(dǎo)方法,忽略了系統(tǒng)分析環(huán)節(jié)及學(xué)生系統(tǒng)分析能力的培養(yǎng)。現(xiàn)在老師給出的題目不管是什么應(yīng)用領(lǐng)域,教師對課程作業(yè)的布置形式依然大同小異,首先會描述涉及到的數(shù)據(jù)結(jié)構(gòu)信息甚至數(shù)據(jù)庫信息,然后將具體功能需求詳細(xì)羅列出來,最后要求學(xué)生提交設(shè)計(jì)報告和源程序。使得很多學(xué)生重視編程等技術(shù)的學(xué)習(xí)而忽視學(xué)生在軟件工程的各個環(huán)節(jié)能力的培養(yǎng)和文檔的編寫。
2.5 從實(shí)驗(yàn)過程來說,學(xué)生沒有足夠的時間和條件為具體的項(xiàng)目做好充分的準(zhǔn)備,以完成資料查找、系統(tǒng)分析、設(shè)計(jì)、編碼和測試等軟件開發(fā)工作。
以上《軟件工程實(shí)驗(yàn)》的問題可以說各個學(xué)校都存在,非常現(xiàn)實(shí)。如果把培養(yǎng)應(yīng)用型軟件人才的指導(dǎo)思想放在首位,發(fā)揮教師的能動性,就有多種辦法可以實(shí)施。《軟件工程實(shí)驗(yàn)》課程采用產(chǎn)學(xué)合作就是一種新型有效的模式。它能解決本科生在學(xué)習(xí)中重理論輕實(shí)踐,缺乏綜合運(yùn)用各種知識來完成實(shí)際工作的問題。
3產(chǎn)學(xué)合作模式在培養(yǎng)應(yīng)用型軟件人才的優(yōu)勢
《軟件工程實(shí)驗(yàn)》課程和企業(yè)聯(lián)合,可以達(dá)到雙贏:
3.1 高校方面能夠更多地關(guān)注企業(yè)對計(jì)算機(jī)專業(yè)學(xué)生的要求,不斷在教學(xué)和實(shí)踐中加強(qiáng)專業(yè)以及各種素質(zhì)的教育,就可以縮短計(jì)算機(jī)畢業(yè)生與企業(yè)要求的距離。
3.2 企業(yè)方面選擇符合企業(yè)發(fā)展的戰(zhàn)略合作伙伴,一方面建立人才資源共享鏈,可以選擇較優(yōu)秀且成本較低的合格人才,在員工錄用上做到錄用適合企業(yè)的人。另一方面可以把一些適合學(xué)生做的各種實(shí)際項(xiàng)目交給學(xué)生做,希望能做到真正的產(chǎn)出,降低項(xiàng)目開發(fā)的的成本。實(shí)踐證明,經(jīng)過一系列的努力,合格的軟件是可以由這些學(xué)生在軟件工程實(shí)驗(yàn)課程中完成的。學(xué)生收獲很大,企業(yè)既收獲了軟件又收獲了人才。
4以培養(yǎng)應(yīng)用型軟件人才為目的的產(chǎn)學(xué)合作模式
針對各種軟件工程實(shí)驗(yàn)課程的問題,再結(jié)合培養(yǎng)應(yīng)用型軟件人才的目的,我們在設(shè)計(jì)《軟件工程實(shí)驗(yàn)》課程時,采用了產(chǎn)學(xué)合作模式。
4.1 《軟件工程實(shí)驗(yàn)》課程和產(chǎn)學(xué)合作的特點(diǎn)①可以選定合適的企業(yè)實(shí)際軟件項(xiàng)目。該軟件項(xiàng)目必須來自現(xiàn)實(shí)社會,具有實(shí)用性和時代性。②學(xué)生必須按照一定的組隊(duì)原則組成項(xiàng)目組。項(xiàng)目組內(nèi)按軟件開發(fā)階段和任務(wù)劃分設(shè)置若干個崗位,分工明確、各負(fù)其責(zé),又互相協(xié)作。③學(xué)生可以深入企業(yè),了解項(xiàng)目的背景和業(yè)務(wù)。使學(xué)生能提煉一個真正的公司的需求。④讓學(xué)生能夠得到企業(yè)對軟件工程規(guī)范性的要求。驅(qū)使學(xué)生嚴(yán)格按軟件工程的原理、技術(shù)、過程、管理等要求去完成項(xiàng)目。⑤企業(yè)可以以很低的成本得到合乎質(zhì)量的軟件。因?yàn)槠髽I(yè)的積極參與及過程管理、質(zhì)量管理,學(xué)生可以開發(fā)出滿足企業(yè)要求的軟件。⑥企業(yè)可以可以選擇較優(yōu)秀且成本較低的合格人才。
4.2 《軟件工程實(shí)驗(yàn)》課程和產(chǎn)學(xué)合作的實(shí)施
4.2.1 在教學(xué)計(jì)劃制定時,從2008級開始我們把軟件工程專業(yè)的學(xué)生的《軟件工程實(shí)驗(yàn)》課排在所有軟件工程專業(yè)模塊課程之后,為36學(xué)時,在大學(xué)四年級上學(xué)期第10周到第18周進(jìn)行,周學(xué)時為4。這樣的安排是希望軟件工程專業(yè)的學(xué)生在學(xué)完軟件工程導(dǎo)論和所有軟件工程專業(yè)模塊課程之后,對軟件工程的各個階段的理論、方法、技術(shù)、工具有了詳細(xì)的了解之后,按照軟件工程的要求進(jìn)行一次完整的軟件開發(fā)訓(xùn)練。
4.2.2 三年級結(jié)束后的暑假開始企業(yè)提供實(shí)際項(xiàng)目的原型或簡單說明,讓學(xué)生基本熟悉業(yè)務(wù),在項(xiàng)目中進(jìn)行業(yè)務(wù)分工,明確組織中的成員關(guān)系。
4.2.3 大學(xué)四年級學(xué)生有5周的畢業(yè)實(shí)習(xí),從第5周到第9周,我們安排學(xué)生下到相關(guān)的企業(yè),根據(jù)學(xué)生在項(xiàng)目中的分工,去到相應(yīng)的業(yè)務(wù)崗位,通過和工作人員的交流或?qū)嶋H參與工作或給工作人員運(yùn)行原型等各種獲取需求的手段了解業(yè)務(wù),要求他們自己做項(xiàng)目的需求分析,有時還需要根據(jù)實(shí)際情況提升功能或修改需求,并在實(shí)習(xí)結(jié)束后,交需求分析報告。以前給學(xué)生項(xiàng)目時因?yàn)橥瑫r給出了需求分析,所以只需要學(xué)生的設(shè)計(jì)和編程能力。而現(xiàn)在學(xué)生要試運(yùn)行系統(tǒng),并根據(jù)自己的實(shí)際操作分析系統(tǒng)的功能和需求,要完成這一任務(wù),需求分析能力是必備的。此外,因?yàn)闆]有明確的數(shù)據(jù)結(jié)構(gòu)和數(shù)據(jù)庫信息,設(shè)計(jì)合適的數(shù)據(jù)結(jié)構(gòu)和數(shù)據(jù)庫也是軟件開發(fā)的的前提。最后,就是根據(jù)自己得到的詳細(xì)需求分析及數(shù)據(jù)結(jié)構(gòu)和數(shù)據(jù)庫要求進(jìn)行系統(tǒng)設(shè)計(jì)。很明顯,這種方式鍛煉了學(xué)生全面解決問題的能力,既達(dá)到了畢業(yè)實(shí)習(xí)的目的,又了解了項(xiàng)目的需求,利用實(shí)驗(yàn)之外的時間還解決了學(xué)生沒有足夠的時間和條件為具體的項(xiàng)目做好充分的準(zhǔn)備的問題。
4.2.4 學(xué)生回校后,在接下來第10周到第18周共36學(xué)時的時間中,學(xué)生開始做系統(tǒng)設(shè)計(jì)、編程、測試等環(huán)節(jié)的工作。這時企業(yè)至少會派1個工程師來到課堂,指導(dǎo)學(xué)生按照他們的設(shè)計(jì)思想自己開發(fā)一個車貨交易系統(tǒng),數(shù)據(jù)庫設(shè)計(jì)及業(yè)務(wù)邏輯的設(shè)計(jì)都要求學(xué)生自己來完成,并且從學(xué)術(shù)研究方面尋找軟件開發(fā)的方法,例如部件,控件,快速開發(fā)方法等,提升學(xué)生的思維及現(xiàn)代設(shè)計(jì)理念。
【關(guān)鍵詞】軟件;度量;管理;應(yīng)用
在信息化時代,計(jì)算機(jī)技術(shù)被廣泛應(yīng)用于各行各業(yè),這種廣泛的應(yīng)用,與軟件企業(yè)為各個行業(yè)打造的行業(yè)專用應(yīng)用軟件息息相關(guān)。在軟件企業(yè)研制軟件的過程中,需要對軟件未來的運(yùn)行情況進(jìn)行分析與預(yù)測,減少軟件的過程結(jié)果偏差,進(jìn)而促進(jìn)項(xiàng)目的管理者對有關(guān)的軟件的開發(fā)工作實(shí)行精準(zhǔn)的管理,同時還能使相關(guān)人員盡快發(fā)現(xiàn)項(xiàng)目進(jìn)行過程中的不足和制約軟件發(fā)展的問題,為軟件開發(fā)的過程控制[1]、評價和進(jìn)行改善提供一定的管理依據(jù),使整個軟件開發(fā)組織能夠更好的進(jìn)行軟件的開發(fā)活動。為了達(dá)到軟件開發(fā)中的這一目的,需要進(jìn)行軟件的度量。軟件的度量就是采用不同的量度對軟件生命周期中的各個元素進(jìn)行度量。
當(dāng)前,在軟件行業(yè),為了進(jìn)行項(xiàng)目的有效管理和監(jiān)控,可以依據(jù)軟件度量相關(guān)的理論知識建立一套專門的測試流程,按照現(xiàn)代化的方式對項(xiàng)目過程進(jìn)行定量的度量。在軟件開發(fā)企業(yè),如果實(shí)行了軟件度量管理策略,那么將會使項(xiàng)目經(jīng)理在負(fù)責(zé)項(xiàng)目進(jìn)行過程中,能夠更加便捷的確定項(xiàng)目開發(fā)的規(guī)模、投入的資金和物力、制定項(xiàng)目進(jìn)度計(jì)劃和工作量核算標(biāo)準(zhǔn)以及績效考核等方面的工作。
一、軟件開發(fā)過程度量體系架構(gòu)
從當(dāng)前在各企業(yè)進(jìn)行的軟件度量分析,可以看出軟件開發(fā)過程中的度量體系的架構(gòu)應(yīng)該包含以下方面的核心內(nèi)容:(1)開發(fā)一個行之有效的度量過程,并讓這個過程稱為軟件開發(fā)過程中進(jìn)行項(xiàng)目管理的一個部分(2)對軟件開發(fā)的過程資源進(jìn)行定制與整合,進(jìn)而擬定項(xiàng)目及相關(guān)手續(xù)的過程計(jì)劃;(3)按照擬定的計(jì)劃和相關(guān)手續(xù)進(jìn)行項(xiàng)目管理的度量過程;(4)依據(jù)項(xiàng)目進(jìn)行時間和進(jìn)度情況以及度量任務(wù)的改變,對原有計(jì)劃的度量手續(xù)進(jìn)行改進(jìn),然后改善度量管理的過程。
為了滿足上述軟件體系架構(gòu)應(yīng)該包含的核心內(nèi)容,以美國的卡內(nèi)基――梅隆大學(xué)的軟件工程研究所的相關(guān)專家和學(xué)者為主的相關(guān)研究者提出了一個軟件度量過程體系結(jié)構(gòu)圖,具體如圖1所示。
圖1 軟件度量過程體系結(jié)構(gòu)
(一)度量過程計(jì)劃的制定
對于一個軟件開發(fā)過程,為了更好的實(shí)施對這個項(xiàng)目的管理,借助度量管理的手段進(jìn)行管理,現(xiàn)實(shí)意義重大。在這個過程中,首先應(yīng)做好度量過程技術(shù)的制定。制定一套有效的度量過程計(jì)劃需要重視如下兩個方面的問題,一個是對度量需求的大小要有明確的認(rèn)識,進(jìn)而依據(jù)需求大小制定一個與這個活動相適應(yīng)的度量過程。為此,我們采用目標(biāo)、問題、度量的方法對需求進(jìn)行分解和識別。另一個是將整個度量過程的步驟進(jìn)行定義,主要是定義完整、一致、可操作的度量。對于數(shù)據(jù)的采集方法進(jìn)行定義,確定采用怎樣的方式進(jìn)行數(shù)據(jù)的記錄與保存,以及定義可以對相關(guān)度量數(shù)據(jù)采用何種方法進(jìn)行分析的技術(shù)。
(二)度量過程的實(shí)施
度量過程的實(shí)施是依據(jù)制定的度量過程計(jì)劃來進(jìn)行的。因此,實(shí)施度量過程也有兩個方面的內(nèi)容:一個是進(jìn)行數(shù)據(jù)的采集,即依據(jù)已經(jīng)度量好的操作去進(jìn)行數(shù)據(jù)的采集,并做好記錄與存儲工作;另一個方面就是對采集到的數(shù)據(jù)進(jìn)行分析并提交分析報告。
(三)改進(jìn)度量過程
改進(jìn)度量過程是度量過程體系中可能存在的一個活動,這是一個進(jìn)行不斷優(yōu)化的過程活動。這個活動存在的目的就是為了對度量過程進(jìn)行不斷的改善與優(yōu)化,使這個度量過程能夠適應(yīng)項(xiàng)目進(jìn)行過程中各種突發(fā)問題對項(xiàng)目管理產(chǎn)生的干擾。
二、軟件規(guī)模度量方法及其應(yīng)用
(一)度量方法介紹
在軟件行業(yè)中應(yīng)用度量,首次還是應(yīng)用在估算軟件的規(guī)模上,在這個應(yīng)用過程中,形成了多種方法。例如:功能點(diǎn)分析法、代碼行分析法、專家判定法模型、特征點(diǎn)、對象點(diǎn)、模糊邏輯等。而且這些方法在實(shí)際應(yīng)用中會衍生出多種具體的方法。在其中,功能點(diǎn)分析法( Function Points Analysis, FPA)產(chǎn)生于上世紀(jì)70年代中期,目的是為了解決LOC度量過程中的一些問題和局限性,IBM聘請Allan Alhrecht等人進(jìn)行不斷深入研究之后總結(jié)出的一套經(jīng)驗(yàn)方法。這個方法面世之后,立刻就被國際功能點(diǎn)用戶協(xié)會提出的一種全新的IFPUG方法繼承與取代。這個新方法的出現(xiàn),使得軟件度量方法得到國家軟件行業(yè)相關(guān)企業(yè)和個人的推崇和接受。本文探討的正是一種基于FPA的軟件度量體系是如何建立的,以及其在軟件開發(fā)過程項(xiàng)目管理實(shí)踐中的應(yīng)用。
對我國當(dāng)前的軟件開發(fā)過程進(jìn)行分析,發(fā)現(xiàn)在軟件開發(fā)過程中,基于FPA法的度量管理手段已經(jīng)開始了較好的應(yīng)用。基于FPA方法的度量管理在項(xiàng)目管理過程中,能夠協(xié)助相關(guān)管理者解決軟件開發(fā)過程中出現(xiàn)的相關(guān)問題,對于項(xiàng)目開發(fā)的成本和進(jìn)度也能較好的進(jìn)行控制,而且這樣的度量管理手段能夠十分方便的進(jìn)行變化,促進(jìn)對軟件開發(fā)過程的管理,提升軟件開發(fā)的效果。如下將詳細(xì)介紹基于FPA方法的軟件度量體系。
(二)基于FPA方法的軟件度量體系及其應(yīng)用
隨著知識經(jīng)濟(jì)水平的不斷提高,加上信息化建設(shè)步伐的加速,計(jì)算機(jī)軟件行業(yè)得到了迅猛的發(fā)展,這也給軟件產(chǎn)業(yè)的發(fā)展帶來了一定的挑戰(zhàn)。對于軟的開發(fā)過程實(shí)施有效的管理不僅能夠提升軟件開發(fā)過程的成本和效果,而且還能促進(jìn)企業(yè)管理水平的提升。對于一個成功的開發(fā)軟件系統(tǒng)的過程,開發(fā)出的軟件能夠按時保質(zhì)的完成并交付給用戶。從對國內(nèi)外軟件項(xiàng)目開發(fā)的管理來看,影響軟件開發(fā)過程成敗的因素多種多樣,而這其中的關(guān)鍵因素主要是軟件開發(fā)成本的估算和管理控制。因此,對于一個即將進(jìn)行的軟件開發(fā)項(xiàng)目,需要對這個項(xiàng)目的規(guī)模大小、研發(fā)需要的資源和進(jìn)度等情況作出一個合理的估算。
借助于當(dāng)前在軟件發(fā)展行業(yè)廣泛應(yīng)用的度量體系來解決企業(yè)軟件項(xiàng)目管理方面的問題,其現(xiàn)實(shí)意義和作用巨大。如下將對基于FPA構(gòu)建滿足決策者需求的度量方法進(jìn)行探討。
1.FPA方法介紹
對于一個軟件項(xiàng)目的規(guī)模,F(xiàn)PA方法認(rèn)為由三個部分組成:信息處理規(guī)模、技術(shù)復(fù)雜程度和功能點(diǎn)數(shù)(FP)。
(1)信息處理規(guī)模
依據(jù)FPA方法,分析軟件開發(fā)的度量管理過程,發(fā)現(xiàn)采用這樣的方法對信息進(jìn)行標(biāo)注,能夠計(jì)算出對系(或模塊)中的每一種元素的數(shù)目,將計(jì)算出的元素?cái)?shù)目與加權(quán)值的合計(jì)數(shù)進(jìn)行相乘,即為信息的處理規(guī)模,成為UAF。 每一種描述權(quán)值對應(yīng)的數(shù)據(jù)如表1所示。
表1 功能點(diǎn)權(quán)值表
功能點(diǎn) 統(tǒng)計(jì)值 加權(quán)因數(shù)
容易 較難 偏難 容易 較難 偏難
外部輸入數(shù) I1 I2 I3 2 3 5
外部輸出數(shù) O1 O2 O3 3 4 6
外部查詢數(shù) Q1 Q2 Q3 2 5 7
內(nèi)部邏輯 LF1 LF2 LF3 8 10 14
外部接口
文件數(shù) EF1 EF2 EF3 6 7 12
計(jì)算的方法為:FP=I+O+Q+LF+EF
式中每一項(xiàng)的計(jì)算值分別是統(tǒng)計(jì)值和加權(quán)系數(shù)的累加。其值分別為對應(yīng)的加權(quán)因素的系數(shù)乘積之和。
(2)技術(shù)復(fù)雜度
基于FPA方法的獨(dú)立管理體系,其復(fù)雜度需要借助于調(diào)整系數(shù)的值。在這種方法中,調(diào)整系數(shù)的值與與14個通用系統(tǒng)的特性有關(guān),每一個特性都有與之相應(yīng)的相關(guān)描述,進(jìn)而幫助確定系統(tǒng)特性的影響程度。影響程度的取值范圍為0~5之間,影響程度越大,數(shù)值越高。對這些特性進(jìn)行評估,能夠得到系統(tǒng)的調(diào)整系數(shù)。
(3)計(jì)算功能點(diǎn)數(shù)
對于修訂后的功能系數(shù),直接將功能點(diǎn)書和修訂系數(shù)進(jìn)行相乘即可得到。
2.FPA方法在軟件工程開發(fā)管理中的應(yīng)用
僅僅從前文所述的FPA法的計(jì)算方法來看,這種方法的適用范圍似乎只是對于一個軟件開發(fā)項(xiàng)目進(jìn)行前期的規(guī)模化運(yùn)作進(jìn)行任務(wù)規(guī)模估算的工具,對于具體的項(xiàng)目工程管理視乎沒有重要的用途。然而事實(shí)卻與這個情況相反,因?yàn)檫@個方法是借助功能點(diǎn)為基本度量的出發(fā)點(diǎn)。如果結(jié)合相關(guān)的度量方法體系,有效的設(shè)定相關(guān)的指標(biāo),并對過程進(jìn)行中的各種確定的量的數(shù)據(jù)進(jìn)行收集和進(jìn)行有效分析,則對于項(xiàng)目管理者做出決定有很重大的作用,能夠進(jìn)一步改善軟件開發(fā)中存在的問題。為此,我們將討論基于FPA的度量方法在軟件管理中的應(yīng)用。
(1)計(jì)劃度量
對于項(xiàng)目管理組織,產(chǎn)品質(zhì)量的穩(wěn)定和用戶的滿意程度,是他們關(guān)注的首要問題;其次,就是估算項(xiàng)目管理中一個軟件開發(fā)項(xiàng)目的規(guī)模,對項(xiàng)目的完成情況進(jìn)行監(jiān)督,對成本進(jìn)行控制的過程,這個過程有實(shí)際的度量數(shù)據(jù)。另外,對于項(xiàng)目管理組織,還要(下轉(zhuǎn)第73頁)(上接第70頁)定期依據(jù)相關(guān)的考核標(biāo)準(zhǔn)對整個研發(fā)和生產(chǎn)團(tuán)隊(duì)的生產(chǎn)能力和過程能力進(jìn)行分析與評價。為此,分析管理者的需求,對其進(jìn)行有效的分解和識別,然后將這些需求轉(zhuǎn)變?yōu)榭梢赃M(jìn)行直接量化的關(guān)鍵度量,并用一致和能夠重復(fù)進(jìn)行的方法對必要的數(shù)據(jù)進(jìn)行收集。
(2)完善和提升度量體系,促進(jìn)軟件開發(fā)過程改進(jìn)
作為進(jìn)行度量的基礎(chǔ)的FPA法,由于正處于不斷完善和發(fā)展的過程,對于不同的項(xiàng)目管理過程,其可能并不適用,在進(jìn)行估算時可能存在一定的主觀性。為此,項(xiàng)目管理組織可以依據(jù)項(xiàng)目需要,對相關(guān)過程和體系進(jìn)行定制和優(yōu)化,采用統(tǒng)一的標(biāo)準(zhǔn),達(dá)成一致進(jìn)行分析并促進(jìn)管理。同時,度量過程也不僅僅是對項(xiàng)目的歷史信息進(jìn)行評價,也不僅僅是為了一份分析報告。以功能點(diǎn)為衡量方法的度量體系,對軟件各階段的產(chǎn)出物進(jìn)行衡量和控制,并用于評價組織過程績效的改進(jìn),從而得到在軟件工程中的最佳實(shí)踐。
三、總結(jié)
FPA方法是一種廣大用戶均能理解的度量方法,它能夠在項(xiàng)目進(jìn)行的各個階段發(fā)揮作用,為項(xiàng)目的正常進(jìn)行提供技術(shù)支撐。對于我國進(jìn)行的軟件開發(fā)度量管理,在引入全新的基于FPA的獨(dú)立體系之后,改善了我國軟件開發(fā)過程中開發(fā)效率低,管理力度不強(qiáng)的問題,克服了我國作坊式軟件開發(fā)先天性的不足,促進(jìn)了我國軟件開發(fā)的全面開花,也提升了相關(guān)軟件企業(yè)在世界范圍內(nèi)的影響力。
參考文獻(xiàn)
[1]周偉良.軟件開發(fā)過程質(zhì)量與產(chǎn)品質(zhì)量度量方法研究[D].合肥工業(yè)大學(xué),2012.
[2]郭都.基于軟件度量技術(shù)的項(xiàng)目管理系統(tǒng)關(guān)鍵模塊設(shè)計(jì)[D].中國科學(xué)院大學(xué)(工程管理與信息技術(shù)學(xué)院),2013.
1.1盲目性應(yīng)用
盲目性應(yīng)用,即無論是產(chǎn)品型軟件企業(yè)還是項(xiàng)目型軟件產(chǎn)業(yè),都沒有一個適合自身企業(yè)特點(diǎn)的軟件開發(fā)管理模式。隨著信息化時代的來臨,第三次革命的廣大蔓延,使IT產(chǎn)業(yè)在我國得到了迅速的發(fā)展,相對應(yīng)的各個軟件的應(yīng)用也逐漸增加。由于,我國的軟件企業(yè)建設(shè)起步較晚,相關(guān)技術(shù)性軟件缺乏有效的創(chuàng)新性。因此,在不合理的管理下,往往會造成為了追趕進(jìn)度,而在短時間內(nèi)生產(chǎn)一批軟件,大大降低了軟件開發(fā)的應(yīng)用價值,造成程序在進(jìn)入實(shí)際應(yīng)用時,一改再改,上機(jī)漏洞百出,運(yùn)行時間過長,甚至完全的開發(fā)使用受挫等問題。
1.2無規(guī)范性操作
無規(guī)范性操作,即相關(guān)企業(yè)缺少對軟件開發(fā)的相關(guān)規(guī)定,檢查督導(dǎo)力度不夠,企業(yè)管理人員、企業(yè)技術(shù)人員的應(yīng)用力度不到位等。我國大多數(shù)軟件開發(fā)企業(yè)都屬于中小型企業(yè),所開發(fā)利用的產(chǎn)品大多效法與國外的軟件產(chǎn)品,缺乏有效地創(chuàng)新能力,評估工作量能力欠缺。雖然,某些公司意識到了這一點(diǎn),但在自己企業(yè)的軟件開發(fā)與管理中,雖然建立了一些軟件開發(fā)管理的規(guī)范,由于過于硬式化,可執(zhí)行力不強(qiáng),造成軟件開發(fā)的操作上出現(xiàn)問題。操作中的無紀(jì)律、無規(guī)范性,使得很多軟件的基本構(gòu)架被砍掉,導(dǎo)致了所開發(fā)產(chǎn)品的質(zhì)量不穩(wěn)定,對以后的升級與維護(hù)造成負(fù)擔(dān),使用戶對公司不滿,最終損害了企業(yè)的利益。
2項(xiàng)目管理在軟件開發(fā)中的應(yīng)用措施
項(xiàng)目管理應(yīng)用于軟件的開發(fā)與利用中,即相關(guān)的軟件開發(fā)項(xiàng)目人員,在有限的資源的前提下,運(yùn)用所要規(guī)定的軟件內(nèi)涵、理念、方法及觀點(diǎn),進(jìn)行有效的開發(fā)與管理。宣傳并樹立企業(yè)范圍內(nèi)的項(xiàng)目管理文化十分重要。實(shí)現(xiàn)項(xiàng)目全過程,包括軟件開發(fā)項(xiàng)目的計(jì)劃、軟件開發(fā)項(xiàng)目的組織、軟件開發(fā)項(xiàng)目的指導(dǎo)、軟件開發(fā)項(xiàng)目的調(diào)控及軟件開發(fā)項(xiàng)目的評價,得到全面的項(xiàng)目實(shí)現(xiàn),創(chuàng)造企業(yè)利益最大化。將項(xiàng)目管理融入到軟件的開發(fā)應(yīng)用中應(yīng)做到:
(1)對軟件開發(fā)項(xiàng)目的成功標(biāo)準(zhǔn)做準(zhǔn)確的設(shè)定。
(2)對項(xiàng)目之間的各種要求把握要合理。
(3)對軟件的標(biāo)準(zhǔn)進(jìn)行新的定義。
(4)建立適合的溝通渠道。
(5)制作個人計(jì)劃。
(6)具備完備的需求說明。
(7)對任務(wù)進(jìn)行有規(guī)律的分配。
(8)選擇正確的技術(shù)并進(jìn)行相應(yīng)的估算。
項(xiàng)目管理在軟件開發(fā)中的具體作用為:
(1)可實(shí)現(xiàn)人力、物力、財(cái)力的合理分配。
(2)對企業(yè)軟件的啟動、研發(fā)進(jìn)行高標(biāo)準(zhǔn)的組織。
(3)合理的對各個項(xiàng)目進(jìn)行合理的劃分,實(shí)現(xiàn)層次管理、合理分配。
(4)調(diào)動員工的積極性,實(shí)現(xiàn)企業(yè)利益的最大化。因此,可以看出項(xiàng)目管理可有效地促進(jìn)軟件開發(fā)的進(jìn)程與管理,是實(shí)現(xiàn)軟件開發(fā)任務(wù)、資源管理、成本預(yù)算、項(xiàng)目跟蹤及企業(yè)利益的良好標(biāo)尺。實(shí)現(xiàn)項(xiàng)目管理與軟件開發(fā)結(jié)合是企業(yè)形成良好的業(yè)務(wù)循環(huán)的重要手段。項(xiàng)目管理在軟件開發(fā)中具體的應(yīng)用措施有:
2.1完善制度
完善制度,即相關(guān)的管理人員應(yīng)按照企業(yè)的任務(wù)需求合理的制定出一套相對應(yīng)的管理流程。例如:企業(yè)的相關(guān)負(fù)責(zé)人可以根據(jù)企業(yè)的業(yè)務(wù)需求來制定《產(chǎn)品立項(xiàng)報告》,并根據(jù)各個部門的負(fù)責(zé)人的審批建議,做出《產(chǎn)品可行性調(diào)研》。后對風(fēng)險進(jìn)行有效的評估,然后做出產(chǎn)品的《初步設(shè)計(jì)報告》,并落實(shí)于人。(注:一般情況下為保障軟件的質(zhì)量與開發(fā)進(jìn)度,新技術(shù)在軟件中的使用比例應(yīng)小于35%)
2.2初步設(shè)計(jì)
初步設(shè)計(jì),即相關(guān)的管理人員根據(jù)所要開發(fā)軟件的成本、進(jìn)度、風(fēng)險等進(jìn)行準(zhǔn)確的評估,并制定評估范圍數(shù)值,并根據(jù)評估的范圍,制定出項(xiàng)目總成本的耗資范圍。例如:企業(yè)的相關(guān)責(zé)任人應(yīng)集中硬件工程師、軟件工程師與架構(gòu)工程師三者進(jìn)行商榷,并根據(jù)業(yè)務(wù)需求,企業(yè)軟件系統(tǒng)開發(fā)規(guī)范,編碼規(guī)范等,來制定出《項(xiàng)目建議書》、《軟件總體設(shè)計(jì)》等方案,提交決策層評審,評審立項(xiàng)通過后方可進(jìn)行下一步工作
2.3硬件選型
硬件選型的過程就是根據(jù)軟件的運(yùn)行狀況選擇其運(yùn)行于哪種硬件上的過程。硬件設(shè)備的選擇需要根據(jù)所開發(fā)軟件的類別進(jìn)行選擇,例如:開發(fā)小型單機(jī)軟件,需要一臺電腦就夠了,但是開發(fā)大型單機(jī)軟件則不一樣了,需要多臺電腦、外網(wǎng)網(wǎng)線、路由器、局域網(wǎng)。項(xiàng)目管理的軟件開發(fā)首先要構(gòu)建軟件系統(tǒng),做好預(yù)算,不斷改進(jìn)設(shè)計(jì)模型,做好項(xiàng)目資源管理的控制和軟件的優(yōu)化方案。其次,需要對軟件系統(tǒng)進(jìn)行測試,根據(jù)項(xiàng)目管理對軟件的需求設(shè)計(jì)科學(xué)合理的測試方案,不斷完善硬件選型上的不足,做到硬件與軟件的科學(xué)有效運(yùn)行。
2.4軟件設(shè)計(jì)
軟件的設(shè)計(jì)是IT行業(yè)中的重中之重,是至關(guān)企業(yè)形象的良好標(biāo)志。軟件設(shè)計(jì),即相關(guān)的管理人員對所要開發(fā)軟件的成本、進(jìn)度、風(fēng)險進(jìn)行精確的細(xì)化分析,制定出確實(shí)可行的軟件開發(fā)項(xiàng)目。例如:項(xiàng)目經(jīng)理需要根據(jù)企業(yè)的軟件復(fù)用價值來確定,待開發(fā)與難開發(fā)兩者,并根據(jù)《初步設(shè)計(jì)》的要求,寫出《軟件的詳細(xì)設(shè)計(jì)》方案并編織代碼,測試代碼,軟件設(shè)計(jì)的最終環(huán)節(jié)要在總工程師的輔助下完成,總工程師要做出詳細(xì)的批示和完善措施,由此進(jìn)行改進(jìn)之后再進(jìn)行大規(guī)模的生產(chǎn)與制作。不斷提高軟件設(shè)計(jì)產(chǎn)品的質(zhì)量。
2.5軟件的測試
軟件的測試是檢測所開發(fā)軟件好壞的良好標(biāo)尺。軟件的測試,即由軟件工程師編制代碼后,按照《測試大綱》進(jìn)行自測,并將自測后的數(shù)據(jù)進(jìn)行可靠性的綜合分析測試。其主要包括:
(1)功能性測試,即對產(chǎn)品的每一項(xiàng)功能進(jìn)行逐一測試。
(2)應(yīng)用性測試,即將所開發(fā)產(chǎn)品運(yùn)行與實(shí)際操作中,進(jìn)行現(xiàn)場模擬的EMC、EMI測試。并根據(jù)測試的結(jié)果,做好詳細(xì)真實(shí)的記錄,列出不合格項(xiàng)目,有待加強(qiáng)項(xiàng)目、研發(fā)人員定位等確立故障的具體原因,為故障的分析與改正打下基礎(chǔ)。
2.6文件歸檔
文件的歸檔,即對所開發(fā)的軟件項(xiàng)目做出完整的整合記錄,實(shí)現(xiàn)軟件的可升級性、可維護(hù)性、可繼承性及可完善性的良好數(shù)據(jù)說明系統(tǒng),是加強(qiáng)積極管理的有效手段之一。對于軟件來說,確保一次性研發(fā)成功最好,若中途發(fā)生了變差,則需要進(jìn)行修改,在對軟件系統(tǒng)進(jìn)行修改的時候,就需要對文件再次進(jìn)行歸檔。所要?dú)w檔的文件一般有:
(1)軟件的研發(fā)報告。
(2)軟件的可行性分析報告。
(3)軟件的初步設(shè)計(jì)方案。
(4)硬件的詳細(xì)設(shè)計(jì)方案。
(5)軟件的詳細(xì)設(shè)計(jì)方案。
(6)系統(tǒng)的結(jié)構(gòu)詳細(xì)設(shè)計(jì)。
(7)軟件的測試結(jié)果。
(8)審批明確的生產(chǎn)文件。
(9)詳細(xì)的使用說明書等。
3結(jié)束語