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

以面向對象思維為主線的教學設計研究

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

摘 ?要: 面向對象分析與設計課程理論性比較強,內容設計上也比較繁雜,容易在教學中失去重點,針對教學中培養面向對象思維難點進行分析,闡明引導學生理解面向對象設計的目的和用途的重要性,并使用層層遞進方法解決為何學的問題;圍繞面向對象設計的目的,闡述面向對象的基本特征與設計原則和模式的內在關聯,進一步明確面向對象設計的本質。

關鍵詞: 面向對象分析與設計課程;面向對象思維;面向對象分析與設計

中圖分類號: TP311 ? ?文獻標識碼: A ? ?DOI:10.3969/j.issn.1003-6970.2019.05.017

本文著錄格式:郭惠芳. 以面向對象思維為主線的教學設計研究[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 ?引言

有些概念是屬于人人都知道,甚至人人都在用,卻并不深知,面向對象就是其中之一。有不少學生畢業幾年后,與我反映,用了多年的面向對象語言,卻并未真正進行過面向對象的設計。自己也是在工作多年后,在不斷的摸索中慢慢對面向對象思想有所認識。

1 ?面向對象語言的普及

“面向對象程序設計”課程是計科和軟件專業的專業基礎課,這類課程著重于講解面向對象程序設計語言的語法、數據結構及算法,學生之前也掌握了Java語言/C++語言,但在實踐項目中卻很難有效使用面向對象的設計方法[1]。

學習了“面向對象分析與設計”課程后,這種情況有所改善,大部分學生明白了使用一門面向對象語言進行程序設計與面向對象的設計是兩碼事,面向對象它是一種思維方式,也是一項程序設計技術。它的基本思路是利用對象各司其職、相互協作完成每項工作,設計中有一系列原則和方法來保證系統各部分的低耦合、高內聚性,以得到一個維護成本低、靈活性和可擴展性好的系統。但就多數年輕的軟件從業者的反映看,真正的面向對象的設計還遠未達到[2]。

2 ?解決為什么要學的問題

2.1 ?直觀的引入

在面向對象分析與設計課程中常說的一句話就是,面向對象的設計思想是最接近人的思維,符合人類對現實世界的認知,這個世界是由人組成的,每個人又各司其職,需要別人協助時,可以借用另一個人或團體來完成。那么每個人就是一個對象,每一種角色就是一個類。各自獨立又相互協作完成一個系統的運轉。這個道理是挺好理解的,但這個道理好像還不足以說服學生從編寫面向過程的思路改變為面向對象。[3-4]

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

2.2 ?抽象的層次

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

抽象這個概念離我們并不遙遠,大家熟知的數據結構其實也是一種抽象,它是一種比算法抽象更底層的抽象。比如一個數組,一個二叉樹,它們都是代表一種數據集合的抽象,解決特定問題時它們使用起來更為方便而已。[5-7]

2)面向對象的抽象

由于學生此時一般已學習過Java或C++語言,可以直接用代碼來實現上述的對象,并在主程序中使用這些對象,使學生直觀理解,在更大范圍內進行抽象的好處。將事物的數據及行為進行封裝,并對相似的事物的行為進行抽象,這樣使用一個復雜系統會更加簡便。

2.3 ?軟件的靈活性

從許多事例中我們得到一個結論,一個軟件系統只要它在使用,就會有需求變化,因為這個世界在不斷變化之中,需求變更是不可避免的,識別并定義那些系統中相對穩對的部分,并在構建軟件系統時將這部分抽象出來。在面向對象的設計中給出了多種分離抽象與具體實現的手段,讓系統的其它部分建立在相對穩定的抽象(接口)之上,而具體實現可以在以后被新的需求所替代[8-9]。

3 ?面向對象思維的具體體現

3.1 ?理解面向對象的基本特征

面向對象的基本特征一般說法是三個:封裝、繼承和多態,還有說法是四個:封裝、繼承、抽象和多態。

1)封裝,這個特征是所有面向對象系統中都會使用到的,但封裝得合適與否,就大不相同了。封裝的作用我們前面提到一個就是方便共享,將數據與其行為進行封裝,使用時比使用一堆函數要方便;但封裝得合適與否的標準卻并不是一句話能講清楚的,我們只能說合適的封裝是需要一個過程的,伴隨著系統分析與設計過程,需要經過反復的重構,最終才能得到一個合適封裝的系統。

2)繼承,這個特征是面向對象中代碼重用的重要手段之一,通過繼承父類的非私有成員,子類獲得了在父類中已定義好的大部分功能,初學者比較喜歡用這個特征,但這個特征最容易被過度使用,隨著我們后面學習面向對象設計原則中舉的一些例子,會讓學生理解有些繼承不如組合這種特征靈活。

3)多態,這個特征一直是一些學生的難點,多態是指父對象中的同一個行為能在其多個子對象中有不同的表現。這是為什么呢?為啥需要有這個多種表現呢?這些問題都是影響學生理解這一概念的難點所在。

3.2 ?面向對象設計原則與模式

面向對象的設計原則講五個足夠了,它的核心就是開閉原則,而里氏替換、依賴倒置等原則都是為開閉原則提供具體的手段。使用案例講清楚每個原則的含義,讓學生理解它的用途,真正運用這些原則需要一個循序漸進的過程,在后面的設計模式中可以再舉些例子加強對原則的理解,因為面向對象的設計模式無一不是對原則的不同詮釋。

4 ?實際系統設計中貫徹面向對象思維

在面向對象分析與設計課程中,我們是這么安排:

