第三次博客总结
一.规格化设计对的发展历史
在1968年,荷兰教授E.W.Dijkstra提出了“GOTO语句是有害的”观点,指出程序的质量与程序中所包含的GOTO语句的数量成反比,认为应该在一切高级语言中取消GOTO语句。这一观点在计算机学术界激起了强烈的反响,引发了一场长达数年的广泛的论战,其直接结果是结构化程序设计方法的产生。80年代中后期,面向对象程序设计逐渐成熟,被计算机界理解和接受,人们又开始进一步考虑面向对象的开发问题。这就是九十年代以Microsoft Visual系列OOP软件的流行的背景。1990年以后,面向对象分析、测试、度量和管理研究都得到长足的发展,规格化设计应运而生。规格化设计能够帮助编程者进行架构,以及在未来对其方便地维护。此外,因为规格化设计能使他人方便地理解代码含义,而使得程序员们在大型多人的开发中能够便捷地以他人的代码为基础进行开发工作,提高了工作效率。因此规格化设计得到了人们的重视。
二.规格bug统计
|
功能Bug |
规格bug |
oo9 |
0 |
1 |
oo10 |
0 |
0 |
oo11 |
0 |
0 |
oo第9次作业的bug分析
bug类别 |
bug内容 |
规格bug |
Main和Taxi以及sche的run()没写JSF |
三.原因
我当时以为线程方法不需要写JSF。
四.jsf的修改
前置:
1. 前置条件缺少对传入参数的范围判断
修改前
修改后
2. 前置条件缺少对参数存在性的判断
修改前
修改后
3.当没有前置条件时
修改前
修改后
4.前置条件判断应用“==”号
修改前
修改后
5.多余的前置条件
修改前
修改后
后置:
1. 在非必要情况下使用自然语言
修改前
修改后
2. 不是布尔表达式
修改前
修改后
3.改变值书写不规范
修改前
修改后
4. 后置条件没写全
修改前
修改后
5.将中间变量的修改写入到后置条件中
修改前
修改后
五.功能Bug与规格Bug的聚类关系
在现阶段,我认为JSF问题大多是格式或者规范问题,也就是书写问题,和功能bug聚集关系并不大。
六.心得体会
最初写规格是很难上手的,但经过这么多次写规格的训练,也积累了一些熟练度,写的更快了。此外,以前我一个方法写很多行代码,然而这样的方法是很难写出规格的,为了写好规格,也必须将代码缩减,使所有方法各司其职,变相的规范了我的代码风格,提高了代码可读性。