1.論述測試與正確性論證的效果差別,比較其優缺點java
測試:經過大量測試樣例覆蓋測試代碼,來檢測代碼功能的實現是否正確是否完善。正確性論證:經過對代碼規格和邏輯的嚴密分析,推論和證實,來驗證代碼實現的正確性。所以,測試可以經過測試結果,直觀的判斷出程序是否錯誤。可是又由於難以構造覆蓋完整的測試集,因此不能保證程序在設計方面沒有問題。而正確性論證可以經過嚴謹的分析論證,保證程序的正確性和覆蓋率。但由於它是形式論證和天然語言層次邏輯的結合,天然語言層次邏輯推理的正確性又難以確保和驗證。因此若是它不夠直觀,出現錯誤也難以察覺。安全
2.調研OCL語言,並比較其與課程所介紹的JSF規格之間的類似和不一樣之處多線程
OCL(object constraint language)是對象約束語言,用來進行對象的約束定義,是形式化的無二異語言。OCL主要用於在建模時做爲圖形符號的補充,含有約束,前置條件,後置條件等。OCL還用於對UML圖中的任何元素寫表達式。OCL是約束和查詢語言,有一個形式化的數學語義,容許用戶定義本身的OCL符號集。測試
相同點:都是形式化的約束語言,在程序中進行無二義的邏輯約束。都有一樣的前置條件,後置條件和不變式spa
不一樣點:約束的時間不一樣:OCL主要是在寫程序前理論建模的時候,對每一個類進行約束,JSF則主要在代碼功能實現前,對每一個類進行約束。表達的不一樣:JSF主要使用邏輯表達式,天然語言使用的少。OCL的表達式和數據都有基本類型。線程
3.根據第十四次做業的單電梯系統,針對調度器、電梯、請求隊列和 請求,至少整理出 一幅UML類圖、一幅順序圖和一幅狀態圖,並使用 圖(graph)來表示出模型設計
第十四次做業沒有提交,因此不作整理。對象
4.整理總結一個學期所學所練隊列
4.1闡述四個單元模塊知識點之間的關係開發
第一單元:java入門到面向對象設計。做業從多項式計算到傻瓜電梯,鞏固了面向對象設計的思惟。
第二單元:從面向對象設計到多線程的轉變。做業經過對電梯功能的擴展,實現多線程。以及對線程的安全問題和如何合理的利用線程的同步和互斥的研究。
第三單元:規格化設計。學會如何加強自身代碼的可讀性和如何從方法的層面去實現程序的正確性。
第四單元:引入自動化測試。經過實現基於輸入實現軟件生成的自動化覆蓋測試,學會論證程序地正確性。
4.2梳理本身所設計實現的程序,分析本身在設計、測試和質量上的進步
有進步,同時有待提升的方面也不少。
4.3闡述本身對工程化開發的理解
工程化開發是一個複雜的大型的工做,是須要多人一塊兒配合完成的。所以代碼的可讀性和規格很重要。以及對每一部分程序的正確性和完善性的測試也很重要。
4.4對課程的任何指望或建議