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

        ?

        以面向?qū)ο笏季S為主線的教學(xué)設(shè)計(jì)研究

        2019-10-08 06:43:30郭惠芳
        軟件 2019年5期

        摘 ?要: 面向?qū)ο蠓治雠c設(shè)計(jì)課程理論性比較強(qiáng),內(nèi)容設(shè)計(jì)上也比較繁雜,容易在教學(xué)中失去重點(diǎn),針對(duì)教學(xué)中培養(yǎng)面向?qū)ο笏季S難點(diǎn)進(jìn)行分析,闡明引導(dǎo)學(xué)生理解面向?qū)ο笤O(shè)計(jì)的目的和用途的重要性,并使用層層遞進(jìn)方法解決為何學(xué)的問(wèn)題;圍繞面向?qū)ο笤O(shè)計(jì)的目的,闡述面向?qū)ο蟮幕咎卣髋c設(shè)計(jì)原則和模式的內(nèi)在關(guān)聯(lián),進(jìn)一步明確面向?qū)ο笤O(shè)計(jì)的本質(zhì)。

        關(guān)鍵詞: 面向?qū)ο蠓治雠c設(shè)計(jì)課程;面向?qū)ο笏季S;面向?qū)ο蠓治雠c設(shè)計(jì)

        中圖分類號(hào): TP311 ? ?文獻(xiàn)標(biāo)識(shí)碼: A ? ?DOI:10.3969/j.issn.1003-6970.2019.05.017

        本文著錄格式:郭惠芳. 以面向?qū)ο笏季S為主線的教學(xué)設(shè)計(jì)研究[J]. 軟件,2019,40(5):9092

        【Abstract】: The course of object-oriented analysis and design is relatively theoretical and complex in content design, which is easy to lose its focus in teaching. This paper analyses the difficulties in training object-oriented thinking in teaching, clarifies the importance of guiding students to understand the purpose and purpose of object-oriented design, and uses the progressive method to solve the problem of why to learn; expounds the purpose of object-oriented design around the purpose of object-oriented design. This paper describes the basic characteristics of object-oriented design and the inherent relationship between design principles and patterns, and further clarifies the essence of object-oriented design.

        【Key words】: Object-oriented analysis and design curriculum; Object-oriented thinking; Object-oriented analysis and design

        0 ?引言

        有些概念是屬于人人都知道,甚至人人都在用,卻并不深知,面向?qū)ο缶褪瞧渲兄?。有不少學(xué)生畢業(yè)幾年后,與我反映,用了多年的面向?qū)ο笳Z(yǔ)言,卻并未真正進(jìn)行過(guò)面向?qū)ο蟮脑O(shè)計(jì)。自己也是在工作多年后,在不斷的摸索中慢慢對(duì)面向?qū)ο笏枷胗兴J(rèn)識(shí)。

        1 ?面向?qū)ο笳Z(yǔ)言的普及

        “面向?qū)ο蟪绦蛟O(shè)計(jì)”課程是計(jì)科和軟件專業(yè)的專業(yè)基礎(chǔ)課,這類課程著重于講解面向?qū)ο蟪绦蛟O(shè)計(jì)語(yǔ)言的語(yǔ)法、數(shù)據(jù)結(jié)構(gòu)及算法,學(xué)生之前也掌握了Java語(yǔ)言/C++語(yǔ)言,但在實(shí)踐項(xiàng)目中卻很難有效使用面向?qū)ο蟮脑O(shè)計(jì)方法[1]。

        學(xué)習(xí)了“面向?qū)ο蠓治雠c設(shè)計(jì)”課程后,這種情況有所改善,大部分學(xué)生明白了使用一門(mén)面向?qū)ο笳Z(yǔ)言進(jìn)行程序設(shè)計(jì)與面向?qū)ο蟮脑O(shè)計(jì)是兩碼事,面向?qū)ο笏且环N思維方式,也是一項(xiàng)程序設(shè)計(jì)技術(shù)。它的基本思路是利用對(duì)象各司其職、相互協(xié)作完成每項(xiàng)工作,設(shè)計(jì)中有一系列原則和方法來(lái)保證系統(tǒng)各部分的低耦合、高內(nèi)聚性,以得到一個(gè)維護(hù)成本低、靈活性和可擴(kuò)展性好的系統(tǒng)。但就多數(shù)年輕的軟件從業(yè)者的反映看,真正的面向?qū)ο蟮脑O(shè)計(jì)還遠(yuǎn)未達(dá)到[2]。

        2 ?解決為什么要學(xué)的問(wèn)題

        2.1 ?直觀的引入

        在面向?qū)ο蠓治雠c設(shè)計(jì)課程中常說(shuō)的一句話就是,面向?qū)ο蟮脑O(shè)計(jì)思想是最接近人的思維,符合人類對(duì)現(xiàn)實(shí)世界的認(rèn)知,這個(gè)世界是由人組成的,每個(gè)人又各司其職,需要?jiǎng)e人協(xié)助時(shí),可以借用另一個(gè)人或團(tuán)體來(lái)完成。那么每個(gè)人就是一個(gè)對(duì)象,每一種角色就是一個(gè)類。各自獨(dú)立又相互協(xié)作完成一個(gè)系統(tǒng)的運(yùn)轉(zhuǎn)。這個(gè)道理是挺好理解的,但這個(gè)道理好像還不足以說(shuō)服學(xué)生從編寫(xiě)面向過(guò)程的思路改變?yōu)槊嫦驅(qū)ο?。[3-4]

        那么在軟件設(shè)計(jì)時(shí)如何才能盡力減少這種軟件維護(hù)的成本呢?抽象是一種行之有效的方法,是人類掌握復(fù)雜事物,設(shè)計(jì)復(fù)雜事物的基本方法。如何講讓“抽象”的概念不那么抽象呢?

        2.2 ?抽象的層次

        1)面向過(guò)程中的算法抽象

        抽象這個(gè)概念離我們并不遙遠(yuǎn),大家熟知的數(shù)據(jù)結(jié)構(gòu)其實(shí)也是一種抽象,它是一種比算法抽象更底層的抽象。比如一個(gè)數(shù)組,一個(gè)二叉樹(shù),它們都是代表一種數(shù)據(jù)集合的抽象,解決特定問(wèn)題時(shí)它們使用起來(lái)更為方便而已。[5-7]

        2)面向?qū)ο蟮某橄?/p>

        由于學(xué)生此時(shí)一般已學(xué)習(xí)過(guò)Java或C++語(yǔ)言,可以直接用代碼來(lái)實(shí)現(xiàn)上述的對(duì)象,并在主程序中使用這些對(duì)象,使學(xué)生直觀理解,在更大范圍內(nèi)進(jìn)行抽象的好處。將事物的數(shù)據(jù)及行為進(jìn)行封裝,并對(duì)相似的事物的行為進(jìn)行抽象,這樣使用一個(gè)復(fù)雜系統(tǒng)會(huì)更加簡(jiǎn)便。

        2.3 ?軟件的靈活性

        從許多事例中我們得到一個(gè)結(jié)論,一個(gè)軟件系統(tǒng)只要它在使用,就會(huì)有需求變化,因?yàn)檫@個(gè)世界在不斷變化之中,需求變更是不可避免的,識(shí)別并定義那些系統(tǒng)中相對(duì)穩(wěn)對(duì)的部分,并在構(gòu)建軟件系統(tǒng)時(shí)將這部分抽象出來(lái)。在面向?qū)ο蟮脑O(shè)計(jì)中給出了多種分離抽象與具體實(shí)現(xiàn)的手段,讓系統(tǒng)的其它部分建立在相對(duì)穩(wěn)定的抽象(接口)之上,而具體實(shí)現(xiàn)可以在以后被新的需求所替代[8-9]。

        3 ?面向?qū)ο笏季S的具體體現(xiàn)

        3.1 ?理解面向?qū)ο蟮幕咎卣?/p>

        面向?qū)ο蟮幕咎卣饕话阏f(shuō)法是三個(gè):封裝、繼承和多態(tài),還有說(shuō)法是四個(gè):封裝、繼承、抽象和多態(tài)。

        1)封裝,這個(gè)特征是所有面向?qū)ο笙到y(tǒng)中都會(huì)使用到的,但封裝得合適與否,就大不相同了。封裝的作用我們前面提到一個(gè)就是方便共享,將數(shù)據(jù)與其行為進(jìn)行封裝,使用時(shí)比使用一堆函數(shù)要方便;但封裝得合適與否的標(biāo)準(zhǔn)卻并不是一句話能講清楚的,我們只能說(shuō)合適的封裝是需要一個(gè)過(guò)程的,伴隨著系統(tǒng)分析與設(shè)計(jì)過(guò)程,需要經(jīng)過(guò)反復(fù)的重構(gòu),最終才能得到一個(gè)合適封裝的系統(tǒng)。

        2)繼承,這個(gè)特征是面向?qū)ο笾写a重用的重要手段之一,通過(guò)繼承父類的非私有成員,子類獲得了在父類中已定義好的大部分功能,初學(xué)者比較喜歡用這個(gè)特征,但這個(gè)特征最容易被過(guò)度使用,隨著我們后面學(xué)習(xí)面向?qū)ο笤O(shè)計(jì)原則中舉的一些例子,會(huì)讓學(xué)生理解有些繼承不如組合這種特征靈活。

        3)多態(tài),這個(gè)特征一直是一些學(xué)生的難點(diǎn),多態(tài)是指父對(duì)象中的同一個(gè)行為能在其多個(gè)子對(duì)象中有不同的表現(xiàn)。這是為什么呢?為啥需要有這個(gè)多種表現(xiàn)呢?這些問(wèn)題都是影響學(xué)生理解這一概念的難點(diǎn)所在。

        3.2 ?面向?qū)ο笤O(shè)計(jì)原則與模式

        面向?qū)ο蟮脑O(shè)計(jì)原則講五個(gè)足夠了,它的核心就是開(kāi)閉原則,而里氏替換、依賴倒置等原則都是為開(kāi)閉原則提供具體的手段。使用案例講清楚每個(gè)原則的含義,讓學(xué)生理解它的用途,真正運(yùn)用這些原則需要一個(gè)循序漸進(jìn)的過(guò)程,在后面的設(shè)計(jì)模式中可以再舉些例子加強(qiáng)對(duì)原則的理解,因?yàn)槊嫦驅(qū)ο蟮脑O(shè)計(jì)模式無(wú)一不是對(duì)原則的不同詮釋。

        4 ?實(shí)際系統(tǒng)設(shè)計(jì)中貫徹面向?qū)ο笏季S

        在面向?qū)ο蠓治雠c設(shè)計(jì)課程中,我們是這么安排:

        單元一 面向?qū)ο蟮幕靖拍睢T诖藛卧薪鉀Q為什么要學(xué)面向?qū)ο?,面向?qū)ο笤O(shè)計(jì)的目的是什么。有了目標(biāo),有了基本的面向?qū)ο蟮乃季S,在實(shí)際系統(tǒng)設(shè)計(jì)中如何使用就不會(huì)沒(méi)有方向。

        單元二 統(tǒng)一建模語(yǔ)言概述。此單元概要地介紹UML這種建模語(yǔ)言的概貌,以及發(fā)展歷程。為下面系統(tǒng)的分析與設(shè)計(jì)做準(zhǔn)備。

        單元三 面向?qū)ο蟮姆治觥4藛卧亟榻B在需求分析階段,如何適當(dāng)使用UML中的用例模型、分析類圖及輔助模型進(jìn)行需求分析及表示。

        單元四 面向?qū)ο蟮脑O(shè)計(jì)。此單元著重介紹在系統(tǒng)設(shè)計(jì)過(guò)程中如何由分析類圖細(xì)化至設(shè)計(jì)類圖,以及各類職責(zé)及類間的協(xié)作進(jìn)一步劃分和確定。

        單元五 面向?qū)ο笤O(shè)計(jì)模式簡(jiǎn)介。此單元著重介紹幾個(gè)常用的設(shè)計(jì)模式,用實(shí)例說(shuō)明其適用場(chǎng)合及作用方式。

        在這個(gè)部分我們引導(dǎo)學(xué)生理解模型是為系統(tǒng)的分析與設(shè)計(jì)服務(wù)的,它是面向?qū)ο笏枷氲囊环N體現(xiàn),一種表達(dá)而已。面向?qū)ο蟮脑O(shè)計(jì)圍繞需求,運(yùn)用面向?qū)ο蟮乃枷脒M(jìn)行設(shè)計(jì)、用適當(dāng)?shù)哪P捅磉_(dá)出來(lái)就可以,并不是模型設(shè)計(jì)的越復(fù)雜越好或UML模型越漂亮越好[10]。

        5 ?結(jié)語(yǔ)

        面向?qū)ο蟾嗟氖且环N思維模式,它是軟件工程專業(yè)人員必備的素養(yǎng),也是計(jì)算機(jī)相關(guān)專業(yè)應(yīng)該有的訓(xùn)練內(nèi)容。我認(rèn)為讓學(xué)生學(xué)會(huì)使用工具進(jìn)行面向?qū)ο蠓治雠c設(shè)計(jì)固然重要,但更重要的

        是面向?qū)ο笤O(shè)計(jì)本身,面向?qū)ο笤O(shè)計(jì)的初心以及如何達(dá)成這樣的目的。在當(dāng)前新工科專業(yè)人才培養(yǎng)思路的引領(lǐng)下,想要培養(yǎng)復(fù)合型人才,推動(dòng)原始創(chuàng)新發(fā)展,打牢理論基礎(chǔ)是根本,使學(xué)生從只會(huì)使用工具,轉(zhuǎn)換到有意識(shí)地掌握軟件工程思想方法以及思維模式。

        參考文獻(xiàn)

        [1] 譚火彬, 林廣艷. 培養(yǎng)軟件工程思想的面向?qū)ο蟪绦蛟O(shè)計(jì)課程改革與實(shí)踐[J]. 《計(jì)算機(jī)教育》2018(8): 53-58.

        [2] 高歌在羊城. 循序漸進(jìn)地培養(yǎng)面向?qū)ο蟮乃季S方式[EB/OL]. https://www.cnblogs.com/georgeguo/p/3904256.html.

        [3] 高賢君, 楊元維, 李功權(quán). 面向計(jì)算思維的Web程序設(shè)計(jì)教學(xué)思考[J]. 電腦知識(shí)與技術(shù), 2018, 14(21): 141-143.

        [4] 王麗影, 石秋香, 王順才. 應(yīng)用型大學(xué)背景下《面向?qū)ο蟪绦蛟O(shè)計(jì)(C#)》課程教學(xué)設(shè)計(jì)探究[J]. 辦公自動(dòng)化, 2019, 24(04): 33-34+47.

        [5] 闞運(yùn)奇. “面向?qū)ο蟪绦蛟O(shè)計(jì)”教學(xué)方法研究[J]. 無(wú)線互聯(lián)科技, 2018, 15(23): 151-152.

        [6] 孟瑤. 面向?qū)ο蟪绦蛟O(shè)計(jì)課程微課設(shè)計(jì)研究[J]. 信息與電腦(理論版), 2018(22): 230-232+235.

        [7] 錢誠(chéng), 徐煜明. 面向?qū)ο蟪绦蛟O(shè)計(jì)課程案例法教學(xué)探討[J]. 電子世界, 2018(22): 100.

        [8] 孫勇, 徐建輝. 定位于實(shí)踐的面向?qū)ο蟪绦蛟O(shè)計(jì)課程教學(xué)探索[J]. 教育現(xiàn)代化, 2018, 5(40): 271-274.

        [9] 譚火彬, 林廣艷. 培養(yǎng)軟件工程思想的面向?qū)ο蟪绦蛟O(shè)計(jì)課程改革與實(shí)踐[J]. 計(jì)算機(jī)教育, 2018(08): 53-58.

        [10] wengxuan_kanon. 真的理解面向?qū)ο笏季S[EB/OL]. https: //blog.csdn.net/kanonlemon/article/details/70052522.

        国产无吗一区二区三区在线欢| 久草青青91在线播放| 国产一区二区三区内射| 精品国产粉嫩内射白浆内射双马尾| 尤物yw午夜国产精品视频| 亚洲人成网网址在线看| 欧美内射深喉中文字幕| 日本少妇人妻xxxxx18| 99热门精品一区二区三区无码| 一本一道av无码中文字幕﹣百度| 东北少妇不带套对白| 精品国产aⅴ无码一区二区 | 国产亚洲情侣一区二区无 | 亚洲成a∨人片在线观看无码| 国产精品亚洲一区二区三区| 国产av无码专区亚洲avjulia| 中文字幕乱码亚洲精品一区| 国产精品无码一区二区三区免费 | 精品国产综合区久久久久久 | 国产熟妇按摩3p高潮大叫| 亚洲成人电影在线观看精品国产 | 国产精品毛片va一区二区三区| 国产精品狼人久久久久影院| 伊人网在线视频观看| 在线观看av片永久免费| 亚洲蜜臀av一区二区三区漫画| 看国产亚洲美女黄色一级片| 电驱蚊液可以插一晚上吗| 亚洲日韩av无码| 人人狠狠综合久久亚洲婷婷| 天天插天天干天天操| 蜜桃av一区二区三区| 东京热日本av在线观看| 国内精品久久久久影院薰衣草| 亚洲av永久无码精品国产精品 | 精品国产亚洲人成在线观看| 日韩av一区二区不卡在线| 日韩综合无码一区二区| 1000部夫妻午夜免费| 亚洲国产精品久久久久久网站| 亚洲欧美变态另类综合|