一、JML理论基础 1.概览 在概述JML之前我想我们应该首先了解契约式设计(Design by Contract, DbC)。DbC要求在软件程序设计时明确每一个模块单元在调用前后的状态变化,抽象出来就是要求明确前置条件、后置条件和不变式。和诸多设计模式一样,DbC可以说是一种方法学,一种软件开发 ...
分类:
其他好文 时间:
2020-05-21 19:02:25
阅读次数:
58
P1 JML语言理论基础 JML详细基础教程:https://blog.csdn.net/weixin_41412192/article/details/89527142 + 原子表达式 :表示非void类型方法返回结果 :表示相应方法执行前expr的取值,换言之,直接引用expr均表示方法执行完后 ...
分类:
其他好文 时间:
2020-05-21 16:18:03
阅读次数:
43
访问修饰符 类的每一个成员(包括成员变量,方法和构造器)都有一个访问修饰符用来判断谁可以访问该成员 Java为类中的成员提供了四种访问级别,按照访问权限由大到小排列如下: 1、公开访问级别:public2、受保护访问级别:protected3、默认访问级别:为空4、私有访问级别:private用pu ...
分类:
编程语言 时间:
2020-05-21 16:06:53
阅读次数:
54
OO第三单元总结 规格JML和社交关系系统 一、JML语言概况 1.1 理论基础 JML是一种形式化面向JAVA的行为接口规格语言 作用 1. 开展规格化设计与测试。将逻辑严格的规格交给代码实现人员。 2. 针对已有的代码实现,书写其对应的规格,从而提高代码的可维护性。 JML语法 JML表达式 \ ...
分类:
其他好文 时间:
2020-05-21 09:23:52
阅读次数:
63
JML这一单元是真的有含金量,很有难度。而且这难点和前两单元完全不同,前两单元是容易架构混乱导致细节出问题,JML单元是读不懂JML规格的话架构都构不出来,以及即使能够读懂JML规格了,让自己写规格的时候又蒙圈了(大哭.jpg)。以及 部署JML相关工具 的时候能够比以上都令人崩溃(暴风哭泣.jpg ...
分类:
其他好文 时间:
2020-05-20 21:37:26
阅读次数:
54
梳理JML语言的理论基础、应用工具链情况 JML(Java Modeling Language) JML是一种形式化的、面向JAVA的行为接口规格语言(behavioral interface specification language) JML允许在规格中混合使用Java语法成分和JML引入的语 ...
分类:
其他好文 时间:
2020-05-20 12:36:25
阅读次数:
79
OO第三单元总结 JML理论基础 JML是用于对Java程序进行规格化设计的一种表示语言,是一种行为接口规格语言(Behavior Interface Specification Language,BISL),基于Larch方法构建。JML以javadoc注释的方式来表示规格,每行都以@起头。而JM ...
分类:
其他好文 时间:
2020-05-20 00:19:58
阅读次数:
73
JML理论梳理与工具链分析 JML作为一种行为接口规格语言,可以较为准确地对Java程序的行为进行描述。然而在本人使用过程中,由于其工具链的功能的极不完善,大多数的代码编写及测试还是依靠人力完成的,虽然它具有较高的严谨性,但使用体验并不是很好。 JML的注释结构 JML以javadoc注释的方式表示 ...
分类:
其他好文 时间:
2020-05-19 22:39:41
阅读次数:
56
for each遍历数组,从第一个元素开始,遍历到最后一个元素 javaDoc @author:代表源代码的作者@version:描述类的软件版本@see:创建一个“参见”XX条目的连接,如类、方法、变量等@param:用于描述方法的形式参数@return:用于描述方法的返回值@exception: ...
分类:
编程语言 时间:
2020-05-08 18:15:13
阅读次数:
54
交互 面向对像都是面向的抽象对象,而不是具体的,这一点很重要。 攻击者和被攻击者 攻击者可以抽象成CanAttack,被攻击者抽象出来CanBeAttacked。另外只有被其它类或对象调用的方法才可以成为抽象方法。 抽象出来的对象要确定其为谁服务的(即为谁抽象,一般从上往下考虑,而不是从他的子类的角 ...
分类:
其他好文 时间:
2020-05-01 01:09:53
阅读次数:
52