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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

oo第四阶段总结

發(fā)布時(shí)間:2025/3/21 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 oo第四阶段总结 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

oo第四階段總結(jié)

一、關(guān)于測(cè)試與正確性論證

  測(cè)試是根據(jù)代碼功能構(gòu)造相應(yīng)的數(shù)據(jù),通過結(jié)果的正確性來判斷代碼中是否有bug。

  正確性論證是根據(jù)代碼的規(guī)格,以自然語言的形式對(duì)代碼是否能夠?qū)崿F(xiàn)相應(yīng)功能、是否能夠?qū)ο鄳?yīng)異常進(jìn)行處理進(jìn)行論證。

  總的來看,正確性論證更為宏觀,適合于大型系統(tǒng)的宏觀正確性控制,即對(duì)大型系統(tǒng)進(jìn)行錯(cuò)誤的檢查,由于其使用的是自然語言,因此也更加直觀,便于檢查過程中的交流理解,但正確性論證難以保證規(guī)格內(nèi)代碼是否能夠準(zhǔn)確實(shí)現(xiàn)規(guī)格所說明的功能,即無法從實(shí)際論證代碼的正確性。而通過數(shù)據(jù)進(jìn)行測(cè)試則更加微觀,尤其在課程后期,引入了運(yùn)用junit進(jìn)行檢查的方法后,如果數(shù)據(jù)構(gòu)造足夠充分,能夠?qū)崿F(xiàn)分支和代碼的百分之一百的覆蓋,從而驗(yàn)證代碼功能的正確性,但是,隨著代碼量的增加,要想做到百分之一百的代碼覆蓋率和分支覆蓋率,構(gòu)造的數(shù)據(jù)量將會(huì)十分龐大,同時(shí)構(gòu)造難度也會(huì)提升,因而數(shù)據(jù)測(cè)試更適合局部代碼的正確性檢查。

  在實(shí)際的應(yīng)用中,兩種方法可以實(shí)現(xiàn)局部與宏觀的互補(bǔ),同時(shí)運(yùn)用兩種方法,有利于增強(qiáng)測(cè)試的準(zhǔn)確性,同時(shí)提高測(cè)試的效率。

二、關(guān)于OCL和JSF

  OCL語言全名為對(duì)象約束語言(Object Constraint Language),是一種用于施加在指定的模型元素上約束的語言。OCL的基礎(chǔ)是數(shù)學(xué)中的集合論和謂詞邏輯,并且它有一個(gè)形式化的數(shù)學(xué)語義,但是它并沒有使用某種數(shù)學(xué)符號(hào)。因?yàn)殡m然數(shù)學(xué)符號(hào)能夠清晰的、無歧義的表達(dá)事物,但是只有極少的專家可以看懂。所以數(shù)學(xué)符號(hào)并不適合用于一個(gè)廣泛應(yīng)用的標(biāo)準(zhǔn)語言。

?

  自然語言是最易懂的,但是它是含混不清晰的。OCL取了自然語言和數(shù)學(xué)符號(hào)的折中方案,使用普通的ASCII字符來表達(dá)數(shù)學(xué)中同樣的概念。如果你不喜歡當(dāng)前的OCL表達(dá)方法,OCL規(guī)范還允許你定義自己的OCL符號(hào)集,這點(diǎn)是可以理解的,因?yàn)镺CL有一個(gè)清晰的數(shù)學(xué)語義。

  兩種語言的相同點(diǎn):兩者都是預(yù)先對(duì)程序設(shè)計(jì)的約束,是對(duì)程序設(shè)計(jì)預(yù)期功能和效果的標(biāo)準(zhǔn)化定義,兩者都不具有二義性,且都有前置條件,后置條件和不變式。

  兩種語言的不通點(diǎn):首先OCL每個(gè)表達(dá)式都是具有類型的,融入了一定的自然語言的特性,且具有許多的基本數(shù)據(jù)類型等,而JSF只是單純的數(shù)學(xué)邏輯表達(dá)式。其次JSF圍繞類和方法進(jìn)行約束,而OCL則對(duì)對(duì)象及對(duì)象內(nèi)、對(duì)象間所包含的數(shù)據(jù)進(jìn)行約束。

三、關(guān)于第十四次作業(yè)

UML類圖:

?

UML狀態(tài)圖:

?

?

UML時(shí)序圖:

  

?

?

四、學(xué)期總結(jié)  

  1.四個(gè)單元模塊中,第一單元主要是熟悉面向?qū)ο蟮木幊谭椒?#xff0c;了解面向?qū)ο蟮膶?duì)象、類、方法、接口、繼承等基本概念。第二單元主要知識(shí)集中在多線程以及多線程的數(shù)據(jù)保護(hù),整體上是逐步熟練掌握多線程  編程方法的過程。第三單元引入了規(guī)格化設(shè)計(jì)方法,讓我們了解了一些工程上編程的解決方案。第四單元是測(cè)試和正確性論證,讓我們能夠通過兩種方法對(duì)自己寫的代碼進(jìn)行更好的檢查,確保代碼的正確性,

  2.本學(xué)期的課程中,我依次完成了多項(xiàng)式處理、單個(gè)傻瓜電梯、單個(gè)可捎帶電梯、多線程可捎帶電梯、IEEE處理器以及出租車調(diào)度這六大程序。在多項(xiàng)式處理的作業(yè)中,我了解了對(duì)輸入進(jìn)行約束的設(shè)計(jì)思想;在三次電梯作業(yè)中,我逐步理解了面向?qū)ο蟮脑O(shè)計(jì)思想,學(xué)會(huì)了將實(shí)際問題模擬成程序中的相應(yīng)類,從而實(shí)現(xiàn)作業(yè)要求,而不是之前簡(jiǎn)單的數(shù)據(jù)抽象處理的編程思想;在IEEE作業(yè)中,我進(jìn)一步熟練了多線程的使用,成功實(shí)現(xiàn)了多線程的數(shù)據(jù)保護(hù);之后的四次出租車,則是對(duì)之前學(xué)到的設(shè)計(jì)、編程方法的綜合運(yùn)用,進(jìn)一步提高編程能力;最后兩次作業(yè),提供了測(cè)試和正確性論證的方法,讓我學(xué)會(huì)了除了自己構(gòu)造數(shù)據(jù)進(jìn)行測(cè)試以外的新的程序檢測(cè)方法。減少代碼中的bug。

  3.工程化開發(fā)更加強(qiáng)調(diào)格式的標(biāo)準(zhǔn)化與統(tǒng)一,這樣雖然會(huì)導(dǎo)致一些繁瑣要求的產(chǎn)生,但是從整體上看,這樣的要求更利于大型系統(tǒng)的開發(fā)。同時(shí)工程化開發(fā)削弱了一些算法和數(shù)據(jù)抽象的運(yùn)用,其更注重代碼的可讀性,這也對(duì)提高多人合作開發(fā)的效率具有積極的意義。最后,工程化開發(fā)的錯(cuò)誤處理很重要,錯(cuò)誤處理也是影響這個(gè)系統(tǒng)穩(wěn)定性的關(guān)鍵。

  4.雖然本課程有一些存在爭(zhēng)議的地方,但相比于其帶給我的收獲,也就無傷大雅了,也希望課程能越辦越好。

  

?

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

總結(jié)

以上是生活随笔為你收集整理的oo第四阶段总结的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

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