時間:2023-03-29 09:26:41
序論:速發表網結合其深厚的文秘經驗,特別為您篩選了11篇軟件測試論文范文。如果您需要更多原創資料,歡迎隨時與我們的客服老師聯系,希望您能從中汲取靈感和知識!
從用戶的角度來看,普遍希望通過軟件測試暴露軟件中隱藏的錯誤和缺陷,所以軟件測試應該是"為了發現錯誤而執行程序的過程"?;蛘哒f,軟件測試應該根據軟件開發各階段的規格說明和程序的內部結構而精心設計一批測試用例(即輸入數據及其預期的輸出結果),并利用這些測試用例去運行程序,以發現程序錯誤或缺陷。
二、影響軟件測試的因素
影響測試效率的因素除了測試方法之外,主要因素還有人為因素、軟件類型、錯誤類型、測試充分度等。下面對這些因素作一個簡要分析。
1.人為因素
軟件測試中的許多工作是由人來完成的,因此,人為因素是影響測試效率的一個重要方面。這樣的差異并非偶然,這是因為測試人員在應用一個測試方法時具有很大的靈活性,從而使測試人員的經驗和學習能力可以有較大的發揮余地。所以只能采用越來越嚴格的測試方法和過程來有效地避免人為因素對測試效率的影響。
2.軟件類型
軟件類型也是影響測試效率的一個重要因素。即使是同一個測試者,測試不同類型的軟件的效率和發現軟件錯誤的能力也是不盡相同的。測試什么類型的軟件的效率較高則因人而異,這往往與測試者的相關知識、經驗與專業訓練有關。
3.測試充分度
測試充分度反映了一個測試是否得到了良好的執行,它直接關系到測試的效率。1993年Frankl和Weiss發現,只有當充分度十分接近100%時,才能使測試發現錯誤的能力得到發揮。因此,在測試軟件時,必須設法使充分度十分接近100%,否則將難以保證測試質量。
三、加強對測試工作的組織和管理
隨著軟件開發規模的增大、復雜程度的增加,以尋找軟件中的錯誤為目的的測試工作就顯得更加困難。然而,為了盡可能多地找出程序中的錯誤,生產出高質量的軟件產品,加強對測試工作的組織和管理就顯得尤為重要。
從軟件的生存周期看,測試往往指對程序的測試,這樣做的優點是被測對象明確,測試的可操作性相對較強。但是,由于測試的依據是規格說明書、設計文檔和使用說明書,如果設計有錯誤,測試的質量就難以保證。即使測試后發現是設計的錯誤,這時,修改的代價是相當昂貴的。因此,較理想的做法應該是對軟件的開發過程,按軟件工程各階段形成的結果,分別進行嚴格的審查。
雖然測試是在實現且經驗證后進行的,實際上,測試的準備工作在分析和設計階段就開始了。
1.測試的過程及組織
當設計工作完成以后,就應該著手測試的準備工作了,一般來講,由一位對整個系統設計熟悉的設計人員編寫測試大綱,明確測試的內容和測試通過的準則,設計完整合理的測試用例,以便系統實現后進行全面測試。
在實現組將所開發的程序經驗證后,提交測試組,由測試負責人組織測試,測試一般可按下列方式組織:
(1)首先,測試人員要仔細閱讀有關資料,包括規格說明、設計文檔、使用說明書及在設計過程中形成的測試大綱、測試內容及測試的通過準則,全面熟悉系統,編寫測試計劃,設計測試用例,作好測試前的準備工作。
(2)為了保證測試的質量,將測試過程分成幾個階段,即:代碼審查、單元測試、集成測試和驗收測試。
(3)代碼會審:代碼會審是由一組人通過閱讀、討論和爭議對程序進行靜態分析的過程。會審小組由組長,2~3名程序設計和測試人員及程序員組成。會審小組在充分閱讀待審程序文本、控制流程圖及有關要求、規范等文件基礎上,召開代碼會審會,程序員逐句講解程序的邏輯,并展開熱烈的討論甚至爭議,以揭示錯誤的關鍵所在。實踐表明,程序員在講解過程中能發現許多自己原來沒有發現的錯誤,而討論和爭議則進一步促使了問題的暴露。例如,對某個局部性小問題修改方法的討論,可能發現與之有牽連的甚至能涉及到模塊的功說明、模塊間接口和系統總結構的大問題,導致對需求定義的重定義、重設計驗證,大大改善了軟件的質量。
(4)單元測試:單元測試集中在檢查軟件設計的最小單位-模塊上,通過測試發現實現該模塊的實際功能與定義該模塊的功能說明不符合的情況,以及編碼的錯誤。由于模塊規模小、功能單一、邏輯簡單,測試人員有可能通過模塊說明書和源程序,清楚地了解該模塊的I/O條件和模塊的邏輯結構,采用結構測試(白盒法)的用例,盡可能達到徹底測試,然后輔之以功能測試(黑盒法)的用例,使之對任何合理和不合理的輸入都能鑒別和響應。高可靠性的模塊是組成可靠系統的堅實基礎
(5)集成測試:集成測試是將模塊按照設計要求組裝起來同時進行測試,主要目標是發現與接口有關的問題。如數據穿過接口時可能丟失;一個模塊與另一個模塊可能有由于疏忽的問題而造成有害影響;把子功能組合起來可能不產生預期的主功能;個別看起來是可以接受的誤差可能積累到不能接受的程度;全程數據結構可能有錯誤等。
2.測試的人員組織
為了保證軟件的開發質量,軟件測試應貫穿于軟件定義與開發的整個過程。因此,對分析、設計和實現等各階段所得到的結果,包括需求規格說明、設計規格說明及源程序都應進行軟件測試?;诖耍瑴y試人員的組織也應是分階段的。
(1)軟件的設計和實現都是基于需求分析規格說明進行的。需求分析規格說明是否完整、正確、清晰是軟件開發成敗的關鍵。為了保證需求定義的質量,應對其進行嚴格的審查。
(2)設計評審:軟件設計是將軟件需求轉換成軟件表示的過程。主要描繪出系統結構、詳細的處理過程和數據庫模式。按照需求的規格說明對系統結構的合理性、處理過程的正確性進行評價,同時利用關系數據庫的規范化理論對數據庫模式進行審查。
由于實時嵌入式軟件主要是對外部接口設備進行控制,而被送檢的軟件需要大量不同的硬件環境,在進行測試時,由于無法建立大量不同的接口設備的硬件仿真環境,每當執行輸入輸出指令時,程序便無法繼續運行,因此,測試軟件無法完整地覆蓋整個程序的各個分支和語句。同時,被測試軟件常常需要多個模塊同時對某個外設進行共同測試,需要通過網絡環境進行集中測試。
為了完成對各種實時嵌入式軟件的測試工作,我們研制開發了基于網絡的接口設備的軟件仿真環境,使得用戶程序運行時不再需要真正的接口硬件設備,而是與仿真軟件進行通訊,交換數據,從而使得被測程序在脫離硬件的環境中順利運行。本課題主要解決C語言和匯編語言混合編程中,把所有原來控制外設的輸入輸出指令都修改成與仿真軟件進行通信的函數,同時,把原來由硬件觸發的中斷處理功能轉由軟件觸發,以及通過網絡環境完成多模塊的集中測試。
本課題的意義在于建成一種通用的方法,使得不同軟件開發的程序都能夠使用這些功能模塊與接口仿真軟件進行通信,從而順利地進行軟件測試。
被測軟件的運行環境絕大多數是基于DOS的,在仿真環境下進行測試時,由于原來的硬件環境不再存在,因此要求對被測軟件進行相應的修改,使其在一個新的系統模型當中運行:原來與硬件進行I/O的指令,變成對仿真軟件通訊動態鏈接庫中函數的調用;由硬件觸發的中斷信號變成來自仿真軟件的消息;更重要的是,原來由CPU負責調度的中斷服務函數必須由新的模型來負責(因為不再有硬件中斷信號),而由于DOS是一個單任務的操作系統,系統模型需要解決以下的問題:系統如何在程序運行的時刻檢測到通過網絡發過來的“中斷信號”,如何中斷當前的程序,去執行相應的中斷服務函數,如何具有中斷嵌套的功能。
基于以上要求,系統模型采用以下兩種:
基于DOS的多任務調度系統模型
基于Windows多線程環境的系統模型
2.基于DOS環境的多任務調度模型
2.1實現原理
想要在DOS環境下實現多任務調度,必須使每個任務具有自己的堆棧。首先,棧用來實現任務切換,其次,它用來存貯任務的局部變量。
任務的切換是通過調用一個子程序來實現的,該子程序將堆棧指針由原來指向老任務的堆棧置為指向新任務的堆棧。程序返回時,新的任務指令指針(IP)就從棧中彈出。新任務就開始自動開始執行。
這個負責調度的子程序是通過時鐘中斷來定期觸發的。當產生時鐘中斷時,需要做兩件事情。首先,將標志(Flags)寄存器的內容壓入棧中,其次,緊跟在指令指針(IP)之后,將CS(代碼段)也壓入棧中。最后,將中斷服務子程序的段地址裝入CS寄存器中,將偏址裝入IP寄存器中.這樣可以使ISR開始運行.中斷返回時,CS,IP和Flags寄存器的內容自動彈出。為了實現任務的調度,新的時鐘中斷服務函數要完成兩項工作。首先,它將除了棧指針(SP)和棧段(SS)寄存器之外的所有寄存器的值都存到棧中。(SP和SS的值存在另外的位置)。其次,它改變SS和SP寄存器的值,使它們指向另一個任務的堆棧。因此,當ISR返回時,新的任務的堆棧被彈出到各寄存器中,這使得機器的狀態是針對新的任務的。由于IP中也是彈出的寄存器的值,因此新任務就開始執行。
在任務運行前,它必須按一定方式使堆棧初始化,這樣使得當第一個時間片到來時,從棧中彈出的值能夠使該任務從頭開始運行。因此,任務的堆棧必須初始化并存放正確的寄存器值,同時指令指針也必須指向程序中的第一條指令。
2.2調度內核實現所用到的數據結構
interrupt類型
當說明一個函數為interrupt類型時,它告訴編譯器自動保存所有寄存器(sp和ss除外)的值,并且IRET指令終止該函數。每當進入到interrupt函數時,執行下列指令:
pushax,pushbx,pushcx,
p
ushdx,pushes,pushds
pushsi,pushdi,pushbp
發生中斷時,CPU自動將Flags,cs和IP寄存器壓棧。因此,在interrupt函數入口處,堆棧如圖2.2.1.2所示。我們將利用interrupt函數的棧的安排方式對要執行的任務的堆棧進行初始化。
Bp<-topofstack
DI
SI
DS
ES
DX
CX
BX
AX
IP
CS
PLAGS
任務中使用的寄存器的數據結構
typedefstructint_regs{
unsignedbp;
unsigneddi;
unsignedsi;
unsignedds;
unsignedes;
unsigneddx;
unsignedcx;
unsignedbx;
unsignedax;
unsignedip;
unsignedcs;
unsignedflags;
};
此結構嚴格按照interrupt函數入口處堆棧的結構定義,初始化時,將結構中的代碼段(CS),指令指針(IP)設置成構成此任務的函數的段地址和偏移地址。
用于任務管理的數據結構
structtask_struct{
unsignedsp;
unsignedss;
unsignedchar*stck;
unsignedLastTask;
unsignedIntNum;
unsignedStatus;
}
當執行任務切換時,sp和ss保存當前棧指針和堆棧段地址,而任務調度程序將當前棧指針(_SP)和棧地址(_SS)設置成下一個將要執行的任務的棧指針和棧地址,當調度程序結束運行時,由于從棧中彈出的各個寄存器,包括代碼段和指令指針都是指向新任務的,因此,新任務將自動運行,從而達到任務切換的目的。
2.3應用多任務調度功能實現對中斷的仿真處理
由于被測試的用戶源程序是工作在仿真環境下,無法接收硬件產生的中斷信號從而自動執行相應的中斷服務程序。因此,改編后的程序應該能夠定期檢查是否有從仿真軟件發過來的中斷信號,若有,則中斷當前程序的執行,轉入相應的中斷服務函數執行。
因為用戶的程序當中顯式地設置中斷向量,在改寫用戶的程序時,將每個中斷服務函數入口都置于一個向量數組當中,此數組即為全局中斷向量表,將任務號與相應的中斷號一一對應。
當時鐘中斷觸發任務調度程序時,調度程序首先檢測由仿真軟件發來的中斷信號,如果有,則調度程序在當前運行的任務的數據結構中保存堆棧段段地址寄存器(_SS)、棧指針寄存器(_SP)、當前任務號,并將堆棧段段地址寄存器和棧指針寄存器設置成新的中斷服務程序所在的任務的相應的值,使得當調度程序返回時,能夠從新的任務開始運行。然后生成一個新的任務,在此任務當中調度對應于此中斷號的中斷服務程序這樣就可以實現中斷功能。
3.基于Windows多線程環境的系統模型
3.1實現原理
考慮部分由C語言編寫的實時嵌入式程序經過適當的修改可以由VC編譯后,在Windows環境中運行。因此可以利用Windows的多線程特性構造系統模型:把用戶的主函數放在系統初始化時生成的一個主線程當中運行,同時,系統主函數監測由Socket端口發來的數據,如果是一個中斷產生信號,系統主函數掛起當前正在執行的線程,新生成一個新的線程,并在新線程中執行相應的中斷服務函數。
3.2系統的結構
由于CSocket類不能夠由各個線程之間共享,而各個線程內部又要通過Socket端口接收和發送數據,因此應建立高效而又防止各線程之
當線程需要通過Socket接口收發數據時,首先檢測/設置相應函數的信號量,若此資源不能使用,則線程被自動掛起。系統的主調函數負責輪詢來自Socket接口的數據以及各個信號量資源,當資源可用時,喚醒相應的線程,完成其請求的操作。如果接收到中斷產生信號,則生成新的線程,并掛起當前的線程,從而完成對中斷請求的響應。
4.結束語
本文介紹了針對實時嵌入式軟件的測試工具的研究與完善工作,根據不同的軟件特點,
構造了兩種系統模型。通過實際的使用,都達到了比較滿意的結果。
這兩種系統模型經過適當的修改,可以應用在其它語言編寫的軟件上,從而可以實現通用的模塊功能。
參考文獻
呂強楊季文等C語言的DOS系統程序設計清華大學出版社
李沐孫TURBOC常駐內存實用程序及窗口式軟件編程技術北京科海
陳宗?;贑/S體系的工業過程仿真模型調試環境.計算機應用.1999,4
國際互聯網的快速增長,使WEB技術對商業、工業、銀行、財政、教育、政府和娛樂及我們的工作和生活產生了深遠的影響。許多傳統的信息和數據庫系統正在移植到互聯網上,電子商務迅速增長。因此,電子商務應用系統的測試也變得十分重要,它對軟件測試提出了新的挑戰,要求采用新的測試方法展開軟件測試工作。這種對應用系統的測試不但能檢查是否滿足設計的要求,還需要能測試系統每個層面是否正常,確保系統的整體性能、安全性和可用性滿足需要。
一、典型系統結構
隨著電子商務的興起,Web方式的應用系統發展迅速,它將成為電子商務技術領域的主流。在電子商務應用系統中,目前普遍采用的是三層C/S結構,即表示層、業務層和數據層。這種結構使軟件測試人員能采用“局部分層測試”和“系統整體測試”想結合的方法,對應用系統進行測試。即先對每一層進行獨立的測試,再開展系統整體測試,這樣更容易發現應用系統缺陷和錯誤。如果僅僅依賴系統測試,要確定存在問題的特定部件十分困難。
二、局部分層測試
1.表示層。測試表示層就是檢查并應用程序的前端是否存在錯誤。本層次是應用系統的外表,因此,表示工作對建立一個健壯的、高質量的應用系統至關重要。
(1)內容測試。內容測試用來檢驗Web應用系統提供信息的正確性、準確性、相關型等人機界面元素,信息的正確性是指信息是可靠的還是誤傳的,例如,在商品價格列表中,錯誤的價格可能引起財政問題甚至導致法律糾紛;信息的準確型是指是否有語法或拼寫錯誤。這種測試通常使用一些文字處理軟件來進行,例如使用MicrosftWord的“拼音與語法檢查”功能;信息的相關性是指是否在當前也面可以找到與當前瀏覽信息相關的信息列表或入口,也就是一般Web站點中所謂“相關文章列表”。此外,還要檢查字體類型、屏幕布局、色彩、圖形分辨率及其他直接會影響最終用戶體驗的特性。
(2)Web站點結構。測試Web站點的結構是檢查結構上存在的錯誤,發現無效的連接。鏈接測試可分為三個方面。首先,測試所有鏈接是否按指示的安陽確實鏈接到了該鏈接的也面;其次,測試所連接的頁面是否存在;最后,保證Web應用系統上沒有孤立的頁面,所謂孤立頁面是指沒有鏈接指向該頁面,只有知道正確的URL地址才能訪問。
(3)用戶環境。測試用戶平臺和瀏覽器。市場上有很多不同的操作系統平臺,最常見的有Windows、Unix、Macintosh、Linux等。Web應用系統的最終用戶究竟使用哪一種操作系統,取決于用戶系統的配置。這樣,就可能會發生兼容型問題,同一個應用可能在某些操作系統下能正常運行,但在另外的操作系統下可能在會運行失敗。此外,要測試瀏覽器。瀏覽器是Web客戶端最核心的構件,來自不同廠商的瀏覽器對Java、javascript、ActiveX、plug-ins或不同的HTML規格有不同的支持。另外,框架和層次結構風格在不同的瀏覽器中也有不同的顯示,甚至根本不顯示。操作系統(OS)和瀏覽器的組合非常多,不僅要測試每一個瀏覽器的配置,還要測試同一個瀏覽器的不同版本。
2.業務層。業務層測試的重點是發現應用系統的業務邏輯中的問題。測試業務邏輯層與測試單機程序非常類似,通過測試去檢查應用系統是否滿足系統性能方面的需求。
(1)性能測試。主要負載測試,即帶負載情況下的響應時間和吞吐率。負載測試是為了測量Web系統在某一負載級別上的性能,以保證Web系統在需求范圍內能正常工作。負載級別可以是某個時刻同時訪問Web系統的用戶數量,也可以是在線數據處理的數量。此外,還要進行夜里測試。壓力測試是測試系統的限制和故障恢復能力,也就是測試Web應用系統會不會崩潰,在什么情況下會崩潰。
(2)數據驗證。測試從用戶采集到的數據,通常是以表單形式。當用戶給Web應用系統管理員提交信息時,就需要使用表單操作,例如用戶注冊、登錄、信息提交等。在這種情況下,我們必須測試提交操作的完整性,以校驗提交給服務器的信息的正確性。如果表單只能接受指定的某些字符,測試時可以跳過這些字符,看系統是否會報錯。如果Web應用系統使用Cookies通常用來存儲用戶信息和用戶在某應用系統的操作,當一個用戶使用Cookies訪問了某一個應用系統時,Web服務器將發送關于用戶的信息,把該信息以Cookies的形式存儲在客戶端計算機上。
(3)業務測試。測試系統的業務處理過程的正確性,其中包括信用卡處理、電子郵件驗證以及消費稅計算等。電子商務系統必須在全部的時間里正確處理業務,無一例外。因此,要通過測試確保業務處理的正確性。
3.數據層。數據層的測試,主要是指對應系統用于儲存和獲取信息的數據庫管理系統的測試。在Web應用技術中,數據庫起著重要的作用,數據庫為Web應用系統的管理、運行、查詢和實現用戶對數據存儲的請求等提供空間。在使用了數據庫的Web應用系統中,一般情況下,注重數據庫操作的響應時間、數據存儲的完整和數據庫系統的容錯。
(1)響應時間。應量化數據操作語言(DML,包括結構化查詢語言SQL中INSERT、UPDATE和DELETE)、查詢(SELECT)及事物的完成時間。電子商務系統運行速度緩慢會引起客戶不滿。因此,我們應該積極確保網站能夠及時響應用戶的請求和操作。在測試數據層的響應時間時,我們要確保單個的數據操作能夠快速完成,不至于阻塞其他操作。
(2)數據完整性。驗證數據存儲適當且正確。所謂數據完整性測試,即在數據庫表中發現不準確數據的過程。這項測試與數據確認有所不同,后者在測試業務層時進行。數據確認測試試圖發現數據收集中的錯誤,而數據完整性測試是盡力要在數據存儲的方式中發現問題。
(3)容錯性和可恢復性。最大化平均故障間隔時間(MTBF),最小平均故障恢復時間(MTTR)。一般來說,數據庫操作的一個目標是最大化MTBF,最小化MTTR。
數據庫的恢復具有重要意義。可恢復性測試的目標是設計出數據庫無法恢復的場景出來。在某些時間,數據庫會崩潰,因此須制訂一些規程以便快速恢復?;謴陀媱濋_始于獲得有效的備份,在進行可恢復性測試時,如果無法恢復數據庫,那么需要修改備份策略。
三、系統整體測試
1.整體界面。整體界面是整個Web應用系統的頁面結構設計,是給用戶的一個整體感。例如:當用戶瀏覽Web應用系統時是否感到舒適,能否找到信息所在地方,整個Web應用系統的設計風格的總體效果。
對整體界面的測試過程,其實是一個對最終用戶進行調查的過程。一般Web應用系統采取在主頁上做一個調查問卷的形式,來得到最終用戶的反饋信息。
2.安全性。安全性測試區域主要有:
(1)現在的Web應用系統基本采用先注冊,后登錄的方式。因此,必須測試有效和無效的用戶名和密碼,要注意到是否大小寫敏感,可以試多少次的限制,是否可以不登錄而直接瀏覽某個頁面等。
(2)Web應用系統是否有超時的限制,也就是說,用戶登錄后在一定時間內(例如15分鐘)沒有點擊任何頁面,是否需要重新登錄才能正常使用。
(3)為了保證Web應用系統的安全性,日志文件是至關重要的。需要測試相關信息是否寫進了日志文件、是否可追蹤。
(4)當使用了安全套接字時,還要測試加密是否正確,檢查信息的完整性。
3.導航。導航描述了用戶在一個頁面內操作的方式。在一個頁面上放太多的信息往往起到與預期相反的效果。Web應用系統的用戶趨向于目的驅動,很快地掃描一個Web應用系統,看是否有滿足自己需要的信息,如果沒有,就會很快離開。很少有用戶愿意花時間去熟悉Web應用系統的結構,因此,Web應用系統導航幫助要盡可能地準確。
導航測試就是檢查應用系統的頁面結構、導航、菜單、連接的正確性。確保用戶知道Web應用系統里面的內容,以及內容所在位置。
四、結束語
在未來電子商務領域,Web軟件的測試是一項重要而富有挑戰性的工作?;赪eb的系統測試與傳統的軟件測試不同,它不但需要檢查和驗證是否按照設計的要求運行,而且還要測試系統在不同用戶的瀏覽器的顯示是否合適。因此,我們必須為測試復雜的基于Web的系統不斷研究新的方法,滿足軟件開發人員的需要。
參考文獻:
[1]AnnScblosser.TheexperienceandWebsitesuccess[J].TheE_businessReview,2003,41(6):20
控制流分析主要是以控制流關系為依據來對軟件進行測試。其中控制流關系可以對程序原色以及程序元素的執行秩序所具有的關系進行敘述,在軟件測試中,控制流關系可以被繪制為控制流圖,控制流圖中的程序元素使用節點來表示,節點與節點之間使用弧線來進行連接,如果一個輸入能夠引發一種路徑的執行,則這條路徑被認定為是可達的;數據流分析是以程序和程序元素之間的數據訪問行為來進行測試,軟件程序同樣可以用數據流圖來表示,并使用未定義信息、變量定義等來進行標記。如果程序語句執行中的一個變量得到了分配的值,則可以認定這個變量已經被定義。這種分析方法可以被引用到測試數據聲場、異常檢測以及代碼優化等檢測方法中;代碼檢查是一種十分有效的軟件測試形式,這種測試形式的優勢在于可以將軟件中存在的30%~70%的編碼錯誤或者邏輯設計錯誤檢查出來。
在使用代碼檢查形式進行軟件測試的過程中,要求測試團隊包括開發者、審查負責人、閱讀者以及協調者。開展審查的目的在于在發現軟件錯誤的基礎上降低軟件返工成本,相對于計算機測試而言,代碼檢查的優勢在于能夠在一次審查后找到多種缺陷,而計算機測試需要在發現錯誤后進行改正,由此可見,代碼檢查形式能夠有效降低系統驗證的工作量。
(二)動態測試分析。軟件測試中的動態測試分析在是否對被測軟件進行執行方面與靜態測試分析是相對應的。在軟件測試工作中,動態分析的內容主要包括以下幾點:一是內存處理與內存泄露。對于內存錯誤或者程序沒有釋放已經不能使用的內存的內存泄露問題,這些問題都有必要通過設計測試用例來對存儲或者使用目標是否得到滿足作出監測;二是常見運行錯誤的檢測,如空指針產生的未知錯誤、編譯器截斷處理產生的問題、很難發現的數據溢出問題等;三是覆蓋率分析。覆蓋率分析主要是對軟件的完整性進行度量。通過對覆蓋率數據的了解,能夠得知對軟件所作出的測試是否全面以及測試工作中是否存在問題等,從而使軟件的測試工作者能夠有依據地對軟件測試工作作出改進以實現軟件測試質量的提高。在覆蓋率分析中,能夠利用的工具有很多,但是在測試過程中,要避免對100%覆蓋率的追求,雖然在足夠的時間以及資源支撐下覆蓋率可能達到100%,但是顯然,要達到這種數據,需要測試工作投入過大成本,從軟件設計的成本控制來看,這是完全沒有必要的。因此在覆蓋率分析工作中,測試工作人員有必要根據軟件設計需求來設定覆蓋率標準,并在這種覆蓋率標準下對覆蓋率數據進行測定與分析。
在軟件設計中,80%的軟件錯誤存在于20%的軟件代碼中,因此,在滿足成本控制要求的基礎上,有必要將代碼靜態分析和覆蓋率分析結合起來,通過找出容易產生錯誤的軟件代碼并進行覆蓋來減少覆蓋分析工作需要投入的時間成本與經濟成本;四是性能分析。所有軟件都具有著效率目標以及性能目標。即軟件需要在特定的配置環境和負載中表現出合格的吞吐率與響應時間,所以軟件性能分析主要是檢查軟件程序能否達到性能目標,或者找出軟件程序不能達到性能目標的原因。性能分析的主要內容包括對程序的計算處理進度、響應時間、占用空間、最大負荷、資源利用率以及并發程度等;五是安全性分析。安全性測試是對軟件本身的保密性以及安全性作出測試,為了確保測試的有效性,軟件安全性測試有必要在軟件實際使用環境中進行測試,其中的主要內容包括針對軟件的關鍵部分開展單獨的測試與分析、對軟件規避安全風險的措施有效性作出測試與分析、對軟件避免被非法訪問的能力作出分析、對軟件中與安全性有關的冗余、容錯、算法以及數據結構保護和中斷處理方案等作出測試與分析。
二、軟件測試工作質量的提高策略
(一)測試人員及早介入。為了實現軟件測試質量的提高,軟件測試人員需要在軟件設計開展初期就介入到軟件測試工作中,從而更加準確地對測試對象以及測試需求作出了解。在此過程中,測試人員應當以設計出全面且出色的測試設計、設施規劃為出發點對軟件產品作出深入了解,特別是了解軟件中對于客戶來說最為關鍵的部分以及風險最大的部分,并將精力放在對這些部分的檢測中,從而使軟件測試工作有重點。其中缺陷預防要求軟件測試人員能夠根據測試需求使用合理的測試技術來避免軟件錯誤和問題遺留到軟件設計的開發后期。缺陷預防工作的開展效率在需求階段最高,因為這一階段在發現問題后并不需要對軟件作出過大的改動,從而避免給軟件設計以及軟件測試等工作帶來成本壓力和工期壓力。
1、1變電站管理
變電站管理功能按照不同電壓等級、間隔名稱,分層次多級目錄管理若干裝置??尚陆?、打開和關閉變電站工程;支持在人機界面中輸入裝置地址發起連接請求創建裝置;支持裝置重命名、排序、復制、粘帖和導入導出等操作。以層次樹的資源管理器方式展示變電站結構。裝置分離線和在線兩種狀態,離線模式下可進行數據分析、離線定值設置、主畫面編輯等操作,在線模式下可進行程序維護、狀態瀏覽、數據歸檔收集等操作。
1、2裝置程序維護保護測控裝置調試軟件設計與實現上傳配置文件、日志文件等文本??刂品较掳l需要上裝的文件名,監視方打開文件,并分段上傳數據,到達文件尾部后給出結束幀標記,控制方將數據存儲到文件。上裝是下載的反向過程。在程序運行調試過程中,往往需要通過調試相關變量進行狀態診斷。在調試上位機程序時,可以使用IDE或gdb等進入調試狀態,設置斷點并查看變量值。嵌入式裝置在運行狀態下,監視相關變量時不能隨意切換到調試狀態,而是將調試變量作為一個實時響應的處理線程。通過調試變量協議,控制方下發需要調試的變量名,裝置側獲取相關變量的地址信息和類型后,訪問變量地址,讀取數據,周期上送變量值,控制方顯示實際值。調試變量的關鍵步驟是獲取變量的地址,全局變量可以通過分析編譯器形成的map文件獲取,對于動態分配的內存,則需通過輔助手段實現。為此制定相關嵌入式程序編程規范,用結構體元件來封裝各功能模塊數據。元件結構體的內存是動態分配的,編譯器在編譯時沒有為其分配靜態地址,map文件里沒有這些變量的地址信息。需要在裝置啟動階段才能得到變量地址。對于動態分配內存的結構體變量,裝置側提供注冊接口,可記錄首地址。調試軟件根據輸入的元件結構體類型名、成員變量名、文件存放路徑和CPU字節對齊等信息,對相關的文件進行詞法分析和語法分析,進行宏表達式求值,計算出變量在結構體中的偏移量,并下發相對偏移信息。裝置側程序由結構體首地址+變量的相對偏移地址得到變量的真正地址。調試人員只需輸入層次實例名,不需手工計算變量地址,調試軟件在計算相對地址時已考慮了各種CPU的字長對齊設置。調試變量的流程如圖3所示??赏ㄟ^查詢內存的功能實現一次查看連續區域內存數據??刂品娇上掳l查詢起始絕對地址,監視方一次回復若干個字節的內存數據。也支持通過下發變量名的方式查詢內存。
1、3在線瀏覽操作在線瀏覽的通信協議基于繼電保護國際標準規約IEC60870-5-103協議[6],可以實現不同廠家的設備、后臺的交互通信,減少了私有協議轉換過程,方便運行管理和維護。其協議結構如圖4所示。類結構圖如圖5所示。在線瀏覽操作功能包括:裝置模擬量開關量實時顯示、裝置定值整定和比較、可編程邏輯編輯和狀態顯示、事件查看、動作報告顯示、波形文件上傳和分析、HMI遙控模擬、信號復歸等。通過在線瀏覽模塊,可實時顯示裝置的狀態數據、參看監視報文、分析跳閘邏輯、查看并設置定值、開關分合遙控等操作。其中涉及到遙控、定值整定、報告清除等關鍵操作,需要輸入用戶名和密碼,進行權限校驗。以定值設置整定為例,其報文交互流程如圖6所示。
1、4一鍵歸檔分析通過一鍵歸檔操作,批量上裝日志文件、配置文件等文件,自動截取裝置當前的斷面數據(包括裝置模擬量、狀態量、定值、報告、用于問題診斷的特定變量等內容),將各分立文件壓縮存儲為一個數據包。當現場運行的裝置出現異常或跳閘動作時,通過一鍵歸檔,可自動打包相關數據,并以郵件方式發送到指定郵箱,裝置研發人員可離線打開查看分析。
2軟件風格設計
2、1基于軟件管家模式由于軟件功能復雜,采用了模塊化設計思想,進行分層、分模塊設計,以去除界面、數據、接口之間具體耦合,方便擴充。調試軟件由引導主進程和按照功能劃分的子進程組成。如圖7所示,引導主進程是安裝軟件的啟動程序,提供變電站資源管理器功能,在左側樹形區域點擊裝置節點時,會在右側按照模塊劃分,分類顯示相關功能。點擊功能圖標,傳入形參,啟動獨立的子進程。通過組件化的設計思路,可確保增加一個新的模塊時,不會影響已經穩定的模塊。基于子進程的軟件管家模式,也減少了人機界面的操作復雜度,用戶在一個時間段內只需專注于單一圖4在線瀏覽報文協議結構圖5在線狀態瀏覽類結構圖圖3調試變量流程圖2《工業控制計算機》2014年第27卷第11期的功能,并可快捷地切換到另一個功能的操作界面。
2、2類瀏覽器界面風格當各個子進程啟動后,為避免頂層窗體過多,采用類似Chrome的界面風格,用標簽頁管理子進程的界面。對各子進程的界面、顏色進行了統一設計,基于QT-CSS技術,設計了統一的界面風格庫,并提供風格設置接口,可設置標簽頁QTabWid-get、層次樹QListTreeWidget、停靠欄QDockWidget等控件的邊框、縮進、標題、字體、顏色等內容。類瀏覽器的界面規范使不同人員開發的子進程在風格上高度統一。
3軟件分層設計
除按照主進程-子進程的模塊化設計外,單個通信子進程按照分層原則設計,共分為三層,最底層為數據收發層,中間層為數據處理層,最上層為展示層。如圖8所示:圖8軟件分層結構數據收發層的功能是負責從裝置接收報文并將數據處理層的報文發送到裝置。針對不同類型的裝置,該層需要支持串口通信、以太網鏈路層通信與以太網傳輸層通信三種通信方式。同時為了保證通信狀態的可靠性,數據收發層還支持出錯重傳及超時重傳機制。其中網絡通信采用ACE中間件實現,串口通信采用Qt的QExtSearialPort實現。數據處理層是整個系統的主體部分,主要負責報文解析,報文生成,提供接口供展示層調用,實現了業務與操作接口的分離。展示層提供數據的展示與用戶交互功能,不涉及具體的業務流程處理。針對不同的數據,展示層提供二維表格、層次樹等不同的展示方式,采用Qt的Model-View模式,可高效快速顯示刷新數據。展示層還提供個性化的右鍵菜單、按鈕與工具欄。當用戶點擊某個菜單或按鈕時,展示層會調用數據處理層的對應接口,對用戶的操作進行處理。
4結果
實現與分析軟件主界面如圖9所示:左側為資源管理器,用來管理變電站,變電站下支持新建多個裝置。右側為工作區,用來展示當前活動裝置支持的功能。圖9軟件主界面點擊工作區某個功能按鈕,主進程將啟動相應的子進程。以在線瀏覽功能為例,圖10所示為裝置報告查看界面。
前言
現階段,計算機得到人類社會的廣泛應用,在這種情況下,人們在對其進行充分運用的過程中,對其軟件安全性的要求越來越高,然而現階段這一問題多種多樣,如軟件動態破譯問題、安全漏洞和質量問題及非法復制問題等,要想利用計算機促進人類社會的不斷進步,就應當有針對性的對這些問題進行解決,提高使用者對計算機的信用度。在制定計算機軟件防護策略的過程中,可以從技術層面、組織管理層面等分別進行提高。
1 計算機軟件概述
1.1 含義
計算機在日常工作中,要想得到正常的系統運行,需要內在程序及文檔共同發揮作用而進行,而這些文檔和程序的總稱就是軟件。它們實際上擁有不一樣的含義,程序指的是相關數碼編制,具有系統性和特定性等特點。而文檔指的是能夠幫助使用者更好的熟悉和掌握計算機程序的軟件,它能夠對相應的數據資料進行詳細的說明。這兩種軟件在計算機中存在不同的功能,程序是計算機運行使用的基礎,是計算機的必備軟件,而計算機在正常運行狀態下,是可以脫離文檔的。
1.2 分類
而計算機軟件的分類,從整體上來看有兩種,即系統軟件和應用軟件。首先,系統軟件。計算機要想維持正常的運行,是絕對離不開不同的操作系統,這就是系統軟件,其功能是管理及調節不同的硬件,促使其在計算機系統中相互協作,正常運行。這種軟件是由基礎操作工具和操作系統組合而成,如軟件連接、驅動管理等。可以說,計算機的這一組成是促使使用者、計算機及其內部操作系統緊密相連的基礎,促使三者在運行過程中構建為統一整體,在這一整體運行中是可以忽略掉其內部硬件的運行?,F階段市場上主要的系統軟件寶庫UNIX、Windows等。
其次,應用軟件。這類型軟件在使用過程中以達到某種用途為目的,通常狀況下它以特定的形式展現自身的功能,如圖像瀏覽器等,這種功能表現相對單一;同時還有系統功能的展現,如Office辦公軟件等,同時還包括人們熟知的數據庫管理系統,這一軟件系統的組成包含幾個獨立程序。現階段人類開發出來了多種應用軟件,最常使用的有工具軟件、游戲和管理軟件等。
2 計算機網絡信息安全的含義
在信息技術飛速發展的背景下,網絡技術逐漸取得進步,在一定程度上極大的完善了技術機的網絡體系。但是計算機網絡的構建單純依靠研發相應管理空間或者促使硬件設備簡單實現對接是無法完成的,這是因為該網絡的構建最主要的目標是能夠為使用者提供更加完善的服務,這就要求網絡中能夠容納大量的使用者信息和數據,同時能夠更加快捷的促進資源共享。這些信息和資源,一旦發生泄漏將會給使用者帶來極大的損失。因此在計算機使用越來越普及的狀態下,構建計算機網絡信息安全成為人們廣泛關注的話題。而要想實現真正意義上的安全,最大限度的保護用戶信息,現階段信息技術的發展,其最主要的工作內容就是實現軟件安全。
現階段,針對計算機網絡的信息安全問題,IOS將其定義為要充分采取有效措施來保護網絡內計算機的硬件、軟件、使用者信息和數據等,有效防止因意外、惡意操作,造成的信息資源泄露或篡改,只有做到這一點,才能夠促使互聯網在長時間內為人們進行服務的過程中,始終保持著高度的穩定性和安全性,從而為人類帶來更加快捷、便利的生活。
計算機的網絡安全包含物理和邏輯安全兩個方面。前者指的是應用物理保護措施促使計算機硬件及網絡連接部位始終處于安全工作狀態,減少因意外導致的數據或信息丟失;后者指的是計算機網絡系統在日常工作中應處于整體的維護和正常工作狀態下,這樣一來能夠極大提高整個系統的完整性,促使信息泄露的可能大大降低。在這種狀況下,安全性在軟件當中的體現成為最重要的因素之一,這是因為計算機軟件在日常工作狀況中,不但可以對別人實施攻擊也可以有效的提高自身安全性,起到保護自己的作用。
3 計算機軟件安全問題
3.1 對軟件的動態破譯
在運行過程中,安全問題對軟件的威脅就是計算機軟件安全,在解決這一問題的過程中,首先應當有效防護軟件,保證其運行過程中沒有被人為的濫用、破解及隨意修改等現象,這樣一來,就能夠確保其工作狀態中充分發揮自身的功能。從技術角度來觀察這一問題,就要構建一個穩定平臺,包含所有系統硬件,從而實現軟件的正常使用;同時還應當加強防護措施,嚴禁跟蹤事件的發生,此時就應當對監測、干擾及隨意修改軟件的行為進行嚴格控制。
計算機軟件自產生之日起,就面臨著各種跟蹤及控制的問題,一些掌握計算機技術的人員能夠直接修改和讀寫計算機中的不同格式文件,在將其源代碼進行竊取之后,會對計算機的密鑰和防復制能力進行破壞,這樣一來就能夠動態破譯任何一個軟件,不法分子會在接下來的工作中將一些數據公開或非法買賣。
計算機中的跟蹤調試軟件具有強大的動態跟蹤功能,現階段該技術能夠有效的進行跟蹤程序并保證其逐條運行,其中主要使用的是斷電中斷和單步中斷兩種技術,分別以靜態和動態跟蹤兩種形式進行。在靜態跟蹤當中,可以對反編譯工具進行充分的運用,在此基礎上能夠實現源代碼的產生,從而促使分析工作更加便利;動態跟蹤當中,是對調試工具的充分運用,這樣一來能夠在某處促使程序得到中斷,從而實現其單步執行,達到跟蹤的效果。從以上兩點可以看出,對軟件的動態破譯是計算機軟件的一個重要安全問題[1]。
3.2 安全漏洞問題
開發軟件是一項復雜而系統的工作,其中包含了大量的限制性因素,這就導致現階段計算機中所使用的軟件或多或少都會存在一定程度上的漏洞,嚴重威脅軟件的安全,但是這一現象即使是現階段世界頂級的計算機軟件開發公司也無法對其進行全部避免。也就是說,日常工作及生活過程中,計算機軟件始終都存在安全漏洞,有些時候無法得到安全運行。近年來,多發軟件安全事件當中,多數都是由于安全漏洞引起的,即使多數使用者會將殺毒軟件和防火墻等安裝于計算機當中,但是這一問題始終無法被完全杜絕,這是因為當防護軟件不斷發展的過程中,那些專門實施軟件破壞的技術工作者也在不斷的摸索,也就是人們常說的“網絡高手”。同時,當使用者在計算機當中安裝防漏洞軟件時,很可能導致更多軟件漏洞的出現[2]。
3.3 非法復制問題
在時代的不斷進步中,知識密集型產品被大量研發,計算機就屬于這一類型,這一特點導致大量的人力和物力將被應用在對計算機軟件進行研發和使用的過程中。在計算機軟件的研發中,很多硬件在使用過程中所創造的經濟效益甚至遠遠低于其研發成本。然而,現階段非法復制問題卻嚴重威脅著大量的計算機軟件。具調查表明,近年來,每年都有非法盜版的現象發生,這些盜版軟件導致一百三十多億美元的損失出現,并且這一損失數據每年都在上升?,F階段,世界上各國都開始對非法盜版及復制問題加以高度的重視,并對該現象造成的法律、稅收等問題進行了一定程度的解決,而這一過程是非常艱難的,在我國這種發展中國家的狀態下,現階段并沒有相對完善的管理措施,我國社會受到了非法復制問題的嚴重影響。
4 計算機軟件防護策略
計算機軟件在研發的過程中,不僅需要耗費大量的人力和物力,同時其所研制出來的產品屬于知識密集型,從這兩個角度來看,是值得人們對其給予高度尊重的?,F階段在加強計算機軟件防護的過程中,人們不僅可以從法律的角度對其進行嚴格而強行的約束和管理,從技術層面和組織管理層面加強防護措施具有重要意義,因為這樣一來能夠更有效的制約軟件的動態破譯、安全漏洞和非法復制等問題。
4.1 技術層面的提高
技術層面的提高可以從非法復制的防止開始?,F階段我國在保護軟件的過程中還沒有足夠大的力度,開發商所采取的措施是加密。然而為了追求經濟效益,大部分已經被破解的軟件仍然沒有停止使用,而它所帶來的危害就是會將多數捆綁后臺程序進行啟動,來威脅用戶數據。這樣一來,相關行業領域應及時加強技術研究,有效研制出防止非法復制出現的軟件,促使其在對計算機軟件進行充分保護的同時能夠對計算機軟件產生較小的威脅。同時也可以從對用戶數據進行加強保護的方面入手,加強密鑰的研究[3]。
在對反跟蹤技術進行研究的過程中,由于該技術是對調試工具進行充分利用,那么就應當研發相關技術防止該工具被非法利用?,F階段計算機的軟件系統當中,都具有一定的結構特點,對于CPU的嚴重依賴,導致一旦該軟件被監控,就會泄漏大量的信息,在這種情況下,應及時將該技術中的安全漏洞進行消除,同時對反跟蹤技術進行完善,最大限度的實現對軟件的保護。
4.2 組織管理層面上的提高
計算機軟件防護策略中,國家應充分發揮管理職能,不僅要構建專門的單位或部門,還應當對軟件開發商進行嚴格的管理,這樣一來,就能夠保證軟件從研發之日起一直到被使用者進行使用,都能夠受到嚴格的監督及管理,從而有效的防止非法復制問題。
相關部門在加強組織管理的過程中,專業的軟件安全監督機構的設立是非常必要的,以專題小組的形式進行非法復制和動態跟蹤,能夠極大的提高打擊力度,同時還應當提高對使用者使用過程的管理,嚴格限制軟件的拷貝和移植等[4]。
4.3 防火墻技術的應用
保護計算機軟件過程中,首要工作內容就是對專業殺毒軟件的應用,同時值得注意的是,另外一個關鍵技術措施就是對防火墻技術的應用。該技術使用者在應用電腦訪問相關網絡時,電腦內部網絡有時會受到外部網絡的不正當攻擊,防火墻技術的有效應用,最顯著的效果就是能夠對外部網絡不必要的攻擊進行預防和阻止,促使電腦中相關軟件免受威脅,從而始終處于正常運行狀態??梢哉f系統內部是否能夠穩定運行是防火墻正常工作的重要內容。當電腦內部網絡被部分用戶訪問時,防火墻的功能是始終維護自身系統的正常運行;當電腦內部網絡被非法訪問時,防火墻的功能是對其進行有效攔截?,F階段,世界上研發出來的防火墻技術具有較高的穩定性和可靠性,因此得到了較廣泛的應用,黑客入侵狀況逐漸減少,安全性始終存在于電腦軟件系統網絡當中。
4.4 加強硬件系統安全防護
在維護計算機系統安全的過程中,對其硬件系統進行加強防護具有重要意義。使用者在日常工作和生活中對電腦和網絡的使用,需要記憶硬件系統高度的重視。這是因為,硬件系統一旦發生安全威脅將會從兩個方面進行,即物理安全和設置安全。前者指的是機柜或交換機等物理設備發生安全問題,這需要使用者在日常工作中提高管理和維護力度,促使電腦免受外力的影響而發生破壞;后者指的是有效設置設備,硬件受到外來入侵的幾率就會大大降低。
4.5 數據加密技術的應用
在實施計算機軟件安全防護策略的過程中,現階段最后的防御手段就是對數據加密技術的充分應用。該技術在使用過程中能夠有效的促使一個網絡系統始終處于安全狀況之下,同時在針對部分重要而機密性的信息和數據進行保護時,這一手段也是最有效的方法。要想有效處理這一問題,使用者可以對相關文件進行加密,使用密鑰,文件經過加密后,會形成某列無法及時識別的代碼,這樣一來,只有熟知代碼的人員才能夠在輸入密碼以后對其進行訪問,也才能夠清楚的看見文件的真實內容。在這種情況下,數據加密技術的有效應用能夠實現對計算機軟件的有效管理和保護。
5 結束語
當今時代是信息技術時代,人們在對計算機進行充分運用的過程中應注重對其軟件安全問題的研究,從而提高使用者使用過程中的安全性?,F階段軟件安全問題最嚴重的有軟件動態破譯問題、安全漏洞及非法復制等問題,在對其進行解決的過程中,首先要加強技術研究,通過提高技術水平來對其進行有效控制,還可以提高管理力度,同時防火墻技術、硬件系統的保護及數據加密技術的應用都能夠促使計算機軟件得到安全防護,現階段促使相關部門能夠有針對性的對各種問題進行加強解決同樣具有重要意義。
參考文獻
[1]于翔.揚州智能電網信息平臺的安全防護研究[D].華北電力大學,2012.
[2]姚軼敏.校園網不安全信息檢測系統的設計與實現[D].蘇州大學,2010.
[3]吳塍勤.對計算機軟件安全問題的分析及其防御策略[J].電腦編程技巧與維護,2013,2:87-88+109.
[4]陳宏,朱秀娟.計算機軟件安全問題的分析及其防御措施研究[J].河南科技,2014,1:5+15.
[5]張建宏.基于復雜網絡的計算機病毒傳播模型及其并行計算研究[D].國防科學技術大學,2006.
[6]熊雪波.計算機軟件安全問題的分析及其防御措施研究[J].電子技術與軟件工程,2014,22:231.
[7]劉濤.試論對計算機網絡信息和網絡安全及其防護策略[J].信息與電腦(理論版),2012,9:2-3.
中圖分類號:TP434文獻標識碼:A文章編號:1672-7800(2012)010-0200-02
基金項目:銅仁學院2011年教學改革項目(2011)
作者簡介:蒲天銀(1974-),男,碩士,銅仁學院計算機科學系副教授,研究方向為項目管理、信息安全;饒正嬋(1976-),女,碩士,銅仁學院計算機應用研究所講師,研究方向為項目管理、數據挖掘。
0引言
當前,軟件工程作為一個相對年輕的獨立學科,在高校受到越來越多的關注,不僅如此,軟件工程作為一種產業已成為軟件發展的關鍵技術。因此,作為一名當代大學生,想要成為合格的信息技術人才,掌握一定的軟件工程新技術、新方法是必不可少的。
隨著現代計算機技術的飛速發展,軟件業也得到了很快的提高,為跟上世界信息技術發展的步伐,從20世紀80年代起,我國大多高校在計算機科學與技術專業人才培養方案中開設了軟件工程基礎,此門課程一般安排在三年級進行,課程的開設對學生在大學四年的軟件理論掌握中取得了不錯的效果。但縱觀近幾年來高校的畢業設計可以看出,在實踐性教學和教學效果檢驗等方面還存在著不少問題。課程教學中從教材的選用上看,重理論輕實踐的現象比較突出,學生畢業后往往通過要用人單位長時間培訓后才能適應崗位的要求,使得高校教育與社會的實際需求的脫節;造成了資源的嚴重浪費。
高校培養人才的目標是以社會需求為導向,計算機專業人才的培養也不過如此,學校的教育教學應該圍繞這個導向定位來組織教學內容和配備教學資源。隨著軟件工程技術的發展,軟件工程領域的教學內容不斷豐富,教育教學手段日新月異,教學改革已勢在必行。
1軟件工程教學的現狀概述
在計算機科學與技術本科專業的課程體系中,軟件工程作為一門基礎課程來開設,很多高校選擇教材均為由清華大學出版社出版、張海藩教授編著的《軟件工程導論》。教師在課程教學中,一般采用講授與實訓相結合的教學方法,即課堂上由教師講授理論、原理,實訓時由學生動手設計一個項目。由于該教材以理論內容為主,因此,該課程的教學存在諸多的問題,具體表現在:
(1)從教學內容上看,由于教材的局限性,目前的軟件工程教學是以傳統的教學方法為主,實驗內容以生命周期法體系為主要內容,這樣容易造成學生的學習時效性差,跟不上信息產業技術發展的步伐,大多新技術還沒有傳授給學生,特別是近幾年新發展起來的構件技術、234建模技術。傳統教學方式在課堂上主要講授理論知識,學習者似乎能聽懂,可聽完后大部分學生還是似懂非懂。當學生在實訓中進行設計時卻不知從何入手,該運用什么知識、哪種方法。
(2)實踐環節少且不夠理想??傮w來講,目前在軟件工程實訓環節可供該課程選用的合適的項目不多,所以學生做實驗所達到的效果與教學要求存在一定的差距。一方面是學生不能把理論知識有效地運用到實踐活動中;另一方面學生沒有真正掌握基礎理論及運用理論的技能和方法。所以,在進行畢業論文設計時,不能將軟件工程的理論充分運用到他們的設計實踐中去,導致很多學生選題時無從下手,不知怎么做,大多學生即使選擇了軟件開發,但在開發的軟件和撰寫的文檔在結構、內容等方面錯誤百出。
(3)教師問題。目前,除專門的軟件工程學院的院校外,大多開設有計算機專業的綜合院校軟件工程課程的主講教師本身也是一個問題。由于軟件工程這門課程對授課教師的素質要求高,它不僅要求教師對工程內涵本身有深刻的理解,還要求教師必須要掌握一定的軟件開發經驗和一定的項目和工程背景,這樣教師才能從自己的開發實踐中理解軟件工程的基本原理與方法,講授時才能將理論與實踐相結合,學生能直觀地感覺到該門課程的重要性,從而產生強烈的學習興趣。正是因為以往教學中存在的這些問題,導致教學效果不明顯,并直接影響學生的就業競爭力。
2高校畢業設計現狀
目前大多高校計算機專業畢業設計不很理想,具體表現在兩個方面:
(1)從學生方面看,首先是學生入學后,通過3年的學習,學生在前三年級中一般都較為系統地學習了計算機軟硬件方面的知識,并進行了實驗、課程設計等多方面的訓練。但由于大多實驗、課程設計等實踐訓練屬于考查范圍,有一些學生抱著一種得過且過的心態,沒有達到既定的學習目的,這樣就造成既沒有扎實的理論知識,也沒有較強動手能力的尷尬局面。同時,目前大多高校將學生選題時間定在四年級第一學期,學生在導師的指導下準備畢業設計內容。但由于指導教師考慮到學生就業等實際情況,平時并沒有對學生進行嚴格的時間要求和進度管理,很多學生直到畢業離校時才倉促完成任務,整個論文也是東拼西湊、質量不高。
(2)從指導教師方面看,首先是選題問題,指導老師把關不嚴,很多同學由于沒有扎實的專業基礎,30%左右的同學不敢選擇設計類的問題,選擇設計類的項目同學也存在問題,有的題目過大,如銀行管理系統的開發,有的題目過小,如搶答器的設計;其次是指導過程不科學,在設計環節中,不論是軟件開發還是硬件設計,大多同學只注重核心功能的實現,而忽略培養學生規范的設計過程及良好的設計習慣,使得畢業設計沒達到對學生的鍛煉價值。比如,在進行軟件開發時只注重功能的實現,沒有認真進行需求分析、設計方案的討論、設計書的編寫、編碼風格的規范以及軟件測試的要求。
3以畢業設計為導向,做好軟件工程課程教學改革
3.1教學過程的正確引導
針對學生在畢業設計過程中存在的很多問題,作為教師如何將新的技術和方法傳授給學生,使他們能真正掌握基本的軟件工程的原理和方法是課程教學改革的核心內容。為此一般要求授課老師要能正確地把握目前軟件工程的發展方向,掌握最新的軟件開發技術,并能結合軟件開發的實際例子,將該門課的精華有效地傳授給學生。
3.2強化可行性分析與開題任務的結合
在學生畢業設計中,開題的任務是由指導教師與學生共同確定所選的畢業設計題目是否符合本科畢業設計基本要求。在軟件開發過程中,可行性分析的主要任務是從經濟、技術等方面分析擬將開發的系統在技術、花費財力、人力與物力等方面是否可行。首先,師生要分析所選的題目在法律上是否可行,有無違反國家的相關法律,有無違反當今社會的道德行為規范;其次,分析所選的題目在技術上是否可行,即所選的題目技術含量很高,現有市場還沒有類似的產品,且該產品一旦開發成功,將帶來巨大的收益;再次,如果該題目在法律上、技術上都是可行的,還應考慮經濟上是否可行。
3.3將需求分析階段在畢業設計過程中有效實施
軟件需求分析的目的是澄清用戶的要求,并把雙方共同的理解明確地表達成一份書面文檔——軟件需求規格說明書。需求分析階段對鍛煉學生的溝通能力有很大的幫助,按照傳統軟件工程學的原理,需求分析的目的主要有3個:一是功能性需求分析,確定待開發軟件需要哪些方面的功能;二是性能需求分析,確定待開發軟件在性能方面有哪些具體的要求;三是數據需求分析,確定待開發軟件在數據信息方面的需求。確定這3個需求的依據均源于對客戶的了解,因此,需求分析的一個至關重要的任務便是與客戶溝通。
在實際應用中,需求分析也是一個讓人頭疼的問題。用戶的不配合是需求分析階段的最大困難所在,在這種情況下,教學過程中可以考慮把學生分為若干小組,大家互相作為開發人員與用戶,把即將完成的畢業設計題目作為項目,可以讓學生身臨其境地體會作為開發人員在需求分析階段所應完成的任務,體會實際開發過程中用戶以各種理由拒絕合作的無奈,以及應該以何種方式與客戶溝通,如何調動客戶的積極性與主動性。同時,也可以讓學生體會作為客戶與用戶可以享受的權利及其應該承擔的義務,使其走向軟件編程的工作崗位時能更加懂得如何從客戶與用戶口中獲取項目所需的功能、性能與數據。
3.4環環相扣,全面提升課堂教學的有效性
學生通過可行性分析、需求分析兩個階段的實踐后,既學到了教材上的理論知識,又能與實踐很好地結合起來,相信對課程教學已有了濃厚的興趣。在接下來的設計環節中,作為教師要充分將工程體系的知識應用起來,結合現實生活中的工程問題舉實例,讓學生能主動地進入角色,處理好這些問題后,相信后面的問題就迎忍而解,既解決了理論課堂學習的枯燥無味,又幫助學生完成了畢業設計任務,全面提升了課堂教學的有效性。
參考文獻:
[1]熊仕勇,張登國,黃星華.試論“軟件工程”課程的實踐性教學[J].重慶郵電大學學報:社會科學版,2007(6).
中圖分類號:G424 文獻標識碼:A
1 緒論
1.1 研究的意義
目前高校逐步建立了電子商務專業綜合實驗室,通過計算機硬件和電子商務軟件來構建綜合電子商務實驗環境。電子商務是集經濟學科、管理學科、信息學科、計算機學科的交叉和邊緣學科,它的綜合性學科特點決定了電子商務理論知識和實驗教學具有復雜性和多樣性的特點。電子商務理論知識是實踐教學的基礎,理論知識讓學生深入了解整個電子商務框架結構,而實驗教學則是實現專業實踐教學的重要訓練手段,只有通過實驗教學,模擬現實環境和參與企業實踐,才能使學生深刻領會電子商務的理論框架、概念模型、技術手段、表現形式、交易規則,應用途徑、技巧方法等,才能讓學生了解企業電子商務需要什么專業人才。電子商務設計實驗課程的合理性,實驗教學方式多樣性,實驗教學的先進性都將直接影響到電子商務人才培養質量和培養目標。因此建立一個動態的、多層次、多樣化的適合現代社會需求的電子商務實驗室是電子商務專業建設目前亟需解決的一項重要工作。
1.2 研究的思路與結構
以建立一個現代的、動態的、多層次、多樣化的電子商務實驗環境也叫做實踐教學體系為目標,綜合運用現代實驗教學方面的最新研究成果,通過對電子商務實驗教學必要性和目前電子商務實驗教學開展現狀的分析,最終建立一個現代的、動態的、多層次、多樣化的電子商務實踐教學體系。
(1)現狀背景分析:了解目前理論界對電子商務實驗教學環境的研究和電子商務實驗教學中存在的問題。
(2)理論模型構建:綜合運用現代實驗教學方面的最新研究成果,結合電子商務專業的特點,建立現代的、動態的、多層次、多樣化的實踐教學體系模型。
(3)核心觀點形成:探討如何運用此模型選擇適當的電子商務實驗教學模式。
1.3 國內外電子商務實驗教學研究綜述
目前電子商務實驗教學環境作為電子商務課程教學的重要內容和組成部分,對于高校培養電子商務專業人才具有重要作用,影響到課程教學質量乃至人才培養目標的實現(楊紅兵,2008)。國外高校較早開始了電子商務模擬環境的研究和嘗試(Philip Joyce,1999;Howard Rosenbaum,2000),已經有很成熟的教學方法和實驗環境,而國內高校電子商務實驗環境與教學方式目前不是很成熟,主要是購買一些軟硬件,學習國際上的成功案例(馬洪娟,2010;樊斌,2010;陳晴光,2010;張金輝,2010;李曼,2009)。但是模擬實驗軟件內容很難與電子商務日新月異的發展速度相匹配,與實際電子商務也存在差距。伴隨電子商務快速發展,在實驗經費不足、實驗課程內容復雜,教材更新速度慢,與社會聯系少導致實際環境脫節,學生學習較為被動的局面,是一個亟需解決的問題(談曉勇,2010)。目前電子商務教學方法研究上主要有,建立建全完善的電子商務教學體系,大融合的電子商務教學方法,個性化需求的電子商務教學方法和面向實際應用的電子商務教學方法等。
2 電子商務實驗教學必然性
2.1 由電子商務的學科特點決定
電子商務人才培養模式中,除了強化理論教學外,還需要通過一些實踐環節使學生對電子商務整個應用過程進行深入了解,同時學生也應該經常瀏覽和參與目前的電子商務網站的交易活動,才能有更清晰的認識。由于目前不可能讓每個學生都到電子商務企業去參與各個方面的實習,所以電子商務實驗教學成為鏈接電子商務理論與實踐內容的重要橋梁與紐帶。
2.2 由電子商務人才社會需求決定
21世紀是網絡經濟、知識經濟和互聯網高速發展的時代,電子商務領域的商業模式創新發展使得電子商務的人才需求范圍得以持續擴大。而互聯網的普及應用和移動商務的快速發展,包括電子商務、移動商務應用在內的互聯網應用開始提速,相關的人才需求數量也相應增加。企業招聘電子商務人員多數希望招到既掌握一般計算機網絡技術,又具有商務策劃、營運推廣、物流管理的綜合型商務人才。對于電子商務人才必須要掌握相應的理論知識和網絡技術在實踐中的應用,兩者相輔相成,缺一不可。因此,電子商務人才市場社會需求的特點,也決定了電子商務實驗教學的必然性。
3 目前電子商務實驗教學環境的現狀
3.1 目前電子商務實驗教學的主要環境
良好的實驗環境是開展課程實驗教學的基礎,目前電子商務實驗教學的主要環境有基于電子商務模擬軟件的實驗教學,基于互聯網準公司的實驗教學,基于實戰型實驗教學?;陔娮由虅漳M軟件的實驗教學,優勢在于創立一種高度仿真系統,使學習者如身臨其境,和現實情況很相似,更貼近真實的電子商務活動,自由空間更多,更加符合學生的思維習慣,學生在實驗中學會電子商務工作的主要業務技能。目前電子商務模擬實驗軟件有多個開發公司開發,沒有統一的標準,存在著流程固定、內容形式和版權保護等問題。隨著電子商務在企業和用戶中廣泛應用,模擬實驗軟件內容很難與實際電子商務相似,于是基于實際電子商務網絡應用的實驗教學環境得到大多數老師和學生的喜愛?;诨ヂ摼W準公司的實驗教學環境為學生提供了一個全面、系統和靈活的實驗訓練,幾乎和實際環境一樣,保證了與現實發展同步,有效地解決了課程教學與實際需求脫節的矛盾?;趯崙鹦蛯嶒灲虒W是指在學校建立校園網網上商城,通過在學校內部進行推廣使用,通過校內的電子商務對學生的實踐能力,技術應用能力、社會活動能力的培養有更積極直接的影響,為學生提供了電子商務真實活動環境,為畢業以后的工作奠定了堅實的基礎。
3.2 目前電子商務實驗教學中存在的問題
目前,電子商務實驗室建設在實際使用和操作中,主要存在以下問題。首先,電子商務實驗室功能上的不完善,過多重視電子商務業務的實現,而忽視了一些輔助業務的環節,電子商務網站最大的優勢是給學生提供了一個真實的實驗環境,例如阿里巴巴、易趣網、京東商城、蘇寧易購等電子商務網站,通過這些企業電子商務網站不僅使學生學習更具有現實意義,而且也可以為學生日后網上開店積累經驗,對于提高學生的電子商務應用技能極為有利。但網上實驗環境的缺陷是無法看到電子商務運作的全部流程,無法全面了解電子商務技術和管理內容,如域名申請與解析,搜索引擎設定,網絡營銷服務,第三方的業務接口等。因此,在實驗教學中,必須和企業結合使用企業的電子商務系統讓學生親自體驗電子商務中的廠商、消費者、銀行、認證中心、物流等各環節的具體操作過程和管理內容。電子商務模擬軟件將電子商務的業務流程固定化、實驗流程固定化,系統一定開發完成,很少能夠根據各學校的應用需求進行個性化和本地化的開發,雖然業務固化固然加強學生對這一流程的深入了解,但是過于強調流程固化,對學生創造性思維培養極為不利。由于電子商務的快速發展,教學老師具有很深的理論知識,但是缺乏一定的實踐經驗,和實際有可能有些脫節,因此,加強教師隊伍建設,讓教師進入企業實習,提高教師的實踐動手能力也是重要的內容。
4 現代化電子商務實驗教學體系的構建
電子商務教學實驗環境不應僅僅包括實驗教學的軟硬件設備,而應該是一個現代的、動態的、多層次、多樣化的立體實踐教學體系。既要考慮學校的基礎條件,也要考慮今后發展的可擴展性,它應該既要包括傳統的實驗室教學軟硬件,同時還應該包括完整的教學組織模式和豐富靈活的教學支持。
為了彌補傳統的電子商務實驗教學環境的不足,我們應在此基礎上進行擴展,首先,以專業競賽帶動實踐教學,組織教師和學生參與政府、企業和學校舉辦的各種專業競賽,師生通過專業競賽能夠調動大家的主觀能動性和學生參與電子商務競爭意識,培養學生的學習興趣和創造性思維能力。
其次,利用互聯網資源。比如目前有很多的電子商務網站,通過電子商務網站流程了解一部分實驗環境,同時利用互聯網上電子商務網站源代碼,下載并安裝在學校的服務器上,讓學生了解建立互聯網網站的整個過程,同時熟悉網站的管理流程、資金結算等信息。
另外,通過校企合作開展電子商務實驗。企業永遠站在市場的最前沿,通過企業建立學生實驗實訓基地,教師利用企業實訓基地進行現場教學,學生參與商業軟件測試版測試,到企業直接頂崗實習,同時企業也為學生建立實習導師,采用雙導師制,同時指導學生將理論知識應用到企業實踐中,雙導師根據學生的實習情況給予指導,開展現場教學,使學生在實驗中得到鍛煉,了解目前電子商務可能會出現的各種問題,進而提高分析問題、解決問題的能力。
最后,學校組織編寫實驗大綱、實驗教材,教學指導書、學生實驗報告、實驗記錄卡,師生答疑與反饋交流平臺等,對學校組織學生參與電子商務實驗教學而言,都是必不可少的。
通過建立電子商務教學動態實驗環境,按照體現基礎性、先進性、系統性、綜合性和創新性的原則,建立分層次、多模塊、互相銜接的、科學系統的實驗教學體系,全面提高電子商務實驗教學水平,使學生完整、系統地掌握電子商務實驗的基本原理、方法和技能,才能培養滿足社會需求的電子商務實用人才。
參考文獻
[1] 齊向明.經濟管理類本科專業“五三一”實踐教學體系研究[J].中國科技論文在線,2007.11.
[2] 曾曉彬.試論經濟管理類本科人才培養的實踐教學體系[J].實驗室研究與探索,2007(1).
[3] 毛太田,鄒凱.電子商務專業課程體系與培養模式探討[J].中國科技論文在線,2004-02-13.
[4] 何宏貴,何建民.電子商務專業實踐教學研究[J].中國現代教育裝備,2007(7).
[5] 楊紅兵.電子商務教學實驗模擬系統的分析與設計[D].電子科技大學,2008.
[6] 馬洪娟.電子商務專業實踐教學體系的研究與構建[J].商業經濟,2010(12).
[7] 陳晴光.電子商務課程群實驗教學內容體系研究[J].中國科教創新導刊,2010(13).