OO第三次博客总结
规格化的历史
规格化历史的发展主要如下:
1975年,Liskov等人发表了论文Specification Techniques for Data Abstractions,从数据抽象的角度论述了规格的优点、特性及重要性。
1976年,在第二届国际软件工程会议上,Belford等人在Specifications a key to effective software development一文中从开发复杂系统的角度论证了完整的、一致的规格的重要性。在系统研发周期中,规格提供了在概念和定义阶段的过渡。一个清楚、无歧义的规格是取得成功的关键,同时能减少开发过程中的开销。软件需求本身具有模糊的特点,所以需要一个定义明确的规格来开发出可靠的软件。
1993年,Liskov等人发表了Specifications and their use in defining subtypes,从类型层次的角度进一步论证了规格的重要性。
自此,规格开始成为程序必不可少的一部分。
BUG分析
Bug记录表:
类型 |
方法行数 |
产生原因 |
红绿灯合法 |
48 |
没有忽略在非法路口进行红绿灯放置 |
车辆遇红绿灯转弯 |
37 |
没有存车头方向 |
道路开关 |
56 |
因为实现问题,有个地方数组开小了,导致最右下角的边不能尽心操作。 |
Jsf |
3 |
用了一些自然语言,逻辑不清晰 |
repok |
20 |
没有写清楚,有的是直接return true |
JSF类型
缺少前置条件
改进后:
缺少后置条件:
改进后:
后置条件格式不对:
改进后:
Modifies缺失:
改进后:
总结体会
这次作业的结束也标志着OO代码作业完美落下了帷幕。首先这几次作业让我们学会了撰写规格,其次还要求我们根据规格补全代码,这是非常有用的。在测试别人程序时,有一个好的规格能让我们快速了解他的想法,方便测试,更是方便他人查看理解。所以说,规格是非常必要的。感慨自己一路跌跌撞撞的走来,自己从java白痴到堪堪入门,也是有了不小的进步了,有过bug少的开心,有过bug多的苦恼,但这都是一种成长吧。OO尚未结束,吾辈仍需努力。