一.(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所致使的。
六.基本思路和体会
基本是先写好方法后,才开始写规格。有尝试按照规格的方式写,可是写着写着就写不下来了,水平不够。以及在写规格时,要注意隐含的前置条件。在修改代码后,要注意修改规格,否则容易忘。