日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

OO第四单元博客作业

發(fā)布時(shí)間:2024/1/17 编程问答 43 豆豆
生活随笔 收集整理的這篇文章主要介紹了 OO第四单元博客作业 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

一、UML作業(yè)架構(gòu)設(shè)計(jì)

1、第一次作業(yè)

?其中 Main 是入口類,MyUmlinteraction實(shí)現(xiàn)了接口,UmlInteractionBase為MyUmlinteraction實(shí)現(xiàn)提供了底層功能,MyClass和MyMethod是一些UML元素的包裝。下面是具體實(shí)現(xiàn)。

?

2、第二次作業(yè)

自己對(duì)三類不同的UML圖分別進(jìn)行了建模。另外自己將接口實(shí)現(xiàn)和核心功能提供分開(kāi)處理。最后運(yùn)用組合設(shè)計(jì)模式來(lái)實(shí)現(xiàn)總的功能。

?

二、四個(gè)單元中的架構(gòu)設(shè)計(jì)及OO方法理解的演進(jìn)

1、第一單元

自己第一單元并沒(méi)有使用什么框架,主要是使用了接口作為各種函數(shù)的類型而可以統(tǒng)一處理,這樣節(jié)省了許多無(wú)聊代碼。

2、第二單元

自己的設(shè)計(jì)基于 blockqueue 框架。且三次作業(yè)都是同一個(gè)設(shè)計(jì)策略。

核心數(shù)據(jù)結(jié)構(gòu)是一個(gè)阻塞隊(duì)列,用于保存請(qǐng)求隊(duì)列,其他模塊主要是與該隊(duì)列交互。

請(qǐng)求生成器:用于獲得請(qǐng)求,并將請(qǐng)求加入請(qǐng)求隊(duì)列。

請(qǐng)求調(diào)度器:用于將請(qǐng)求派給不同的電梯。

電梯:用于處理被分配的請(qǐng)求。

在第二次作業(yè)時(shí),只是修改了電梯對(duì)于執(zhí)行請(qǐng)求的策略,增加了捎帶功能。

在第三次作業(yè)時(shí),只是復(fù)制了兩部電梯,其行為模式完全相同,但是請(qǐng)求調(diào)度器給其分配的請(qǐng)求種類有差別。另外,乘客在下電梯時(shí),若其沒(méi)到最終目的地,則由電梯修改其出發(fā)地后將請(qǐng)求加入隊(duì)列。請(qǐng)求調(diào)度器無(wú)法區(qū)分由電梯加入的請(qǐng)求和請(qǐng)求生成器加入的請(qǐng)求。

3、第三單元

自己使用了分層接口來(lái)分解功能,并分層實(shí)行,使得可以把一個(gè)復(fù)雜的功能分解為從低層到高層的功能來(lái)逐步實(shí)現(xiàn),易于實(shí)現(xiàn)和維護(hù)。

4、第四單元

自己將三種UML圖分別建模,然后在一個(gè)總UML模型類中組合這些不同的UML圖。

三、四個(gè)單元中測(cè)試?yán)斫馀c實(shí)踐的演進(jìn)

1、第一單元

自己沒(méi)有采用系統(tǒng)性的測(cè)試策略來(lái)覆蓋所有代碼執(zhí)行路徑,只是隨機(jī)想了幾個(gè)數(shù)據(jù)點(diǎn)。在代碼簡(jiǎn)單時(shí)這種策略似乎還可以,但是在代碼稍微復(fù)雜一些時(shí),我為此吃了苦頭:自己互測(cè)時(shí)被?的好狠啊,結(jié)果只要一行代碼就全部搞定了。如果自己做了覆蓋性測(cè)試,就不會(huì)這樣了。就是這個(gè)單元,讓我明白了測(cè)試的重要性,讓我明白了測(cè)試是代碼編寫的不可分割的重要一部分。

2、第二單元

這個(gè)單元我用了單元測(cè)試,可是對(duì)于多線程測(cè)試,確實(shí)發(fā)現(xiàn)其測(cè)試非常棘手。并且對(duì)于互測(cè)中發(fā)現(xiàn)的bug自己無(wú)法復(fù)現(xiàn)。這讓我明白,如何做好測(cè)試也是非常需要思考的。如何看出bug樣例的模式,并用最簡(jiǎn)單的樣例復(fù)現(xiàn)錯(cuò)誤,這是非常功夫的。

3、第三單元

第三單元我用了單元測(cè)試,并且使用了一定的測(cè)試策略,這次的效果還是可以。但是這個(gè)單元其實(shí)是JML的形式驗(yàn)證,但是自己感覺(jué)這個(gè)并不能很好發(fā)現(xiàn)bug。往往寫出正確的規(guī)格需要對(duì)問(wèn)題的很好理解,而bug的原因有很多是對(duì)問(wèn)題的理解程度不夠,因此我感覺(jué)JML規(guī)格除了讓機(jī)器幫忙檢查代碼一致性問(wèn)題外,在自己手中并不能發(fā)揮很大的作用。

4、第四單元

由于是在考期,自己沒(méi)時(shí)間進(jìn)行覆蓋性測(cè)試,第一次還好,第二次就果然涼涼!看來(lái)自己必須把測(cè)試看作是編碼的一部分,或許可以考慮先寫測(cè)試。

四、課程收獲

這學(xué)期的OO自己感覺(jué)學(xué)到了不少東西。首先自己學(xué)會(huì)了java語(yǔ)言的基本操作。并且自己學(xué)會(huì)了OO的思想,學(xué)會(huì)了多線程編程,還了解了JML和UML。回想自己奉獻(xiàn)給OO的多少個(gè)周末,多少個(gè)凌晨,現(xiàn)在回想起來(lái),感覺(jué)還是頗值。

五、具體改進(jìn)建議

1、實(shí)驗(yàn)作業(yè)的定位不夠清晰。這學(xué)期早上學(xué)習(xí)新內(nèi)容,下午做實(shí)驗(yàn),但是自己做完實(shí)驗(yàn)后是懵逼的,感覺(jué)時(shí)間很緊。個(gè)人覺(jué)得如果實(shí)驗(yàn)的目的不是考核,而是幫助理解所學(xué)內(nèi)容的話,應(yīng)該允許實(shí)驗(yàn)內(nèi)容沒(méi)有做完的可以課后繼續(xù)做,且給出答案,這樣利于進(jìn)步。

2、JML單元感覺(jué)有些不夠完善。自己是體驗(yàn)了不少內(nèi)容,可是只是限于體驗(yàn)而已。

3、研討課交流環(huán)節(jié)互相可以改為小組交流或者代碼評(píng)審。

轉(zhuǎn)載于:https://www.cnblogs.com/yorkyer/p/11079169.html

總結(jié)

以上是生活随笔為你收集整理的OO第四单元博客作业的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。