规格化设计发展史
程序的规格化设计与程序的结构化、模块化设计密不可分,更是与计算机的发展历史息息相关。自1940年的面向机器编程到之后的面向过程、面向对象编程,代码量不断增加、程序的功能不断变得复杂。因此在二十世纪六十年代人们提出了程序的结构化与模块化设计思想,大大降低了程序开发的困难,之后在二十世纪八十年代,为了提高程序的规范性,人们逐渐开始对程序进行规范化设计,对每个方法、每个类进行相应的规格设计,使类和方法的维护更加方便。
规格BUG分析
(仅第九次作业有规格bug)
BUG类别 | BUG内容 | 方法行数 |
不符合JSF规范 | normal拼成了nomal | 25 |
不符合JSF规范 | exist加了s | 17 |
至于原因我就不想多说了,都是泪......
前置条件和后置条件的不规范写法
(1)使用自然语言
改进:不使用自然语言,改用布尔表达式
(2)MODIFIES出现了的变量,EFFECTS中遗漏
改进:将MODIFIES中出现的变量如何更改在EFFECTS中体现出来
(3)方法中出现了异常没有在EFFECTS中体现出来
改进:补全EFFECTS
(4)REQUIRES使用了None
改进:使用True或this!=null
(5)笔误
改进:写完之后再检查一遍有没有单词拼写错误
功能性BUG
(因为功能性bug和规格bug没有一丝联系就不列表格了)
第九次第十次没有bug
第十一次:有两个bug,其一是switch时少打了一个break,导致出租车初始设置为wait状态时credit会额外加1;其二是readme所写内容与代码实现不符,可能是当时写readme的时候脑子不太清醒吧。
心得体会
规格这个东西在对程序设计的规范性上确实有很多的帮助,但缺点也在于规格的正确与否是主观因素而不是客观因素,这就导致测试者与被测试者之间出现分歧,影响了六系的和谐发展。
不管怎么说,又完成了OO的一个阶段,距离真正结课为时不远了,还是值得人们庆贺一下的。