計算機軟體技術基礎淺談論文

  計算機軟體技術基礎是模擬工程與自動化專業的核心課程之一,該課程是整合課程,主要包括c++面向物件程式設計、演算法與資料結構、作業系統、軟體工程等方面的內容,知識龐雜且難以掌握。下面是小編給大家推薦的,希望大家喜歡!

  篇一

  《計算機軟體技術基礎課程的案例建設》

  摘要:案例教學能有效提高學生分析問題和解決問題的能力,是現代教育的常用教學方法之一。文章分析案例教學中的案例特徵,以實際工程專案的一個子系統為背景,設計實時模擬監視系統案例並介紹案例的具體建設情況,指出該案例對提高學生的學習興趣以及分析問題和解決問題的能力具有明顯的效果。

  關鍵詞:軟體技術基礎;案例教學;案例建設;實時模擬;監視系統

  1、計算機軟體技術基礎課程中案例教學的必要性

  計算機軟體技術基礎是模擬工程與自動化專業的核心課程之一,是一門應用性很強的專業基礎課。該課程是整合課程,主要包括c++面向物件程式設計、演算法與資料結構、作業系統、軟體工程等方面的內容,知識龐雜且難以掌握。學生在學習該課程之後常常感到困惑:所學知識有什麼用,怎樣運用所學知識?一些學生雖然能夠在考試中考出高分,卻不知道怎樣解決實際問題。如何使學生認識所學知識的用途,融會貫通並靈活運用,是這門課應重點考慮的問題。目前,案例教學在法律類和管理類課程教學中的地位和作用已在教育界達成共識。教育部高等學校電腦科學與技術教學指導委員會於2006年6月釋出了《關於進一步加強高等學校計算機基礎教學的意見暨計算機基礎課程教學基本要求***試行***》白皮書,明確指出在教學方法和手段上運用案例教學的必要性,因此,將案例教學作為一種教學方法引入工科類課程的教學,具有可行性和必要性。

  2、認識案例

  案例教學法就是在教師的指導下,根據教學目的和要求,以案例為基本素材,把學生帶人特定的教學情境中進行思考,以此加深學生對基本原理和概念的理解,進而培養並提高學生運用理論知識分析問題和鋸決問題能力的一種教學方法。

  案例是案例教學的基礎,離開了案例,案例教學就無從談起。案例與一般教學中的例題有著本質區別,案例教學中的案例是將多個知識點融人一個整體來解決實際問題,涉及的知識面廣,知識間具有連貫性和系統性,涵蓋的知識具有綜合性的特點,知識和原理蘊藏於案例之中。一般教學中的例題往往是配合某一章節或某一知識點,從某個角度、某個方面或某個層次反映所學理論和方法,起著驗證和說明作用,常常帶有為講知識而杜撰例子的痕跡,各個例題之間相對獨立,涵蓋的知識單一,知識和原理孤立地呈現在學生面前。一般說來,工科類課程的案例應具有以下基本特徵。

  1***真實性。

  客觀真實性是案例的基本特徵。教學案例應源於真實,取材於工程實際或科研課題,但是又要高於真實。為了突出主題,可以對真實做一定的刪減處理。

  2***綜合性。

  案例應是綜合知識的載體,既要以學生已掌握的知識為依據輻射足夠多的知識點,又要在匹配教學內容的基礎上對知識有一定程度的擴充套件。

  3***完整性。

  案例是完整過程的載體,涉及瞭解背景、查詢資料、分析資訊、發現問題、探求方法、採取行動、解決問題的全過程。

  4***啟發性。

  案例教學著眼於能力的培養,希望得到的不是案例的標準答案,而是解決問題的思維方法和能力。案例中,解決問題的方式是開放性的,可以留給學生想象的空間和發揮的餘地。

  5***實踐性。

  學生可以對案例進行復現、改進和完善,也可以按照自己的思考去實現,增強理論應用於實際的能力,實現從理論到實踐的轉化。

  3、案例建設

  案例教學的前提是高質量的案例,高質量的案例既要覆蓋足夠的知識,又要控制合適的規模。規模過小,則不能溶入足夠的知識,也不能提供足夠的研討與思維空間;規模過大,則在短時間內難以被學生接受,不能得到預期的教學效果。筆者以實際工程專案衛星實時模擬系統的一個子系統為案例背景,在突出主題的前提下,進行了適當的詳略及刪減處理,形成了“實時模擬監視系統”案例。

  3.1 案例背景簡介

  衛星實時模擬系統能夠對衛星的方案、設計、整合、測試和執行各個階段進行模擬驗證,是提高衛星總體設計水平的重要手段,其網路關係連線如圖1所示。在此係統中,模擬模型解算、物理裝置介面等苛刻實時約束的節點通過反射記憶體互聯,構成實時內環,外環則通過普通網路互聯,將人機互動、視覺化、資料處理等實時約束弱的節點互聯,內、外環都可以根據需要擴充且內環不受外環影響,苛刻實時得到保障。轉發計算機完成記憶體資料的提取並轉發外環,模擬管理計算機則同時管理內、外環系統。衛星模擬監控是衛星實時模擬過程中的重要一環,它將抽象的模擬活動形象化,並及時將訊號資料以各種方式反饋給使用者,以利於使用者分析、理解和決策。衛星實時模擬監控系統,能夠模擬通過控制、監視和測量星上裝置的工作狀態實現實時連續地記錄工作過程、測試資料和描繪曲線。圖1中,人機互動計算機、曲線顯示計算機和三維顯示等外環計算機共同實現模擬監視功能。我們將人機互動計算機和曲線顯示計算機的功能提取出來,要求系統具有一定的通用性,能夠適應不同監視任務和不同資料型別,形成“實時模擬監視系統”案例。

  3.2 實時模擬監視系統案例

  實時模擬監視系統的工作原理為:轉發計算機完成記憶體資料的提取並轉發外環,外環上的實時模擬監視系統首先進行初始化,隨後自動生成系統主介面。系統支援兩種執行模式:監視模式和回放模式。在監視模式下,系統既要處理主介面資訊,又要處理網路資料。主介面資訊的處理包括響應使用者互動訊息、更新實時監視介面、實時繪製曲線;網路資料的處理包接監聽網路埠,接收、解析和儲存資料包,將有效資料寫入共享資料結構,供給系統繪製曲線。在回放模式下,不再需要對網路進行監聽,直接讀取監視模式下儲存的原始資料檔案,然後進行相應處理即可。

  為實現上述目的,使系統具有一定的通用性,我們設計瞭如下方案:

  ***1***在軟體工程思想指導下,進行需求分析、總體設計、詳細設計、編碼實現以及綜合測試。通過該案例,讓學生對軟體工程思想指導下的軟體開發全過程有一個感性認識;

  ***2***採用多執行緒技術實現監視模式下的主介面資訊處理和網路資料處理,僅用單執行緒實現回放模式;

  ***3***設計一個數據包傳送測試程式,模擬轉發計算機的功能。

  為此,我們結合本課程的基本知識點將系統的主要功能模組劃分為介面管理和資料處理兩大部分,介面管理部分主要承擔主介面資訊的處理,資料處理部分則主要負責資料的處理。

  3.2.1 介面管理

  系統執行過程中始終需要對系統主介面進行管理。從執行初期的生成主介面,到執行中的監視過程的顯示,再到最終的系統結束,都需要對主介面進行即時的調整。為了提高通用性,系統採用基於配置檔案的方式,通過使用者提供的配置檔案,動態改變系統監視任務,也就是說,系統能夠改變每次執行時的任務,主介面顯示的內容具有不確定性。

  1***讀取配置檔案,獲取初始化資訊。

  系統執行之前,需要進行初始化,這就需要系統讀取配置檔案,包括全部訊號、實時顯示訊號、資料包型別等配置檔案。使用者必須按照約定的正確格式提供配置檔案,否則系統有可能無法正確識別相關資訊。從軟體工程的角度,配置檔案的設計與確定應在總體設計階段完成。配置檔案的型別、組織方式以及資料正確性的檢驗,都是學生可以自由發揮和擴充套件的內容。

  2***自動生成實時監視介面。

  監視物件的不確定性使得系統的監視介面無法固定,然而,不能將介面的生成工作完全交給使用者完成,這就需要設計一種適用於不同監視任務的介面生成演算法,使系統將介面生成工作承擔下來。另外,系統介面的尺寸等資訊是使用者所不知道的,因此被監視的訊號在系統主介面中的顯示位置無法由使用者設定,這就需要系統自己完成介面的排布任務。因此,要求設計一個具有較強通用性的監視介面自適應生成演算法,這部分涉及演算法設計和計算機系統配置的獲取等基礎知識,演算法設計是學生能夠自由發揮並出彩的部分。

  3***定時更新監視介面。

  為了實現實時監視功能,系統需要對監視介面進行定時更新,以顯示當前被監視訊號的實時資料。為了滿足使用者的不同需求,系統提供0.5s、1s、2s三種重新整理頻率。系統可以根據使用者選擇的重新整理頻率對主介面進行更新。這部分主要涉及定時器的使用。

  4***處理使用者互動訊息。

  系統需要對使用者的互動訊息進行處理,主要為滑鼠訊息,包括執行模式的切換、模擬的開始與結束、載入歷史資料包檔案等。這部分涉及所選程式設計環境下的訊息響應機制問題。

  3.2.2 資料處理

  系統在執行過程中,需要對資料包進行接收、解析和儲存,還要為曲線繪製提供原始資料,因此需要設計一個專用的資料結構。

  1***接收網路資料包。

  在監控模式下,系統既要處理主介面資訊,又要通過網路接收資料包。為了避免“漏掉”資料包,系統必須對網路持續進行監聽。如果主執行緒將大量時間用在網路監聽上,勢必無法對使用者的互動做出及時響應。因此,需要將資料包的接收放在一個單獨的執行緒中。這涉及作業系統程序管理的相關概念,是多執行緒程式設計技術的典型應用;也涉及網路通訊技術,需要了解網路通訊協議等相關知識。

  2***解析資料包。

  在接收到資料包後,需要將資料包內的資料進行解析,獲得資料包內的資料,將最新的資料更新至系統對應的變數中,以供實時顯示。解析資料包涉及網路通訊程式設計技術。

  3***儲存原始資料包。

  系統要求有回放功能,因此需要將接收到的資料包寫入檔案,進行永久儲存。資料包的儲存有兩種方式:解析後按段儲存和作為整體進行二進位制儲存。第一種方法耗時,需較大工作量。第二種方法簡便,工作量小。顯然第二種方法更適合本系統。由於系統必須適應兩種型別的資料包,因此,進行資料儲存時,採用以形參型別為區別的方式進行同名函式的過載,實現兩種型別資料包檔案的儲存。這部分功能涉及C++面向物件程式設計中的過載技術以及檔案操作技術。

  4***讀取資料檔案,獲取資料包。

  在回放模式下,系統不再對網路進行監聽,不進行資料包的接收,需要通過讀取之前儲存的原始資料包檔案獲得資料包。原始資料包檔案儲存的是二進位制形式的資料包,系統每次讀取之後需要對資料包進行解析,這與接收到資料包的過程是一樣的,不同之處在於回放過程不再需要將資料包進行儲存。這涉及C++面向物件程式設計中的檔案操作,同時,通過監視模式下的多執行緒程式設計與回放模式下的單執行緒程式設計的對比,使學生真切感受並理解多執行緒程式設計技術及其應用場合等。

  5***共享資料。

  系統嵌套了曲線繪製模組,因此,資料處理與曲線繪製之間需要有一塊共享資料記憶體。在收到資料包並解析後,馬上將有用的資訊寫入該共享記憶體。寫入操作由資料包接收執行緒處理,讀取操作由主執行緒內的曲線繪製模組完成,因此,需要對兩個執行緒進行同步。這涉及資料結構的設計和作業系統的同步與互斥。

  6***快速查詢。

  系統支援大資料量下的模擬監視,對資料的快速查詢有較高的需求,因此,需要設計支援快速查詢的雜湊表資料結構,包括雜湊函式的確定、衝突的解決等,這涉及資料結構的雜湊表技術。

  4、結語

  “實時模擬監視系統”案例,涵蓋了軟體工程、c++面向物件程式設計、演算法與資料結構、作業系統和網路通訊等計算機軟體技術基礎課程及其先導與後繼課程的知識點,是一個與學生所學專業密切相關的實際應用系統,容易引起學生的興趣,也容易被學生理解和接受。這樣的案例既與教學目標相吻合,又便於教師駕馭和把握。

  從學生反饋的情況看,學生普遍認為,案例教學法方式新穎,實時模擬監視系統案例與專業基礎結合緊密;能引導學生積極思考,提高學生的學習興趣以及分析問題和解決問題的能力。該案例在教學過程中取得了明顯的教學效果。

  為了更好地開展案例教學,我們必須把建設高質量的案例作為重點來抓,選擇合適的案例背景,制定合理的案例建設計劃。實踐證明,只有經過長時間的積累、認真的思考、精心的選擇和多次教學實踐,才能獲得高質量的教學案例;只有經過團隊的長期努力,才能建設高質量的教學案例庫。

點選下頁還有更多>>>