學習進度表:
點滴成就 | 學習時間 | 新編寫代碼行數 | 博客量(篇) | 學到知識點 |
第一周 | 8 | 0 | 0 | 了解軟件工程 |
第二周 | 10 | 0 | 1 | 博文一篇 |
第三周 | 15 | 0 | 2 | 選擇項目、調查問卷 |
第四周 | 20 | 80 | 0 | 結對編程 |
第五周 | 25 | 330 | 1 | java的學習、軟件工程 |
第六周 | 25 | 210 | 0 | 編譯原理、軟件工程 |
第七周 | 15 | 0 | 0 | 軟件系統設計 |
第八周 | 20 | 256 | 1 | 軟件測試、結對編程博文 |
第九周 | 25 | 0 | 0 | 軟件測試、軟件工程 |
第十周 | 15 | 127 | 0 | 軟件測試、軟件工程 |
第十一周 | 20 | 350 | 0 | 軟件測試、軟件工程 |
第十二周 | 15 | 0 | 0 | 軟件測試、軟件工程 |
第十三周 | 15 | 0 | 1 | 軟件測試、軟件工程 |
通過這一學期的學習,對於軟件課程這門課獲得的心得體會,以及一些建議分享一下:
時光如梭,轉眼間這門課程已經結束了!看看當初自己指定的目標,回顧這一學期的過程與經歷,似乎自己又偏離了目標。但是在李魏老師的課堂上,我覺得自己收 獲了很多。例如,加強了自己的團隊合作意識,自己的表達能力也有突破,改變了自己的一些觀點,對軟件工程也有了一些了解等等。
對於軟件工程課程教學方法的建議:
1.根據實際需求,精簡教學內容,突出重點
本課程是面向准備從事軟件開發的畢業生而開設的一門專業課程。老師可以結合目前軟件開發商對人才的要求,對計算機專業的畢業生進行軟件工程強化培訓,目的是使畢業生能夠了解和掌握軟件工程的基本理 論和方法,並在實際軟件開發中運用這些方法。根據軟件開發商的實際需求以及畢業生將要從事的工作的性質,選擇軟件工程中的與實際開發有關、適合底層編程人 員運用的內容,可以不必將軟件工程這門課程的每一章節的內容系統地講解。
2.采用交互式教學方法,提高學生學習興趣
軟件工程這門課程的大部分內容理論性較強,如果采用傳統的教學方法,我們肯定是 沒有什么興趣。為激發我們的興趣,將一些課程安排到多媒體教室或是雙向多媒體機房去上,教師事先准備好課件,對一些理論部分舉例說明的時候,直接通過計算機演示,如在講解模塊的耦合性和內聚性的時候,就可以通過不同的例子讓學生親自體驗並總結出各種不同耦合性或內聚性模塊的區別,這種方法比反復地讓我們去記憶要好得多。
3.實例引導,理論貫穿實踐
(1) 在理論課上,可以采取多媒體教學法、案例教學法和啟發——探索式教學法。
案例教學法, 即以老師講解為主,按照知識點把課程獨立划分為一個個典型案例,引導我們進行分析和討論,提高我們的參與性。
(2)在實踐課上,可以采取項目驅動教學法、任務驅動教學法和案例——驅動教學法。
項目驅動教學法 即在軟件項目實施過程中導入軟件的基本概念、原理、技術和方法。
任務驅動教學法,即把一個項目分為若干個子項目,將相關知識融入到子項目中。實踐過程以團隊合作的的形式,分別扮演不同角色,運用軟件工程技術、方法,逐步完成軟件項目開發的各個步驟,充分調動學生的積極性。
案例——驅動教學法,即以“案例”為引導,以“任務”為驅動,將教學內容分解為一個個任務模塊中,在任務實現的過程中完成真正意義上的知識建構。
軟件測試在本課程中是比較重要的一個章節,其中講到了各種測試的方法與技術,如 黑盒測試中的邊界值法、等價類划分法、因果圖法等,白盒測試中的語句覆蓋、條件覆蓋、判定覆蓋、路徑覆蓋等,這些方法書中是介紹了,但是我們學完之后可能還是不會用。所以,從一開始,就可以通過實例讓我們進行測試,這樣能真正地學會測試的方法。
4. 加強和落實動手能力的培養
課堂上可以安排一些小的實驗,每章課后應安排作業,作業應讓學生盡可能在CASE環境下進行。
5. 對課程中關鍵性概念、設計思想方面的問題可輔以課堂討論的形式。
6. 如條件許可,應利用網絡技術提供一個網絡教學資源和平台,學生可以課件下載、習題布置、網上答疑和學生社區等功能,充分發揮我們學生在學習過程中的主體地位。
7.在教學內容的安排上可以再多的和其他相關內容的相互滲透。
8.增加實踐課的時間,以考促學,將考核方式調整為理論知識加實訓考核的方式。或者采用·累積的階段測驗方式,如軟件工程建模、完成開發文檔、結合軟件工程知識競答等以實驗為主的新的考核方式。
9.在每一章的教學內容之后分三個層次(包括:了解、理解、掌握)給出課程的教學要求。
了解,即能正確判別有關概念和方法;理解,是只能正確表達有關概念和方法的含義;掌握,即在理解的基礎上加以靈活運用。
10.課程大項目
為了進一步鞏固課堂所學的知識及實際的應用,配合講課,設置以下課程大作業:1. 結構化分析;2. 概要設計;3. 詳細設計;4. 測試;5. 面向對象分析與設計;6. 面向對象編程;7. 面向對象測試。
實施要求:
(1). 課程大作業的1-4使用傳統的軟件工程方法;5-6使用面向對象的軟件工程方法;可以設計一個大例子,用兩種方法來做,也可以分別做兩個例子。
(2). 建議大作業之前有作業輔導,2學時。
(3). 建議作業完成后進行討論,對這兩種方法進行總結,2學時。
(4). 建議使用CASE平台及其他工具平台。
對於軟件工程課程的問題與解決方案:
1.目前軟件工程類的大部分教材都是理論性較強,我們自己課后自學有點難度。即使書中有時也會舉一些例子,但是例子之間都比較孤立。所以,可以制作一個實例系統,供我們從一開始學習就能夠對其進行分析,如項目式、案例式教學。
2.部分學生對課程在專業學習中的作用了解不夠,因此,對這本門課程不太感興趣,缺乏學習動力,最后導致學習效果較差。 我覺得我們可以嘗試下面的方法。由於學生學《軟件工程》課程的時候,已經學習 過C++程序設計、可視化程序設計、數據庫原理及應用、可能還選修過Delphi、JAVA、VC++等課程,並進行過多次課程設計。不管其原來做的設計 如何,總之也是一個“作品”。讓學生自己對自己做過的系統再次進行分析研究,並進行測試,我想肯定會提高大部分學生的興趣,而且學生還可對自己原先做過的 系統進行修改,知道自己的不足,不斷地提高自己