首页 > TAG信息列表 > MyNetwork

BUAA OO Unit3 —— Java Modeling Language(JML)

BUAA OO Unit3 —— Java Modeling Language(JML) by Monument_Valley 0. 写在正文前 本篇博客是对笔者在北航2022年春季《面向对象设计与构造》课程第三单元的三次作业的总结。 本单元的主要任务为:学习JML语言,学会阅读并撰写JML,理解契约式编程,并在助教已给出的JML规格下完成一个

BUAA OO 第三单元总结

BUAA OO 第三单元总结 规格实现策略 本单元的重中之重,便是对于JML规格理解与代码实现 理解并规格的时候,我一般分为下面的几个步骤: 1、先通读一遍规格,结合方法名与具体规格,理解类每个方法的大致功能并简要记录。重点理解方法之间的调用关系,方法之于类的作用等。个人认为不宜读完一

OO第三单元总结

OO第三单元总结 架构分析 该单元中由于给出了jml规格,除相关自定义数据结构外基本为实现要求的每一个异常类与相关接口,没有特殊架构。 bug分析 第九次作业 本次作业由于实现并查集时,错误使用了hashmap,在连接两个节点时可能会导致与第二个节点连接的节点同第一个节点不连通,产生错误

BUAA_OO_第三单元总结

一、实现规格所采取的设计策略 在本单元的代码实现过程中,由于已经用JML为我们定义了方法的规格,所以只需要将JML翻译成代码语言即可。在翻译的过程中需要确保实现的逻辑严谨以及严格符合JML的规格。 在具体的实现过程中,我的设计策略是首先实现异常类,然后分别实现不同的类。从类的包

OO第三单元——很缺钱的社交网络

一、JML理论基础和工具链 基于规格的设计可以使开发人员能高效准确地完成开发,也能够使代码测试变得十分的轻松。 1.1 原子表达式 \result:方法的返回值 \old(expr):expr在方法执行前的取值 \not_assigned(x,y,...):当括号中所有变量均没有被赋值,返回true,否则返回false \not_modified

OO第三单元总结

OO_第三单元总结 1.JML语言的理论基础及其工具链 JML语言的理论基础 JML(Java Modeling Language)是用于对Java程序进行规格化设计的一种表示语言。JML是一种行为接口规格语言(Behavior Interface Specification Language,BISL),基于Larch方法构建。BISL提供了对方法和类型的规格定义

OO第三单元总结

第三单元博客作业 一、梳理JML语言的理论基础、应用工具链情况 JML语言 (1)JML表达式 ​ \old(expr):表示expr在方法执行前的值 ​ \result:表示方法的返回值 ​ \not_assigned:表示括号中变量在方法执行过程中是否被赋值 ​ \nonnullelements(container):表示container对象中存储