時間:2022-09-06 23:33:38
開篇:寫作不僅是一種記錄,更是一種創造,它讓我們能夠捕捉那些稍縱即逝的靈感,將它們永久地定格在紙上。下面是小編精心整理的12篇軟件開發培訓總結,希望這些內容能成為您創作過程中的良師益友,陪伴您不斷探索和進步。
關鍵詞:軟件開發;實訓;外包;測試
中圖分類號:TP311 文獻標識碼:A 文章編號:1009-3044(2013)36-8332-02
1 背景
工信部近日印發《軟件和信息技術服務業“十二五”發展規劃》,規劃明確了“十二五”的發展思路和發展目標,確定了10項發展重點和8項重大工程。而據業界預計,到2015年,我國軟件行業收入將突破4萬億元,年均增長25%以上,出口突破600億美元。
2 項目實施的必要性和可行性分析
外包人才的缺口從結構層次來看,不是局部的人才短缺,而是全方位的供應不足。正規院校培養出來的學生能掌握基本的軟件開發技術,但缺乏軟件開發工作經驗、項目交流和團隊合作鍛煉,需要經過相當的項目知識與技能培訓。超過60%的高校開設了計算機專業。但是,適應外包企業需要的大學畢業生很少,大學畢業生常常需要企業花大力氣培養,而企業希望招來就用,不愿自己培養人才增加成本。本軟件開發、測試實訓室應此目的設置,目標培養中低端軟件人才。
3 建設實訓中心項目的可行性
職業教育與普通教育相比有四個特點:一是教育性質和目標不同。重在對準備就業的學生傳授職業知識,培養職業技能,陶冶職業道德,提高職業能力和勞動素質教育。二是教育內容與要求不同。以提高學生的專業知識與技術能力為主,重在讓學生懂得做什么、怎么做,使學生學有專長,畢業后投身于社會經濟建設的實踐活動。目前盡管有部分學生升學,但就總體看,其教育內容與要求未變。三是課程模式與結構不同。其課程模式注重實踐教學環節,課程結構注重強化學生技能的應用性、針對性和職業性。四是學校功能與任務不同。要求實施職業教育的學校必須具有實訓實操的條件,否則職業教育很難獲得應有的效果。
4 軟件開發和測試實訓室建設目標
軟件開發技術實訓可以包含四類實訓課程:
軟件開發實訓:包括完整的生命周期的軟件開發過程
軟件階段實訓:選取軟件生命周期其中某個階段獨立工作(例如編碼工作)的實訓;
軟件測試實訓:包括軟件開發過程隨行測試和獨立的軟件測試技術實訓;
軟件項目管理:這是關于軟件技術高級培訓。
實訓裝備:
硬件設備:5組服務器;50臺工位電腦;網絡和交換設備;5組光盤刻錄、掃描儀和打印機等輔助設備;1套投影和無線擴音設備;互聯網接入;軟件平臺:Windows 和Linux服務器平臺,mySQl、SQL Server數據庫系統、J2EE和.net開發平臺和課程相關的軟件工具;LoadRunner 、WinRunner等常用測試工具;項目管理工具MS Project;辦公系統 Ms Office 管理軟件:實訓管理軟件
實訓方法:采用模擬企業運營方式將教練和學員混編成項目組方式完成軟件開發和測試實訓;打破學科界線和知識體系,以項目目標驅動安排教學內容,編制教材和教學課件,教學內容來源于合作企業以往的實際項目,由企業和學校共同對原項目分解、重組、封裝形成教學課件,以實際項目文檔為基礎編制實訓文檔。
實訓課程:本實訓室分設以下類型實訓課程
素質教育類課程:敬業精神、團隊合作
企業標準類課程:ISO9000和CMM認證,企業化管理制度
項目管理類課程:項目管理方法和項目管理系統使用;
軟件開發、測試類課程:包括軟件生命周期理論、文檔編制和理解、軟件工具、編碼和測試方法、系統部署、和版本管理等;
實訓過程:
先期培訓:素質類、企業標準、項目管理、背景知識等
基礎培訓:由教師教授課題涉及的基本方法、工具和規范;
開題培訓:由專業項目管理人員做課題報告,解釋項目要點;
5 實訓課題:軟件開發實訓
本實訓室培訓軟件開發人員和軟件測試人員,實訓方法可以將學員分組,在同一項目中分別承擔軟件開發和軟件測試工作,也可以獨立執行軟件開發和軟件測試實訓課程
軟件開發實訓包括一下實訓模塊:
1)背景和基礎知識:包括軟件開發規范,軟件企業ISO9000和CMM認證,學校軟件工具等;
2)搭建開發環境:能夠配置自己的軟件開發環境,包括安裝操作系統和開發工具包;能夠配置自己與別人的協同開發環境,包括網絡配置,文件共享,安裝遠程打印機等;
編寫代碼:使學員能夠讀懂詳細設計,掌握開發工具的配置與使用,掌握開發語言的基本知識和數據結構,了解簡單的算法,會設計簡單的界面,并應用常見控件,具有數據庫編程的初步能力;
圖1
3)測試:使學員除了掌握測試的理論知識外,還應該學會編寫單元測試案例,編寫單元測試文檔,在執行單元測試的時候,記錄測試結果,并分析錯誤原因,以利于下一步的調試。
學員應掌握以下具體技術、平臺和工具,Windows系列和Linux操作系統;Visual Studio工具;Borland 公司工具,SQLServer,Oracle ;Apache+tomcat,Web Logic 等;TCP/IP,創建網絡連接,網絡打印;基于UML的詳細設計文檔,面向對象分析和設計;單元測試,黑盒測試,白盒測試,設計測試案例等;執行測試并調試錯誤,系統和配置技術;
軟件測試實訓包括以下實訓模塊:
計算機及常見操作系統、軟件設計語言基礎、 數據庫基礎、軟件工程基礎、軟件測試基礎、自動化測試:包括OSI模型、TCP/IP模型及常見網絡協議,常用軟件平臺、工具使用LoadRunner 、WinRunner測試工具使用,各種測試規范
6 總結
在當今社會信息化的進程中,綜合應用各種新技術的系統軟件功不可沒的,軟件開發和測試使全社會的信息管理、信息檢索、信息分析達到了新的水平,因此,學習軟件開發、測試的相關基礎知識,對于信息時代的每一個成員都是十分必要的。
參考文獻:
[1] 楊文宏,李心輝.面向對象的軟件測試[M].北京:中信出版社,2002.
[2] Ron Patton.Software Testing [M]. 2版. 北京:機械工業出版社,2006.
軟件開發項目管理從最早的傳統項目管理軟件工程期到近年的迭代模型時期,最后到目前的敏捷軟件開發時期。敏捷軟件開發的成功五項因素分別如下。
(1)建立自組織團隊。傳統的管理方式具有命令和控制的特點,經理制定目標和計劃,團隊負責完成,發揮不出員工的創造力,影響了企業的效率。軟件開發的敏捷開發要求員工自我管理,個人控制時間和目標,員工能參與流程和項目決策。
(2)用戶故事在需求管理中的應用。軟件開發企業最大的敵人不是用戶,而是變化。瀑布模型難以適應目前軟件市場需要,因此軟件開發工作要取得用戶的參與,順應市場的變化。
(3)用戶故事的度量,它能為產品投資收益提供估計結果,輔助產品決策。對故事點大小討論時,能鼓勵團隊成員重復討論,充分理解需求。故事點度量方式一致,提高統計團隊工作效率。
(4)持續集成。它能提高項目構建自動化程度,將人力成本更多投放到開發任務。項目更有可見性,構建結果更加豐富,一目了然。團隊對開發產品更有信息。
(5)掌握迭代,為員工提供穩定的生活節奏,保持一致的周期循環流程,溝通過程中控制時間。
(6)堅持反饋和改進,了解自身情況,改善團隊效率。
精益生產的目標為提高質量和消除消費。看板原則要求生產降低庫存量、降低生產周期、生產基于交叉培訓和單元并對過程進行持續改善。如同超市進貨一樣,當貨架上貨物少于設定值,供貨商會及時將其填滿。將看板管理與敏捷軟件開發結合起來,能夠達到效率和質量的有效結合,軟件產品周期頻繁,能達到按天級別。
2.項目看板方法流程設計
增量迭代開發開發流程存在著三點問題。
(1)每個迭代的用戶故事較多,產品經理和開發工程師認為很多功能沒有價值,而項目經理認為需要跟蹤的項目較多。
(2)對于為期四周的迭代觀念不統一,部門不同,期望值不同,測試人員認為時間不充分,產品經理認為需要等待太長時間。
(3)部門之間缺乏協作,缺乏透明的項目進展和進度,太多時間花費在流程上。敏捷軟件開發有三個典型流程,分別XP、Scrum及看板,經過比較,看板原則可以解決迭代用戶故事較多的情況,對于規模小及優先級別高的用戶故事能夠迅速完成,并滿足產品經理對產品的預期。
2.1 基于看板管理的敏捷軟件開發流程方案設計
看板一般應用于汽車生產等工業領域中,在敏捷軟件開發中看板管理只是理論上行得通,但是在實際上還缺乏經驗。而且其受到產品特點、客戶差異及企業文化的影響。其流程主要為,(1)定義并可視化流程;(2)限制WIP數量,流程可視化于物理板能夠讓項目透明,讓團隊對目前的任務充分明確。限制WIP數量則能讓團隊在思考時排除千擾,提高個體效率,項目工作不以來時間計劃,而是取決團隊能力;(3)拉動式生產,每個團隊成員只需要對自己環節加以關注,等待任務-完成工作-到下一環節等待區^這種方式推動了產品開發前進步伐。
2.2 看板流程準備和實施
(1)是動員和人員培訓,先獲取領導層的理解和信任,再向所有員工培訓敏捷開發和看板方法,最后,每個部門進行討論。
(2)制定需求管理環節,產品經理提出產品需求,創建用戶故事,技術團隊估算用戶故事工作量。通過需求分析,工程師能夠獲取信息,完成研發工作,產品經理全程輔助開發和測試,解答相關問題。
(3)開發流程改造,主要變化在對程序代碼的管理方式進行改變,主要有主干和分支兩種。
(4)測試流程改造,主要表現為兩個方面,一方面提高系統自動化測試率來加快回歸測試的進度,另一方面增加測試環境滿足功能測試需求。
(5)項目管理流程的建立。
2.3 看板流程的實施
當所有準備工作完成之后,看板方法第36增量迭代之后,可以正式實施。產品經理將用戶故事進行排列再制成任務卡,貼在用戶故事一列,完成需求分析會議。開發組建立功能分支進行開發,測試組應用功能測試環境對用戶故事進行測試,直到產品。團隊成員每天早上聚集看板附近,明確自己的任務,下班前,項目經理將每天的任務卡狀態變化匯總。敏捷流程要求強調團隊自組織和員工自我管理,但是不可忽視項目經理的作用,項目經理能夠組織人員,梳理工作節奏,保證溝通流暢,促進項目進展。
3.看板方法效果分析
論文關鍵詞:軟件項目管理;中小型軟件企業;軟件過程改進
目前軟件的應用已經深入到企業、政府及我們日常生活的方方面面,其中大量的開發是由中小型軟件企業承擔的。由于中小型軟件企業在體制、人力資源投入力度和關心程度等方面存在差異,開發軟件產品時與專業軟件企業有很大的不同,因此對中小型軟件企業的軟件項目管理進行研究,有助于提高軟件項目管理水平,增強客戶的滿意度。
1軟件項目管理與中小型軟件企業
軟件項目管理既具有一般項目管理的屬性,又具有其特殊性,軟件項目管理的重點在于標準的制定和推行。為了加強我國軟件業的國際競爭力,需要發展一大批具有遵循開發過程與注重質量的文化氛圍的企業。而制定和推行標準的目的正是要引導軟件企業逐步走向成熟,使其工程和管理水平穩步提高,同時為它們提供全方位的服務,以支持軟件產業的整體發展。
軟件項目管理在20世紀70年代中期引起了廣泛的注意。美國國防部通過研究發現了所謂的“軟件危機”,即“管理是影響軟件研發項目全局的因素,而技術只影響局部”。目前國內的中小型軟件企業,由于其企業規模,研發能力等限制,造成其軟件開發管理的問題非常普遍。不恰當的組織結構,工作流程不規范,缺乏項目管理概念和軟件工程概念等是中小型軟件企業面臨的主要問題。
1.1中小型軟件企業中軟件開發的特點
國內的中小型軟件企業雖然涉足軟件開發業務,但對軟件的認識停留在“程序員編代碼”的水平上。對企業內部的軟件開發缺乏管理意識,具體體現在以下幾方面:首先,項目負責人項目管理經驗不足,項目功能相對較少,涉及面相對狹窄;其次,項目開發人員較少,人員結構簡單;再次,項目進度缺乏控制,項目成本預算較難,缺乏完整的項目文檔;最后,缺乏后續維護。
1.2中小型軟件企業中的軟件開發組織
與專業軟件公司的軟件開發組織相比較,中小型軟件企業中的軟件開發工作機構小、人員少,開發人員待遇低,難以吸引高水平的人才,人才流失率達到50%以上。由于沒有高水平的開發人員和技術管理人員,軟件工作狀況處于初級水平,軟件開發不能按照軟件工程的要求執行。
軟件系統建立過程中需要多方面的人員:需求方人員、懂得軟件項目管理的人員、軟件程序員、系統分析員。普通企業由于對軟件生產不了解,往往由軟件需求方人員對軟件工作直接管理。這個工作顯然超過了其能力范圍,不符合軟件工作的相關原則。業務人員作為項目的負責人,既不能合理地計劃軟件開發工作,也不可能管理好軟件工作中的各種風險,這將使軟件開發處于無序的風險狀態之中。
1.3中小型軟件企業中的軟件開發溝通
在需要團隊協同工作的今天,溝通可以說已經變得無比的重要。在軟件業,溝通可以說是快速學習和掌握新知識,達到技術上更高層次的最佳途徑。如果小組成員在協調上出了漏洞,會導致很大的問題,所以項目負責人必須隨時監控開發人員的工作,包括內容是否與要求發生偏差,進度是否滯后等等。
項目組與組織之間、項目組與項目組成員之間,甚至與一個項目組的不同成員之間,如果沒有足夠的溝通意識和溝通制度、溝通工具,就有可能造成信息不暢,從而加大項目失敗的風險。中小型軟件企業開發人員少,意味著不同人員的程序之間交互、接口相對少一些;缺少文檔資料或者文檔資料不規范也是軟件項目管理中的普遍問題。由于討論時忽略了某些情況,當大家都按當時的分工完成屬于自己的工作后,才發現各個模塊組合起來卻不能形成一個完整的系統。其根源在于沒有一個負責協調的人員不斷監控整個開發過程。一旦有人中途退出開發隊伍,其他人加入時,新來的人難以理解以前別人做好的代碼,索性自己從頭做起。
1.4中小型軟件企業中的軟件開發工作流程
與一個標準的軟件開發流程相比,中小型軟件企業內部的軟件開發“節省”了不少步驟。例如不經過單元測試而直接進入系統測試等。由于這種測試不完全,真正運行系統,當調用某模塊時,可能大部分時候都是正常數據,極少出現邊界情況,但某些邊界情況容易被忽視,很久之后才被發現。但是如果對每個模塊進行單元測試時都進行邊界測試,就會很容易消除這些隱患。
2中小型軟件企業軟件開發過程改進模型
軟件開發模型是軟件開發全部過程、活動和任務的結構框架。它能直觀表達軟件開發全過程,明確規定要完成的主要活動、任務和開發策略。一個企業的管理,大公司有大公司的方式,小公司也有小公司的模式,如果把別人的經驗生搬硬套到自己身上,可能會適得其反。同樣,管理一個軟件項目也一樣,大項目和小項目的方式不可能完全一樣。但從另一個角度來看,項目的大與小并沒有本質區別,很多方法是共通的。因此為了改進軟件開發過程,可參考模型如圖1
2.1制定軟件開發規范
一切溝通與交流,首先都要有可見的依據,這可以從制定軟件開發規范入手。具體可以從以下四個方面制訂:軟件開發工作流程規范、產品文檔規范、軟件開發文檔規范、開發管理文檔規范。編寫規范,可以參考國家標準的計算機軟件工程規范,也可以結合開發經驗制定出適合本企業使用的開發規范。
詳細制定這些文檔使用方法和規則,要保證文檔便于書寫、形式一致,這不僅要有文字描述,還應制定相關文檔模板,形式上要保證簡潔明了、實用、符合使用習慣。根據項目規模的不同,還可以制定不同的文檔模板,小型項目可以寫一個相對簡化的小型項目文檔,復雜項目可以使用較全面和大型的文檔模板。
2.2軟件開發人員培訓
軟件開發中人的因素占有很大的比重,因此對軟件人員的培訓是非常重要的。一個團體的軟件水平并不是個別程序員的程序水平,而是整體的認識和系統建設的水平。可以先在內部對軟件開發人員進行培訓,內容包括軟件工程、己經制訂的各種規范、項目管理知識。通過共同分析軟件工程對軟件開發和開發者的益處,可以得到開發人員的認同,以便共同遵守和執行初期規范,更好地完成開發目標。
2.3加強軟件生產過程規范性
軟件開發是一個知識密集型領域,對人才的依賴很強。加強生產過程的規范性并規范管理,可以加強人的執行能力。
在中小型軟件企業中,很少有成本核算和嚴格的進度控制。影響項目的因素也比較多:需求的提出比較隨便,甚至業務需求還不明確的時候就要求程序員開始編程序,沒有合理的措施控制透徹的分析業務需求;時間進度由領導規定,而不是根據需求客觀確定,這樣使軟件質量根本無法保障。因此要通過加強管理使軟件開發過程可視化,軟件開發工
作協調、有效。
在規則明確、組織機構確定、有一定的理論認識之后,可以通過一些管理要求,強制執行軟件工程的一些基本過程,要求的提出要簡單明了。例如:項目要有正式立項啟動、項目結項,有時間控制要求、計劃要求。要求項目有開發計劃,計劃中確定開發工作的人員保障、開發周期、開發進度計劃,并允許項目進行中在一定范圍內調整計劃與進度。上級領導也應出面協調和幫助解決相應問題。
2.4軟件配置管理機制
軟件開發不是一個短期行為,但是,由于許多開發工作因缺少管理而成為個人行為,對于軟件成果沒有保護意識,更不能達到軟件的共享與重用。通過“統一配置管理”這一具體的做法,能夠強化軟件完成后的總結工作。
建立基本的軟件配置管理機制,在開發中和開發后都要求程序員及時備份源文件。進行這項工作要首先選擇一套適合的配置管理軟件,如Visual SourceSafe、cvs(Concurrent Versions System)等。項目主管應該要求程序員在開發全過程中使用軟件來管理源文件,在全過程的配置管理的基礎上,整個項目組更容易完成統一編碼、測試組裝產品等工作。
以上步驟,可以保障內部開發工作達到初級的項目可視化,在軟件開發部門內部建立起對滿足業務需求完成的信心,以滿足業務需求的承諾。通過這些工作,可以在企業內獲得對軟件規范性的一定認識以及對執行方式的認同,這對軟件開發工作會有不同程度的幫助。
2.5持續改進過程和管理模型
有了規范的開發生命周期模型和項目管理實踐,可以為中小型軟件企業設計一個建立在數據基礎之上、不斷度量和改進及不斷提高企業開發能力的一個良性循環的工作機制模型。
1、什么是項目管理?
項目管理是在一定的約束條件下,以高效率地實現項目業主的目標為目
的,以項目經理個人負責制為基礎和以項目為獨立實體進行經濟核算,并按照項目內在的邏輯規律進行有效的計劃、組織、協調、控制的系統管理活動。
2、為什么要有項目管理?
沒有項目管理,項目也有可能成功。但沒有管理的項目,很難保證項目
的利潤空間,對公司來說,虧損的風險就大。所以我們要有項目管理,以保證公司在總體上是盈利的,注意不是每一個項目都要盈利。
另外,有了項目管理,就有了管理改進的基礎,無論剛開始的項目管理多么糟糕,只要有管理,就有了改進的可能性,至于能不能得到改進,以及改進的快慢,則取決于兩個因素:一個是人,特別是各級管理者;另一個是利益。關鍵是“利益”,準確的說是“利益的分配”,在權責利明確的前提下,人才能充分的發揮作用。還需要指出的是“利益”是多元的,這里的多元不僅指利益的具體形式,而且指利益的受眾是多元的,包括客戶方相關人員個人的利益。
3、項目管理的發展與現狀。
今天,項目管理作為一種現代化管理方式在國際上已獲得了廣泛的應用,從最初的國防、航天、建設工程領域,迅速發展到電子、通信、計算機、軟件開發、金融等行業以及政府機關的項目管理工作。隨著計算機、網絡系統的迅速發展,項目管理技術的不斷進步,項目管理軟件產品層出不窮,其功能、特點、應用對象也各不相同。當前,越來越多的企業和組織在內部推廣項目管理的理論方法及管理模式,如果都采用項目管理軟件進行管理,效果就更加明顯,可以節省大量的資源和財富。國外90%以上的項目管理都采用軟件進行,但我國在這方面的應用還不到10%。新世紀項目管理在中國的迅速興起,給軟件企業的發展帶來了前所未有的發展機遇。
項目管理在軟件開發中的應用的成因
隨著信息技術的飛速發展,軟件產品的規模也越來越龐大,個人單打獨斗的作坊式開發方式已經越來越不適應發展的需要。各軟件企業都在積極將軟件項目管理引入開發活動中,對開發實行有效的管理。從概念上講,軟件項目管理是為了使軟件項目能夠按照預定的成本、進度、質量順利完成,而對成本、人員、進度、質量、風險等進行分析和管理的活動。實際上,軟件項目管理的意義不僅僅如此,進行軟件項目管理有利于將開發人員的個人開發能力轉化成企業的開發能力,企業的軟件開發能力越高,表明這個企業的軟件生產越趨向于成熟,企業越能夠穩定發展(即減小開發風險)。同時,隨著軟件開發規模及開發隊伍的逐漸增大,軟件開發不再是向過去那樣一二個開發人員即可解決的事情。迫切需要一種開發規范來規范每個開發人員、測試人員與支持人員的工作,每個項目組成員按約定的規則準時完成自己的工作。同時采用規范化管理,專業分工也可以降低對開發人員的要求,從而降低產品研發成本。
軟件開發是一項復雜的系統工程,牽涉到各方面的因素,實際工作中,經常會出現各種各樣的問題,甚至面臨失敗。如何總結、分析失敗的原因,得出有益的教訓,對一個公司來說,是在今后的項目中取得成功的關鍵。
早在20世紀60年代中期,人們就發現軟件的生產出現了“問題”,主要表現在生產過程不規范,缺乏管理。后來,人們在軟件工程方法學中引入了工程的概念、原理、技術和方法,這種思想在一定程度上解決了軟件生產過程中遇到的問題。但是直至80年代還是沒有提出一套管理軟件開發的通用原則,軟件管理不善的問題依舊在大范圍內存在。
目前的軟件開發正逐步趨向于復雜化、多元化,大多數開發團隊中都會出現同時開發多個版本、開發/維護工作并存、多地點同時開發等情況,給軟件開發管理帶來了前所未有的困難。如果管理不善,必將造成版本混亂,各個開發人員的工作相互交叉、干擾,整個開發團隊的工作在一種無秩序的不良狀況下運行,嚴重影響軟件產品開發的進度和質量。
因此,隨著軟件開發的深入、各種技術的不斷創新以及軟件產業的形成,人們越來越意識到軟件過程管理的重要性,管理學的思想逐漸融入軟件開發過程中,應用開發的項目管理日益受到重視。而項目管理技術的發展與計算機技術的發展是密不可分的,隨著計算機性能的迅速提高,大量的項目管理軟件涌現出來。它們可以用于各種商業活動,提供便于操作的圖形界面,幫助用戶制定任務、管理資源、進行成本預算、跟蹤項目進度等。
軟件項目管理常見問題及解決方案
對于軟件開發項目中,經常出現兩種極端情況,一種是創造了新的生產率和質量的紀錄;一種則完全是一場災難,不是被取消就是拖延很長時間。前者如在很短的時間內,為了趕進度,在幾乎不可能的時間內開發出一套軟件產品,創造了軟件開發的記錄,滿足了上級所要求的上機日期,由于開發時間太短,過于倉促,上機時,問題百出,試運行時間長達幾個月或一年半載的,而且程序一改再改,維護工作量大。
后者,如某套系統未弄清楚需求,或因設計問題,開發失敗。通過提煉這些成功和失敗的例子,軟件項目成功或失敗的根本原因可能會更清晰一些。
目前我國大部分軟件公司,無論是產品型公司還是項目型公司,都沒有形成適合自己公司特點的軟件開發管理模式,雖然有些公司根據軟件工程理論建立了一些軟件開發管理規范,但并沒有從根本上解決軟件開發的質量控制問題。這樣導致軟件產品質量不穩定,軟件后期的維護、升級出現麻煩,同時最終也會損害用戶的利益。
分析目前項目管理需要改進的問題可以從幾種相關角色的角度去考慮:項目經理、項目組成員、公司管理人員、市場人員、客戶等。
問題一:缺乏項目管理系統培訓(相關對象:項目經理、管理人員)
項目經理在項目管理方面的培訓較少或不夠系統。項目經理或管理人員不了解項目管理的知識體系和一些常用工具和方法,所以在實際工作中沒有項目管理知識的指導,完全依靠個人現有的知識技能,管理工作的隨意性、盲目性比較大。在軟件企業中,以前幾乎沒有專門招收項目管理專業的人員來擔任項目經理(甚至很少是管理專業的),被任命的項目經理主要是因為他們能夠在技術上獨當一面,而管理方面特別是項目管理方面的知識比較缺乏。
解決方案:項目經理接受系統的項目管理知識培訓是非常必要的,有了專業領域的知識與實踐,再加上項目管理知識與實踐和一般管理的知識和經驗的有機結合,必能大大提高項目經理的項目管理水平。應實行項目經理知識技能資格考核制度,讓項目經理自覺補充學習項目管理的知識和一些常用工具和方法。
問題二:項目計劃意識問題(相關對象:項目經理)
項目經理對總體計劃、階段計劃的作用認識不足。項目經理認為計劃不如變化快,項目中也有很多不確定的因素,做計劃是走過場,因此制定總體計劃時比較隨意,不少事情沒有仔細考慮;階段計劃因工作忙等理由經常拖延,造成計劃與控制管理脫節,無法進行有效的進度控制管理。沒有計劃或者是隨意的不負責任的計劃的項目是一種無法控制的項目。
解決方案:在高技術行業,日新月異是主要特點,因此計劃的制定需要在一定條件的限制和假設之下采用漸近明細的方式進行不斷完善。提高項目經理的計劃意識,采用項目計劃制定相關各種知識、技術、工具,加強對開發計劃、階段計劃的有效性進行事前事后的評估。
問題
三、管理意識問題(相關對象:項目經理)
部分項目經理沒有意識到自己項目經理的角色,從總體上去把握管理整個項目,而是埋頭于具體的技術工作,造成項目組成員之間忙的忙、閑的閑,計劃不周、任務不均、資源浪費。在軟件企業中,項目經理大多是技術骨干,技術方面的知識比較深厚,但無論是項目管理知識,還是項目管理必備的技能、項目管理必備的素質都有待補充和提高,項目管理經驗也有待豐富。有些項目經理對于一些不服管理的技術人員,沒有較好的管理方法,工作不好安排的工作只好自己做。另外由于工作分解結構設計的合理性,項目任務無法有效、合理地分配給相關成員,以達到“負載均衡”。
解決方案:加強項目管理方面的培訓,并通過對考核指標的合理設定和宣傳引導項目經理更好地做好項目管理工作。技術骨干在擔任項目經理之前,最好能經過系統的項目管理知識,特別是其中的人力資源管理、溝通管理的學習,并且在實際工作中不斷提高自己的管理素質,豐富項目管理經驗,提高項目管理意識。
問題四:溝通意識問題(相關人員:項目經理、項目組成員)
在項目中一些重要信息沒有進行充分和有效的溝通。在制定計劃、意見反饋、情況通報、技術問題或成果等方面與相關人員的溝通不足,造成各做各事、重復勞動,甚至造成不必要的損失;有些人沒有每天定時收郵件的習慣,以至于無法及時接收最新的信息。
解決方案:制定有效的溝通制度和溝通機制,對由于缺乏溝通而造成的事件進行通報作為教訓提醒,以提高溝通意識;溝通方式應根據內容而多樣化,講究有效率的溝通;通過制度規定對由于未及時收取郵件而造成損失的責任歸屬;對于特別重要的內容要采用多種方式進行有效溝通以確保傳達到位,例如除發送郵件外還要電話提醒、回執等,重要的內容還要通過舉行各種會議進行傳達。
問題五:風險管理意識問題(相關人員:項目經理)
項目經理沒有充分分析可能的風險,對付風險的策略考慮比較簡單。項目經理在做項目規劃時常常沒有做專門的風險管理計劃文檔,而是合并在項目計劃書中。有些項目經理沒有充分意識到風險管理的重要性,對計劃書中風險管理的章節簡單應付了事,隨便列出幾個風險,隨便地寫一些簡單的對策,對于后面的風險防范起不到什么指導作用。
解決方案:通過學習項目管理知識掌握風險識別、量化、對策研究、反應控制的工具和方法掌握項目風險管理所必備的知識。通過加強對項目規劃中風險管理計劃的審核提高項目組的風險管理意識。總結本行業項目中常見的風險及其對策作為風險管理計劃中必要的風險內容,并切實評估相應對策的有效性和可行性。
問題六:不重視項目經驗的總結(相關人員:項目經理、管理人員)
項目經理在項目結束時有些是因為自身對寫文檔工作的興趣或意識,或
者是因為緊接著要參加下一個項目,總體對項目總結的重視程度不夠。有些是項目總結報告一再拖延,有些是交上來的報告質量較低,敷衍了事。
解決方案:在制度上鼓勵和加強項目經驗總結工作,使得項目總結及時并且具有指導意義而不是走過場。
問題七:項目干系人相關問題(相關人員:項目經理、項目成員、客戶)
在范圍識別階段,項目組對客戶的整體組織結構、有關人員及其關系、
工作職責等沒有足夠了解以致于無法得到完整需求或最終經權威用戶代表確認的需求。由于項目經理的工作問題,客戶參與程度部不高,客戶方相關責任人不明確或對范圍和要求責任心不強,提出的要求具有隨意性,項目前期對需求的確認不夠積極;或者是多個用戶代表各說各話、昨是今非但同時又要求項目盡早交付;項目后期需求變化隨意,造成項目范圍的蔓延,進度的拖延,成本的擴大。
解決方案:項目的目的就是實現項目干系人的需求和愿望。項目干系人管理應當從項目的啟動開始,項目經理及其項目成員就要分清項目干系人包含哪些人和組織,通過溝通協調對他們施加影響,驅動他們對項目的支持,調查并明確他們的需求和愿望,減小其對項目的阻力,以確保項目獲得成功。
問題八:項目團隊內分工協作問題(相關人員:項目經理、項目成員)
項目團隊內部有時由于各階段不同角色或同階段不同角色之間的責任
分工不夠清晰而造成工作互相推諉、責任互相推卸的現象,有時各階段不同角色或同階段不同角色之間的責任分工比較清晰但是各項目成員只顧完成自己那部分任務、不愿意與他人協作。這些現象或多或少地造成了項目團隊內部資源的損耗,從而影響了項目的進展。
解決方案:項目經理應當對項目成員的責任進行合理的分配并清楚地說明,同時應強調不同分工、不同環節的成員應當相互協作,共同完善。
以上對軟件開發項目管理中出現的問題的分析還不夠深入,也無法列舉所有遇到或將遇到的問題,解決方案也要根據實際情況進行調整,希望引起對這些問題更多的思考和改進。
結束語:項目管理雖然沒有非常高深的理論,但要真正實施起來,也絕非易事。對于軟件開發企業而言,這不是一個小的改變,而是一種變革,企業需要為此付出艱苦的努力,宣傳并樹立公司范圍內的項目管理文化十分重要。從而在實踐中鍛煉提高,解決各種各樣的問題,使項目管理工作越做越好。
內容摘要:隨著信息產業的飛速發展,項目管理對于以應用開發為主的軟件企業是一個行之有效的管理方法,項目管理在軟件開發中的應用日益受到重視。本文主要通過對項目管理在軟件開發中的應用的成因、存在的問題以及相應的解決方案進行了分析和論述。
關鍵詞:軟件開發;計算機應用;信息管理;計算機軟件應用
一、引言
在全球信息化的浪潮之下,我們正處在一個信息大爆炸時代,各行各業在計算機軟件產品的輔助之下,高效率地利用計算機技術優勢,極大地推動了國民經濟的發展,因此軟件開發行業成為了當下眾多行業之中富有挑戰性和成就感的特殊行業,各個軟件作品的成功應用富含了全體開發人員的辛勤汗水和勞動智慧。在進行軟件開發過程中,為了實現從0到1的突破,開發人員時常會遇到各種各樣的問題,故此要推動計算機軟件開發行業的發展,就一定要在其開發前進行規范化管理,明確人員相關責任意識,達到開發事半功倍的效果。
二、計算機軟件的分類說明
計算機軟件的概念上來說,我們可以分為計算機系統軟件和計算機應用軟件,而計算機軟件指的是監控、管理和維護計算機軟的工具,簡單來說類似于防火墻和電腦的操作系統等等。而計算機應用軟件則指的是解決某些具體情況的應用軟件,例如語言學習專用的教學軟件和辦公系統軟件等等。計算機軟件在功能上是利用計算機本身帶有的邏輯性來系統安排計算機工作,有些特定軟件甚至可以讓人們從中脫離出來。
三、計算機軟件和硬件的區分
在我們的印象中,計算機應該分為軟件和硬件,這種理解大體上是正確的,但是對于硬件和軟件之間的區別,這種理解只停留在外部印象上,故此文章針對其區別主要列舉了以下幾個方面:首先區別在于其生產上,軟件方面屬于針對需求開發的專用軟件,而硬件則是廠商生產制造的,比如硬盤等等。軟件開發是開發人員合理利用想象力來進行研發,而不是在廠商工廠制造而來,在理解上雖然存在一定的相似之處,但在根本上是不同的;其次區別在于產品要求上,在計算機軟件領域,對于其要求是非常嚴謹的,在設計之初就要求不能有任何錯誤存在,而計算機的硬件方面則稍寬容一些,可以在設計上存在細小誤差,不影響使用即可;再次則是在表現形式上的不同,計算機的硬件是可以被看見、被觸摸到的,而計算機的軟件表現則是在設計人員的腦海中或者是付諸于紙上,真正的想法要付諸實踐,必須在計算機上運行過之后才能發現其是否可行;最后則是在計算機維護上的不同,軟件在理論上是不可能因使用造成損壞的,但是在實際運用中,軟件也需要進行定期維護升級,同時面對出現的漏洞要及時發現并修補,保證其能夠繼續穩定的運行。
四、計算機軟件的開發簡述
計算機軟件開發是在客戶需求上研發的操作系統或者是滿足某些特定情況的應用軟件,其工作是非常系統性的。軟件的研發中要探究客戶真實需求、開始進行方案設計、實現需求和進行終極測試。在軟件使用時要經過版權方許可,否則其軟件使用可能會存在風險,究其原因在于國家對于每一個軟件都會有相應的軟件許可證。另一方面,很多特定情況下的應用軟件許可條款和法律法規是不能相互抵觸的,沒有從正規渠道購買,乃至使用盜版或者在版權方不知情的情況下私自拷貝,極有可能會引起法律糾紛。
五、軟件產品的維護
作為軟件開發項目中最后一項任務,是軟件被付諸實踐測試的重要時期,維護的任務目標是對最終版本進行測試,發現在軟件運行過程中出現的BUG,從而不斷開發補丁,對系統進行完善,讓軟件的性能得到充分發揮,最終實現軟件的量產。對軟件進行規范化的維護主要在以下幾個方面:第一,在管理方式上要進行規范化,規避后期可能會出現的不利影響,在修補后要及時進行運行監測,避免出現以錯補錯,防止因為錯誤造成經濟損失,同時要嚴格執行軟件管理條例,分階段、分步驟地進行修補,對添加的補丁是否解決問題進行反復驗證。第二,要對軟件產品進行規范化保護。進行規范化保護主要方面在于要增加軟件的使用頻次,不斷增強計算機軟件成品的適用性。在軟件產品的開發階段,要對軟件產品中可能會發生的錯誤進行預測,并設置有效修補措施,保證軟件產品能夠在不同的使用環境中,發揮軟件產品的自我檢測和自我修補功能。除此之外,在提高軟件相關系統功能的同時,對軟件產品的維護運行要有明確的目標以及細化的操作步驟,根據軟件控制管理系統要求,認真地對軟件產品進行檢查、調整、查看。
六、軟件研發過程中出現的系列問題簡述
(一)創新能力不足以及軟件設計過程重視度不足
困擾軟件設計公司最大的問題就在于設計能力上的缺失,很多項目經理和軟件開發人員對于設計沒有引起足夠的重視,有時候甚至會出現為了趕超進度,在很多項目開發進程中設計得過于簡單,甚至于直接省略設計過程,對市面上的相似產品進行搬運和抄襲。這樣做的后果極有可能會造成版權方面的法律糾紛,同時極大地制約了設計人員的想象能力和設計靈感。誠然抄襲已有作品能夠有效加快項目開發進度,但這種方法無異于飲鴆止渴。軟件開發工作是一項技術性很強的工作,在進行過程中需要有一個相對詳實、系統的開發設計方案,缺少相關設計方案會使得軟件開發工作難以為繼,出現止步不前的現象。除此之外,創新也是困擾其發展的一個重要方面,創新是技術發展、行業進步的靈魂,是企業長遠發展的推動力,在我國就有許多企業因為缺失創新能力導致其發展相對滯后。在這種情形之下,相關責任人員應該明確自身職責,通過結合以往參與開發的經驗,不斷創新思路,發揮想象力,最終推動軟件開發創新發展。
(二)對于客戶需求理解不甚全面,缺乏深度交流互通
在軟件進行開發的過程中,客戶經理沒有真正了解到客戶真實需求,或是因為溝通的不及時而錯誤理解客戶需求,導致最終開發成品不符合客戶需求的現象發生。在這種情況下開發出來的作品,無疑是一種資源上的浪費,換句話說,軟件開發沒有明確定位,就會讓軟件產品出現一定的風險。而對于風險的解讀方面存在有兩種不同的釋義,一種解釋其風險是帶有不確定性質的,另一種釋義則解釋其風險在損失成本上帶有不確定性,不管這兩種對于風險的定義如何,能夠明確的是其風險引發的后果會有損失發生,甚至極有可能既無損失也無收益,廣義上講風險引發的后果不外如是,金融基金股票中常常提到的風險就可以歸為這一種。狹義上講的風險,其定義重點在于其損失性,表明風險只能帶來損失,并不能帶來利益。這種狹義風險用來闡述因為信息差帶來的軟件開發后果極為合適,因此在軟件開發過程中要高度重視供需方面的溝通交流,避免風險的發生。
(三)版權意識的缺失,軟件開發處境和編程代碼庫紊亂
當前對于軟件開發的需求量正在不斷攀升,亟待開發的軟件項目數量也在不斷上漲,參與開發人員分別負責的版塊數隨之增加,故此造成版本數量急速增長,到最后甚至會出現某一個專門負責版塊的開發人員找不到版本的現象發生,從而引發版本以及代碼庫紊亂。其次如果參與編程人員水平不高,還容易出現抄襲的現象,造成版權侵權,進而使整個開發項目的質量受到影響,讓整個軟件公司的發展受到波及。
七、面對問題提出的針對性規范化應用舉措
(一)對客戶真實需求進行深入了解
在進行軟件開發之前,一定要對客戶的真實需求進行全面了解,才能使軟件的開發少走彎路,在減少浪費時間成本的同時,還能讓軟件的開發具有價值。軟件開發項目中的設計人員在進行設計時,要充分把握住客戶的需求,對其需求有明確的定位。在某種層面上來講,需求分析是軟件開發中極為重要的工作,它決定了軟件開發的研究方向,能夠為研發提供策略支持。故此軟件開發項目首先要對需求分析進行深入探究,定期對軟件開發的相關技術人員進行專業化培訓,讓其借助于這種專業技術性很強的培訓來進行自我學習,使得項目工作人員的專業水平得到提升,同時還能進一步提升其工作效率,展現出專業人員的技術素養。此外還要對相關人員進行企業文化教育,讓其產生文化認同感,針對產品特點來進行介紹,對將要開發設計的項目有整體性的認知,促進相關技術人員之間的交互,為軟件開發項目的平穩運行提供助力。
(二)增強相關人員對于軟件開發規范化的認知
計算機的軟件開發工作是和人們生活、學習、工作等方面密切相關的一個系統性工作,只有通過人們的認可,在使用中發揮出其作用的軟件才是真正有價值的軟件。相關人員要在思想觀念上進行轉變,在軟件開發的準入上要設置一定的門檻,挑選出高水平的技術開發人員,明確參與軟件開發人員的責任。值得注意的是相關政府部門還應該對軟件開發行業的法律法規進行補充完善,并由相關協會制定具體的行業標準,讓整個軟件開發項目在法律法規的監管下進行,鞭策軟件開發人員能夠以誠實守信、愛崗敬業的精神來進行開發工作。
(三)專注于產品開發
創新能力不足是當前我國軟件開發技術發展的嚴重阻礙,即創新研發方面相對落后。與之相對的國外軟件開發行業,能夠擁有獨屬于自己的研發地位,究其根本原因在于其自主創新能力強,研發力量雄厚。創新是推動產業發展的強勁動力,不斷進行創新研發能夠形成消費合力,是企業長遠發展、不斷壯大的必由之路。因此創新能力的強弱,關系到我國軟件行業能否在軟件開發行業中占據優勢地位。
(四)重視規范化經營管理模式
在各行各業的發展中,保質保量進行生產制造,規范化的經營管理是提升企業生產力的重要舉措,這在軟件開發行業中也同樣不例外。規范化產業管理模式已經成為軟件開發質量特殊競爭力的表現。在我國軟件行業中,規范化管理經驗相對缺失,這就在一定程度上造成了創新研發成果上相對落后,甚至于已經影響到了我國軟件開發行業的發展。我國的軟件開發行業要想保證競爭力,就應該在經營管理中不管規范化,這種管理體制上的規范化能夠讓企業在競爭惡劣的環境中嶄露頭角。此外,我國的軟件開發行業在起步上相對滯后,專業技術能力上存在不足,整體軟件開發行業正處在發展階段。軟件開發企業要在技術層面上不斷的進行突破創新,在資源利用上進行高度整合,才可以使得我國軟件開發不斷進步,突破到下一個發展階段。
(五)對策劃設計的方案進行精心審定
在軟件開發工作的開展上,想要取得成功,就一定要有一個相對詳實的、富有特色的設計方案。只有在這種設計方案的引導下,才能讓軟件開發工作進展得更為順暢。在項目開展之初,要對各個環節的細致工作進行綜合考量和分析,突出其設計理念,突顯其創造性。作為軟件開發項目中的前期準備活動,規劃著軟件研發的前進方向。所以,軟件開發工作中其設計方案要富有創造力,突破陳舊思維觀念的制約,不斷吸納更多志同道合的伙伴,不斷推動軟件開發行業健康平穩發展。
(六)定期開展項目總結工作
軟件開發完成之后,項目參與人員要仔細進行復盤總結,細致探討在項目進行過程中符合客戶最初需求的部分,還有項目中可以改進的部分。唯有如此,項目開發技術人員才能從中不斷獲取經驗,為后期開展的其他項目開發提供借鑒和幫助。項目開發工作能否最大程度的給客戶留下印象,提升工作質量,減少工作過程中出現的失誤,離不開項目工作組的不斷復盤總結。
(七)規范化軟件檢測
作為軟件開發進程中的重要組成部分,針對軟件是否能夠實現客戶的真實需求,需要對開發的軟件進行測試。在軟件的測試過程中,出現錯誤的情況在所難免,如何規避和清除錯誤,讓軟件能夠真正投入使用,是軟件測試過程中必須要面對的考驗。可能會出現的問題廣泛存在于軟件設計研發的各個階段,軟件測試的結果也決定了軟件的使用壽命和軟件設計研發的質量。因此一定要對軟件測試足夠重視,真正解決軟件研發過程中出現的各樣問題。在檢測過程中,一定要讓客戶進行參與,由專業人員把軟件的設計思路和想要達到的效果來進行說明,利用專業人員的專業素養和規范化的檢測方法來對軟件進行真實環境檢測,發現問題并解決問題,以此來滿足客戶的研發要求。要對檢測的過程進行規范化,對軟件的各個功能都要進行檢測,同時還要對各個功能版塊的檢測結果進行存檔,以便于能夠快速定位出現問題的版塊,反復修改檢測之后,使得軟件的性能能夠調試到最佳狀態,以達到完美的使用效果。在檢測完成之后,要詳實的填寫軟件測試報告,對檢測結果進行全方位分析,對其做出正確評估。
(八)制定規范性的維護方案
軟件研發工作開展的最終目標是實現軟件產品完美交付使用,對出現的BUG要及時進行修復,充分保障功能的實現。在軟件實際使用期間,維護人員要對其中出現的錯誤及時填寫報告,針對軟件問題報告中出現的問題,軟件維護人員要明確其錯誤出處,精確定位問題板塊并解決問題。針對維護需求進行詳細評估,不斷進行修改完善,最后將完整開發版本和客戶進行交付,讓整個軟件開發項目圓滿結束。
八、結束語
對計算機軟件開發進行規范化操作,是計算機領域長遠發展的前期保障,同時也是軟件開發創新發展的基礎,在推動行業創新發展、專業技術水平研發上有著不可忽視的意義。在軟件開發工作中設置明確的標準、規范的行業準則、技術上的硬性指標,能夠在一定程度上促進軟件開發行業發展,增強相關人員的工作責任心。此外在提高軟件開發效率,加速軟件開發方面,還需要增強業務專家和技術人員的溝通交流,在版權方面進行控制,避免可能會因為版權問題出現的法律糾紛。在研發高水平的軟件過程中,要能夠滿足用戶的需求,還要切實維護軟件使用者的利益。規范化能夠有效促進市場平穩健康發展,能夠在一定程度上滿足社會經濟發展的需要,還能夠顯著增強我國軟件開發行業在國際市場中的競爭力,推動計算機軟件開發向更高層次的階段發展,在競爭日益嚴重的國際軟件開發市場中占據一席之地并掌握話語權。
參考文獻
[1]司利平.淺談Java在計算機軟件開發中的應用[J].電腦知識與技術:學術版,2021,17(24):2.
[2]時鳳燕.分層技術在計算機軟件開發中的應用[J].中國信息化,2021(3):2.
一、問題的提出
當前,我國職業教育面臨著拓展規模、提升能力水平兩大問題。拓展規模,需要在大力發展學校教育的同時,積極發展包括遠程職業教育、成人職業教育、終生職業教育(培訓D等社會教育;提升能力水平,需要提高職業教師的自身技能水平和教學指導能力,不斷改進教育教學方法。需要學校或培訓機構具備足夠的教學場地,購置大量的教學儀器設備和實驗實習材料,給教育受眾提供滿意的實操環境。而解決這些問題,均受到場地、資金42
等若干因素的制約。同時,從事職業教育的教師數量在短期內也難以滿足,教師個體素質在短期內也難以提升到理想狀態。特別是急需發展職業教育的廣大農村,對職業教育資源的需求日益強烈。
相對而言,我國高等教育經過改革開放后數十年的發展,無論是辦學規模還是辦學水平均有了較大幅度提高,社會影響力不斷增加。積極推行高等學校辦學資源的社會化、課程的公開化是實現“服務社會”的有效途徑。近年來,美國等高等院校的公開課已經風靡網絡,受到全世界網民的一致好評。美國高校教育教學資源的網絡化和社會化,為我國高等學校實現辦學目標和宗旨提供了可供借鑒的經驗。推進我國高校教育資源的網絡化和社會化,將為解決我國當前職業教育資源緊缺問題開辟一條嶄新途徑,可有效地解決職業教育受眾專業實習、實訓設備、設施及專任教師短缺等問題。
隨著我國PC機在公共場所、事業單位和家庭的逐步普及,以培養職業教育師資為重點任務的高等院校組織相關專業教學人員,對職業教育各專業內容進行科學組織,精心設計,利用計算機技術,以人機交互的方式將職業教育相關專業內容通過文本(texjU圖像(image、圖形(graphicS、音頻(aud〇、動畫(animatiori)、視頻(vide〇等多種方式,經單獨或合成的形態表現出來,形成適合社會不同教育受眾實際情況的系列教學軟件,并面向社會更加廣泛的地域和時空領域推行、傳授,可有效地實現職業教育面向人人的目標,為我國經濟社會建設培養更多的技能型實用人才。同時,可有效地激發教育受眾的學習興趣,方便學習者自己把握學習時間,選擇學習內容,實現“以人為本”發展職業教育的目標。通過仿真模擬實驗、實習等操作,可有效地解決目前基層職業教育設備少、實習材料短缺等問題,減少不必要的資金投入。教學軟件承載、支持并體現了一定的教育理念,通過多種表現形式和問題情景的創設,支持接受式學習、自主探索式學習等多種學習方式,必將促進教育受眾個性和諧地發展。
二、國內外開發及應用現狀
在教育教學中應用計算機技術,使教學手段、教學思路和教學體系乃至整個社會教育模式發生了深刻的變革。上世紀80年代以來,計算機技術的飛速發展為各類教學軟件的開發提供了強力技術支持。視窗操作系統(Windows的推出為軟件開發建立了開發平臺,多媒體技術的發展使教學內容的表現形式更加豐富多彩,網絡技術的快速普及使教學突破了空間限制。目前,各種教育教學軟件的開發技術已經躍進了一個新的臺階,在內容表現形式上更具趣味性和吸引力,在具體操作上更加簡便和人性化,在使用功能上更具多樣化和綜合化。2]特別是網上課程設計、網上課程協作和網上課程管理等各具特色開發工具的形成,使各種教育教學軟件開發技術水平日新月異,步入一個嶄新時代。美國StanfordUniversity自2001年起,就確定專門人員併有學生參與)對教授講授的課程進行加工,并及時放到網上,或供學生課外復習,或用于繼續教育,為校外在職人員學習提供方便。眾人皆知的美國ETSe繼英國IELTS考試在全球實現計算機化之
后,已在全球實現了和TOEFL考試的無紙筆化。隨著現代信息技術和與其相適應的教學開發技術的形成和發展,使教學軟件系統以其強大的功能迅速得到開發和應用,代表了現代教學技術的發展方向,成為教育改革的發展趨勢。
我國教學軟件的開發研究工作基本與世界發達國家同步,但由于起步初期受到計算機軟硬件技術發展水平及計算機普及率的限制,開發進度不快,技術水平不高,應用普及面不廣。上世紀90年代,CAI技術在我國蓬勃興起,引發了教育技術史上一次新的革命。典型的教學軟件代表作有“開天辟地”和“萬事無憂”等。進入新世紀后,基于當今世界先進的計算機軟硬件技術,將許多優秀的教育思想與教學方法以及教學基本策略以基元形式積聚成庫形成的“積件”(IntegrableWarf)模式,顯示出旺盛的生命力。計算機網絡教學技術的迅速發展,進一步拓展了教育空間。在市場需求的拉動下,各類教學軟件產品迅速涌入教育領域,每年全國教育教學軟件開發的投入達到數十億元。但是,目前的教學軟件開發,多集中于普通教育和幼兒教育,職業教育教學軟件開發的水平不高,開發速度不快,理論支持不足,鮮有推廣價值較大的產品。無論是職業學校,還是社會培訓機構及教育受眾,對具有較高制作技術水平的職業技術教育教學軟件的需求越來越強烈。
三、軟件應達到的技術標準
研究國內外教學軟件開發的歷史進程和開發過程,總結各地教學軟件開發工作取得的經驗和教訓,確定開發職業教育教學軟件應達到以下六項技術標準。
(一)實用性
實用性是職業教育教學軟件之本。質量上乘、效果良好的教學軟件,應該是一件精良的教學工具,是一個精準教學內容的集合,是一套精巧的計算機程序。教學軟件的實用性集中體現在軟件系統的實用性和軟件內容(數據庫的實用性兩個方面。軟件系統的實用性要求軟件應用現代計算機技術,能夠有效開發使教育受眾的多元智能,增強軟件使用效果。能夠利用各種認知理論,科學控制信息表達及信息流程等,有效增強教育受眾對學習內容的記憶;數據庫的實用性強調軟件開發在內容選擇上必須面向社會各個層次的教育受眾,符合市場需求和教育受眾的實際需要,體現職業性、技術性和實用性的統一,凡學術性、有爭論或不能運用到工作實際中的內容均不納入。
二簡便性
職業教育教學軟件面向全社會,必須簡便易行。(1)操作要簡單。軟件的操作方法應與目前社會流行的Windows等操作系統兼容,應讓軟件使用者不需任何專門培訓也會使用。在操作設計上,應盡力體現人性化。如在實施人機互動方面,均應在設置鍵盤輸入的同時,附加鼠標Option方式選擇。當然,也要為熟悉計算機操作的教育受眾提供多種輸入方式;(2操作要方便。在操作過程中,應該給學習者提供各種幫助功能。除在系統中設立幫助文件外,還要在軟件適當部位顯示出相關幫助信息,提醒學習者按照自己的意愿操作。當出現錯誤操作時,軟件也要主動提醒學習者,并指出正確的操作方式、方法。
(三交互性
人機交互能力的強弱,是職業教育教學軟件能否被使用者接受的關鍵,應作為開發設計的重點。;1)要讓軟件用戶對軟件的運行狀態具有高度的控制能力,如啟動、停止、內容的跳轉、參量的選擇以及避免死循環等;;2對教育受眾各種教學需求,應盡可能地體現在軟件功能中,設置若干喚起方式,以此保證用戶可自由取舍軟件的多數功能;(3建立符合常規、簡單明了、風格一致、反饋信息提示得當、容錯性良好的用戶界面,努力增強與使用者的親和力。如建立明顯交互標志,避免使用者盲目尋找各種功能特性等;;4要盡力為使用者提供更多干涉的機會,充分調動學習者的學習熱情;?盡力避免軟件使用者的誤操作將導致軟件系統出錯或鎖死等常見現象,使學習者能夠永久使用軟件,樹立學習信心。
職業教育教學軟件應是各個教學“積件”的集成。“積件”是一個教學素材或知識單元,幾個或多個“積件”組合成一個學習單元,幾個或多個學習單元可集成一套完整的教學軟件。這些單元即可以單獨作為教學軟件實用,也可與其他單元鏈接,構成一個課程的整體。每個單元都應是獨立的、完整的,并具有選擇性和靈活性,便于與常規教學中實施的學分制、工學交替等相對接。同一課程的所有單元都均為同一學科科目,各個單元之間具有平行、遞進、包容的邏輯關系,各個單元的排列組合,形成教學軟件的多級分支和多層頁面。為便于教育受眾使用,在軟件分支和頁面設計中,應盡力減少頁面層級,盡力在單一的界面內集成更多的對象、功能和特性,以便易于實現人機交互技術。
職業教育教學軟件面向社會每一個人,一定要避免固化教學過程,具有普遍適用性。;1)區別于傳統媒體技術和普通課件制作技術,職業教育教學軟件應盡力體現模塊化、智能化和交互性,確保結構清晰、適應性強;(2教學內容間的轉換(超文本鏈接)應盡力避免簡單的跳轉,或僅僅與傳統課堂教學過程相對應,應側重于交流和共享;(3)在運轉軟件的硬件要求方面,應確保軟件在普通PC機上就能運行,不需要特殊的設置和裝置;(4在增強軟件普適性的同時,還應注意軟件的安全性、系統運行的穩定性及測試內容、結果的保密性等,設置獨特的文件存儲方式,對相關保密內容進行加密處理,明確只有授權人員才能打開文件。
(六)智能性
職業教育教學軟件應特別注重軟件內部諸因素、諸對象之間的互動關系,注重知識建構的過程。目前,市場在售的部分教學軟件之所以難于被教育受眾廣泛接受,關鍵就在于過多的非教學因素影響了學習者的注意力。因此,職業教育教學軟件一定要做到界面美觀、簡潔、大方,即對學習者多元智能產生一定的刺激,提升學習效果,又不會影響教學主題。對一些較難理解的課程內容則應盡可能地使用聲、像等多種手段,以求最佳教學效果。尤其要重視對諸如工科類機械操作系統、商科類商業專題運作過程等的仿真智能環節設計,使學習者能夠在計算機軟件上的仿真環境中模擬練習,在奠定一定的操作基礎之后,再進實訓車間(或工廠實際操作。這樣,既可減少教學過程對機器設備等的損耗,還可以節約實習、實訓等材料,達到提高學習速度、降低學習成本的效果。
四、實施軟件開發的各個階段遵循開發、試驗、推廣“三步走”模式,將職業教育教學軟件的開發過程劃分為以下六個階段。4](一)可行性分析計劃階段組織相關開發人員深入職業院校、短期培訓機構、成人教育機構等進行市場調研,在認真聽取需求方對開發職業教育教學軟件的具體要求的基礎上,進行項目可行性分析股資效益分析),制訂開發計劃。要以文件的形式,把開發人員職責、開發進度、所需經費和所需計算機軟硬件條件等作出具體安排,以此開展、檢查各項工作。
(二軟件需求調研階段在確定開發某一教學軟件可行的情況下,需進一步對軟件需要實現的功能進行詳細分析,編寫出軟件需求說明書和數據要求說明書。通過編制軟件需求說明書,可為使用者和軟件開發者雙方對該軟件的初始規定有1個共同的理解,使之成為整個開發工作的基礎。其主要內容包括對功能、性能的規定等;通過編制數據要求說明書,可向整個開發過程提供關于被處理數據的描述和數據采集要求等技術信息。
(三軟件開發設計階段
根據需求分析的結果,對整個軟件系統進行宏觀總體設計和微觀細節設計,編寫概要設計說明書、詳細設計說明書、數據庫設計說明書和測試計劃等。概要設計說明書對程序系統做出設計,包括基本處理流程、組織結構、模塊劃分、功能分配、接口設計、運行設計、數據結構設計和出錯處理設計等;詳細設計說明書應說明軟件系統的各個層次中每1個程序(每個模塊或子程序的設計考慮;數據庫設計說明書應明確數據庫的所有標識、邏輯結構等;測試計劃應提出每項測試活動的內容、進度安排、設計考慮、測試數據的整理方法及評價準則等。
(四運行程序代碼實現階段在程序編碼過程中,應制定出統一、符合標準的編寫規范,以此保證程序的可讀性、易維護性,提高其運行效率。此階段應編寫模塊開發卷宗和用戶手冊(操作手冊)等。6]在模塊開發過程中,每完成i個模塊或一組密切相關模塊時就編寫出i份模塊開發卷宗,待開發工作結束后,把所有的模塊開發卷宗匯集在一起,為整個模塊進行管理和復審提供依據,為將來軟件系統維護提供技術信息;用戶手冊的編制可為操作人員提供軟件運行的基本知識以及操作方法細節等。
(五分段實際測試階段
教學軟件完成后要經過嚴密的測試,以發現軟件存在的問題并加以糾正。測試過程分為單元測試、組裝測試以及系統測試三個階段,采用白盒測試和黑盒測試兩種測試方法。在測試過程中,應建立詳細的測試計劃并認真落實,避免測試的盲目性和隨意性。隨著測試工作的進行,應把測試的結果、發現的問題等加以記載,編寫出模塊開發卷宗測試分析報告。為積累開發工作經驗,軟件開發結束后應及時編寫軟件開發總結報告。
(六)軟件運行與維護階段在教學軟件開發完成并投人使用后,由于多方面的原因,軟件可能出現不能繼續適應用戶要求、出現新問題等情況。以延續軟件的使用壽命為目的,或以服務于用戶為目的,均需要軟件開發者及時關注軟件的使用及運行狀況,并重點抓好糾錯性維護和改進性維護等工作。
五、軟件開發團隊的適宜組織方式開發高質量教學軟件,必須組建一支業務精良的專業隊伍,建立起功能齊全的組織體系,形成高效運轉的管理體制和運行機制。所有開發人員必須圍繞共同目標,依據各自職責,通力合作,扎實做好各項工作。
(一)以軟件功能為核心,合理配置研發人員確保軟件開發質量,需要建立一支教學設計、美術設計和程序設計與制作專業人才隊伍。參與開發的學科教師具體負責確定教學目標、教學設計及教案制定等工作,與其他開發人員一起分析課程內容、確定軟件功能結構、選擇媒體技術等;參與開發的美術設計人員在了解軟件開發基本思路與格調的基礎上,運用自己的“美術思維”對界面進行構思,達到美觀和諧的要求;參與開發的計算機專業人員負責具體技術開發工作,包括圖像、聲音、視頻等素材的運用,編寫模塊程序、調試修改等。此外,要注重發揮學生在開發教學軟件中的作用,充分發揮他們了解教學軟件優缺點的優勢,讓他們幫助測試軟件,盡可能多地發現錯誤和不足。
二強化交流協作過程,實現“可持續開發”
分析成功教學軟件的開發過程,發現其路徑并非為以“教案一腳本一軟件”為模式的單向流程,而是“市場基本需求一軟件原型一新的需求認識一新的軟件模型”這樣一個循環反復、逐步提升的過程。因此,不斷開發出優秀、實用的教學軟件,需要學科優秀教師和計算機專業人員經常深入交流,全面理解所開發軟件的各種特性,領會軟件開發的思路和意圖。計算機專業人員可向學科教師提出各種建議,幫助學科教師擴展思路,優化設計。此外,軟件開發人員在進行市場調查時,還應加強與軟件應用單位或個人的交流工作,充分征求他們的批評意見,實現認識不斷提升、技術不斷改進、內容不斷更新。
(三依據軟件內容,確定開發組織模式
職業教育教學軟件可大可小,可包括一門學科的所有內容,也可以是一個單元、一個知識點。較小教學軟件的開發,有的只需一兩個人,花幾個星期就能做完。但大的教學軟件,就需要一個專門工作班子,花更多的時間來開發。對容量較小的教學軟件,若學科教師(如計算機專業)計算機技術水平較高,可采用個人包辦模式;若學科教師對軟件設計與制作比較生疏,可以采用行政指定專業教師與計算機專業人員合作進行開發;若軟件開發已經形成了一定的基礎,則可鼓勵學科教師與計算機專業人員自行組成開發小組,形成自由組合開發模式;對一些現代教育技術推廣較好、軟件制作力量較強的學科,可采用由分到合的開發模式。先由學科專業教師自行制作單個知識點的“積件”,而后學校再組織人員對“積件”進行集合,形成大型教學軟件。
(四)立足現實條件,逐步建立良好的開發機制
關鍵詞:項目管理;Web;研究性學習;教學網站
Keywords:projectmanagement;Web;study;teachingwebsite
前言
軟件行業是一個極具挑戰性和創造性的行業,軟件開發是一項復雜的系統工程,牽涉到各方面的因素,在實際工作中,經常會出現各種各樣的問題,甚至面臨失敗。如何總結、分析失敗的原因,得出有益的教訓,對一個公司來說,是在今后的項目中取得成功的關鍵。
1.項目管理在軟件開發中的應用的成因
目前我國大部分軟件公司,無論是產品型公司還是項目型公司,都沒有形成完全適合自己公司特點的軟件開發管理模式,雖然有些公司根據軟件工程理論建立了一些軟件開發管理規范,但并沒有從根本上解決軟件開發的質量控制問題。這樣導致軟件產品質量不穩定,軟件后期的維護、升級出現麻煩,同時最終也會損害用戶的利益。
隨著軟件開發的深入、各種技術的不斷創新以及軟件產業的形成,人們越來越意識到軟件過程管理的重要性,管理學的思想逐漸融入軟件開發過程中,應用開發的項目管理日益受到重視。
2.軟件項目管理常見問題及解決方案
(1)缺乏項目管理系統培訓
在軟件企業中,以前幾乎沒有專門招收項目管理專業的人員來擔任項目經理,被任命的項目經理主要是因為他們能夠在技術上獨當一面,而管理方面特別是項目管理方面的知識比較缺乏。
解決方案:項目經理接受系統的項目管理知識培訓是非常必要的,有了專業領域的知識與實踐,再加上項目管理知識與實踐和一般管理的知識和經驗的有機結合,必能大大提高項目經理的項目管理水平。
(2)管理意識問題
部分項目經理不能從總體上把握整個項目,而是埋頭于具體的技術工作,造成項目組成員之間忙的忙、閑的閑,計劃不周、任務不均、資源浪費。有些項目經理沒有很好的管理方法,不好安排的工作只好自己做,使項目任務無法有效、合理地分配給相關成員,以達到“負載均衡”。
解決方案:加強項目管理方面的培訓,并通過對考核指標的合理設定和宣傳引導項目經理更好地做好項目管理工作。技術骨干在擔任項目經理之前,最好能經過系統的項目管理知識,特別是其中的人力資源管理、溝通管理的學習,并且在實際工作中不斷提高自己的管理素質,豐富項目管理經驗,提高項目管理意識。
(3)項目計劃意識問題
項目經理對總體計劃、階段計劃的作用認識不足,因此制定總體計劃時比較隨意,不少事情沒有仔細考慮;階段計劃因工作忙等理由經常拖延,造成計劃與控制管理脫節,無法進行有效的進度控制管理。
解決方案:計劃的制定需要在一定條件的限制和假設之下采用漸近明細的方式進行不斷完善。提高項目經理的計劃意識,采用項目計劃制定相關知識、技術、工具,加強對開發計劃、階段計劃的有效性進行事前事后的評估。
(4)溝通意識問題
在項目中一些重要信息沒有進行充分和有效的溝通。在制定計劃、意見反饋、情況通報、技術問題或成果等方面與相關人員的溝通不足,造成各做各事、重復勞動,甚至造成不必要的損失;有些人沒有每天定時收郵件的習慣,以至于無法及時接收最新的信息。
解決方案:制定有效的溝通制度和溝通機制,提高溝通意識;采取多種溝通方式,提高溝通的有效性。通過制度規定對由于未及時收取郵件而造成損失的責任歸屬;對于特別重要的內容要采用多種方式進行有效溝通以確保傳達到位,例如:除發送郵件外還要電話提醒、回執等,重要的內容還要通過舉行各種會議進行傳達。
(5)項目干系人問題
在范圍識別階段,項目組對客戶的整體組織結構、有關人員及其關系、工作職責等沒有足夠了解以至于無法得到完整需求或最終經權威用戶代表確認的需求;或者是多個用戶代表各說各話、昨是今非,但同時又要求項目盡早交付;項目后期需求變化隨意,造成項目范圍的蔓延,進度的拖延,成本的擴大。解決方案:項目的目的就是實現項目干系人的需求和愿望。項目干系人管理應當從項目的啟動開始,項目經理及其項目成員就要分清項目干系人包含哪些人和組織,通過溝通協調對他們施加影響,驅動他們對項目的支持,調查并明確他們的需求和愿望,減小其對項目的阻力,以確保項目獲得成功。
(6)風險管理意識問題
有些項目經理沒有充分意識到風險管理的重要性,對計劃書中風險管理的章節簡單應付了事,隨便列出幾個風險,隨便地寫一些簡單的對策,對于后面的風險防范起不到什么指導作用。
解決方案:通過學習項目管理知識掌握風險識別、量化、對策研究、反應控制的工具和方法,掌握項目風險管理所必備的知識。通過加強對項目規劃中風險管理計劃的審核提高項目組的風險管理意識。
總結本行業項目中常見的風險及其對策作為風險管理計劃中必要的風險內容,并切實評估相應對策的有效性和可行性。
(7)項目團隊內分工協作問題
項目團隊內部有時由于各階段不同角色或同階段不同角色之間的責任分工不夠清晰而造成工作互相推諉、責任互相推卸的現象;有時各階段不同角色或同階段不同角色之間的責任分工比較清晰,但是各項目成員只顧完成自己那部分任務,不愿意與他人協作。這些現象都將造成項目組內部資源的損耗,從而影響項目進展。
解決方案:項目經理應當對項目成員的責任進行合理的分配并清楚地說明,同時應強調不同分工、不同環節的成員應當相互協作,共同完善。
關鍵詞:移動應用軟件;智能終端;實踐教學;教學改革
隨著信息技術的快速發展,智能手機、平板電腦等移動電子產品越來越普及。移動智能終端的應用程序(即APP軟件)開發人才需求越來越多。手機應用軟件的開發作為一門新的技術,許多高校的計算機相關專業都開設了該課程。根據我校的該課程的實踐教學改革情況,進行討論。
1移動應用軟件開發技術的現狀
移動應用軟件開發依賴于移動終端操作系統,主流的移動終端操作系統平臺:Microsoft公司的Windowphone;Google公司的Android;Apple公司的iOS等。不同的硬件環境具有不同的移動操作系統,需要不同的軟件開發環境。常見的移動應用程序有三種類型:1)原生應用程序:原生應用程序是某一個移動平臺(比如iOS或Android)所特有的,使用相應平臺支持的開發工具和語言(比如iOS平臺支持Xcode,語言為Objective-C或者swift,Android平臺支持Eclipse或者Androidstudio,語言為Java),原生應用程序外觀和運行性能是最佳的。2)HTML5應用程序:HTML5應用程序使用標準的Web技術,通常是HTML5、JavaScript和CSS。這種只編寫一次、可到處運行的移動開發方法構建的跨平臺移動應用程序可以在多個設備上運行。但存在一些重大的局限性,具體包括會話管理、安全離線存儲以及訪問原生設備功能。3)Hybrid應用程序:把HTML5應用程序嵌入到一個的原生容器里面,集原生應用程序和HTML5應用程序的優點與缺點于一體。另外,微軟公司最近開發了Xamarin系統,它是用C#開發iOS、Android和WindowsPhone原生應用程序,一次開發,多平臺交付。下面對三項技術做一個對比總結:我們調研了北京地區的一些高校,各高校設置的移動應用軟件開發的課程名稱不盡相同,選擇的移動終端操作系統不同,內容也不同。我們學校最先選擇的該課程是J2ME開發。然后,學校在小學期(又稱為第三學期)安排了Android開發。為了不和小學期課程內容的重復,我們選擇iOS開發平臺,進行相關的實踐教學改革與探索。
2傳統移動應用軟件開發實踐教學情況
移動應用軟件開發實踐教學有一定的難度。移動應用開發與傳統的PC應用程序的開發的區別在于:一方面,采用交叉編譯環境,真機調試比較麻煩。調試另一方面,軟件開發技術發展太快,需要不斷地學習新技術。前期的實踐教學相對單調,缺乏實際應用的體現。在實踐教學,我們利用多媒體設備,在實驗室給學生進行簡要講解和演示操作,按照開發控件(組件)進行安排實驗,綜合設計型實驗相對偏少。這樣,移動應用軟件開發實踐教學中,學生自主創新的機會較少,積極性也不高。
3移動應用系統實踐教學改革
在實踐教學過程中,為了培養學習的興趣,不斷提高學生的主動性,我們從各方不斷地調整實踐教學,具體做了一下探索與改進:
3.1實踐課程內容改革
首先,移動應用程序充分利用移動終端的硬件資源。移動終端的硬件平臺多種多樣,每個平臺具有豐富的外部設備資源。這里的外設設備資源是指傳感器、無線技術、麥克風和攝像頭等。智能手機中最常見的傳感器包括加速度傳感器、陀螺儀、磁力傳感器、光線傳感器、指紋傳感器等。加速度傳感器能測量手機的加速度;陀螺儀提供精確的角度信息,利用它可以判斷手機在哪個方向上旋轉了多少度;磁力傳感器是指南針類應用用來判斷地球北極的傳感器;光線傳感器檢測環境的亮度;指紋傳感器通常被用作一種安全措施,蘋果iPhone的多款手機都配置有指紋傳感器。加強用軟件控制硬件的實踐教學內容。通過豐富的傳感器,去獲取一系列的參數,通過網絡和控制系統,控制一些外設。比如,利用無線技術(藍牙、局域網等)進行小汽車控制、機器人控制等。其次,加強移動應用程序利用服務器端的提供的API進行應用程序開發。目前單機版的APP越來越少,許多的APP都與后臺服務器進行通信。像百度、數據聚合等提供大量的API接口,鼓勵學生利用這些API接口開發一系列的應用程序。最后,適當引導學生進行游戲開發。游戲產業是移動應用開發的一個最新熱門發展方向。充分發揮學生的想象力,利用iOS的圖形圖像處理技術,鼓勵學生進行游戲策劃,并利用APP實現它。
3.2多樣化實踐教學形式
首先,引進社會培訓公司參與實踐教學。目前,社會上IT培訓機構很多,實力也比較強,比如:達內、千峰、火星時代、藍色互動、藍鷗科技等。他們的教學體系、實驗內容、項目實踐等很有特色,他們一直關注著該方向的前沿技術,這些都是值得我們學習的。我校和達內教育集團合作,利用他們優質的培訓教師和實踐的開發經驗,參與學校的實踐教學,是我們嵌入式軟件開發實踐教學改革的一個重要方向。其次,通過校企合作創新實踐教學基地的實踐教學形式。讓學生參與到科研項目和公司研發項目中,讓他們接觸到移動應用開發最先進的理念和開發技術。利用校企合作合作模式,探索新的實踐教學體系,培養學生科研能力和軟件工程項目開發能力,利用學校與企業兩種不同教育環境和教育資源,采用學校教育與企業實訓、實習的有機結合。在培養過程中,實踐教學過程處于突出位置。最后,科研競賽項目形式。移動應用軟件開發實踐教學按照軟件工程的項目管理的方式進行實踐教學安排,起到良好的教學效果。引入企業項目和教師科研題目,學生根據興趣結合所學習的知識和技術,選擇項目實踐課程。另外,社會上移動應用開發的競賽也比較多,組織競賽的部門有:教育部門、科技部門、行業協會、企業等。學生參與學科競賽,一方面給學生提供了學習新技術的機會,另一方面,學生積累項目了經驗,提高了協同工作能力。這樣,豐富了學生實踐課程形式,也提高了學生的學習興趣。
3.3實踐教學成績評價體系的改革與建設
首先,移動應用軟件開發實踐課程,采用項目驗收式評價。我們不斷調整學生學習的評價方法,一方面是公平公正地評價學生,另一方面,通過評價方式的調整,不斷提高學生的組織協調能力以及團隊協作能力等。實踐考核以項目答辯的形式進行,由實驗室教師組成驗收小組,小組每個成員針對自己所完成的內容進行答辯。其次,強調實踐過程的評價。移動應用軟件開發的實驗功能和性能的實現非常重要,考慮到整個實驗過程的復雜性,我們更強調學生的實驗過程和實驗態度,培養學生科學、認真負責的精神。最后,嚴格要求實踐報告的撰寫。撰寫實踐報告是大學生的一項重要的技能和素質,為以后的科學研究和項目的報告撰寫打下良好的基礎。
4實踐教學改革的成效
通過移動應用軟件開發實踐教學環節,學生進一步鞏固和加深了課堂知識,增強了實踐操作技能和實際項目研發能力。通過該門課程的實踐教學改革,我們對學生的進行了調研,通過對比發現:學生對該課程的興趣更高,學生對實踐教學評價越來越高,學生就業前景越來越好。
5結語
移動終端的硬件和操作系統的快速發展,移動應用軟件開發技術也在不斷地快速更新。移動應用軟件開發作為高校計算機和軟件等專業的一門重要課程,其內容也不斷的調整。這門課程的實踐教學改革也在不斷地推進,其教學方式和教學內容也必須與時俱進。
參考文獻:
[1]駱嘉偉,李瑋,殷櫻.移動應用開發課程的教學設計與實踐[J].計算機教育,2016(3):136-138.
[2]胡忠望,莫家慶.基于Android的移動應用開發研究[J].軟件導刊,2014(11):18-20.
[3]羅怡桂.基于問題解決的移動應用系統實驗教學實踐[J].實驗室研究與探索,2012(10):377-379.
[4]蘇含江.基于HTML5的移動應用開發研究[J].網絡安全技術與應用,2014(11):54,56.
[5]廖龍龍,路紅.《移動應用開發》課程建設研究[J].現代教育技術,2011(12):58-61.
[論文摘要]軟件質量的下降到導致了軟件危機,軟件工程正是為了保證軟件產品質量而誕生的。首先介紹軟件工程的相關概念和發展分類,然后對于軟件產品質量管理功能進行說明,最后指出軟件產品質量的保證一定要貫穿于整個軟件產品開發的整個階段,作為一個系統的工程來實現。
一、軟件工程介紹
軟件工程實質上是希望使軟件系統的開發能夠像工業品的生產一樣,通過一系列的標準和規范,利用科學的技術,方法,工具和管理手段,以達到用較少的時間,較小的開支獲得質量高,可維護性好的軟件產品,使軟件產品保持較高的競爭力。
隨著軟件工程的不斷發展,對軟件工程的研究逐漸劃分為兩個方面:
1.軟件工程技術。包括對工程化的開發方法,軟件開發工具與環境的研究。主要面對的問題有:適應需求分析的不確定性、軟件的可靠性和軟件度量等。軟件工程技術的發展出現了瀑布模型、快速原型法等方法,它們在國內外都有過成熟和成功的應用范例。隨著新的軟件開發技術的出現,出現了諸如面向對象的軟件工程等新的軟件工程開發技術,給軟件工程技術的研究帶來了新的研究方法。
2.軟件工程管理。包括質量管理,費用管理,配置管理等。主要面對的問題有:開發成本的控制、資源控制、質量的控制和進度的控制等。但是由于人們長期認為軟件工程的發展主要由軟件工程技術決定,所以導致了對軟件工程管理研究長期落后。
面向對象的思想可以使對現實系統的抽象更加直觀,更符合人類的感知和經驗,從而使從需求到分析到設計的過渡更加平滑和自然,還有利于整個軟件系統的重用和維護。面向對象的思想和技術發展迅速并日臻成熟,采用面向對象的思想和開發方法對解決大型軟件系統的開發和設計具有得天獨厚的優勢。
二、軟件產品質量管理
軟件質量的管理主要是對軟件開發過程的管理。目前國外的很多軟件開發企業,對軟件開發的管理已經成熟,相對而言,國內的軟件開發行業對軟件開發的管理始終處于比較低的水平。一方面是由于國內對軟件工程的研究起步較晚,另一方面是思想觀念陳舊,還沒有對軟件過程的一些先進思想,尤其是對軟件開發過程管理的思想予以高度重視。不過國內一些軟件開發企業的管理人員已經開始關注軟件質量的管理,甚至已經進行了軟件質量體系國際標準化認證的工作。
軟件的質量管理包括對軟件產品的管理和對軟件開發過程的管理。軟件產品包括最終的軟件產品、中間軟件產品和附屬軟件產品。傳統的觀點認為軟件產品的質量主要取決于軟件產品的測試和確認,而忽視對軟件開發過程的重視。但正確的認識是軟件質量來自于正確的軟件設計和正確的實現過程,而不是靠對軟件產品的保證和測試。因此軟件質量的提高依靠軟件質量管理水平的不斷提高。
ISO9000系列的標準起初是用于工業企業和工業產品的質量管理和質量認證。這一系列的標準認為“所有的工作都是通過過程來完成的”,它通過對產品質量形成的每個階段的控制來實現對最終產品質量的控制。由于軟件開發自身的特點,一些活動與開發過程的特定階段有關,而另一些活動則可能適合于整個開發過程。因此ISO9000系列標準中后來專門增加了一個指導性的文件,用于對ISO9000系列標準在軟件的開發、供應和維護中的使用提出指南。
三、軟件工程如何保證軟件產品質量
軟件開發所關心的問題是真正地將軟件工程技術納入工業化大規模的實施進程中,這種方法的關鍵要素包括在能支持漸進的變化的開發過程中,使系統的開發過程的各個階段能夠簡單易行、彼此平滑過渡,系統模型易于理解,易于維護,能夠最大限度地重用已有的成果。面向對象的技術為實現以上目標提供了強有力的支持。
日本的著名軟件質量專家KAORU ISHIKAWA指出了質量工作的六個特征:全公司范圍的質量控制;高層管理者和結構的質量控制監督;教育和培訓;質量周期活動;統計方法的應用;全國范圍的質量提高活動。
從中可以看出,質量提高必須是全企業甚至是全社會的責任。質量管理的目的在于最終消除一切可能的缺陷,缺陷產生主要來自工人和管理。由工人造成的缺陷比較容易解決,只要有培訓部門對工人專門培訓,讓工人知道去做什么,知道自己工作產生的結果,以及懂得控制結果的方法就可以阻止工人生產的產品出現缺陷。然而,管理產生的缺陷往往易被忽視。由于管理上的漏洞,往往會形成管理上的空缺,使工人無法滿足上述三個條件而造成產品缺陷。而且,軟件開發是一個漸進的過程,需求也是一個循序漸進的過程。對軟件產品的測試也不可能很全面,必然存在隱藏的缺陷。因此,一套有效的管理程序非常重要。
質量認證部門負責企業內部質量認證的工作,質量認證是對企業的質量管理水平進行評估的行為,分內部和外部認證。外部認證獲得通過后往往可以獲得國際上的質量認可,內部認證是一種主動行為,是對自身質量管理水平的考驗,能不斷提高企業自身的質量水平。
質量管理程序是提高過程質量的一套科學方法.產品質量的提高來自于對生產過程的不斷提高。對產品的測試和評估不能換回產品的質量,質量是在產品生產的每個階段中創造出來的。因此只有提高產品生產的整個過程的質量,才能真正地提高產品的質量。完善的軟件質量管理程序有以下幾方面的內容:
(1)軟件產品質量需求的建立。這種需求首先必須精確地反映用戶所有的需求,同時必須把這種需求轉化成形式化的標準的需求說明。最后,必須對需求的變更進行有效地控制。
(2)建立開發、操作、維護軟件的方法、過程和效率。方法的建立是指對用于開發、操作和維護工作的方法的定義,方法的實現是通過制定一套實施規范來完成的,方法的支持可以通過共同的協作管理實現。
(3)建立評價軟件產品質量的文件、過程、活動的方法、過程、實踐和程序。評價是從質的方面進行,度量是從量的方面進行。復查、評估測試、分析、檢驗等活動的目的在于確認產品是否符合相關的質量要求,過程是否按要求完成等。在評價和度量標準上ISO9000標準系列可以提供一套良好的手段和評價標準。
四、總結
軟件危機問題導致了軟件工程的產生,而軟件工程重點需要解決的問題就是軟件質量問題,對軟件產品質量的要求不能放到最后階段來完成,要在軟件開發的過程中采用面向對象方法和建立好的質量管理體系實現對產品的質量控制,同時結合ISO9000產品質量標準體系對軟件產品進行評價和度量,力求軟件產品在質量上能夠取得競爭優勢。
參考文獻:
[1]梁洪宜.計算機軟件質量和軟件質量保證.廣州大學學報(綜合版). 2001年5月.
【關鍵詞】軟件工程;課程設計;需求分析
一、引言
課程設計是指學生在學完相關課程后,綜合利用所學知識分析問題、解決問題、實現理論向實踐轉換的重要教學環節,也是對前期理論教學效果的檢驗。
軟件工程專業的大部分課程設計是有關軟件開發的。這就要求學生在設計過程中經歷一個完整的軟件開發流程:項目定義、分析、設計、開發、維護[1]。作為軟件開發過程中的一個重要環節,需求分析在實際的課程設計中由于各種條件的限制往往被忽略,沒有得到應有的重視[2]。針對這一問題,本文首先闡述了需求分析在軟件開發過程中的重要性,分析了軟件工程專業課程設計中需求分析階段存在的主要問題,并給出了相應的解決方案。
二、需求分析的重要性
軟件需求定義了系統必須具備的能力,即軟件能完成什么樣的功能,達到什么樣的性能,這種能力體現了用戶的需要和開發者對用戶需要的理解。軟件項目的開始,就是因為軟件需求的存在,需求是項目開發的基石。
一個項目成敗的關鍵因素之一就是對需求的把握程度,研究表明,軟件項目中大部分的問題都是在需求分析階段埋下的隱患,需求問題發現的越晚,軟件維護的開銷就越大。很多項目的失敗,也是由于需求分析的不明確而造成的,有些項目甚至是在需求沒有完全確認的情況下就開始執行了,這必然會導致成本浪費、進度延遲等嚴重問題。所以分析是軟件開發中最為基礎和重要的環節,是軟件項目邁向成功的第一步。
需求分析也稱需求建模,主要任務就是借助當前系統的邏輯模型導出目標系統的邏輯模型,解決目標系統“做什么”的問題,即對目標系統提出完整、準確、清晰、具體的要求[4]。分析用戶需求主要過程如下:
(1)以圖形描述系統的整體結構。
(2)為用戶提供可視化界面供用戶對需求做出評價。
(3)以模型描述系統功能、實體關系及狀態轉等內容[3]。
需求分析要保證需求明確,盡量避免需求描述不清楚、需求遺漏、需求互相矛盾等問題,避免在開發后期因需求問題對項目產生困擾。
三、課程設計中需求分析現狀
(1)學生重代碼,輕需求,急于完成可見的執行軟件,大大壓縮了需求分析時間。
(2)學生缺乏對所選課程設計題目相關的業務知識的了解,需求分析只是對需求的拼貼,不完善,不系統。
(3)教師缺乏實際項目經驗,對需求分析的認知只是停留在理論階段,不能在實踐上給學生以高水平的指導。
四、解決方案
針對以上問題,文中給出解決方案如下:
(1)一方面轉變學生對需求分析的認知誤區,強調需求分析的重要性,通過一些案例及調研數據讓學生了解忽視需求分析帶來的嚴重后果,讓學生重視需求。讓學生了解軟件項目開發工作和項目管理工作都與需求密不可分,如軟件項目成本估算、進度計劃、項目跟蹤控制、驗證、確認等工作都以需求為基礎;軟件設計、編碼、測試最終的目的都是為了提交一個滿足用戶要求的可執行軟件,用戶的要求主要就體現在需求分析的制品上。
另一方面增強需求分析的趣味性,讓學生主動參與需求分析,如選題上給學生充分的自主選擇權利,或者讓兩個同學選相同題目(分別做不同模塊),同組間進行需求分析競賽等。
在軟件開發過程中讓學生記錄并總結,自身項目中存在的那些需求問題,對項目產生了怎樣的影響,讓學生在實踐中體驗、總結需求的重要性,加深認識。
(2)題目選擇范圍上給學生更大空間,可從教師給定的題目中選取,也可學生自擬題目。因為課程設計的時間有限,需求又是一項要求精細、準確、全面的工作,所以在課設開始前至少一個月,讓學生預先選好題目,進行需求調研、分析工作。需求分析開始前,由教師預先規定應分析什么,如:軟件功能需求、性能需求、可靠性和可用性需求、接口需求、系統約束等;采用什么樣的分析方法,建立什么模型,如:功能模型、數據模型、行為模型等;及最終要形成軟件需求規格說明,該文檔模板由教師提供。任何軟件需求都離不開其涉及到的業務領域,因此也要要求學生對業務領域相關的標準模型進行分析和研究,對業界的一些標準和最佳實踐進行熟悉,對業務領域進行大量調研。這樣才能讓才能分析出真正的需求,否則需求就會脫離實際。
(3)作為教師不但要有扎實的理論知識,還應具有較強的實踐經驗,指導學生完成由理論知識向實踐技能的轉換。所以在選擇課程設計教師的一個重要條件就是教師要有軟件項目開發經驗及管理經驗[5],熟悉軟件開發的各個環節。若教師本身不具備這樣的能力,也可以通過加強教師培訓,讓教師到企業中實習的方式來提高教師實踐指導水平,通過考核的教師才可以指導課程設計。
五、結論
總之,需求分析是軟件開發過程中非常重要的一個環節,是項目所有活動展開的基石,在軟件工程專業軟件類的課程設計中,作為教師在這一環節應為學生提供有效的理論和實踐指導,讓學生理解需求分析的重要性,積極主動地做好需求分析工作,為后續的各項軟件工程活動展開打下良好基礎。
參考文獻:
[1] 秦放等.案例驅動與項目導向結合的軟件工程課程教學模式探討[J].計算機教育. 2013(9):87-90
[2] 陳杰.計算機專業課程設計中的需求分析[J].集美大學學報.2009(2):89-92
[3] 韓萬江等編著.軟件項目管理案例教程(第2版)[M].北京:機械工業出版社,2009.48
姓名:***
出生年月: 1984/12/09 學歷:本科 籍貫:四川成都
畢業院校:重慶工學院 專業:計算機科學與技術專業
畢業時間: 2007/07
聯系方式: 15008****** 028-87535*** email : qinju****@***.***
個人評價
熟練掌握 java 語言;了解面向對象的思想;熟悉軟件開發流程;具有良好的編碼風格;有良好的團隊合作精神和良好的溝通能力;做事積極主動能吃苦耐勞、能至始至終把工作放在首位;具有上進心、責任心、感恩心。
工作經歷
時間: 2007-03 至 2007-07
公司:東軟股份有限公司 部門:東軟商用事業部
工作職責:軟件工程師
項目名稱: *** 投信系統
開發語言: java 、 vb 開發工具: eclipse
項目總結:
在 *** 投信系統中 , 我的主要職責是通過客戶講解需求,寫詳細設計、編碼、寫測試書、測試。這是我的第一個項目,所以在這個項目中我學到了很多的大學里沒有接觸到的知識 . 例如 : 自動測試( junit )、 log4j 等等。在這個項目過程中,我發現自己的編碼風格、命名風格等有欠缺,所以我自學了《代碼大全 2 》中的第二、第三部分。
時間: 2007-07 至 2008-03
公司:東軟股份有限公司 部門:東軟商用事業部
工作職責:軟件工程師
項目名稱: *** 航空系統
開發語言: java orcal 開發工具: pl/sql eclipse
項目總結:
在 *** 航空系統中 , 我的任務是對多個客戶端發送過來的電文進行接收和解析,然后把電文傳給存儲過程,在存儲過程中把電文轉化為記錄存入數據庫。在這個系統中我學習到了如何把一種特殊的的日志從一般的日志中分離出來(把電文的日志與其他日志分離)、如何使用 dbunit 測試、如何使用游標,批處理,對 orcal 有了更深的理解等。我不僅學習到了以上專業的知識 , 而且讓我知道了團隊合作的重要性 , 讓我明白了要及時的與你的隊員一起探討式樣、一起研究解決方案。讓我明白了發現問題時,一定要及時的與領導或客戶溝通。做這個項目過程中,我發現自己對 java 的繼承,接口,設計模式方面理解的太膚淺,所以我報名培訓了《 thinkingjava 》、《設計模式》。
時間: 2008-03 至 2008-07
公司:東軟股份有限公司 部門:東軟商用事業部
工作職責:軟件工程師
項目名稱: *** 百貨店系統
開發語言: java 、 jsf 開發工具: eclipse activereport
項目總結:
在 *** 百貨店系統中 , 我的任務是做幾個 jsp 畫面和畫水晶報表。做這個項目我學習了樣式表 (css) 、 jsp 、 ajax 。利用 activereport 畫水晶報表是一個既費時又費勁的事,但它使我養成了做事要細心要有耐心的習慣。在這個項目中我發現自己 jsp 用的不太熟悉,所以我現在自學 jsp. 做完這個項目后,我的 web 開發能力有很大的提高。
時間: 2008-08 至 2009-03
公司:東軟股份有限公司 部門:東軟商用事業部
工作職責:軟件工程師
項目名稱: *** 汽車系統
開發語言: java 開發工具: eclipse
項目總結:
在 *** 汽車系統中 , 我的主要任務是對文件(汽車公司運送汽車后產生的輸送結果書)進行解析,并且把文件中的內容解析成單條的記錄,然后把記錄插入到多個關聯的表中 . 這個系統要針對多個公司,所以我在詳細設計時利用了模板方法模式。在這個項目中,對我學習的設計模式得到了應用 , 是我更加深入的理解了設計模式的各個模式。
專業能力
編程方面 :本人 熟悉 java 語言,精通軟件工程思想, 熟悉使用 js 、 jsp 、 css, 掌握 c 語言 , 數據結構,操作系統,計算機網絡、計算機組成原理,編譯原理等基礎知識,能熟練使用 vc++ 集成開發環境,熟悉軟件開發的流程。
數據庫方面 :熟練掌握基本數據庫理論知識,能熟練使用 orcal;
培訓經歷
2005/122006/01 華迪實訓基地 《社區管理系統》 職責:需求分析、編碼、測試
2007/032007/06 東軟集團 培訓內容: java 、軟件工程等。
2007/07 2007/09 東軟集團 培訓內容: thinkingjava 、設計模式。
個人證書
【摘要】基于遠程教育和終身教育理論,通過相關文獻及研究的查閱,首先分析了現有網絡教學平臺普遍存在的四個問題:主要包括"學習課程單向性、教學方式缺乏互動性、學習評價缺乏真實性、學習方式缺乏靈活性;設計了一個適合各種學習終端接入,適應不同教學情境的實時互動云計算教學平臺。主要由內容運營平臺、實時服務平臺和終端服務三個子系統組成。然后對教學節目單管理、協作平臺、版權保護三個關鍵技術的實現進行了闡述。提出了學習者身份確認、學習注意力監測、插播測試及評價的功能模塊;為開放課程學習的學分認證和認可做好技術準備,最后探討了平臺的應用情境與方式。
【關鍵詞】云計算 教學平臺 設計與研究
一、軟件教學云平臺建設的必要性
隨著IT產業的迅猛發展,軟件行業目前正處于高速發展期,對軟件人才的需求從過去在量上的追求轉變到現在在質上的要求,對軟件人才的要求越來越嚴格,而目前我國高校軟件人才培養普遍存在的問題是畢業生不能滿足企業對軟件人才的需求。隨著外包產業的發展,中國軟件企業對從基礎編程到項目管理的要求愈發提高。而軟件開發是一門應用性很強的學科,需要在實踐中體會。且軟件公司更愿意接受有經驗的學生實習,所以有自己的實踐教學環境是很有必要的。
二、軟件教學云平臺建設原則
(一)實踐性原則
軟件開發是實踐性很強的學科,許多理論和經驗都仍然需要實踐的繼續檢驗。所以,無論是從專業教學還是從理論檢驗和總結的需要出發都需要首先重視實踐性原則。
(二)全面性原則
軟件技術作為信息化產品,軟件技術與企業、個人、組織的生產、交換、生活等等方面相結合會產生大量的應用可能。同時圍繞著互聯網的技術創新、管理模式創新、經營模式創新、教學科研模式創新等等每天都在發生著。以傳授知識、訓練方法、探索可能的教學活動應該比較全面地將現有軟件開發技術作為教學內容展示給學生,使其在全面了解已有件開發技術的基礎上再進行思考和學習。
(三)系統性原則
缺乏系統性的原則和實驗指導思想,不采用體系化的教學實驗,軟件開發教學實驗就會成為零散的系統,僅僅針對某一個流程,或是某一項事務,這樣難以讓學生形成整體的全局的認識。所以,要把握系統性原則,構建體系化的軟件開發實驗系統。
(四)層次性原則
學習和研究需要逐步深入、循序漸進,尤其是軟件開發這樣的復合性學科,只有在較為全面和深入的知識準備后,才有可能對軟件開發的核心規律進行認識。并且軟件開發專業知識也有難易和簡繁之別,所以軟件開發知識的學習和實驗的開展必須相應地有從簡單到復雜、從單項到綜合、從專項到團隊的安排,要把握好層次性原則。
三、軟件教學云平臺建設邏輯架構與建設內容
(一)教學云平臺實驗室的邏輯構架
軟件技術教學云平臺實驗室包含三大模塊:軟件開發模塊、軟件工程模塊和管理平臺模塊。
(二)教學云平臺實驗室建設內容
軟件技術教學云平臺實驗室的建設內容分為三個部分:①軟件開發相關教學與實訓資源;②教學與實訓過程管理平臺-云博教育云教學平臺;③云計算平臺-云博教育云基礎桌面云平臺。
(三)教學云平臺實驗室運行架構
整個實驗室的運行依托于云計算平臺,將云計算平臺的計算資源與各種教學資源整合在一起,向用戶提供各種服務。調用資源的終端可以為PC、筆記本電腦、各種云終端和平板電腦。
四、軟件教學云平臺建設的實踐
(一)教學云平臺特色
(1)產品定位。可用于學院或者全校,能夠全面呈現各學院下各專業課程的教學過程進程和數據,方便教學管理。可與學校教務系統對接(如青果、正方、Blackboard等),配合教務系統將教學過程全程管理。平臺使用擬QQ界面,賬號與老師工號和學生學號結合,免培訓,操作簡單,使用便捷。
(2)產品架構。采用擴展性強,可支持大用戶量(如:全校3W+學生,每學期100W+條選課數據)的客戶端分布式架構,前臺客戶端,后臺瀏覽器訪問。標準化的云計算平臺接口,可將統一的上層應用需求擴展到多中云計算平臺上。提供第三方集成接口,可與考試系統、MOOC平臺、網絡教學平臺等高校其他應用集成。
(3)教學支撐。完善的教學課程安排,實現備課、作業布置、作業提交、檢查、評估等教學過程全面系統管理。教學資源庫開放,支持各種形式文件和多目錄復雜資源格式上傳,支持教師自身資源上傳,與平臺資源無縫整合,充分滿足教學需求。學生提交作業的無需下載,直接播放,方便老師批閱和打分。集成云桌面技術,可根據課程提供不同類型的實踐環境(Windows+Linux),實現單用戶、跨課程、多桌面。
(二)教學云平臺教學實踐意義
基于實驗室教學云平臺的項目教學法以學生為中心,以項目的合作探究為導向,以多元評價為手段,激發學生學習軟件開發知識的動機,提高綜合運用能力,適應現代社會的需要。在現行教學模式下,學生的主體地位沒有得到充分發揮,學生缺乏探索精神和實踐能力。基于管理平臺的計算機教學法重在改變學校計算機學科教學效率不高的現狀,采用項目教學法,改變傳統的教育觀念和學習觀念,逐步建立一套教師作為學生學習的指導者、合作者和共同發現者的教學模式,必將對傳統課堂教學改革產生巨大的推動作用。