亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        開設(shè)設(shè)計(jì)模式課程的探討

        2010-01-01 00:00:00張利軍
        計(jì)算機(jī)教育 2010年4期

        摘要:本文針對(duì)計(jì)算機(jī)軟件工程專業(yè)本科生開設(shè)“設(shè)計(jì)模式”課程的必要性和可行性進(jìn)行分析,并且對(duì)課程的具體內(nèi)容和學(xué)時(shí)分配做了詳盡的論述,旨在進(jìn)一步完善本科軟件工程專業(yè)的課程體系,提高畢業(yè)生的就業(yè)競(jìng)爭(zhēng)力。

        關(guān)鍵詞:軟件工程;設(shè)計(jì)模式;課程體系

        設(shè)計(jì)模式/軟件設(shè)計(jì)模式(Design Pattern)是一套被反復(fù)使用、多數(shù)人知曉的、經(jīng)過分類編目的、代碼設(shè)計(jì)經(jīng)驗(yàn)的總結(jié)[1]。GOF的《設(shè)計(jì)模式——可復(fù)用面向?qū)ο筌浖幕A(chǔ)》一書將設(shè)計(jì)模式提升到了理論的高度,并將之規(guī)范化。隨著計(jì)算機(jī)軟件工程技術(shù)和面向?qū)ο蠹夹g(shù)的發(fā)展,設(shè)計(jì)模式已經(jīng)成為軟件設(shè)計(jì)人員必須掌握的思想和技術(shù)。可以說只有設(shè)計(jì)模式才能真正實(shí)現(xiàn)代碼編制的工程化,才能真正實(shí)現(xiàn)代碼的重用性和可維護(hù)性。

        1必要性分析

        計(jì)算機(jī)專業(yè)在經(jīng)歷了一輪火熱的發(fā)展后,隨著社會(huì)需求的相對(duì)減少,以及計(jì)算機(jī)人才市場(chǎng)的逐漸飽和,計(jì)算機(jī)專業(yè)的畢業(yè)生在就業(yè)市場(chǎng)上不再那么炙手可熱,就業(yè)的競(jìng)爭(zhēng)也越來越激烈。

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

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

        對(duì)于軟件工程方向的本科生,除了計(jì)算機(jī)專業(yè)的基礎(chǔ)課外,還開設(shè)了“軟件工程”、“面向?qū)ο蟪绦蛟O(shè)計(jì)”、“人機(jī)界面設(shè)計(jì)”和“數(shù)據(jù)庫”等課程。雖然我們針對(duì)軟件工程方向的學(xué)生已經(jīng)開設(shè)了“面向?qū)ο蟪绦蛟O(shè)計(jì)”這門課,但該門課重點(diǎn)講授面向?qū)ο笤O(shè)計(jì)的一些基本概念,比如類、對(duì)象、繼承等等,而對(duì)于如何將這些基本概念應(yīng)用到設(shè)計(jì)過程中,進(jìn)而設(shè)計(jì)出具有合理結(jié)構(gòu)的軟件,在教學(xué)中并未充分說明。通過對(duì)一些軟件企業(yè)的了解,我們發(fā)現(xiàn)企業(yè)在聘用應(yīng)屆畢業(yè)生后,會(huì)專門做關(guān)于設(shè)計(jì)模式方面的培訓(xùn),以滿足企業(yè)軟件開發(fā)的需要。如果在我校課程體系中能夠增設(shè)“設(shè)計(jì)模式”這樣一門課程,一方面會(huì)使課程體系更為完善、更能適應(yīng)當(dāng)前計(jì)算機(jī)技術(shù)的發(fā)展,另一方面可以培養(yǎng)出具有先進(jìn)設(shè)計(jì)思想和能力的學(xué)生,滿足用人單位的需求,從而使得我校的畢業(yè)生在就業(yè)市場(chǎng)上占得先機(jī)。因此面向計(jì)算機(jī)軟件工程專業(yè)的學(xué)生開設(shè)“設(shè)計(jì)模式”這樣一門課顯得非常必要。

        2可行性分析

        設(shè)計(jì)模式主要以面向?qū)ο蟮乃枷雭碇v述在軟件設(shè)計(jì)過程中被多次使用、且被實(shí)踐證明非常有效的、有助于實(shí)現(xiàn)代碼的重用和維護(hù)的一些固定程式,而且設(shè)計(jì)模式主要是為軟件工程服務(wù),因此對(duì)于開設(shè)該門課程所針對(duì)的對(duì)象,應(yīng)該滿足以下幾個(gè)條件:

        (1) 學(xué)習(xí)過“面向?qū)ο蟪绦蛟O(shè)計(jì)”。通過該門課程的學(xué)習(xí),學(xué)生應(yīng)該掌握面向?qū)ο蟮幕靖拍詈突舅枷?,比如類、?duì)象、接口、抽象類、繼承、重載、多態(tài)等等。

        (2) 熟練掌握一門面向?qū)ο蟮某绦蛟O(shè)計(jì)語言。在講述設(shè)計(jì)模式時(shí),必然會(huì)以具體的例子來說明,而這些例子要用某種語言來實(shí)現(xiàn),甚至有些例子直接就是某種面向?qū)ο笤O(shè)計(jì)語言的類庫中使用的模式。當(dāng)前比較流行的面向?qū)ο蟪绦蛟O(shè)計(jì)語言有Java,C#等。

        (3) 掌握“軟件工程”對(duì)軟件設(shè)計(jì)的基本要求,如可靠性、可維護(hù)性、擴(kuò)展性等等。

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

        從以上分析得出,“設(shè)計(jì)模式”需要以上4門課程作為先修課程。針對(duì)軟件工程專業(yè)的學(xué)生,前3個(gè)條件有專門的課程進(jìn)行講授。即:大二下學(xué)期開設(shè)“面向?qū)ο蟪绦蛟O(shè)計(jì)”,并使用典型的面向?qū)ο蟪绦蛟O(shè)計(jì)語言Java進(jìn)行講授。大三下學(xué)期開設(shè)了“軟件工程”課程。只有第4個(gè)條件——統(tǒng)一建模語言UML,在當(dāng)前的課程體系中沒有體現(xiàn),由于在“設(shè)計(jì)模式”中涉及到的UML內(nèi)容不是特別多,沒有必要將UML單獨(dú)作為一門課程開設(shè),而且設(shè)計(jì)模式和UML的聯(lián)系比較緊密,因此可以把UML的內(nèi)容和設(shè)計(jì)模式合并在一起作為一門課程來講述。

        由上可見,在當(dāng)前的課程體系下,針對(duì)軟件工程專業(yè)的本科生,在大四上學(xué)期增加開設(shè)“設(shè)計(jì)模式”這樣一門課是完全可行的。

        3教學(xué)環(huán)節(jié)設(shè)計(jì)

        計(jì)算機(jī)學(xué)科是一個(gè)實(shí)踐性比較強(qiáng)的學(xué)科,“設(shè)計(jì)模式”也不例外。因此在“設(shè)計(jì)模式”的教學(xué)中應(yīng)該以理論和實(shí)踐相結(jié)合的方式進(jìn)行,整個(gè)“設(shè)計(jì)模式”課程的教學(xué)過程分為理論教學(xué)和實(shí)踐教學(xué)兩個(gè)環(huán)節(jié),并且根據(jù)具體的教學(xué)內(nèi)容確定總的教學(xué)時(shí)數(shù)為32學(xué)時(shí),其中理論環(huán)節(jié)24學(xué)時(shí),實(shí)踐環(huán)節(jié)8學(xué)時(shí)。

        3.1理論教學(xué)環(huán)節(jié)設(shè)計(jì)

        “設(shè)計(jì)模式”的理論教學(xué)內(nèi)容包括UML的基本內(nèi)容和GOF提出的23種基本設(shè)計(jì)模式,另外補(bǔ)充講解一些屬于23種基本設(shè)計(jì)模式以外,但在實(shí)際開發(fā)過程中常用的模式,比如模型-視圖-控制器(MVC)模式等。23種基本設(shè)計(jì)模式又可分為創(chuàng)建模式、結(jié)構(gòu)模式和行為模式三大類[2]。在對(duì)這23種模式的講解過程中,對(duì)于一些看上去相似但實(shí)質(zhì)上不同的模式應(yīng)該清楚地說明幾種模式之間的區(qū)別,以及各種模式各自適用的場(chǎng)合。具體的內(nèi)容和學(xué)時(shí)分配如下:

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

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

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

        (4) 結(jié)構(gòu)模式(4學(xué)時(shí))。結(jié)構(gòu)模式總共有7種,分別為適配器模式、橋接模式、組合模式、裝飾模式、門面模式、享元模式和代理模式。重點(diǎn)區(qū)別適配器模式和橋接模式、組合模式和裝飾模式、適配器模式和裝飾模式、享元模式與代理模式。

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

        (6) 其他非標(biāo)準(zhǔn)模式(2學(xué)時(shí))。除了以上23種基本的設(shè)計(jì)模式外,還有一些模式在實(shí)際應(yīng)用中經(jīng)常使用到,比如MVC模式。嚴(yán)格地來講MVC不屬于設(shè)計(jì)模式,而屬于框架模式,但由于在軟件開發(fā)過程中經(jīng)常應(yīng)用到,所以也應(yīng)該讓學(xué)生掌握。

        3.2實(shí)踐教學(xué)環(huán)節(jié)設(shè)計(jì)

        實(shí)踐環(huán)節(jié)主要是為了讓學(xué)生鞏固和應(yīng)用理論教學(xué)環(huán)節(jié)中所學(xué)到的知識(shí)。這一環(huán)節(jié)分為4個(gè)單元,每個(gè)單元2學(xué)時(shí),總共8個(gè)學(xué)時(shí)。每個(gè)單元出一個(gè)題目讓學(xué)生使用一種設(shè)計(jì)模式來設(shè)計(jì),然后用UML圖表現(xiàn)出來,最后編寫程序?qū)崿F(xiàn),為培養(yǎng)學(xué)生的創(chuàng)新能力,全部為設(shè)計(jì)型實(shí)驗(yàn)。其中實(shí)驗(yàn)1~3分別讓學(xué)生使用創(chuàng)建模式、結(jié)構(gòu)模式和行為模式中的一種進(jìn)行設(shè)計(jì)和實(shí)現(xiàn)。實(shí)驗(yàn)4為綜合實(shí)驗(yàn),對(duì)于給定的題目,綜合運(yùn)用理論教學(xué)中講過各種模式進(jìn)行設(shè)計(jì),最后編程序解決該問題。

        “設(shè)計(jì)模式”課程的所有教學(xué)內(nèi)容和學(xué)時(shí)分配如表1所示。

        4結(jié)語

        “設(shè)計(jì)模式”課程主要是針對(duì)軟件工程專業(yè)的本科生,是“面向?qū)ο蟪绦蛟O(shè)計(jì)”課程的擴(kuò)展。教學(xué)目標(biāo)是讓軟件工程專業(yè)的學(xué)生掌握在實(shí)際的軟件設(shè)計(jì)過程中常用的一些模式,提高學(xué)生的軟件設(shè)計(jì)能力,從而提高學(xué)生的就業(yè)競(jìng)爭(zhēng)力,滿足軟件企業(yè)的需求。另外增加這樣一門課程,使我們當(dāng)前的課程體系更加完善,更能適應(yīng)當(dāng)前計(jì)算機(jī)人才培養(yǎng)的需求,尤其是面向企業(yè)的應(yīng)用型人才的培養(yǎng)。當(dāng)然具體的效果如何,還需要實(shí)踐的檢驗(yàn)。

        參考文獻(xiàn):

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

        [2] Erich Gamma, Richard Helm. 設(shè)計(jì)模式——可復(fù)用面向?qū)ο筌浖幕A(chǔ)[M]. 馬曉星,譯. 北京:機(jī)械工業(yè)出版社,2000.

        [3] 閻宏. Java與模式[M]. 北京:電子工業(yè)出版社,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

        (編輯:白杰)

        亚洲一区二区三区久久蜜桃| 亚洲中文字幕在线第二页| 亚洲av日韩av卡二| 无码人妻av免费一区二区三区| 精品人妻伦九区久久AAA片69| 韩国三级大全久久网站| 九一九色国产| 成人动漫久久| 级毛片无码av| 中文片内射在线视频播放| 免费a级毛片又大又粗又黑| 女人下面毛多水多视频| 国产丝袜一区二区三区在线不卡| 亚洲一区二区三区厕所偷拍| 国产内射爽爽大片| 久久久无码中文字幕久...| 国产成人影院一区二区| 最大色网男人的av天堂| 国产老熟女伦老熟妇露脸 | 色偷偷噜噜噜亚洲男人| 国产免费AV片在线看| 亚洲国产丝袜美女在线| 免费a级毛片18禁网站| 99热久久精里都是精品6| 2017天天爽夜夜爽精品视频| 国产人妖视频一区二区| 亚洲国产精品一区二区www| 欧美国产日本高清不卡| 日本嗯啊在线观看| 亚洲视频免费在线观看| 97人妻精品一区二区三区| 96精品在线| 在线高清亚洲精品二区| 久久久久亚洲av综合波多野结衣| 久久丫精品国产亚洲av| 粉嫩av一区二区在线观看| 国产精品一区二区韩国av| 国产一区二区三区免费观看在线| 久久99国产精品尤物| 日韩国产一区二区三区在线观看| 国产精品白丝久久av网站|