1、測試與正確性論證的比較多線程
測試只能說明程序是在這組樣例下,程序是正確的,並不能說明程序自己的正確性測試
而正確性論證就能夠說明程序自己是正確的。spa
測試的優勢在於方便、快捷、有針對性,他能夠在短期內找到程序的錯誤點。線程
可是測試沒法說明程序是徹底正確的。設計
正確性論證雖然測試的成本高,更難以完成,對象
可是正確性論證能夠說明程序是徹底正確的,邏輯更加嚴密,更容易使別人信服。blog
2、OCL語言與JSF規格的比較開發
對象約束語言簡稱OCL(Object Constraint Language),它是一種用於施加在指定的模型元素上約束的語言。OCL表達式以附加在模型元素上的條件和限制來表現對該對象的約束,其中包括附加在模型元素上的不變量或約束的表達式,附加在操做和方法上的前置條件和後置條件等。程序設計
對象約束語言是一種形式化語言,它主要用於表示UML模型中施加於模型上的約束。OCL具備以下特色:
一、OCL是一種精確的,無二義性的語言
二、OCL是一種規範說明性語言,全部有關實現的問題都不能用OCL來表達
三、OCL是一種純表達式語言,它是具備沒有任何反作用的申明性語言。
四、OCL是一種類型化語言,即OCL中的每個表達式都是具備類型的。
五、OCL不是一種程序設計語言,不能用OCL編寫程序邏輯和控制流程。工程化
這兩個都沒有二義性,都是一種嚴格的約束語言,可是又有一點細微的不一樣之處。
OCL語言有本身的變量,可是JSF能夠本身定義變量。
OCL不能編寫程序邏輯和控制流程,可是JSF能夠編輯邏輯。
3、單電梯圖示
UML圖:
順序圖:
狀態圖
4、學期總結
1.關係:
我以爲四個模塊之間按部就班,讓人有一種逐漸深刻的過程
一開始,你們啥也不知道,就從一個比較簡單的程序開始
以後,你們瞭解了一些東西,就能夠進行比較複雜的操做
以後,你們對面向對象的瞭解更加深刻,就有了多線程的參與
最後,固然要對本身的程序進行論證,因此就有最後的測試環節了。
2.進步
在設計層面上,我以爲我對面向對象的設計有了更加深入的瞭解,一開始,設計的很是很差,也沒有辦法對以前的代碼進行改進,若是有新的要求,那麼就要重現寫本身的代碼,可是,以後由於每次都是新加要求,因此在設計上會考慮到之後的重構問題。而且在測試上,我也變得更加有針對性,更加全面,曾經只是瞎測,如今就有針對了。一樣,代碼質量也變得更好,之前的代碼寫出來BUG不少,在經歷了一個學期寫了不少代碼以後,我就以爲代碼質量變得更好了。
3.工程化開發
我以爲工程化開發是很是有必要的,由於大的項目每每是要有工程化開發的,因此我以爲應該推廣工程化開發。
4.對課程的指望
改要求建議不要悄悄改,各個班要求但願統一。