999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

開設設計模式課程的探討

2010-01-01 00:00:00張利軍
計算機教育 2010年4期

摘要:本文針對計算機軟件工程專業本科生開設“設計模式”課程的必要性和可行性進行分析,并且對課程的具體內容和學時分配做了詳盡的論述,旨在進一步完善本科軟件工程專業的課程體系,提高畢業生的就業競爭力。

關鍵詞:軟件工程;設計模式;課程體系

設計模式/軟件設計模式(Design Pattern)是一套被反復使用、多數人知曉的、經過分類編目的、代碼設計經驗的總結[1]。GOF的《設計模式——可復用面向對象軟件的基礎》一書將設計模式提升到了理論的高度,并將之規范化。隨著計算機軟件工程技術和面向對象技術的發展,設計模式已經成為軟件設計人員必須掌握的思想和技術。可以說只有設計模式才能真正實現代碼編制的工程化,才能真正實現代碼的重用性和可維護性。

1必要性分析

計算機專業在經歷了一輪火熱的發展后,隨著社會需求的相對減少,以及計算機人才市場的逐漸飽和,計算機專業的畢業生在就業市場上不再那么炙手可熱,就業的競爭也越來越激烈。

計算機專業培養的本科生畢業生,大體可以分為兩種類型:一種是計算機相關理論基礎扎實、研究能力較強、在一定程度上了解某一方向的科學前沿,具有良好的綜合素質的創新型人才,此類型學生大都選擇繼續深造或者去一些科研院所進行研究工作。另外一種是了解和掌握計算機軟件和硬件開發設計的理論基礎,具有較強的計算機軟硬件設計和開發能力的應用型人才,此類型學生在畢業后大多選擇就業,去一些國內大、中型企業,從事軟件或硬件的開發設計或管理工作。計算機專業的畢業生在就業市場上的競爭越來越激烈,如何持續不斷地提高我們畢業生的就業能力,得到用人單位的認可,無疑對我們本科教學的課程體系設置提出了更高的要求。

由于計算機技術的發展十分迅速,社會上用人單位對畢業生的需求也在不斷地變化。畢業生,尤其是面向各種企業的應用型人才,除了要掌握基本概念、基礎理論外,還應該能跟得上計算機技術發展的步伐,了解和掌握一些最新的技術,以在就業的競爭中占得優勢。

對于軟件工程方向的本科生,除了計算機專業的基礎課外,還開設了“軟件工程”、“面向對象程序設計”、“人機界面設計”和“數據庫”等課程。雖然我們針對軟件工程方向的學生已經開設了“面向對象程序設計”這門課,但該門課重點講授面向對象設計的一些基本概念,比如類、對象、繼承等等,而對于如何將這些基本概念應用到設計過程中,進而設計出具有合理結構的軟件,在教學中并未充分說明。通過對一些軟件企業的了解,我們發現企業在聘用應屆畢業生后,會專門做關于設計模式方面的培訓,以滿足企業軟件開發的需要。如果在我校課程體系中能夠增設“設計模式”這樣一門課程,一方面會使課程體系更為完善、更能適應當前計算機技術的發展,另一方面可以培養出具有先進設計思想和能力的學生,滿足用人單位的需求,從而使得我校的畢業生在就業市場上占得先機。因此面向計算機軟件工程專業的學生開設“設計模式”這樣一門課顯得非常必要。

2可行性分析

設計模式主要以面向對象的思想來講述在軟件設計過程中被多次使用、且被實踐證明非常有效的、有助于實現代碼的重用和維護的一些固定程式,而且設計模式主要是為軟件工程服務,因此對于開設該門課程所針對的對象,應該滿足以下幾個條件:

(1) 學習過“面向對象程序設計”。通過該門課程的學習,學生應該掌握面向對象的基本概念和基本思想,比如類、對象、接口、抽象類、繼承、重載、多態等等。

(2) 熟練掌握一門面向對象的程序設計語言。在講述設計模式時,必然會以具體的例子來說明,而這些例子要用某種語言來實現,甚至有些例子直接就是某種面向對象設計語言的類庫中使用的模式。當前比較流行的面向對象程序設計語言有Java,C#等。

(3) 掌握“軟件工程”對軟件設計的基本要求,如可靠性、可維護性、擴展性等等。

