OOAD與MVC模式在軟件工程教學(xué)案例中的應(yīng)用_第1頁(yè)
OOAD與MVC模式在軟件工程教學(xué)案例中的應(yīng)用_第2頁(yè)
OOAD與MVC模式在軟件工程教學(xué)案例中的應(yīng)用_第3頁(yè)
已閱讀5頁(yè),還剩2頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、 OOAD與MVC模式在軟件工程教學(xué)案例中的應(yīng)用 梁潔+張碩Summary:“軟件工程”課程具有較強(qiáng)的抽象性、理論性,因此“案例式教學(xué)”被普遍采用,而案例分析設(shè)計(jì)不完整,和實(shí)際應(yīng)用有偏差,設(shè)計(jì)結(jié)果無(wú)法指導(dǎo)開(kāi)發(fā),針對(duì)這些問(wèn)題,提出將OOAD與MVC模式應(yīng)用于完整的教學(xué)案例分析設(shè)計(jì)中,模擬實(shí)際企業(yè)項(xiàng)目的開(kāi)發(fā)流程,提高學(xué)生工程實(shí)踐能力。Key:軟件工程;OOAD;MVC;教學(xué)案例;企業(yè)項(xiàng)目: TP311 :A :1009-3044(2016)28-0135-02Abstract: Software Engineering course has a strong abstract and theore

2、tical.So the case teaching is widely used.The analysis and design of case is not complete,and far from practical application.The design result can not guide the development.Aiming at these problems,The application of OOAD and MVC model in the analysis and design of a complete teaching case is presen

3、ted.This way simulate enterprise project development process and improve students engineering practice ability.1 引言軟件工程是重點(diǎn)培養(yǎng)學(xué)生系統(tǒng)分析與設(shè)計(jì)能力的專(zhuān)業(yè)核心課程,其相關(guān)理論抽象性很強(qiáng) ,單純的理論學(xué)習(xí)會(huì)讓學(xué)生感到內(nèi)容枯燥乏味,因此”案例式教學(xué)”在軟件工程的教學(xué)中普遍采用。學(xué)生通過(guò)具體案例學(xué)習(xí)軟件生命周期各階段所采用基礎(chǔ)方法、規(guī)范、技術(shù),案例的選擇要貼合實(shí)際應(yīng)用。為了模擬實(shí)際項(xiàng)目的開(kāi)發(fā)流程,在案例的分析中采用目前企業(yè)最常用的分析設(shè)計(jì)方法OOAD,并首次提出與開(kāi)發(fā)模式MVC結(jié)

4、合,將MVC模式理念融入系統(tǒng)設(shè)計(jì)方案中,以此方案指導(dǎo)開(kāi)發(fā)?;贠OAD和MVC模式的案例教學(xué)可以幫助學(xué)生將軟件工程課程理論和實(shí)際項(xiàng)目開(kāi)發(fā)流程相結(jié)合,真正的提高學(xué)生的軟件分析設(shè)計(jì)應(yīng)用能力。2 OOAD(面向?qū)ο蠓治龊驮O(shè)計(jì))OOAD(Object Orient Analysis & Design,面向?qū)ο蟮姆治龊驮O(shè)計(jì),面向?qū)ο蠓治雠c設(shè)計(jì))是一項(xiàng)被現(xiàn)代軟件開(kāi)發(fā)企業(yè)廣為采用的有效技術(shù)。OOAD方法要求在設(shè)計(jì)中要映射現(xiàn)實(shí)世界中的事物為指定問(wèn)題域中的對(duì)象和實(shí)體,例如:顧客、汽車(chē)和銷(xiāo)售人員等。這就需要設(shè)計(jì)要盡可能地接近現(xiàn)實(shí)世界,即以最自然的方式表述實(shí)體。所以面向?qū)ο蠹夹g(shù)的優(yōu)點(diǎn)即為能夠構(gòu)建與現(xiàn)實(shí)世界相對(duì)應(yīng)的問(wèn)

