一.(1)規格化設計的大體發展歷史網絡
20世紀60年代,隨着大容量、高速度的計算機出現,以及大量語言的新增和軟件的不可靠,爆發了所謂的「軟件危機」。而針對這個問題,人們提出了規格化設計的解決方法。經過把程序分紅模塊,以模塊爲單位,每一個模塊實現相應的功能,使得在進行交流的時候,只須要相應模塊的接口就好。spa
隨着規格化設計帶來的諸多便利,其在以後30多年的研究和應用期間,讓程序的可讀性獲得不斷的加強,並讓程序便於進一步修改和移植。而現在規格化設計的發展,已經取得了大量重要的成果,產生了基於邏輯、狀態機、網絡、進程代數、代數等多種形式的規格說明,爲軟件的開發和維護帶來了巨大便利。設計
(2)人們重視規格化設計的緣由3d
經過使用規劃化設計,在進行交流的時候,彼此之間不須要關心對方的實現方法,只須要關心這個模塊的接口的要求,改動以及功能。這樣方便多人更快捷清晰地完成任務。在以後對程序的維護和修改過程當中,也能更具備針對性,更有效。對象
二.規格BUG分析blog
第九次做業爲無效做業,在此不作分析。接口
第十次做業在互測過程當中,沒有被報規格BUG。進程
第十一次做業開發
BUG內容table |
BUG類型 |
BUG代碼行數 |
BUG緣由 |
規格檢查->抽象對象有效性實現檢查:Overview是否明確抽象對象 |
規格 |
n |
Load類沒有寫類規格,無overview。 |
規格檢查->抽象對象有效性實現檢查:Overview是否明確抽象對象 |
規格 |
n |
Qingqiu類沒有寫類規格,無overview。 |
規格檢查->抽象對象有效性實現檢查:Overview是否明確抽象對象 |
規格 |
n |
Traceabletaxi類沒有寫類規格,無overview。 |
三.產生規格BUG的緣由
寫做業的時候操之過急,忘了給新增的類寫類規格。
四.很差寫法及其改進
錯誤:
改進:
2.前置:「=」應該爲「==」
錯誤:
改進:
3.前置:前置條件應爲布爾表達式
錯誤:
改進:
4.前置:優先級問題
錯誤:
改進:
5.前置:前置條件範圍錯誤
錯誤:
改進:
6.後置:「=」應該爲「==」
錯誤:
改進:
7.後置:未處理異常
錯誤:
改進:
8.後置:後置條件遺漏修改變量
錯誤:
改進:
9.後置:後置條件描述不完整
錯誤:
改進:
10.後置:格式不正確
錯誤:
改進:
五.功能BUG和規格BUG的聚焦關係
功能BUG和規格BUG沒有聚焦關係。規格BUG不是由於功能BUG所致使的。
六.基本思路和體會
基本是先寫好方法後,才開始寫規格。有嘗試按照規格的方式寫,可是寫着寫着就寫不下來了,水平不夠。以及在寫規格時,要注意隱含的前置條件。在修改代碼後,要注意修改規格,否則容易忘。