(4) 能夠熟練使用統一建模語言UML。在講授設計模式的過程中,會借助于類圖、時序圖等一些設計圖來表示模式,所以掌握UML圖也是必須的。

從以上分析得出,“設計模式”需要以上4門課程作為先修課程。針對軟件工程專業的學生,前3個條件有專門的課程進行講授。即:大二下學期開設“面向對象程序設計”,并使用典型的面向對象程序設計語言Java進行講授。大三下學期開設了“軟件工程”課程。只有第4個條件——統一建模語言UML,在當前的課程體系中沒有體現,由于在“設計模式”中涉及到的UML內容不是特別多,沒有必要將UML單獨作為一門課程開設,而且設計模式和UML的聯系比較緊密,因此可以把UML的內容和設計模式合并在一起作為一門課程來講述。

由上可見,在當前的課程體系下,針對軟件工程專業的本科生,在大四上學期增加開設“設計模式”這樣一門課是完全可行的。

3教學環節設計

計算機學科是一個實踐性比較強的學科,“設計模式”也不例外。因此在“設計模式”的教學中應該以理論和實踐相結合的方式進行,整個“設計模式”課程的教學過程分為理論教學和實踐教學兩個環節,并且根據具體的教學內容確定總的教學時數為32學時,其中理論環節24學時,實踐環節8學時。

3.1理論教學環節設計

“設計模式”的理論教學內容包括UML的基本內容和GOF提出的23種基本設計模式,另外補充講解一些屬于23種基本設計模式以外,但在實際開發過程中常用的模式,比如模型-視圖-控制器(MVC)模式等。23種基本設計模式又可分為創建模式、結構模式和行為模式三大類[2]。在對這23種模式的講解過程中,對于一些看上去相似但實質上不同的模式應該清楚地說明幾種模式之間的區別,以及各種模式各自適用的場合。具體的內容和學時分配如下:

(1) 統一建模語言UML(6學時)。這部分的主要內容包括UML中涉及到的一些基本概念,如類、實例、多態、繼承、泛化、依賴等等,以及UML中的一些圖形表示的畫法。UML中的圖總體上可以分為兩類:結構圖和行為圖。結構圖主要有類圖、對象圖、構件圖和實施圖,而行為圖包括用例圖、順序圖、協作圖、狀態圖、活動圖。通過這部分內容的學習,應該讓學生掌握面對現實問題時如何對現實世界中的實體進行抽象,并且捕捉實體之間的關系和交互,然后用UML圖表現出來。

(2)“設計模式”的要素和原則(2學時)。這部分主要講解設計模式要遵循的幾個基本原則,包括開閉原則、里氏代換原則、依賴倒轉原則和迪米特法則等[3]。

(3) 創建模式(3學時)。創建模式總共有5種,分別為單例模式,抽象工廠模式,建造者模式、工廠方法模式和原型模式。講解時要讓學生能夠了解抽象工廠和工廠方法模式,建造者模式和抽象工廠模式,原型模式與工廠方法模式之間的區別。

(4) 結構模式(4學時)。結構模式總共有7種,分別為適配器模式、橋接模式、組合模式、裝飾模式、門面模式、享元模式和代理模式。重點區別適配器模式和橋接模式、組合模式和裝飾模式、適配器模式和裝飾模式、享元模式與代理模式。

(5) 行為模式(7學時)。行為模式總共有11種,分別為職責鏈模式、命令模式、解釋器模式、迭代器模式、中介者模式、備忘錄模式、觀察者模式、狀態模式、策略模式、模版方法和訪問者模式。重點區別職責鏈與命令模式、解釋器和迭代器模式、中介者模式和觀察者模式、狀態模式和策略模式、策略模式和模板方法模式。

(6) 其他非標準模式(2學時)。除了以上23種基本的設計模式外,還有一些模式在實際應用中經常使用到,比如MVC模式。嚴格地來講MVC不屬于設計模式,而屬于框架模式,但由于在軟件開發過程中經常應用到,所以也應該讓學生掌握。

3.2實踐教學環節設計

實踐環節主要是為了讓學生鞏固和應用理論教學環節中所學到的知識。這一環節分為4個單元,每個單元2學時,總共8個學時。每個單元出一個題目讓學生使用一種設計模式來設計,然后用UML圖表現出來,最后編寫程序實現,為培養學生的創新能力,全部為設計型實驗。其中實驗1~3分別讓學生使用創建模式、結構模式和行為模式中的一種進行設計和實現。實驗4為綜合實驗,對于給定的題目,綜合運用理論教學中講過各種模式進行設計,最后編程序解決該問題。