5、題模型,并保持他們的結(jié)構(gòu)、關(guān)系和行為為模式。同時(shí)軟件的需求是不穩(wěn)定的,那么需求之中是不是沒(méi)有穩(wěn)定的東西呢?有的,就是對(duì)象。世界都是由對(duì)象組成的,而對(duì)象都是持久的。面向?qū)ο蟮拈_(kāi)發(fā)方法的精髓就是從企業(yè)的不穩(wěn)定需求中分析出企業(yè)的穩(wěn)定對(duì)象,以企業(yè)對(duì)象為基礎(chǔ)來(lái)組織需求、構(gòu)架系統(tǒng)。這樣得出的系統(tǒng)就會(huì)比傳統(tǒng)的系統(tǒng)要穩(wěn)定得多,因?yàn)槠髽I(yè)的模式一旦變化,只需要將穩(wěn)定的企業(yè)對(duì)象重新組織就行了。3 MVC設(shè)計(jì)模式MVC全名是Model View Controller,是模型(model)-視圖(view)-控制器(controller)的縮寫(xiě),一種軟件設(shè)計(jì)典范,用一種業(yè)務(wù)邏輯、數(shù)據(jù)、界面顯示分離的方法組織代碼,將業(yè)務(wù)

6、邏輯聚集到一個(gè)部件里面,在改進(jìn)和個(gè)性化定制界面及用戶交互的同時(shí),不需要重新編寫(xiě)業(yè)務(wù)邏輯。視圖:是用戶看到并與之交互的界面??刂破鳎核皇墙邮照?qǐng)求并決定調(diào)用哪個(gè)模型去處理請(qǐng)求,然后確定用哪個(gè)視圖來(lái)顯示模型處理返回的數(shù)據(jù)。模型:表示企業(yè)數(shù)據(jù)和業(yè)務(wù)規(guī)則。在MVC的三個(gè)部件中,模型擁有最多的處理任務(wù)。例如數(shù)據(jù)庫(kù)的連接、更新、查詢(xún)、修改等操作。4 教學(xué)案例的分析設(shè)計(jì)在軟件工程教學(xué)中,以一個(gè)項(xiàng)目作為主線案例進(jìn)行講解,在該案例的分析與設(shè)計(jì)中結(jié)合了OOAD和MVC模式,使項(xiàng)目分析設(shè)計(jì)更貼合企業(yè)實(shí)際的開(kāi)發(fā)環(huán)境,并能幫助學(xué)生理解如何將分析設(shè)計(jì)結(jié)果去指導(dǎo)開(kāi)發(fā),以“計(jì)算機(jī)銷(xiāo)售網(wǎng)站”為例,在需求分析階段,采用OOAD(

7、面向?qū)ο蠓治龇椒ǎ┳R(shí)別對(duì)象和實(shí)體,該系統(tǒng)所涉及的實(shí)體對(duì)象有:Internet網(wǎng)絡(luò)、計(jì)算機(jī)、客戶、Web頁(yè)面、標(biāo)準(zhǔn)配置計(jì)算機(jī)、配置計(jì)算機(jī)、價(jià)格、銷(xiāo)售員、定單、發(fā)票、地址、支票、信用卡、表格、郵件、訂單的狀態(tài)、付款方式、倉(cāng)庫(kù)等。經(jīng)過(guò)篩選去除掉屬性以及和系統(tǒng)無(wú)關(guān)的實(shí)體,確定實(shí)體類(lèi)為:客戶、計(jì)算機(jī)、標(biāo)準(zhǔn)配置計(jì)算機(jī)、配置計(jì)算機(jī)、訂單、發(fā)票、付款、銷(xiāo)售員。對(duì)實(shí)體類(lèi)識(shí)別其屬性,確定類(lèi)之間關(guān)聯(lián),建立靜態(tài)邏輯模型即計(jì)算機(jī)銷(xiāo)售網(wǎng)站實(shí)體類(lèi)圖,如圖1:在設(shè)計(jì)階段,基于類(lèi)進(jìn)行物理架構(gòu)的設(shè)計(jì),構(gòu)件代表系統(tǒng)中的一部分物理實(shí)施,包括軟件代碼(源代碼、二進(jìn)制代碼或可執(zhí)行代碼)或其等價(jià)物(如腳本或命令文件)。 每個(gè)構(gòu)件可以單獨(dú)實(shí)

