OO第四次課程總結分析

OO第四次課程總結分析java

測試與正確性論證的效果差別及優缺點 安全


  測試,即便用測試樣例來驗證咱們的程序是否能完成相應功能的過程。測試數據的產生基於前置條件和後置條件,經過執行測試數據檢查方法輸出是否知足需求。由此,測試的優缺點顯而易見。優勢是易於實施,能夠針對特定的功能構造相應的測試數據去加以檢驗,好的測試數據能有效及時地發現錯誤;缺點是咱們構造的測試數據並不能徹底保證覆蓋到了全部的狀況,即咱們沒法保證程序的正確性,程序可能還存在咱們未發現的bug。多線程

  正確性論證,就是針對規格化的代碼,經過對代碼邏輯進行分析,確認是否全部知足前置條件的輸入都能產生知足後置條件的結果的過程。其優勢是能夠保證程序的正確性(固然前提是規格得寫的正確);缺點是驗證過程比較耗時間,且沒法保證天然語言層次邏輯推理的嚴謹性。併發

  由於是最後一次做業纔用到正確性論證,尚未真正感覺到正確性論證的強大之處,如今幾乎仍是用測試來進行論證,但不能徹底保證正確(內心沒個底),從此會試着使用正確性論證來論證本身程序的正確性。框架

OCL語言與JSF規格測試


  OCL即對象約束語言(Object Constraint Language),是一種指示用戶建模系統中的限制方式,它是UML可選的附加內容,能夠用來更好地定義對象的行爲,併爲任何類元指定約束。是規範說明性語言,具備精確、無二義性的特色。spa

  兩者的相同點在於他們都是一種形式語言,在程序中進行無二義的邏輯約束。兩者表達式也基本相同,OCL包括附加在模型元素上的不變量或約束的表達式、前置條件、後置條件和監護條件等,而JSF格式上有repOK(),前置條件,後置條件和Modifies。線程

  兩者的差別在於OCL的能力比JSF要強,能夠約束附加在模型元素上、操做上等,比較自由,OCL也具備強大的可計算性,相比之下雖然JSF功能上並無OCL豐富,但也能進行規範,且有着方便快捷的優勢。設計

第十四次做業對象


類圖

順序圖

狀態圖

學期總結


  • 四個單元模塊知識點之間的關係

   第一單元重要是體會java和麪向對象的思想,從面向過程轉向面向對象。

   第二單元初步引入多線程,程序可同時處理多個任務,功能更加豐富,同時也引入了同步與併發安全的問題,在設計上要考慮避免資源共享等問題。

   第三單元引入規格化設計,軟件工程發展到現在,規格化的程序尤其重要。不能只一味地追求實現功能便可,應該在實現功能的同時,也要考慮程序的規範性。

   第四單元主要是關於測試及論證,經過測試及論證等方法來驗證程序的正確性。

   經過分析發現,課程安排並不失其可理性,是一個按部就班的過程。

  • 梳理與進步

   程序框架上,從一開始的一類一方法到如今的多類多方法,類的分工,各個方法的工做分配比以前更加成熟。

   程序邏輯上,經過規格化設計,程序的邏輯比以前更加清晰,可讀性有所增強。

   工程化思想獲得增強,再也不以本身能看懂爲中心,應作到以人爲本。

  • 對工程化開發的理解

   工程化開發,基本上是要與人合做,再也不像寫做業那般想怎麼寫就怎麼寫,只要實現便可;工程化開發團隊每一個人有各自的分工,因此規格化設計就顯得尤其重要,須要考慮的事情再也不只是單純地功能實現,變量的命名、程序的可移植性、用戶的體驗等,這些都是工程化開發中必不可少的因素。此外,用戶的需求是多變的,程序的魯棒性也有很高要求。

  • 指望與建議

  建議嘛,其實指導書能夠進行一些改進,也省去了一直問助教的麻煩,可能有些要求改了在羣裏說過但被刷了沒發現,就很痛(建一個需求改動通知羣?),大體就是這些吧;最後指望課程能越辦越好,同時也要感謝老師和助教一學期以來的付出!

相關文章
相關標籤/搜索