• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      基于UML的OOAD課程知識體系構(gòu)建研究

      2021-05-23 08:44石鳳貴
      電腦知識與技術(shù) 2021年11期
      關(guān)鍵詞:設(shè)計模式軟件工程面向?qū)ο?/a>

      石鳳貴

      摘要:面向?qū)ο蠓治雠c設(shè)計(OOAD)課程是軟件工程專業(yè)一門專業(yè)必修課,培養(yǎng)學生面向?qū)ο笏枷?,培養(yǎng)應(yīng)用型軟件人才。分析課程主要知識,包括面向?qū)ο蠓治?、面向?qū)ο笤O(shè)計、UML。以培養(yǎng)技能應(yīng)用型為目標,構(gòu)建課程知識體系,包括面向?qū)ο蠹夹g(shù)、UML軟件建模、系統(tǒng)設(shè)計、設(shè)計模式,通過思維導圖呈現(xiàn)。設(shè)計一個貼近學生學習與生活的完整案例貫穿整個課程。

      關(guān)鍵詞:面向?qū)ο?課程知識體系;UML;設(shè)計模式;軟件工程

      中圖分類號:G642;TP311? ? ? 文獻標識碼:A

      文章編號:1009-3044(2021)11-0122-04

      Research on the Construction of OOAD Course Knowledge System Based on UML

      SHI Feng-gui

      (Department of Software Engineering, Ma'anshan Normal College, Ma'anshan 243041, China)

      Abstract: Oriented-Object Analysis and design (OOAD) is a required course for software engineering major. It trains students' oriented-object thinking and oriented- application software talents. The main knowledge of analysis course includes oriented-object analysis, oriented-object design and UML. With the goal of training oriented-application skills, the course knowledge system is constructed, including oriented- object technology, UML software modeling, system design and design pattern, which are presented by mind map. Design a complete case close to students' study and life throughout the course.

      Key words: oriented- object; course knowledge system; UML; design pattern; software engineering

      OOAD(Oriented-Object Analysis and Design,簡稱OOAD)為面向?qū)ο蠓治雠c設(shè)計,已成為現(xiàn)代軟件工程領(lǐng)域系統(tǒng)分析與設(shè)計方法,以對象為核心。面向?qū)ο笤谲浖到y(tǒng)設(shè)計與開發(fā)方面已具有良好的性能,主要體現(xiàn)在代碼復用、系統(tǒng)維護和系統(tǒng)擴展方面。面向?qū)ο蠓治雠c設(shè)計課程以UML為建模工具建立系統(tǒng)模型,包括面向?qū)ο蠹夹g(shù)知識、UML知識、設(shè)計模式,操作性較強,為軟件工程課程的后續(xù)課程。學生具備了軟件工程基礎(chǔ)知識,面向?qū)ο蠓治雠c設(shè)計課程在此基礎(chǔ)上培養(yǎng)學生軟件系統(tǒng)的分析與設(shè)計能力,掌握UML繪制系統(tǒng)模型。面向?qū)ο蠓治雠c設(shè)計課程作為后續(xù)課程,要與軟件工程課程有機銜接,同時對軟件工程知識進行擴展,將軟件工程知識應(yīng)用在軟件項目開發(fā)上。面向?qū)ο蠓治雠c設(shè)計直接關(guān)乎軟件系統(tǒng)最終的質(zhì)量和性能,體現(xiàn)軟件工程專業(yè)應(yīng)用型人才的培養(yǎng)[1]。

      1 面向?qū)ο蠓治雠c設(shè)計課程

      專業(yè)人才的培養(yǎng)質(zhì)量取決于專業(yè)課程體系的構(gòu)建,專業(yè)課程由不同課程組成。課程知識體系的構(gòu)建直接影響人才培養(yǎng)質(zhì)量。面向?qū)ο蠓治雠c設(shè)計課程是軟件工程專業(yè)核心課程。面向?qū)ο蠓治雠c設(shè)計涵蓋了面向?qū)ο蠓治觯∣riented-Object Analysis,OOA)和面向?qū)ο笤O(shè)計(Oriented-Object Design,OOD)及UML(Unified Modeling Language,簡稱UML,統(tǒng)一建模語言)。課程的核心是采用OOA和OOD技術(shù),使用UML對系統(tǒng)建模,構(gòu)建軟件系統(tǒng)藍圖。課程主要目標是掌握OOA和OOD技術(shù);UML建模技術(shù);具備系統(tǒng)分析、設(shè)計及系統(tǒng)架構(gòu)能力;熟悉使用流行的系統(tǒng)構(gòu)建工具[2]。

      低成本、開發(fā)周期短、高性能等是開發(fā)一個軟件系統(tǒng)的目標。為保障軟件系統(tǒng)符合目標要求,軟件工程引入了工程化思想。隨著面向?qū)ο蟮陌l(fā)展,面向?qū)ο笠研纬闪艘惶淄暾乃枷牒头椒w系,廣泛應(yīng)用于計算機的各個領(lǐng)域。

      2 軟件系統(tǒng)

      2.1 軟件發(fā)展

      伴隨著信息技術(shù)的發(fā)展,軟件規(guī)模越來越大,而且快速發(fā)展。如波音型飛機涉及400萬行代碼,航天飛機涉及4000行代碼,宇宙飛船涉及2000萬行代碼,國際空間站涉及10億行代碼。新的計算和業(yè)務(wù)需求以及架構(gòu)需求對軟件的發(fā)展提出了新要求。不斷優(yōu)化、改善、擴展和重構(gòu)軟件以適應(yīng)新的計算環(huán)境、業(yè)務(wù)需求以及操作使用環(huán)境。應(yīng)用軟件系統(tǒng)也越來越復雜,規(guī)模迅速增長,動輒數(shù)百萬行代碼已是常見現(xiàn)象,如谷歌瀏覽器涉及20億行代碼。

      1968年NATO會議提出“軟件危機”,主要體現(xiàn)在項目超出預算、超過計劃完成時間、運行效率低、質(zhì)量差、不符合要求,難以管理并且代碼難以維護、不能交付。如1961-964年IBM公司的OS/360,1996年阿麗亞娜火箭爆炸,1982-1987年Therac-25軟件漏洞造成至少5人死亡,2007年北京機場信息系統(tǒng)癱瘓至少造成84個航班延誤。

      2.2 軟件生命周期

      軟件從孕育、誕生、成長、成熟、衰亡的生存過程,即一個軟件產(chǎn)品從被提出開始研制到軟件最終被廢棄不再使用為止的全過程,類似于人的一生,如圖1所示[2]。猶如設(shè)備的生產(chǎn)過程,如圖2所示[3]。軟件生命周期如圖3所示。

      3 面向?qū)ο蠓椒▽W

      3.1 面向?qū)ο笏枷?/p>

      面向?qū)ο笫且环N使用人類思考問題的方式來思考客觀世界問題,將客觀問題抽象為計算機對象。在軟件系統(tǒng)分析與設(shè)計中應(yīng)使用這種面向?qū)ο笏枷?,學生應(yīng)掌握并靈活使用這種思想。如果程序員不懂面向?qū)ο?,那么真的可能被人認為是“程序猿”,像“猿”一樣原始和稀少?!懊嫦?qū)ο蟆钡乃枷肫鹪从谟嬎銠C界一位天才級人物、Smalltalk語言之父“艾倫.C.凱”,他創(chuàng)造性地提出了“面向?qū)ο缶幊趟枷搿保?003年獲得圖靈獎。

      3.2 面向?qū)ο蠓椒?/p>

      對象可以是物理實體,也可以是事物。以認識、理解和描述客觀世界的事物的思維方式來分析設(shè)計軟件系統(tǒng),這里的事物就是對象。面向?qū)ο蟮暮诵氖穷惡蛯ο?,對象之間通過消息相互通信建立聯(lián)系,抽象、封裝、繼承、多態(tài)是面向?qū)ο蟮奶匦浴?/p>

      面向?qū)ο蠓椒ㄒ詫ο鬄楹诵?,包括OOA、OOD、OOP(Oriented-Object Programming,面向?qū)ο缶幊蹋?、OOSM(Object-Oriented Software Maintenance,面向?qū)ο筌浖S護)[4]。面向?qū)ο筌浖_發(fā)的基本思路是將客觀問題抽象為對象,然后將對象抽象為類,接著對類進行詳細設(shè)計。因此,客觀問題變成了對象的集合,對問題的分析變成對對象的分析。面向?qū)ο蠓治鼍褪菑膯栴}域中識別、篩選、確定類的過程,面向?qū)ο笤O(shè)計就是給出系統(tǒng)的解決方案。

      過去幾十年軟件發(fā)展的四個重大變化,是促進面向?qū)ο蠓治雠c設(shè)計方法迅速發(fā)展的重要因素。面向?qū)ο蠓治雠c設(shè)計就是使用UML對系統(tǒng)進行建模,繪制軟件藍圖,不考慮軟件系統(tǒng)的實現(xiàn),其本質(zhì)是一種軟件建模技術(shù)。面向?qū)ο筌浖到y(tǒng)就是以類為基本單元,通過類進行系統(tǒng)分解,以人類思維方式建立能真實反映現(xiàn)實世界的模型,從而實現(xiàn)模塊化、可復用和易維護的軟件系統(tǒng)。

      4 UML

      4.1 UML的誕生

      20世紀90年代,Jim Rumbaugh的對象建模技術(shù)(Object Modeling Technology,OMT)、Ivar Jacobson的面向軟件工程方法(Object-Oriented Software Engineering,OOSE)和Grady Booch的Booch方法3種面向?qū)ο蠼7椒ㄕ紦?jù)了統(tǒng)治地位。

      1994年,原Rational公司合并OMT和Booch方法。1995年,提出第一個建議方案即UML0.8,Jackson加入,至此面向?qū)ο箢I(lǐng)域三巨頭聚集,共同研究UML。James Rumbaugh、Ivar Jacobson和Grady Booch是UML的主要創(chuàng)始人,結(jié)束了“方法大戰(zhàn)”,強強聯(lián)合創(chuàng)造了一種開放的標準。2005年,UML1.4成為ISO國際標準,同年發(fā)布UML2.0。2012年,UML2.4.1成為ISO國際標準 [5]。

      4.2 UML表示法

      UML采用統(tǒng)一規(guī)范的符號來表示不同的模型元素,建模時需要遵循UML符號規(guī)則。系統(tǒng)的分析、設(shè)計、配置、維護等都可以使用UML完成。UML為面向?qū)ο蠓治雠c設(shè)計提供一種統(tǒng)一標準,作為使用人(客戶)、需求分析員、系統(tǒng)設(shè)計人員、程序員等之間交流溝通的通用語言。

      4.3 UML組成結(jié)構(gòu)

      UML由視圖、通用機制、模型元素三部分構(gòu)成,組成結(jié)構(gòu)如圖5所示。

      5 OOAD課程知識體系

      課程知識體系直接關(guān)乎人才培養(yǎng)質(zhì)量和能力的培養(yǎng),課程知識應(yīng)緊密結(jié)合行業(yè)要求,為社會培養(yǎng)合格專業(yè)人才。面向?qū)ο蠓治雠c設(shè)計課程是高校軟件工程專業(yè)開設(shè)的一門專業(yè)必修課,課程名稱一般有面向?qū)ο蠓治雠c設(shè)計、面向?qū)ο蠹夹g(shù)、面向?qū)ο蠓椒▽W、軟件建模技術(shù)等,培養(yǎng)學生軟件系統(tǒng)分析、設(shè)計及建模能力。

      5.1 人才培養(yǎng)目標

      習近平曾說過:“網(wǎng)絡(luò)空間的競爭,歸根結(jié)底是人才的競爭,建設(shè)網(wǎng)絡(luò)強國,沒有一支優(yōu)秀的人才隊伍,沒有人才創(chuàng)造力迸發(fā)、活力涌流,是難成功的”。這是國家對軟件人才的呼喚。高校承擔人才的培養(yǎng),應(yīng)當以卓越軟件人才為目標。卓越軟件人才如圖5所示。

      5.2 課程知識體系

      課程以培養(yǎng)應(yīng)用型人才為最終目標,以應(yīng)用型軟件工程專業(yè)學生為培養(yǎng)對象,以應(yīng)用型和技能型為驅(qū)動構(gòu)建課程知識體系,如圖6所示[6]。

      5.3 案例選擇與設(shè)計

      面向?qū)ο蠓治雠c設(shè)計課程教學中廣泛使用案例教學,也是行之有效的教學模式。針對當前高校開設(shè)的面向?qū)ο蠓治雠c設(shè)計課程教學大綱和教材進行調(diào)查分析,發(fā)現(xiàn)存在一些問題需要去解決。構(gòu)建一體化案例貫穿整個課程教學和實訓。

      1)案例選擇存在的問題

      面向?qū)ο蠓治雠c設(shè)計課程或所使用的教材使用的案例需要具備相關(guān)領(lǐng)域的專業(yè)知識,然而學生缺乏社會經(jīng)歷和專業(yè)知識,不熟悉業(yè)務(wù)和業(yè)務(wù)流程,因此學生對所學知識不易理解。另外,大多教材不同章節(jié)采用不同案例,案例之間缺乏關(guān)聯(lián)性。如需求分析時使用“網(wǎng)上商城”,系統(tǒng)分析階段使用“圖書管理系統(tǒng)”。無論是需求分析還是系統(tǒng)分析,首先都需要熟悉業(yè)務(wù)流程。這樣學生需要花時間和精力去熟悉業(yè)務(wù)需求,各章節(jié)知識不能前后融會貫通,因此也就導致了學生不能將面向?qū)ο蠹夹g(shù)應(yīng)用到一個具體的案例中,不能真正體會完整的軟件系統(tǒng)開發(fā)過程。而且課后實訓(作業(yè))是另外一個項目。

      2)構(gòu)建完整案例貫穿整個課程

      案例的選擇相當關(guān)鍵,案例是否合適,將直接影響課程教學效果。因此,面向?qū)ο蠓治雠c設(shè)計課程選擇的案例應(yīng)當具有較強的實踐性,系統(tǒng)業(yè)務(wù)學生有所接觸和體會,最好能貼近學生學習和生活,這樣學生更加熟悉系統(tǒng)業(yè)務(wù)流程,激發(fā)學習興趣,有利于項目的進行,同時有利于培養(yǎng)學生的創(chuàng)新能力[7]。選擇的案例要難度適中,要結(jié)合專業(yè)課程教學體系,符合學生專業(yè)知識狀況。若知識面過寬或難度大,會打消學生的積極性,降低學生的參與度。應(yīng)選擇一個完整的案例,貫穿整個課程教學,包括課堂演示、課堂實訓,課后實訓任務(wù),按照軟件開發(fā)過程將面向?qū)ο蠓治雠c設(shè)計知識串聯(lián)起來。

      因此,可以選取學生比較熟悉的領(lǐng)域案例,如“高校圖書管理系統(tǒng)”“網(wǎng)上購物商城”“高校學生住宿管理系統(tǒng)”等。這些系統(tǒng)均比較貼近學生的學習和生活,學生對其中的業(yè)務(wù)流程比較熟悉。選取的案例應(yīng)進行適當?shù)奶幚?,更符合用于教學,確保學生容易掌握、理解。

      6 結(jié)束語

      面向?qū)ο蠓治雠c設(shè)計以對象為核心,以面向?qū)ο蠓治觥⒚嫦驅(qū)ο笤O(shè)計為技術(shù),采用UML對軟件系統(tǒng)進行建模。面向?qū)ο蠓治雠c設(shè)計課程以軟件工程課程為先導課程,圍繞OOA、OOD、UML、軟件體系結(jié)構(gòu)構(gòu)件課程知識,以培養(yǎng)應(yīng)用型人才為最終目標。課程教學以案例教學為驅(qū)動,選擇、設(shè)計一個貼近學生生活和學習的完整案例貫穿整個課程教學。

      參考文獻:

      [1] 陳麗萍.地方應(yīng)用型高?!禪ML面向?qū)ο蠓治雠c設(shè)計》課程案例教學法優(yōu)化研究與實踐[J].忻州師范學院學報,2019,35(5):17-21.

      [2] 吳含前,吉逸.《面向?qū)ο蠹夹g(shù)&UML》教學改革與實踐[J].計算機工程與科學,2011,33(A1):23-26.

      [3] 馬麗,單冬紅,張國平,等.軟件工程[EB/OL].[2020-05-25].https://www.icourse163.org/learn/PDSU-1002125020?tid=1206 863205#/learn/announce.

      [4] 劉敏.熱軋買驗軋機過程控制系統(tǒng)的研究[D].沈陽:東北大學,2014.

      [5] 崔小丹.基于UML的軟件模型檢測方法研究與應(yīng)用[D].西安:西安理工大學,2015.

      [6] 楊少波,盧葦.J2EE項目實訓——UML及設(shè)計模式[M].北京:清華大學出版社,2008.

      [7] 李太平,戴迎峰,黃富琨.案例教學困境及其超越的文化思考[J].高等工程教育研究,2017(4):165-168,191.

      【通聯(lián)編輯:謝媛媛】

      猜你喜歡
      設(shè)計模式軟件工程面向?qū)ο?/a>
      “1+1”作業(yè)設(shè)計模式的實踐探索
      三維協(xié)同設(shè)計模式下的航天項目管理實踐與展望
      交通機電工程設(shè)計模式創(chuàng)新探討
      面向?qū)ο蟮挠嬎銠C網(wǎng)絡(luò)設(shè)計軟件系統(tǒng)的開發(fā)
      面向?qū)ο蟮臄?shù)據(jù)交換協(xié)議研究與應(yīng)用
      關(guān)于如何創(chuàng)新和完善計算機軟件工程管理的探討
      面向?qū)ο骔eb開發(fā)編程語言的的評估方法
      面向?qū)ο笮畔⑻崛≈杏跋穹指顓?shù)的選擇
      互動式設(shè)計模式研究
      马公市| 青川县| 开封市| 内黄县| 庆云县| 绥江县| 抚远县| 阜新| 防城港市| 东乌珠穆沁旗| 桃源县| 阿巴嘎旗| 五常市| 宾阳县| 香河县| 韶山市| 历史| 佳木斯市| 邓州市| 新泰市| 扶绥县| 平罗县| 云阳县| 汾阳市| 界首市| 辰溪县| 思茅市| 两当县| 兴城市| 黑河市| 乐都县| 威宁| 汾西县| 肇源县| 阜城县| 娱乐| 新平| 都安| 仲巴县| 宁明县| 武安市|