“設計模式”課程的所有教學內容和學時分配如表1所示。

4結語

“設計模式”課程主要是針對軟件工程專業的本科生,是“面向對象程序設計”課程的擴展。教學目標是讓軟件工程專業的學生掌握在實際的軟件設計過程中常用的一些模式,提高學生的軟件設計能力,從而提高學生的就業競爭力,滿足軟件企業的需求。另外增加這樣一門課程,使我們當前的課程體系更加完善,更能適應當前計算機人才培養的需求,尤其是面向企業的應用型人才的培養。當然具體的效果如何,還需要實踐的檢驗。

參考文獻:

[1] 合作編輯者. 百度百科:設計模式[2009-03-23]. http://baike.baidu.com/view/66964.htm.

[2] Erich Gamma, Richard Helm. 設計模式——可復用面向對象軟件的基礎[M]. 馬曉星,譯. 北京:機械工業出版社,2000.

[3] 閻宏. Java與模式[M]. 北京:電子工業出版社,2002.

Exploration on Teaching Design Pattern Course

ZHANG Li-jun

(Dept. of Computer Dcience, Northwestern Polytechnical University, Xi’an 710072, Chian)

Abstract:We analyze the necessity and feasibility on teaching design pattern course to Software Engineering students in this paper. And the course content and the distribution of class hours are described in detail, aimed at improving the undergraduate curriculum system for specialty in software engineering and the employment competitiveness of graduates.

Key words:Software Engineering; design pattern; curriculum system

(編輯:白杰)

主站蜘蛛池模板: 1024你懂的国产精品| 亚洲中文无码h在线观看| a网站在线观看| 欧美成人一级| 成人在线观看一区| 久久免费视频6| 国产小视频在线高清播放| 欧美日韩精品一区二区视频| 三上悠亚在线精品二区| 欧美成人怡春院在线激情| 无码综合天天久久综合网| 一区二区午夜| 国产人成在线视频| www.91中文字幕| 四虎亚洲精品| 香蕉精品在线| 国产精品视频999| 在线免费看片a| 亚洲侵犯无码网址在线观看| 97se亚洲综合在线韩国专区福利| 91精品国产无线乱码在线| 国产毛片久久国产| 亚洲国产综合精品一区| 国产屁屁影院| 国产成人综合在线观看| 72种姿势欧美久久久久大黄蕉| 日韩AV手机在线观看蜜芽| 国产精品第一区| 亚洲一区免费看| 无码丝袜人妻| 欧美色香蕉| 国产对白刺激真实精品91| 在线观看免费人成视频色快速| 成人无码一区二区三区视频在线观看 | 国产sm重味一区二区三区| 婷婷伊人五月| 亚洲欧美另类专区| 成人夜夜嗨| 久久综合AV免费观看| 美女一级毛片无遮挡内谢| 亚洲综合专区| 久久鸭综合久久国产| 国产女同自拍视频| 亚洲天堂自拍| 国产你懂得| 一本大道视频精品人妻| 91高清在线视频| 久久精品嫩草研究院| 国产麻豆精品久久一二三| 美女毛片在线| 国产产在线精品亚洲aavv| 成人国产三级在线播放| 国产综合亚洲欧洲区精品无码| 欧美午夜久久| 波多野结衣无码AV在线| 国产日韩欧美精品区性色| 国产激情无码一区二区免费| 伊人丁香五月天久久综合| 亚洲三级影院| 亚洲欧洲美色一区二区三区| 少妇精品网站| 欧美一级99在线观看国产| 国产精品亚洲а∨天堂免下载| 国产在线自揄拍揄视频网站| 国产无码制服丝袜| 亚洲综合专区| 亚洲人成网站在线播放2019| 91精品专区国产盗摄| 欧美日韩第三页| 思思热在线视频精品| 一本大道东京热无码av| 在线播放国产99re| 亚洲成av人无码综合在线观看| 四虎成人精品| 国产一区二区三区夜色| 日韩免费成人| 欧美亚洲国产一区| 国产成人a在线观看视频| 99精品视频九九精品| 免费日韩在线视频| 91福利在线观看视频| 成人福利一区二区视频在线|