【面向对象】第三单元总结——JML

时间:2019-05-22 19:39:26   收藏:0   阅读:93

梳理JML语言的理论基础、应用工具链情况

JML语言理论基础

JML(Java Modeling Language)是一种行为规范接口语言,通过使用不会被编译的注释形式,和固定关键字的语法,指定Java模块代码的行为。这些行为包括需要满足的前置条件、后置条件,和可能产生的副作用等。它贯彻了契约方法设计理念,通过JML及其支持工具,不仅可以基于规格自动构造测试用例,并整合了SMT Solver等工具 以静态方式来检查代码实现对规格的满足情况。

JML的语法、关键字及其释义如下所示:

JML的应用工具链:

构架设计分析

第一次作业

第一次作业主要是实现一个路径类Path和一个容器类PathContainer 。
技术分享图片
技术分享图片

第二次作业是在第一次作业的基础上实现数据结构类Graph,新增功能包括图的连通性和查找路径。
技术分享图片
技术分享图片
技术分享图片

bug与修复

第一二次作业的bug主要是在添加重复的路径时,如分别在第一句和第三句添加 add path 1 2 3 / add path 1 2 3,我的作业会把其当成两条路径来记录,即id分别为1和2。

心得体会

这次作业给我留下了较为惨痛的教训,小bug不予以修改,会在之后的测试中很严重地影响到正确性。要防微杜渐。

原文:https://www.cnblogs.com/LifeIsAGame/p/10903296.html

评论(0
© 2014 bubuko.com 版权所有 - 联系我们:wmxa8@hotmail.com
打开技术之扣,分享程序人生!