單元一 面向對象的基本概念。在此單元中解決為什么要學面向對象,面向對象設計的目的是什么。有了目標,有了基本的面向對象的思維,在實際系統設計中如何使用就不會沒有方向。

單元二 統一建模語言概述。此單元概要地介紹UML這種建模語言的概貌,以及發展歷程。為下面系統的分析與設計做準備。

單元三 面向對象的分析。此單元著重介紹在需求分析階段,如何適當使用UML中的用例模型、分析類圖及輔助模型進行需求分析及表示。

單元四 面向對象的設計。此單元著重介紹在系統設計過程中如何由分析類圖細化至設計類圖,以及各類職責及類間的協作進一步劃分和確定。

單元五 面向對象設計模式簡介。此單元著重介紹幾個常用的設計模式,用實例說明其適用場合及作用方式。

在這個部分我們引導學生理解模型是為系統的分析與設計服務的,它是面向對象思想的一種體現,一種表達而已。面向對象的設計圍繞需求,運用面向對象的思想進行設計、用適當的模型表達出來就可以,并不是模型設計的越復雜越好或UML模型越漂亮越好[10]。

5 ?結語

面向對象更多的是一種思維模式,它是軟件工程專業人員必備的素養,也是計算機相關專業應該有的訓練內容。我認為讓學生學會使用工具進行面向對象分析與設計固然重要,但更重要的

是面向對象設計本身,面向對象設計的初心以及如何達成這樣的目的。在當前新工科專業人才培養思路的引領下,想要培養復合型人才,推動原始創新發展,打牢理論基礎是根本,使學生從只會使用工具,轉換到有意識地掌握軟件工程思想方法以及思維模式。

參考文獻

[1] 譚火彬, 林廣艷. 培養軟件工程思想的面向對象程序設計課程改革與實踐[J]. 《計算機教育》2018(8): 53-58.

[2] 高歌在羊城. 循序漸進地培養面向對象的思維方式[EB/OL]. https://www.cnblogs.com/georgeguo/p/3904256.html.

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

[4] 王麗影, 石秋香, 王順才. 應用型大學背景下《面向對象程序設計(C#)》課程教學設計探究[J]. 辦公自動化, 2019, 24(04): 33-34+47.

[5] 闞運奇. “面向對象程序設計”教學方法研究[J]. 無線互聯科技, 2018, 15(23): 151-152.

[6] 孟瑤. 面向對象程序設計課程微課設計研究[J]. 信息與電腦(理論版), 2018(22): 230-232+235.

[7] 錢誠, 徐煜明. 面向對象程序設計課程案例法教學探討[J]. 電子世界, 2018(22): 100.

[8] 孫勇, 徐建輝. 定位于實踐的面向對象程序設計課程教學探索[J]. 教育現代化, 2018, 5(40): 271-274.

[9] 譚火彬, 林廣艷. 培養軟件工程思想的面向對象程序設計課程改革與實踐[J]. 計算機教育, 2018(08): 53-58.

[10] wengxuan_kanon. 真的理解面向對象思維[EB/OL]. https: //blog.csdn.net/kanonlemon/article/details/70052522.

主站蜘蛛池模板: 欧美五月婷婷| 干中文字幕| 亚洲第一精品福利| 在线观看网站国产| 米奇精品一区二区三区| 亚洲天堂区| 国产在线精品网址你懂的| 九九九九热精品视频| 亚洲天堂精品在线| 日韩福利在线视频| 日本道综合一本久久久88| 久久99精品国产麻豆宅宅| 九色综合伊人久久富二代| 人妻少妇乱子伦精品无码专区毛片| 青草精品视频| 国产流白浆视频| 无码啪啪精品天堂浪潮av| 91 九色视频丝袜| 免费视频在线2021入口| 国内丰满少妇猛烈精品播| 午夜无码一区二区三区在线app| 欧美福利在线| 人妻无码一区二区视频| 2021国产在线视频| 婷婷六月在线| 国产精品综合久久久| 日韩欧美国产精品| 日韩123欧美字幕| 久久综合伊人77777| 无码人妻免费| 欧美一级高清免费a| 国产一区在线观看无码| 国产成人欧美| 成人国产精品视频频| 9久久伊人精品综合| 国产女人水多毛片18| 亚洲精品图区| 在线观看免费AV网| 啪啪啪亚洲无码| 精品久久久久久中文字幕女| 在线观看亚洲成人| 91麻豆久久久| 日本人真淫视频一区二区三区| 国产高清在线精品一区二区三区| 91精品日韩人妻无码久久| 波多野一区| 91精品aⅴ无码中文字字幕蜜桃| 国产美女精品一区二区| 久久久久久久久亚洲精品| 一级毛片在线免费看| 欧美日韩免费在线视频| 成人国产免费| 67194在线午夜亚洲| 亚洲第一视频网站| 亚洲日本在线免费观看| www精品久久| 国产成人亚洲毛片| 欧美中文字幕一区| 特级毛片免费视频| 成人在线综合| 国产成人亚洲无吗淙合青草| 国产成人一区免费观看 | 久久女人网| 国产女人在线| 人妻精品久久无码区| 综合亚洲色图| 青青操视频免费观看| 极品私人尤物在线精品首页| 国产青榴视频在线观看网站| 国产香蕉在线| 久久伊人操| 中文字幕av无码不卡免费| 精品久久香蕉国产线看观看gif| 青青草一区| 中文字幕日韩丝袜一区| 国产www网站| 蜜臀AVWWW国产天堂| 免费一级毛片在线播放傲雪网| 精品国产美女福到在线不卡f| 91午夜福利在线观看| 91在线国内在线播放老师| 亚洲国产欧美国产综合久久|