oo第四次博客總結

1、測試與正確性論證差別對比多線程

測試,顧名思義,就是用一些有意義或無心義的輸入去檢測程序的正確性或魯棒性,因其直觀明瞭因此在寫簡單的程序時咱們能迅速找出bug並加以解決。而且,這種方式是絕對客觀的,只要和正確結果不匹配那麼程序就必定存在一些問題。測試最大的缺點即是沒法徹底覆蓋全部狀況,即便很大的測試數據也可能跑不出來某些細微的bug,但這種bug有多是致命的。工具

正確性論證則是從代碼邏輯角度去分析代碼,它的好處即是能夠徹底覆蓋程序的全部狀況並加以分析,只要分析不出錯就能保證程序不出錯,但這種方法的缺點也比較明顯,須要耗費大量時間和精力去完成這一工做,而且這種方法的正確性是創建在規格正確的基礎之上的,一旦規格不完善也將致使該方法出現紕漏。學習

總之,兩種方法各有利弊,在面對複雜程序時兩種方法都顯得比較吃力,但若只考慮正確性,那正確性論證無疑要比測試來的可靠。但若是程序自己實現的功能很少,那麼靠測試用例轟炸一番基本就不會遺留bug了。測試

2、OCL與JSF對比spa

OCL語言(對象約束語言)是一種用來進行約束定義的、形式化的、無二義性的語言,用來闡明建模元素的某些細節。線程

相同點:設計

兩者均是聲明型語言,不會改變描述對象的內容,而且兩者都是形式化的、規範的無二義性語言,都有前置條件、後置條件和不變式。對象

不一樣點是OCL語言具備高級數據類型,而且它基於上下文給出,而JSF則是針對方法用布爾表達式描述相關條件,而且沒有新的語言元素的參與。此外,兩者的語法差別較大,OCL中有許多既定名詞和JSF中不一樣。blog

3、第十四次做業的uml圖開發

一、uml類圖

二、uml時序圖

 

三、uml狀態圖

4、學期總結

一、知識點總結

這一學期咱們學習了四個單元的知識。系統的瞭解了面向對象程序設計的過程以及工程化的開發過程。

第一單元做爲基礎入門單元,介紹了面向對象程序的特色及描述方法等,讓咱們對面向對象有了初步的瞭解;

第二單元開始,咱們的程序設計就有了質的飛躍——開始寫多線程程序。這一部分介紹了多線程的實現機制、線程同步、衝突問題等,讓咱們對多線程程序有了必定的認識;

第三單元則在多線程程序的基礎上添加了規格描述的過程,主要介紹了JSF的規範書寫和程序的規格化設計,這一部分重點就開始從寫程序轉移到設計與規範了;

最後,第四單元着重介紹測試,包括JUNIT測試和正確性論證,重點又從規格轉移到了測試。

總的來講,這是一個按部就班的過程,但不足點我以爲在於規格應該提早一些,由於它是一個總體的構造策略,而不是寫完再去根據程序補充規格。

二、我的程序總結

通過這一學期的學習和磨練,我在寫代碼上的功夫又上漲了,的確比之前更加熟練。但從設計方面來說,我以爲個人提高並不大,由於我自己代碼基礎比較薄弱,每次寫程序以前都要絞盡腦汁去想這個程序到底要幹嗎,也把每一部分的功能大體想好了,這裏就有些思惟定式的東西在裏面,因此以後介紹的設計思路我並無借鑑太多,仍是根據本身的想法去設計這個程序(完美的本身的節奏-_-||);

談到測試上的改變,我以爲Junit算是一個比較不錯的工具,而且我在構造測試樣例時也會從程序的邏輯出發去找一些儘可能刁鑽的數據,而不是像最開始的多項式直接開始轟炸。可是關於正確性論證我仍是以爲比直觀的測試來的複雜,這一塊由於也沒有後繼做業我也就沒有過多探究,也從未採用這種方式去驗證個人程序;

最後,談談最關鍵的寫代碼環節。這一學期的做業寫下來我寫代碼更加熟練了,這點是毋庸置疑的,而且也開始向大佬們學習分好多方法,也逐步有了本身的代碼風格。面對一個複雜的需求也不太發怵了,也能按部就班地去試着完成它。我以爲這一點上我收穫很大。同時,互評階段瞭解其餘同窗的設計思路對我也有必定幫助。

三、關於工程化開發

首先,我我的以爲工程化開發不該該是一我的的事情,應該是許多人按照某種約定的規則去開發同一個東西,而且相互之間瞭解彼此的想法、看懂代碼都不是問題,oo這門課雖然有工程化開發中的規格設計、驗證等環節,但終究是本身作給本身看,互評的同窗只會把它當作一個扣分點,總的來講,仍是由於沒有合做關係的產生,才讓工程化開發的理念和方法在這門課上顯得如此雞肋(JSF除了能被扣分還能幹嘛?我相信這應該是不少同窗的想法),可是若是這門課設計一個合做環節,並規定幾個合做者之間的工做範圍,這樣工程化開發的價值有可能就會被同窗們發掘出來。

四、指望和建議

就如同我剛纔分析的,但願這門課能開發一個合理的合做環節,以此來體現工程化設計的價值,同時減輕同窗們的負擔。而且,但願這個互評機制能更合理一些(雖然具體怎麼作我不太清楚,但目前這個機制必定是存在問題的,否則不會致使幾乎全部同窗都對這個機制有意見)。最後,但願指導書能再完善一些,而且發佈的時候就是最終的版本,不要再改來改去了。

總的來講,這門課鍛鍊了我寫程序的能力,我也能寫出以千行爲單位的程序了,並且還能正確運行。我以爲就已經夠了。

相關文章
相關標籤/搜索