8、現(xiàn)一定的功能,為其他構(gòu)件提供使用接口。設(shè)計(jì)構(gòu)件圖可以清楚地看出系統(tǒng)的結(jié)構(gòu)和功能。方便項(xiàng)目組的成員制定工作目標(biāo)和了解工作情況,同時(shí),最重要的一點(diǎn)是有利于軟件的復(fù)用?!坝?jì)算機(jī)銷(xiāo)售網(wǎng)站”構(gòu)件圖如圖2:采用MVC模式三層框架對(duì)每個(gè)構(gòu)件進(jìn)行詳細(xì)設(shè)計(jì),即對(duì)每個(gè)構(gòu)件所包括的接口和類(lèi)進(jìn)行設(shè)計(jì),典型的MVC 是JSP +Servlet+JavaBean的模式,為了方便快捷地過(guò)渡到該網(wǎng)站的開(kāi)發(fā),因此采用這種模式對(duì)每個(gè)構(gòu)件進(jìn)行設(shè)計(jì),例如:“Computer”構(gòu)件的經(jīng)過(guò)詳細(xì)設(shè)計(jì)后的類(lèi)圖如圖3,構(gòu)件內(nèi)被分成了四層的類(lèi),頁(yè)面類(lèi),控制類(lèi),模型類(lèi),實(shí)體類(lèi)。開(kāi)發(fā)階段,以構(gòu)件作為單元進(jìn)行開(kāi)發(fā)分工,開(kāi)發(fā)人員只需要根據(jù)該構(gòu)件最終的類(lèi)

9、圖來(lái)完成類(lèi)的代碼的編寫(xiě)與測(cè)試,例如根據(jù)圖3中Computer構(gòu)件的類(lèi)圖,開(kāi)發(fā)人員需要編寫(xiě)index.jsp,configure.jsp頁(yè)面,以及接受與處理頁(yè)面請(qǐng)求CptServlet控制類(lèi),及執(zhí)行數(shù)據(jù)訪問(wèn)的CptDAO類(lèi),還有相關(guān)的Javabean即Cpt類(lèi)和StandardCpt、ConfigureCpt子類(lèi)。5 結(jié)論融合OOAD和MVC模式所設(shè)計(jì)的系統(tǒng),既可以提高開(kāi)發(fā)效率,又可以提高系統(tǒng)的可復(fù)用性,同時(shí)可以根據(jù)用戶變化的需求,方便的對(duì)構(gòu)件功能進(jìn)行修改。學(xué)生在此案例的學(xué)習(xí)過(guò)程中可體會(huì)基于面向?qū)ο蠓治鲈O(shè)計(jì)思想的精髓,以及MVC模式中系統(tǒng)層次結(jié)構(gòu)的特點(diǎn),將軟件工程理論和實(shí)際項(xiàng)目開(kāi)發(fā)流程相結(jié)合,真

10、正做到“學(xué)以致用”,為成為高素質(zhì)的具有全局化思維的軟件工程優(yōu)秀人才打下堅(jiān)實(shí)基礎(chǔ),經(jīng)過(guò)三年的教學(xué)實(shí)踐,采用該案例的軟件工程教學(xué)充分調(diào)動(dòng)了學(xué)生的積極性,取得了良好的教學(xué)效果。Reference:1 李志,賈克斌,李真真,姚萌. 基于.NET MVC架構(gòu)的網(wǎng)上珠寶銷(xiāo)售系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)J. 計(jì)算機(jī)應(yīng)用與軟件.2013(3).2 范會(huì)聯(lián),仲元昌. 基于項(xiàng)目驅(qū)動(dòng)的軟件工程課程教學(xué)改革探索J. 教育與職業(yè).2013(5).3 梁勝彬,王倩. 軟件工程學(xué)科的案例教學(xué)模式探討J.計(jì)算機(jī)教育.2015(23).4 徐堅(jiān). 軟件工程專(zhuān)業(yè)實(shí)踐教學(xué)體系的建構(gòu)及實(shí)踐J.電腦知識(shí)與技術(shù).2016(18).5 鄧立苗,于仁師.軟

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論