OO第四次博客做業

 

OO第四次博客做業

重點放前面,因此先放4.4。測試

4.4對課程的建議

取消互測!

  取消互測,並非說取消就取消的,而是有充分的理由的:設計

  首先,OO這門課的重要目的之一,就是在於鍛鍊同窗們對需求的理解能力(這也是爲何指導書並無在細節方面規定的面面俱到)。而正如老師上課所說,需求理解沒有絕對的正確標準,只有功能的完成度與實現成本的權衡。對象

  可是,OO又偏要引入互測這種評判形式。而因爲互測牽扯到同窗們我的的最後得分,固然大多數同窗都想盡可能多扣分,在可扣可不扣的地方都會選擇扣分。換句話說,爲了不本身被扣分,同窗們必然會在種種細節上向助教求證,以確保本身不會被扣分,也就是說,互測爲了規範測試者的行爲,必需要有一個絕對性的正確標準。  這學期中,這個絕對的正確標準能夠說就是助教對需求的理解。blog

  這就是互測帶來的矛盾:需求理解訓練中,沒有惟一正確標準,因此指導書寫的很歸納很簡略;但互測中爲了評判標準與規範行爲,又必需要存在一個絕對的正確標準做爲判斷依據。這一矛盾致使每次同窗們都須要花費極爲大量的時間在詢問細節要求、或者根據後來忽然更改的要求修改代碼上,致使同窗們付出的時間巨大,學到的東西卻極爲有限。 開發

  的確OO目前的模式確實也能讓咱們學到東西,對咱們也有好處,可是這一矛盾帶來問題也讓不少同窗十分痛苦。換句話說,天天跑步有利身體健康,因此就讓你天天跑50KM,換了你,你願意嘛???博客

1.論述測試與正確性論證的效果差別,比較其優缺點

  測試只能確保測試到的部分徹底正確,但對於沒有測試到的部分沒法對正確性作出判斷。數學

    優勢:簡單直接,不容易出錯工程化

    缺點:難以徹底覆蓋全部分支,保證程序總體正確性基礎

  正確性論證在論證過程正確的基礎上,能夠確保整個程序的正確性。軟件

    優勢:從理論層面論證,對論證過的部分能夠徹底覆蓋

    缺點:論證較難,論證過程自己也可能出錯

2.調研OCL語言,並比較其與課程所介紹的JSF規格之間的類似和不一樣之處

  一個約束就是對一個(或部分)面向對象模型或者系統的一個或者一些值的限制。UML類圖中的全部值均可以被約束,而表達這些約束的方法就是 OCL。天然語言是最易懂的,可是它是含混不清晰的。OCL取了天然語言和數學符號的折中方案,使用普通的ASCII字符來表達數學中一樣的概念。若是你不喜歡當前的OCL表達方法,OCL規範還容許你定義本身的OCL符號集,這點是能夠理解的,由於OCL有一個清晰的數學語義。

  也就是說,OCL在功能上與JSF規格極爲類似,但OCL以犧牲一部分嚴謹性爲代價,使用了更易懂的語言,而JSF則使用數學語言,確保了嚴謹性,下降了可讀性。

3.類圖時序圖和狀態圖

類圖:

時序圖:

狀態圖:

4.學期總結

4.1知識點之間關係

  四個單元的知識點相輔相成,逐漸深刻。

4.2在設計、測試、質量上的進步

  通過OO的訓練,設計時考慮的更加周全,測試的更加全面,代碼質量有必定提高。

4.3對工程化開發的理解

  工程化開發是現代在實際的軟件開發過程當中所沒必要可少的一項技能,也是咱們未來走入職場時必須所要掌握的一項技能。儘管現階段因爲代碼量有限,工程化開發的優點與必要性還不能很好的體現出來,可是這並不影響其重要性。

相關文章
相關標籤/搜索